KR20080012293A - 콘텐트 재생 장치 - Google Patents

콘텐트 재생 장치 Download PDF

Info

Publication number
KR20080012293A
KR20080012293A KR1020077026444A KR20077026444A KR20080012293A KR 20080012293 A KR20080012293 A KR 20080012293A KR 1020077026444 A KR1020077026444 A KR 1020077026444A KR 20077026444 A KR20077026444 A KR 20077026444A KR 20080012293 A KR20080012293 A KR 20080012293A
Authority
KR
South Korea
Prior art keywords
program
ait
trick play
java
mpeg
Prior art date
Application number
KR1020077026444A
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 KR20080012293A publication Critical patent/KR20080012293A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

종래 기술에서, 비디오 및 오디오의 재생과 동기화하여 동작하는 프로그램이 고속 전진 및 되감기와 같은 비디오 및 오디오의 트릭 플레이를 명령할 시에, 비디오 및 오디오의 트릭 플레이는 프로그램이 종료된 후에도 계속한다. 이것은 프로그램에 의해 예상되지 않는 시간 구간 동안에 계속하는 잉여 트릭 플레이를 취소할 수 없게 한다. 본 발명에서는, 비디오 및 오디오의 트릭 플레이를 명령하는 프로그램이 유지되고, 프로그램이 종료될 시에, 프로그램이 트릭 플레이를 명령한 지의 여부가 판정되며, 그 프로그램이 트릭 플레이를 명령한 경우에, 비디오 및 오디오의 트릭 플레이는 취소된다. 그 결과로, 프로그램에 의해 예상되지 않는 어떤 시간 구간 동안에 계속하는 잉여 트릭 플레이를 취소할 수 있게 한다.

Description

콘텐트 재생 장치 {CONTENT REPRODUCTION APPARATUS}
본 발명은 기록 및 재생 장치에 관한 것으로, 즉 콘텐트를 축적하고 축적된 콘텐트를 재생하는 콘텐트 재생 장치에 관한 것이다. 특히, 본 발명은 서로 동기화되어 전송되는 방송파에 다중화된 비디오 및 오디오와 더불어 프로그램과 같은 데이터로 이루어진 콘텐트를 포함하는 방송파를 수신하고, 비디오와 오디오 및 데이터를 축적하기 위한 설정과 더불어, 비디오와 오디오 및 프로그램과 같은 데이터 사이에 동기가 유지되고 있는 동안 콘텐트의 빠른 전진과 되감기와 같은 트릭 플레이(trick play)를 실행하기 위한 설정에 관한 것이다.
방송국으로부터 송신되는 방송파에는 다양한 콘텐트가 포함되어 있다. 통상의 TV 쇼에 사용되는 비디오 및 오디오를 제외하고, 콘텐트에 데이터가 포함되는 경우가 있다. 데이터를 송신하는 몇가지 방법이 있고, 이들은 데이터를 연대기적으로 송신하는 방법과 설정 시간 간격마다 데이터를 반복적으로 송신하는 방법으로 대략적으로 분류할 수 있다. 데이터를 연대기적으로 송신하는 기존의 방법에서는, 예를 들면, 시간이 경과하는 동안 연속되는 데이터가 순차적으로 송신된다. 이 방법은 긴 시간 동안 대용량의 데이터를 송신하기에 적합하지만, 상기 송신 시간에 수신하지 못한 데이터를 다시 수신하지 못하는 단점이 있다. 반면에, 데이터를 설 정된 시간 간격으로 반복해서 송신하는 근래의 방법에서는, 동일한 데이터가 일정 기간동안 몇 번이라도 반복해서 송신될 수 있다. 이 방법은 동일한 데이터가 송신되고 있는 상기 기간 동안 반복 송신되는 어떤 데이터의 조각이라도 수신할 수 있게 함으로써 수신 시간이 제한되지 않는 장점이 있다. BML로 대표되는 데이터 방송과 DSM-CC 데이터 캐로절(carousel)을 통한 파일 송신이 이 방법의 예이다. 수신자가 언제 채널을 선택하고 수신을 개시할지는 알려져 있지 않다. 상기 데이터를 연대기적으로 송신하는 방법에서는, 송신하고 그에 따라 데이터를 획득하는 시간에 늦어져서 수신이 시작되었을 때, 상기 데이터는 재획득될 수 없다. 따라서, 비디오 및 오디오와 함께 응용 프로그램과 같은 데이터를 방송파로 전송할 때는, 설정 시간 간격마다 데이터를 반복 전송하는 방법이 유리하다.
현재, 비디오, 오디오 및, 응용 프로그램이 포함된 방송파를 수신하고, 비디오 및 오디오에 동기된 응용 프로그램을 실행하기 위한 기술 규격이, 상기 방법에서와 같이, 개발되었고, 운영되고 있다. 단순히 비디오 및 오디오를 보여주는 것 보다는, 상기 송신된 응용 프로그램을 수신하여, 단말기 내에 상기 응용 프로그램을 로드하고, 상기 응용 프로그램을 실행함에 의해 다양한 추가 기능을 실현하는 것이 가능하다. 상기 응용 프로그램을 송신하고 상기 응용 프로그램을 단말기 내에 로딩하기 위한 이 방법은 “다운로딩”이라고 부른다. 예를 들면, 디지털 비디오 방송 - 멀티미디어 홈 플랫폼 (DVB-MHP) ETSIES201812 v1.1.1 (2003-12)라고 불리는 기술규격은 유럽에서 개발되었고, 이 기술규격에 따른 운영이 이미 개시되었다. 게다가, 케이블 방송 환경에서 동일 구조를 제공하는 개방형 케이블 응용 플랫폼 (OCAP) OC-SP-OCAP1.0-I14-050119 기술규격은, 미합중국에서 개발되고 있으며, 실제 운영이 개시되려 하고 있다. 이들 기술규격에서는, 상기 응용 프로그램이 자바(Java) 언어로 기입된다. 튜닝, 그래픽 디스플레이 등을 위한 다양한 응용 프로그래밍 인터페이스(APIs)들이 단말기 내에 마련되어 있고, 상기 자바 응용 프로그램은 상기 APIs로 불리는 다양한 기능들을 제어할 수 있다.
또한, 북미에서는, OCAP 기술규격에 콘텐트를 기록 및 재생하는 기능을 추가할 목적인 OCAP-DVROC-SP-OCAP-DVR-I01-040524 기술규격이 개발되고 있다. 이 기술규격에서는, 케이블 텔레비전 방송으로 송신되는 상기 비디오, 오디오 및 서로 동기화되어 실행되는 상기 자바 응용 프로그램은 콘텐트로 기록되고, 또한, 상기 기록된 콘텐트가 방송파로부터 직접 재생되는 때와 동일한 방식으로 재생된다. 상기 응용 프로그램은, 상기 방송파로부터 직접 재생되는 것과 동일한 방식으로 상기 비디오 및 오디오와 동기화되어 재생된다.
더욱이, OCAP-DVR에서는, 콘텐트의 트릭 플레이가 하드 디스크, 반도체 메모리 등과 같은 고속 랜덤-액세서블(random-accessible) 저장 미디어 상의 기록 방송 콘텐트에 의해 실현된다. 여기서, 상기 트릭 플레이는, 고속 전진, 되감기, 슬로우 모션, 정지, 스킵(skip) 등과 같은 임의의 위치로부터 임의의 속도로 콘텐트를 재생하는 기능을 일컫는다. OCAP-DVR에서는, 방송파로부터 단말기로 로드된 응용 프로그램이 콘텐트의 기록 및 트릭 플레이를 제어할 수 있다. 환언하면, 기록 및 트릭 플레이를 위한 API는 단말기 내에 마련되고, 자바 응용 프로그램이 API를 호출함에 의해 각 기능을 제어한다.
일반적으로, 비디오 및 오디오와 동기화된 응용 프로그램을 실행하기 위해 동기화를 위한 제어 정보가 먼저 방송파와 함께 다중화된다. 상기 응용 프로그램들은 상기 동기화 제어 정보에 따라 하나씩 실행 및 종료된다. 따라서, 비디오 및 오디오의 특정 장면(scene)을 위해 실행되기에 적절한 응용 프로그램을 전환할 수 있다. 그런데, 단말기에 의해 기록된 콘텐트의 트릭 플레이가 OCAP-DVR 등에 의해 수행될 경우에는, 트릭 플레이의 타입에 따른 응용 프로그램들 사이에서 전환을 적절히 할 필요가 있다. 예를 들면, 고속 전진에 의해 비디오가 변화되었을 경우에는, 그 비디오에 동기화되어 연관된 응용 프로그램 또한 그 재생 속도에 따라서 변경된다. 게다가, 스킵의 경우에는, 예를 들면, 스킵 이후의 비디오 재생 위치에 동기화되어 있는 응용 프로그램이 실행된다.
그런데, 고속 전진의 경우에는, 단말기는 그 자신의 고속 전진 속도에 따라서 응용 프로그램의 전환 및 실행을 하지 못할 수도 있다. 예컨대, 응용 프로그램을 시작하는데 시간이 걸리므로, 차 순위의 응용 프로그램의 시작 시간이 그 이전 응용 프로그램을 시작하는 동안에 상실된다. 스킵 플레이의 경우에, 스킵 이후 재생 시작 위치까지의 어떤 시간에 동기화된 응용 프로그램은 실행되지 않고, 재생 시작 시간에 동기화된 응용 프로그램만 실행된다. 여기서, 실행된 응용 프로그램이 그 이전에 실행된 응용 프로그램의 결과를 사용하는 경우에 문제가 발생한다.
이 문제를 해결하기 위해, PCT 국제 출원 2003-513555 호의 일본어 번역문은 스킵과 같은 트릭 플레이를 하는 동안 트릭 플레이의 실행으로 인해 감지되지 않은 응용 프로그램의 제어 정보를 응용 프로그램에 통지하는 설정을 제공한다. 이 통지 로, 응용 프로그램이 최초 순서와는 다른 순서로 실행되더라도, 원하는 액션을 취할 수 있게 된다.
PCT 국제 출원 2003-513555 호의 일본어 번역문에 따르면, 감지되지 않은 특정 응용 프로그램을 발견할 수 있으므로, 원하는 액션을 취할 수 있다.
그러나, PCT 국제 출원 2003-513555 호의 일본어 번역문은 트릭 플레이 동안에 감지되지 않는 응용 프로그램의 제어 정보만을 통지하므로, 하기의 경우와 같은 문제점이 남게 된다. 예를 들어, 응용 프로그램이 그 응용 프로그램 자신을 포함하는 콘텐트의 고속 전진의 트릭 플레이를 실행하는 것으로 가정한다. 콘텐트가 정상 속도보다 고속인 고속 전진으로 재생됨으로 인해서 동기 제어 정보에 설정된 응용 실행 기간이 경과된 경우에는, 응용 프로그램이 강제로 종료된다. 여기서, 강제로 종료된 응용 프로그램이 실제로 종료되었을지라도, 현재의 고속 전진의 트릭 플레이는 계속된다. 그러나, 응용 프로그램이 강제로 종료되었을 때, 고속 전진의 트릭 플레이 종료에 항상 접근할 수 있게 되지는 않는다. 이는 현재의 고속 전진의 트릭 플레이가 강제로 종료된 응용 프로그램에 의해 실행된 트릭 플레이가 아닐 수 있기 때문이다. 환언하면, 이 문제를 해결하기 위해서는, 응용 프로그램이 종료되었을 때, 응용 프로그램이 트릭 플레이를 명령한 응용 프로그램과 동일한지의 여부를 판정할 필요가 있고, 트릭 플레이를 명령한 응용 프로그램이 종료되었을 때, 그 상황에 따라서 트릭 플레이의 계속 및 종료와 같은 처리를 실행할 필요가 있다.
본 발명의 콘텐트 재생 장치는, 기록된 콘텐트를 재생하는 콘텐트 재생 유닛; 프로그램을 개시 및 종료하는 프로그램 실행 유닛; 상기 프로그램으로부터의 명령에 의거하여 기록된 콘텐트의 재생 속도를 변경하는 콘텐트 재생 속도 변경 유닛; 콘텐트의 재생 속도를 변경하도록 상기 콘텐트 재생 속도 변경 유닛에 명령하는 프로그램을 식별하는 트릭 플레이 명령 프로그램 식별 유닛; 상기 프로그램 실행 유닛에 의해 실행되는 프로그램에서 종료된 프로그램을 식별하는 종료된 프로그램 식별 유닛; 콘텐트의 재생 속도의 변경을 명령한 프로그램으로서 트릭 플레이 명령 프로그램 식별 유닛에 의해 식별되는 프로그램이 상기 종료된 프로그램 식별 유닛에 의해 식별된 종료된 프로그램인지의 여부를 판정하는 트릭 플레이 명령 프로그램 판정 유닛 및; 상기 트릭 플레이 명령 프로그램 판정 유닛이 콘텐트의 재생 속도의 변경을 명령한 프로그램이 종료된 프로그램임을 판정할 때 콘텐트의 재생 속도를 정상 재생 속도로 변경하는 트릭 플레이 명령 프로그램 종료 처리 유닛을 포함한다.
따라서, 임의의 프로그램이 기록된 방송파의 재생 속도를 변경한 프로그램인지의 여부를 판정할 수 있고, 프로그램이 종료되었을 때 방송파의 재생 속도를 변경할 수 있다. 따라서, 기록된 방송파가 이미 종료된 프로그램에 의해 명령된 재생 속도로 계속 재생되는 것을 방지할 수 있다.
또한, 상기 콘텐트는, 비디오, 오디오, 프로그램 및, 비디오와 오디오 및 프로그램을 서로 동기화하는 동기화 정보를 포함하고, 상기 콘텐트 내에 포함된 프로그램은, 상기 동기화 정보에 의거하여 상기 프로그램 실행 유닛에 의해 실행될 수 있다.
상기 콘텐트 재생 장치는, 상기 프로그램을 수신하는 프로그램 수신 유닛을 더 포함하고, 상기 프로그램 수신 유닛에 의해 수신된 프로그램은 상기 프로그램 실행 유닛에 의해 실행될 수 있다.
상기 프로그램 실행 유닛은, 상기 콘텐트에 포함된 상기 동기화 정보를 참조해서 프로그램을 개시 및 종료할 수 있다.
상기 동기화 정보는, 프로그램이 강제로 종료될지의 여부를 나타내는 트릭 플레이 컴플라이언트 플래그를 포함하고, 상기 프로그램 실행 유닛은, 상기 콘텐트에 포함된 동기화 정보 내의 트릭 플레이 컴플라이언트 플래그에 의거하여 프로그램을 개시 및 종료할 수 있다.
상기 프로그램 실행 유닛은, 프로그램 실행 중 이상이 발생될 때 프로그램을 강제로 종료하는 동작을 더 수행할 수 있다.
따라서, 어떤 이상이 발생되면 프로그램을 종료할 수 있다. 따라서, 재생 속도가 변경되었을 때 소프트웨어 및 하드웨어의 손상을 저감시킬 수 있다.
또한, 상기 프로그램 실행 유닛은, 콘텐트의 재생 속도가 저속일 때만 콘텐트 내에 포함된 동기화 정보를 참조할 수 있다. 예를 들어, 상기 프로그램 실행 유닛은, 콘텐트의 재생 속도가 정상 재생 속도 이하일 때만 콘텐트 내에 포함된 동기화 정보를 참조한다.
주목할 것은, 본 발명은 상기한 콘텐트 재생 장치로서만 구현될 수 있는 것이 아니고, 또한 콘텐트 재생 방법, 상기 방법을 위한 프로그램 및, 상기 프로그램을 저장하기 위한 저장 매체로서 구현될 수 있다.
이 출원의 기술적인 배경에 대한 추가적인 정보로서, 2005년 5월 18일자로 출원되고, 명세서와 도면 및 청구범위를 포함하는, 미국 가출원 번호 60/681974 호의 개시는, 그 전체가 이 명세서에 참조로서 결합된다.
본 발명의 이들 및 다른 목적, 장점, 및 특징은, 본 발명의 특정 실시예를 예시하는 첨부 도면과 결합된 하기의 상세한 설명으로부터 명백해질 것이다.
도 1은 본 발명에 따른 방송 시스템의 구성도.
도 2는 본 발명에 따른 케이블 텔레비전 시스템에서, 방송국측 시스템과 단말 장치들 간의 통신에 사용되는 주파수 대역의 사용 방식에 대한 일예.
도 3은 본 발명에 따른 케이블 텔레비전 시스템에서, 방송국측 시스템과 단말 장치들 간의 통신에 사용되는 주파수 대역의 사용 방식에 대한 일예.
도 4는 본 발명에 따른 케이블 텔레비전 시스템에서, 방송국측 시스템과 단말 장치들 간의 통신에 사용되는 주파수 대역의 사용 방식에 대한 일예.
도 5는 MPEG-2 기술규격에 의해 미리 규정된 TS 패킷의 구성도.
도 6은 MPEG-2 전송 스트림의 개략도.
도 7은 MPEG-2 기술규격에 미리 규정된 PES 패킷이 TS 패킷 내에 반송될 때의 분할의 예.
도 8은 MPEG-2 기술규격에 미리 규정된 MPEG-2 섹션이 TS 패킷 내에 반송될 때 분할의 예.
도 9는 MPEG-2 기술규격에 미리 규정된 MPEG-2 섹션의 구성도.
도 10은 MPEG-2 기술규격에 미리 규정된 MPEG-2 섹션의 사용의 예.
도 11은 MPEG-2 기술규격에 의해 미리 규정된 PMT의 사용의 예.
도 12는 MPEG-2 기술규격에 의해 미리 규정된 PMT의 사용의 예.
도 13은 본 발명에 따른 방송 기록 및 재생 장치의 하드웨어 구성 예.
도 14는 본 발명에 따른 단말 장치(1200)의 하드웨어 구성에서 입력 유닛(1310)의 전면 패널의 일예.
도 15는 본 발명에 따른 기록 및 재생 장치에서, 기록 시의 장치 연결의 일예.
도 16은 본 발명에 따른 기록 및 재생 장치에서, 기록 시의 장치 연결의 일예.
도 17은 본 발명에 따른 단말 장치에 저장된 프로그램의 구조를 보인 도면.
도 18은 본 발명에 따른 단말 장치에 의해 실행되는 EPG의 일예.
도 19는 본 발명에 따른 단말 장치에 의해 실행되는 EPG의 일예.
도 20은 본 발명에 따른 제2 저장 유닛에 저장된 정보의 일예.
도 21은 본 발명에 따른 기록 정보 관리 테이블의 일예.
도 22는 본 발명에 따른 DVB-MHP 표준에 기입된 AIT의 상세 사항을 보인 개략도.
도 23은 본 발명에 따른 DSM-CC 포맷으로 송신하는 파일 시스템을 보인 개략도.
도 24는 본 발명에 따른 기록 및 재생 장치에서, 기록 시의 장치 연결의 예.
도 25는 본 발명에 따른 기록 및 재생 장치에서, 기록 시의 장치 연결의 예.
도 26은 본 발명에 따른 기록 정보 관리 테이블의 일예.
도 27은 본 발명에 따른 트릭 플레이 관리자의 일예.
도 28은 본 발명에 따른 DVB-MHP 표준을 확장하기 위한 AIT의 상세 사항을 보인 개략도.
도 29는 본 발명에 따른 DVB-MHP 표준을 확장하기 위한 AIT의 상세 사항을 보인 개략도.
도 30은 본 발명에 따른 트릭 플레이 명령 프로그램의 종료 시의 플로우챠트.
도 31은 본 발명에 따른 트릭 플레이 관리자의 일예.
도 32는 본 발명에 따른 트릭 플레이 명령 프로그램의 종료 시의 플로우챠트.
도 33은 본 발명에 따른 DVB-MHP 표준에 지정된 AIT의 상세 사항을 보인 개략도.
도 34는 본 발명에 따른 DVB-MHP 표준에 지정된 AIT의 상세 사항을 보인 개략도.
도 35는 본 발명에 따른 응용 관리자의 구성 예.
도 36은 본 발명에 따른 트릭 플레이 명령 프로그램의 종료 시의 플로우챠트.
도 37은 본 발명에 따른 트릭 플레이 명령 프로그램의 종료 시의 플로우챠 트.
도 38은 본 발명에 따른 DVB-MHP 표준에 지정된 AIT의 상세 사항을 보인 개략도.
도 39는 본 발명에 따른 트릭 플레이 명령 프로그램의 종료 시의 플로우챠트.
도 40은 본 발명에 따른 응용 관리자의 구성 예.
도 41은 본 발명에 따른 트릭 플레이 명령 프로그램의 종료 시의 플로우챠트.
도 42는 본 발명에 따른 트릭 플레이 관리자의 예.
도 43은 본 발명에 따른 트릭 플레이 명령 프로그램의 종료 시의 플로우챠트.
도 44는 본 발명에 따른 트릭 플레이 명령 프로그램의 종료 시의 플로우챠트.
도 45는 본 발명에 따른 트릭 플레이 명령 프로그램의 종료 시의 플로우챠트.
도 46은 본 발명에 따른 응용 관리자(AM)의 구성 예.
도 47은 본 발명에 따른 트릭 플레이 제어 플래그가 추가된 AIT의 상세 사항을 보인 개략도.
도 48은 본 발명에 따른 트릭 플레이 제어 플래그가 추가된 다른 AIT의 상세 사항을 보인 개략도.
도 49는 본 발명에 따른 트릭 플레이 제어 플래그가 추가된 또 다른 AIT의 상세 사항을 보인 개략도.
제1 발명은, 방송파를 기록하고 기록된 방송파를 재생하는 기록 및 재생 장치로서, 기록된 방송파의 재생 속도를 변경하기 위한 프로그램을 식별하는 정보를 유지하기 위한 프로그램 정보 유지 유닛; 상기 프로그램이 임의의 프로그램과 동일한지의 여부를 판정하기 위한 프로그램 판정 유닛; 및 상기 프로그램이 종료될 때 방송파의 재생 속도를 변경하기 위한 프로그램 종료 처리 유닛을 포함한다.
상기 제1 발명에 따르면, 임의의 프로그램이 기록된 방송파의 재생 속도를 변경한 프로그램인지의 여부를 판정할 수 있고, 프로그램이 종료되었을 때 방송파의 재생 속도를 변경할 수 있다. 따라서, 기록된 방송파가 이미 종료된 프로그램에 의해 명령된 재생 속도로 계속 재생되는 것을 방지할 수 있다.
제2 발명은 제1 발명에 예속된 발명으로, 방송파의 재생 중에 방송파의 재생 속도 변경에 따르지 않는 경우에, 그 프로그램이 종료된다.
상기 제2 발명에 따르면, 기록된 방송파의 재생 속도 변경에 따르지 않는 프로그램을 종료할 수 있다. 따라서, 재생 속도가 변경될 때 프로그램의 기대하지 않은 어떤 동작도 회피할 수 있다.
제3 발명은 제1 발명에 예속된 발명으로, 방송파의 재생 중에 방송파의 특정 위치가 재생되는 경우에 프로그램이 종료된다.
상기 제3 발명에 따르면, 기록된 방송파의 특정 위치에서 프로그램을 종료할 수 있다. 따라서, 재생 속도가 변경될 때 고정된 시간 간격 내에서만 프로그램을 실행시킬 수 있다.
제4 발명은 제1 발명에 예속된 발명으로, 방송파의 재생 중에 프로그램의 이상, 프로그램을 동작시키는 시스템의 이상, 프로그램을 동작시키기 위한 자원의 부족 중 하나가 발생하는 경우에, 프로그램이 종료된다.
상기 제4 발명에 따르면, 어떤 이상이 발생되면 프로그램을 종료할 수 있다. 따라서, 재생 속도가 변경될 때 소프트웨어 및 하드웨어의 손상을 저감시킬 수 있다.
제5 발명은 제2 , 제3 및, 제4 발명 중 하나에 예속된 발명으로, 프로그램이 종료될 때, 프로그램 종료 처리 유닛이 방송파를 정상 속도로 재생한다.
상기 제5 발명에 따르면, 방송파의 재생 속도를 변경한 프로그램이 종료될 때 기록된 방송파의 정상 속도 재생을 설정할 수 있다. 따라서, 사용자의 어떤 관여가 없이도, 프로그램의 실행이 기대되지 않는 시간 간격에 정상 속도 재생을 설정할 수 있다.
제6 발명은 제2 , 제3 및, 제4 발명 중 하나에 예속된 발명으로, 프로그램이 종료될 때, 프로그램 종료 처리 유닛이 방송파를 임시 정지시킨다.
상기 제6 발명에 따르면, 방송파의 재생 속도를 변경한 프로그램이 종료될 때 기록된 방송파의 재생을 임시 정지시킬 수 있다. 따라서, 사용자의 어떤 관여가 없이도, 프로그램의 실행이 기대되지 않는 시간 간격에 재생을 임시 정지시킬 수 있다.
제7 발명은 제3 발명에 예속된 발명으로, 방송파가 정상 속도로 재생되는 중에 방송파의 특정 위치가 재생되는 경우에 프로그램이 종료된다.
상기 제7 실시예에 따르면, 정상 속도 재생 중에 기록된 방송파의 특정 위치에서 프로그램을 종료할 수 있다. 따라서, 정상 속도 재생 중에 고정된 시간 간격 내에서만 프로그램을 실행할 수 있다.
제8 발명은 제7 발명에 예속된 발명으로, 방송파의 규정된 범위 내에서 방송파가 임시 정지되는 경우에 프로그램이 종료된다.
상기 제8 실시예에 따르면, 기록된 방송파의 규정된 범위 내에서 방송파가 임시 정지되면 프로그램을 종료할 수 있다. 따라서, 임시 정지 중에 고정된 시간 간격 내에서만 프로그램을 실행할 수 있다.
제9 발명은 제8 발명에 예속된 발명으로, 방송파가 정상 속도보다 저속 즉, 0 배속에서 1 배속까지의 속도로 재생되는 중에 방송파의 특정 위치가 재생되는 경우에 프로그램이 종료된다.
상기 제9 실시예에 따르면, 방송파가 0 배속에서 1 배속까지의 속도로 재생되는 중에 기록된 방송파의 특정 위치에서 프로그램을 종료할 수 있다. 따라서, 0 배속에서 1 배속까지의 속도로 재생되는 중에 고정된 시간 간격 내에서만 프로그램을 실행할 수 있다.
제10 발명은, 방송파를 기록하고 기록된 방송파를 재생하는 기록 및 재생 장치로서, 기록된 방송파의 재생 속도를 변경하기 위한 프로그램을 식별하는 정보를 유지하기 위한 프로그램 정보 유지 유닛; 상기 프로그램이 임의의 프로그램과 동일 한지의 여부를 판정하기 위한 프로그램 판정 유닛; 및 상기 프로그램이 종료될 때 미리 설정된 처리를 수행하기 위한 프로그램 종료 처리 유닛을 포함한다.
상기 제10 실시예에 따르면, 임의의 프로그램이 기록된 방송파의 재생 속도를 변경한 프로그램인지의 여부를 판정할 수 있고, 프로그램이 종료되었을 때 미리 설정된 처리를 수행할 수 있다. 따라서, 재생 속도를 변경하는 프로그램이 종료될 때 일치된 처리를 수행할 수 있다.
제11 발명은 제10 발명에 예속된 발명으로, 방송파의 재생 중에 방송파의 재생 속도 변경에 따르지 않는 경우에, 그 프로그램이 종료된다.
상기 제11 발명에 따르면, 기록된 방송파의 재생 속도 변경에 따르지 않는 프로그램을 종료할 수 있다. 따라서, 재생 속도가 변경될 때 프로그램의 기대하지 않은 어떤 동작도 회피할 수 있다.
제12 발명은 제10 발명에 예속된 발명으로, 기록된 방송파의 재생 중에 방송파의 특정 위치가 재생되는 경우에 프로그램이 종료된다.
상기한 제12 발명에 따르면, 기록된 방송파의 특정 위치에서 프로그램을 종료할 수 있다. 따라서, 재생 속도가 변경될 때 고정된 시간 간격 내에서만 프로그램을 실행시킬 수 있다.
제13 발명은 제10 발명에 예속된 발명으로, 방송파의 재생 중에 프로그램의 이상, 프로그램을 동작시키는 시스템의 이상, 프로그램을 동작시키기 위한 자원의 부족 중 하나가 발생하는 경우에, 프로그램이 종료된다.
상기 제13 발명에 따르면, 어떤 이상이 발생되면 프로그램을 종료할 수 있 다. 따라서, 재생 속도가 변경될 때 소프트웨어 및 하드웨어의 손상을 저감시킬 수 있다.
제14 발명은 제11, 제12 및, 제13 발명 중 하나에 예속된 발명으로, 프로그램이 종료될 때, 프로그램 종료 처리 유닛이 다른 프로그램에 의해 레지스터된 처리를 수행한다.
상기 제14 발명에 따르면, 재생 속도를 변경하는 프로그램이 종료될 때 다른 프로그램에 의해 레지스터된 처리를 수행할 수 있다. 따라서, 재생 속도를 변경하는 프로그램이 종료될 때 수행되는 처리를 다른 프로그램으로 대체할 수 있다.
제15 발명은 제11, 제12 및, 제13 발명 중 하나에 예속된 발명으로, 프로그램이 종료될 때, 프로그램 종료 처리 유닛이 프로그램의 종료 전과 후의 상태를 미리 설정된 처리로 전하여, 상기 미리 설정된 처리를 수행한다.
상기 제15 발명에 따르면, 프로그램이 종료될 때, 재생 속도를 변경하는 프로그램의 종료 전과 후의 상태를 미리 설정된 처리로 전하여, 상기 미리 설정된 처리를 수행할 수 있다. 따라서, 프로그램의 종료 전과 후의 상태에 의한 처리를 수행할 수 있다.
제16 발명은 제15 발명에 예속된 발명으로, 프로그램이 종료될 때, 프로그램 종료 처리 유닛에 의해 수행되는 미리 설정된 처리로 전해지는 프로그램의 종료 전과 후의 상태는, 종료된 프로그램을 식별하는 정보를 포함한다.
상기 제16 발명에 따르면, 프로그램이 종료될 때, 재생 속도를 변경하는 종료된 프로그램을 식별하는 정보를 미리 설정된 처리로 전하여, 상기 미리 설정된 처리를 수행할 수 있다. 따라서, 종료된 프로그램을 식별하는 정보에 의한 처리를 수행할 수 있다.
제17 발명은 제15 발명에 예속된 발명으로, 프로그램이 종료될 때, 프로그램 종료 처리 유닛에 의해 수행되는 미리 설정된 처리로 전해지는 프로그램의 종료 전과 후의 상태는, 종료 직전의 방송파 재생 속도를 포함한다.
상기 제17 발명에 따르면, 프로그램이 종료될 때, 재생 속도를 변경하는 프로그램의 종료 직전의 방송파 재생 속도를 미리 설정된 처리로 전하여, 상기 미리 설정된 처리를 수행할 수 있다. 따라서, 종료 직전의 방송파 재생 속도에 의한 처리를 수행할 수 있다.
제18 발명은 제15 발명에 예속된 발명으로, 프로그램이 종료될 때, 프로그램 종료 처리 유닛에 의해 수행되는 미리 설정된 처리로 전해지는 프로그램의 종료 전과 후의 상태는, 종료 시의 방송파 재생 위치를 포함한다.
상기 제18 발명에 따르면, 프로그램이 종료될 때, 재생 속도를 변경하는 프로그램의 종료 시의 방송파 재생 위치를 미리 설정된 처리로 전하여, 상기 미리 설정된 처리를 수행할 수 있다. 따라서, 종료 시의 방송파 재생 위치에 의한 처리를 수행할 수 있다.
제19 발명은, 방송파를 기록하고 기록된 방송파를 재생하는 기록 및 재생 장치로서, 기록된 방송파의 재생 속도를 변경하기 위한 프로그램을 식별하는 정보를 유지하기 위한 프로그램 정보 유지 유닛; 상기 프로그램이 임의의 프로그램과 동일한지의 여부를 판정하기 위한 프로그램 판정 유닛; 및 상기 프로그램이 종료될 때, 재생되는 방송파에서 다른 방송파로 전환하기 위한 프로그램 종료 처리 유닛을 포함한다.
상기 제19 발명에 따르면, 임의의 프로그램이 기록된 방송파의 재생 속도를 변경한 프로그램인지의 여부를 판정할 수 있고, 프로그램이 종료되었을 시에 재생되는 방송파에서 다른 방송파로 전환할 수 있다. 따라서, 이미 종료된 프로그램에 의해 명령된 재생 속도로 기록된 방송파가 계속 재생되는 것을 중지시킬 수 있고, 선택적인 방송파의 재생을 개시할 수 있다.
제20 발명은 제19 발명에 예속된 발명으로, 방송파의 재생 중에 방송파의 재생 속도 변경에 따르지 않는 경우에, 그 프로그램이 종료된다.
상기 제20 발명에 따르면, 기록된 방송파의 재생 속도 변경에 따르지 않는 프로그램을 종료할 수 있다. 따라서, 재생 속도가 변경될 때 프로그램의 기대하지 않은 어떤 동작도 회피할 수 있다.
제21 발명은 제19 발명에 예속된 발명으로, 방송파의 재생 중에 방송파의 특정 위치가 재생되는 경우에 프로그램이 종료된다.
상기한 제21 발명에 따르면, 기록된 방송파의 특정 위치에서 프로그램을 종료할 수 있다. 따라서, 재생 속도가 변경될 때 고정된 시간 간격 내에서만 프로그램을 실행시킬 수 있다.
제22 발명은 제19 발명에 예속된 발명으로, 방송파의 재생 중에 프로그램의 이상, 프로그램을 동작시키는 시스템의 이상, 프로그램을 동작시키기 위한 자원의 부족 중 하나가 발생하는 경우에, 프로그램이 종료된다.
상기 제22 발명에 따르면, 어떤 이상이 발생되면 프로그램을 종료할 수 있다. 따라서, 재생 속도가 변경될 때 소프트웨어 및 하드웨어의 손상을 저감시킬 수 있다.
제23 발명은 제20, 제21 및, 제22 발명 중 하나에 예속되는 발명으로, 프로그램이 종료되었을 때 프로그램 종료 처리 유닛이 재생되는 방송파에서 현재 방송되는 방송파로 전환한다.
상기 제23 발명에 따르면, 재생 속도를 변경하는 프로그램의 종료 시에 현재 방송되는 방송파가 재생되도록 전환할 수 있다. 따라서, 프로그램의 실행이 기재되지 않는 시간의 간격에서 기록된 방송파의 재생을 중지시켜, 현재 방송되는 방송파의 재생을 계속할 수 있다.
본 발명의 콘텐트 재생 장치와 기록 및 재생 방법에 따르면, 임의의 응용 프로그램이 종료될 때, 현재 재생되고 있는 콘텐트의 재생 속도를 변경하는 응용 프로그램인지의 여부가 판정되고, 이 판정결과에 의해, 콘텐츠의 재생 속도의 리셋과 같은, 규정된 처리가 실행되거나, 선택적인 콘텐트의 재생이 개시된다. 이는 콘텐트의 재생 속도를 변경한 프로그램의 종료에도 불구하고 정상 속도가 아닌 의도하지 않은 속도로 콘텐트의 재생이 계속되는 것을 방지한다. 게다가, 기록된 콘텐트가 부적절하게 변경된 재생 속도로 재생되는 것을 방지한다. 따라서, 반도체 메모리 또는 하드 디스크, 블루레이 디스크(Blu-ray Disc; BD), 디지털 버스어타일 디스크(Digital Versatile Disc; DVD), 씨큐어 디지털(Secure Digital; SD) 메모리 카드 등에 대한 고 부하 액세스(high-load access)를 저감하고, 상기 저장 미디어 의 열화를 저감할 수 있다.
(제 1 실시예)
이하, 본 발명의 제1 실시예에 따른 장치 및 방법이 도면을 참조하여 기술된다. 본 발명은 임의의 미디어에 송신 및 수신된 콘텐트의 기록 및 재생하는 것을 목적으로 한다. 그런데, 본 실시예에서는, 케이블 텔레비전 방송 시스템이 예로서 기술된다. 케이블 텔레비전 방송 시스템에서는, 방송 기록 및 재생 장치(콘텐트 재생 장치)가 일반적으로 단말 장치로 불린다.
도 1은 방송 시스템을 구성하는 장치들의 관계를 보인 개략도이다. 방송 시스템은 방송국측 시스템(헤드-엔드(head-end))(101)과 3개의 단말 장치들(A111, B112, C113)로 구성된다. 케이블 시스템에서, 방송국측 시스템과 각 단말 장치를 연결하는 커플링(121)은 동축 케이블, 광섬유 케이블 등의 유선 커플링이다. 도 1에서는, 하나의 방송국측 시스템에 3개의 단말 장치가 연결되었지만, 단말 장치들의 개수는 임의이다.
방송국측 시스템(101)은 방송 신호 내에 데이터 방송을 위한 비디오/오디오/데이터와 같은 정보를 복수의 단말 장치로 송신한다. 방송 신호는, 방송 시스템의 운영 규칙과 방송 시스템이 운영되는 지역/국가의 법 등에 의해 정해진 주파수 대역 범위 내의 주파수를 사용해서 송신된다.
본 실시예의 케이블 시스템에 있어서, 방송 신호 전송에 사용되는 주파수 대역은 각 데이터 상세 사항과 전송 방향(착신, 발신)으로 분할 및 할당된다. 도 2는 주파수 대역 분할의 일예를 표시한 챠트이다. 주파수 대역은 개략적으로, 대역외(Out Of Band)(abbr. OOB)와 대역내(In-Band)의 2가지 타입으로 분할된다. 5MHz에서 130MHz까지는 OOB로 지정되고, 방송국측 시스템(110)과 단말 장치들(A111, B112, C113) 간의 착신/발신 데이터 교환에 주로 사용된다. 130MHz에서 864MHz까지는 대역내로 지정되고, 비디오/오디오를 포함하는 발신 전용 방송 채널에 주로 사용된다. QPSK 변조 방법이 OOB에 사용되고, QAM64 또는 QAM256 변조 방법이 착신에 사용된다. 변조 방법의 기술은 공지되어 있고 본 발명에 거의 관련되지 않으므로, 구체적인 기술은 생략한다.
도 3은 OOB 주파수 대역의 보다 구체적인 사용의 일예이다. 70MHz에서 74MHz까지는 방송국측 시스템(101)로부터 송신되는 발신 데이터에 사용되며, 모든 단말 장치(A111, B112, C113)는 방송국측 시스템(101)으로부터 동일 데이터를 수신한다. 한편, 10.0MHz에서 10.1MHz까지는 단말 장치(A111)로부터 방송국측 시스템(101)으로의 착신 데이터 송신에 사용되고, 10.1MHz에서 10.2MHz까지는 단말 장치(B112)로부터 방송국측 시스템(101)으로의 착신 데이터 송신에 사용되며, 10.2MHz에서 10.3MHz까지는 단말 장치(C113)로부터 방송국측 시스템(101)으로의 착신 데이터 송신에 사용된다. 이를 통해, 각 단말 장치들(A111, B112, C113)로부터 방송국측 시스템(101)으로 고유 데이터를 독립적으로 송신할 수 있다.
도 4는 대역내 주파수 대역 사용의 일예이다. 150MHz에서 156MHz까지와 156MHz에서 162MHz까지는 TV 채널 1 및 TV 채널 2로 각각 지정되고, 그 이후 TV 채널들은 6MHz의 간격으로 지정된다. 라디오 채널은 310MHz로부터 1Mhz단위로 지정된 다. 이들 각 채널은 아날로그 방송 또는 디지털 방송에 사용될 수 있다. 디지털방송은 MPEG-2 기술규격에 의거한 TS 패킷 포맷으로 송신되고, 데이터 방송 데이터 및 EPG 구성을 위한 TV 쇼 구성 정보와 같은 다양한 종류의 데이터를 오디오 및 비디오에 추가해서 또한 송신할 수 있다.
방송국측 시스템(101)은 상기한 주파수대역들을 사용하여 단말 장치들로 적합한 방송 신호를 송신함으로써, QPSK 변조기와 QAM 변조기 등을 가진다.
게다가, 방송국측 시스템(101)은 단말 장치로부터 데이터를 수신하기 위하여 QPSK 복조기를 가진다. 더욱더, 방송국측 시스템(101)은 변조기와 복조기에 관련된 다양한 장치들을 가진 것으로 생각될 수 있다. 그러나, 본 발명은 주로 단말 장치들에 관련하므로, 상세한 기술은 생략한다.
한편, 단말 장치(A111, B112, C113)는 방송국측 시스템(101)으로부터 방송 신호를 수신 및 재생하기 위하여 각기 QAM 복조 유닛과 QPSK 복조 유닛을 가진다. 게다가, 각 단말 장치는 그들의 고유 데이터를 방송국측 시스템(101)으로 송신하기 위해 QPSK 변조 유닛을 가진다. 본 발명에서, 단말 장치는 방송 기록 및 재생 장치이고, 상세한 구성은 후술된다.
방송국측 시스템(101)은 MPEG-2 전송 스트림을 변조하고 상기 스트림을 방송 신호 내로 전송한다. 단말 장치는 방송 신호를 수신하여, MPEG-2 전송 스트림을 복조 및 재생하며, 상기 스트림으로부터 필요한 정보를 추출하여 사용한다. 단말 장치에 있는 장치의 기능 및 연결 구조를 설명하기 위해, MPEG-2 전송 스트림의 구조가 단순한 방식으로 먼저 기술된다.
도 5는 TS 패킷의 구조를 도시한 도면이다.
TS 패킷(500)은 188 바이트(byte)의 길이를 가지며, 헤더(header)(501)와 응용 필드(adaptation field)(502) 및 페이로드(payload)(503)로 이루어진다. 헤더(501)는 TS 패킷의 제어 정보를 가진다. 헤더는 4 바이트의 길이를 가지며, 도 5의 도면부호 504로 도시된 구조를 가진다. 헤더(501)에는, “패킷(Packet) ID”(이하, “PID"라고 한다)로 표시한 필드가 있고, TS 패킷이 이 PID의 값을 통해 정의된다. 응용 필드(502)는 시간 정보와 같은 부가적인 정보를 가진다. 응용 필드(502)는 꼭 있어야할 필요는 없기 때문에, 응용 필드(502)가 없는 경우도 있다. 페이로드(503)는 비디오, 오디오 및, 데이터 방송 데이터와 같이 TS 패킷에 반송되는 정보를 가진다.
도 6은 MPEG-2 전송 스트림의 개략도이다. TS 패킷은 비디오, 오디오, 데이터 방송에 사용되는 데이터 등과 같이, 페이로드에서 다양한 정보를 가진다. TS 패킷(601)과 TS 패킷(603)은 헤더에서 각각 PID(100)를 가지며, 페이로드의 비디오 1에 관한 정보를 가진다. TS 패킷(602)과 TS 패킷(605)은 헤더에서 각각 PID(200)를 가지며, 페이로드의 데이터 1에 관한 정보를 가진다. TS 패킷(604)은 헤더에서 PID(300)를 가지며, 페이로드의 오디오 1에 관한 정보를 가진다. 페이로드에 다양한 타입의 데이터를 가지는 TS 패킷들을 믹싱(mixing)하여 이들 패킷들을 순차적으로 송신하는 것을 다중화(multiplexing)라고 부른다. MPEG-2 전송스트림(600)은 TS 패킷(601) ~ TS 패킷(605)이 다중화된 구성의 일예이다.
동일한 PID를 갖는 TS 패킷은 동일한 정보의 타입을 갖는다. 따라서, 단말 장치는, PID에 의해, 다중화된 TS 패킷들을 수신하고 TS 패킷이 가지는 정보를 추출함으로써, 비디오와 오디오를 재생하고, TV 쇼 구성 정보와 같은 데이터를 재생한다. 도 6에서, TS 패킷(601) 및 TS 패킷(603)은 각기 비디오 1에 관한 정보를 반송하고, TS 패킷 (602) 및 TS 패킷(605)은 각기 데이터 1에 관한 정보를 반송한다.
여기서, 페이로드에 포함된 각 타입의 데이터 포맷에 관하여 기술한다.
비디오와 오디오는 패킷화 기본 스트림(PES) 패킷으로 불리는 포맷으로 대표된다. PES 패킷은 하루 중 일정시간의 비디오 정보와 오디오 정보를 포함하고, 상기 PES 패킷을 수신함에 의해, 방송 기록 및 재생 장치가 그 PES 패킷에 포함된 비디오 및 오디오 정보를 화면과 스피커로 출력할 수 있다. 방송국은 PES 패킷을 중단없이 전송함으로써, 방송 기록 및 재생 장치가 비디오 및 오디오를 중단없이 연속적으로 재생할 수 있다. PES 패킷이 실제 전송될 때, PES 패킷이 하나의 TS 패킷의 페이로드 보다 더 큰 크기를 가지는 경우, PES 패킷은 복수의 TS 패킷의 페이로드에 분할되어 저장된다.
도 7은 PES 패킷이 반송될 때 분할(division)의 일예를 도시한다. PES 패킷(701)은 단일 TS 패킷의 페이로드에 저장 및 전송되기에는 너무 크므로, PES 패킷(701)은 PES 패킷 분할 A(702a), PES 패킷 분할 B(702b) 및, PES 패킷 분할 C(702c)로 분할되어, 동일 PID를 가진 3개의 TS 패킷(703) ~ TS 패킷(705)에 반송된다. 실제로, 비디오와 오디오는 복수의 PES 패킷의 페이로드에 포함된 데이터를 연결함으로써 얻어지는 기본 스트림(ES)으로 각각 획득된다. 이 기본 스트렘의 포맷은, MPEG-2 비디오 표준, MPEG-1 및 2 오디오 표준 등으로 정의되는 바와 같이, 디지털화된 비디오 및 오디오이다.
한편, TV 쇼 구성 정보, 데이터 방송을 위해 사용되는 데이터와 같은 정보는 MPEG-2 섹션으로 불리는 포맷을 이용해서 표현된다. 상기 MPEG-2 섹션이 실제 전송될 때, MPEG-2 섹션이 하나의 TS 패킷의 페이로드보다 더 큰 크기를 가지는 경우, MPEG-2 섹션은 복수의 TS 패킷의 페이로드에 분할되어 저장된다. 도 8은 MPEG-2 섹션이 반송될 때 분할의 일예를 도시한다. MPEG-2 섹션(801)은 단일 TS 패킷의 페이로드에 저장 및 전송되기에는 너무 크므로, MPEG-2 섹션(801)은 섹션 분할 A(802a), 섹션 분할 B(802b) 및, 섹션 분할 C(802c)로 분할되어, 동일 PID를 가진 3개의 TS 패킷(803) ~ TS 패킷(805)에 반송된다.
도 9는 MPEG-2의 구조를 나타낸다. MPEG-2 섹션(900)은 헤더(901)과 페이로드(902)로 구성된다. 헤더(901)는 MPEG-2 섹션의 제어 정보를 가진다. 상기 구성은 헤더 구성(903)에 의해 표현된다. 페이로드(902)는 MPEG-2 섹션(900)에 반송되는 데이터를 가진다. 헤더 구성(903)의 table_id는 MPEG-2 섹션의 타입을 나타내고, table_id_extension은 MPEG-2 섹션과 동일 table_id 간을 추가로 구분할 때 사용되는 확장 식별자이다. MPEG-2 섹션의 사용에 대한 일예로서, 도 10에서와 같이, TV 쇼 구성 정보가 전송되는 경우를 예로 들 수 있다. 상기 예에서, 행 1004에서 표시된 바와 같이, 방송 신호를 복조하는데 필요한 정보는 헤더 구조(903)의 table_id(64)를 가진 MPEG-2 섹션에 표시되고, 이 MPEG-2 섹션은 16의 PID로 지정된 TS 패킷에 추가적으로 반송된다.
PES 포맷은 MPEG-2 섹션의 경우에는 존재하지 않는다. 상기 이유로, 기본 스 트림(ES)은 MPEG-2 스트림 내의 동일한 PID에 의해 식별되는 TS 패킷의 페이로드의 연결이다. 예를 들어, 도 8에서, MPEG-2 섹션(801)이 분할되어 반송되는 TS 패킷(803) ~ TS 패킷(805)은 모두 200의 PID로 식별된다. 이들은 MPEG-2 섹션(801)을 반송하는 ES 라고 말해질 수 있다.
MPEG-2 전송 스트림에 프로그램으로 불리는 개념이 추가로 존재한다. 프로그램은 ES의 수집(collection)으로 표현되고, 복수의 ES를 일제히 처리하는 경우에 사용되어 바람직스럽다. 프로그램이 사용될 때, 비디오/오디오의 처리 뿐 아니라, 수반하는 데이터 방송 데이터를 일제히 처리할 수 있다. 예를 들어, 비디오 ES와 오디오 ES를 프로그램으로 그룹핑(grouping)함에 의해, 재생되는 비디오/오디오를 동시에 처리하는 경우, 방송 기록 및 재생 장치는 이들 2개의 ES를 하나의 TV 쇼로서 동시에 재생하여야 한다.
프로그램의 표현을 위해, 프로그램 맵 테이블(PMT)와 프로그램 구성 테이블(PAT)로 불리는 2개의 테이블이 MPEG-2에 사용된다. 구체적인 기술은 “MPEG-2 systems”, ISO/IEC 13818-1의 기술규격에서 찾을 수 있다. 이하, PMT와 PAT는 약자로 기술한다.
PMT는 프로그램 넘버와 같은 개수로 MPEG-2 전송 스트림에 포함되는 테이블이다. PMT는 MPEG-2 섹션으로 구성되고, 2의 table_id를 가진다. PMT는 프로그램과 프로그램의 추가 정보에 사용되는 프로그램 넘버뿐 아니라, 프로그램에 속하는 ES에 관한 정보를 가진다. 도 11에 PMT의 일예를 도시하였고, 1100은 프로그램 넘버를 나타낸다. 프로그램 넘버는 동일 전송 스트램의 프로그램에 고유하게 지정되고, PMT를 식별하는데 사용된다. 행 1111 내지 1114는 각각의 ES에 관한 정보를 나타낸다. 열(column) 1101은 “비디오”, “오디오”, “데이터” 등이 규정된 ES의 타입을 나타낸다. 열 1102는 각각의 ES를 구성하는 TS 패킷의 PID를 나타낸다. 열 1103은 ES에 관한 부가 정보를 나타낸다. 예를 들어, 1111 행에 나타낸 ES는 오디오 ES이고, 5011의 PID와 함께 TS 패킷에 반송된다.
PAT는 MPEG-2 전송 스트림에서 하나만 존재하는 테이블이다. PAT는 MPEG-2 섹션으로 구성되고, 0의 table_id를 가지며, 0의 PID와 함께 TS 패킷에 반송된다. PAT는 MPEG-2 전송 스트림의 식별자로 사용되는 transport_stream_id와, MPEG-2 전송 스트림에 존재하는 프로그램을 대표하는 모든 PMT에 관한 정보를 가진다. PAT의 일예를 도 12에 도시하였다. 1200은 transport_stream_id이다. transport_stream_id는 MPEG-2 전송 스트림을 식별하는 데 사용된다. 행 1211 내지 1213은 프로그램에 관한 정보를 나타낸다. 열 1201은 프로그램 넘버를 나타낸다. 열 1202는 각각의 프로그램에 대응하는 PMT를 반송하는 TS 패킷의 PID를 나타낸다. 예를 들어, 행 1211에 나타낸 프로그램의 PMT는 101의 프로그램 넘버를 가지고, 상기 PMT는 501의 PID를 가진 TS 패킷에 반송된다.
단말 장치가 특정 프로그램을 재생하는 경우에, 상기 단말 장치는 PAT와 PMT를 이용해서 프로그램을 구성하는 비디오와 오디오를 식별하고, 비디오와 오디오를 재생한다. 예를 들어, 도 12의 PAT와 도 11의 PMT를 반송하는 MPEG-2 전송 스트림에 관하여, 다음의 절차는 101의 프로그램 넘버를 가지는 프로그램에 속하는 비디오 및 오디오가 재생되는 경우를 따른다. 먼저, “0”의 table_id를 가지는 MPEG-2 섹션으로서 전송되는 PAT는 “0”의 PID를 가지는 TS 패킷으로부터 획득된다. “101”의 프로그램 넘버를 가지는 프로그램을 발견하기 위해 PAT가 탐색되고, 행 1211이 획득된다. 행 1211로부터, “101”의 프로그램 넘버를 가지는 프로그램의 PMT를 반송하는 TS 패킷의 PID “501”이 획득된다. 다음, “2”의 table_id를 가지는 MPEG-2 섹션으로서 반송되는 PMT가 “501”의 PID를 가지는 TS 패킷으로부터 획득된다. 오디오 ES 정보인 행 1111과, 비디오 ES 정보인 행 1112가 PMT로부터 획득된다. 오디오 ES를 반송하는 TS 패킷의 PID“5011”는 행 1111로부터 획득된다. 또한, 오디오 ES를 반송하는 TS 패킷의 PID“5012”는 행 1112로부터 획득된다. 다음, 오디오 PES 패킷이 PID “5011”을 가지는 TS 패킷으로부터 얻어지고, 비디오 PES 패킷이 “5012”의 PID를 가지는 TS 패킷으로부터 획득된다. 이를 통해, 재생될 비디오와 오디오 PES를 얻을 수 있고, 이들 패킷에 반송되는 비디오와 오디오가 재생될 수 있다.
주목할 것은, MPEG-2 전송 스트림이 스크램블(scramble)되는 경우가 있다는 것이다. 이는 조건 액세스 시스템(conditional access system)으로 불리는 설정이다. 예를 들어, 특정 비디오와 오디오를 반송하는 PES 패킷의 스크램블에 의해서, 디스크램블(descramble)을 할 수 있는 특정 시청자들만이 상기 비디오와 오디오를 시청할 수 있다. 디스크램블 및 비디오, 오디오 시청을 위해서, 시청자는 디스크램블러(descrambler)로 불리는 장치를 사용해서 디스크램블을 해야한다. 예를 들어, OCAP 호환 단말 장치에서, 내장 디스크램블러를 가진 카드형 어댑터가 사용된다. 케이블 텔레비전 기사는 각 시청자에게 특정 프로그램을 디스크램블할 수 있도록 설정한 어댑터를 분배하고, 시청자는 단말 장치에 상기 어댑터를 삽입한다. 그렇게 하여, 상기 어댑터는 디스크램블링 키(descrambling key)와 같은 디스크램블링 정보 및 각 약정 소지자의 약정 정보에 의거해서 특정 프로그램을 디스크램블한다. 디스크램블링 방법, 디스크램블링 키 획득 방법 등은 어댑터에 의한 것이고, 본 발명의 구현에는 영향을 미치지 않는다.
지금까지, MPEG-2 기술규격에 관한 간략한 기술을 하였고, 이하에서는, 전문용어의 상세한 정의를 한다. 본 발명에서, “프로그램”이라는 용어는 2가지 타입이 존재한다. 하나는 MPEG-2 기술규격에 나타나는 “프로그램”이고, 다른 하나는 CPU에 의해 수행되는 코드의 집합을 일컫는 “프로그램”이다. 전자가 운영 규칙에 사용되는 용어 “서비스”와 동의어이므로, 이하에서는, 혼동을 피하고자, 전자가 “서비스”로 호칭되고, 후자가 간단히 “프로그램”으로 호칭된다. 또한, 후자에 관련하여, 특히 자바(TM) 언어로 기입된 “프로그램”은 “자바 프로그램”으로 불린다.
본 발명에 따른 MPEG-2 기술규격에서 규정된 몇 종류의 일반 정보에 관하여 기술했다. 이하, 본 실시예에 사용되는 방송 기록 및 재생 터미널이 구체적으로 기술된다.
도 13은 본 실시예에 따른 방송 기록 및 재생 장치의 일반적인 하드웨어 구성 즉, 단말 장치(111, 112, 113)의 상세한 내부 구성을 도시한 블록도이다. 1300은, 튜너(1301), TS 디코더(TS 역다중화부)(1302), AV 디코더(1303), 스피커(1304), 디스플레이(1305), CPU(1306), 제2 저장 유닛(1307), 제1 저장 유 닛(1308), ROM (1309), 입력 유닛(1310), 어댑터(1311), AV 인코더(1312), 다중화부(MPEG-2 전송 스트림 다중화부 등)(1313)로 구성되는 방송 기록 및 재생 장치이다. 주목할 것은, 본 실시예는 OCAP-DVR 기술규격에 의해 실현되는 방송 기록 및 재생 단말기를 확장함에 의해 획득되고, 기본 하드웨어 구성은 상기 OCAP-DVR 기술규격에 의해 요구되는 것과 거의 동일하다는 것이다. 튜너(1301)는, CPU(1306)에 의해 규정되는 주파수 등과 같은 튜닝(tuning) 정보에 따라, 방송국측 시스템(101)으로부터 변조되어 전송된 방송 신호를 복조하는 장치이다. 여기서, 튜닝 정보는 주파수, 변조 방법 등 규정될 수 있는 정보이다. 튜너(1301)에 의한 복조 결과로 획득된 MPEG-2 전송 스트림은 디스크램블링 기능을 가진 어댑터(1311)를 통해 TS 디코더(1302)로 송신된다. TS 디코더(1302)는, CPU(1306)에 의해 규정된 PID, 섹션 필터 조건 등에 의거해서, MPEG-2 전송 스트림으로부터 특정 조건에 따르는 PES 패킷 및 MPEG-2 섹션을 분리하는 기능을 가진 장치이다. 방송이 수신되고 기록 없이 서비스가 재생되는 경우, 어댑터(1311)로부터 출력된 MPEG-2 전송 스트림은 TS 디코더(1302)로 입력된다. 한편, 제2 저장 유닛(1307)에 기록된 서비스를 재생하는 경우, 제2 저장 유닛(1307)로부터 출력된 MPEG-2 전송 스트림은 TS 디코더(1302)에 입력된다. 입력하여 수신하는 것은 CPU(1306)에 의해 제어된다.
TS 디코더(1302)가 분리한 비디오 및 오디오의 PES 패킷은 AV 디코더(1303)로 출력된다. 또한, TS 디코더(1302)에 의해 분리된 MPEG-2 섹션은 직접 메모리 액세스(Direct Memory Access; DMA)를 통해 제1 저장 유닛(1308)으로 전송되고, CPU(1306)에 의해 실행되는 프로그램에 의해 사용된다.
AV 디코더(1303)는 인코드된 비디오 ES와 오디오 ES를 디코드하는 기능을 가진 장치이다. AV 디코더는, TS 디코더로부터 전송되는 오디오 및 비디오 정보를 반송하는 PES 패킷으로부터 ES를 꺼내서, ES를 디코드한다. AV 디코더(1303)에 의해 수행되는 디코드를 통해서 얻어지는 오디오 신호와 비디오 신호가, 서비스 재생 시에는 스피커(1304)와 디스플레이(1305)로 출력되는 반면, 서비스 기록 시에는 AV 인코더(1312)로 출력된다. 취하는 출력 경로는 사용자로부터의 명령에 따라, CPU(1306)에 의해 제어된다.
스피커(1304)는 AV 디코더(1303)로부터 출력되는 오디오를 재생한다. 디스플레이(1305)는 AV 디코더(1303)로부터 출력되는 비디오를 재생한다. CPU(1306)는 방송 기록 및 재생 장치에서 동작하는 프로그램을 실행한다. CPU(1306)는 ROM(1309)에 저장된 프로그램을 실행한다. 또는, CPU(1306)는 방송 신호 또는 네트워크로부터 다운로드되고 제1 저장 유닛(1308)에 유지되는 프로그램을 실행한다. 또는, CPU는 방송 신호 또는 네트워크로부터 다운로드되고 제2 저장 유닛(1307)에 유지되는 프로그램을 실행한다. 튜너(1301), TS 디코더(1302), AV 디코더(1303), 스피커(1304), 디스플레이(1305), 제2 저장 유닛(1307), 제1 저장 유닛(1308), ROM (1309), 입력 유닛(1310), 어댑터(1311), AV 인코더(1312) 및, 다중화부(1313)는 실행되는 프로그램의 명령에 따라 제어된다. 또한, CPU(1306)는 단말 장치(1300) 내에 존재하는 장치들과의 통신을 통해서만이 아니라, 어댑터(1311) 내의 장치들과의 통신을 통해서도 어댑터(1311)를 제어할 수 있다.
제2 저장 유닛(1307)은 메모리 장치이고, 그 메모리는 장치에 대한 전원 공 급이 중단될 지라도 지워지지 않는다. 제2 저장 유닛(1307)은 단말 장치(1300)의 파워가 턴오프될 때라도 정보가 지워지지 않는 장치, 예를 들어, 플래시 롬(FLASH-ROM)과 같은 비휘발성 메모리, 하드 디스크 드라이브(HDD), CD-R 및 DVD-R과 같은 재기록 가능 미디어로 구성된다. 제2 저장 유닛(1307)는 CPU(1306)로부터의 지령에 의거해서 정보를 저장한다.
제1 저장 유닛(1308)은 CPU(1306), DMA 전송 가능 장치 등으로부터의 명령에 따라서 정보를 임시 저장하는 기능을 가진 장치이고, 램(RAM) 등으로 구성된다.
롬(ROM)(1309)은 재기록 불가능 메모리 장치이고, 보다 상세하게는, 롬(ROM), CD-ROM, DVD 등으로 구성된다. CPU(1306)가 실행하는 프로그램은 롬(1309)에 저장된다.
상기 입력 유닛(1310)은, 보다 상세하게는, 전면 패널 또는 원격 조정 수신부로 구성되고, 사용자로부터의 입력을 수락한다. 도 14는 입력 유닛(1310)이 전면 패널로 구성된 경우의 일예이다. 전면 패널(1400)은, 위 커서 버튼(1401), 아래 커서 버튼(1402), 왼쪽 커서 버튼(1403), 오른쪽 커서 버튼(1404), OK 버튼(1405), 취소 버튼(1406), EPG 버튼(1407) 및, 모드 스위치 버튼(1408)의 7개 버튼을 가진다. 사용자가 버튼을 누르면, 눌러진 버튼의 식별자가 CPU(1306)로 통지된다.
어댑터(1311)는 대역내 주파수 범위에서 반송되는 스크램블된 MPEG-2 전송 스트림을 디스크램블하기 위한 장치이고, 하나 또는 그 이상의 디스크램블러를 포함한다. 튜너(1301a)에 의해 출력되는 MPEG-2 전송 스트림은 어댑터(1311)로 입력되고, 디스크램블링은 CPU(1306)에 의해 규정된 PID를 가진 TS 패킷에 수행된다. 어댑터(1311)는 디스크램블된 MPEG-2 전송 스트림을 TS 디코더(1302)로 출력한다.
또한, 어댑터(1311)는 OOB 주파수 범위로 송신하는 데이터의 포맷 변환도 수행한다. OOB로 송신하는 정보는 QPSK 변조 포맷으로 변조된다. 발신 전송에 관해, QPSK 복조기(1301b)는 방송국측 시스템(101)으로부터 송신되는 발신 신호를 복조하고, 생성된 비트(bit) 스트림을 어댑터(1311)로 입력한다. 어댑터(1311)는 상기 비트 스트림에 포함된 다양한 정보 중에서 CPU(1306)에 의해 규정된 정보를 추출하고, CPU(1306)에서 동작하는 프로그램에 의해 해석될 수 있는 포맷으로 변환하며, 이를 CPU(1306)로 제공한다. 한편, 착신 전송에 관해, CPU(1306)는 방송국측 시스템(101)으로 송신될 정보를 어댑터(1311)로 입력한다. 어댑터(1311)는 CPU(1306)로부터 입력된 정보를 방송국측 시스템(101)에 의해 해석될 수 있는 포맷으로 변환하고, 이를 QPSK 변조기(1301c)로 입력한다. QPSK 변조기(1301c)는 어댑터(1311)로부터 입력되는 정보를 QPSK-변조하고, 이를 방송국측 시스템(101)으로 송신한다.
미합중국 케이블 시스템에서 사용되는, 기존에 배치의 지점(Point of Deployment; POD)이라 불리는 케이블카드(CableCARD)를, 어댑터(1311)의 특정예로 들 수 있다.
AV 인코더(1312)는 AV 디코더(1303)에 의해 디코드된 오디오 신호를 MPEG 비디오 포맷의 오디오로 인코드하고, 비디오 신호를 MPEG 비디오 포맷의 비디오로 인코드한다. AV 인코더(1312)는 인코드된 비디오 및 오디오를 다중화부(1313)로 출력한다.
다중화부(1313)는 AV 인코더(1312)로부터 입력된 비디오 및 오디오를 MPEG-2 전송 스트림으로 다중화하는 기능을 가진 장치이다.
이하, 상기한 방송 기록 및 재생 장치가 방송파에 포함된 서비스를 제2 저장 유닛(1307)에 기록하는 동작, 방송 기록 및 재생 장치가 연속해서 제2 저장 유닛(1307)로부터 서비스를 판독하여 재생하는 동작을 상세히 기술한다.
먼저, 방송파에 포함된 서비스가 제2 저장 유닛(1307)에 기록되는 동작에 대해 기술한다.
도 15는 물리적인 연결 순서, 처리 상세 사항(processing details) 및, 서비스의 기록 중에 각 장치의 입/출력 데이터 포맷을 나타내는 개념도를 도시한다. 1500은 튜너(1301), 어댑터(1311), 디스크램블러(1501), TS 디코더(1302), PID 필터(1502), 섹션 필터(1503), AV 디코더(1303), 제1 저장 유닛(1308), AV 인코더(1312), 다중화부(1313) 및, 기록 영역(1504)을 가진 단말 장치이다. 도 13과 동일한 참조 부호를 가진 도 15의 구성요소는 동일한 기능을 가지며, 따라서 기술은 생략한다.
먼저, 튜너(1301)는 CPU(1306)에 의해 규정된 튜닝 정보에 따라서 방송파에 대해 튜닝을 수행한다. 여기서, 튜닝 정보는 주파수, 변조 방법 등 규정될 수 있는 정보이다. 튜너(1301)는 방송파를 복조하고, 어댑터(1311)로 MPEG-2 전송 스트림을 입력한다.
어댑터(1311)에 포함된 디스크램블러(1501)는 각 시청자를 위한 조건 액세스 정보에 의거해서 MPEG-2 전송 스트림을 디스크램블한다. 디스크램블된 MPEG-2 전송 스트림은 TS 디코더로 입력된다.
TS 디코더(1302) 내에 존재하는 MPEG-2 전송 스트림을 처리하는 2가지 타입의 장치는, PID 필터(1502)와 섹션 필터(1503)이다.
PID 필터(1502)는, 입력된 MPEG-2 전송 스트림으로부터, CPU(1306)에 의해 규정된 PID를 가진 TS 패킷을 추출한 다음, 그 페이로드에 존재하는 PES 패킷과 MPEG-2 섹션을 추출한다. 예를 들어, CPU(1306)가 PID = 100을 가진 TS 패킷을 추출하는 PID 필터링을 명령한 경우에 도 6의 MPEG-2 전송 스트림이 입력될 때, 패킷(601)과 패킷(603)이 추출된 다음, 연결됨으로써, 비디오 1의 PES 패킷이 재구성된다. 또는, CPU(1306)가 PID = 200을 가진 TS 패킷을 추출하는 PID 필터링을 명령한 경우에 도 6의 MPEG-2 전송 스트림이 입력될 때, 패킷(602)과 패킷(605)이 추출된 다음, 연결됨으로써, 데이터 1의 MPEG-2 섹션이 재구성된다.
섹션 필터(1503)는, 입력된 MPEG-2 섹션 중에서, CPU(1306)에 의해 규정된 섹션 필터 조건을 따르는 MPEG-2 섹션을 추출하고, 이 MPEG-2 섹션을 제1 저장 유닛(1308)로 DMA 전송한다. 예를 들어, CPU(1306)가, 섹션 필터(1503)을 위한, PID = 200을 가진 TS 패킷을 추출하는 PID 필터링과, 64의 table_id를 가진 섹션을 추출하는 섹션 필터링을 규정한 것으로 가정한다. 상기한 바와 같이, 데이터 1의 MPEG-2 섹션이 재구성된 후, 섹션 필터(1503)는 이들 MPEG-2 섹션 중에서 64의 table_id를 가진 섹션만을 추출하고, 이를 제1 저장 유닛(1308)로 DMA 전송한다.
제1 저장 유닛(1308)로 입력된 MPEG-2 섹션은 다중화부(1313)로 입력된다.
TS 디코더(1302)에 의해 추출된 비디오 PES 패킷과 오디오 PES 패킷은 AV 디코더(1303)로 입력된다.
AV 디코더(1303)는 비디오 PES 패킷을 비디오로 변환하기 위해 디코드하고, 이를 AV 인코더(1312)로 입력한다. AV 디코더는 또한 오디오 PES 패킷을 오디오로 변환하기 위해 디코드하고, 이를 AV 인코더(1312)로 입력한다.
AV 인코더(1312)는 비디오를 MPEG 비디오로 변환하고 이를 다중화부(1313)로 입력한다. AV 인코더(1312)는 또한 오디오를 MPEG 오디오로 변환하고 이를 다중화부(1313)로 입력한다.
다중화부(1313)는 AV 인코더로부터 입력되는 MPEG 비디오와 MPEG 오디오를 제1 저장 유닛(1308)으로부터 입력되는 MPEG-2 섹션 내에 다중화함으로써, MPEG-2 전송 스트림을 생성한다. 상기 생성된 MPEG-2 전송 스트림은 기록 영역(1504) 내에 기록된다.
기록 영역(1504)은 제2 저장 유닛(1307)의 전부나 일부, 또는 다른 기록 영역으로 이루어지고, 서비스를 구성하는 MPEG-2 전송 스트림을 저장한다.
다음, 서비스가 제2 저장 유닛(1307)로부터 연속해서 판독되어 재생되는 동작에 대해 기술된다.
도 16은 물리적인 연결 순서, 처리 상세 사항 및, 서비스의 기록 중에 각 장치의 입/출력 데이터 포맷을 나타내는 개념도를 도시한다. 1600은 기록 영역(1504), TS 디코더(1302), PID 필터(1502), 섹션 필터(1503), AV 디코더(1303), 스피커(1304), 디스플레이(1305) 및, 제1 저장 유닛(1308)을 가진 단말 장치이다. 도 13과 동일한 참조 부호를 가진 도 16의 구성요소는 동일한 기능을 가지며, 따라서 기술은 생략한다.
도 15에 기술된 절차에서 기록 영역(1504)에 기록된 MPEG-2 전송 스트림이 TS 디코더(1302)로 입력된다.
다음, CPU(1306)에 의해 규정된 PID를 가진 비디오 PES와 오디오 PES는 TS 디코더(1302) 내의 PID 필터(1502)에 의해 추출된다. 추출된 PES 패킷은 AV 디코더(1303)로 입력된다. 또는, CPU(1306)에 의해 규정된 PID와 table_id를 가진 MPEG-2 섹션이 TS 디코더(1302) 내의 PID 필터(1502)와 섹션 필터(1503)에 의해 추출된다. 추출된 MPEG-2 섹션은 제1 저장 유닛(1308)으로 DMA 전송된다.
AV 디코더(1303)로 입력된 비디오 PES와 오디오 PES는 디코드되고, 오디오 신호와 비디오 신호로 출력된다. 그 후, 상기 오디오 신호 및 비디오 신호가 디스플레이(1305)와 스피커(1304)로 입력됨으로써, 오디오 및 비디오를 재생한다.
제1 저장 유닛(1308)로 입력된 MPEG-2 섹션은 CPU(1306)으로 적절히 입력된다.
지금까지, 본 발명에 관한 하드웨어 구성의 일예를 기술하였다. 이하, 자바 프로그램을 통해 기록을 제어하고 서비스의 트릭 플레이를 제어하는 본 발명의 주 기능을 기술한다.
본 발명의 서비스 기록은, 서비스에 포함된 비디오, 오디오, 자바 프로그램, 자바 프로그램의 동기 정보 등을 하드 디스크, 블루-레이 디스크 (Blu-ray Disc, BD), 디지털 버스어타일 디스크(Digital Versatile Disc; DVD) 및, 시큐어 디지털(Secure Digital; SD) 메모리 카드와 같은 기록 미디어에 기록하는 것을 말한다. 서비스의 재생은 상기 동기 정보에 의거하여 기록 미디어에 기록된 비디오, 오디오 및, 자바 프로그램을 재생 및 실행하는 것을 말한다. 기록된 서비스의 재생 결과는 직접 방송파를 수신하여 서비스를 재생하는 결과와 거의 동등하게 될 것이 요구된다.
도 17은 서비스의 기록 및 재생에 필요한 프로그램의 구성도이고, 롬(1309)에 기록되는 프로그램이다.
프로그램(1700)은 서브(sub) 프로그램인 OS(1701), EPG(1702), 자바 VM(1703), 자바 라이브러리(1704)로 이루어진다. OS(1701)는, 예로서 리눅스(Linux), 윈도우즈(Windows) 등의, 운영 체계이다. OS(1701)는, EPG(1702)와 자바 VM(1703)과 같은 다른 서브 프로그램을 실행하기 위한 커널(kernel)(1701a)과, 서브 프로그램이 단말 장치(1300)의 구성 요소를 제어하기 위해 사용하는 라이브러리(1701b)로 이루어진다. 상기 커널(1701a)은 공지된 기술이므로 상세한 기술은 생략한다.
라이브러리(1701b)는, 예로서, 튜너를 제어하기 위한 튜닝 기능을 제공한다. 라이브러리(1701b)는, 다른 서브 프로그램으로부터, 주파수, 변조 방법 등 규정될 수 있는 튜닝 정보를 받아서, 이를 튜너(1301)로 제공한다. 튜너(1301)는 제공된 튜닝 정보에 의거해서 복조 처리를 수행하고, 복조된 MPEG-2 스트림을 TS 디코더(1302)로 전할 수 있다. 그 결과로, 다른 서브 프로그램이 라이브러리(1701b)를 통해 튜너(1301)를 제어할 수 있다.
또한, 라이브러리(1701b)는 채널을 고유하게 식별하기 위한 채널 정보를 제공한다. 채널 정보의 일예가 도 20에 도시된다. OOB 또는 착신 주파수 범위를 이용 하여 송신하는 채널 정보는, 어댑터(1311)에 의해 챠트(chart) 포맷으로 변환되고, 라이브러리에 의해 액세스될 수 있는 임시 메모리 유닛에 저장된다. 열 2001은, 채널 식별자를 나타내고, 예컨대, “SCTE65 디지털 케이블 텔레비전을 위한 대역외로 배달된 서비스 정보(Service Information Delivered Out-Of-Band For Digital Cable Television)”에 의해 정의된 source_ID와 동등하다. 열 2002는 채널 명칭을 나타내고, 상기 동일 SCTE65 표준에서, source_name 등과 동등하다. 열 2003은, 주파수, 변환 비율, 변조 방법 등, 규정할 수 있는 정보이고, 튜너(1301)에 주어지는 튜닝 정보를 나타낸다. 열 2004는, PMT를 식별하기 위한 프로그램 넘버를 나타낸다. 예를 들어, 행 2011은 튜닝 정보에서“1”의 채널 식별자, “채널 1”의 채널 명칭, “150 MHz...”의 주파수를 포함하는 서비스 정보의 그룹이고, “101”의 프로그램 넘버이다.
자바 VM(1703)은 자바(TM) 언어로 기입된 프로그램을 순차적으로 분석하여 실행하는 자바 가상 머신(Java virtual machine)이다. 자바 언어로 기입된 프로그램은, 바이트코드(bytecode)라고 부르는, 하드웨어에 의존하지 않는 중간 코드(intermediate code)로 번역(compile)된다. 자바 가상 머신은 상기 바이트코드를 실행하는 번역기(interpreter)이다. 자바 VM(1703)은 자바 언어로 기입된 자바 라이브러리(1704)를 실행한다. 자바 언어와 자바 VM의 상세 사항은, "자바 언어 기술규격" (ISBN 0-201-63451-1)과 "자바 가상 머신 기술규격" (ISBN 0-201-63451-X)과 같은 출판물에 설명되어 있다. 또한, 자바 네이티브 인터페이스(Java Native Interface; JNI)를 통해 자바 언어로 기입되지 않은 다른 서브 프로그램에 의해 호 출하거나 호출될 수 있다. JNI에 관한 상세 사항은 도서 “자바 네이티브 인터페이스”등에서 찾을 수 있다.
자바 라이브러리(1704)는 자바 언어로 기입된 라이브러리이고, 방송 기록 및 재생 장치의 기능을 제어하기 위해 자바 프로그램에 의해 호출된다. 그러나, OA(1701)의 라이브러리(1701b)와 같이, 비(non) 자바 언어로 기입된 서브 프로그램이 필요에 따라 사용되는 상황도 있다. 자바 프로그램은 자바 라이브러리(1704)가 보유한 자바 응용 프로그램 인터페이스(Java Application Programming Interface; API)를 호출함으로써 자바 라이브러리(1704)에 의해 제공되는 기능을 사용할 수 있다.
튜너(1704c)는 방송 기록 및 재생 단말기의 착신 수신 튜너(1301a)를 제어하기 위한 자바 라이브러리이다. 자바 프로그램이 튜너(1704c)로 튜닝 정보를 패스할 때, 튜너(1704c)가 상기 정보를 라이브러리(1701b)의 튜닝 기능을 호출하는데 사용하고, 그 결과, 방송 기록 및 재생 단말기의 착신 수신 튜너(1301a)의 동작을 제어할 수 있다. 여기서, 튜닝 정보는 주파수, 변조 방법 등 규정될 수 있는 정보이다.
SF(1704e) 방송 기록 및 재생 단말기의 PID 필터(1502)와 섹션 필터(1503)의 기능을 제어하기 위한 자바 라이브러리이다. 자바 프로그램이 PID, 테이블 id 등과 같은 필터 조건을 SF(1704e)로 전하면, SF(1704e)는, PID 필터(1502)와 섹션 필터(1503)를 제어하기 위해, 이들 조건에 의거해 라이브러리(1701b) 등의 기능을 사용해서, 원하는 필터 조건을 충족하는 MPEG-2 섹션을 획득하며, 상기 MPEG-2 섹션을 필터 조건을 설정하는 자바 프로그램으로 전한다.
DSM-CC(1704d)는 DSM-CC 오브젝트(object) 캐로절의 파일 시스템을 액세스하기 위한 자바 라이브러리이다. 상기 DSM-CC 오브젝트 캐로절은 SF(1704e)에 의해 획득되는 MPEG-2 섹션에 포함된다. 상기 DSM-CC는 ISO/IEC 13818-6 표준에 의해 정의되고, 임의의 파일을 반송하기 위해 MPEG-2 섹션을 사용하는 메커니즘이다. 이것을 사용함에 의해, 방송국으로부터 단말기로 파일을 송신할 수 있다. DSM-CC를 구현하는 구체적인 방법은 본 발명과 관련이 없으므로, 상세 사항은 생략한다.
AM(1704b)은 서비스에 포함된 자바 응용의 실행 및 종료를 관리하는 기능을 제공하는 응용 관리자이다. AM(1704b)은 규정된 MPEG-2 스트림의 규정된 채널에 다중화된 자바 프로그램을 추출하고, 개별적으로 다중화된 동기화 정보에 따라서 상기 추출된 자바 프로그램을 실행되게 하거나 종료되게 한다. 자바 프로그램의 자바 클래스(class) 파일이 상기한 DSM-CC 포맷의 MPEG-2 전송 스트림으로 다중화된다. 또한, 자바 프로그램의 동기화 정보는 AIT로 부르는 포맷의 MPEG-2 전송 스트림으로 다중화된다. AIT는, DVB-MHP 기술규격 (ETSITS 101812 DVB-MHP 기술규격 V1.0.2)의 섹션 10에 정의된 응용 정보 테이블(Application Information Table)의 약어이며, "0x74" 의 테이블 id를 가지는 MPEG-2 섹션이다. AM(1704b)의 내부 구성은 도 46에 도시된다. AM(1704b)은 AIT 모니터링 유닛(3502)과 응용 상태 관리 유닛(3503)으로 구성된다.
AIT 모니터링 유닛(3502)은 AIT의 갱신된 상태를 모니터하고, 입력으로서 MPEG-2 전송 스트림과 채널 식별자를 사용한다. 먼저, JMF(1704b)는 키(key)로서 규정된 채널 식별자를 사용하여 라이브러리(1701b)에서 채널 정보를 탐색하고, 프 로그램 넘버를 찾는다. 다음, SF(1704e) 등을 사용하여, MEPG-2 전송 스트림으로부터 PAT가 획득된다. 다음, 획득된 프로그램 넘버에 대응하는 PMT의 PID가 PMT의 정보로부터 획득된다. 한번더, SF(1704e)를 사용하여, 실제 PMT가 획득된다. 상기 획득된 PMT는 도 11에 도시된 바와 같은 포맷이고, 스트림 타입으로서 “데이터”와 보충 정보로서 “AIT"를 가진 기본 스트림의 PID를 기입한다. 게다가, 필터조건으로서 현재 획득된 AIT의 PID 및 “0x74”의 table_id가 SF(1701e)에 주어지면, 실제 AIT가 획득된다.
도 22는 AIT 정보의 일예를 개략적으로 도시한 챠트이다. AIT 버전 넘버 2200은 AIT의 버전을 나타낸다. 더 높은 버전의 AIT는, 새로운 AIT이다. 동일한 AIT 버전의 AIT가 반복적으로 수신되지만, AM(1704b)는 이미 분석한 AIT와 동일한 AIT 버전을 가지는 AIT는 분석하지 않고, 이미 분석한 AIT보다 새로운 AIT만을 분석하고 대응하는 처리를 수행한다. 열 2201은 자바 프로그램의 식별자를 나타낸다. 열 2202는 자바 프로그램의 제어 정보를 나타낸다. 제어 정보로서, “autostart”, “present", “kill” 등이 있고, “autostart”는 단말 장치(1300)가 즉시 자바 프로그램을 자동적으로 실행함을 의미하고, “present"는 자동 실행을 수행하지 않음을 의미하며, “kill”은 자바 프로그램을 중지하는 것을 의미한다. 열 2203은 DSM-CC 포맷의 자바 프로그램을 포함하는 PID를 추출하기 위한 DSM-CC 식별자를 나타낸다. 열 2204는 자바 프로그램의 프로그램명을 나타낸다.
행 2211, 2212, 2213 및, 2214는 자바 프로그램의 정보 그룹이다. 행 2211에 규정된 자바 프로그램은 자바 프로그램 식별자 “301”, 제어 정보 “autostart”, DSM-CC 식별자 “1”및, 프로그램명 “a/TopXlet”을 포함하는 그룹이다. 비슷하게, 행 2212에 규정된 자바 프로그램은 자바 프로그램 식별자 “302”, 제어 정보 “present”, DSM-CC 식별자 “1”및, 프로그램명 “a/GameXlet”을 포함하는 그룹이다. 여기서, 행 2211, 2212 및, 2214에 의해 규정된 3개의 자바 프로그램은 동일한 DSM-CC 식별자를 갖는다. 이는 3개의 자바 프로그램이 DSM-CC 포맷으로 인코드된 하나의 파일 시스템에 포함됨을 나타낸다. 여기서, 자바 프로그램을 위해 규정된 4가지 타입의 정보를 상술하였지만, 실제로는, 보다 많은 정보의 타입이 규정된다. 상세 사항은 DVB-MHP 기술규격에서 찾을 수 있다.
응용 상태 관리 유닛(3503)은 업데이트된 AIT의 상세 사항을 분석하고 자바 프로그램의 실행 상태를 관리한다. 응용 상태 관리 유닛(3503)은 AIT 내에서 “autostart”를 가진 자바 프로그램을 찾아내고, 대응되는 DSM-CC 식별자 및 자바 프로그램 명칭을 추출한다. 도 22를 참조하면, AM(1704b)이 행 2211로부터 자바 프로그램을 추출하고, “1”의 DSM-CC 식별자와 “a/TopXlet”의 자바 프로그램 명칭을 획득한다. 다음, AM(1704b)이, PMT로부터, DSM-CC 포맷의 자바 프로그램을 저장하는 TS 패킷의 PID를 얻기 위해, AIT로부터 획득한 DSM-CC 식별자를 이용한다. 특히, 보충 정보에서 적합한 DSM-CC 식별자를 가지며, “data"의 스트림 타입을 가진 기본 스트림의 PID가 PMT로부터 획득된다. 이때, DSM-CC 식별자가 “1”이고 PMT가 도 11에서와 같다고 가정하면, 행 1114의 기본 스트림은 그것에 적합되고, PID “5014”가 꺼내진다.
AM(1704b)은, SF(1704e)로, 섹션 필터 조건과, DSM-CC 포맷의 데이터에 내장 된 MPEG-2 섹션을 송신하는 TS 패킷의 PID를 규정한다. Here, the PID "5014" is given. 여기서, PID “5014”가 주어진다. 그 결과로, AM(1704b)가 필수 DSM-CC MPEG-2 섹션을 수집할 수 있다. AM(1704b)은 DSM-CC 포맷에 따라 수집된 MPEG-2 섹션으로부터 파일 시스템을 재구성하고, 상기 파일 시스템을 제1 저장 유닛(1308) 내에 저장한다. MPEG-2 전송 스트림의 TS 패킷으로부터 파일 시스템과 같은 데이터를 꺼내고, 제1 저장 유닛(1308) 및 제2 저장 유닛(1307)과 같은 저장 수단 내에 데이터를 저장하는 것을 이하에서는 다운로드라고 호칭한다.
도 23은 다운로드된 파일 시스템의 일예이다. 상기 도면에서, 원은 디렉토리(directory)를 의미하고, 사각형은 파일을 의미한다. 2301은 루트(root) 디렉토리, 2302는 “a”디렉토리, 2303은 “b”디렉토리, 2304는 파일 “TopXlet.class”, 2305는 파일 “GameXlet.class”, 2306은 디렉토리 “z”, 2307은 파일 “MusicXlet.class”, 2308은 파일 “StudyXlet.class”이다.
다음, 제1 저장 유닛(1308)의 다운로드된 파일 시스템 중에서, AM(1704b)는 실행될 자바 프로그램을 자바 VM(1703)으로 전한다. 여기서, 실행될 자바 프로그램의 명칭이 “A/TopXlet”일 때, 자바 프로그램 명칭의 끝에 “.class”가 추가된 파일“a/TopXlet.class”가 실행될 파일이다. “/”는 디렉토리 및 파일 명칭 분할이고, 도 23을 참조하면, 파일 2304가 실행되어야할 자바 프로그램이다. 다음, AM(1704b)이 파일 2304를 자바 VM 1703으로 전하고, 상기 파일이 자바 VM 상에서 자바 프로그램으로서 실행된다.
새로운 AIT 버전을 가진 AIT를 수신할 때마다, AM(1704b)는 AIT를 분석하고 자바 프로그램의 실행 상태를 변경한다. 여기서, 제어 정보에“kill"이 규정된 경우에, AM(1704b)는 자바 프로그램을 종료하고, 트릭 플레이 명령 프로그램 판정 유닛(2702)에 종료된 자바 프로그램의 자바 프로그램 식별자를 통지한다.
JMF(1704a)는 서비스에 포함된 비디오 및 오디오의 재생 제어를 처리한다. 보다 상게하게는, JMF(1704a)는 MPEG-2 전송 스트림의 규정된 채널에 다중화된 비디오 ES와 오디오 ES를 재생을 위한 AV 디코더로 입력한다. 수신된 방송파로부터 서비스가 직접 재생되는 경우에는, 어댑터(1311)로부터 출력된 MPEG-2 전송 스트림을 재생하도록 명령된다. 한편, 일단 제2 저장 유닛(1307)에 저장된 서비스가 재생되는 경우에는, 제2 저장 유닛(1307)의 기록 영역(1504)으로부터 출력된 MPEG-2 전송 스트림을 재생하도록 명령된다.
먼저, JMF(1704a)는 키로서 규정된 채널 식별자를 가진 라이브러리(1701b)에서 채널 정보를 찾고, 프로그램 넘버를 얻는다. 다음, SF(1704e) 등을 사용하여, MPEG-2 전송 스트림으로부터 PAT가 획득된다. 다음, 획득된 프로그램 넘버에 대응하는 PMT의 PID가 PMT의 정보로부터 획득된다. 한번더, SF(1704e)를 사용하여, 실제 PMT가 획득된다. 상기 획득된 PMT는 도 11에 도시된 바와 같은 포맷이고, 스트림 타입으로서 “비디오” 및 “오디오”를 가진 기본 스트림의 PID를 기입한다. JMF(1704e)가 TS 디코더(1302)의 PID 필터(1502)에 이들 PID를 설정하면, 도 15 또는 도 16에 도시된 바와 같이, 상기 PID에 다중화된 비디오 ES와 오디오 ES가 AV 디코더(1303)을 통해 재생된다.
여기서, JMF(1704a)가 입력으로서 제2 저장 유닛에 미리 저장된 MPEG-2 전송 스트림을 수신한 경우, JMF(1704a)는 제2 저장 유닛(1307)의 저장 영역(1607)로부터 MPEG-2 전송 스트림의 판독 속도와 판독 위치를 변경함에 의해 비디오 및 오디오의 재생 속도를 변경할 수 있다. 따라서, 고속 전진과 스킵과 같은 트릭 플레이가 가능해진다. 예를 들어, MPEG-2 전송 스트림이 정상 속도의 2배 속도로 판독된다면, 비디오 및 오디오 역시 2배 속도로 재생된다. 또한, 특정 시간 간격만을 스킵하는 동안 MPEG-2 전송 스트림이 판독된다면, 그것을 스킵하는 동안 비디오 및 오디오가 재생된다. 라이브러리(1701b)의 기능을 사용함에 의해, JMF(1704a)는 제2 저장 유닛(1307)을 제어하여 MPEG-2 전송 스트림의 판독 속도 및 판독 위치를 변경한다. 상기 트릭 플레이를 원활 및 고 레벨로 수행하기 위한 방법은 본 발명의 범주 외이므로, 그것의 기술은 생략한다.
자바 프로그램이 트릭 플레이를 지시하도록 하기 위해, MF(1704a)는 setRate(부동 인수(float factor))와 같은 API를 자바 프로그램에 제공한다. 파라미터 인수(parameter factor)로 1.0이 설정되면, 정상 속도 재생이 수행되고, 2.0이 설정되면, 2배 속도로 트릭 플레이가 수행된다. 또한, 자바 프로그램이 API를 통해 트릭 플레이를 명령하는 경우, JMF(1704a)가 트릭 플레이 명령 프로그램 정보 유지 유닛(1703)에 그 자바 프로그램을 식별하는 자바 프로그램 식별자를 통지한다.
입력으로서 채널 식별자, 개시 시간 및, 종료 시간을 가지면, 기록 관리자(1704h)는 상기 서비스의 시작 시간과 종료 시간 사이의 규정된 시간 간격 동안만 서비스를 제2 저장 유닛(1307) 내로 기록한다. 예를 들어, EPG(1702)가 채널 식 별자, 개시 시간 및, 종료 시간을 지정하면, 기록 관리자(1704h)는 상기 개시 시간까지 대기한다. 그 후, 상기 시작 시간에 도달하면 상기 지정된 서비스의 기록을 개시하고, 상기 종료시간에 도달하면 기록을 중지한다. 상세 사항은 후술된다. 기록 개시 시간에, 기록 관리자(1704h)는 먼저, 제2 저장 유닛(1307) 내에, 상기 개시 시간으로부터 상기 종료 시간까지 MPEG-2 전송 스트림을 기록하기 위한, 상기 제2 저장 유닛(1307)에 규정된 기록 영역(1504)을 확보한다. 미디어 식별자가 상기 확보된 기록 영역에 제공된다. 다음, 키로서 채널 식별자를 사용하여, 기록 관리자(1704h)가, 라이브러리(1701b)에 유지된 채널 정보로부터, 상기 채널 식별자에 대응하는 튜닝 정보를 획득한다. 그 후, 튜닝 정보가 튜너(1704c)로 주어지면, 튜너(1704)는 튜닝을 개시한다. 여기서, 튜닝 정보는 주파수, 변조 방법 등 규정 가능한 정보이다. 다음, 도 15에 도시된 바와 같이, MPEG-2 전송 스트림은 어댑터(1311)를 통해 TS 디코더로 입력된다.
한편, SF(1704e)를 사용하여, 기록 관리자(1704h)는 튜닝을 통해 획득된 MPEG-2 전송 스트림으로부터 PAT를 획득한다. 또한, 규정된 채널 식별자에 대응하는 프로그램 넘버를 찾기 위해 라이브러리(1701b)를 탐색하고, 상기 획득된 프로그램 넘버에 대응하는 PMT의 PID를 찾기 위해 PAT를 탐색한다. 그 후, SF(1704e)를 사용하여, 규정된 채널을 구성하는 모든 ES의 PID를 획득하기 위해 실제 PMT를 획득한다. 기록 관리자(1704h)는 상기 획득된 PID를 TS 디코더의 PID 필터(1502)에 설정한다. 기록 관리자(1704h)는, 방송파에 포함된 서비스를 제2 저장 유닛(1307) 내에 기록하는 동작에 따라서, 라이브러리(1701b)를 통해 각 하드웨어 구성 요소의 출력 목적지를 추가적으로 설정한다. 다음, 도 15에 설명된 흐름에 따라서, 원하는 채널을 구성하는 모든 ES가 확보된 기록 영역(1504) 내로 기록된다.
그 후, 규정된 종료시간에 도달하면, 기록 관리자(1704h)는 튜너(1704c)의 튜닝 처리를 중지하고, 기록 영역(1504) 내에서 MPEG-2 전송 스트림의 기입이 종료되게 한다. 게다가, 이미 기록된 MPEG-2 전송 스트림의 관리 정보로서, 도 21에 도시된 바와 같은 기록 정보 관리 테이블이 생성된다.
도 21은 제2 저장 유닛(1307) 등의 기록 영역(1504) 내에 기록되는 기록 정보를 관리하기 위한 기록 정보 관리 테이블의 일예이다. 상기 기록 정보는 챠트 포맷으로 기록된다. 열 2101은 기록 식별자를 나타낸다. 열 2102는 채널 식별자를 나타낸다. 열 2103은 프로그램 넘버를 나타낸다. 열 2104는 각각의 서비스를 위한 기록 개시 시간을 나타내고, 열 2105는 서비스를 위한 기록 종료 시간을 나타낸다. 열 2106은 서비스로서 기록되는 MPEG-2 전송 스트림을 식별하는 미디어 식별자를 나타낸다. 각각의 행 2111 내지 행 2112는, 각각의 기록 식별자, 채널 식별자, 프로그램 넘버, 개시 시간, 종료 시간 및, 미디어 식별자의 그룹이다. 예를 들어, 행 2111은 “000”의 기록 식별자, “2”의 채널 식별자, “102”의 프로그램 넘버, “2005/03/30 11:00”의 개시 시간, “2005/03/30 12:00”의 종료 시간 및, “TS_001”의 미디어 식별자를 나타낸다.
서비스 관리자(1704f)는 제2 저장 유닛(1307)에 기록된 MPEG-2 전송 스트림 내의 서비스 또는, 어댑터(1311)로부터 입력된 MPEG-2 전송 스트림 내의 서비스의 재생을 관리한다.
이하, 제2 저장 유닛(1307)에 기록된 MPEG-2 전송 스트림 내에 포함된 서비스의 재생을 관리하는 경우의 동작에 대해 기술한다. 이는 이미 기록된 서비스의 재생과 동등하다. 이 경우, 서비스 관리자(1704f)는 입력으로서 기록 식별자를 갖는다. 제2 저장 유닛(1307)에 이미 기록되고 그 기록 식별자에 의해 규정된 서비스가 재생되게 된다.
먼저, 기록 관리자(1704h)에 의해 생성된 기록 정보 관리 테이블을 참조하여, 서비스 관리자(1704f)는, 규정된 기록 식별자와 함께, 재생될 서비스의 채널 식별자 및 미디어 식별자를 획득한다. 다음, 라이브러리(1701b)를 통해, 서비스 관리자(1704f)는 제2 저장 유닛(1307)에 상기 획득된 미디어 식별자에 의해 식별되는 MPEG-2 전송 스트림을 TS 디코더(1302)로 출력하도록 명령한다. 또한, 도 16에 도시된 경로를 통해 데이터가 흐르도록, 라이브러리(1701b)를 통해서, 각 하드웨어 구성 요소의 출력 목적지를 설정한다. 그 후, MPEG-2 전송 스트림의 자리로서 제2 저장 유닛(1307)이 JMF(1704a)에 제공되고, 재생될 서비스의 채널 식별자가 제공된다. 다음, 상기한 동작을 통해, JMF(1704a)가 제2 저장 유닛(1307)로부터 출력되는 MPEG-2 전송 스트림에 다중화된 오디오 및 비디오의 재생을 개시한다. 그 후, 제2 저장 유닛(1307)이 또한 MPEG-2 전송 스트림의 자리로서 AM(1704b)에 제공되며, 재생될 서비스의 채널 식별자가 제공된다. 다음, 제2 저장 유닛(1307)로부터 출력된 MPEG-2 전송 스트림 내에 다중화된 AIT에 따라서, AM(1704b)는 제2 저장 유닛(1307)로부터 출력된 MPEG-2 전송 스트림에 다중화된 자바 프로그램의 실행 및 종료를 개시한다. 그 후, 상기한 서비스의 재생이 제2 저장 유닛(1307)으로부터 출 력되는 MPEG-2 전송 스트림의 끝까지 계속된다.
한편, 이하에서는 어댑터(1311)로부터 입력되는 MPEG-2 전송 스트림 내의 서비스 재생을 관리하는 경우를 기술한다. 이는 방송파로부터 서비스를 직접 재생하는 것과 동등하다. 이 경우, 서비스 관리자(1704f)는 입력으로서 재생될 서비스의 채널 식별자를 갖는다.
라이브러리(1701)을 통해, 서비스 관리자(1740f)는 도 15의 어댑터(1311)로부터 출력되는 MPEG-2 전송 스트림이 TS 디코더(1302)로 출력되도록 명령한다. 또한, 도 16에 도시된 경로를 통해 데이터가 흐르도록, 라이브러리(1701b)를 통해서, 각 하드웨어 구성 요소의 출력 목적지를 설정한다. 그 후, MPEG-2 전송 스트림의 자리로서 어댑터(1311)가 JMF(1704a)에 제공되고, 재생될 서비스의 채널 식별자가 제공된다. 다음, 상기한 동작을 통해, JMF(1704a)가 어댑터(1311)로부터 출력되는 MPEG-2 전송 스트림에 다중화된 오디오 및 비디오의 재생을 개시한다. 더욱더, 어댑터(1311)는 또한 MPEG-2 전송 스트림의 자리로서 AM(1704b)에 제공되며, 재생될 서비스의 채널 식별자가 제공된다. 다음, 어댑터(1311)로부터 출력된 MPEG-2 전송 스트림에 다중화된 AIT에 따라서, AM(1704b)는 제2 저장 유닛(1307)로부터 출력된 MPEG-2 전송 스트림에 다중화된 자바 프로그램의 실행 및 종료를 개시한다. 그 후, 서비스의 재생이 제2 저장 유닛(1307)으로부터 출력되는 MPEG-2 전송 스트림의 끝까지 계속된다.
트릭 플레이 관리자(1704g)는, 현재 재생되는 서비스의 응용의 실행 상태를 모니터하고, 트릭 플레이의 상태를 모니터하여 제어한다.
도 27은 트릭 플레이 관리자(1704g)의 상세한 구성을 도시한 도면이다.
트릭 플레이 명령 프로그램 정보 유지 유닛(2703)은 JMF(1704a)로부터 통지받은 "트릭 플레이를 명령한 자바 프로그램의 자바 프로그램 식별자"를 저장한다.
"종료된 자바 프로그램의 자바 프로그램 식별자"가 AM(1704b)으로부터 통지받는 경우에, 트릭 플레이 명령 프로그램 판정 유닛(2702)은 통지받은 자바 프로그램 식별자가 트릭 플레이 명령 프로그램 정보 유지 유닛(2703) 내에 저장된 "트릭 플레이를 명령한 자바 프로그램의 자바 프로그램 식별자"와 동일한지를 판정한다. 이들 자바 프로그램 식별자가 동일한 사실이 JMF(1704a)를 통해 서비스에 대한 현재 트릭 플레이를 명령한 프로그램이 종료되었음과 동등하므로, 트릭 플레이 명령 프로그램 판정 유닛(2702)은 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)에 명령하여 규정된 처리를 실행한다.
트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 현재 트릭 플레이 하에 있는 서비스에 대한 트릭 플레이를 취소한다. 환언하면, 1.0은 파라미터 인수로서 설정됨으로써, JMF(1704a)의 setRate(부동 인수)가 정상 속도로 서비스를 재생하기 시작한다.
EPG(1702)는 Electric Program Guide이고, 사용자가 기록되고 재생될 TV 쇼를 선택하도록 하는 기능이다. 방송파의 수신을 통한 정상 재생은 본 발명의 범주를 벗어나, 이에 대한 설명은 생략된다.
TV 쇼를 기록하는 경우, EPG(1702)는 방송된 TV 쇼의 리스트를 표시하여, 사용자가 원하는 TV 쇼를 선택하도록 한다. 도 19는 기록될 TV 쇼의 선택을 위한 화 면 표시의 일례이다. 시간(1901) 및 채널(1902 및 1903)은 그리드 내에 표시되어, 매번 각 기록 가능한 채널의 TV 쇼를 검사할 수 있다. 사용자는, 단말 장치(1300)의 입력 유닛(1310) 내에 포함되는 상부, 하부, 우측 및 좌측 커서 버튼(1401 내지 1404)을 이용하여 화면 내의 포커스(1911)를 이동할 수 있다. 더욱이, OK 버튼(1405)이 눌려지면, 현재 강조되는 TV 쇼가 기록되도록 선택된다. EPG(1702)는 라이브러리로부터 TV 쇼의 채널 식별자를 획득하고, 기록될 TV 쇼가 사용자에 의해 선택될 시에는, TV 쇼의 채널 식별자, 개시 시간 및 종료 시간을 기록 관리자(1704h)에 통지한다. 이 정보를 토대로, 서비스 관리자(1704h)는 TV 쇼를 제 2 저장 유닛(1307) 내에 기록한다.
한편, 이미 기록된 TV 쇼를 재생하는 경우에, EPG(1702)는 이미 기록된 TV 쇼의 리스트를 표시하여, 사용자가 원하는 TV 쇼를 선택하도록 한다. 도 18은 이미 기록된 TV 쇼의 선택을 위한 화면 표시의 일례이다. 그 시점에서 제 2 저장 유닛(1307) 내에 저장된 모든 TV 쇼는 리스트된다. 사용자는, 단말 장치(1300)의 입력 유닛(1310) 내에 포함되는 상부 및 하부 커서 버튼(1401 및 1402)을 이용하여 화면 내의 포커스(1801)를 이동할 수 있다. 더욱이, OK 버튼(1405)이 눌려지면, 현재 강조되는 TV 쇼가 재생되도록 선택된다. EPG(1702)는 기록 관리자(1704h)로부터 TV 쇼의 기록 식별자를 획득하고, 재생될 TV 쇼가 사용자에 의해 선택될 시에는, 그 TV 쇼의 기록 식별자의 서비스 관리자(1704f)에 통지한다. 이 정보를 토대로, 서비스 관리자(1704f)는 제 2 저장 유닛(1307)으로부터 TV 쇼를 판독하여 그것을 재생한다.
상술한 구성을 가진 본 실시예의 통상의 동작에 대해서는 흐름도를 이용하여 아래에 기술된다.
도 30은 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비스를 재생하는 경우를 도시한 흐름도이다.
첫째로, 사용자는 EPG(1702)에 명령하여, MPEG-2 전송 스트림 내에서 서비스를 재생하는 것으로 가정한다. 그리고 나서, S3001에서, 서비스 관리자(1704f)는, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비스를 재생하는 명령을 부여받으며, 기록 식별자는 그 서비스를 식별한다.
서비스 관리자(1704f)가 JMF(1704a)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 비디오 및 오디오를 재생하므로, 이 비디오 및 오디오는 S3002에서 재생된다.
게다가, 서비스 관리자(1704f)가 AM(1704b)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 AIT를 검출하므로, AM(1704b)는 S3003 내에서 AIT를 검출하기 시작한다.
여기서, 새로운 버전의 갱신된 AIT는 검출되어, Yes가 선택됨으로써, 프로세스는 S3004로 진행하는 것으로 가정한다. AIT에서 "autostart"의 제어 정보로 기입된 자바 프로그램은 S3004에서 발견되는 것으로 가정한다. 그 경우에, 프로세스는 자바 프로그램을 실행하도록 S3005로 진행한다. 그 후, 프로세스는 S3003으로 복귀한다.
여기서, 갱신된 AIT가 S3003에서 검출되지 않은 경우에, 프로세스는 S3006으 로 진행한다. S3006에서, 자바 프로그램이 트릭 플레이를 명령하는지의 여부가 판정된다. 이제, 자바 프로그램이 인수=2.0이라 지정하고, S3006에서 setRate ()을 호출하며, 즉, 트릭 플레이를 명령하는 것으로 가정한다. 그리고 나서, 프로세스는 S3007로 진행하며, 여기서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S3003으로 복귀한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
다시 여기서, 갱신된 AIT가 S3003 내에서 검출된 것으로 추정하면, 프로세스는 S3004로 진행한다. 갱신된 AIT 내에서, "kill"의 제어 정보는 S3005에서 실행된 자바 프로그램으로 기입된다. 그 후, 프로세스는 S3008로 진행하며, 여기서, AM(1704b)은 그 자바 프로그램을 종료한다. AM(1704b)은 종료된 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 판정 유닛(2702)에 통지하고, 프로세스는 S3009로 진행한다. S3009에서, 트릭 플레이 명령 프로그램 판정 유닛(2702)은 AM(1704b)에 의해 종료된 자바 프로그램이 트릭 플레이 명령 프로그램 정보 유지 유닛(2703) 내에 저장된 것과 동일한 자바 프로그램 식별자를 갖는지의 여부를 판정한다. 이들이 동일하면, 프로세스는 S3010으로 진행하고, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 인수=1.0을 지정하고, setRate ()을 호출한다. 그렇게 행함으로써, 트릭 플레이 모드에 있는 서비스의 재생은 정상 재생 속도 로 복귀한다.
상술한 바와 같이, 제 1 실시예에 따르면, 자바 프로그램이 서비스의 트릭 플레이를 명령한 후에 종료되는 경우에, 서비스의 트릭 플레이는 자동으로 삭제되어 정상 속도 재생으로 복귀한다.
또한, 본 실시예에서, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)이 파라미터 인수로서, 1.0 대신에 0.0을 설정하는 구성을 변경할 경우에, JMF(1704a)의 setRate(부동 인수) API가 호출될 시에 서비스를 일시 중지할 수 있음에 주목한다.
(제 2 실시예)
이하, 본 발명의 제 2 실시예에 따른 장치 및 방법이 도면을 참조로 기술된다.
제 2 실시예에 이용된 하드웨어 구성 등이 본 발명의 제 1 실시예의 구성과 동일하므로, 도 1 내지 도 16은 그에 대해 이용된다. 이 도면의 구성 요소가 제 1 실시예에서와 동일한 기능을 가짐에 따라, 이에 대한 설명은 반복되지 않는다.
제 2 실시예의 소프트웨어 구성은 도 17 및 도 46에 도시된 것과 동일하다. 트릭 플레이 관리자(1704g)와 다른 구성 요소가 제 1 실시예의 소프트웨어 구성의 것과 동일함에 따라, 이에 대한 설명은 반복되지 않는다. 제 2 실시예에 이용된 여러 데이터 포맷이 제 1 실시예에서 도 20 내지 도 23에 도시된 바와 동일함에 따라, 이에 대한 설명은 반복되지 않는다.
도 31은 제 2 실시예에서 이용된 트릭 플레이 관리자(1704g)의 구성을 도시 한다. 트릭 플레이 관리자(1704g)는, 트릭 플레이 명령 프로그램 정보 유지 유닛(2703); 트릭 플레이 명령 프로그램 판정 유닛(2702); 트릭 플레이 명령 프로그램 종료 처리 유닛(3101); 종료 처리 핸들러 레지스트레이션(handler registration) 유닛(3102); 및 종료 처리 핸들러 레지스트레이션 특권(privilege) 판정 유닛(3103)으로 구성된다.
트릭 플레이 명령 프로그램 정보 유지 유닛(2703) 및 트릭 플레이 명령 프로그램 판정 유닛(2702)이 제 1 실시예의 것과 동일하므로, 이에 대한 설명은 반복되지 않는다.
종료 처리 핸들러 레지스트레이션 특권 판정 유닛(3103)은 식별된 자바 프로그램이 종료 처리 핸들러를 레지스터하는 특권을 갖는지의 여부를 판정한다. 입력으로서 자바 프로그램 식별자를 수신하면, 자바 프로그램이 종료 처리 핸들러를 레지스터할 허가를 갖는지의 여부를 검사하여 그 결과를 출력한다.
여기서, 종료 처리 핸들러를 레지스터할 특권은, 예컨대, OCAP 기술규격에서 MonitorAppPermission 등으로 설정될 수 있다. 이것은, 허가 설명(permission description) 파일이 또한, 자바 프로그램이 저장되고, 자바 프로그램이 허가 설명 파일에 허용된 특권 리스트를 갖는 디렉터리(directory) 내에 저장되는 방법이다. 예컨대, 응용 이름은, <ocap:monitorapplication name = "registerTrickHandler" value=true> </ocap:monitorapplication>와 같은 포맷에서 "ocap. application name. perm"의 파일 내에 기록되고, 응용 이름에 의해 식별된 자바 프로그램은 종료 처리 핸들러를 레지스터할 특권을 가질 수 있다.
종료 처리 핸들러 레지스트레이션 유닛(3102)은 종료 처리 핸들러 레지스트레이션 특권을 가진 자바 프로그램이 종료 처리 핸들러로서 임의 자바 프로그램 코드를 레지스터하도록 하는 기능을 제공한다. 자바 프로그램 코드는 임의 규정된 자바 클래스의 사례(instance)이고, 이것을 이용하여, 자바 언어로 원하는 처리를 기록할 수 있다. 종료 처리 핸들러 레지스트레이션 유닛(3102)은 registerHandler (Handler h)의 자바 API를 제공한다. 이 API가 파라미터 h로서 임의 자바 클래스의 사례를 호출하면, 종료 처리 핸들러 레지스트레이션 유닛(3102)은 자바 프로그램의 자바 프로그램 식별자를 종료 처리 핸들러 레지스트레이션 특권 판정 유닛(3103) 내에 입력하여, 자바 프로그램이 종료 처리 핸들러 레지스트레이션 특권을 갖는지의 여부를 질의한다. 자바 프로그램이 종료 처리 핸들러 레지스트레이션 특권을 가지면, 종료 처리 핸들러 레지스트레이션 유닛(3102)은 내부적으로 종료 처리 핸들러로서 종료 처리 핸들러 h 사례를 저장한다.
트릭 플레이 명령 프로그램 종료 처리 유닛(3101)은 트릭 플레이 명령 프로그램 종료 처리 유닛(3101) 내에 저장된 자바 클래스의 사례를 실행한다. 사례의 실행에 대해, 사례에 기록된 자바 언어 코드는 자바 프로그램의 실행 시에서와 같이 실행된다. 코드 상세 사항으로의 제한은 존재하지 않으며, 임의 프로그램 코드는 기록될 수 있다.
상술한 구성을 가진 본 실시예의 통상의 동작에 대해서는 흐름도를 이용하여 아래에 기술된다.
도 32는 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비 스를 재생하는 경우를 도시한 흐름도이다.
첫째로, 사용자는 EPG(1702)에 명령하여, MPEG-2 전송 스트림 내에서 서비스를 재생하는 것으로 가정한다. 그리고 나서, S3001에서, 서비스 관리자(1704f)는, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비스를 재생하는 명령을 부여받으며, 기록 식별자는 그 서비스를 식별한다.
서비스 관리자(1704f)가 JMF(1704a)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 비디오 및 오디오를 재생하므로, 이 비디오 및 오디오는 S3002 내에서 재생된다.
게다가, 서비스 관리자(1704f)가 AM(1704b)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 AIT를 검출하므로, AM(1704b)는 S3003 내에서 AIT를 검출하기 시작한다.
제 2 실시예에서, 도 33에 도시된 버전 1의 AIT 및 도 34에 도시된 버전 2의 AIT는 MPEG-2 전송 스트림으로 다중화되는 것으로 가정한다. 이들 도면 내의 각 요소는 제 1 실시예에서 기술된 것과 동일한 의미를 갖는다.
버전 1의 AIT는 새롭게 검출되어, Yes가 선택됨으로써, 프로세스는 S3004로 진행하는 것으로 가정한다. S3004에서, 자바 프로그램 식별자(301 및 302)는 AIT에서 "autostart"의 제어 정보로 기입된 자바 프로그램으로서 발견되는 것으로 가정한다. 그래서, 이들 자바 프로그램에 관해, 프로세스는 자바 프로그램이 실행되는 S3005로 진행한다. 그 후, 프로세스는 S3003으로 복귀한다.
여기서, 갱신된 AIT가 S3003에서 검출되지 않은 경우에, 프로세스는 S3211로 진행한다. 여기서, 자바 프로그램 식별자(302)를 가진 자바 프로그램은 그 자신의 종료 처리 핸들러 h를 갖는 것으로 가정한다. 종료 처리 핸들러, setRate (1.0)은 트릭 플레이를 정상 속도로 복귀하기 위한 자바 언어 코드로서 기록되는 것으로 가정한다. 그 후, 자바 프로그램 식별자(302)를 가진 자바 프로그램은 종료 처리 핸들러 레지스트레이션 유닛 내에 핸들러 h를 레지스터하기 위해 registerHandler (h)를 호출한다. 자바 프로그램 식별자(302)를 가진 자바 프로그램은 종료 처리 핸들러를 레지스터하는 특권을 갖는 것으로 추정되는 것에 주목한다. 그리고 나서, 프로세스는 S3006으로 진행한다. 한편, 자바 프로그램 식별자(301)를 가진 자바 프로그램은 종료 처리 핸들러를 갖지 않으므로, 그것은 종료 처리 핸들러를 레지스터하지 않고 S3006으로 진행한다.
자바 프로그램 식별자(302)를 가진 자바 프로그램은 인수=2.0이라 지정하고, setRate ()을 호출하며, 즉, S3006에서 트릭 플레이를 명령하는 것으로 가정한다. 그리고 나서, 프로세스는 S3007로 진행한다. 한편, 자바 프로그램 식별자(301)를 가진 자바 프로그램은 트릭 플레이를 명령하지 않고 S3007로 진행한다. S3007에서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자(302)를 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S3003으로 복귀한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
여기서, 도 34에 도시된 버전 2의 AIT는 S3003에서 검출된 것으로 추정되면, 프로세스는 S3004로 진행한다. 버전 2의 갱신된 AIT에서, "autostart"는 S3005에서 실행된 자바 프로그램 식별자(301)를 가진 자바 프로그램에 지정된다. 자바 프로그램 식별자(301)를 가진 자바 프로그램이 이미 실행되었으므로, 프로세스는 S3005로 진행하며, 여기서, 그의 실행은 계속한다. 한편, "kill"의 제어 정보는 자바 프로그램 식별자(302)를 가진 자바 프로그램에 지정되는 것으로 가정한다. 자바 프로그램 식별자(302)를 가진 자바 프로그램에 관해, 프로세스는 S3008로 진행하며, 여기서, 이 프로그램은 종료된다. AM(1704b)은 종료된 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 판정 유닛(2702)에 통지하고, 프로세스는 S3009로 진행한다. S3009에서, 트릭 플레이 명령 프로그램 판정 유닛(2702)은 AM(1704b)에 의해 종료된 자바 프로그램이 트릭 플레이 명령 프로그램 정보 유지 유닛(2703) 내에 저장된 것과 동일한 자바 프로그램 식별자를 갖는지의 여부를 판정한다. 이 경우에, 양방의 식별자가 (302)이고, 동일하므로, 프로세스는 S3010으로 진행하고, 여기서, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 종료 처리 핸들러 레지스트레이션 유닛(3102) 내에 레지스터된 자바 프로그램 식별자(302)의 종료 처리 핸들러 h를 호출한다. 특히, 그것이 종료 처리 핸들러 h에 기록된 setRate (1.0)의 자바 언어 코드를 호출한다. 그렇게 행함으로써, 트릭 플레이 모드에 있는 서비스의 재생은 정상 재생 속도로 복귀한다.
상술한 바와 같이, 제 2 실시예에 따르면, 임의 자바 언어 코드를 실행하기 위해, 자바 프로그램이 서비스의 트릭 플레이를 명령한 후에 자바 프로그램이 종료 될 시에 개별적으로 레지스터된 종료 처리 핸들러를 실행할 수 있다.
(제 3 실시예)
이하, 본 발명의 제 3 실시예에 따른 장치 및 방법이 도면을 참조로 기술된다.
제 3 실시예에 이용된 하드웨어 구성 등이 본 발명의 제 1 실시예의 구성과 동일하므로, 도 1 내지 도 16은 그에 대해 이용된다. 이 도면의 구성 요소가 제 1 실시예에서와 동일한 기능을 가짐에 따라, 이에 대한 설명은 반복되지 않는다.
제 3 실시예의 소프트웨어 구성은 도 17에 도시된 것과 동일하다. AM(1704b)와 다른 구성 요소가 제 1 실시예의 소프트웨어 구성의 것과 동일함에 따라, 이에 대한 설명은 반복되지 않는다. 제 3 실시예에 이용된 여러 데이터 포맷이 제 1 실시예에서 도 20 내지 도 23에 도시된 바와 동일함에 따라, 이에 대한 설명은 반복되지 않는다.
AM(1704b)은, 제 1 실시예의 기능 외에, 현재 재생 속도에 따른 AIT의 갱신을 무시하는 기능을 갖는다. 도 35는 제 3 실시예에서 AM(1704b)의 구성도를 도시한다. AIT 모니터링 유닛(3502) 및 응용 상태 관리 유닛(3503)은 제 1 실시예에서의 AIT 모니터링 유닛(3502) 및 응용 상태 관리 유닛(3503)과 동일하므로, 이에 대한 설명은 반복되지 않는다. 그러나, 본 실시예는, AIT 갱신 허용 유닛(3501)이 갱신을 허용할 시에만 버전 업그레이드에 의한 AIT 갱신이 실행된다는 점에서 제 1 실시예와 상이하다. 특히, AIT 모니터링 유닛(3502)이 AIT의 버전 업그레이드를 검출하면, 그것은 AIT 갱신 허용 유닛(3501)에 요구하여 버전 업그레이드된 AIT를 분 석하는지의 여부를 결정한다.
서비스에 현재 효과적인 트릭 플레이의 속도가 0.0<=재생 속도<=1.0의 범위 내에 있는 경우에만, AIT 갱신 허용 유닛(3501)은 갱신된 새로운 AIT의 분석을 허용한다. AIT의 분석을 허용할 지를 결정하도록 요구되면, AIT 갱신 허용 유닛(3501)은 현재 재생 속도에 관해 JMF(1704a)에 질의한다. JMF(1704a)는 setRate ()에 설정된 트릭 플레이 속도를 다시 송신한다. 재생 속도가 0.0<=재생 속도<=1.0의 범위 내에 있는 경우, JMF(1704a)는, AIT를 갱신할지를 결정하는 요구에 응답하여, AIT의 갱신을 허용함을 응답한다.
상술한 구성을 가진 본 실시예의 통상의 동작에 대해서는 흐름도를 이용하여 아래에 기술된다.
도 36은 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림으로부터 서비스가 재생되는 경우를 도시한 흐름도이다.
첫째로, 사용자는 EPG(1702)에 명령하여, MPEG-2 전송 스트림 내에서 서비스를 재생하는 것으로 가정한다. 그리고 나서, S3001에서, 서비스 관리자(1704f)는, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비스를 재생하는 명령을 부여받으며, 기록 식별자는 그 서비스를 식별한다.
서비스 관리자(1704f)가 JMF(1704a)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 비디오 및 오디오를 재생하므로, 이 비디오 및 오디오는 S3002 내에서 재생된다.
게다가, 서비스 관리자(1704f)가 AM(1704b)에 명령하여, 제 2 저장 유 닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 AIT를 검출하므로, AM(1704b)의 AIT 모니터링 유닛(3502)은 S3003에서 AIT를 검출하기 시작한다.
여기서, 새로운 버전의 갱신된 AIT는 검출되어, Yes가 선택됨으로써, 프로세스는 S3601로 진행하는 것으로 가정한다. 자바 프로그램은 이제 실행되지 않으며, 트릭 플레이는 지정되지 않는다. 그래서, 재생 속도가 1.0이고, AIT 갱신 허용 유닛(3501)은 AIT의 갱신을 허용한다. 이에 응답하여, AIT 모니터링 유닛(3502)은 AIT를 분석하기 시작한다. 환언하면, Yes가 선택됨으로써, 프로세스는 S3004로 진행한다. AIT에서 "autostart"의 제어 정보가 지정된 자바 프로그램은 S3004에서 발견되는 것으로 가정한다. 그 경우에, 프로세스는 자바 프로그램을 실행하도록 S3005로 진행한다. 그 후, 프로세스는 S3003으로 복귀한다.
여기서, 갱신된 AIT가 S3003에서 검출되지 않은 경우에, 프로세스는 S3006으로 진행한다. S3006에서, 자바 프로그램이 트릭 플레이를 명령하였는지의 여부가 판정된다. 이제, 자바 프로그램이 인수=2.0이라 지정하고, S3006에서 setRate ()을 호출하며, 즉, 트릭 플레이를 명령하는 것으로 가정한다. 그리고 나서, 프로세스는 S3007로 진행하며, 여기서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S3003으로 복귀한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
여기서, 갱신된 AIT는 다시 S3003에서 검출된 것으로 추정하면, 프로세스는 S3601로 진행한다. AIT 모니터링 유닛(3502)은 AIT의 갱신이 허용되는지의 여부를 AIT 갱신 허용 유닛(3501)에게 질의하지만, 현재 재생 속도는 2.0이며, 그래서 AIT의 갱신은 허용되지 않는다. 그래서, "kill"의 제어 정보가 실행하는 자바 프로그램에 대한 갱신된 AIT에 기록될지라도, 자바 프로그램은 종료되지 않고, 계속 실행된다. 제어는 다시 S3003으로 복귀한다.
더욱더 갱신된 AIT가 S3003에서 검출되지 않으면, 프로세스는 S3006으로 진행한다. 자바 프로그램이 인수=0.5이라 지정하고, setRate ()을 호출하며, 즉, S3006에서 트릭 플레이를 명령하는 것으로 가정한다. 그리고 나서, 프로세스는 S3007로 진행하며, 여기서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S3003으로 복귀한다.
여기서, 갱신된 AIT는 S3003에서 검출된 것으로 추정하면, 프로세스는 S3004로 진행한다. AIT 모니터링 유닛(3502)은 AIT의 갱신이 허용되는지의 여부를 AIT 갱신 허용 유닛(3501)에게 질의하지만, 현재 재생 속도는 0.5이며, 그래서 AIT의 갱신은 허용된다. 이에 응답하여, AIT 모니터링 유닛(3502)은 이 시간을 검출한 AIT를 분석하기 시작한다. 환언하면, Yes가 선택됨으로써, 프로세스는 S3004로 진행한다.
S3004에서, 갱신된 AIT에서, "kill"의 제어 정보는 먼저 S3005에서 실행된 자바 프로그램에 지정된 것으로 가정한다. 그리고 나서, 프로세스는 S3008로 진행하며, 여기서, AM(1704b)은 그 자바 프로그램을 종료한다. AM(1704b)은 종료된 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 판정 유닛(2702)에 통지하고, 프로세스는 S3009로 진행한다. S3009에서, 트릭 플레이 명령 프로그램 판정 유닛(2702)은 AM(1704b)에 의해 종료된 자바 프로그램이 트릭 플레이 명령 프로그램 정보 유지 유닛(2703) 내에 저장된 것과 동일한 자바 프로그램 식별자를 갖는지의 여부를 판정한다. 이들이 이때 동일하므로, 프로세스는 S3010으로 진행하고, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 인수=1.0을 지정하고, setRate ()을 호출한다. 그렇게 행함으로써, 트릭 플레이 모드에 있는 서비스의 재생은 정상 재생 속도로 복귀한다.
상술한 바와 같이, 제 3 실시예에 따르면, AIT의 분석은 0.0<=재생 속도<=1.0의 범위 내에 있는 경우에만 실행된다. 그리고, 자바 프로그램이 서비스의 트릭 플레이를 명령한 후에 AIT의 제어 정보에 따라 종료되는 경우에, 서비스의 트릭 플레이는 자동으로 삭제되어, 정상 속도 재생으로 복귀한다.
또한, 본 실시예에서, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)이 파라미터 인수로서, 1.0 대신에 0.0을 설정하는 구성을 변경할 경우에, JMF(1704a)의 setRate(부동 인수) API가 호출될 시에 서비스를 일시 중지할 수 있다.
(제 4 실시예)
이하, 본 발명의 제 4 실시예에 따른 장치 및 방법이 도면을 참조로 기술된다.
제 4 실시예에 이용된 하드웨어 구성 등이 본 발명의 제 3 실시예의 구성과 동일하므로, 도 1 내지 도 16은 그에 대해 이용된다. 이들 도면의 구성 요소가 제 3 실시예에서와 동일한 기능을 가짐에 따라, 이에 대한 설명은 반복되지 않는다.
제 4 실시예의 소프트웨어은 도 17 및 도 35에 도시된 것과 동일하다. 트릭 플레이 관리자(1704g)를 제외한 구성 요소가 제 3 실시예의 소프트웨어 구성의 것과 동일하고, 트릭 플레이 관리자(1704g)가 제 2 실시예의 것과 동일함에 따라, 이에 대한 설명은 반복되지 않는다. 제 4 실시예에 이용된 여러 데이터 포맷이 제 1 실시예에서 도 20 내지 도 23에 도시된 바와 동일함에 따라, 이에 대한 설명은 반복되지 않는다.
상술한 구성을 가진 본 실시예의 통상의 동작에 대해서는 흐름도를 이용하여 아래에 기술된다.
도 37은 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림으로부터 서비스가 재생되는 경우를 도시한 흐름도이다.
첫째로, 사용자는 EPG(1702)에 명령하여, MPEG-2 전송 스트림 내에서 서비스를 재생하는 것으로 가정한다. 그리고 나서, S3001에서, 서비스 관리자(1704f)는, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비스를 재생하는 명령을 부여받으며, 기록 식별자는 그 서비스를 식별한다.
서비스 관리자(1704f)가 JMF(1704a)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 비디오 및 오디오를 재생하므로, 이 비디오 및 오디오는 S3002 내에서 재생된다.
게다가, 서비스 관리자(1704f)가 AM(1704b)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 AIT를 검출하므로, AM(1704b)의 AIT 모니터링 유닛(3502)는 S3003에서 AIT를 검출하기 시작한다.
제 4 실시예에서, 도 33에 도시된 버전 1의 AIT 및 도 34에 도시된 버전 2의 AIT는 MPEG-2 전송 스트림으로 다중화되는 것으로 가정한다. 이들 도면 내의 각 요소는 제 1 실시예에서 기술된 것과 동일한 의미를 갖는다.
여기서, 버전 1의 AIT는 검출되어, Yes가 선택되고, 프로세스는 S3701로 진행하는 것으로 추정한다. 자바 프로그램은 이제 실행되지 않으며, 트릭 플레이는 지정되지 않는다. 그래서, 재생 속도가 1.0이고, AIT 갱신 허용 유닛(3501)은 AIT의 갱신을 허용한다. 이에 응답하여, AIT 모니터링 유닛(3502)은 AIT를 분석하기 시작한다. 환언하면, Yes가 선택됨으로써, 프로세스는 S3004로 진행한다.
S3004에서, 자바 프로그램 식별자(301 및 302)는 AIT에서 "autostart"의 제어 정보가 지정된 자바 프로그램으로서 검색된다. 그래서, 이들 자바 프로그램에 관해, 프로세스는 자바 프로그램이 실행되는 S3005로 진행한다. 그 후, 프로세스는 S3003으로 복귀한다.
여기서, 새롭게 갱신된 AIT가 S3003에서 검출되지 않는 경우에, 프로세스는 S3211로 진행한다. 자바 프로그램 식별자(302)를 가진 자바 프로그램은 그 자신의 종료 처리 핸들러 h를 갖는 것으로 가정한다. 종료 처리 핸들러, setRate (1.0)은 트릭 플레이를 정상 속도로 복귀하기 위한 자바 언어 코드로서 기록되는 것으로 가정한다. 그 후, 자바 프로그램 식별자(302)를 가진 자바 프로그램은 종료 처리 핸 들러 레지스트레이션 유닛 내에 핸들러 h를 레지스터하기 위해 registerHandler (h)를 호출한다. 자바 프로그램 식별자(302)를 가진 자바 프로그램은 종료 처리 핸들러를 레지스터하는 특권을 갖는 것으로 추정되는 것에 주목한다. 그리고 나서, 프로세스는 S3006으로 진행한다. 한편, 자바 프로그램 식별자(301)를 가진 자바 프로그램은 종료 처리 핸들러를 갖지 않으므로, 그것은 종료 처리 핸들러를 레지스터하지 않고 S3006으로 진행한다.
자바 프로그램 식별자(302)를 가진 자바 프로그램은 인수=2.0을 지정하고, setRate ()을 호출하며, 즉, S3006에서 트릭 플레이를 명령하는 것으로 가정한다. 그리고 나서, 프로세스는 S3007로 진행한다. 한편, 자바 프로그램 식별자(301)를 가진 자바 프로그램은 트릭 플레이를 명령하지 않고 S3007로 진행한다. S3007에서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자(302)를 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S3003으로 복귀한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
여기서, 버전 2의 갱신된 AIT는 S3003에서 검출된 것으로 추정하면, 프로세스는 S3701로 진행한다. AIT 모니터링 유닛(3502)은 AIT의 갱신이 허용되는지의 여부를 AIT 갱신 허용 유닛(3501)에게 질의하지만, 현재 재생 속도는 2.0이며, 그래서 AIT의 갱신은 허용되지 않는다. 그래서, "kill"의 제어 정보가 실행하는 자바 프로그램에 대한 갱신된 AIT에 기록될지라도, 자바 프로그램은 종료되지 않고, 계속 실행된다. 제어는 다시 S3003으로 복귀한다.
더욱더 갱신된 AIT가 S3003에서 검출되지 않으면, 프로세스는 S3006으로 진행한다. 자바 프로그램 식별자(302)를 가진 자바 프로그램이 인수=0.5을 지정하고, setRate ()을 호출하며, 즉, S3006에서 정상 속도의 절반의 속도의 트릭 플레이를 명령하는 것으로 가정한다. 그리고 나서, 프로세스는 S3007로 진행하며, 여기서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S3003으로 복귀한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
여기서, 버전 3의 갱신된 AIT는 S3003에서 검출된 것으로 추정하면, 프로세스는 S3601로 진행한다. AIT 모니터링 유닛(3502)은 AIT의 갱신이 허용되는지의 여부를 AIT 갱신 허용 유닛(3501)에게 질의하지만, 현재 재생 속도는 0.5이며, 그래서 AIT의 갱신은 허용된다. 이에 응답하여, AIT 모니터링 유닛(3502)은 이 시간을 검출한 AIT를 분석하기 시작한다. 환언하면, Yes가 선택됨으로써, 프로세스는 S3004로 진행한다.
버전 3의 갱신된 AIT에서, "autostart"는 S3005에서 실행된 자바 프로그램 식별자(301)를 가진 자바 프로그램에 지정된다. 자바 프로그램 식별자(301)를 가진 자바 프로그램이 이미 실행되었으므로, 프로세스는 S3005로 진행하며, 여기서, 그의 실행은 계속한다. 한편, "kill"의 제어 정보는 자바 프로그램 식별자(302)를 가진 자바 프로그램에 지정되는 것으로 가정한다. 자바 프로그램 식별자(302)를 가진 자바 프로그램에 관해, 프로세스는 S3008로 진행하며, 여기서, 이 프로그램은 종료된다. AM(1704b)은 종료된 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 판정 유닛(2702)에 통지하고, 프로세스는 S3009로 진행한다.
S3009에서, 트릭 플레이 명령 프로그램 판정 유닛(2702)은 AM(1704b)에 의해 종료된 자바 프로그램이 트릭 플레이 명령 프로그램 정보 유지 유닛(2703) 내에 저장된 것과 동일한 자바 프로그램 식별자를 갖는지의 여부를 판정한다. 이 경우에, 양방의 식별자가 (302)이고, 동일하면, 프로세스는 S3010으로 진행하고, 여기서, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 종료 처리 핸들러 레지스트레이션 유닛(3102) 내에 레지스터된 자바 프로그램 식별자(302)의 종료 처리 핸들러 h를 호출한다. 특히, 그것이 종료 처리 핸들러 h에 기록된 setRate (1.0)의 자바 언어 코드를 호출한다. 그렇게 행함으로써, 트릭 플레이 모드에 있는 서비스의 재생은 정상 재생 속도로 복귀한다.
상술한 바와 같이, 제 4 실시예에 따르면, AIT의 분석은 0.0<=재생 속도<=1.0의 범위의 경우에만 실행된다. 그리고, 임의 자바 언어 코드를 실행하기 위해, 자바 프로그램이 서비스의 트릭 플레이를 명령한 후에 자바 프로그램이 종료될 시에 개별적으로 레지스터된 종료 처리 핸들러를 실행할 수 있다.
(제 5 실시예)
이하, 본 발명의 제 5 실시예에 따른 장치 및 방법이 도면을 참조로 기술된다.
제 5 실시예에 이용된 하드웨어 구성 등이 본 발명의 제 1 실시예의 구성과 동일하므로, 도 1 내지 도 16은 그에 대해 이용된다. 이 도면의 구성 요소가 제 1 실시예에서와 동일한 기능을 가짐에 따라, 이에 대한 설명은 반복되지 않는다.
제 5 실시예의 소프트웨어는 도 17에 도시된 것과 동일하다. AM(1704b)와 다른 구성 요소가 제 1 실시예의 소프트웨어 구성의 것과 동일함에 따라, 이에 대한 설명은 반복되지 않는다. 제 5 실시예에 이용된 여러 데이터 포맷이 제 1 실시예에서 도 20 내지 도 23에 도시된 바와 동일함에 따라, 이에 대한 설명은 반복되지 않는다.
AM(1704b)은 도 40에 도시된 구성을 갖는다. AIT 갱신 허용 유닛(3501) 및 AIT 모니터링 유닛(3502)과 다른 구성 요소가 제 3 실시예의 것들과 동일하므로, 이에 대한 설명은 반복되지 않는다.
AIT 갱신 허용 유닛(3501)은 제 3 실시예에서와 동일한 기능을 갖지만, 그것은 재생 속도 = 1.0의 경우에만 AIT의 갱신을 허용하는 것으로 가정한다.
AIT 모니터링 유닛(3502)은 항상 AIT의 버전 업그레이드를 검출할 뿐만 아니라, 상술한 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)으로부터의 명령에 따라 섹션(section) 필터링을 개시하여, 섹션 필터링 시에 획득될 수 있는 최근 AIT를 검출한다.
응용 상태 변경 명령 유닛(4001)은 자바 프로그램이 그 자체 및 다른 자바 프로그램의 상태를 변경하도록 하는 기능을 제공한다. 예컨대, 자바 프로그램이 다른 자바 프로그램의 실행을 강제적으로 종료할 수 있다. 응용 상태 변경 명령 유닛(4001)은 자바 프로그램이 임의 자바 프로그램을 종료하도록 하는 AIT를 제공한다. 예컨대, 자바 프로그램 식별자가 지정되면, 응용 상태 변경 명령 유닛(4001)은 자바 프로그램 식별자에 대응하는 자바 프로그램의 상태를 제어하기 위해 프럭시 클래스 AppProxy의 사례를 자바 프로그램에 제공한다. AppProxy은, 자바 프로그램의 실행을 개시하는 start (), 실행을 강제적으로 종료하는 stop () 등과 같은 방법을 갖는다.
자바 프로그램이 이들 방법을 호출하면, AppProxy에 대응하는 자바 프로그램의 실행을 개시 및 종료할 수 있다. 예컨대, stop ()이 호출되면, 응용 상태 변경 명령 유닛(4001)은, AppProxy에 대응하는 자바 프로그램 상에서, "kill"의 제어 정보가 AIT에 지정되는 경우에서와 같은 처리를 실행한다. 특히, 응용 상태 변경 명령 유닛(4001)은 자바 프로그램을 종료하여, 종료된 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 판정 유닛(2702)에 통지한다.
도 27은 트릭 플레이 관리자(1704g)의 상세한 구성을 도시한다.
트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 현재 트릭 플레이 하에 있는 서비스에 대한 트릭 플레이를 취소하여, 강제적으로 AIT의 검출을 행한다. 환언하면, 1.0은 파라미터 인수로서 설정됨으로써, JMF(1704a)의 setRate(부동 인수) API가 정상 속도로 서비스를 재생하도록 호출된다. 그 후, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 그때에 획득될 수 있는 최근 AIT를 검출하도록 AIT 모니터링 유닛(3502)에 명령한다.
상술한 구성을 가진 본 실시예의 통상의 동작에 대해서는 흐름도를 이용하여 아래에 기술된다.
도 39는 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림으로부터 서비스가 재생되는 경우를 도시한 흐름도이다.
첫째로, 사용자는 EPG(1702)에 명령하여, MPEG-2 전송 스트림 내에서 서비스를 재생하는 것으로 가정한다. 그리고 나서, S3001에서, 서비스 관리자(1704f)는, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비스를 재생하는 명령을 부여받으며, 기록 식별자는 그 서비스를 식별한다.
서비스 관리자(1704f)가 JMF(1704a)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 비디오 및 오디오를 재생하므로, 이 비디오 및 오디오는 S3002 내에서 재생된다.
게다가, 서비스 관리자(1704f)가 AM(1704b)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 AIT를 검출하므로, AM(1704b)의 AIT 모니터링 유닛(3502)는 S3003에서 AIT를 검출하기 시작한다.
여기서, 새로운 버전의 갱신된 AIT는 검출되어, Yes가 선택됨으로써, 프로세스는 S3601로 진행하는 것으로 추정한다. 자바 프로그램은 이제 실행되지 않으며, 트릭 플레이는 지정되지 않는다. 그래서, 재생 속도가 1.0이고, AIT 허용 유닛(3501)은 AIT의 갱신을 허용한다. 이에 응답하여, AIT 모니터링 유닛(3502)은 AIT를 분석하기 시작한다. 환언하면, Yes가 선택됨으로써, 프로세스는 S3004로 진 행한다. AIT에서 "autostart"의 제어 정보가 지정된 자바 프로그램은 S3004에서 검색된다. 그 경우에, 프로세스는 자바 프로그램을 실행하도록 S3005로 진행한다. 그 후, 프로세스는 S3003으로 복귀한다.
여기서, S3003에서 갱신된 AIT가 검출되지 않은 경우에, 프로세스는 S3901로 진행한다. 이제, AppProxy.stop ()은 S3501에서 호출되지 않은 것으로 추정하면, 프로세스는 S3006으로 진행한다. S3006에서, 자바 프로그램이 트릭 플레이를 명령하였는지의 여부가 판정된다. 이제, 자바 프로그램이 인수=2.0을 지정하고, S3006에서 setRate ()을 호출하며, 즉, 트릭 플레이를 명령한 것으로 가정한다. 그리고 나서, 프로세스는 S3007로 진행하며, 여기서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S3003으로 복귀한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
여기서, 갱신된 AIT는 다시 S3003에서 검출된 것으로 추정하면, 프로세스는 S3601로 진행한다. AIT 모니터링 유닛(3502)은 AIT의 갱신이 허용되는지의 여부를 AIT 갱신 허용 유닛(3501)에게 질의하지만, 현재 재생 속도는 2.0이며, 그래서 AIT의 갱신은 허용되지 않는다. 그래서, "kill"의 제어 정보가 실행하는 자바 프로그램에 대한 갱신된 AIT에 기록될지라도, 자바 프로그램은 종료되지 않고, 계속 실행된다. 제어는 다시 S3003으로 복귀한다.
더욱더 갱신된 AIT가 S3003에서 검출되지 않으면, 프로세스는 S3901로 진행한다. 여기서, S3901에서, 자바 프로그램은 AppProxy 사례를 획득하도록 그 자신의 자바 프로그램 식별자를 지정하여, 그의 stop () 방법을 호출하는 것으로 가정한다. 그 후, 프로세스는 S3008로 진행하며, 여기서, 응용 상태 변경 명령 유닛(4001)은, AM(1704b)이 자바 프로그램을 종료하도록 하기 위해 동작한다. 더욱이, AM(1704b)은 종료된 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 판정 유닛(2702)에 통지하고, 프로세스는 S3009로 진행한다. S3009에서, 트릭 플레이 명령 프로그램 판정 유닛(2702)은 AM(1704b)에 의해 종료된 자바 프로그램이 트릭 플레이 명령 프로그램 정보 유지 유닛(2703) 내에 저장된 것과 동일한 자바 프로그램 식별자를 갖는지의 여부를 판정한다. 이들이 이때 동일하므로, 프로세스는 S3910으로 진행하고, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 인수=1.0을 지정하고, setRate ()을 호출한다.
그렇게 행함으로써, 트릭 플레이 모드에 있는 서비스의 재생은 정상 재생 속도로 복귀한다. 더욱이, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 AIT 모니터링 유닛(3502)에 명령하여 AIT를 검출하기 시작한다. 그래서, 프로세스는, 자바 프로그램이 검출된 AIT에 의해 실행되거나 종료되는 S3003으로 복귀한다. 재생 속도가 그 시점에 1.0이므로, 후속하여 검출되는 AIT의 분석은 S3601에서 허용된다.
상술한 바와 같이, 제 5 실시예에 따르면, AIT의 분석은 재생 속도 = 1.0의 경우에만 실행된다. 그리고, 자바 프로그램이 서비스의 트릭 플레이를 명령한 후에 AIT의 제어 정보에 따라 종료되는 경우에, 서비스의 트릭 플레이는 자동으로 삭제되어, 정상 속도 재생으로 복귀하며, 최근 AIT의 분석은 그 시점에 실행된다.
(제 6 실시예)
이하, 본 발명의 제 6 실시예에 따른 장치 및 방법이 도면을 참조로 기술된다.
제 6 실시예에 이용된 하드웨어 구성 등이 본 발명의 제 1 실시예의 구성과 동일하므로, 도 1 내지 도 16은 여기서 다시 이용된다. 이 도면의 구성 요소가 제 1 실시예에서와 동일한 기능을 가짐에 따라, 이에 대한 설명은 반복되지 않는다.
제 6 실시예의 소프트웨어 구성은 도 17 및 도 40에 도시된 것과 동일하다. AM(1704b) 및 트릭 플레이 관리자(1704g)와 다른 구성 요소가 제 5 실시예의 소프트웨어 구성의 것과 동일함에 따라, 이에 대한 설명은 반복되지 않는다. 제 6 실시예에 이용된 여러 데이터 포맷이 제 1 실시예에서 도 20 내지 도 23에 도시된 바와 동일함에 따라, 이에 대한 설명은 반복되지 않는다.
AM(1704b)은 도 40에 도시된 구성을 갖는다. 응용 상태 관리 유닛(3503)과 다른 구성 요소가 제 5 실시예의 것들과 동일하므로, 이에 대한 설명은 반복되지 않는다.
제 5 실시예에서와 같은 기능를 실행하는 것 이외에, 응용 상태 관리 유닛(3503)은, "kill"의 제어 정보가 AIT에 지정되는 경우, 예컨대, 자바 프로그램이 메모리 등과 같은 자원의 부족으로 인해 동작하지 못하는 경우, 또는 자바 프로그램을 동작하는데 필요한 시스템 기능에서 어느 정도 이상이 발생하여, 시스템이 자바 프로그램을 실행할 수 없는 경우, 또는 자바 프로그램이 그 내에 일어나는 에러 또는 어느 정도의 이상 때문에 그 자체가 비정상적으로 종료되는 경우에서와 같이 자바 프로그램을 강제적으로 종료한다. 하여튼, 응용 상태 관리 유닛(3503)은 종료된 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 판정 유닛(2702)에 통지한다.
상술한 구성을 가진 본 실시예의 통상의 동작에 대해서는 흐름도를 이용하여 아래에 기술된다.
도 41은 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림으로부터 서비스가 재생되는 경우를 도시한 흐름도이다.
첫째로, 사용자는 EPG(1702)에 명령하여, MPEG-2 전송 스트림 내에서 서비스를 재생하는 것으로 가정한다. 그리고 나서, S3001에서, 서비스 관리자(1704f)는, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비스를 재생하는 명령을 부여받으며, 기록 식별자는 그 서비스를 식별한다.
서비스 관리자(1704f)가 JMF(1704a)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 비디오 및 오디오를 재생하므로, 이 비디오 및 오디오는 S3002 내에서 재생된다.
게다가, 서비스 관리자(1704f)가 AM(1704b)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 AIT를 검출하므로, AM(1704b)의 AIT 모니터링 유닛(3502)는 S3003에서 AIT를 검출하기 시작한다.
여기서, 새로운 버전의 갱신된 AIT는 검출되어, Yes가 선택됨으로써, 프로세스는 S3601로 진행하는 것으로 추정한다. 자바 프로그램은 이제 실행되지 않으며, 트릭 플레이는 지정되지 않는다. 그래서, 재생 속도가 1.0이고, AIT 허용 유닛(3501)은 AIT의 갱신을 허용한다. 이에 응답하여, AIT 모니터링 유닛(3502)은 AIT를 분석하기 시작한다. 환언하면, Yes가 선택됨으로써, 프로세스는 S3004로 진행한다. AIT에서 "autostart"의 제어 정보가 지정된 자바 프로그램은 S3004에서 검색된다. 그 경우에, 프로세스는 자바 프로그램을 실행하도록 S3005로 진행한다. 그 후, 프로세스는 S3003으로 복귀한다.
여기서, S3003에서 갱신된 AIT가 검출되지 않은 경우에, 프로세스는 S3901로 진행한다. S4101에서, 자바 프로그램의 종료를 유발시키는 이상이 없으면, 프로세스는 S3006으로 진행한다. S3006에서, 자바 프로그램이 트릭 플레이를 명령하였는지의 여부가 판정된다. 이제, 자바 프로그램이 인수=2.0을 지정하고, S3006에서 setRate ()을 호출하며, 즉, 트릭 플레이를 명령한 것으로 가정한다. 그리고 나서, 프로세스는 S3007로 진행하며, 여기서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S3003으로 복귀한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
여기서, 갱신된 AIT는 다시 S3003에서 검출된 것으로 추정하면, 프로세스는 S3601로 진행한다. AIT 모니터링 유닛(3502)은 AIT의 갱신이 허용되는지의 여부를 AIT 갱신 허용 유닛(3501)에게 질의하지만, 현재 재생 속도는 2.0이며, 그래서 AIT 의 갱신은 허용되지 않는다. 그래서, "kill"의 제어 정보가 실행하는 자바 프로그램에 대한 갱신된 AIT에 기록될지라도, 자바 프로그램은 종료되지 않고, 계속 실행된다. 제어는 다시 S3003으로 복귀한다.
더욱더 갱신된 AIT가 S3003에서 검출되지 않으면, 프로세스는 S3901로 진행한다. 여기서, S3901에서, 자바 프로그램은 자신의 에러 때문에 종료되어야 하는 비정상 상태가 되는 것으로 가정한다. 그 후, 프로세스는 S3008로 진행하며, 여기서, 응용 상태 관리 유닛(3503)은 자바 프로그램을 종료한다. 더욱이, 응용 상태 관리 유닛(3503)은 종료된 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 판정 유닛(2702)에 통지하고, 프로세스는 S3009로 진행한다. S3009에서, 트릭 플레이 명령 프로그램 판정 유닛(2702)은 AM(1704b)에 의해 종료된 자바 프로그램이 트릭 플레이 명령 프로그램 정보 유지 유닛(2703) 내에 저장된 것과 동일한 자바 프로그램 식별자를 갖는지의 여부를 판정한다. 이들이 이때 동일하므로, 프로세스는 S3910으로 진행하고, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 인수=1.0을 지정하고, setRate ()을 호출한다.
그렇게 행함으로써, 트릭 플레이 모드에 있는 서비스의 재생은 정상 재생 속도로 복귀한다. 더욱이, AIT 모니터링 유닛(3502)은 AIT의 검출을 개시하도록 명령을 받는다. 재생 속도가 그 시점에 1.0이므로, 후속하여 검출되는 AIT의 분석은 S3601에서 허용된다.
상술한 바와 같이, 제 6 실시예에 따르면, AIT의 분석은 재생 속도 = 1.0의 경우에만 실행된다. 그리고, 자바 프로그램이 서비스의 트릭 플레이를 명령한 후에 비정상적으로 종료되는 경우에, 서비스의 트릭 플레이는 자동으로 삭제되어, 정상 속도 재생으로 복귀하며, 최근 AIT의 분석은 그 시점에 실행된다.
또한, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)의 기능을 구성함으로써, 이제 트릭 플레이 모드 내에 있는 서비스의 트릭 플레이를 취소하여, 강제적으로 AIT를 검출하는 대신에, 서비스에 대한 0.0의 트릭 플레이 속도를 지정하여, AIT를 강제적으로 검출함으로써 트릭 플레이 모드 내에 있는 서비스의 재생을 일시 중지할 수 있도록 할 수 있다. 환언하면, 0.0은 파라미터 인수로서 설정됨으로써, JMF(1704a)의 setRate(부동 인수) API가 서비스의 재생을 일시 중지하도록 호출된다. 그 후, AIT 모니터링 유닛(3502)은 그때에 획득될 수 있는 최근 AIT를 검출하도록 명령을 받는다.
(제 7 실시예)
이하, 본 발명의 제 7 실시예에 따른 장치 및 방법이 도면을 참조로 기술된다.
제 7 실시예에 이용된 하드웨어 구성 등이 본 발명의 제 1 실시예의 구성과 동일하므로, 도 1 내지 도 16은 여기서 다시 이용된다. 이 도면의 구성 요소가 제 1 실시예에서와 동일한 기능을 가짐에 따라, 이에 대한 설명은 반복되지 않는다.
제 7 실시예의 소프트웨어는 도 17 및 도 40에 도시된 것과 동일하다. 트릭 플레이 관리자(1704g)와 다른 구성 요소가 제 6 실시예의 소프트웨어 구성의 것과 동일함에 따라, 이에 대한 설명은 반복되지 않는다. 제 7 실시예에 이용된 여러 데이터 포맷이 제 1 실시예에서 도 20 내지 도 23에 도시된 바와 동일함에 따라, 이 에 대한 설명은 반복되지 않는다.
트릭 플레이 관리자(1704g)는 도 42에 도시된 구성을 갖는다. 트릭 플레이 명령 프로그램 판정 유닛(2702) 및 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)이 제 6 실시예의 것들과 동일하므로, 이에 대한 설명은 반복되지 않는다.
트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 서비스 관리자(1704f)에 기록 식별자를 지정하여, 새로운 서비스를 재생하기 시작하도록 한다. 지정될 기록 식별자는 후술하는 선택적 기록 식별자 레지스트레이션 유닛(4201)으로부터 획득된다. 동시에, 서비스의 재생 속도는 JMF(1704a)를 이용하여 setRate (1.0)을 호출함으로써 정상 속도로 설정된다.
선택적 기록 식별자 레지스트레이션 유닛(4201)은 자바 프로그램이 기록 식별자를 입력하도록 한다. 실행하는 서비스의 재생은 자바 프로그램이 종료될 시에 종료되고, 이 기록 식별자에 의해 식별된 새로운 서비스의 재생은 개시한다. 선택적 기록 식별자 레지스트레이션 유닛(4201)은 API로서 registerRecordID (int recordID) 방법을 자바 프로그램에 제공한다. 자바 프로그램이 기록 식별자를 recordID로서 설정하면, 선택적 기록 식별자 레지스트레이션 유닛(4201)은 기록 식별자를 저장한다. 이 기록 식별자는 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)에 제공된다.
상술한 구성을 가진 본 실시예의 통상의 동작에 대해서는 흐름도를 이용하여 아래에 기술된다.
도 43은 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림으로부터 서 비스가 재생되는 경우를 도시한 흐름도이다.
첫째로, 사용자는 EPG(1702)에 명령하여, MPEG-2 전송 스트림 내에서 서비스를 재생하는 것으로 가정한다. 그리고 나서, S3001에서, 서비스 관리자(1704f)는, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비스를 재생하는 명령을 부여받으며, 기록 식별자는 그 서비스를 식별한다.
서비스 관리자(1704f)가 JMF(1704a)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 비디오 및 오디오를 재생하므로, 이 비디오 및 오디오는 S3002 내에서 재생된다.
게다가, 서비스 관리자(1704f)가 AM(1704b)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 AIT를 검출하므로, AM(1704b)의 AIT 모니터링 유닛(3502)는 S3003에서 AIT를 검출하기 시작한다.
여기서, 새로운 버전의 갱신된 AIT는 검출되어, Yes가 선택됨으로써, 프로세스는 S3601로 진행하는 것으로 추정한다. 자바 프로그램은 이제 실행되지 않으며, 트릭 플레이는 지정되지 않는다. 그래서, 재생 속도가 1.0이고, AIT 허용 유닛(3501)은 AIT의 갱신을 허용한다. 이에 응답하여, AIT 모니터링 유닛(3502)은 AIT를 분석하기 시작한다. 환언하면, Yes가 선택됨으로써, 프로세스는 S3004로 진행한다. AIT에서 "autostart"의 제어 정보가 지정된 자바 프로그램은 S3004에서 검색된다. 그 경우에, 프로세스는 자바 프로그램을 실행하도록 S3005로 진행한다. 그 후, 프로세스는 S3003으로 복귀한다.
여기서, S3003에서 갱신된 AIT가 검출되지 않은 경우에, 프로세스는 S3901로 진행한다. 이제, S4101에서, 이상이 자바 프로그램의 종료를 유발시키지 않으면, 프로세스는 S4311로 진행한다. S4311에서, 자바 프로그램은 선택적 기록 식별자 레지스트레이션 유닛(4201)을 이용하여 선택적 기록 식별자를 식별하는 registerRecordID (RecordID)의 방법을 호출하는 것으로 가정한다. 그 후, 프로세스는 S4312로 진행하며, 여기서, 선택적 기록 식별자 레지스트레이션 유닛(4201)은 기록 식별자를 저장한다.
그 다음, 자바 프로그램이 인수=2.0을 지정하고, S3006에서 setRate ()을 호출하며, 즉, 트릭 플레이를 명령한 것으로 가정한다. 그리고 나서, 프로세스는 S3007로 진행하며, 여기서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S3003으로 복귀한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
여기서, 갱신된 AIT는 다시 S3003에서 검출된 것으로 추정하면, 프로세스는 S3601로 진행한다. AIT 모니터링 유닛(3502)은 AIT의 갱신이 허용되는지의 여부를 AIT 갱신 허용 유닛(3501)에게 질의하지만, 현재 재생 속도는 2.0이며, 그래서 AIT의 갱신은 허용되지 않는다. 그래서, "kill"의 제어 정보가 실행하는 자바 프로그램에 대한 갱신된 AIT에 기록될지라도, 자바 프로그램은 종료되지 않고, 계속 실행된다. 제어는 다시 S3003으로 복귀한다.
더욱더 갱신된 AIT가 S3003에서 검출되지 않으면, 프로세스는 S3901로 진행한다. 여기서, S3901에서, 자바 프로그램은 자신의 에러 때문에 종료되어야 하는 비정상 상태가 되는 것으로 가정한다. 그 후, 프로세스는 S3008로 진행하며, 여기서, 응용 상태 관리 유닛(3503)은 자바 프로그램을 종료한다. 더욱이, 응용 상태 관리 유닛(3503)은 종료된 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 판정 유닛(2702)에 통지하고, 프로세스는 S3009로 진행한다. S3009에서, 트릭 플레이 명령 프로그램 판정 유닛(2702)은 AM(1704b)에 의해 종료된 자바 프로그램이 트릭 플레이 명령 프로그램 정보 유지 유닛(2703) 내에 저장된 것과 동일한 자바 프로그램 식별자를 갖는지의 여부를 판정한다. 이들이 이때 동일하므로, 프로세스는 S4313으로 진행하며, 여기서, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 선택적 기록 식별자 레지스트레이션 유닛(4201)으로부터 획득된 선택적 기록 식별자를 서비스 관리자(1704f)에 지정하여, 새로운 서비스를 재생하기 시작하도록 한다. 동시에, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 인수=1.0을 지정하고, setRate ()을 호출한다.
그렇게 행함으로써, 트릭 플레이 모드에 있는 서비스의 재생은 정상 재생 속도로 복귀한다. 환언하면, 선택적 서비스 기록 식별자에 의해 식별된 서비스의 재생은 정상 속도로 개시한다. 더욱이, AIT 모니터링 유닛(3502)은 AIT의 검출을 개시하도록 명령을 받는다. 그래서, 프로세스는 다시 S3003으로 복귀하여, 여기서, 자바 프로그램은 검출된 AIT에 기초로 하여 실행되거나 종료된다. 재생 속도가 이 시점에 1.0이므로, 후속하여 검출되는 AIT의 분석은 S3601에서 허용된다.
상술한 바와 같이, 제 7 실시예에 따르면, AIT의 분석은 재생 속도 = 1.0의 경우에만 실행된다. 그리고, 자바 프로그램이 서비스의 트릭 플레이를 명령한 후에 AIT의 제어 정보에 따라 종료되는 경우에, 개별적으로 식별된 선택적 서비스의 재생은 개시되지만, 서비스의 트릭 플레이는 자동으로 삭제되어, 정상 속도 재생으로 복귀하며, 최근 AIT의 분석은 그 시점에 실행된다.
또한, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)의 기능을 구성함으로써, 이제 트릭 플레이 모드 내에 있는 서비스의 트릭 플레이를 취소하여, 강제적으로 AIT를 검출하는 대신에, 서비스에 대한 0.0의 트릭 플레이 속도를 지정하여, AIT를 강제적으로 검출함으로써 트릭 플레이 모드 내에 있는 서비스의 재생을 일시 중지할 수 있도록 할 수 있다. 환언하면, 0.0은 파라미터 인수로서 설정됨으로써, JMF(1704a)의 setRate(부동 인수) API가 서비스의 재생을 일시 중지하도록 호출된다. 그 후, AIT 모니터링 유닛(3502)은 그때에 획득될 수 있는 최근 AIT를 검출하도록 명령을 받는다.
(제 8 실시예)
이하, 본 발명의 제 8 실시예에 따른 장치 및 방법이 도면을 참조로 기술된다.
제 8 실시예에 이용된 하드웨어 구성 등이 본 발명의 제 1 실시예의 구성과 동일하므로, 도 1 내지 도 16은 여기서 다시 이용된다. 이들 도면의 구성 요소가 제 1 실시예에서와 동일한 기능을 가짐에 따라, 이에 대한 설명은 반복되지 않는다.
제 8 실시예에 이용된 여러 데이터 포맷은, 제 1 실시예에서의 도 20, 도 21 및 도 23 뿐만 아니라, 추가적으로 제 8 실시예에 이용된 도 28 및 도 29에 도시된 것과 동일하다. 도 20, 도 21 및 도 23의 설명이 제 1 실시예에서와 동일하므로, 이와 같은 설명은 반복되지 않는다. 도 28 및 도 29는 트릭 플레이 컴플라이언트(compliant) 플래그(2805)가 도 28에 도시된 AIT에 추가된 AIT를 도시한다. 트릭 플레이 컴플라이언트 플래그는 자바 프로그램이 서비스의 트릭 플레이 동안에 실행되는 지의 여부를 지정하는 플래그이다. 특히, 트릭 플레이 컴플라이언트 플래그(2805)가 "true"를 나타내는 자바 프로그램은 서비스의 트릭 플레이 동안에도 실행된다. 한편, 트릭 플레이 컴플라이언트 플래그(2805)가 "false"를 나타내는 자바 프로그램은 서비스의 트릭 플레이가 개시한 직후에 강제적으로 종료된다.
제 8 실시예의 소프트웨어 구성은 도 17, 도 27 및 도 46에 도시된 것과 동일하다. 도 17에서, JMF(1704a), AM(1704b) 및 트릭 플레이 관리자(1704g)와 다른 구성 요소가 제 1 실시예의 소프트웨어 구성의 것과 동일함에 따라, 이에 대한 설명은 반복되지 않는다.
제 1 실시예에 기술된 동작 이외에, JMF(1704a)는 트릭 플레이가 개시된 AM(1704b)의 응용 상태 관리 유닛에 통지하며, 이때, 인수 = 1.0과 다른 값의 setRate(부동 인수)가 호출된다.
제 1 실시예에 기술된 동작 이외에, AM(1704b) 내의 응용 상태 관리 유닛은 다음의 동작을 실행한다. JMF(1704a)가 트릭 플레이를 개시한 응용 상태 관리 유닛에 통지하면, 응용 상태 관리 유닛은 실행하는 자바 프로그램에 관해 AIT에 기록된 트릭 플레이 컴플라이언트 플래그를 검사한다. 실행하는 자바 프로그램의 트릭 플레이 컴플라이언트 플래그의 값이 참(true)이면, JMF(1704a)는 자바 프로그램의 실행을 계속한다. 실행하는 자바 프로그램의 트릭 플레이 컴플라이언트 플래그의 값이 거짓(false)이면, JMF(1704a)는 자바 프로그램의 실행을 즉시 종료하여, 종료된 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 판정 유닛(2702)에 더 통지한다. 환언하면, JMF(1704a)는 제어 정보 = kill가 그 자바 프로그램에 지정된 경우에서와 같은 동작을 실행한다.
상술한 구성을 가진 본 실시예의 통상의 동작에 대해서는 흐름도를 이용하여 아래에 기술된다.
도 44는 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림으로부터 서비스가 재생되는 경우를 도시한 흐름도이다.
첫째로, 사용자는 EPG(1702)에 명령하여, MPEG-2 전송 스트림 내에서 서비스를 재생하는 것으로 가정한다. 그리고 나서, S4401에서, 서비스 관리자(1704f)는, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비스를 재생하는 명령을 부여받으며, 기록 식별자는 그 서비스를 식별한다.
서비스 관리자(1704f)가 JMF(1704a)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 비디오 및 오디오를 재생하므로, 이 비디오 및 오디오는 S3002 내에서 재생된다.
게다가, 서비스 관리자(1704f)가 AM(1704b)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 AIT를 검출하므로, AM(1704b)의 AIT 모니터링 유닛(3502)은 S4403에서 AIT를 검출하기 시작한다.
여기서, 도 28에 도시된 AIT가 검출된 것으로 추정하면, Yes가 선택되어, 프로세스는 S4404로 진행한다. AIT에서 "autostart"의 제어 정보가 지정된 자바 프로그램 식별자 = 301을 가진 자바 프로그램은 S4404에서 검색된다. 그 경우에, 프로세스는 S4408로 진행하며, 여기서, 자바 프로그램 식별자 = 301을 가진 자바 프로그램이 실행된다. 그 후, 프로세스는 S4409로 진행한다. 여기서, 실행하는 자바 프로그램이 자바 프로그램 식별자 = 301을 가진 자바 프로그램만이므로, 그의 트릭 플레이 컴플라이언트 플래그가 판독된다. 이 플래그가 이 경우에 참을 나타냄에 따라, 프로세스는 S4403으로 복귀한다.
S4403에서, 갱신된 AIT는 도 28에 도시된 AIT가 여전히 수신되기 때문에 검출되지 않아, 프로세스는 S4406으로 진행한다.
그 다음, 자바 프로그램 식별자 = 301을 가진 자바 프로그램이 인수=2.0을 지정하고, setRate ()을 호출하며, 즉, S4406에서 트릭 플레이를 명령한 것으로 가정한다. 그리고 나서, 프로세스는 S4407로 진행하며, 여기서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자 = 301을 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S4403으로 복귀한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
여기서, 도 29에 도시된 갱신된 AIT가 S4404에서 검출된 것으로 추정하면, 프로세스는 S4404로 진행한다. 도 29에 도시된 AIT에서, autostart는 자바 프로그램 식별자 = 301을 가진 자바 프로그램의 제어 정보로서 지정되어, 프로세스는 S4408로 진행한다. 그러나, 자바 프로그램 식별자 = 301을 가진 자바 프로그램의 실행이 이미 개시되었기 때문에 여기에는 아무것도 행해지지 않아, 프로세스는 S4409로 진행한다.
S4409에서, 자바 프로그램 식별자 = 301을 가진 실행하는 자바 프로그램에 지정된 트릭 플레이 컴플라이언트 플래그의 값이 도 29에 도시된 AIT에 관하여 거짓인 것으로 확인된다. 그리고 나서, 프로세스는 S4410으로 진행하며, 여기서, 자바 프로그램은 종료되고, 자바 프로그램 식별자 = 301을 트릭 플레이 명령 프로그램 판정 유닛으로 통지된다. 그 후, 트릭 플레이 명령 프로그램 판정 유닛은 트릭 플레이 명령 프로그램 정보 유지 유닛에 저장된 자바 프로그램 식별자의 값을 종료된 자바 프로그램의 통지된 식별자의 값과 비교한다. 양방의 값이 301이고 동일하여, 프로세스는 S4412로 진행한다. S4412에서, 제 2 저장 유닛으로부터 MPEG-2 전송 스트림을 판독하는 속도는 1.0으로 변화된다. 환언하면, 서비스는 정상 속도로 재생된다.
상술한 바와 같이, 제 8 실시예에 따르면, 자바 프로그램이 서비스의 트릭 플레이를 명령한 후에 AIT의 트릭 플레이 컴플라이언트 플래그의 변경에 따라 종료되는 경우에, 서비스의 트릭 플레이는 자동으로 삭제되어, 정상 속도 재생으로 복귀한다.
또한, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)의 기능을 구성함으 로써, 이제 트릭 플레이 모드에서 재생되는 서비스의 트릭 플레이를 취소하는 대신에, 서비스에 대한 0.0의 트릭 플레이 속도를 지정하여, JMF(1704a)의 setRate(부동 인수) API를 호출함으로써 트릭 플레이 모드에서 이제 재생되는 서비스의 재생을 일시 중지할 수 있도록 할 수 있다.
(제 9 실시예)
이하, 본 발명의 제 9 실시예에 따른 장치 및 방법이 도면을 참조로 기술된다.
제 9 실시예에 이용된 하드웨어 구성 등이 본 발명의 제 1 실시예의 구성과 동일하므로, 도 1 내지 도 16은 여기서 다시 이용된다. 이들 도면의 구성 요소가 제 1 실시예에서와 동일한 기능을 가짐에 따라, 이에 대한 설명은 반복되지 않는다.
제 9 실시예에 이용된 여러 데이터 포맷은, 제 8 실시예에서의 도 20, 도 21, 도 23 및 도 28에 도시된 것과 동일하다. 이들이 제 8 실시예에서 기술된 것과 동일하므로, 이에 대한 설명은 반복되지 않는다.
제 9 실시예의 소프트웨어 구성은 도 17, 도 31 및 도 46에 도시된 것과 동일하다. 도 17에 도시된 구성 요소가 제 8 실시예의 소프트웨어 구성의 것들과 동일함에 따라, 이에 대한 설명은 반복되지 않는다. 도 31에 도시된 구성 요소가 제 2 실시예의 소프트웨어 구성의 것들과 동일함에 따라, 이에 대한 설명은 반복되지 않는다.
상술한 구성을 가진 본 실시예의 통상의 동작에 대해서는 흐름도를 이용하여 아래에 기술된다.
도 45는 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림으로부터 서비스가 재생되는 경우를 도시한 흐름도이다.
첫째로, 사용자는 EPG(1702)에 명령하여, MPEG-2 전송 스트림 내에서 서비스를 재생하는 것으로 가정한다. 그리고 나서, S4501에서, 서비스 관리자(1704f)는, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비스를 재생하는 명령을 부여받으며, 기록 식별자는 그 서비스를 식별한다.
서비스 관리자(1704f)가 JMF(1704a)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 비디오 및 오디오를 재생하므로, 이 비디오 및 오디오는 S4502 내에서 재생된다.
게다가, 서비스 관리자(1704f)가 AM(1704b)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 AIT를 검출하므로, AM(1704b)의 AIT 모니터링 유닛(3502)은 S4503에서 AIT를 검출하기 시작한다.
여기서, 도 28에 도시된 AIT가 검출된 것으로 추정하면, Yes가 선택되어, 프로세스는 S4504로 진행한다. AIT에서 "autostart"의 제어 정보가 지정된 자바 프로그램 식별자 = 301을 가진 자바 프로그램은 S4504에서 검색된다. 그 경우에, 프로세스는 S4509로 진행하며, 여기서, 자바 프로그램 식별자 = 301을 가진 자바 프로그램이 실행된다. 그 후, 프로세스는 S4410으로 진행한다. 여기서, 실행하는 자바 프로그램이 자바 프로그램 식별자 = 301을 가진 자바 프로그램만이므로, 그의 트릭 플레이 컴플라이언트 플래그가 판독된다. 이 플래그가 이 경우에 참을 나타냄에 따 라, 프로세스는 S4503으로 복귀한다.
S4503에서, 갱신된 AIT는 도 28에 도시된 AIT가 여전히 수신되기 때문에 검출되지 않아, 프로세스는 S4505로 진행한다.
여기서, S4505에서, 자바 프로그램 식별자 301을 가진 자바 프로그램은 그 자신의 종료 처리 핸들러 h를 갖는 것으로 가정한다. 종료 처리 핸들러, setRate (1.0)은 트릭 플레이를 정상 속도로 복귀하기 위한 자바 언어 코드로서 기록되는 것으로 가정한다. 그 후, 자바 프로그램 식별자 301을 가진 자바 프로그램은 종료 처리 핸들러 레지스트레이션 유닛 내에 핸들러 h를 레지스터하기 위해 registerHandler (h)를 호출한다. 자바 프로그램 식별자 301을 가진 자바 프로그램은 종료 처리 핸들러를 레지스터하는 특권을 갖는 것으로 추정되는 것에 주목한다. 그리고 나서, 프로세스는 S4507로 진행한다.
그 다음, 자바 프로그램 식별자 = 301을 가진 자바 프로그램이 인수=2.0을 지정하고, setRate ()을 호출하며, 즉, S4507에서 트릭 플레이를 명령한 것으로 가정한다. 그리고 나서, 프로세스는 S4508로 진행하며, 여기서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자 = 301을 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S4503으로 복귀한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
여기서, 도 29에 도시된 갱신된 AIT가 S4404에서 검출된 것으로 추정하면, 프로세스는 S4504로 진행한다. 도 29에 도시된 AIT에서, autostart는 자바 프로그램 식별자 = 301을 가진 자바 프로그램의 제어 정보로서 지정되어, 프로세스는 S4509로 진행한다. 그러나, 자바 프로그램 식별자 = 301을 가진 자바 프로그램의 실행이 이미 개시되었기 때문에 여기에는 아무것도 행해지지 않아, 프로세스는 S4510으로 진행한다.
S4510에서, 자바 프로그램 식별자 = 301을 가진 실행하는 자바 프로그램에 지정된 트릭 플레이 컴플라이언트 플래그의 값이 도 29에 도시된 AIT에 관하여 거짓인 것으로 확인된다. 그리고 나서, 프로세스는 S4410으로 진행하며, 여기서, 자바 프로그램은 종료되고, 자바 프로그램 식별자 = 301을 트릭 플레이 명령 프로그램 판정 유닛으로 통지된다. 그 후, 트릭 플레이 명령 프로그램 판정 유닛은 트릭 플레이 명령 프로그램 정보 유지 유닛에 저장된 자바 프로그램 식별자의 값을 종료된 자바 프로그램의 통지된 식별자의 값과 비교한다. 양방의 값이 301이고 동일하여, 프로세스는 S4513으로 진행한다.
S4513에서, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 종료 처리 핸들러 레지스트레이션 유닛(3102) 내에 레지스터된 자바 프로그램 식별자(302)의 종료 처리 핸들러 h를 호출한다. 특히, 그것이 종료 처리 핸들러 h에 기록된 setRate (1.0)의 자바 언어 코드를 호출한다. 그렇게 행함으로써, 트릭 플레이 모드에 있는 서비스의 재생은 정상 재생 속도로 복귀한다.
상술한 바와 같이, 제 9 실시예에 따르면, 임의 자바 언어 코드를 실행하기 위해, 자바 프로그램이 서비스의 트릭 플레이를 명령한 후에 AIT의 트릭 플레이 컴 플라이언트 플래그의 변경에 따라 자바 프로그램이 종료될 시에 개별적으로 레지스터된 종료 처리 핸들러를 실행할 수 있다.
(제 10 실시예)
이하, 본 발명의 제 10 실시예에 따른 장치 및 방법이 도면을 참조로 기술된다.
제 10 실시예에 이용된 하드웨어 구성 등이 본 발명의 제 1 실시예의 구성과 동일하므로, 도 1 내지 도 16은 여기서 다시 이용된다. 이들 도면의 구성 요소가 제 1 실시예에서와 동일한 기능을 가짐에 따라, 이에 대한 설명은 반복되지 않는다.
도 20, 도 21 및 도 23의 설명은 제 1 실시예에서와 동일하므로, 이와 같은 설명은 반복되지 않는다. 도 47은 트릭 플레이 제어 플래그(4705)가 도 22에 도시된 AIT에 추가된 AIT를 도시한다. 트릭 플레이 제어 플래그는 자바 프로그램이 서비스의 트릭 플레이 동안에 AIT의 제어 정보(2202)에 따라 개시되거나 종료되는 지의 여부를 지정하는 플래그이다. 특히, 트릭 플레이 제어 플래그(4705)가 "true"를 나타내는 자바 프로그램은 서비스의 트릭 플레이 동안에도 제어 정보(2202)의 변경에 따라 개시되거나 종료된다. 한편, 트릭 플레이 제어 플래그(4705)가 "false"를 나타내는 자바 프로그램은 서비스의 트릭 플레이가 개시한 후에 제 5 실시예에 따른 경우에서와 같이 제어 정보(2202)의 변경을 무시한다.
제 10 실시예의 소프트웨어는 도 17에 도시된 것과 동일하다. AM(1704b)와 다른 구성 요소가 제 1 실시예의 소프트웨어 구성의 것과 동일함에 따라, 이에 대 한 설명은 반복되지 않는다.
AM(1704b)은, 제 1 실시예의 기능 이외에, 현재 재생 속도 및 트릭 플레이 제어 플래그(4705)에 따라 AIT의 갱신을 무시하는 기능을 갖는다. 도 35는 제 10 실시예의 AM(1704b)의 구성도를 도시한다. AIT 모니터링 유닛(3502) 및 응용 상태 관리 유닛(3503)이 제 3 실시예에서의 AIT 모니터링 유닛(3502) 및 응용 상태 관리 유닛(3503)과 동일하므로, 이에 대한 설명은 반복되지 않는다. 게다가, 이들은, AIT 갱신 허용 유닛(3501)이 갱신을 허용하는 경우에만 버전 업그레이드에 의한 AIT의 갱신이 허용된다는 점에서 제 3 실시예와 동일하지만, 버전 업그레이드에 의한 AIT의 그런 갱신을 허용하는 조건에서 제 3 실시예와 상이하다.
AIT 갱신 허용 유닛(3501)은, 서비스에 현재 효과적인 트릭 플레이 속도가 1.0이거나, 트릭 플레이 속도가 1.0과 다른 값이며, 그리고 트릭 플레이 제어 플래그의 값이 "true"인 경우에 새롭게 갱신된 AIT의 분석을 허용한다. AIT의 분석을 허용할 지를 결정하도록 요구되면, AIT 갱신 허용 유닛(3501)은 현재 재생 속도에 관해 JMF(1704a)에 질의한다. JMF(1704a)는 setRate ()에 설정된 트릭 플레이 속도를 다시 송신한다.
상술한 구성을 가진 본 실시예의 통상의 동작에 대해서는 흐름도를 이용하여 아래에 기술된다.
도 36은 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림으로부터 서비스가 재생되는 경우를 도시한 흐름도이다.
첫째로, 사용자는 EPG(1702)에 명령하여, MPEG-2 전송 스트림 내에서 서비스 를 재생하는 것으로 가정한다. 그리고 나서, S3001에서, 서비스 관리자(1704f)는, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비스를 재생하는 명령을 부여받으며, 기록 식별자는 그 서비스를 식별한다.
서비스 관리자(1704f)가 JMF(1704a)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 비디오 및 오디오를 재생하므로, 이 비디오 및 오디오는 S3002에서 재생된다.
게다가, 서비스 관리자(1704f)가 AM(1704b)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 AIT를 검출하므로, AM(1704b)의 AIT 모니터링 유닛(3502)는 S3003에서 AIT를 검출하기 시작한다.
여기서, 새로운 버전의 갱신된 AIT는 검출되어, Yes가 선택됨으로써, 프로세스는 S3601로 진행하는 것으로 추정한다. 자바 프로그램은 이제 실행되지 않으며, 트릭 플레이는 지정되지 않는다. 그래서, 재생 속도가 1.0이고, AIT 허용 유닛(3501)은 AIT의 갱신을 허용한다. 이에 응답하여, AIT 모니터링 유닛(3502)은 AIT를 분석하기 시작한다. 환언하면, Yes가 선택됨으로써, 프로세스는 S3004로 진행한다. AIT에서 "autostart"의 제어 정보 및 "false"의 트릭 플레이 제어 플래그가 지정된 자바 프로그램은 S3004에서 검색되는 것으로 가정한다. 그 경우에, 프로세스는 자바 프로그램을 실행하도록 S3005로 진행한다. 그 후, 프로세스는 S3003으로 복귀한다.
여기서, S3003에서 갱신된 AIT가 검출되지 않은 경우에, 프로세스는 S3006으로 진행한다. S3006에서, 자바 프로그램이 트릭 플레이를 명령하였는지의 여부가 판정된다. 이제, 자바 프로그램이 인수=2.0을 지정하고, S3006에서 setRate ()을 호출하며, 즉, 트릭 플레이를 명령한 것으로 가정한다. 그리고 나서, 프로세스는 S3007로 진행하며, 여기서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S3003으로 복귀한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
여기서, 갱신된 AIT는 다시 S3003에서 검출된 것으로 추정하면, 프로세스는 S3601로 진행한다. AIT 모니터링 유닛(3502)은 AIT의 갱신이 허용되는지의 여부를 AIT 갱신 허용 유닛(3501)에게 질의하지만, 현재 재생 속도는 2.0이고, AIT에 기록된 트릭 플레이 제어 플래그의 값이 "false"이며, 그래서 AIT의 갱신은 허용되지 않는다. 그래서, "kill"의 제어 정보가 실행하는 자바 프로그램에 대한 갱신된 AIT에 기록될지라도, 자바 프로그램은 종료되지 않고, 계속 실행된다. 제어는 다시 S3003으로 복귀한다.
더욱더 갱신된 AIT가 S3003에서 검출되지 않으면, 프로세스는 S3006으로 진행한다.
MPEG-2 전송 스트림의 판독 속도가 정상 속도일 시에 새로운 버전의 갱신된 AIT가 S3003에서 검출된 것으로 추정하면, Yes가 선택됨으로써, 프로세스는 S3601로 진행한다. 자바 프로그램은 이제 실행되지 않으며, 트릭 플레이는 지정되지 않 는다. 재생 속도가 1.0이므로, AIT 허용 유닛(3501)은 AIT의 갱신을 허용한다. 이에 응답하여, AIT 모니터링 유닛(3502)은 AIT를 분석하기 시작한다. 환언하면, Yes가 선택됨으로써, 프로세스는 S3004로 진행한다. "autostart"의 제어 정보 및 "true"의 트릭 플레이 제어 플래그가 지정된 자바 프로그램은 S3004에서 검색된 것으로 가정한다. 그 경우에, 프로세스는 자바 프로그램을 실행하도록 S3005로 진행한다. 그 후, 프로세스는 S3003으로 복귀한다.
여기서, S3003에서 갱신된 AIT가 검출되지 않은 경우에, 프로세스는 S3006으로 진행한다. S3006에서, 자바 프로그램이 트릭 플레이를 명령하였는지의 여부가 판정된다. 이제, 자바 프로그램이 인수=2.0을 지정하고, S3006에서 setRate ()을 호출하며, 즉, 트릭 플레이를 명령한 것으로 가정한다. 그리고 나서, 프로세스는 S3007로 진행하며, 여기서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S3003으로 복귀한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
여기서, 갱신된 AIT는 S3003에서 검출된 것으로 추정하면, 프로세스는 S3601로 진행한다. AIT 모니터링 유닛(3502)은 AIT의 갱신을 허용하는지의 여부를 AIT 갱신 허용 유닛(3501)에게 질의하지만, 현재 재생 속도는 2.0이고, 트릭 플레이 제어 플래그의 값이 "true"이며, 그래서 AIT의 갱신은 허용된다. 이에 응답하여, AIT 모니터링 유닛(3502)은 이 시간을 검출한 AIT를 분석하기 시작한다. 환언하면, Yes가 선택됨으로써, 프로세스는 S3004로 진행한다.
S3004에서, 갱신된 AIT에서, "kill"의 제어 정보는 먼저 S3005에서 실행된 자바 프로그램에 지정된 것으로 가정한다. 그 후, 프로세스는 S3008로 진행하며, 여기서, AM(1704b)은 그 자바 프로그램을 종료한다. AM(1704b)은 종료된 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 판정 유닛(2702)에 통지하고, 프로세스는 S3009로 진행한다. S3009에서, 트릭 플레이 명령 프로그램 판정 유닛(2702)은 AM(1704b)에 의해 종료된 자바 프로그램이 트릭 플레이 명령 프로그램 정보 유지 유닛(2703) 내에 저장된 것과 동일한 자바 프로그램 식별자를 갖는지의 여부를 판정한다. 이들이 이때 동일하므로, 프로세스는 S3010으로 진행하고, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 인수=1.0을 지정하고, setRate ()을 호출한다. 그렇게 행함으로써, 트릭 플레이 모드에 있는 서비스의 재생은 정상 재생 속도로 복귀한다.
상술한 바와 같이, 제 10 실시예에 따르면, AIT의 분석은 재생 속도가 1.0이거나, 재생 속도가 1.0과 다른 값이며, 그리고 트릭 플레이 제어 플래그의 값이 "true"인 경우에만 실행된다. 그리고, 자바 프로그램이 서비스의 트릭 플레이를 명령한 후에 AIT의 제어 정보에 따라 종료되는 경우에, 서비스의 트릭 플레이는 자동으로 삭제되어, 정상 속도 재생으로 복귀한다.
또한, 본 실시예에서, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)이 파라미터 인수로서 1.0대신에 0.0을 설정하는 구성을 변경할 경우에, JMF(1704a)의 setRate(부동 인수) API가 호출될 시에 서비스를 일시 중지할 수 있다.
(제 11 실시예)
이하, 본 발명의 제 11 실시예에 따른 장치 및 방법이 도면을 참조로 기술된다.
제 11 실시예에 이용된 하드웨어 구성 등이 본 발명의 제 10 실시예의 구성과 동일하므로, 도 1 내지 도 16은 여기서 다시 이용된다. 이들 도면의 구성 요소가 제 10 실시예에서와 동일한 기능을 가짐에 따라, 이에 대한 설명은 반복되지 않는다.
제 11 실시예의 소프트웨어 구성은 도 17 및 도 35에 도시된 것과 동일하다. 트릭 플레이 관리자(1704g)와 다른 구성 요소가 제 10 실시예의 소프트웨어 구성의 것과 동일하고, 트릭 플레이 관리자(1704g)가 제 2 실시예에서의 것과 동일함에 따라, 이에 대한 설명은 반복되지 않는다. 제 11 실시예에 이용된 여러 데이터 포맷이 제 1 실시예에서의 도 20, 도 21 및 도 23뿐만 아니라, 제 10 실시예에서의 도 47에 도시된 것과 동일함에 따라, 이에 대한 설명은 반복되지 않는다.
상술한 구성을 가진 본 실시예의 통상의 동작에 대해서는 흐름도를 이용하여 아래에 기술된다.
도 37은 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림으로부터 서비스가 재생되는 경우를 도시한 흐름도이다.
첫째로, 사용자는 EPG(1702)에 명령하여, MPEG-2 전송 스트림 내에서 서비스를 재생하는 것으로 가정한다. 그리고 나서, S3001에서, 서비스 관리자(1704f)는, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 서비스를 재생하는 명령을 부여받으며, 기록 식별자는 그 서비스를 식별한다.
서비스 관리자(1704f)가 JMF(1704a)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 비디오 및 오디오를 재생하므로, 이 비디오 및 오디오는 S3002 내에서 재생된다.
게다가, 서비스 관리자(1704f)가 AM(1704b)에 명령하여, 제 2 저장 유닛(1307) 내에 기록된 MPEG-2 전송 스트림 내에서 AIT를 검출하므로, AM(1704b)의 AIT 모니터링 유닛(3502)은 S3003에서 AIT를 검출하기 시작한다.
제 11 실시예에서, 도 47에 도시된 버전 1의 AIT, 도 48에 도시된 버전 2의 AIT 및 도 49에 도시된 버전 3의 AIT는 MPEG-2 전송 스트림으로 다중화되는 것으로 가정한다. 이들 도면 내의 각 요소는 제 10 실시예에서 기술된 것과 동일한 의미를 갖는다.
여기서, 버전 1의 AIT는 검출되어, Yes가 선택되고, 프로세스는 S3701로 진행하는 것으로 추정한다. 자바 프로그램은 이제 실행되지 않으며, 트릭 플레이는 지정되지 않는다. 그래서, 재생 속도가 1.0이고, AIT 갱신 허용 유닛(3501)은 AIT의 갱신을 허용한다. 이에 응답하여, AIT 모니터링 유닛(3502)은 AIT를 분석하기 시작한다. 환언하면, Yes가 선택됨으로써, 프로세스는 S3004로 진행한다.
S3004에서, 자바 프로그램 식별자(301 및 302)는 AIT에서 "autostart"의 제어 정보가 지정된 자바 프로그램으로서 검색된다. 그래서, 이들 자바 프로그램에 관해, 프로세스는 자바 프로그램이 실행되는 S3005로 진행한다. 그 후, 프로세스는 S3003으로 복귀한다.
여기서, 새롭게 갱신된 AIT가 S3003에서 검출되지 않는 경우에, 프로세스는 S3211로 진행한다. 자바 프로그램 식별자(302)를 가진 자바 프로그램은 그 자신의 종료 처리 핸들러 h를 갖는 것으로 가정한다. 종료 처리 핸들러, setRate (1.0)은 트릭 플레이를 표준 속도로 복귀하기 위한 자바 언어 코드로서 기록되는 것으로 가정한다. 그 후, 자바 프로그램 식별자(302)를 가진 자바 프로그램은 종료 처리 핸들러 레지스트레이션 유닛 내에 핸들러 h를 레지스터하기 위해 registerHandler (h)를 호출한다. 자바 프로그램 식별자(302)를 가진 자바 프로그램은 종료 처리 핸들러를 레지스터하는 특권을 갖는 것으로 추정되는 것에 주목한다. 그리고 나서, 프로세스는 S3006으로 진행한다. 한편, 자바 프로그램 식별자(301)를 가진 자바 프로그램은 종료 처리 핸들러를 갖지 않으므로, 그것은 종료 처리 핸들러를 레지스터하지 않고 S3006으로 진행한다.
자바 프로그램 식별자(302)를 가진 자바 프로그램은 인수=2.0을 지정하고, setRate ()을 호출하며, 즉, S3006에서 트릭 플레이를 명령하는 것으로 가정한다. 그리고 나서, 프로세스는 S3007로 진행한다. 한편, 자바 프로그램 식별자(301)를 가진 자바 프로그램은 트릭 플레이를 명령하지 않고 S3007로 진행한다. S3007에서, JMF(1704a)는 제 2 저장 유닛(1307)을 제어하여, 정상 속도의 두배로 MPEG-2 전송 스트림을 판독하는 속도를 설정한다. 동시에, JMF(1704a)는 저장하기 위해 setRate ()을 호출하는 자바 프로그램의 자바 프로그램 식별자(302)를 트릭 플레이 명령 프로그램 정보 유지 유닛(2703)에 통지한다. 그 후, 프로세스는 다시 S3003으로 복귀 한다.
이 시점에, 서비스는 정상 속도의 두배로 트릭 플레이 모드에 있다.
여기서, 버전 2의 갱신된 AIT는 S3003에서 검출된 것으로 추정하면, 프로세스는 S3701로 진행한다. AIT 모니터링 유닛(3502)은 AIT의 갱신을 허용하는지의 여부를 AIT 갱신 허용 유닛(3501)에게 질의한다. 현재 재생 속도가 2.0이고, 자바 프로그램 식별자(301 및 302)에 대응하는 트릭 플레이 제어 플래그가 제각기 "false" 및 "true"일 시에, AIT의 갱신은 자바 프로그램 식별자(302)의 자바 프로그램에 대해서만 허용된다. "kill"의 제어 정보는 자바 프로그램 식별자(302)를 가진 자바 프로그램에 대한 갱신된 AIT에 기록된다. 그래서, 자바 프로그램 식별자(302)를 가진 자바 프로그램에 관해, 프로세스는 S3008로 진행하며, 여기서, AM(1704b)은 자바 프로그램을 종료한다. AM(1704b)은 종료된 자바 프로그램의 자바 프로그램 식별자를 트릭 플레이 명령 프로그램 판정 유닛(2702)에 통지하고, 프로세스는 S3009로 진행한다.
S3009에서, 트릭 플레이 명령 프로그램 판정 유닛(2702)은 AM(1704b)에 의해 종료된 자바 프로그램이 트릭 플레이 명령 프로그램 정보 유지 유닛(2703) 내에 저장된 것과 동일한 자바 프로그램 식별자를 갖는지의 여부를 판정한다. 이 경우에, 양방의 식별자가 (302)이고, 동일하면, 프로세스는 S3010으로 진행하고, 여기서, 트릭 플레이 명령 프로그램 종료 처리 유닛(2701)은 종료 처리 핸들러 레지스트레이션 유닛(3102) 내에 레지스터된 자바 프로그램 식별자(302)의 종료 처리 핸들러 h를 호출한다. 특히, 그것이 종료 처리 핸들러 h에 기록된 setRate (1.0)의 자바 언어 코드를 호출한다. 그렇게 행함으로써, 트릭 플레이 모드에 있는 서비스의 재생은 정상 재생 속도로 복귀한다. 그 후, 제어는 다시 S3003으로 복귀한다.
여기서, 버전 3의 갱신된 AIT는 S3003에서 검출된 것으로 추정하면, 프로세스는 S3601로 진행한다. AIT 모니터링 유닛(3502)은 AIT의 갱신을 허용하는지의 여부를 AIT 갱신 허용 유닛(3501)에게 질의하지만, 현재 재생 속도가 1.0이고, 그래서, AIT의 갱신을 허용한다. 이에 응답하여, AIT 모니터링 유닛(3502)은 이때 검출된 AIT를 분석하기 시작한다. 환언하면, Yes가 선택됨으로써, 프로세스는 S3004로 진행한다.
버전 3의 갱신된 AIT에서, "kill"은 S3005에서 실행된 자바 프로그램 식별자(301)를 가진 자바 프로그램에 지정된다. 그래서, AM(1704b)은 자바 프로그램 식별자(302)를 가진 자바 프로그램을 종료한다.
상술한 바와 같이, 제 11 실시예에 따르면, AIT의 분석은, 재생 속도가 1.0이거나, 재생 속도가 1.0과 다른 값이며, 그리고 트릭 플레이 제어 플래그의 값이 "true"인 경우에만 실행된다. 게다가, 임의 자바 언어 코드를 실행하기 위해, 자바 프로그램이 서비스의 트릭 플레이를 명령한 후에 종료될 시에 개별적으로 레지스터된 종료 처리 핸들러를 실행할 수 있다.
(제 12 실시예)
이하, 본 발명의 제 12 실시예에 따른 장치 및 방법이 도면을 참조로 기술된다.
제 12 실시예는 상술한 제 1 내지 11 실시예를 구현하는 다른 하드웨어 구성 을 제공한다. 제 12 실시예에 이용된 하드웨어 구성 등은 도 24 및 도 25에 도시된다.
도 24는, 물리적 접속 시퀀스, 처리 상세 사항 및, 서비스의 기록 중에 각 디바이스의 입력/출력 데이터 포맷을 나타내는 개념도를 도시한다. 도 15에 도시된 구성 요소에 대해 동일한 번호를 가진 도면 내의 구성 요소는 이미 제 1 실시예에서 기술되었으며, 그래서, 이에 대한 설명은 반복되지 않는다. 도 15와는 대조적으로, 도 24에 도시된 하드웨어 구성에 있어서는, 제 1 저장 유닛(1308)을 통과한 후, TS 디코더(1302)에 의해 필터된 섹션은 섹션 변환 유닛(2801)을 통과하여, 다중화부를 통과하지 않고 기록 영역(1504)에 기록된다. 여기서, 섹션을 기록 영역(1504)에 기록할 시의 기록 방법은 섹션의 포맷에 따라 상이하다.
DSM-CC 파일 시스템 포맷에서 MPEG-2 전송 스트림 내에 기록된 파일 시스템의 경우에, 섹션 변환 유닛(2801)은 이 파일 시스템을, 기록 영역(1504)의 고유한, 단말기에도 또한 고유한, 파일 시스템 포맷으로 변환하고, 파일 시스템을 기록 영역(1504)에 기록한다.
게다가, AIT의 경우에, 섹션 변환 유닛(2801)은, 도 26에 도시된 바와 같이, AIT를 확장된 기록 정보 관리 테이블 포맷으로 변환하여, AIT를 기록 영역(1504)에 기록한다. 도 26에 도시된 기록 정보 관리 테이블은 도 21에 도시된 기록 정보 관리 테이블의 확장된 버전이며, 양방의 테이블에서 동일한 참조 번호로 식별된 항목이 도 21에 도시된 기록 정보 관리 테이블의 항목과 동일한 의미를 가짐에 따라, 이에 대한 설명은 생략된다.
행(2611 및 2612)의 각각은 하나의 서비스에 대한 기록 정보를 나타낸다. 행(2611 및 2612)의 각각은, 기록 식별자(2101), 채널 식별자(2102), 프로그램 넘버(2103), 서비스 기록 개시 시간(2104), 서비스 기록 종료 시간(2105), 미디어 식별자(2106) 및 AIT 정보 관리 테이블에 대한 참조를 갖는다. AIT 정보 관리 테이블은 미디어 시간(2621) 및 이에 대응하는 AIT 버전(2622)을 갖는다. 미디어 시간(2621)은 대응하는 MPEG-2 전송 스트림의 재생 시간인 시간이고, 대응하는 MPEG-2 전송 스트림 내의 위치를 나타낸다.
AIT 버전 넘버(2622)는 도 22의 AIT 버전(2200)에 대응한다. 예컨대, "001"의 기록 식별자(2101)를 가진 서비스의 기록 정보는 "TS_002"의 미디어 식별자(2106)를 가지며, 관련된 AIT 정보 관리 테이블에서 "00:00:00"의 미디어 시간(2621)에서, 대응하는 AIT 버전(2622)은 "1"이다. 동일한 방식으로, "00:05:00"의 미디어 시간(2621)에 대응하는 AIT 버전(2622)은 "2"이고, "00:20:00"의 미디어 시간(2621)에 대응하는 AIT 버전(2622)은 "3"이다. 기록 정보 관리 테이블에 관계하는 "001"의 채널 식별자(2601)를 가진 서비스의 재생 시에, "TS_002"의 미디어 식별자(2602)에 의해 식별된 비디오 및 오디오와 다중화되는 MPEG-2 전송 스트림이 재생되며; 게다가, AIT 정보 관리 테이블에 관련하여, 미디어 시간(2621)이 "00:00:00"에 도달할 시에, 자바 프로그램을 개시 또는 종료하기 위한 제어는 "1"의 AIT 버전(2622)을 가진 AIT에 따라 실행된다.
유사한 방식으로, 자바 프로그램을 개시 또는 종료하기 위한 제어는, 제각 기, 미디어 시간(2621)이 "00:05:00"에 도달할 시에 "2"의 AIT 버전(2622)을 가진 AIT에 따라, 그리고 미디어 시간(2621)이 "00:20:00"에 도달할 시에 "3"의 AIT 버전(2622)을 가진 AIT에 따라, 실행된다. 실제 AIT는, 사설(private) 섹션 포맷의 이진 파일로서, 기록 영역(1504)에 고유한, 단말기에도 또한 고유한, 파일 시스템 포맷으로 변환되어, 기록 영역(1504)에 기록된다. 기록된 파일에는, 그것이 고유 식별될 수 있고, AIT 파일 이름(2623)으로서 기록 정보 관리 테이블에 기록되는 고유 파일 이름이 제공된다.
실제 방송파에서, 동일한 AIT 버전을 가진 AIT는 반복적으로 소정 횟수 송신되지만, 본 실시예에서는, 수신된 AIT 버전의 변경을 검출함으로써, 그 시점에 갱신되는 제 1 AIT만이 기록 영역(1504)에 기록된다.
도 25는, 물리적 접속 시퀀스, 처리 상세 사항 및, 서비스의 기록 중에 각 디바이스의 입력/출력 데이터 포맷을 나타내는 개념도를 도시한다. 도 16에 도시된 구성 요소에 대해 동일한 번호를 가진 도면 내의 구성 요소는 이미 제 1 실시예에서 기술되었으며, 그래서, 이에 대한 설명은 반복되지 않는다.
도 25의 하드웨어 구성은, 기록 영역(1504)에 기록된 섹션이 TS 디코더를 통과하지 않고 섹션 판독 유닛(2901)을 통해 제 1 저장부로 판독된다는 점에서 도 16의 하드웨어 구성과 상이하다. 섹션 판독 유닛(2901)은, 기록 영역으로부터 판독된 MPEG-2 전송 스트림의 본 재생 시간에 대응하는 미디어 시간을 탐색하고, 파일로부터, 그 미디어 시간에 대응하는 AIT 및 DSM-CC 파일 시스템을 판독하여, 이들을 AIT 모니터링 유닛(3502)으로 통과시킨다. 환언하면, 도 46 등에 도시된 AIT 모니 터링 유닛(3502)은 TS 디코더의 필터링 결과를 참조하지 않지만, 섹션 판독 유닛(2901)으로부터 AIT 이진 파일 및 DSM-CC 파일 시스템을 획득한다.
여기서, "001"의 채널 식별자에 대응하는 서비스가 도 22에 도시된 AIT를 토대로 기록 영역(1504)으로부터 재생되는 경우에, 도 26에 도시된 기록 정보 관리 테이블은 일례로서 도시된다.
"001"의 채널 식별자에 대응하는 서비스가 재생된 서비스로서 식별될 시에, 이 서비스에 속하는 비디오 및 오디오뿐만 아니라, 이 서비스에 속하는 자바 프로그램은 제각기 재생되어 시작된다.
재생이 개시하는 미디어 시간이 지정되지 않은 경우에, 재생은 "00:00:00"의 미디어 시간(2621)에서 시작한다. 특히, 비디오 및 오디오로서, "001"의 기록 식별자(2101)에 대응하는 "TS_002"의 미디어 식별자(2102)를 가진 MPEG-2 전송 스트림은 "00:00:00"의 미디어 시간(2621)에서 재생된다. AIT 정보 관리 테이블을 참조하면, "00:00:00"의 미디어 시간(2621)에 대응하는 AIT 버전(2622)은 "1"이며, 그래서, "1"의 AIT 버전(2200)의 AIT는 AIT 파일로부터 판독된다. AIT의 상세 사항에 기초로 하여, "autostart"의 제어 정보(2202)의 프로그램명(2204)에 대응하는 자바 프로그램은 시작된다.
그 다음, 서비스의 재생이 계속되고, "TS_002"의 미디어 식별자(3502)에 대응하는 MPEG-2 전송 스트림이 재생되는 위치가 "00:05:00"의 미디어 시간(2621)에 도달하면, "autostart"의 제어 정보(2202)의 프로그램명(2204)에 대응하는 자바 프 로그램은 "2"의 AIT 버전(2200)의 AIT에 기초로 하여 시작되는데, 그 이유는, "00:05:00"의 미디어 시간(2621)에 대응하는 AIT 버전(2622)이 AIT 정보 관리 테이블에 관계하는 "2"이고, "destroy" 또는 "kill"의 제어 정보(2202)의 프로그램명(2204)에 대응하는 자바 프로그램이 종료되기 때문이다. 여기서, 도 22를 참조하면, "destroy"의 제어 정보(2202)의 프로그램명이 "/b/MusicXlet"이고, "kill"의 제어 정보(2202)의 프로그램명이 "/z/StudyXlet"임에 따라, 이들 프로그램명에 대응하는 자바 프로그램은 이들이 "00:05:00"의 미디어 시간(2621)에서 실행될 경우에 종료된다.
그 다음, 서비스의 재생이 계속되고, "TS_002"의 미디어 식별자(2106)에 대응하는 MPEG-2 전송 스트림이 재생되는 위치가 "00:20:00"의 미디어 시간(2621)에 도달하면, "autostart"의 제어 정보(2202)의 프로그램명(2204)에 대응하는 자바 프로그램은 "3"의 AIT 버전(2200)의 AIT에 기초로 하여 시작되는데, 그 이유는, "00:20:00"의 미디어 시간(2621)에 대응하는 AIT 버전(2622)이 AIT 정보 관리 테이블에 관계하는 "3"이고, "destroy" 또는 "kill"의 제어 정보(2202)의 프로그램명(2204)에 대응하는 자바 프로그램이 종료되기 때문이다.
상술한 바와 같이 제 12 실시예에 따르면, 다중화부에 의해 다중화된 비디오 및 오디오를, 제 1 내지 11 실시예에 따라, 다른 포맷으로 개별 기록된 AIT 파일 및 DSM-CC 파일 시스템과 조합함으로써 서비스를 재생할 수 있다. 따라서, 방송시 반복적으로 송신된 DSM-CC 파일 시스템 및 AIT는 이들이 갱신될 시에만 한번 기록 될 필요가 있으며, 그래서, 기록 영역의 저장 용량의 소비를 감소시킬 수 있다.
상술한 일부 실시예는 본 발명의 구현 예들을 나타내지만, 본 발명의 목적이 달성되는 한 다른 실시예도 구현될 수 있다.
이들 실시예에서, 케이블 시스템에 대한 구성이 도시되었지만, 본 발명은 방송 시스템의 타입과 무관하게 적용될 수 있다. 예컨대, 본 발명은 위성 시스템, 지상파 시스템, 또는 IP 네트워크를 이용하는 TV 쇼 분배 시스템에 쉽게 적용될 수 있다. 게다가, 본 발명이 각각의 방송 시스템 간의 차이와 직접적으로 관계하지 않으므로, 본 발명은 방송 시스템과 무관한 임의 송신 매체에 적용될 수 있다. 본 발명은 또한 이 시스템이 유선 또는 무선 시스템인 지와 무관하게 적용 가능하다.
AV 디코더가 비디오 및 오디오를 동시에 디코드할 필요가 없다. 본 발명은, AV 디코더가 개별 비디오 및 오디오 디코더로서 구성될 경우에도 구현될 수 있다. 게다가, AV 디코더는 어떠한 간섭도 없이 폐쇄 자막(closed captioning) 등과 같은 데이터에 대한 디코딩 기능을 가질 수 있다. AV 디코더에 의해 디코드된 오디오 신호 및 비디오 신호는 기록 영역(1504)에 기록될 때까지 어느 단계에서도 스크램블(scramble)될 수 있다.
이들 실시예에서, 조건부 액세스 시스템을 제어하는 어댑터가 도입되었지만, 이 어댑터가 본 발명의 구현을 위해 항상 필요하지는 않다. 이 어댑터는 어떤 포맷으로도 될 수 있고, 어댑터 없는 구성도 가능하다. 이와 같은 경우에, 도 15에서, 튜너로부터의 MPEG-2 전송 스트림은 TS 디코더에 직접 입력된다. 본 발명은 또한 이와 같은 경우에도 적용 가능하다. 게다가, 어댑터에 의해 MPEG-2 전송 스트림을 디스크램블(descramble)하는 것은 TS 디코더 이전에 반드시 실행될 필요는 없다. 어댑터가 임의 위치에 있고, MPEG-2 전송 스트림을 디스크램블하는 데 이용되는 구성은 쉽게 구현 가능하고, 본 발명은 이와 같은 경우에도 적용 가능하다.
AV 인코더가 오디오 및 비디오 신호를 인코드하는 인코딩 포맷에 관해, 임의 포맷은 수락 가능하다. 본 발명은 이 인코딩 포맷과 무관하게 적용 가능하다.
다중화부의 다중화 포맷은 또한 임의 포맷일 수 있다. 본 발명은 다중화 포맷과 무관하게 적용 가능하다.
디스플레이 및 스피커가 방송 기록 및 재생 장치 내에 포함되거나, 외부 디스플레이 및 스피커가 방송 기록 및 재생 장치에 접속될 수 있다. 본 발명은 디스플레이 및 스피커의 위치 및 수와 무관하게 적용 가능하다.
본 발명은, CPU 그 자체가 다수의 프로세스를 실행하는 시스템인 경우에도 구현될 수 있으며, 이 프로세스는 TS 디코딩, AV 디코딩, AV 인코딩 및 다중화의 모두 또는 일부이다.
서비스를 기록하는 포맷으로서, MPEG-2 전송 스트림은 또한, TS 디코더를 통과하지 않고, 튜너로부터 출력된 후 기록 영역에 직접 기록되거나; 또는 튜너로부터의 MPEG-2 전송 스트림의 포맷은, MPEG-2 전송 스트림의 포맷을 변환하는 번역기를 설치함으로써 변환되어, 기록 영역에 기록될 수 있다. 본 발명은 서비스 기록 방법과 무관하게 구현될 수 있다.
자바 가상 머신의 일부는 바이트코드를, CPU에 의해 해석될 수 있는 실행 가능한 형식으로 번역하여, 그 결과를 그것을 실행하는 CPU로 통과시키며; 본 발명은 이와 같은 경우에도 적용 가능하다.
상기 실시예는, 전송 스트림이 대역내로부터 획득되는 AIT에 관한 구현을 위한 방법을 기술하지만; AM이 실행하는 자바 프로그램을 참조하는 방법은 단독으로 AIT에 의존하지 않는다. 미국 케이블 시스템에 의해 이용되는 것으로 추정되는 OCAP에서, 도 3에서 나타낸 OOB의 응용 프로그램의 참조 정보를 레지스터한 XAIT가 이용된다. 게다가, ROM 내에 사전 기록된 프로그램을 개시하고, 다운로드되어, 제 2 저장 유닛에 기록되는 프로그램을 개시하는 방법과 같은 방법 등이 고려될 수 있다.
본 발명의 일부 예시적인 실시예만이 상기에서 상세히 기술되었지만, 당업자는 많은 수정이 본 발명의 새로운 요지 및 이점으로부터 실질적으로 벗어나지 않고 예시적인 실시예에서 가능함을 쉽게 알 수 있을 것이다. 따라서, 이와 같은 모든 수정은 본 발명의 범주 내에 포함되는 것으로 의도된다.
본 발명에 따른 기록 및 재생 장치와 기록 및 재생 방법에 따르면, 비디오 및 오디오의 트릭 플레이를 명령한 프로그램을 유지하고, 프로그램이 트릭 플레이를 명령한 프로그램과 동일한지의 여부를 판정하며, 프로그램이 종료될 시와, 그것이 트릭 플레이를 명령한 프로그램과 동일할 경우, 프로그램에 의해 예상되지 않은 시간 구간 내에서 잉여(redundant) 트릭 플레이를 삭제하기 위해 비디오 및 오디오의 트릭 플레이를 삭제하는 것이 가능하다. 그래서, 본 발명은, 특히, 방송 기록 및 재생 장치를 포함하는 소비자 전자 산업에 이용되는 것이 매우 가능하다. 예컨 대, 본 발명은 케이블 STB, 디지털 TV 등에 적용 가능하다. 더욱이, 본 발명은 또한, 예컨대, 셀룰러폰(cellular phone) 장치 등과 같이 방송 수신 기능을 가진 장치에 적용 가능하다.

