본 발명에 따른 수신기가, 먼저 기술되고 도 3에 나타나 있는 바와 같이, 제 2 타입의 프로그램을 방송하는 서비스로 스위칭 하는 메커니즘이 후속 설명된다. 마지막으로 개선예와 여러 실시예를 기술한다.
본 발명에 따른 수신기가 도 1에 기술되어 있다. 본 수신기는, 예를 들어, DVB 규격에 따른 디코더이다. 이 수신기는 ISO/IEC 13818-1 트랜스포트 계층을 사용한다.
디코더는 튜너에 직접 연결된 안테나(1)에 연결되어 있다. 튜너는 2개일 수 있다는 것을 이후에 알게 될 것이다. 튜너가 제공하는 신호는 복조회로(3)에 의해 복조된다. 복조된 데이터는 에러정정 회로(4)에 의해 디인터레이싱(deinterlaced)되고 정정(corrected)되며 디멀티플렉서(5)에 송신된다. 후자의 디멀티플렉서(5)는 디코더가 지원하는 각종 어플리케이션의 함수로서 마이크로프로세서(23)(이는 필러 프로그램을 삽입하는 수단이다)가 프로그래밍하는 특정 수의 필터를 포함한다. 마이크로프로세서(23)는, 어플리케이션을 구현하는 상주 프로그램이나 다운로딩된 프로그램뿐만 아니라 운영 시스템을 포함하는 메모리(12)에 연결된다. 메모리는 단일 블록 형태로 도시되어 있지만, 물리적으로 여러 종류, 즉 랜덤 억세스 메모리(RAM), 읽기 전용 메모리(ROM), 재프로그램가능 메모리(EEPROM 또는 FLASH)의 수 개의 블록을 포함할 수 있다. 마이크로프로세서는 클록 회로(27)에도 연결된다. 문자 생성기(15)는 디코더의 파라미터나 특정 어플리케이션에 관한 제어 메뉴 즉 그래픽 메뉴를 생성하게 한다. 생성된 비디오 신호는 비디오 디코더(17)에서 발생하여 텔레비전 스크린(22)에 연결된 SCART 소켓(socket)으로 가는 비디오 신호 중 하나의 신호와 멀티플렉싱된다. 멀티플렉싱 회로(20)는 마이크로프로세서(23)에 의해 관리된다. 도면을 간단히 하기 위하여, 마이크로프로세서(23)의 가장 중요한 연결만이 도시되어 있다.
디멀티플렉서가 필터링하는 오디오나 비디오 섹션 또는 패킷은 버퍼 메모리(6)의 미리 규정된 영역 내에 저장된다. 디코더는, 정보의 고속 전송을 가능하게 하는 인터페이스(26)의 도움에 의해 마이크로프로세서에 연결된 하드 디스크(25)를 또한 포함할 수 있다. 또한 디코더에는 적외선 링크를 통해 마이크로프로세서에 연결된 리모트 컨트롤(11)이 구비되어 있다.
방송하는 네트워크는 단방향(방송 네트워크나 위성 네트워크)이거나 양방향(예를 들어, 유선, 케이블, 인터넷으로)일 수도 있다는 것을 이미 언급하였다. 구체적으로, 수신기는 오디오비디오 데이터를 방송하는 네트워크와 동일한 통신 수단을 통해 메시지를 방송국으로 송신할 필요가 없다. 방송 네트워크는 소위 일반적인 서비스를 송신하며, 유저는 현재의 이벤트를 시청하기 위하여 일반적 서비스로부터 현재의 서비스를 선택한다. 또한 네트워크는 소위 "토픽에 기초한(topic-based)" 서비스를 송신한다. 토픽에 기초한 서비스는 정해진 채널에 대해 동일한 토픽을 처리하는 짧은 오디오비디오 프로그램(본 문헌에서 이후 "플래쉬"라고 부른다)을 연속적으로 방송한다. 각 서비스에 연관된 토픽 뿐만 아니라 토픽에 기초한 서비스에 억세스하기 위한 참고의 리스트가 NIT 표에서부터 추출된다. 소유자 필드(proprietor field)는 서비스가 "토픽에 기초하고 있다" 것이라는 것을 명시하는 표시자(indicator)를 포함한다.
디코더의 프로그램 메모리는, 플래쉬를 관리하는 소프트웨어 모듈, 즉 GF 모듈을 포함한다. 이 모듈의 기능 중 하나는 전술한 어레이를 만드는 것이다. 다른 기능은 이후에 기술한다.
GF 모듈은 방송되는 토픽을 검색하며 스크리닝되는 플래쉬를 선택하는 기준을 유저로부터 수신하는 것으로 구성된 프로그래밍 부분(programming part)을 포함한다.
무엇보다도 먼저, 디코더는 현재 방송되고 있는 토픽에 기초한 서비스의 토픽과 그 수를 결정하기 위하여 NIT 표를 분석한다. EIT 표는 특히 디스크립터에 의하여 이벤트의 콘텐츠(그리고 이에 따른 짧은 이벤트인 플래쉬)의 설명을 제공한다. 디스크립터는 방송국이 소유하는 소유 데이터의 코딩을 인증하여, 표준화된 포맷에 따라 콘텐츠(tag content_descriptor)를 방송가능하게 한다. 본 발명은 이들 디스크립터에 새로운 필드를 도입하며, 이 새로운 필드 안에, 플래쉬의 설명, 플래쉬의 토픽 또는 토픽들, 프로그램의 시작(40비트로 코딩되는 날짜와 시간), 지속기간(24비트로 코딩됨) 등을 지정한다. EIT 표는 특히 12비트로 코딩되는 필드를 포함하며, 이 필드는 디스크립터를 전송하는데 4093바이트의 최대 길이를 인증한다.
이들 후자의 디스크립터는 이벤트의 콘텐츠와 이에 따라 예를 들어 이 콘텐츠가 속하는 토픽을 기술하기 위해 방송국에서 사용된다.
이 디스크립터는 다음의 두 가지 타입이 가능하다:
1. 16진수로 0x54인 표준화된 식별자의 "content_descriptor" 디스크립터,
2. 16진수로 0x80에서 0xFE 까지 표준화된 식별자의 "user defined" 디스크립터.
"content_descriptor" 타입의 디스크립터가 이벤트의 토픽이나 토픽들을 코딩하는데 사용되면, 8비트로 코딩된 사이즈가 이용가능하며, 그리고 이에 따라 256 바이트가 이용가능하며, 이것은 충분히 넉넉하다.
추천할 수 있는 디스크립터 코딩은 다음과 같다(DVB-SI 표준에 있는 디스크립터와 같이 기술되어 있다):
broadcaster_defined_content_descriptor(){
descriptor_tag 8 bits uimsbf
descriptor_length 8 bits uimsbf
for(i=0;i<N;i++){
descriptor_content_byte 8 bits uimsbf
}
}
여기서, descriptor_tag : 0x80과 0xFE 사이에 놓여 있음,
descriptor_length : descriptor_length 다음에 오는 디스크립터의 콘텐츠의 길이,
descriptor_content_byte : 이벤트가 해당하며 방송국이 명시하고자 하는 토픽이나 토픽들의 코딩(보통 이 코딩은 한 바이트로 맞추어야 하지만, 콘텐츠의 가변 사이즈에 따라 하나 그리고 동일한 이벤트를 수 개의 토픽과 연관시키는 것도 가능하다).
EIT 표에 포함되어 있는 디스크립터의 콘텐츠를 분석함으로써, 디코더는 현재 방송되고 있는 토픽에 기초한 서비스(Id_service_i)와 그 관련 토픽과 하위토픽(subtopic)에 억세스하기 위해 참고의 리스트를 포함하는 아래의 배열 1을 자신의 메모리 내에 생성한다.
[배열 1]
정보: |
스포츠 |
Id_service_1 |
|
경제 |
Id_service_2 |
|
정치 |
Id_service_3 |
광고: |
레저 |
Id_service_4 |
|
홈 |
Id_service_5 |
|
패션 |
Id_service_6 |
|
청년 |
Id_service_7 |
비디오 클립: |
랩 |
Id_service_8 |
|
테크노 |
Id_service_9 |
|
락 |
Id_service_10 |
|
클래식 |
Id_service_11 |
|
째즈 |
Id_service_12 |
배열 1의 예에서, 3개의 주 토픽, 즉 정보(Information), 광고(Advertising) 및 비디오 클립(video clips)과, 3개의 토픽의 집합에 대해, 12개의 하위토픽이 제공된다. 이 예에서, 네트워크는 12개의 토픽에 기초한 서비스를 포함한다.
다음으로, 유저는 토픽에 기초한 서비스를 선택하기 위한 기준을 입력할 수 있게 하는 프로그래밍 부분을 실행한다. 이때 도 2에 표시된 메뉴가 이제 나타나며, 이 메뉴의 콘텐츠는 배열 1에 기초하여 직접 정형화된다. 유저는 자기의 리모트 컨트롤의 4개의 방향키를 가지고 이 메뉴를 탐색한다. 지시된 요소는, 타이틀을 하이라이트 처리하거나 플래쉬 처리하는 것에 의해, 지시된 요소의 아웃라인을 굵은 서체로 하거나 또는 임의의 다른 그래픽 구별 수단을 통해 선택된다. 첫 번째 리스트는 토픽을 나타내며, 각 토픽은 하위토픽의 제 2 특정 리스트에 억세스할 수 있다. 도 2의 예에서, "광고" 토픽이 선택되고, "패션" 하위토픽이 선택된다. 현재 유저는 선택 기회를 가지거나 그렇지 않으면 이 기준을 가진다. "←" 키와 "→" 키는 두 개의 리스트 사이를 진행하는데 사용된다. "OK" 키는, 하위토픽의 왼쪽에 "X" 기호가 보이게 하여 그 선택을 뚜렷이 표시하는 것을 선택할 수 있게 한다. 이 X 기호를 더 이상 선택하지 않기 위해서는, "OK" 키를 다시 한번 누르는 것으로 충분하다. "enter" 키는 전체적으로 그 선택된 것을 입력하며 GF 모듈의 프로그래밍 부분을 빠져나온다.
유저가 아무 것도 선택하지 않으면, GF 모듈은 동작하지 않으며, 방송국이 초기에 제공하는 플래쉬의 시퀀스는 교체되지 않는다. 그렇치 않고, GF 모듈의 프로그래밍 부분의 실행 이후에, 디코더가 다른 하나의 튜너를 가지고 있다면, 선택된 제 1 하위토픽에 해당하는 서비스의 데이터를 수신하기 위하여, 디코더는 디멀티플렉서와 다른 하나의 튜너를 프로그래밍한다. 이후에 이 서비스의 전송이 중지되면, 디코더는 선택된 다른 서비스로 진행한다.
동작 동안 GF 모듈의 일반적 원리가 도 3에 도시되어 있다. 현재의 서비스에서 추출되는 이벤트는 스크리닝된다. 특정 순간에, 방송국은, 이 서비스의 데이터 내에 그리고 오디오비디오 데이터의 두 개의 블록 사이에, 어떤 지속기간을 갖는 시퀀스가 곧 방송될 것이라는 것을 나타내는 안내 신호를 전송한다. 안내 신호에 지정된 순간에, 디코더는 유저가 규정한 기준에 해당하는 플래쉬를 방송하는 서비스의 데이터를 수신하기 위하여 디멀티플렉서를 프로그래밍한다. 예를 들어, 유저가 패션에 관한 광고를 선호하면, 디멀티플렉서는 토픽으로서 "패션"을 가지는 플래쉬를 방송하는 서비스를 선택한다. 유저가 몇몇 토픽을 선택하였다면, 이 토픽을 방송하는 서비스는 GF 모듈에 의해 연속적으로 선택된다. 한번씩 모두가 스크리닝되고 난 뒤에, 다시 한번 첫 번째 것이 선택된다. 이 선택은, 유저가 선택한 토픽 을 갖는 서비스를 배열 1에서 주소지정하는 포인터에 의해 수행된다. 안내 신호 내에 지정되어 있는 지속기간의 종료시에, 디멀티플렉서는 텔레비전 스크린에 송신되는 현재의 서비스의 데이터를 수신하기 위하여 다시 프로그래밍된다.
안내 신호는 다음 정보를 포함한다:
서비스 식별자 |
현재의 시간 |
시간 t1 |
지속기간 D1 |
유리하게도, 안내 신호는 모든 디코더에 의해 적절히 수신되도록 하기 위하여 수 회 반복된다. "현재의 시간" 데이터 항목에 의하여, 디코더는 자기의 클록을 재동기화하여 정확한 시간 t1에 지속기간 D1의 시퀀스의 스크리닝을 시작한다.
아주 간략하게 된 실시예에 따라, 방송국은 시퀀스가 시작하는 시간에 단 하나의 안내 신호만을 송신한다. 이 신호에서, "현재의 시간" 필드와 "시간 t1" 필드는 불필요하며 제거될 수 있다.
플래쉬는 토픽에 기초한 서비스로 연속적으로 방송된다. 시퀀스의 시작(시간 t1)은 플래쉬의 시작과 일반적으로 일치하지 않는다. 플래쉬의 방송 동안 스위칭 하여 일부가 누락되는 일이 일어나지 않도록 하기 위하여, 디코더는 스크린에 필러 이벤트(filler event)를 송신한다.
도 4는, 현재의 서비스(도 4a), 토픽에 기초한 서비스(도 4b) 및 스크리닝된 프로그램(도 4c)으로 방송되는 프로그램의 타이밍을 나타내는 도면이다. 이들 도면은 특히 필러 이벤트의 프로그램 순간을 도시한다. 현재의 이벤트의 오디오비디오 데이터의 블록들 사이에 전송되는 안내 신호는 시퀀스의 시간 t1에서의 방송을 나타내는 데이터 항목을 포함한다. 이 시퀀스는 여러 가지 토픽을 갖는 플래쉬를 포 함한다. 이 시퀀스는, 유저가 어느 기준을 지시하지 않은 때나 디코더에 GF 모듈이 구비되지 않은 때에 스크리닝된다. 동시에, 토픽에 기초한 서비스는 플래쉬를 루프(loop)로 연속적으로 전송한다. 도 4b의 예에서, 디스플레이 되는, 토픽에 기초한 서비스는 동일 토픽을 갖는 9개의 서로다른 플래쉬를 전송한다.
제 1 실시예에 따라, 현재의 서비스와 토픽에 기초한 서비스 사이의 스위칭은 직접 이루어진다. 이러한 제 1 실시예는 간단하지만, 플래쉬를 절단하는 단점을 가진다. 이후에 오는 설명은 이 문제를 해결하고자 하는 개선점을 포함한다.
시각 t1은 플래쉬(4)의 방송 시간에 일어난다. t1 이후 시간 t2에서 방송되는 플래쉬(5)는 완전히 스크리닝될 수 있다. 플래쉬(4)의 일부만을 스크리닝하는 것을 피하기 위해, 디코더는 t1과 t2로 정해진 시간 동안에 필러 이벤트를 스크린에 송신한다. 필러 이벤트는 스크리닝의 지속기간이 뷰어에게 중요하지 않은 오디오비디오 콘텐츠를 소유한다. 이것은, 예를 들어, 음악으로 흥겹게 된 정지 화상이다. 이것은 또한 어느 지역에 대한 다큐멘터리일 수 있다. 필러 이벤트의 목적은 시각 t1과 그 다음 플래쉬의 시작 사이에 텔레비전 스크린을 점유하는 것이다. 이것은 또한 서비스를 스위칭 할 때 보이는 짧은 블랙 스크린을 제거하게 해준다. 시각 t2에서, 디코더는 플래쉬(5)가 시퀀스에 완전히 포함될 수 있도록 충분히 짧은 지속기간을 가지는지를 점검한다. 본 도면이 그런 경우이기 때문에, 플래쉬(5)는 스크리닝된다. 시각 t3에서, 플래쉬(6)가 수신되며, 동일한 점검을 받은 후, 스크리닝된다. 시각 t4에서, 플래쉬(7)가 수신된다. 이 플래쉬의 지속기간은 시퀀스의 나머지 지속기간보다 더 크며, 그리하여, 시퀀스를 스크리닝할 시간이 더 이상 충 분치 않게 된다. GF 모듈은, 시퀀스를 종료하는, 시간 t5 까지 스크리닝되는 필러 이벤트를 스크린에 송신한다. 이후 현재의 프로그램이 다시 스크리닝된다.
유리하게도, 필러 이벤트는 시작의 이행(transition)과 종료의 이행을 식별할 수 없는 루프형 오디오비디오 프로그램이다. 루프의 지속기간은 유저가 동일한 부분을 너무 자주 볼 수 없도록 충분히 길어야 한다.
바람직한 실시예에 따라, 필러 이벤트는 유니크하며 디코더의 메모리에 기록된다. 그리하여 스위칭이 빠르며 스크린 상에 어느 블랙 스크린도 보이지 않게 한다. 점유하는 메모리의 사이즈가 일반적으로 짧다면(특별히 이 이벤트가 음악이 있는 화상이라면), 필러 이벤트는 작업 메모리의 일부에 저장될 수 있으며, 또는 필러 이벤트가 너무 길다면, 하드 디스크(25)에 저장될 수 있다.
일 변형예는, 네트워크가 토픽에 기초한 서비스 외에 필러 이벤트를 영구적으로 방송하는 소위 "필러(filler)" 서비스를 방송하는 것이다. 이 변형예에 따르면, GF 모듈은 필러 이벤트에 대해 이 서비스를 검색하여 이것을 메모리에 저장한다. 방송국은 필러 이벤트를 예를 들어 하루에 한번 변경시킬 수 있다.
안내 신호 내에 방송국이 지정하는 정확한 시간에, 시퀀스가 인터럽트한 이벤트는 다시 시작하여야 한다. 이때 디스플레이를 하기 위해 선택된 데이터는 제 2 타입의 프로그램을 방송하는 서비스로부터 현재의 서비스로 스위칭 된다.
본 발명의 개선점은 적어도 하나의 플래쉬를 기록하기 위한 대 용량의 메모리를 사용하는데 있다. 이 메모리는 대용량의 메모리 회로나 (도 1에서 25로 나타나 있는 것과 같은) 소규모의 하드 디스크, 또는 자기 테이프로 구성될 수 있다. 본 개선점에 따르면, 디코더는 선택된 토픽에 기초한 서비스로 방송되는 플래쉬, 다시 말해 "현재의 플래쉬"를 끊임없이 기록한다. 수신되는 새로운 플래쉬는 이전의 플래쉬에 덮어쓴다. 도 5는, 현재의 서비스(도 5a), 토픽에 기초한 서비스(도 5b), GF 모듈에 의해 메모리로부터 판독된 프로그램(도 5c), 및 스크리닝된 프로그램(도 5d)으로 방송되는 프로그램의 타이밍을 나타내는 도면이다.
시퀀스가 시작하는 때(시각 t1), GF 모듈은 현재의 이벤트의 스크리닝을 멈추고 현재 방송되고 있는 플래쉬의 기록 시작시에 플래쉬 메모리의 콘텐츠를 판독한다. 이 플래쉬(4)의 방송은 시각 t0에서 시작하고 그 플래쉬는 시각 t1에서 판독된다. 플래쉬(4)의 수신과 스크리닝 사이에는 (t1-t0)의 시간 시프트(time shift)가 발생하며 이후 스크리닝되는 것에도 시간 시프트도 발생한다. 이 이유로 인해, 이 장치는 소위 "시간 시프터(Time Shifter)"라고 불리운다. 플래쉬(4)의 스크리닝의 종료하는 때(시각 t2), GF 모듈은, 그 다음의 플래쉬{플래쉬(5)}가 시퀀스의 종료 전에 완전히 스크리닝될 수 있는지 여부를 결정한다. 이것은, 그리하여 플래쉬(5)가 스크린으로 송신되는 경우에 그러하다. 플래쉬(5)의 스크리닝의 종료시에, GF 모듈은, 플래쉬(6)가 또한 스크리닝될 수 있는지를 점검하지만, 이것은 그 경우가 아니다. GF 모듈은 현재의 이벤트의 스크리닝이 다시 시작하는 시각 t4 까지 필러 이벤트가 디스플레이 되도록 시퀀스의 나머지를 완성한다. 이 방식으로, 스크리닝된 시퀀스는 방송국이 지정하는 지속기간을 점유한다. 어느 경우에는, 이 개선점은 필러 이벤트의 스크리닝 시간을 줄일 수 있게 하며 플래쉬를 시퀀스에 추가할 수 있게 한다.
본 발명의 개선점은 유저가 토픽의 분포를 프로그래밍 하게 하는데에 있다. 배열 1에 존재하는 각 토픽에 대해, 유저는 자기가 원하는 디스플레이의 비율을 지정한다. 이 비율은 표시된 전체 값을 100으로 하여 그 퍼센트로 나타내는 것이 유리하다.
배열 2는 테마별 분포를 프로그래밍하는 일례이다. 이 예에서, 유저는, 특별히 비디오 클립 중 랩의 플래쉬를 선호(유저는 전체 플래쉬 중 50%를 원함)하고, 그 뒤 홈에 대한 광고를 선호(30%)하며, 마지막으로 스포츠 정보를 선호(20%)한다.
[배열 2]
정보: |
스포츠 |
Id_service_1 |
20 |
|
경제 |
Id_service_2 |
0 |
|
정치 |
Id_service_3 |
0 |
광고: |
레저 |
Id_service_4 |
0 |
|
홈 |
Id_service_5 |
30 |
|
패션 |
Id_service_6 |
0 |
|
청년 |
Id_service_7 |
0 |
비디오 클립: |
랩 |
Id_service_8 |
50 |
|
테크노 |
Id_service_9 |
0 |
|
락 |
Id_service_10 |
0 |
|
클래식 |
Id_service_11 |
0 |
|
째즈 |
Id_service_12 |
0 |
유저는, 자기의 리모트 컨트롤의 키패드를 사용하여 GF 모듈의 프로그래밍 부분을 실행하고 0에서 100까지 정수를 입력하여 도 6의 메뉴의 비율을 지정한다. 왼쪽 아래에 있는 아이콘은 유저가 아직 지정해야 할 퍼센트를 유저에게 나타내고 있다. 이 예에서, 유저는 스포츠 정보 플래쉬의 20%, 홈 광고 플래쉬의 30%를 지정하였으므로, 그러므로 유저는 여전히 하나 이상의 다른 테마에 대해 50%의 플래쉬를 더 지정해야 한다. 유저는 탐색 버튼을 사용하여 선택 항목으로 명확히 되돌아갈 수 있다.
선택 항목의 입력을 간단하게 하기 위하여 일 변형예는, 유저가 각 플래쉬 토픽에 대해 예를 들어 0에서 9까지의 등급(scale)을 지정하게 하는데에 있다. GF 모듈은 이후 입력된 값을 퍼센트로 변환한다.
유저가 자기의 선택 항목을 입력하면, GF 모듈은 메모리 내에 아래의 배열 3을 생성하며, 이 배열은 유저가 제로(0) 아닌 수를 지정한 테마의 존재 개수와 같은 수만큼의 행을 점유한다. 이 배열은 4개의 열을 포함한다. 첫 번째 열과 두 번째 열은 토픽에 기초한 서비스를 식별한다. 세 번째 열은 각 테마에 대해 유저가 프로그래밍한 퍼센트를 포함한다. 네 번째 열은 이미 스크리닝된 플래쉬의 수를 결정하는 카운터를 포함한다. 이 배열의 네 번째 열은 카운터의 값을 증분시켜 시퀀스의 각 스크리닝 동안 업데이트된다. 시퀀스의 디스플레이의 시작과 플래쉬의 각 스크리닝의 종료시에, 디코더가 스크리닝될 플래쉬를 검색하여야 하는 토픽에 기초한 서비스를 결정하기 위해 정상 동작 동안 이 배열은 GF 모듈에 의해 판독 및 분석된다.
[배열 3]
정보/스포츠 |
Id_service_1 |
20(%) |
1 |
광고/홈 |
Id_service_5 |
30(%) |
1 |
비디오 클립/랩 |
Id_service_8 |
50(%) |
1 |
위 배열 3의 예에서, GF 모듈은 "정보/스포츠"를 한번 방송하는 토픽에 기초한 서비스를 선택하고, 그후 "광고/홈"을 두 번 선택하며, 마지막으로 "비디오 클립/랩"을 네 번 선택할 것이다. 이 방식으로, 이 배열의 연대순의 주사(scanning)를 통해 선택이 수행된다.
제 1 진행 방식은 유저가 프로그래밍한 값으로 카운터를 업데이트하고 각 스 크리닝 동안 이 값을 감분(decrementing)시키는 것이다. 모든 카운터가 0에 있을 때, 이 카운터는 프로그래밍된 값으로 다시 업데이트된다. 제 1 작업 방식은 카운터가 다수의 스크리닝된 플래쉬를 계수하는 것이다. 다른 방법은 각 토픽에 대해 스크리닝 시간을 계수하는 것이다. 후자의 경우, 각 토픽에 대해 각 카운터에서 플래쉬의 지속기간(초 단위로)을 추가하여 초가 계수된다.
일 변형예는, 각 토픽에 대하여 유저가 관심이 없는 것으로 나타내는 것과 유저가 제로(0)의 값을 프로그래밍한 것을 포함하여, 각 토픽의 최소값이 1이 되도록 요구하는 것이다. 이 변형예는, 방송국으로 하여금, 어떤 시간 이후에 적어도 한번 각 토픽을 볼 수 있도록 보장하게 해주며, 유저에게 높은 관심이 있는 토픽에 대한 값이 충분히 큰 값을 갖는 경우 기대된 디스플레이 비율에 따르면서 이와 같이 한다. 이 변형예는, 배열 3이 방송되는 토픽과 그리하여 토픽에 기초한 서비스가 존재하는 수와 동일한 수의 행을 포함하는 것을 요구한다.
다른 변형예는 카운터의 시작 값을 변경하도록 기하학적 계열(geometrical series)을 사용하는 것이다. 이 변형예에서, 카운터의 시작 값은 바로 더 낮은 관심이 있는 토픽에 대한 카운터의 값의 k 배(k>1)와 같다. 그러므로, 유저는 자기에게 제공되는 토픽의 순서(ordering)를 제공한다. 이 순서는 예를 들어, 최대의 관심이 있는 것으로부터 최소의 관심이 있는 것으로 나열된다. 이것은,
- p[j]에 대해, j 번째 토픽의 가중치를 제공하며(여기서, n 개의 가능한 토픽에 대해, 0은 최소의 관심이 있는 토픽의 지수이며 n-1은 최대의 관심이 있는 토픽의 지수이다),
- k>1에 대해서는, p[j] = k*p[i-1]를 선택하는데, 여기서 p[0]=1이다.
먼저, 계열 p[i]의 연속 값으로 시작하여 초기화된 카운터는, p[n-1]을 최대로 선호되는 토픽과, p[0]을 최소로 선호되는 토픽을 연관시킴으로써, 각 토픽과 연관된다. 이 연관된 카운터는 이후 토픽이 디스플레이되는 때마다 1만큼 감분된다. 그리하여 원하는 기능이 사실상 이루어진다.
이 방식으로, 방송국은 각 토픽의 디스플레이의 확률(probabilities)에 대해 완전한 제어를 한다. 사실, 순환식, 즉
Sum(i=0 내지 n-1에 대해) [k^i] = (( k^n)-1)/(k-1)로 표시될 수 있다.
이것은, 예를 들어, k=2에 대해, 최대 희망하는 것으로 지정된 토픽은 시간 중 약 50% 디스플레이 되게 하며, 그 다음 토픽은 25% 디스플레이 되게 하며, 그 다음 토픽은 12.5% 디스플레이 되게 하며, 이와 같이 계속되는 것을 보여준다. 그리고, k=3에 대해, 그 확률은 67%, 22%, 7% 등이 되며, 그리고 k=4에 대해 75%, 19%, 5% 등이 된다.
일 개선점은 플래쉬에 우선순위(priority)를 부여하는 것이다. 이것을 하기 위해, 방송국은 각 플래쉬 디스크립터 내에 플래쉬가 우선순위를 가지는지 여부를 간단한 방식으로 나타내는 우선순위 플래그를 설정한다. 이 디스크립터는 EIT 표에 있으며, 이 방식으로 디코더는 모든 토픽에 기초한 서비스로 방송되는 모든 플래쉬의 토픽, 지속기간, 및 우선순위를 알게 된다는 것은 분명하다. 디코더는 이 표시자를 수신하며, GF 모듈은 이 표시자를 다음 방식, 즉 토픽에 기초한 서비스의 선택이 가능할 때, GF 모듈은 안내되는 시퀀스 동안 방송되는 가장 많은 우선순위 플 래쉬를 갖는 서비스를 선택하는 방식으로 이 표시자를 처리한다. 배열 3에서 도시되어 있는 예에서, GF 모듈은 "정보/스포츠"나 "광고/홈"이나 "비디오 클립/랩" 중 어느 것을 사실상 디스플레이할 수 있다. 이 개선예에 따라, GF 모듈은 시퀀스 동안 세 개의 토픽에 기초한 서비스로 전송되는 플래쉬의 우선순위를 분석하며 시퀀스 동안 가장 높은 수의 우선순위 플래쉬를 소유하는 토픽에 기초한 서비스를 선택한다. 유저에게 유리하게, 방송국은 그 플래쉬에 대해 더 높은 우선순위를 요구하는 제공자로부터 더 높은 가격을 요구할 수 있다.
이 개선점의 변형예는 이진수의 값을 갖는 플래그가 아닌 각 토픽에 우선순위 레벨을 부여하는 것이다. 예를 들어, 이 레벨은 0에서 4까지의 값을 가지며, 여기서 값 4는 최고의 우선순위의 값이다. 이 변형예에 따르면, GF 모듈은 안내되는 시퀀스 동안 그리고 선택가능한 서비스로 방송되는 플래쉬의 우선순위 레벨을 추가하며 최고의 값을 소유하는 우선순위 레벨을 선택한다.
이 개선점의 다른 변형예는 방송국이 지정하는 가중치(weight)를 각 토픽에 부여하여 어느 토픽에 정해진 우선순위를 제공하는 것에 있다. 이 가중치는 유저가 지정하는 가중치와 결합하여(예를 들어, 두 개의 가중치를 더하여) 사용되며, 이리하여 토픽의 선택 시간에 카운터에 대하여 고려되는 이 값을 변경한다. 이 변형은, 방송국이, 수신기의 레벨에서 우선순위를 가지는 것으로 선언된 토픽에 기초한 서비스로 방송되는 플래쉬의 디스플레이를 "억지로 하게(force)" 해준다.
일 변형은 수신기가 유저의 프로파일을 자동적으로 결정하며 이 프로파일과 제공된 토픽을 상관시키는데 있다. 그러므로, 도 2에 도시되어 있는 수동 프로그래 밍 단계(manual programming phase)를 더 이상 할 필요가 없다. 이 프로파일은 예를 들어, 학습 단계 동안 어느 플래쉬와 마주하는 유저의 조치에 기초하여 결정될 수 있다. 예를 들어, 만약 유저가 패션 섹터에서 광고 플래쉬를 볼 때 서비스를 종종 변경시킨다면, GF 모듈은 이로부터 유저에게 이 토픽의 플래쉬가 더 이상 제공되지 않게 하여야 한다고 추론한다. 이로 인해 이 GF 모듈은 이 토픽에 할당된 비율을, 예를 들어, 10%만큼 감소시킨다. 시퀀스의 스크리닝과 함께, 수신기는 유저의 프로파일을 상세히 분류한다. 유저가 이들 이벤트를 보고자 요구할 때, GF 모듈이 해당 토픽의 비율을 증가시키도록, 플래쉬 토픽이 이벤트와 관련되어 있다고 가정해보자. 예를 들어, 유저가 텔레비전으로 방송되는 뉴스(이것이 이벤트이다)를 자주 보고자 요구하면, GF 모듈은 경고를 받고 "정보" 토픽의 비율을, 예를 들어 10%만큼 증가시킨다.
일 개선점은 GF 모듈이 수 명의 유저를 고려하는 것이다. 이때 프로그래밍 부분은 유저 식별자의 입력으로 시작하고 각 유저는 플래쉬로 보고자 하는 토픽의 분포 또는 자기의 프로파일을 입력한다. GF 모듈의 프로그래밍 부분은 이때 유저의 수와 동일한 수만큼의 분포 배열을 생성한다. 정상 실행 동안, 유저는 하나의 분포 배열이나 프로파일이 동시에 활성화되는 것을 스스로 식별한다.
디코더가 단 하나의 튜너를 이용가능하게 하면, 프로그램과 그 표시는 여러 PID에 의해 참조되는 데이터 패킷의 형태로 하나 그리고 동일한 채널 상에서 멀티플렉싱되어야 한다. "최상위 범위(top of the range)의" 디코더는 다른 주파수의 두 개의 방송 채널에서부터 오는 신호를 수신하도록 이용가능한 두 개의 튜너를 갖 는다. 이 경우에, 개선점은. 하나의 튜너가 현재의 이벤트와 안내 신호를 수신하도록 하나의 튜너를 프로그래밍 하고, 그리고 다른 하나의 튜너가 GF 모듈이 선택하는 토픽에 기초한 서비스를 수신하도록 다른 하나의 튜너를 프로그래밍하는 것이다. 데이터가 수신됨에 따라 그리고 데이터가 수신되는 때에 데이터는 메모리에 병렬로 저장된다. 현재의 이벤트와 플래쉬 사이의 스위칭은 이후 메모리를 판독하는 절차 레벨에서 일어난다.
물론 본 발명은 단지 기술되어 있는 실시예로 제한되지 않는다.