KR100940460B1 - 데이터 스트림에서 대화형 애플리케이션의 제어 - Google Patents

데이터 스트림에서 대화형 애플리케이션의 제어 Download PDF

Info

Publication number
KR100940460B1
KR100940460B1 KR1020047003970A KR20047003970A KR100940460B1 KR 100940460 B1 KR100940460 B1 KR 100940460B1 KR 1020047003970 A KR1020047003970 A KR 1020047003970A KR 20047003970 A KR20047003970 A KR 20047003970A KR 100940460 B1 KR100940460 B1 KR 100940460B1
Authority
KR
South Korea
Prior art keywords
data stream
interactive application
carousel
data
service
Prior art date
Application number
KR1020047003970A
Other languages
English (en)
Other versions
KR20040035817A (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
Priority claimed from GBGB0122585.3A external-priority patent/GB0122585D0/en
Application filed by 코닌클리케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20040035817A publication Critical patent/KR20040035817A/ko
Application granted granted Critical
Publication of KR100940460B1 publication Critical patent/KR100940460B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • 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/8545Content authoring for generating interactive applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • 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/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/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
    • H04N21/4349Demultiplexing of additional data and video streams by extracting from data carousels, e.g. extraction of software modules from a DVB carousel
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • 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/4383Accessing a communication channel
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • 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
    • H04N21/8173End-user applications, e.g. Web browser, game

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)

Abstract

본 발명에 따른 대화형 애플리케이션을 제어하는 방법은 대화형 애플리케이션을 포함하는 데이터 스트림을 수신하는 단계 및 그 스트림의 변화를 식별하기 위해 데이터 스트림을 모니터링하는 단계를 포함한다. 그 변화에 응답하여, 이 방법은 또한 대화형 애플리케이션이 파일들을 액세스하는 것을 방지하고, 데이터 스트림 내에 존재하는 파일들을 식별하고, 대화형 애플리케이션이 데이터 스트림 내에 존재하는 그들 파일들만을 액세스할 수 있게 하는 단계를 포함한다.
대화형 애플리케이션, 캐루젤, 프로그램 스레드, 스트림 판독기, 레벨 공유

Description

데이터 스트림에서 대화형 애플리케이션의 제어{Control of an interactive application in a data stream}
본 발명은 대화형 애플리케이션을 제어하는 방법 및 장치에 관한 것이다. 특히, 배타적이지는 않지만, 본 발명의 장치는 디지털 텔레비전 수신기의 부분을 형성하는 집적 회로이다.
디지털 수신기는 통상적으로 비디오, 오디오 및 데이터 성분들을 포함하는 디지털 방송 신호를 수신한다. 데이터 성분은, 모듈들이 요구되는 바에 따라 그리고 모듈들이 요구될 때 모듈들이 수신기에 의해 다운로드되는, 반복적인 "캐루젤(carousel)" 타입 방식으로 제공된다. 모듈들은 통상적으로 JAVA 프로그래밍 스크립트에 기입된 대화형 애플리케이션들을 함유한다.
사용자가 디지털 수신기를 통해 대화형 애플리케이션을 액세스하고자 한다면, 이러한 기능성은 사용자 인터페이스, 통상적으로 원격 제어를 통해 이용가능하다. 이들 대화형 애플리케이션들은 전자 프로그램 가이드들, "텔레텍스트(teletext)" 타입 정보 및 주제가 방송되는 것에 관련되는 애플리케이션들 등과 같은 것들이다. 이러한 후자의 애플리케이션 타입은 예를 들면, 사용자가 유효범위의 골프 토너먼트를 시청하는 경우, 코스의 각각의 홀의 상세한 그림들, 참여하는 골퍼들에 대한 통계들, 실시간 리더보드(leaderboard) 등일 수 있다. 쌍방향 통신을 포함하는 애플리케이션들은 또한 예를 들면 쇼핑 및 배팅을 가능하게 한다. 디지털 수신기에는 보편적으로 이러한 쌍방향 통신을 용이하게 하는 전화네트워크를 통해 백 채널(back channel)이 제공된다.
그러나, 이들 대화형 애플리케이션들을 실행하기 위한 소프트웨어는 방송 신호의 데이터 성분을 통해 디지털 수신기에 전달된다. 대화형 애플리케이션들을 구성하는 JAVA 애플릿들은 각각의 방송 채널에 전용되고, 캐루젤 형태로 송신기에 의해 반복적으로 방송된다. 일단 사용자가 대화형 애플리케이션을 선택하면, 셋톱 박스는 그 애플리케이션을 실행시킬 수 있게 하는 필수적인 JAVA 애플릿들을 획득하기 시작해야 한다.
데이터 스트림 내에 어떠한 변화가 있는 경우, 예를 들면, 사용자가 채널을 변경할 때, 디지털 수신기는 새로운 데이터 스트림의 새로운 환경에 적응할 수 있어야 한다. 현재의 디지털 수신기들은 현재 실행되는 대화형 애플리케이션을 포기하거나, 상기 대화형 애플리케이션은 데이터 스트림 내에 존재하지 않는 파일들을 요구하면 붕괴할 것이다. 이들 결과들 중 어느 것도 디지털 텔레비전 수신기의 사용자에게 만족스러운 동작을 배달하지 못한다.
따라서, 본 발명의 목적은 공지된 기술에 대해 개선하는 것이다.
본 발명의 제 1 특징에 따라, 대화형 애플리케이션을 포함하는 데이터 스트림을 수신하는 단계, 상기 스트림의 변화를 식별하기 위해 상기 데이터 스트림을 모니터링하는 단계, 및 상기 변화에 응답하여, 상기 대화형 애플리케이션이 파일들을 액세스하는 것을 방지하는 단계, 상기 데이터 스트림 내에 존재하는 파일들을 식별하는 단계, 및 상기 대화형 애플리케이션이 상기 데이터 스트림 내에 존재하는 그들 파일들만을 액세스할 수 있게 하는 단계를 포함하는 대화형 애플리케이션을 제어하는 방법이 제공된다.
본 발명의 제 2 특징에 따라, 대화형 애플리케이션을 포함하는 데이터 스트림을 수신하는 수신 수단, 상기 데이터 스트림을 모니터링하고, 상기 대화형 애플리케이션이 상기 데이터 스트림의 변화를 따르는 파일들을 액세스하는 것을 방지하고, 상기 데이터 스트림에 존재하는 파일들을 식별하고, 그리고 상기 대화형 애플리케이션이 상기 데이터 스트림 내에 존재하는 그들 파일들만을 액세스할 수 있게 하기 위해 상기 대화형 애플리케이션을 제어하기 위한 모니터 수단을 포함하는 대화형 애플리케이션을 제어하는 장치가 제공된다.
이 방법은 적절한 하드웨어 상에 인스톨되거나 또는 레코드 캐리어(record carrier) 상에 저장된 컴퓨터 프로그램 소자에 의해 달성될 수 있다. 이 장치는 집적 회로로 구성될 수 있다.
본 발명 덕분에, 대화형 애플리케이션을 갖는 데이터 스트림의 변화에 따라, 이 대화형 애플리케이션이 그것에 이용가능한 파일들로부터 가능한 한 최상으로 계속 실행되도록 대화형 애플리케이션을 제어하는 것이 가능하다. 데이터 스트림의 변화는 예를 들면 데이터의 방송 중의 중단에 의해서 및 데이터 스트림의 수신기 상의 채널들을 변경하는 사용자에 의해 유발될 수 있다. 파일이 존재하지 않기 때문에 즉시 실패한다기보다는 오히려 데이터 스트림에 존재하지 않는 파일을 대화형 애플리케이션이 필요로 하는 경우, 대화형 애플리케이션은 파일이 도달하는 것을 기다리는 것을 "차단(block)"한다. 그 요청을 하는 프로그램 스레드(program thread)는 그 파일이 다시 존재할 때까지 실행을 계속하지 않거나, 또는 파일이 영구적으로 이용될 수 없는 것으로 결정된다. 그러나, 다른 프로그램 스레드들이 계속 실행된다.
본 발명의 실시예들은 첨부된 도면들을 참조하여, 단지 예로써 기재될 것이다.
도 1은 디스플레이 디바이스에 접속된 셋톱 박스의 개략도.
도 2는 대화형 애플리케이션을 제어하기 위한 방법의 흐름도.
도 1에서, 셋톱 박스(10)는 디지털 방송 신호(14)를 수신하는 수신기(12) 형태의 수신 수단을 포함한다. 이 셋톱 박스는 또한 신호(14)를 처리하기 위해 CPU(15) 형태의 처리 수단을 포함한다. 이 셋톱 박스는 디코더(20), RAM(22), 및 캐시 메모리(24) 등의 성분들을 추가로 포함한다. 이 디코더(20)는 방송 신호(14)를 복조시킨다. 비디오 성분은 디스플레이 디바이스(26)로 통과되고, 오디오 성분은 오디오 스피커들(도시되지 않음)로 통과된다. 셋톱 박스(10)의 사용자는 적절한 사용자 인터페이스를 통해, 이들이 시청하고자 하고, 적절한 컨텐트가 획득되고, 사용자에게 제공되는 채널을 선택한다.
신호(14)는 그 내부에 대화형 애플리케이션을 포함하는 데이터 스트림을 포함한다. 데이터 스트림은 바람직한 경우 다중 대화형 애플리케이션들을 포함할 수 있다. 대화형 애플리케이션을 제어하기 위한 장치는 대화형 애플리케이션을 포함하는 데이터 스트림을 수신하는 수신 수단(12), 및 데이터 스트림을 모니터링하는 모니터 수단으로서 작용하는 CPU(16)를 포함한다. 이 장치는 통상적으로 디지털 텔레비전 수신기(10)의 일부를 형성하는 집적 회로를 포함한다.
현행 서비스를 변화시킬 때 방송 데이터 캐루젤 서비스들에 대한 액세스를 유지하는 기술이 요구된다. 디지털 TV 시스템들은 캐루젤 전달을 통해 유전 데이터를 방송하기 위한 메커니즘들을 포함한다. 중요한 실시예는 DVB 디지털 TV 표준들을 위해 규정된 DVB 오브젝트 캐루젤이다. 이들 메커니즘들은 이들이 MHEG-5, DVB MHP 및 OCAP를 포함하는 차세대 대화형 서비스들 아래 놓임에 따라 점점 중요해지고 있다. 이들 시스템들에서, 데이터 방송은 1개 이상의 방송 파일-시스템들을 포함하고, 여기서 파일-시스템들의 성분들은 캐루젤(즉, 반복되는) 형식으로 수신기(10)에 전송된다. 수신기(10)는 유입되는 데이터 스트림을 분석함으로써 파일-시스템 컨텐트들을 회수하고자 시도한다. 파일-시스템은 사용자에게 제공되고 있는 서비스와 관련된 1개 이상의 애플리케이션들에 대해 실행 가능한 코드 및 유용한 것들을 포함할 것이다.
MHP 등의 시스템들에서, 애플리케이션은 1개 이상의 서비스 내에서 실행되도록 허용되는 것이 가능하다. 예를 들면, 하나의 서비스 제공자로부터 한 다발의 서비스들에 대한 전자 프로그램 가이드는 사용자가 한 다발의 서비스들 중에서 스위치할 때 실행을 계속할 것이다. 그러나, 캐루젤 데이터가 사용된 원래 서비스에 접속됨에 따라, 현재 이러한 데이터는 일단 새로운 서비스가 선택되면 액세스할 수 없게 된다. 이는 애플리케이션의 능력들에 대한 서비스를 제한시키고, 대부분의 애플리케이션들은 액세스의 이러한 돌연적인 제거로부터 회수할 수 없을 것이다.
그러므로, 하나의 서비스에서 다른 서비스로의 캐루젤 액세스의 무결절성 핸딩-오버(seamless handing-over)에 대한 메커니즘이 요구된다. 그 목표는 애플리케이션이 캐루젤 데이터로의 라우팅(routing)에서 그 변화를 인식하지 않아야 하는 것이다.
현 시점에서, DVB는 DVB 수송 스트림 내에서 계층형 파일 시스템을 전달하는 방법을 명시한다. 이는 데이터 방송을 위해 사용된다. 그것은 컴퓨터 파일 시스템 내에 통상적으로 저장될 수 있는 소트(sort)의 임의의 데이터를 전달하기 위해 사용될 수 있다. 그것은 대화형 방송 시스템들을 위한 데이터 파일들을 전달하기 위해 빈번히 사용된다. 예를 들면, 그것은 DVB의 UK 지상 구현에서 MHEG-5 오브젝트들을 방송하기 위해 선택된 방법이고, DVB로부터 MHP 명세(specification) 내의 자바 클래스 파일들 및 이들의 관련 데이터를 위해 사용된다. 이 시스템은 계층형 파일 시스템의 일련의 접속에 비해 효율적인 수송의 문제점에 대한 해답을 제공하도록 설계되었다. 그것은 분석될 수 있으며 계층형 디렉토리 구조, 파일명들, 및 파일들의 컨텐트가 수신기 내에서 회복될 수 있다. 캐루젤 파일-시스템들은 '서비스'의 일부로서 전송되며, 여기서 서비스는 사용자에게 전체로서 제공되도록 의도되는 다양한 타입들의 기본 스트림들의 세트로서 규정된다. 텔레비전 프로그램의 컨셉은 오디오 및 비디오 스트림들을 포함하는 서비스의 예이다. 캐루젤 데이터는 일단 수송 스트림 내에 전송될 수 있지만, 수송 스트림 내에서 1개 이상의 서비스의 일부일 수 있다. 그러나, 캐루젤은 논리적으로 그의 데이터가 내부에 함유된 서비스들 각각에서 별개의 엔티티(entity)인 것으로 고려된다.
캐루젤 디코더(CPU(16) 내에 위치함)는 다음 2개의 독특한 부분들을 갖는다:
1. 스트림 판독기. 현행 서비스의 스트림들로부터 사용 가능한 포맷으로 데이터를 디코딩한다. 통상적으로, 이 부분은 요구되는 데이터 '모듈들'을 수신기 메모리의 '모듈 캐시' 내에 저장하고,
2. 파일-시스템 드라이버. 수신기 상에서 실행되는 애플리케이션들로부터 요청들을 수신하고, 모듈 캐시 내의 요청된 데이터를 발견하고자 시도하거나, 또는 페치 요청에 대해 스트림 판독기로 전달한다.
수신기(10) 상의 메모리는 통상적으로 제한되고, 따라서 완전한 캐루젤 내에서 메모리 내로 판독하는 것이 용이하지 않다. 따라서, 캐싱 전략은 통상적으로 시험되도록 적용되고, 요청받기 가장 쉬운 모듈들이 캐시되는 것을 보장한다. 이는 애플리케이션 성능에 대해 큰 효과를 갖고, 그것은 방송 캐루젤로부터 페치 잠복기들(fetch latencies)이 통상적으로 수십 초이기 때문이다.
수신기 상에서 실행되는 애플리케이션들은 별개의 서비스를 동시에 디코딩하면서, 하나의 서비스에 대한 하나의 캐루젤로부터 데이터를 액세스하고자 희망할 수 있다. 일 예는 넌-서비스-바운드(non-service-bound) MHP 애플리케이션들이다. 이들 애플리케이션들은 하나의 서비스에서 시작하고, 그러한 서비스에 대한 캐루젤을 사용하지만, 디코더가 다른 서비스로 스위치되도록 유발할 수 있다. 이들 상황에서, 디코더의 스트림 판독기 부분은 오래된 서비스에 대한 데이터 소스들이 더 이상 유효하지 않기 때문에 작동 불가해진다. 이는 애플리케이션의 동작을 심각하게 손상시키고, 대부분의 경우들에 그 애플리케이션은 오류 없이 계속 작동하도록 보장받을 수 없다. 그러나, 많은 경우들에 새로운 서비스는 초기 서비스와 동일한 캐루젤 데이터를 포함할 것이고, 따라서 실질적으로 가능한 데이터 소스가 존재한다. 본 발명은 캐루젤에 대한 등가의 데이터 소스가 존재하는 경우를 식별함으로써 서비스 변화 후에 디코더의 스트림 판독기 부분이 작동 가능하게 남아있을 수 있는 방법을 제안하고, 따라서 허용 가능한 애플리케이션 동작을 보장한다.
본 발명은 메커니즘들의 DSMCC 오브젝트 캐루젤 패밀리 및 MHP 내의 그의 사용에 초점을 맞추고 있지만, 본 발명의 진보적인 아이디어들은 여러 가지 상이한 서비스들 또는 프로그램들 내에 동일한 데이터를 제공하는 임의의 캐루젤 기반의 데이터 방송 메커니즘에 적용된다.
여기에 제공된 옵션은 현재 서비스를 캐루젤이 설치된 초기 서비스와 비교하고 두 서비스들에 공통적인 데이터 스트림들에 계속 부착되도록 최상의 노력을 기울이는 것이다. 이러한 솔루션은 단지 서비스들 간의 데이터 스트림들의 진짜 공유가 존재하는 경우에만 도움이 되는 것에 주목하자. 오버랩이 전혀 없는 경우, 캐루젤은 "로스트(lost)"로 남겨진다. 그러나, 이와 같이 새로운 옵션은 이들 특징들을 사용하게 하는 이들 애플리케이션들에 대한 방송을 방송사가 최적화시키도록 허용한다. 2개의 실시예들이 여기서 고찰된다. 이들은 데이터 아이템들이 2가지 상이한 레벨들의 서비스들 간에 공유될 수 있음을 식별하는 문제를 다룬다.
두 실시예들에서, CPU(16)는 대화형 애플리케이션이 (사용자에 의한 채널 변화에 의해 유발되는 것과 같은) 데이터 스트림의 변화에 따르는 파일들을 액세스하는 것을 방지하기 위해 대화형 애플리케이션을 제어한다. CPU(16)는 데이터 스트림 내에 존재하는 파일들을 식별하고, 데이터 스트림 내에 존재하는 그들 파일들만을 대화형 애플리케이션이 액세스하도록 인에이블시킨다. 이 방법은 도 2에 예시되어 있다.
실시예 1: 캐루젤-레벨 공유
제 1 실시예는 스트림으로부터 업데이트되는 디바이스 상에서 실행되는 서버로서 캐루젤 디코더를 보여준다. 서버는 디바이스들 상에서 실행되는 애플리케이션들에 대한 파일 시스템 액세스를 제공하고, 2개의 실행 모드들을 갖고, 두 모드에서 디코더는 그것이 갖는 최근의 데이터를 제공하지만, 하나의 모드에서만 스트림으로부터 업데이트들을 수신하는 디코더이다. 서비스들 사이의 스위칭은 이들 모드들 간의 전이들을 유발한다. 캐루젤은 단지 그 서비스가 완전한 캐루젤 데이터 소스를 함유할 때 완전한 실행 상태를 도입할 수 있다. 캐루젤은 많은 특이적 상태들을 갖고, 이들은 아래에 다음 정의로 나열된다.
. 첨부됨: 파일시스템 설치 지점이 생성됨. DSI PID가 로그됨. 캐루젤은 PMT/서비스에 첨부되지 않는다. 파일시스템 액세스 없음.
. 시작됨: PMT를 캐루젤에 첨부한다. 통상의 동작을 위한 모듈/DSI/DII 인식이 시작됨. 새로운 파일시스템 요청들이 서비스될 수 있다. 서비스도메인에 대한 로케이터(locator)가 이 지점에서 설정된다.
. 정지됨: 섹션 필터링에 의한 모듈 인식이 정지됨. 파일시스템의 현재 상태가 메모리 내에서 유지되고, 캐싱 효과들에 적용됨. 모듈들이 여전히 실행되고있는 다른 캐루젤과 공유되는 경우, 이들은 계속 업데이트될 것이다.
. 분리됨: 서비스로부터 분리된 캐루젤. 모든 캐시된 소자들이 방출됨. 모든 파일 핸들들이 무효화되기 시작함.
MHP 환경에서 애플리케이션 시그널링은 첨부됨을 통해 시작된 상태로의 초기 전이(trasition)를 트리거(trigger)할 것이다. 애플리케이션의 종료는 분리된 상태로 캐루젤을 이동시킬 것이다. 서비스에서 벗어난 변화는 그 서비스에 대한 캐루젤들을 정지된 상태로 이동시킨다. B.2.9에 열거된 사건들 중의 임의의 것은 캐루젤을 이러한 상태(즉, 이는 "상실(loss)"과 등가임)로 이동한다. 새로운 서비스에 도달함에 따라, PMT가 조사된다. 아래 기재된 알고리즘들은 초기 서비스로부터 모듈 데이터가 새로운 서비스 내에서 재사용될 수 있는지를 결정하기 위해 사용된다. 매치되는 것으로 밝혀진 경우, 캐루젤은 시작된 상태로 다시 이동하고, 캐루젤은 새로운 서비스의 동작을 다시 시작한다. 이들 전이들은 애플리케이션에 대해 비가역적이다. 어떠한 매치도 밝혀지지 않는 경우, 캐루젤은 정지된 상태로 남겨진다. 다른 이유들 때문에 캐루젤 상실을 회복하고자 하는 시도들은 플랫폼-의존형 방식으로 발생할 수 있다. 원 상실(original loss)에 대한 대부분의 이유들은 상당히 제거되고, 따라서 그러한 캐루젤은 강요된 분리에 대한 좋은 후보이다.
현재 언급되는 바와 같이, 정지된 캐루젤은 시스템에 의해 분리된 상태로 이동될 수 있다. 이는, 일단 Xlet이 파괴되면, 캐루젤들을 부트시키기 위해 그리고 최후 수단으로서, 캐루젤 디코더가 임의의 다른 방식으로 메모리를 회복시킬 수 없을 때 Xlets를 실행시키기 위해 발생되어야 한다. 이 시스템은 먼저 모듈 캐시로부터 미사용 아이템들을 퍼지(purge)하도록 시도한다.
등가 캐루젤들을 결정하기 위해 선택된 알고리즘은 캐루젤 데이터를 잠재적으로 전달하는 기본 스트림들의 세트가 어떻게 시그널링되는지에 의존한다:
1. 서비스에 의해 바운드된 컨텐트. 서비스 중인 캐루젤들에 의해 사용된 캐루젤 기본 스트림들의 세트는 단지 서비스들 관련 태그 테이블에 의해 규정된다. 이러한 모델에서, 서비스 중인 캐루젤들의 전부가 서비스 변화에 대해 유효하게 남겨지거나 또는 아무 것도 그렇지 못하다. DSMCC UN 메시지 타입(11)을 갖는 모든 기본 스트림들은 동일한 디스크립터 루프들(descriptor loops)을 가져야 하고, 원 서비스에 대한 것과 동일한 PID를 의미해야 한다. 추가의 엔트리들은 이들이 원 서비스의 상이한 관련 태그에 포함되는 경우에 존재할 수 있다. 원 서비스가 상이한 연관 태그 디스크립터를 포함하는 경우, 기본 스트림들에 관한 모든 엔트리들은 기본적인 스트림 루프에서 해결될 수 있어야 하거나, 또는 새로운 서비스의 상이한 연관 태그 디스크립터에서 동일하게 유지되어야 한다.
2. 캐루젤에 의해 바운드된 컨텐트. 이러한 모델에서, 서비스 중인 각각의 캐루젤은 개별적으로 분석될 수 있다. 각각의 캐루젤에 의해 사용된 기본 스트림들의 세트는 예를 들면 DSI에서 "매니페스트 디스크립터(manifest descriptor)"로서 캐루젤의 상단 레벨에 기재된다. 이러한 매니페스트(manifest)에서 모든 엔트리들은 연관 태그로부터 기본 스트림으로 해결될 수 있어야 한다. 새로운 서비스에 도달함에 따라, 시스템은 DSI가 캐루젤의 성분들에 대한 추가의 정보를 포함하는지의 여부를 체크한다. 캐루젤의 DIIs의 연관 태그들은 이러한 '매니페스트 디스크립터'에 열거된다. 이러한 정보가 존재하지 않는 경우, 상기 제 1 방법으로 복귀한다. 이러한 리스트의 모든 엔트리들은 연관 태그들로부터 원 서비스의 선택에 대한 PID들로 해결된다. 이러한 '매니페스트 디스크립터'가 존재하는 경우, 캐루젤 내의 데이터가 임의의 다른 연관 태그들을 참조하는 것은 유효하지 않고 - 이와 같이 참조된 오브젝트들은 파일시스템 추상 개념에서 얻어질 수 없는 것으로서 나타나야 한다. 새로운 서비스에 도달함에 따라, 이 시스템은 DSI가 원 서비스에 대한 것과 동일한 PID에 대한 것인지 여부를 체크하고, 새로운 PMT에서 모든 열거된 엔트리들을 해결한다. 그러한 서비스를 남기기 전에 PMT로부터 최종 샘플에 따라 모두 매치되는 경우, 이는 완전한 등가치를 보장하기에 충분하다. 연관 태그-대-PID 맵핑은 시간이 지남에 따라 변화할 수 있지만, 이는 현행 캐루젤 캐시를 무효화시키지 않는 것에 주목하자. 따라서, PID 비교는 이전의 서비스의 최근의 유효 지식에 기초하여 행해져야 한다.
실시예 2: 기본적인 스트림 레벨 공유
제 2 실시예(또는 정제)는 일부 연관 태그들에서 불일치가 존재하지만 다른 태그들에서는 그렇지 않은 상황에서, 캐루젤에서 '시작된' 및 '정지된' 모듈들의 혼합을 허용해야 한다. 이러한 상황에서, 매치하는 소스를 갖는 모듈들만이 스트림으로부터 연속적으로 업데이트될 것이다. 다른 엔트리들은 이들이 전이 전에 존재함에 따라 남겨질 것이다. '잘못된(wrong)' PID들로부터 데이터가 시스템에 유입되는 것은 허용되지 않는다. 이를 구현하는 방식은 룩업 테이블을 통해 태그-PID 전이를 수행하는 것이다. 이러한 테이블은 캐루젤에 대한 초기 '마스터(master)' 서비스에 의해 확립되고, PMT로부터 테이블의 연관 태그 및 마스터 PID 컬럼들에서 충족된다. 상이한 서비스로 오퍼레이팅될 때, PMT에서 엔트리들은 테이블의 제 3의 '현행 PID' 컬럼으로 매핑된다. 모듈들을 업데이트하려는 모든 시도에 대하여, 마스터와 현행 PIDs 사이에 불일치가 존재하는 경우, 업데이트는 실패한다. 또한, 새로운 인식 요청들은 불일치에 대해 실패한다.
상이한 연관 태그들을 위해, 스트림들의 로케이터는 PID들보다 오히려 직접적으로 비교된다. 이는 각각의 비교에 대한 느린 PID 룩업을 잠재적으로 피하고 - 그것은 단지 성공적인 비교 후에 해결된다. 원 서비스의 PMT는 PID의 변화들에 따르기 위해, 새로운 서비스에 대해 계속 모니터링될 수 있다.
이러한 모델에 따라, 어떠한 시작된 상태 및 정지된 상태도 존재하지 않고, 단지 첨부된 상태 및 분리된 상태가 존재한다. 캐루젤의 로케이터는 그것이 원 서비스에 따라 여전히 효과적으로 실행되기 때문에 변화하지 않지만, 현행 서비스를 통해 유효한 데이터만을 액세스한다.
본 발명은 서비스 바운더리들을 가로질러 캐루젤 모듈 데이터의 보존을 허용한다. 일부 오브젝트 캐루젤 포맷들은 (스트림 오브젝트들을 통해) 매체 스트림들 및 실시간 사건 정보(스트림이벤트들) 뿐만 아니라 종래의 파일시스템 파일 및 디렉토리 오브젝트들에 대한 액세스를 지원한다. 이들 다른 컨텐트 타입들에 대해, 액세스는 연관 태그 매핑의 분석에 의해 유사하게 인에이블된다. 이들 포맷들에 대한 액세스를 차단하는 것은 비파괴적인 방식으로 현재 스트림 데이터에 대한 액세스를 방지하는 효과를 갖는다. 예를 들면, 어떠한 비디오도 디스플레이되지 않지만, 어떠한 에러도 발생하지 않는다.
다중 오브젝트 캐루젤들은 동일한 데이터 모듈들을 액세스할 수 있다. 여기서, 각각의 오브젝트 캐루젤은 단지 하나의 클라이언트(client)를 갖는 것으로 가정된다. 따라서, 예를 들면, 2개의 애플리케이션들이 동일한 오브젝트 캐루젤을 액세스하는 경우, 실질적으로 2개의 별개의 오브젝트 캐루젤 데이터 구조물들이 존재한다. 이는 오브젝트 캐루젤의 하나의 클라이언트가 새로운 서비스로의 전이를 희망하지만, 다른 클라이언트는 그렇지 않은 경우의 디스카운팅(discounting)을 허용한다.
본 발명은 주로 디지털 TV 방송 분야에 적용된다. 이는 캐루젤들을 통해 데이터의 광범위한 방송 분포가 발생하고, 1개 이상의 '서비스' (이 경우 서비스는 전체로써 처리되는 데이터 아이템들의 컬렉션을 의미한다)로부터 이러한 데이터를 액세스하기 위한 요건이 존재하는 경우의 제 1 영역이다. 물론, 이들 메커니즘들은 또한 디지털 라디오 방송에 및 순수한 데이터 방송 네트워크들에 적용된다.
본 명세서로부터, 많은 다른 변형들 및 변화들이 당업계의 숙련자들에게 명백할 것이다. 그러한 변형들 및 변화들은 당업계에 이미 공지되고, 본 명세서에 이미 기재된 특징들 대신에 또는 그에 부가하여 사용될 수 있는 다른 특징들을 포함할 수 있다.

Claims (8)

  1. 대화형 애플리케이션을 제어하기 위한 방법에 있어서:
    - 대화형 애플리케이션을 포함하는 데이터 스트림을 수신하는 단계,
    - 상기 스트림에서의 변화를 식별하기 위해 상기 데이터 스트림을 모니터링하는 단계,
    - 상기 변화에 응답하여, 상기 대화형 애플리케이션이 파일들에 액세스하는 것을 방지하는 단계,
    - 상기 데이터 스트림 내에 존재하는 파일들을 식별하는 단계, 및
    - 상기 대화형 애플리케이션이 상기 데이터 스트림 내에 존재하는 파일들만을 액세스할 수 있게 하는 단계를 포함하는, 대화형 애플리케이션 제어 방법.
  2. 제 1 항에 있어서,
    상기 데이터 스트림은 방송 신호에 포함되는, 대화형 애플리케이션 제어 방법.
  3. 제 1 항의 단계들을 포함하는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  4. 제 3 항에 있어서,
    상기 컴퓨터 프로그램은 디지털 텔레비전 수신기에 의해 실행되는, 컴퓨터 판독 가능 기록 매체.
  5. 제 4 항에 있어서,
    상기 변화는 상기 디지털 텔레비전 수신기가 채널을 변경할 때 발생하는, 컴퓨터 판독 가능 기록 매체.
  6. 대화형 애플리케이션을 제어하는 장치에 있어서:
    - 대화형 애플리케이션을 포함하는 데이터 스트림을 수신하기 위한 수신 수단, 및
    - 상기 데이터 스트림을 모니터링하고, 상기 대화형 애플리케이션이 상기 데이터 스트림에서의 변화를 따르는 파일들에 액세스하는 것을 방지하고, 상기 데이터 스트림에 존재하는 파일들을 식별하고, 상기 대화형 애플리케이션이 상기 데이터 스트림 내에 존재하는 파일들만을 액세스할 수 있게 하기 위해 상기 대화형 애플리케이션을 제어하기 위한 모니터링 수단을 포함하는, 대화형 애플리케이션 제어 장치.
  7. 제 6 항에 있어서,
    상기 장치는 집적 회로로 구성되는, 대화형 애플리케이션 제어 장치.
  8. 제 7 항에 있어서,
    상기 집적 회로는 디지털 텔레비전 수신기의 부분을 형성하는, 대화형 애플리케이션 제어 장치.
KR1020047003970A 2001-09-19 2002-09-16 데이터 스트림에서 대화형 애플리케이션의 제어 KR100940460B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB0122585.3A GB0122585D0 (en) 2001-09-19 2001-09-19 Control of an interactive application
GB0122585.3 2001-09-19
GBGB0214735.3A GB0214735D0 (en) 2001-09-19 2002-06-25 Control of an interactive application
GB0214735.3 2002-06-25
PCT/IB2002/003819 WO2003025746A1 (en) 2001-09-19 2002-09-16 Control of an interactive application in a data stream

Publications (2)

Publication Number Publication Date
KR20040035817A KR20040035817A (ko) 2004-04-29
KR100940460B1 true KR100940460B1 (ko) 2010-02-04

Family

ID=26246564

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047003970A KR100940460B1 (ko) 2001-09-19 2002-09-16 데이터 스트림에서 대화형 애플리케이션의 제어

Country Status (8)

Country Link
US (1) US7917921B2 (ko)
EP (1) EP1430397B1 (ko)
KR (1) KR100940460B1 (ko)
CN (1) CN1311347C (ko)
AT (1) ATE378631T1 (ko)
AU (1) AU2002321784B2 (ko)
ES (1) ES2296978T3 (ko)
WO (1) WO2003025746A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1244310A1 (en) * 2001-03-21 2002-09-25 Canal+ Technologies Société Anonyme Data referencing system
AU2003268273B2 (en) * 2002-08-30 2007-07-26 Opentv, Inc Carousel proxy
KR20070024496A (ko) * 2004-02-23 2007-03-02 힐크레스트 래보래토리스, 인크. 보안 미디어 컴퓨팅 환경을 위한 비디오 출력 생성 방법,컴퓨터 비디오 시스템, 케이블 데이터 처리 시스템, 및케이블 데이터 입력 카드
US20090300200A1 (en) * 2004-06-30 2009-12-03 Robert Jochemsen Content managing module and apparatus comprising such content managing module as well as method for controlling interactive applications
KR20070047825A (ko) 2004-09-08 2007-05-07 마츠시타 덴끼 산교 가부시키가이샤 영상데이터와 애플리케이션을 연동시켜서 재생하는재생장치, 재생방법 및 프로그램
JP5175722B2 (ja) * 2005-06-30 2013-04-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Mhp又はocap放送システムでデータへの限定受信を提供するシステム及び方法
KR20070108324A (ko) * 2006-02-09 2007-11-09 삼성전자주식회사 휴대형 디지털 비디오 방송 방통융합 서비스 시스템에서핸드오버 방법 및 장치
KR101319546B1 (ko) * 2006-11-21 2013-10-21 삼성전자주식회사 영상표시장치 및 그의 엑스렛 제공 방법
KR101109603B1 (ko) 2007-03-29 2012-01-31 삼성전자주식회사 응용 프로그램 실행 방법 및 장치
US8087047B2 (en) 2007-04-20 2011-12-27 United Video Properties, Inc. Systems and methods for providing remote access to interactive media guidance applications
US9104991B2 (en) * 2010-07-30 2015-08-11 Bank Of America Corporation Predictive retirement toolset

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000075387A (ko) * 1999-05-20 2000-12-15 윤종용 디지털 방송 시스템 및 그 제어 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4580285A (en) * 1983-09-07 1986-04-01 Sprague Electric Company Scanning AM radio with discriminator-driven-scan-stop-circuit
US5434678A (en) * 1993-01-11 1995-07-18 Abecassis; Max Seamless transmission of non-sequential video segments
US5561637A (en) * 1995-09-12 1996-10-01 International Business Machines Corporation Pace control for multicasting in a video server environment
AU6037198A (en) * 1997-01-27 1998-08-26 Benjamin Slotznick System for delivering and simultaneously displaying primary and secondary information, and for displaying only the secondary information during interstitial space
AU3722399A (en) * 1998-05-06 1999-11-23 Jcp Computer Services Ltd Processing apparatus and method
US6668158B1 (en) * 1998-07-16 2003-12-23 Sony Corporation Control method, control apparatus, data receiving and recording method, data receiver and receiving method
JP2000032414A (ja) 1998-07-16 2000-01-28 Sony Corp チャンネル設定方法及び受信装置
US20020091816A1 (en) * 1998-12-23 2002-07-11 Altan J. Stalker Broadcast data access system for multimedia clients in a broadcast network architecture
US7069571B1 (en) * 1999-06-15 2006-06-27 Wink Communications, Inc. Automated retirement of interactive applications using retirement instructions for events and program states
WO2001011869A1 (en) * 1999-08-05 2001-02-15 Koninklijke Philips Electronics N.V. Television system adapted to function as server for distributing broadcasted stand-alone applications
US9668011B2 (en) * 2001-02-05 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Single chip set-top box system
US20020144279A1 (en) * 2001-03-30 2002-10-03 Guojun Zhou Method and apparatus for providing custom television channels to viewers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000075387A (ko) * 1999-05-20 2000-12-15 윤종용 디지털 방송 시스템 및 그 제어 방법

Also Published As

Publication number Publication date
US7917921B2 (en) 2011-03-29
ES2296978T3 (es) 2008-05-01
CN1555524A (zh) 2004-12-15
WO2003025746A1 (en) 2003-03-27
US20030070165A1 (en) 2003-04-10
KR20040035817A (ko) 2004-04-29
EP1430397A1 (en) 2004-06-23
AU2002321784B2 (en) 2008-03-06
ATE378631T1 (de) 2007-11-15
CN1311347C (zh) 2007-04-18
EP1430397B1 (en) 2007-11-14

Similar Documents

Publication Publication Date Title
JP4628629B2 (ja) プッシュされたデータを記録するシステムおよび方法
CN1322739C (zh) 传输系统
AU755310B2 (en) Application programming interface for enabling a digital television receiver to access system information in an abstract format
CN1647501A (zh) 程序到广播接收器中的下载
JP2015111837A (ja) 受信装置、および、受信方法
KR100940460B1 (ko) 데이터 스트림에서 대화형 애플리케이션의 제어
JP4418615B2 (ja) サービス・ブラウザ・プロセスおよび関連システム
AU2002321784A1 (en) Control of an interactive application in a data stream
US8191102B2 (en) Method of transmitting interactive television
KR100610037B1 (ko) 송신 시스템
US8272005B2 (en) Information monitoring and updating method and system for transport stream
EP1662390B1 (en) Control of an interactive application at service handover
KR20010076449A (ko) 디지털 방송 수신기의 소프트웨어 업그레이드 방법 및 장치
JP2005503703A5 (ko)
US20120117607A1 (en) Transport Stream, Data Processing Device and Digital Television for Intermittently Updating Firmware
US20080104638A1 (en) Method and apparatus for storing broadcast program
WO2004098185A1 (en) Method and apparatus for storing a data stream
KR20010018993A (ko) 데이터 서비스 방송의 초기화 시간 단축방법
GB2471117A (en) A digital television system and method for loading a service request application
KR20070036543A (ko) 데이터 방송 어플리케이션의 다운로드 지연 시간 단축을위한 파싱 장치 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130117

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140128

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150122

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170123

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180117

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190121

Year of fee payment: 10