Claims (8)

  1. 콘텐트 재생 장치로서,
    기록된 콘텐트를 재생하는 콘텐트 재생 유닛;
    프로그램을 개시 및 종료하는 프로그램 실행 유닛;
    상기 프로그램으로부터의 명령에 의거하여 기록된 콘텐트의 재생 속도를 변경하는 콘텐트 재생 속도 변경 유닛;
    콘텐트의 재생 속도를 변경하도록 상기 콘텐트 재생 속도 변경 유닛에 명령하는 프로그램을 식별하는 트릭 플레이 명령 프로그램 식별 유닛;
    상기 프로그램 실행 유닛에 의해 실행되는 프로그램들 중에서 종료된 프로그램을 식별하는 종료된 프로그램 식별 유닛;
    콘텐트의 재생 속도의 변경을 명령한 프로그램으로서 트릭 플레이 명령 프로그램 식별 유닛에 의해 식별되는 프로그램이 상기 종료된 프로그램 식별 유닛에 의해 식별된 종료된 프로그램인지의 여부를 판정하는 트릭 플레이 명령 프로그램 판정 유닛 및;
    상기 트릭 플레이 명령 프로그램 판정 유닛이 콘텐트의 재생 속도의 변경을 명령한 프로그램이 종료된 프로그램임을 판정할 때 콘텐트의 재생 속도를 정상 재생 속도로 변경하는 트릭 플레이 명령 프로그램 종료 처리 유닛을 포함하는 콘텐트 재생 장치.
  2. 청구항 1에 있어서, 상기 콘텐트는, 비디오, 오디오, 프로그램 및, 상기 비디오와 오디오 및 프로그램을 서로 동기화하는 동기화 정보를 포함하고,
    상기 콘텐트 내에 포함된 프로그램은, 상기 동기화 정보에 의거하여 상기 프로그램 실행 유닛에 의해 실행되는, 콘텐트 재생 장치.
  3. 청구항 1에 있어서,
    상기 프로그램을 수신하는 프로그램 수신 유닛을 더 포함하고,
    상기 프로그램 수신 유닛에 의해 수신된 프로그램은 상기 프로그램 실행 유닛에 의해 실행되는, 콘텐트 재생 장치.
  4. 청구항 2에 있어서, 상기 프로그램 실행 유닛은, 상기 콘텐트에 포함된 상기 동기화 정보를 참조해서 프로그램을 개시 및 종료하는, 콘텐트 재생 장치.
  5. 청구항 2에 있어서, 상기 동기화 정보는, 프로그램이 강제로 종료될지의 여부를 나타내는 트릭 플레이 컴플라이언트 플래그를 포함하고,
    상기 프로그램 실행 유닛은, 상기 콘텐트에 포함된 동기화 정보 내의 트릭 플레이 컴플라이언트 플래그에 의거하여 프로그램을 개시 및 종료하는, 콘텐트 재생 장치.
  6. 청구항 2에 있어서, 상기 프로그램 실행 유닛은, 또한 프로그램 실행 중 이 상이 발생될 때 프로그램을 강제로 종료하는, 콘텐트 재생 장치.
  7. 청구항 4에 있어서, 상기 프로그램 실행 유닛은, 콘텐트의 재생 속도가 저속일 때만 콘텐트 내에 포함된 동기화 정보를 참조하는, 콘텐트 재생 장치.
  8. 청구항 7에 있어서, 상기 프로그램 실행 유닛은, 콘텐트의 재생 속도가 정상 재생 속도 이하일 때만 콘텐트 내에 포함된 동기화 정보를 참조하는, 콘텐트 재생 장치.
KR1020077026444A 2005-05-18 2006-05-15 콘텐트 재생 장치 KR20080012293A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68197405P 2005-05-18 2005-05-18
US60/681,974 2005-05-18

Publications (1)

Publication Number Publication Date
KR20080012293A true KR20080012293A (ko) 2008-02-11

Family

ID=36608561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077026444A KR20080012293A (ko) 2005-05-18 2006-05-15 콘텐트 재생 장치

Country Status (8)

Country Link
US (1) US7962001B2 (ko)
EP (2) EP2106135A3 (ko)
JP (1) JP2008546220A (ko)
KR (1) KR20080012293A (ko)
CN (2) CN101176341B (ko)
CA (1) CA2607650A1 (ko)
DE (1) DE602006017076D1 (ko)
WO (1) WO2006123799A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2609967A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co. Ltd. Recording and reproduction apparatus and recording and reproduction method
WO2006129819A1 (en) 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast receiving terminal and program execution method
US8020084B2 (en) * 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8799757B2 (en) * 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US20070006238A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Managing application states in an interactive media environment
US20070006065A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Conditional event timing for interactive multimedia presentations
US8656268B2 (en) * 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US8108787B2 (en) 2005-07-01 2012-01-31 Microsoft Corporation Distributing input events to multiple applications in an interactive media environment
US7941522B2 (en) * 2005-07-01 2011-05-10 Microsoft Corporation Application security in an interactive media environment
US20070006062A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
EP1900203A1 (en) * 2005-07-06 2008-03-19 Matsushita Electric Industrial Co., Ltd. Recording and reproduction apparatus
US20090238545A1 (en) * 2005-11-22 2009-09-24 Matsushita Electric Industrial Co., Ltd. Reproducing device and program
WO2007072891A1 (en) * 2005-12-19 2007-06-28 Matsushita Electric Industrial Co., Ltd. Recording and reproduction apparatus
CN101341748A (zh) * 2005-12-19 2009-01-07 松下电器产业株式会社 内容管理系统
CA2633196A1 (en) * 2005-12-19 2007-06-28 Matsushita Electric Industrial Co. Ltd. Recording apparatus with remaining capacity detection unit
US7803998B2 (en) * 2005-12-21 2010-09-28 Pioneer Hi-Bred International, Inc. Methods and compositions for modifying flower development
KR20080006864A (ko) * 2006-07-14 2008-01-17 엘지전자 주식회사 데이터 방송 어플리케이션을 제어하는 방법 및 이를수신하는 방송 수신기
US7861150B2 (en) * 2006-11-07 2010-12-28 Microsoft Corporation Timing aspects of media content rendering
JP2008135135A (ja) * 2006-11-29 2008-06-12 Matsushita Electric Ind Co Ltd データ管理方法およびテーブル作成方法、データ管理装置、データ管理プログラムならびにこれを利用したデジタル音響機器
US20100054096A1 (en) * 2006-12-05 2010-03-04 Jiro Kiyama Reproduction apparatus, control program, recording medium, and control method for controlling reproduction of content
JP5211569B2 (ja) * 2007-07-26 2013-06-12 ソニー株式会社 コンテンツ再生装置、コンテンツ再生方法、およびプログラム
JP5282383B2 (ja) * 2007-09-06 2013-09-04 ソニー株式会社 コンテンツ再生装置、コンテンツ再生方法、プログラム、およびコンテンツ再生システム
US20100218171A1 (en) * 2009-02-26 2010-08-26 Computer Measurement Laboratory, Inc. Computer bus monitoring for the adaptive control of executing software processes
US8369413B2 (en) * 2009-04-23 2013-02-05 Mediatek Inc. Transport stream processing system and related method thereof
JP2011165134A (ja) * 2010-02-15 2011-08-25 Sony Corp コンテンツ再生装置、携帯機器、及び異常検知方法
KR20160018268A (ko) * 2014-08-08 2016-02-17 삼성전자주식회사 라인 인터랙션을 이용하여 컨텐트를 제어하는 방법 및 장치
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
TWI606724B (zh) * 2016-10-03 2017-11-21 和碩聯合科技股份有限公司 多媒體播放裝置及其播放方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US609210A (en) * 1898-08-16 John henry papps and louis frank papps
US67043A (en) * 1867-07-23 Levi gris
US210949A (en) * 1878-12-17 Improvement in grain-binders
US100321A (en) * 1870-03-01 Improvement in bottle-cocks
US78296A (en) * 1868-05-26 Edwin leigh
EP0767954B1 (en) * 1994-04-13 2002-09-18 RCA Thomson Licensing Corporation Magnetic tape with non-standard video signal
CA2257577C (en) * 1997-04-07 2002-03-19 At&T Corp. System and method for interfacing mpeg-coded audiovisual objects permitting adaptive control
US6327418B1 (en) * 1997-10-10 2001-12-04 Tivo Inc. Method and apparatus implementing random access and time-based functions on a continuous stream of formatted digital data
US6654539B1 (en) * 1998-10-26 2003-11-25 Sony Corporation Trick playback of digital video data
JP2000358217A (ja) 1999-06-14 2000-12-26 Matsushita Electric Ind Co Ltd デジタル放送システムおよびデジタルビデオ記録再生装置
CN1225905C (zh) * 1999-10-29 2005-11-02 公共电视公司 交互式节目回放
EP2469850A3 (en) * 2001-02-21 2013-07-10 United Video Properties, Inc. Systems and methods for interactive program guides with personal video recording features
US7657152B2 (en) 2002-05-28 2010-02-02 Panasonic Corporation Broadcast playback and/or recording apparatus
US20040210949A1 (en) 2003-04-21 2004-10-21 Matsushita Electric Industrial Co., Ltd. Data reception and playback apparatus, data reception and playback method, and data reception and playback processing program

Also Published As

Publication number Publication date
EP1900206B1 (en) 2010-09-22
US20060269221A1 (en) 2006-11-30
JP2008546220A (ja) 2008-12-18
EP2106135A3 (en) 2009-12-30
US7962001B2 (en) 2011-06-14
CA2607650A1 (en) 2006-11-23
EP2106135A2 (en) 2009-09-30
WO2006123799A1 (en) 2006-11-23
EP1900206A1 (en) 2008-03-19
CN101176341A (zh) 2008-05-07
DE602006017076D1 (de) 2010-11-04
CN101917580B (zh) 2011-10-05
CN101917580A (zh) 2010-12-15
CN101176341B (zh) 2010-05-19

Similar Documents

Publication Publication Date Title
EP1900206B1 (en) Content reproduction apparatus
US8739174B2 (en) Broadcast receiving terminal and program execution method
US20060280443A1 (en) Broadcast recording and reproduction apparatus and method thereof
US7840116B2 (en) Broadcast receiving terminal
US20070022208A1 (en) Recording and reproduction apparatus
US20070140651A1 (en) Recording apparatus
US20070157263A1 (en) Content management system
KR20080015083A (ko) 기록 및 재생 장치, 기록 및 재생 방법
US20070011357A1 (en) Recording and reproduction apparatus
US20070154172A1 (en) Recording and reproduction apparatus
MX2007013061A (es) Aparato de reproduccion de contenido.
JP2006345505A (ja) 放送蓄積端末
MX2007013537A (es) Aparato y metodo para la grabacion y reproduccion de transmisiones.
MX2007014724A (es) Terminal de recepcion de transmisiones y metodo de ejecucion de programas.

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee