KR20100056172A - 애플리케이션 실행 방법 및 장치 - Google Patents

애플리케이션 실행 방법 및 장치 Download PDF

Info

Publication number
KR20100056172A
KR20100056172A KR1020080115219A KR20080115219A KR20100056172A KR 20100056172 A KR20100056172 A KR 20100056172A KR 1020080115219 A KR1020080115219 A KR 1020080115219A KR 20080115219 A KR20080115219 A KR 20080115219A KR 20100056172 A KR20100056172 A KR 20100056172A
Authority
KR
South Korea
Prior art keywords
channel
application
information
service
extracted
Prior art date
Application number
KR1020080115219A
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 엘지전자 주식회사
Priority to KR1020080115219A priority Critical patent/KR20100056172A/ko
Publication of KR20100056172A publication Critical patent/KR20100056172A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Software Systems (AREA)
  • Circuits Of Receivers In General (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 애플리케이션 실행방법 및 장치에 관한 것으로, 본 발명에 따른 애플리케이션 실행방법의 일실시 예는, 앱스트랙트 서비스와 그에 대한 애플리케이션 채널에 대한 정보가 포함된 테이블을 포함하는 방송 신호를 수신하는 단계; 상기 수신되는 방송 신호로부터 상기 테이블을 역다중화하는 단계; 외부로부터 채널 변경 요청을 수신하는 단계; 상기 수신된 요청에 따라 변경될 채널이 애플리케이션 채널인지 판단하기 위해 상기 역다중화한 테이블로부터 상기 앱스트랙트 서비스와 애플리케이션 채널에 대한 정보를 추출하는 단계; 및 상기 추출된 애플리케이션 채널에 대한 정보를 기반으로 판단시 상기 변경될 채널이 상기 애플리케이션 채널이면, 상기 추출된 앱스트랙트 서비스에 대한 정보를 근거로 상기 변경될 채널에서 해당 애플리케이션을 실행하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
따라서, 본 발명에 따른 애플리케이션 실행방법 및 장치에 따르면, 채널 변경만으로 애플리케이션의 자동실행 가능하고, 기존 장치와 호환성을 유지할 수 있으며, 사용자에게 애플리케이션에 대한 접근편리성을 제공할 수 있는 효과가 있다.
디지털 방송 수신기, 애플리케이션, 앱스트랙트 서비스, 애플리케이션 채널, 채널 변경

Description

애플리케이션 실행 방법 및 장치{Method for operating an application and apparatus thereof}
본 발명은 애플리케이션 실행 방법 및 그 장치에 관한 것으로, 더욱 상세하게는 채널 변경에 따라 애플리케이션이 실행되도록 하는 방법 및 장치에 관한 것이다.
종래 서비스의 개념은 오디오와 비디오에 한정되어 있었으나, 최근에는 하드웨어(Hardware)의 고사양화 등으로 인해 다양하고 복잡한 애플리케이션들이 점차 많이 나오고 있다. 이에 따라 하나의 애플리케이션이 하나의 서비스로 인식되고 이용되기도 한다.
따라서, 방송 환경 역시 그러한 애플리케이션들이 동작 가능하도록 변화하고 있다.
그러나 사용자의 입장에서는 일반적인 채널 변경 등에 의해 접근이 불가능한 경우가 많고 특정 키 등을 이용하여야만 접근 가능한 경우들이 많아 여전히 애플리케이션에 대한 접근 편리성에 제한을 받는 문제점이 있고, 그에 따라 불편을 느낄 수 있다.
상기와 같은 문제점을 해결하기 위해 본 발명의 목적은, 채널 변경에 따라 애플리케이션이 자동으로 실행되도록 하는 방법을 제공하고자 한다.
본 발명의 또 다른 목적은, 상기와 같은 애플리케이션 실행방법을 제공하는 장치를 제공하고자 한다.
상기 목적을 달성하기 위한 본 발명에 따른 애플리케이션 실행방법의 일실시 예는, 앱스트랙트 서비스와 그에 대한 애플리케이션 채널에 대한 정보가 포함된 테이블을 포함하는 방송 신호를 수신하는 단계; 상기 수신되는 방송 신호로부터 상기 테이블을 역다중화하는 단계; 외부로부터 채널 변경 요청을 수신하는 단계; 상기 수신된 요청에 따라 변경될 채널이 애플리케이션 채널인지 판단하기 위해 상기 역다중화한 테이블로부터 상기 앱스트랙트 서비스와 애플리케이션 채널에 대한 정보를 추출하는 단계; 및 상기 추출된 애플리케이션 채널에 대한 정보를 기반으로 판단시 상기 변경될 채널이 상기 애플리케이션 채널이면, 상기 추출된 앱스트랙트 서비스에 대한 정보를 근거로 상기 변경될 채널에서 해당 애플리케이션을 실행하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
이때, 상기 추출한 앱스트랙트 서비스와 애플리케이션 채널에 대한 정보를 저장하는 단계를 더 포함할 수 있다.
그리고 상기 추출된 애플리케이션 채널에 대한 정보를 기반으로 상기 변경될 채널이 상기 애플리케이션 채널에 해당하는지 판단하는 단계를 더 포함할 수 있다.
또한, 상기 애플리케이션 채널에 대한 정보는 상기 앱스트랙트 서비스에 해당하는 각 애플리케이션이 실행될 메이져 채널에 대한 정보와 마이너 채널에 대한 정보를 포함할 수 있다.
그리고 상기 앱스트랙트 서비스는 언바운드 애플리케이션을 포함할 수 있다.
또한, 상기 메이져 채널에 대한 정보와 마이너 채널에 대한 정보는 송신단에서 어떤 채널에 어떤 애플리케이션을 바운드시킬 것인 미리 정한 값일 수 있다.
그리고 상기 테이블은 XAIT(eXtended Application Information Table) 테이블을 포함할 수 있다.
또한, 상기 앱스트랙트 서비스와 그에 대한 애플리케이션 채널에 대한 정보는 상기 XAIT 테이블 내 Abstract_Service_Descriptor에 포함되어 전송될 수 있다.
그리고 상기 판단 결과 상기 변경될 채널이 상기 애플리케이션 채널에 해당하지 않는다면, 해당 AV 채널을 튜닝하여 제공할 수 있다.
본 발명의 일실시 예에 따라 애플리케이션 실행방법을 제공하는 장치인 디지털 방송 수신기는, 앱스트랙트 서비스와 그에 대한 애플리케이션 채널에 대한 정보가 포함된 테이블을 포함하는 방송 신호를 수신하는 튜너부; 상기 수신된 방송 신호를 복조하는 복조부; 상기 복조된 방송 신호 내 테이블을 역다중화하는 역다중화부; 외부로부터 채널 변경 요청을 수신하는 외부 입력 수신부; 및 상기 역다중화된 테이블 내 앱스트랙트 서비스와 그에 대한 애플리케이션 채널에 대한 정보를 파싱하여 추출하고, 추출된 애플리케이션 채널 정보를 기반으로 상기 수신되는 채널 변 경 요청에 따라 변경될 채널이 애플리케이션 채널에 해당하는지 판단하고, 판단 결과 변경될 채널이 애플리케이션 채널이면, 추출된 앱스트랙트 서비스에 대한 정보를 기반으로 해당 애플리케이션 채널에 통해 애플리케이션을 제공하도록 제어하는 프로세서부;를 포함하여 구성하는 것을 특징으로 한다.
이때, 상기 추출된 앱스트랙트 서비스와 그에 대한 애플리케이션 채널에 대한 정보를 저장하는 저장매체를 더 포함할 수 있다.
그리고 상기 프로세서부는 다수의 애플리케이션들과 미들웨어를 포함하되, 상기 미들웨어는, 각 애플리케이션과 정보 또는 요청을 송수신하는 인터페이스 모듈과, 상기 외부 입력 수신부로부터 수신되는 채널 변경 요청에 따라 상기 변경될 채널이 애플리케이션 채널에 해당하는지 판단하고, 판단 결과 변경될 채널이 애플리케이션 채널이면 해당 애플리케이션이 실행되도록 제어하는 채널 변경 제어 모듈을 포함할 수 있다.
따라서, 본 발명에 따른 애플리케이션 실행방법 및 그 장치에 따르면,
첫째, 채널 변경만으로 애플리케이션을 자동으로 실행시킬 수 있는 효과가 있다.
둘째, 기존 장치와 호환성을 유지할 수 있는 효과가 있다.
셋째, 사용자에게 애플리케이션에 대한 접근 편리성을 제공할 수 있는 효과가 있다.
이하 상기와 같은 과제를 구체적으로 해결하기 위한 본 발명의 기술적인 사상을 포함하는 실시 예를 첨부한 도면을 참조하여 설명한다. 여기에서, 도면에 도시되고 그와 관련하여 설명되는 본 발명의 구성과 작용 등은 본 발명의 기술적인 사상을 설명하기 위한 일 예로서 설명되는 것인바, 이것에 의하여 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
또한, 이하에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 발명에서 사용되는 용어는 단순히 그 용어의 명칭이 아니라 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되고 참조하여야 함을 밝혀두고자 한다.
이하에서는 본 발명에 따른 애플리케이션 실행방법 및 그 장치에 관해 첨부된 도면을 참조하여 보다 구체적으로 설명한다.
도 1은 본 발명과 관련하여 방송 수신기의 계층 구조에 대하여 도시한 구조도이다.
도 1을 참조하면, 방송 수신기(100)는, 애플리케이션(Application, 110), 미들웨어(120) 및 자원(Resources, 130)을 구비한다.
애플리케이션(110)은 방송 수신기(100)에서의 다양한 목적들을 달성하기 위해 실행되는 프로그램으로서 정의된다. 그리고 애플리케이션(110)은 방송 수신 기(100) 상에서 복수의 애플리케이션(111, 112, …, 119)들로 실행될 수 있다.
애플리케이션(111, 112, …, 119)들은 적절하게 설치된 방송 수신기(100)로 디지털 텔레비전 프로그램들과 함께 방송 스트림으로 방송된다. 애플리케이션(111, 112, …, 119)들은 관련 규격 하에 특정된 DSM-CC 프로토콜과 같은 프로토콜에 따라 캐로셀(carousel) 포맷으로 방송될 수 있고, 주기적으로 방송된다.
적절하게 설치된 방송 수신기(100)는 이들 애플리케이션(111, 112, …, 119)들을 수신하고 그것들을 국부적으로 실행한다. 예시적인 애플리케이션(111, 112, …, 119)들에는 전자 프로그램 가이드들, 따라하는(play-along) 게임들, 텔레뱅킹, 메뉴 네비게이션 옵션들, 텔레쇼핑, 전자 신문들 및 유사한 정보 서비스들이 있다.
관련하여, 이하 본 명세서에서는 애플리케이션(110)은, 설명의 편의를 위해 엑스렛(Xlet) 애플리케이션(이하 'Xlet')을 예로 하여 설명한다. 다만, 이에 한정되는 것은 아니며, 모든 데이터 방송 플랫폼에서 동작하는 애플리케이션에 적용 가능함을 미리 밝혀둔다.
Xlet을 실행하기 위한 기본적인 하드웨어는 자바 TV 플랫폼(예를 들어, 도 1의 미들웨어(120))을 지원하는 셋톱박스 또는 디지털 텔레비전 수신기를 들 수 있다. Xlet들은 "주된(main)" 방법을 가지지 않으며 Xlet들은 인터페이스 Xlet을 실행한다.
Xlet들은 수명 주기를 가지며, 수명 주기 메소드 서명(life cycle method signature)은 인터페이스 Xlet에 의해 정의된다. 인터페이스 Xlet은 생성, 초기화, 시작 및 파괴와 같은 Xlet 상태 변화들을 알리기 위해 수명 주기 메소드들을 제공 한다.
그러나 인터페이스 Xlet은 그 수명 주기 메소드들에 대한 실행을 제공하지 않는다. 모든 자바 TV 실행들은 인터페이스 Xlet을 경유하여 다양한 애플리케이션 상태들을 통해 하나 이상의 Xlet들을 이동시키기 위해 수명 주기 메소드들을 호출하는 애플리케이션 매니저(127)를 가진다.
인터페이스 Xlet은 그 수명 주기 메소드들에 대한 실행을 제공하지 않는다. 따라서, 개발자는 Xlet 수명 주기에서의 각각의 지점에서 일어나는 것을 정의함으로써 그 메소드들에 대한 애플리케이션-지정 실행들을 제공한다. 예를 들면, 게임 Xlet에 대한 iniXlet 메소드는 사용자 인터페이스 구성 요소들을 생성할 것이다. Xlet은 몇몇 상태 변화들 자체를 개시하고 XletContext 인터페이스에서 메소드들을 야기함으로써 그 상태 변화들을 애플리케이션 매니저(127)에 알리도록 설계된다.
인터페이스 Xlet은 자바 TVTM API에 정의된 패키지들(packages) 중 하나인 javax.tv.xlet 패키지에 의해 정의된다. 자바 TV API(Application Programming Interface)는 패키지들로 그룹핑된 인터페이스들 및 클래스들로 이루어진다. 이들 패키지들은 텔레비전 네트워크들에 의해 전송된 방송 스트림을 통해 디지털 수신기로 전송된 비디오, 오디오, 및 데이터를 처리하기 위한 인터페이스들 및 클래스들을 포함한다.
javax.tv.xlet에 정의된, 인터페이스 Xlet은 애플리케이션 매니저가 Xlet을 생성, 초기화, 시작, 정지 및 파괴할 수 있도록 허용한다. 애플리케이션 매니 저(127)는 Xlet의 상태를 유지하고 다양한 수명주기 메소드들을 통해 Xlet 상에 메소드들을 야기한다. Xlet은 애플리케이션 매니저(127)에 의해 지시되는 바와 같이 그것의 내부 동작들 및 리소스 사용들을 업데이트하기 위해 이들 메소드들을 실행한다.
도 2는 본 발명과 관련하여 애플리케이션의 라이프 싸이클(life cycle)의 일 예를 도시한 개념도이다.
도 2를 참조하면, javax.tv.xlet에 의해 정의된 바와 같이, 인터페이스 Xlet의 메소드 요약은 다음과 같다. Xlet은 메모리(memory)에 로드된 상태(loadedstate, 210)가 된다. initXlet은 로드된 상태(loaded state, 210)의 Xlet 자체를 초기화하고 중지 상태(paused state, 220)로 진입하기 위해 Xlet에 신호를 보낸다. startXlet은 서비스를 제공하기 시작하고 활성 상태(active state, 230)로 진입하기 위해 Xlet에 신호를 보낸다. PauseXlet은 서비스 제공을 중지하고 중지된 상태(220)로 진입하기 위해 Xlet에 신호를 보낸다. destroyXlet은 서비스 제공을 종료하고 파괴된 상태(destroyed state, 240)로 진입하기 위해 Xlet에 신호를 보낸다.
미들웨어(120)는 애플리케이션(110)과 자원(130) 간을 매개하는 역할을 수행한다. 또한, 미들웨어(120)는 애플리케이션(110)의 정보 또는 명령을 수신하고, 수신한 명령을 실행하여 수신한 명령에 대한 결과를 산출하며, 산출한 결과를 애플리케이션(120)에 송신하는 기능을 수행한다. 이를 위해 미들웨어(120)는 인터페이스(Interface, 121), 시스템 서비스(System Service, 126)를 구비한다.
인터페이스(121)는 애플리케이션(110)과 시스템 서비스(126) 사이에서 데이터, 정보 및 명령을 송수신하는 기능을 수행한다. 즉, 애플리케이션(110)은 인터페이스(121)를 통해 미들웨어(120)가 제공하는 서비스를 사용할 수 있다. 애플리케이션(110)의 제작자가 미들웨어(120)을 사용할 수 있도록, 각 방송 규격에는 미들웨어(120)가 제공하는 특정 서비스를 요청하기 위한 요청 양식이 정의되어 있다. 만일애플리케이션(110)이 각 방송 규격에 정의된 요청 약식에 따라 미들웨어(120)에 특정 서비스에 대한 수행 요청을 한 경우에는, 인터페이스(121)는 특정 서비스에 대한 수행 요청을 수신하고 시스템 서비스(126)가 요청한 특정 서비스를 수행할 수 있도록 특정 서비스에 대한 수행 요청을 시스템 서비스(126)로 전달한다. 여기서, 방송 규격에서 정의된 미들웨어(120)가 제공하는 특정 서비스를 요청하기 위한 요청 양식은 JAVA로 정의된 API가 될 수 있다. 관련하여, "javax.tv.xlet.Xlet"은 정의된 인터페이스이고 관련 규격 하에서 실행될 수 있고 인식될 수 있는 엔티티(entity)이다.
시스템 서비스(126)는 인터페이스(121)가 송신하는 요청에 따라 서비스를 수행하고, 그 결과를 인터페이스(126)에 제공한다. 또한, 시스템 서비스(126)는 애플리케이션(110)을 방송국으로부터 다운로드 받고, 다운로드 받은 애플리케이션(110)의 라이프 싸이클을 관리하며, 활성 상태(active state, 230)의 애플리케이션(110)에 자원(130)을 할당 및 반환을 관리하고 할당된 자원에 대한 정보를 관리한다. 이를 위해 시스템 서비스(126)는 애플리케이션 매니저(Application Manager,127)를 구비한다. 여기서, 미들웨어(120)는 일예로 관련 규격에 따라 구현되어 해당 규격 의 API를 지원할 수 있다.
애플리케이션 매니저(127)는 애플리케이션(111, 112, …, 119)의 라이프 싸이클을 관리하는 모듈로서, 애플리케이션(111, 112, …, 119)의 생성, 실행, 및 종료를 관리한다.
자원(130)은 다양한 기능을 가진 하드웨어 엔티티를 의미하며, 자원(130)은 하드웨어 자원 및 소프트웨어 자원으로 표현될 수 있다. 하드웨어 자원은 튜너부, 복조부, CA(Conditional Access), 역다중화기, 디코더, 메모리, 하드디스크 및 네트워크 어댑터를 말한다. 또한, 소프트웨어 자원은 그룹화된 복수의 하드웨어 엔티티를 나타낼 수 있고 프레스, 쓰레드 등과 같은 운영체제(Operating System) 상에 정의되는 자원일 수 있다. 여기서, 쓰레드는 프로세스 내에서 실행되는 흐름 단위를 말한다. 일반적으로 한 프로그램은 하나의 쓰레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 쓰레드를 동시에 실행할 수도 있다. 즉, 프로그램은 멀티쓰레드(multithread) 방식으로 실행될 수 있다. 이러한 멀티쓰레드 방식은, 프로세스가 독립적으로 실행되며 각각 별개의 메모리를 차지하고 있는 것과 달리, 각 쓰레드가 프로세스 내의 메모리를 공유해 사용하는 실행 방식이다.
또한, 자원(130)은 애플리케이션(110)이 내부 구현에 무관하게 이용될 수 있도록 애플리케이션(110)에 투명하게(transparently) 제공되며, 상술한 바와 같이 이를 위해 미들웨어(120)가 애플케이션(110)과 자원(130)을 매개하는 역할을 수행한다. 그리고 자원(130)은 공유 자원과 비공유 자원으로 구분될 수 있다. 공유 자원은 메모리, 쓰레드, 네트워크 세션 등의 자원으로 애플리케이션(111, 112, …,119)들이 상호 공유할 수 있는 자원을 말하며, 비공유 자원은 튜너부 등의 자원으로 애플리케이션(111)이 사용하고 있는 경우에는 다른 애플리케이션(112,…,119)이 사용할 수 없는 자원을 말한다.
자원(130)을 이용하기 위해서 Xlet은 자율적으로 VM 메모리와 쓰레드들을 사용하게 된다. 이러한 자원에 대한 규약이나, 관리는 전적으로 미들웨어(120)에서 이루어지며 애플리케이션(110)에서는 자신의 자원의 사용량에 대해 큰 고려없이 동작하게 된다.
도 3은 본 발명의 일실시 예에 따라 구성한 방송 수신기의 블록도이다.
도 3을 참조하면, 본 발명에 따른 방송 수신기(300)는 튜너부(311), 복조부(312), CA부(313), 역다중화부(314), 미디어 디코더(315), 사용자 인터페이스부(321), 저장매체(322), 네트워크 인터페이스부(323) 및 프로세서(350)를 구비한다. 여기에서, 튜너부(311), 복조부(312), CA부(313), 역다중화부(314), 미디어 디코더(315), 사용자 인터페이스부(321), 저장매체(322), 네트워크 인터페이스부(323) 및 프로세서(350)는 방송 수신기(100)의 자원(130)에 해당하는 구성요소이다.
튜너부(311)는 지상파, 위성, 케이블 중 적어도 하나로부터 방송 데이터를 수신하여 복조부(312)로 출력한다. 즉, 튜너부(311)는 안테나, 케이블, 위성 중 어느 하나를 통해 입력되는 방송 신호(301) 중 특정 채널의 주파수를 튜닝하여 복조부(312)로 출력한다. 튜너부(311)는 방송 소스 예를 들어, 지상파, 케이블, 위성별로 각각 구비될 수도 있고, 통합 튜너일 수도 있다. 또한, 튜너부(311)가 지상파 방송용 튜너라고 가정할 경우, 적어도 하나의 디지털 튜너와 아날로그 튜너를 각각 구비할 수도 있고, 디지털/아날로그 통합 튜너일 수도 있다. 튜너부(311)는 지상파를 예로 들 경우, 안테나를 통해 전송되는 지상파 방송 콘텐츠 즉, 방송 신호 중 사용자가 선택한 채널의 방송 신호를 튜닝하여 복조부(312)로 출력한다.
여기에서, 튜너부(311)가 수신하는 방송 데이터는 A/V 데이터, MPEG 섹션 데이터, 애플리케이션 데이터 중 적어도 하나를 포함한다. A/V 데이터는 오디오 데이터 또는 비디오 데이터를 의미한다. 또한, MPEG 섹션 데이터는 SI(System Information), EAS, AIT, 및 XAIT(eXtended AIT)를 포함하는 데이터일 수 있다. 여기에서, AIT는 데이터 서비스를 위해 수신기에서 구동되는 애플리케이션에 대한 정보를 포함하는 테이블을 의미하며, 경우에 따라서는 AMT라고도 불리운다. 이러한 AIT는 애플리케이션에 대한 정보, 예컨대 애플리케이션의 이름(name), 애플리케이션의 버전, 애플리케이션의 우선순위, 애플리케이션의 ID, 애플리케이션의 상태(auto-start, 사용자에 의한 조작가능, kill 등), 애플리케이션의 타입(Java 또는 HTML), 애플리케이션의 클래스들과 데이터 파일을 포함하는 스트림의 위치, 애플리케이션의 베이스 디렉토리(base directory), 애플리케이션의 아이콘의 위치 등에 대한 정보를 포함할 수 있다. 본 발명과 관련하여, XAIT는 애플리케이션 실행과 관련하여, 앱스트랙트 서비스(abstract service)에 대한 정보와 그에 대한 애플리케이션 채널에 대한 정보를 포함한다.
애플리케이션 데이터는 애플리케이션(110)의 프로그램 코드를 포함하는 데이터를 의미한다. 프로세서(350)는 AIT를 기초로 전송 모드를 결정하고, 결정한 전송 모드로 애플리케이션 데이터를 다운로드 하도록 제어할 수 있다. 여기서, 전송 모드는 방송 데이터를 수신하는 전송 방식 및 전송 매체의 종류를 의미한다. 전송 방식은 네트워크 계층별 사용되는 프로토콜 종류를 의미하는 것으로, DSM-CC User-to-User, Data and Object Carousel protocols, HTTP, TCP, UDP, IP, MPEG-2 Transport Stream, Ethernet 프로토콜 등이 선택적으로 사용될 수 있다. 또한, 전송 방식은 관련 규격 상에 정의된 Broadcast Channel Protocols 및 Interaction Channel Protocols이 될 수 있다.
전송 매체의 종류로는 지상파, 위성, 케이블 및 인터넷 망 등을 포함할 수 있다.
또한, 전송 모드는 방송 데이터의 종류에 따라 전송 방식 및 전송 경로를 달리하는 전송 모드를 포함할 수 있다. 즉, 방송 수신기(300)는 A/V 데이터는 케이블을 통해 수신하고, 애플리케이션 데이터는 인터넷 망을 통해 수신하는 전송 모드를 지원할 수 있다.
또한, 프로세서(350)는 AIT와 XAIT를 이용하여 애플리케이션 정보를 검출할 수 있다. AIT를 이용하여 애플리케이션 정보를 검출하는 방법으로는 component_tag, original_network_id, transport_stream_id, service_id가 사용되어 검출될 수 있다. 상기 component_tag는 해당 Object Carousel의 DSI를 운반하는 elementary stream을 지칭하며, 상기 original_network_id는 transport connection을 제공하는 TS의  DVB-SI original_network_id를 지칭한다. 또한, 상기 transport_stream_id는 transport connection을 제공하는 TS의 MPEG TS를 지칭 하며, 상기 service_id는 transport connection을 제공하는 서비스의 DVB-SI를 지칭한다. 상기 original_network_id, transport_stream_id, service_id가 이용되어 특정 채널에 대한 정보를 얻을 수 있다. 또한, XAIT를 이용하여, 애플리케이션 실행과 관련하여, 앱스트랙스 서비스에 대한 정보와 그에 대한 애플리케이션 정보를 파싱하고, 추출하여 애플리케이션 실행을 위해 이용할 수 있다. 다만, 보다 상세한 설명은 후술하고, 여기에서는 간략하게 기술한다.
네트워크 인터페이스(323)는 인터넷 망을 통해 방송 데이터를 수신하고, 수신한 방송 데이터를 CA부(313) 또는 통신 제어부(388)로 출력한다.
복조부(312)는 튜너부(311)가 출력한 신호를 복조하여 CA부(313)로 출력한다. CA부(313)는 복조부(312)가 출력한 신호 또는 네트워크 인터페이스부(323)가 출력한 신호를 디스크램블하여 역다중화부(314)로 출력한다. 역다중화부(314)는 CA부(313)가 출력한 신호인 디지털 데이터 스트림을 오디오 및 비디오를 나타내는 데이터 스트림(예를 들면, MPEG-2 포맷) 및 반복 방송되는 DSM-CC 객체 캐로셀 형태의 애플리케이션들용 데이터로 역다중화한다. 여기서, 비-방송 배송 채널들과 인터페이스할 수 있는 방송 수신기의 다른 실시 예로 튜너(311)는 비-방송 배송 채널에 적합한 네트워크 인터페이스로 대치될 수 있다. 비-방송 배송 채널은 인터넷 프로토콜(IP) 기반 배송채널일 수 있다.
미디어 디코더(315)는 역다중화부(314)가 역다중화한 오디오 스트림 및 비디오 스트림을 디스플레이될 수 있는 오디오(302) 및 비디오(303)로 각각 복호화한다. 이를 위해 미디어 디코더(315)는 오디오 복호기, 비디오 복호기를 포함할 수 있다. 여기서, 디스플레이되는 비디오(303)는 사용자 인터페이스(321)로부터 출력되는 영상을 포함할 수 있다.
프로세스(350)는 애플리케이션(370) 및 미들웨어(380)를 실행시킨다. 여기서, 애플리케이션(370) 및 미들웨어(380)는 각각 방송 수신기(100)의 애플리케이션(110) 및 미들웨어(120)에 대응하는 구성요소이다.
미들웨어(380)는 튜너부(311), 복조부(312), CA(313), 역다중화부(314), 미디어 디코더(315), 사용자 인터페이스(321), 저장매체(322), 네트워크 인터페이스(323)를 제어 또는 관리하고, 애플리케이션(370)에 할당한다. 이를 위해 미들웨어(380)는 튜너 제어부(381), CA 제어부(382), MPEG-2 섹션 필터부(SECTION FILTER)(383), 서비스 정보 처리부(384), DSM-CC(385), 미디어 제어부(386), 저장 제어부(387) 및 통신제어부(388)를 구비한다.
튜너 제어부(381)는 튜너(811)을 제어하여 튜너(811)을 애플리케이션(370)에할당하거나 애플리케이션(370)의 명령에 따라 튜너(811)의 튜닝 주파수를 변경한다. CA 제어부(382)는 CA(312)를 제어하여 CA(312)가 복조부(312)가 출력한 신호를 디스크램블(descramble) 하도록 한다.
MPEG-2 섹션 필터부(383)는 역다중화부(314)가 역다중화한 비디오에 관련된 데이터 스트림을 필터링하여 비디오를 디스플레이하기 위한 정보를 추출하고, 서비스 정보 처리부(384)는 역다중화부(314)가 역다중화한 데이터 중에서 서비스 정보를 추출하여 처리한다. 즉, MPEG-2 섹션 필터부(383)는 수신된 방송 데이터로부터 MPEG 섹션 데이터를 추출한다. 특히 MPEG-2 섹션 필터부(383)는 수신된 방송 데이 터로부터 전송 모드에 대한 안내 정보인 호스트 접근 안내 정보를 추출할 수 있다. 여기서, 호스트 접근 안내 정보는 일 예로 AIT에 포함되어 전송될 수 있다.
이러한 경우에는, MPEG-2 섹션 필터부(383)는 방송 데이터로부터 AIT를 추출함으로써 호스트 접근 안내 정보를 추출할 수 있다.
DSM-CC(385)는 역다중화부(314)가 역다중화한 애플리케이션용 데이터를 파싱하여 애플리케이션 프로그램 및 애플리케이션 정보를 추출하고 추출된 정보를 저장 매체(322)에 저장한다. 저장매체(322)에 저장된 애플리케이션 프로그램은 프로세스(350)에서 실행된다.
미디어 제어부(386)는 미디어 디코더(315)를 제어하여 오디오(302) 및 비디오(303)가 디스플레이되도록 한다. 또한, 미디어 제어부는 저장매체(322)에 저장된 데이터 접근 정보와 연관되는 MPEG-2 섹션 필터부(383)가 추출한 호스트 접근 안내 정보를 검색하고, 검색한 호스트 접근 안내 정보가 지시하는 전송 모드로 방송 데이터를 수신하도록 튜너(311) 또는 네트워크 인터페이스(323)를 제어할 수 있다. 여기서, 미디어 제어부(386)는 네트워크 인터페이스(323)을 직접 제어하는 대신에 통신 제어부(388)가 네트워크 인터페이스(323)를 제어하도록 하여, 네트워크 인터페이스(323)이 검색한 호스트 접근 안내 정보가 지시하는 전송 모드로 방송 데이터를 수신하도록 할 수 있다.
저장 제어부(387)는 오디오 스트림, 비디오 스트림, 애플리케이션 프로그램, 애플리케이션 정보 및 서비스 정보를 저장매체(322)로 저장하고 저장매체(322)에 저장된 오디오 스트림, 비디오 스트림, 애플리케이션 프로그램, 애플리케이션 정보 및 서비스 정보에 접근하는 것을 제어한다. 저장매체(322)는 RAM 메모리, FLASH 메모리 및 HDD 중 어느 하나일 수 있고 또는 RAM 메모리, FLASH 메모리 및 HDD를 구비할 수 있다. 여기서, HDD는 내장형 HDD일 수 있고 외장형 HDD일 수 있다.
통신 제어부(388)는 애플리케이션(370)이 네트워크 통신이 가능하도록 지원하며, 이를 위해 네트워크 인터페이스(323)를 제어한다. 또한, 통신 제어부(388)는 네트워크 인터페이스(323)가 방송 데이터를 수신하도록 제어한다. 통신 제어부(388)는 네트워크 인터페이스(323)가 수신한 방송 데이터 중에 애플리케이션 데이터를 추출하여 저장매체에 저장되도록 저장 제어부(387)에 제공할 수 있고, 네트워크 인터페이스(323)가 수신한 방송 데이터 중에 A/V 데이터를 CA부(313)로 출력되도록 제어할 수 있다.
여기서, 프로세스(380)는 단일 프로세스 또는 멀티 프로세스로 구현될 수 있고, 미들웨어(380)의 튜너 제어부(381), CA 제어부(382), MPEG-2 섹션 필터부(383), 서비스 정보 처리부(384), DSM-CC(385), 미디어 제어부(386), 저장 제어부(387) 및 통신 제어부(388)는 각각 하드웨어 또는 펌웨어로 이루어질 수 있다. 이러한 경우에는 미들웨어(380)는 애플리케이션(370)이 하드웨어 또는 펌웨어로 이루어진 튜너 제어부(381), CA 제어부(382), MPEG-2 섹션 필터부(383), 서비스 정보 처리부(384), DSM-CC(385), 미디어 제어부(386), 저장 제어부(387) 및 통신 제어부(388)를 사용할 수 있도록 매개하는 역할을 수행한다.
본 발명과 관련하여, 애플리케이션 실행을 위한 앱스트랙트 서비스(abstract service)에 대한 정보와 그에 대한 애플리케이션 채널에 대한 정보가 포함된 테이 블을 포함하는 방송 신호는 튜너부(311)를 통해 수신되고, 복조부(312)에서 복조되어, 역다중화부(314)에서 다른 데이터와 구분되어 테이블이 역다중화된다. 그리고 상기 역다중화된 테이블의 정보는 프로세서(350)로 전달된다. 프로세스(350)는 전달된 테이블의 정보를 미들웨어(380)로 전달하고, 미들웨어(380)는 전달된 테이블의 정보 중 상기 앱스트랙스 서비스(abstract service)에 대한 정보와 그에 대한 애플리케이션 채널에 대한 정보를 파싱(parsing)하여 저장 매체(322)에 저장하도록 제어할 수 있다. 또한, 프로세서(350)는 채널 변경 요청과 관련된 사용자 입력 신호(304)가 사용자 인터페이스를 거쳐 수신되면, 수신된 요청을 미들웨어(380)로 전달하여, 본 발명에 따라 후술하는 과정을 통해 처리되도록 제어한다.
도 4는 본 발명에 따른 미들웨어에 대한 바람직한 일 실시예의 구성을 도시한 블록도이다.
도 4를 참조하면, 본 발명에 따른 미들웨어(400)는 미들웨어(380)에 대응하는 것으로서, 인터페이스 모듈(410) 및 채널 변경 제어 모듈(420)을 구비할 수 있다. 여기서, 인터페이스 모듈(410) 및 채널 변경 제어 모듈(420)은 각각 인터페이스(121) 및 시스템 서비스(126)와 대응하는 구성요소이다. 애플리케이션(401)은 도 3의 애플리케이션(370)에 대응하는 구성요소이고, 저장매체(402)는 도 3의 저장매체(322)에 대응하는 구성요소이다.
인터페이스 모듈(410)은 외부 입력 수신부(사용자 입력 신호)(304) 및 애플리케이션(401)과 정보 또는 명령을 송수신한다.
도 3을 참조하면, 도 4의 미들웨어(400)는 예를 들면, 방송 수신기(300)에서 수신되는 방송 신호에 포함된 본 발명에 따른 애플리케이션의 실행과 관련된 정보를 기 수신한 것으로 가정할 수 있다.
이때, 미들웨어(400)는 상기 수신한 애플리케이션 실행과 관련된 정보를 파싱한다. 그리고 상기 파싱한 정보를 저장매체(402)에 저장한다.
따라서, 채널 변경 제어 모듈(420)는 인터페이스 모듈(410)을 통해 외부로부터 채널 변경 요청이 수신되면, 수신된 요청에 따라 변경될 채널이 애플리케이션 채널(application channel)에 해당하는지 판단한다. 판단 결과 변경될 채널이 애플리케이션 채널에 해당하면, 파싱된 앱스트랙트 서비스에 대한 정보로부터 해당 채널에 적합한 애플리케이션이 실행되도록 제어한다. 그러나 판단 결과 변경될 채널이 애플리케이션 채널이 아니라면, AV 채널을 튜닝하도록 제어하거나 채널 변경 제어 모듈(420)로 수신된 채널 변경 요청을 무시할 수 있다. 이는 상기 채널 변경 제어 모듈(420)이 아니라도 AV 채널의 튜닝이 가능함을 고려한 것이다. 이에 보다 상세한 설명은 후술한다.
이하에서는 본 발명에 따른 애플리케이션 실행방법에 대해 설명한다. 관련하여, 애플리케이션(Application)의 실행 방식에는 예를 들어, 하기와 같은 두 가지 방식으로 이용 가능하다.
첫 번째는, 특정 채널에 애플리케이션이 포함되어, 사용자가 특정 채널로 이동할 경우 채널 정보와 함께 애플리케이션에 대한 정보를 얻어와 실행하는 방식이 있다. 상기 방식에 의해 실행되는 애플리케이션을 바운드 애플리케이션(Bound Application)이라고 한다. 이러한 바운드 애플리케이션은 특정 채널의 AV와 부합하 는 경우가 많다.
두 번째는, 특정 채널에 종속적이지 않고 여러 채널 혹은 독립적으로 실행 가능한 방식이 있다. 상기 방식에 의해 실행되는 애플리케이션을 언바운드 애플리케이션(Unbound Application)이라고 한다. 이러한 언바운드 애플리케이션은 상기 바운드 애플리케이션과는 달리 AV와 독립적인 경우가 많이 존재한다.
상기에서 애플리케이션 실행 방식과 관련하여, 애플리케이션을 바운드와 언바운드 애플리케이션으로 구분하는 것은 채널 종속성 여부를 기준으로 구분하고 있다. 이는 종래 채널의 주체를 AV로 보았기 때문에 그에 따라 구분한 것이다.
다만, 종래에는 서비스의 개념이 AV에 한정되었기 때문에 채널의 주체를 AV에 한정하더라도 상관없었으나, 최근에는 서비스 개념의 애플리케이션들이 많이 이용되고 있어 종래 서비스의 개념이 보다 확장되고 있는 실정이다. 따라서, 이런 실정을 고려할 때, 종래와 같이 채널의 주체를 AV 만을 기준으로 한다면, 사용자가 채널 변경 등을 통해 느낄 수 있는 서비스의 개념은 한정적이어서 불편을 끼칠 수 있다. 예를 들어, 언바운드 애플리케이션은 채널 변경이 아닌 특정 메뉴나 리모콘의 특정 키 등을 통해서 사용자가 직접 실행시켜야 접근 가능한 경우가 많다. 따라서, 언바운드 애플리케이션과 같은 애플리케이션들에 대해서는 사용자의 접근 편리성이 다른 서비스에 비해 현저히 떨어질 수밖에 없어 그만큼 서비스의 이용 빈도가 떨어지고, 그에 따라 서비스의 양적, 질적 향상을 저해하는 요소가 될 수도 있다.
이에 본 명세서에서는 애플케이션의 실행방법과 관련하여, 이하에서는 채널의 주체를 AV가 아닌 서비스의 개념으로 확대함으로써 예를 들어, 언바운드 애플리 케이션도 사용자의 입장에서 채널 변경만으로도 실행 가능하도록 하는 방법을 설명한다.
즉, 본 명세서에서는 AV 이외의 서비스도 논리적인 채널로써 동작할 수 있도록 하고자 한다. 여기에서, 개념상으로는 예를 들어, 가상 채널을 이용하나 사용자에게 다가오는 형상은 단순히 채널 변경 키를 통해 애플리케이션이 실행되고, 그에 따라 노래방, 쇼핑, 게임과 같은 서비스를 이용할 수 있게 될 것이다.
따라서, 사용자가 익숙하지 않은 TV와 리모컨을 사용하는 경우에도 채널 변경 키라는 쉬운 접근 방식으로 서비스를 이용할 수 있어 사용자에게 서비스에 대한 접근 편리성을 줄 수 있다.
이하에서는 설명의 편의를 위해 언바운드 애플리케이션을 예로 하여 본 발명을 설명한다.
언바운드 애플리케이션은 대부분 고유한 기능을 가진다. 예를 들면, 노래방 애플리케이션은 노래방 기능을 포함하고, 노래방은 AV에 종속적이지 않다. 따라서, 이러한 애플리케이션은 모니터 애플리케이션(Monitor Application)과 같이 특정 애플리케이션이 실행시켜 주는 방식을 이용하게 된다. 즉, 특정 메뉴를 선택하거나 혹은 리모컨의 특정 키에 종속되어 있어 그 메뉴를 선택하거나 키를 눌렀을 때 해당 애플리케이션이 실행된다.
따라서, 본 명세서에서는 특정 키 혹은 메뉴에 종속성을 두어 애플리케이션을 구동하지 않고 상기 바운드 애플리케이션과 유사하게 채널을 이용해 그 채널에 언바운드 애플리케이션을 매핑(Mapping)하여 채널 키를 이용해 해당 채널에 접근하 고, 그 해당 채널에 속한 언바운드 애플리케이션이 동작할 수 있도록 하고자 한다. 이에 따라, 본 명세서에서는 그 일 예로, 언바운드 애플리케이션 실행을 위한 데이터 방송 전용 채널(이하 ‘애플리케이션 채널’)을 구성하고, 해당 애플리케이션 채널에 속한 애플리케이션(언바운드 애플리케이션)이 동작할 수 있도록 하고자 하는 것이다.
따라서, 언바운드 애플리케이션은 채널 변경만으로도 구동 가능하게 된다. 즉, 특정 UI(User Interface) 혹은 리모컨 키를 이용하여 언바운드 애플리케이션을 구동하는 것이 아니라 채널 변경 키를 이용하여 애플리케이션 채널로 이동하게 되고, 그 애플리케이션 채널에는 언바운드 애플리케이션이 존재하여 실행되게 된다.
이를 위해 송신단은 예를 들어, 언바운드 애플리케이션이 포함되어 있는 앱스트랙트 서비스(Abstract Service) 정보에 대하여 미리 정의하여 전송하고, 그에 대한 정보와 함께 각 앱스트랙트 서비스가 각각 어떤 채널 번호의 애플리케이션 채널을 형성하는지도 미리 정의하여 연동시켜 정의하여 전송할 수 있다.
본 명세서에서는 일실시 예로, 언바운드 애플리케이션이 채널 변경으로 구동될 수 있도록 Abstract Service Descriptor에 애플리케이션 채널을 정의할 수 있는 Major channel number와 Minor channel number 필드를 확장, 추가한다.
따라서, 채널 변경에 따라 애플리케이션 채널이 튜닝되면, 해당 애플리케이션이 자동으로 구동된다.
도 5는 본 발명의 일실시 예에 따라 구성한 Abstract Service Descriptor를 도시한 것이다. 여기에서, 다른 필드에 대한 설명은 관련 규격의 내용을 참조하고, 여기에서는 본 발명과 관련된 부분만을 설명한다.
도 5를 참조하면, Abstract service descriptor는 애플리케이션 채널을 위한 채널 관련 정보를 포함한다. 즉, abstract service에 대한 기본적인 구성과 함께 major channel number와 minor channel number 필드가 포함된다. 여기에서, 애플리케이션 채널을 위해 정의되는 major channel number와 minor channel number 필드는 헤드-엔드(Head-end) 전송단에서 미리 정하여 설정하는 값으로 서비스 업체가 어떤 채널에 애플리케이션을 바운드(bound) 시킬 것인가를 결정하게 될 것이다. 또한, 상기 major channel number와 minor channel number 필드는 예를 들어, 다른 채널 관련 필드에서 정의하는 일반적인 채널 정보에 대한 정의와 유사한 의미를 가진다.
도 6은 본 발명의 일실시 예에 따른 애플리케이션 실행방법을 설명하기 위해 도시한 순서도이다.
도 6을 참조하면, 수신기는 전송단에서 미리 정한 앱스트랙트 서비스에 대한 정보가 포함된 테이블을 포함한 방송 신호를 수신한다(S601). 여기에서, 상기 테이블은 예를 들어, XAIT(eXtended Application Information Table) 테이블일 수 있다.
그리고 수신기는 튜너부(311), 복조부(312)를 거쳐 역다중화부(314)에서 상기 방송 신호에 포함된 XAIT 테이블을 역다중화(S602)하고, 역다중화된 XAIT 테이블의 정보는 미들웨어(380)의 제어를 통해 파싱된다.
미들웨어(380)는 외부 즉, 사용자의 채널 변경 요청이 수신되면(S603), 변경 요청된 채널의 메이져 채널 넘버(제1 메이져 채널 넘버)와 마이너 채널 넘버에 대한 정보(제1 마이너 채널 넘버)가 앱스트랙트 서비스에 대한 채널에 대한 정보인지 판단하여야 한다.
따라서, 미들웨어는 상기 파싱된 XAIT 테이블의 정보 중 Abstract service descriptor를 파싱하도록 제어하고, 파싱된 Abstract service descriptor의 메이져 채널 넘버(제2 메이져 채널 넘버)와 마이너 채널 넘버(제2 마이너 채널 넘버)에 대한 정보를 추출한다(S604).
그리고 상기 제1 메이져 및 마이너 채널 넘버와 추출된 제2 메이져 및 마이너 채널 넘버가 서로 일치하는지 판단한다(S605).
상기 S605 단계에서 판단 결과, 만약 상기 제1 메이져 및 마이너 채널 넘버와 추출된 제2 메이져 및 마이너 채널 넘버가 서로 일치하지 않는다면, 이는 애플리케이션 채널이 아니므로, 종래와 동일하게 AV 채널을 튜닝하여 AV를 제공한다(S607).
다만, 상기 S602 단계에서 판단 결과, 상기 제1 메이져 및 마이너 채널 넘버와 추출된 제2 메이져 및 마이너 채널 넘버가 서로 일치하는 경우에는 사용자가 요청한 채널 변경에 따라 변경된 채널은 애플리케이션 채널이 되고, 미들웨어는 그 제2 메이져 및 마이너 채널에 해당하는 애플리케이션이 실행되도록 제어한다(S606).
따라서, 본 발명에 따르면, 변경하고자 하는 채널이 애플리케이션 채널인 경우에는 앱스트랙트 서비스에 포함된 애플리케이션이 실행된다. 상기와 같은 과정을 통해 채널 변경 키의 동작으로 인해 사용자는 앱스트랙트 서비스에 속한 서비스가 제공되는 애플리케이션 채널 및 AV 채널로의 변경 두 가지를 이용할 수 있게 된다.
또한, 전송단과 같이 채널 정보를 제공해 줄 수 있는 업체에서 애플리케이션과 이에 대응하는 채널 정보(애플리케이션 채널 정보)를 편성하고 상기 편성된 애플리케이션 채널 정보에 기반해 채널 변경만으로 애플리케이션을 구동할 수 있게 된다.
상기에서, 외부로부터 채널 변경 요청이 수신되고 난 후에 앱스트랙트 서비스와 애플리케이션 채널에 대한 정보를 추출하여 변경될 채널이 애플리케이션 채널인지 판단하는 것으로 설명하였다. 그러나, 반드시 상기 과정으로만 가능한 것은 아니다. 예를 들어, 외부로부터 채널 변경 요청이 수신되기 전에 수신기는 앱스트랙트 서비스와 애플리케이션 채널에 대한 정보를 파싱하고, 저장매체 등에 저장한 후에 상기 요청이 수신되면, 저장매체로부터 상기 정보를 추출하여 판단할 수도 있다.
이상에서 본 발명의 바람직한 실시 예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
도 1은 본 발명과 관련하여 방송 수신기의 계층 구조에 대하여 도시한 구조도이다.
도 2는 본 발명과 관련하여 애플리케이션의 라이프 싸이클의 일 예를 도시한 개념도이다.
도 3은 본 발명의 일실시 예에 따라 구성한 방송 수신기의 블록도이다.
도 4는 본 발명에 따른 미들웨어에 대한 바람직한 일 실시예의 구성을 도시한 블록도이다.
도 5는 본 발명의 일실시 예에 따라 구성한 Abstract_Service_Descriptor를 도시한 것이다.
도 6은 본 발명의 일실시 예에 따른 애플리케이션 실행방법을 설명하기 위해 도시한 순서도이다.
* 발명의 주요 부호에 대한 설명
400: 미들웨어 401: 애플리케이션
402: 저장매체 410 인터페이스 모듈
420: 채널변경제어모듈

Claims (12)

  1. 앱스트랙트 서비스와 그에 대한 애플리케이션 채널에 대한 정보가 포함된 테이블을 포함하는 방송 신호를 수신하는 단계;
    상기 수신되는 방송 신호로부터 상기 테이블을 역다중화하는 단계;
    외부로부터 채널 변경 요청을 수신하는 단계;
    상기 수신된 요청에 따라 변경될 채널이 애플리케이션 채널인지 판단하기 위해 상기 역다중화한 테이블로부터 상기 앱스트랙트 서비스와 애플리케이션 채널에 대한 정보를 추출하는 단계; 및
    상기 추출된 애플리케이션 채널에 대한 정보를 기반으로 판단시 상기 변경될 채널이 상기 애플리케이션 채널이면, 상기 추출된 앱스트랙트 서비스에 대한 정보를 근거로 상기 변경될 채널에서 해당 애플리케이션을 실행하는 단계를 포함하여 이루어지는 것을 특징으로 하는 애플리케이션 실행방법.
  2. 제 1항에 있어서,
    상기 추출한 앱스트랙트 서비스와 애플리케이션 채널에 대한 정보를 저장하는 단계를 더 포함하는 것을 특징으로 하는 애플리케이션 실행방법.
  3. 제 1항에 있어서,
    상기 추출된 애플리케이션 채널에 대한 정보를 기반으로 상기 변경될 채널이 상기 애플리케이션 채널에 해당하는지 판단하는 단계를 더 포함하는 것을 특징으로 하는 애플리케이션 실행방법.
  4. 제 1항에 있어서,
    상기 애플리케이션 채널에 대한 정보는 상기 앱스트랙트 서비스에 해당하는 각 애플리케이션이 실행될 메이져 채널에 대한 정보와 마이너 채널에 대한 정보를 포함하는 것을 특징으로 하는 애플리케이션 실행방법.
  5. 제 4항에 있어서,
    상기 앱스트랙트 서비스는 언바운드 애플리케이션을 포함하는 것을 특징으로 하는 애플리케이션 실행방법.
  6. 제 4항에 있어서,
    상기 메이져 채널에 대한 정보와 마이너 채널에 대한 정보는 송신단에서 어떤 채널에 어떤 애플리케이션을 바운드시킬 것인 미리 정한 값인 것을 특징으로 하는 애플리케이션 실행방법.
  7. 제 1항에 있어서,
    상기 테이블은 XAIT(eXtended Application Information Table) 테이블을 포함하는 것을 특징으로 하는 애플리케이션 실행방법.
  8. 제 7항에 있어서,
    상기 앱스트랙트 서비스와 그에 대한 애플리케이션 채널에 대한 정보는 상기 XAIT 테이블 내 Abstract_Service_Descriptor에 포함되어 전송되는 것을 특징으로 하는 애플리케이션 채널방법.
  9. 제 3항에 있어서,
    상기 판단 결과 상기 변경될 채널이 상기 애플리케이션 채널에 해당하지 않는다면, 해당 AV 채널을 튜닝하여 제공하는 것을 특징으로 하는 애플리케이션 실행방법.
  10. 앱스트랙트 서비스와 그에 대한 애플리케이션 채널에 대한 정보가 포함된 테이블을 포함하는 방송 신호를 수신하는 튜너부;
    상기 수신된 방송 신호를 복조하는 복조부;
    상기 복조된 방송 신호 내 테이블을 역다중화하는 역다중화부;
    외부로부터 채널 변경 요청을 수신하는 외부 입력 수신부; 및
    상기 역다중화된 테이블 내 앱스트랙트 서비스와 그에 대한 애플리케이션 채널에 대한 정보를 파싱하여 추출하고, 추출된 애플리케이션 채널 정보를 기반으로 상기 수신되는 채널 변경 요청에 따라 변경될 채널이 애플리케이션 채널에 해당하는지 판단하고, 판단 결과 변경될 채널이 애플리케이션 채널이면, 추출된 앱스트랙 트 서비스에 대한 정보를 기반으로 해당 애플리케이션 채널에 통해 애플리케이션을 제공하도록 제어하는 프로세서부;를 포함하여 구성하는 것을 특징으로 하는 디지털 방송 수신기.
  11. 제 10항에 있어서,
    상기 추출된 앱스트랙트 서비스와 그에 대한 애플리케이션 채널에 대한 정보를 저장하는 저장매체를 더 포함하는 것을 특징으로 하는 디지털 방송 수신기.
  12. 제 10항에 있어서,
    상기 프로세서부는 다수의 애플리케이션들과 미들웨어를 포함하되,
    상기 미들웨어는,
    각 애플리케이션과 정보 또는 요청을 송수신하는 인터페이스 모듈과,
    상기 외부 입력 수신부로부터 수신되는 채널 변경 요청에 따라 상기 변경될 채널이 애플리케이션 채널에 해당하는지 판단하고, 판단 결과 변경될 채널이 애플리케이션 채널이면 해당 애플리케이션이 실행되도록 제어하는 채널 변경 제어 모듈을 포함하는 것을 특징으로 하는 디지털 방송 수신기.
KR1020080115219A 2008-11-19 2008-11-19 애플리케이션 실행 방법 및 장치 KR20100056172A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080115219A KR20100056172A (ko) 2008-11-19 2008-11-19 애플리케이션 실행 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080115219A KR20100056172A (ko) 2008-11-19 2008-11-19 애플리케이션 실행 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20100056172A true KR20100056172A (ko) 2010-05-27

Family

ID=42280375

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080115219A KR20100056172A (ko) 2008-11-19 2008-11-19 애플리케이션 실행 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20100056172A (ko)

Similar Documents

Publication Publication Date Title
US7111040B2 (en) Digital broadcast receiver for a digital broadcasting system
JP5738469B2 (ja) 単一オペレーティングシステムに含まれる基本メディアプレイヤを用いてスマートサービス及びデジタルテレビサービスを提供するスマートセットトップボックス及びその駆動方法
JP4634412B2 (ja) コーデックアップグレードを実行する装置及びその方法
US9264757B2 (en) Service executing apparatus
EP1304871A2 (en) Method and apparatus for a receiver/decoder
AU2002334278A1 (en) Method and apparatus for a receiver/decoder
JP2006528857A (ja) 放送におけるフィーチャ利用可能性を処理する方法
US20150113579A1 (en) Method of providing associated application in android platform-based receiver
EP1763246A1 (en) Method of access to applications transmitted within data streams of different television channels and device giving access to broadcasted applications
US20090044281A1 (en) Java conditional access apparatus
US20090144793A1 (en) Method for obtaining service map information, apparatus therefor, and method for fast performing application in service according to the service map information
KR20070063571A (ko) Mhp 애플리케이션들의 시동 시간을 감소시키기 위한시스템 및 방법
CN1820251A (zh) 用于执行软件应用的方法
KR20100056172A (ko) 애플리케이션 실행 방법 및 장치
KR20100056173A (ko) 화면 제어 방법 및 그 장치
EP2458854A1 (en) Method and apparatus for receiving broadcasting signals and display device using the same
KR20090126769A (ko) 방송 수신기 및 방송 데이터 수신 방법
KR20100074818A (ko) 데이터 방송 서비스 제공 방법 및 그를 위한 장치
KR101549008B1 (ko) 디지털 방송 장치에서 입출력 단자의 상태 관리 방법 및 장치
KR101586315B1 (ko) 방송 수신기 및 네트워크 장치 모니터링 방법
KR20100086763A (ko) 폰트 정보 제공 방법 및 방송 수신기
KR20100081408A (ko) 방송 수신기 및 리턴 채널 상태 모니터닝 방법
KR20190071435A (ko) 방송수신장치 및 그 제어방법
KR20090105324A (ko) 디지털 방송을 지원하는 미들웨어, 방송 수신기 및 방송수신기 자원에 대한 할당 정보 관리 방법, 그리고 방송수신기 자원에 대한 할당 정보 관리 방법을 기록한기록매체
KR20110012536A (ko) 데이터 방송 수신 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination