KR20100086763A - 폰트 정보 제공 방법 및 방송 수신기 - Google Patents

폰트 정보 제공 방법 및 방송 수신기 Download PDF

Info

Publication number
KR20100086763A
KR20100086763A KR1020090006162A KR20090006162A KR20100086763A KR 20100086763 A KR20100086763 A KR 20100086763A KR 1020090006162 A KR1020090006162 A KR 1020090006162A KR 20090006162 A KR20090006162 A KR 20090006162A KR 20100086763 A KR20100086763 A KR 20100086763A
Authority
KR
South Korea
Prior art keywords
font
information
application
broadcast receiver
list
Prior art date
Application number
KR1020090006162A
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 KR1020090006162A priority Critical patent/KR20100086763A/ko
Publication of KR20100086763A publication Critical patent/KR20100086763A/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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/47End-user applications
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

폰트 정보 제공 방법 및 방송 수신기가 개시된다. 튜너는 애플리케이션의 프로그램 코드를 포함하는 애플리케이션 데이터를 수신한다. 제어부는 애플리케이션을 실행하고, 애플리케이션이 방송 수신기가 지원하는 폰트의 명칭 정보를 포함하는 폰트 리스트를 요청한 경우에는, 상기 폰트 리스트를 상기 애플리케이션에 제공한다.
Figure P1020090006162
폰트, 방송, 애플리케이션, 튜너

Description

폰트 정보 제공 방법 및 방송 수신기{Method for provding font information and broadcast receiver}
본 발명은 폰트 정보 제공 방법 및 방송 수신기에 관한 것으로, 보다 상세하게는, 방송 수신기가 지원하는 폰트에 대한 정보를 제공할 수 있는 폰트 정보 제공 방법 및 방송 수신기에 관한 것이다.
일반적으로, 디지털 방송은 다채널/다매체 방송으로 기존 아날로그 방송과 달리 고화질/고음질의 고품위 서비스를 제공하는 것뿐만 아니라 다기능성을 가진다. 다기능성이란 멀티미디어 정보들을 방송 매체를 통하여 제공하는 새로운 서비스로 데이터방송 또는 대화형 방송 기능을 말한다. 데이터 방송은 텍스트, 정지화상, 동화상, 그래픽, 문서, 소프트웨어 등의 멀티미디어 데이터를 전송하여 시청자가 방송 수신기로 정보를 이용하는 방송으로, 방송과 통신의 융합이라는 시대적 흐름에 가장 잘 부합되는 서비스이다.
이러한 서비스를 제공하기 위해 미들웨어 플랫폼 제공자들은 다수의 이종(heterogeneous) 방송 및 웹이 가능한 네트워크를 통해 분산되어 배치되는 멀티미디어 데이터를 액세스해야 할 필요가 있다. 이들 네트워크들은 일반적으로 예로 써, 디지털 비디오 방송(DVB:Digital Video Broadcasting)(DVB-C(케이블), DVB-T(지상파), 및 DVB-S(위성)을 포함), OpenCable.TM.애플리케이션 플랫폼(OpenCable.TM. OCAP:Applications Platform), 차세대 텔레비전 시스템 위원회(ATSC), 국가 텔레비전 시스템 위원회(NTSC), GI 모토롤라 네트워크, 멀티미디어 홈 플랫폼(MHP:Multimedia Home Platform) 표준 등을 포함한 각각의 미국 또는 유럽 산업 디지털 방송 표준에 기초한다. 특히 MHP 표준은 위성, 케이블, 지상파 및 마이크로파를 포함한 모든 전송 네트워크들에서의 방송 및 대화식 서비스들에 대한 현존하는 DVB 표준을 확장한다. DVB/MHP 표준은 애플리케이션들이 실행하는 대화식 디지털 애플리케이션들 및 터미널들 사이의 하드웨어 독립적인, 인터페이스를 정의한다. 이것은 디지털 콘텐츠 제공자들이 저기능으로부터 고기능 셋톱 박스들, 집적된 디지털 TV 세트들 및 멀티미디어 PC들에 이르는 모든 유형들의 터미널들을 다룰 수 있게 한다.
MHP 표준의 버전 1.0.3은 'Xlet'라고 하는 무료로 다운로드될 수 있는 애플리케이션을 지원한다. 즉 MHP 표준에서 Xlet Application을 이용하여 사용자의 다양한 요구사항을 처리하게 된다. 이때 Xlet Application은 미들웨어로부터 System의 자원을 할당받아 이러한 일들을 처리하게 된다. 즉 Xlet Application은 직접 방송 수신기의 자원을 직접할당하는 것이 아니라 미들웨어를 통해 할당받음으로써 저기능으로부터 고기능 셋톱 박스들, 집적된 디지털 TV 세트들 및 멀티미디어 PC들에 이르는 모든 유형들의 터미널에서 실행 가능하다.
본 발명이 이루고자 하는 기술적 과제는 폰트 정보를 제공할 수 있는 폰트 정보 제공 방법 및 방송 수신기를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 폰트 정보 제공 방법은, 방송 수신기가 지원하는 폰트에 대한 정보를 제공하는 방법에 있어서, 상기 방송 수신기가 디스플레이하는 화면을 구성하는 그래픽 레이어를 관리하는 그래픽스 컨피규레이션 인스턴스에 대한 요청을 수신하고, 상기 그래픽스 컨피규레이션 인스턴스에 대한 레퍼런스 정보를 제공하는 단계; 및 상기 제공된 레퍼런스 정보를 기초로 요청되는 상기 폰트의 폰트 명칭 정보를 포함하는 폰트 리스트에 대한 요청을 수신하고, 상기 폰트 리스트를 제공하는 단계;를 포함한다. 여기서 방송 수신기가 지원하는 폰트는 하나 또는 복수개일 수 있다.
바람직하게 상기 폰트 리스트는 문자열 타입으로 정의된 것일 수 있다. 또한 상기 그래픽스 컨피규레이션 인스턴스는 org.havi.ui.HGraphicsConfiguration 클래스의 인스턴스일 수 있다.
상기 폰트 정보 제공 방법은 상기 폰트 리스트에 포함된 폰트 명칭 정보가 지시하는 폰트의 폰트 속성 정보에 대한 요청을 수신하고, 상기 폰트 속성 정보를 제공하는 단계;를 더 포함할 수 있다. 여기서 상기 폰트 속성 정보는 폰트 크기 정보 및 폰트 스타일 정보 중 적어도 하나를 포함할 수 있다. 또한 상기 폰트 스타 일 정보는 'PLAIN', 'BOLD', 'ITALIC' 및 'BOLD+ITALIC' 중 적어도 하나일 수 있다. 그리고 상기 폰트 크기 정보는 상기 폰트에 대해 상기 방송 수신기가 지원가능한 적어도 하나의 크기값을 포함할 수 있다.
상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 방송 수신기는 애플리케이션의 프로그램 코드를 포함하는 애플리케이션 데이터를 수신하는 튜너; 및 상기 애플리케이션을 실행하고, 상기 애플리케이션이 방송 수신기가 지원하는 폰트의 명칭 정보를 포함하는 폰트 리스트를 요청한 경우에는, 상기 폰트 리스트를 상기 애플리케이션에 제공하는 제어부;를 포함할 수 있다. 여기서 상기 애플리케이션은 상기 방송 수신기가 디스플레이하는 화면을 구성하는 그래픽 레이어를 관리하는 컨피규레이션 인스턴스를 이용하여 상기 폰트 리스트를 요청할 수 있다.
바람직하게 상기 폰트 리스트는 문자열 타입으로 정의된 것일 수 있다.
바람직하게 상기 제어부는, 상기 애플리케이션이 상기 폰트 리스트에 포함된 폰트 명칭 정보가 지시하는 폰트의 폰트 속성 정보를 요청한 경우에는, 상기 폰트 속성 정보를 제공할 수 있다. 여기서 상기 폰트 속성 정보는 폰트 크기 정보 및 폰트 스타일 정보 중 적어도 하나를 포함할 수 있다. 또한 상기 폰트 스타일 정보는 'PLAIN', 'BOLD', 'ITALIC' 및 'BOLD+ITALIC' 중 적어도 하나일 수 있다. 그리고 상기 폰트 크기 정보는 상기 폰트에 대해 상기 방송 수신기가 지원가능한 적어도 하나의 크기값을 포함할 수 있다.
본 발명에 따른 폰트 정보 제공 방법 및 방송 수신기에 의하면, 작은 용량으 로 폰트 정보를 수신하고 이용할 수 있다.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당해 기술분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다.
도 1은 방송 수신기의 계층구조에 대한 바람직한 일 실시예의 구성을 도시한 구조도이다.
도 1을 참조하면, 본 발명에 따른 방송 수신기(100)는 애플리케이션(Application, 110), 미들웨어(120) 및 자원(Resources, 130)을 구비한다.
애플리케이션(110)은 방송 수신기(100)에서의 다양한 목적들을 달성하도록 실행되는 프로그램으로서 정의된다. 그리고 애플리케이션(110)은 방송 수신기(100) 상에서 복수의 애플리케이션(111, 112, …, 119)들로 실행될 수 있다.
애플리케이션(111, 112, …, 119)들은 적절하게 설치된 방송 수신기(100)로 디지털 텔레비전 프로그램들과 함께 방송 스트림으로 방송된다. 애플리케이션(111, 112, …, 119)들은 ISO/IEC13818-6 하에 특정된 DSM-CC 프로토콜과 같은 프로토콜에 따라 캐로셀(carousel) 포맷으로 방송될 수 있고, 여기서 애플리케이션(111, 112, …, 119)들은 주기적으로 방송된다. 적절하게 설치된 방송 수신기(100)는 이들 애플리케이션(111, 112, …, 119)들을 수신하고 그것들을 국부적으로 실행한다. 예시적인 애플리케이션(111, 112, …, 119)들에는 전자 프로그램 가이드들, 따라하는(play-along) 게임들, 텔레뱅킹, 메뉴 네비게이션 옵션들, 텔레쇼핑, 전자 신문들 및 유사한 정보 서비스들이 있다.
여기서 애플리케이션(110)은 MHP(Multimedia Home Platform) 기반의 규격에서 엑스렛(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에 정의된 패키지들 중 하나인 javax.tv.xlet 패키지에 의해 정의된다. 자바 TV API는 패키지들로 그룹핑된 인터페이스들 및 클래스들로 이루어진다. 이들 패키지들은 텔레비전 네트워크들에 의해 전송된 방송 스트림을 통해 디지털 수신기로 전송된 비디오, 오디오, 및 데이터를 처리하기 위한 인터페이스들 및 클래스들을 포함한다.
javax.tv.xlet에 정의된, 인터페이스 Xlet은 애플리케이션 매니저가 Xlet을 생성, 초기화, 시작, 정지 및 파괴할 수 있도록 허용한다. 애플리케이션 매니저(127)는 Xlet의 상태를 유지하고 다양한 수명주기 메소드들을 통해 Xlet상에 메소드들을 야기한다. Xlet은 애플리케이션 매니저(127)에 의해 지시되는 바와 같이 그것의 내부 동작들 및 리소스 사용들을 업데이트하기 위해 이들 메소드들을 실행한다.
도 2는 애플리케이션의 라이프 싸이클의 일예를 도시한 개념도이다.
도 2를 참조하면, javax.tv.xlet에 의해 정의된 바와 같이, 인터페이스 Xlet 의 메소드 요약은 다음과 같다. Xlet은 메모리(memory)에 로드된 상태(loaded state, 210)가 된다. initXlet은 로드된 상태(loaded state, 210)의 Xlet 자체를 초기화하고 중지 상태(paused state, 220)로 진입하기 위해 Xlet에 신호를 보낸다. startXlet은 서비스를 제공하기 시작하고 활성 상태(active state, 230)로 진입하기 위해 Xlet에 신호를 보낸다. PauseXlet은 서비스 제공을 중지하고 중지된 상태(220)로 진입하기 위해 Xlet에 신호를 보낸다. destroyXlet은 서비스 제공을 종료하고 파괴된 상태(destroyed state, 240)로 진입하기 위해 Xlet에 신호를 보낸다.
한편, 당해 제1실시예 뿐만 아니라, 이하 후술될 다른 실시예에서도, 설명 및 이해의 편의를 고려하여, 애플리케이션(110)은 MHP 애플리케이션인 경우를 예로 들어, 설명하도록 하겠다. 따라서 본 발명의 권리범위는 MHP 표준에 한정되는 것은 아니며, 다른 데이터 방송 규격에도 적용될 수 있으며, 본 명세서의 특허청구범위를 고려할 때, 이 점은 명백하다.
예컨대, 케이블뿐만 아니라, 지상파, 위성 방송을 통한 데이터 방송에서도, 본 발명이 적용될 수 있다. 즉 본 발명에 따른 방송 수신기(100)는 사용자에게 리모컨 또는 로컬키(Local Key)의 "TV/Video" 버튼 등의 조작으로, 지상파 방송 모드(Antenna), 위성 방송 모드, 케이블 방송 모드(cable), 비디오 1(Video 1) 및 비디오 2(Video 2)등을 입력할 수 있도록 한다.
미들웨어(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(Application Programming Interface)가 될 수 있다.
일예로 특정 서비스를 요청하기 위한 요청 양식은 MHP의 API로 정의될 수 있다. 잘 알려진 바와 같이, MHP 1.0.x는 기본적이고, 벤더 특정의 하드웨어 및 소프트웨어에 상관없이 디지털 대화식 TV에 대한 광범위한 애플리케이션 실행 환경을 특정한다. 이러한 실행 환경은 Java™가상 머신의 사용 및 대화식 디지털 TV 터미널의 일반적인 리소스들 및 시설들로의 액세스를 제공하는 일반 API들의 정의에 기초한다. 이들 일반 API들을 사용하는 Java™애플리케이션은 DVB-J 애플리케이션이 라 불리운다. 반대로, MHP 1.1은 새로운 선택적인 애플리케이션 유형, DVB-HTML을 정의하는 것을 포함하는 다수의 방식으로 MHP 1.0.x 플랫폼에 대한 부가적인 기능성을 제공한다. MHP 1.0.x에 대해서, 단지 DVB-J만이 지원될 것을 요구한다. 그러므로 MHP 1.0.x 하에 실행되는 DVB-J 애플리케이션에 대해서, "javax.tv.xlet.Xlet"은 정의된 인터페이스이고 MHP 1.0.x하에서 실행될 수 있고 인식될 수 있는 엔티티이다.
시스템 서비스(126)는 인터페이스(121)가 송신하는 요청에 따라 서비스를 수행하고, 그 결과를 인터페이스(121)에 제공한다. 또한 시스템 서비스(126)는 애플리케이션(110)을 방송국으로부터 다운로드 받고, 다운로드 받은 애플리케이션(110)의 라이프 싸이클을 관리하며, 활성 상태(active state, 230)의 애플리케이션(110)에 자원(130)을 할당 및 반환을 관리하고 할당된 자원에 대한 정보를 관리한다. 이를 위해 시스템 서비스(126)는 애플리케이션 매니저(Application Manager, 127)를 구비한다. 여기서 미들웨어(120)는 일예로 MHP 표준에 따라 구현되어 MHP API를 지원할 수 있다.
애플리케이션 매니저(127)는 애플리케이션(111, 112, …, 119)의 라이프 싸이클을 관리하는 모듈로서, 애플리케이션(111, 112, …, 119)의 생성, 실행, 종료를 관리한다.
자원(130)은 다양한 기능을 가진 하드웨어 엔티티(entity)를 의미하며, 자원(130)은 하드웨어 자원 및 소프트웨어 자원으로 표현될 수 있다. 하드웨어 자원은 튜너, 복조부, CA, 역다중화기, 디코더, 메모리, 하드디스크 및 네트워크 어댑 터를 말한다. 또한 소프트웨어 자원은 그룹화된 복수의 하드웨어 엔티티를 나타낼 수 있고 프로세스, 쓰레드 등과 같은 운영체제(Operating System) 상에 정의되는 자원일 수 있다. 여기서 쓰레드는 프로세스 내에서 실행되는 흐름 단위를 말한다. 일반적으로 한 프로그램은 하나의 쓰레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 쓰레드를 동시에 실행할 수도 있다. 즉 프로그램은 멀티쓰레드(multithread) 방식으로 실행될 수 있다. 이러한 멀티쓰레드 방식은, 프로세스가 독립적으로 실행되며 각각 별개의 메모리를 차지하고 있는 것과 달리, 각 쓰레드가 프로세스 내의 메모리를 공유해 사용하는 실행 방식이다.
또한 자원(130)은 애플리케이션(110)이 내부 구현에 무관하게 이용될 수 있도록 애플리케이션(110)에 투명하게(transparently) 제공되며, 상술한 바와 같이, 이를 위해 미들웨어(120)가 애플케이션(110)과 자원(130)을 매개하는 역할을 수행한다. 그리고 자원(130)은 공유 자원과 비공유 자원으로 구분될 수 있다. 공유 자원은 메모리, 쓰레드, 네트워크 세션, 그래픽 등의 자원으로 애플리케이션(111, 112, …, 119)들이 상호 공유할 수 있는 자원을 말하며, 비공유 자원은 튜너 등의 자원으로 애플리케이션(111)이 사용하고 있는 경우에는 다른 애플리케이션(112,…,119)이 사용할 수 없는 자원을 말한다.
자원(130)을 이용하기 위해서 Xlet Application은 자율적으로 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(Application Information Table)를 포함하는 데이터이다. 특히 AIT(Application Information Table)는 데이터 서비스를 위해 수신기에서 구동되는 애플리케이션에 대한 정보를 포함하는 테이블을 의미하며, 경우에 따라서는 XAIT, AMT라고도 불리운다. 이러한 AIT는 애플리케이션에 대한 정보, 예컨대 애플리케이션의 이름(name), 애플리케이션의 버전, 애플리케이션의 우선 순위, 애플리케이션의 ID, 애플리케이션의 상태(auto-start, 사용자에 의한 조작가능, kill 등), 애플리케이션의 타입(Java 또는 HTML), 애플리케이션의 class들과 데이터 파일을 포함하는 스트림의 위치, 애플리케이션의 base directory, 애플리케이션의 아이콘의 위치 등에 대한 정보를 포함할 수 있다.
애플리케이션 데이터는 애플리케이션(110)의 프로그램 코드를 포함하는 데이터를 의미한다. 프로세서(350)는 AIT(Application Information Table)를 기초로 전송 모드를 결정하고, 결정한 전송 모드로 애플리케이션 데이터를 다운로드 하도록 제어할 수 있다. 여기서 전송 모드는 방송 데이터를 수신하는 전송 방식 및 전송 매체의 종류를 의미한다. 전송 방식은 네트워크 계층별 사용되는 프로토콜 종류를 의미하는 것으로, DSM-CC User-to-User, Data and Object Carousel protocols, HTTP, TCP, UDP, IP, MPEG-2 Transport Stream, Ethernet 프로토콜 등이 선택적으로 사용될 수 있다. 또한 전송 방식은 MHP 규격 상에 정의된 Broadcast Channel Protocols 및 Interaction Channel Protocols이 될 수 있다.
전송 매체의 종류로는 지상파, 위성, 케이블 및 인터넷 망 등을 포함할 수 있다.
또한 전송 모드는 방송 데이터의 종류에 따라 전송 방식 및 전송 경로를 달리하는 전송 모드를 포함할 수 있다. 즉 방송 수신기(300)는 A/V 데이터는 케이블을 통해 수신하고, 애플리케이션 데이터는 인터넷 망을 통해 수신하는 전송 모드를 지원할 수 있다.
또한 프로세서(350)는 AIT(Application Information Table)를 이용하여 애플리케이션 정보를 검출할 수 있다. 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가 이용되어 특정 채널에 대한 정보를 얻을 수 있다.
네트워크 인터페이스부(323)는 리턴 채널(Return Channel)을 제공한다. 여기서 리턴 채널은 방송 수신기(300) 및 원격 서버 사이의 연결을 제공하는 통신 메카니즘(communications mechanism)이다. 원격 서버는 일예로 서비스 프로바이더가 방송 서비스를 제공하기 위해 설치한 서버일 수 있다. 리턴 채널은 디지털 CATV(Cable Television) 리턴 채널, DECT(Digital Enhanced Cordless Telecommunications) 리턴 채널, PSTN(Public Switched Telephone Network) 리턴 채널, ISDN(Integrated Services Digital Network) 리턴 채널, LMDS(Local Multipoint Distribution System) 리턴 채널 및 MATV(Master-Antenna Television) 리턴 채널 중 적어도 하나를 포함할 수 있다.
방송 수신기(300)는 리턴 채널을 통해 원격 서버와 연결할 수 있고, 원격 서버로 데이터를 전송할 수 있다. 리턴 채널을 제공하기 위해, 네트워크 인터페이스부(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)에 대응하는 구성요소이다.
애플리케이션(370)은 방송 수신기(300)의 화면상에 표시될 그래픽을 구성하기 위해 미들웨어(380)가 제공하는 API를 사용할 수 있다. 애플리케이션(370)은 그래픽 구성을 관리하는 그래픽스 컨피규레이션 인스턴스를 요청하고, 요청한 그래픽스 컨피규레이션 인스턴스가 제공하는 메소드를 이용하여 폰트 정보를 획득하고, 획득한 폰트 정보를 이용하여 필요한 폰트를 화면상에 표시할 수 있다. 여기서 그래픽스 컨피규레이션 인스턴스는 org.havi.ui.HGraphicsConfiguration 클래스의 인스턴스일 수 있다.
HAVi(Home Audio Video Interoperability)는 TV 사용자 인터페이스 관련 부분 API을 정의하고 있다. HAVi(Home Audio Video Interoperability)에서 정의된 API는 화면을 구성하는 Device들의 configuration을 정의하고 있는 부분과 화면상에 표시될 그래픽 위드젯(Widget)들을 정의하고 있는 부분으로 구성된다.
TV 화면은 background, video, graphic 세 개의 레이어(layer)로 구성된다. 각 레이어는 셀로판 종이와 같은 기능을 수행하며, 세 개의 셀로판 종이가 겹쳐진 모습이 눈에 보이는 TV 화면이라고 볼 수 있다. 즉 TV 화면은 비디오를 중심으로, 비디오 뒤에 위치하여, 비디오가 스케일링(scaling) 되었을 때, 비디오 영역 외에 영역에 보이는 백그라운드(background) 화면, 그리고 실제 비디오가 보이는 비디오 화면, 비디오 앞에 위치하여 비디오 위에 그래픽이 그려질 수 있는 그래픽 화면으로 구성된다. HAVi 디바이스 API는 상기 TV 화면을 구성하는 HVideo, HBackground 및 HGraphics 등의 세 레이어 대한 환경을 읽거나 설정할 수 있는 API들로 구성된다. org.havi.ui.HGraphicsConfiguration 클래스는 그래픽 레이어를 관리한다.
미들웨어(380)는 튜너(311), 복조부(312), CA(313), 역다중화부(314), 미디어 디코더(315), 사용자 인터페이스부(321), 저장매체(322) 및 네트워크 인터페이스부(323)를 제어 또는 관리하고, 애플리케이션(370)에 할당한다. 또한 미들웨어(380)는 화면상에 표시될 그래픽을 구성하기 위해 애플리케이션(370)에 API를 제공한다. 미들웨어(380)는 애플리케이션(370)이 폰트 정보를 요청하는 경우에는, 폰트 정보를 애플리케이션(370)에 제공한다. 여기서 미들웨어(380)는 애플리케이션(370)이 폰트 정보를 요청하기 위해 사용되는 컨피규레이션 인스턴스를 애플리케이션(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)가 출력한 신호를 디스크램블 하도록 한다.
MPEG-2 SECTION FILTER(383)는 역다중화부(314)가 역다중화한 비디오에 관련된 데이터 스트림을 필터링하여 비디오를 디스플레이하기 위한 정보를 추출하고, 서비스 정보 처리부(384)는 역다중화부(314)가 역다중화한 데이터 중에서 서비스 정보를 추출하여 처리한다. 즉 MPEG-2 SECTION FILTER(383)는 수신된 방송 데이터로부터 MPEG 섹션 데이터를 추출한다. 특히 MPEG-2 SECTION FILTER(383)는 수신된 방송 데이터로부터 전송 모드에 대한 안내 정보인 호스트 접근 안내 정보를 추출할 수 있다. 여기서 호스트 접근 안내 정보는 일예로 AIT에 포함되어 전송될 수 있다. 이러한 경우에는, MPEG-2 SECTION FILTER(383)는 방송 데이터로부터 AIT를 추출함으로써 호스트 접근 안내 정보를 추출할 수 있다.
DSM-CC(385)는 역다중화부(314)가 역다중화한 애플리케이션용 데이터를 파싱하여 애플리케이션 프로그램 및 애플리케이션 정보를 추출하고 추출된 정보를 저장매체(322)에 저장한다. 저장매체(322)에 저장된 애플리케이션 프로그램은 프로세스(350)에서 실행된다.
미디어 제어부(386)는 미디어 디코더(315)를 제어하여 오디오(302) 및 비디오(303)가 디스플레이되도록 한다. 또한 미디어 제어부(386)는 저장매체(322)에 저장된 데이터 접근 정보와 연관되는 MPEG-2 SECTION FILTER(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)로 출력되도록 제어할 수 있다.
프로세스(350)는 단일 프로세스 또는 멀티 프로세스로 구현될 수 있고, 미들웨어(380)의 튜너 제어부(381), CA 제어부(382), MPEG-2 SECTION FILTER(383), 서비스 정보 처리부(384), DSM-CC(385), 미디어 제어부(386), 저장 제어부(387) 및 통신 제어부(388)는 각각 하드웨어 또는 펌웨어로 이루어질 수 있다. 이러한 경우에는 미들웨어(380)는 애플리케이션(370)이 하드웨어 또는 펌웨어로 이루어진 튜너 제어부(381), CA 제어부(382), MPEG-2 SECTION FILTER(383), 서비스 정보 처리부(384), DSM-CC(385), 미디어 제어부(386), 저장 제어부(387) 및 통신 제어부(388)를 사용할 수 있도록 매개하는 역할을 수행한다.
도 4는 본 발명에 따른 HGraphicsConfiguration Class의 API 명세에 대한 바람직한 일실시예를 도시한 도면이다.
도 4를 참조하면, HGraphicsConfiguration Class는 방송 수신기(300)가 디스플레이하는 화면을 구성하는 그래픽 레이어를 관리하는 API를 제공한다. 이를 위해 HGraphicsConfiguration Class는 폰트 리스트를 수신하기 위한 폰트 리스트 수신 메소드 및 폰트 속성 정보를 수신하기 위한 폰트 속성 수신 메소드를 포함한다.
여기서 폰트 리스트는 방송 수신기(300)가 지원하는 폰트에 대한 명칭인 폰트 명칭 정보를 포함한다. 방송 수신기(300)가 복수의 폰트를 지원하는 경우에는, 폰트 리스트는 방송 수신기(300)가 지원하는 폰트들 각각에 대한 폰트 명칭 정보를 모두 포함할 수 있다. 또한 폰트 리스트는 문자열 타입으로 정의될 수 있다. 폰트 리스트가 문자열 타입으로 정의된 경우에는, 폰트 정보를 인스턴스로 전달할 필요가 없어 방송 수신기(300)의 메모리 사용량을 줄일 수 있고, 메모리 접근을 줄여 서비스 속도를 향상시킬 수 있으며, 불필요하게 생기는 폰트 인스턴스를 줄여 시스템 리소스를 불필요하게 사용하는 일을 없앨 수 있다. 또한 폰트 리스트 수신 메소드는 일예로 getAllFontsList로 정의될 수 있
폰트 속성 정보는 폰트 크기 정보 및 폰트 스타일 정보를 포함한다. 폰트 크기 정보를 특정 폰트에 대해 방송 수신기(300)가 지원가능한 크기에 대한 정보인 크기값을 포함한다. 방송 수신기(300)는 특정 폰트에 대해 복수의 크기를 지원할 수 있다. 특정 폰트에 대해 복수의 크기가 지원되는 경우에는, 폰트 속성 정보는 지원되는 복수의 크기값을 모두 포함할 수 있다.
폰트 스타일 정보는 특정 폰트에 대해 방송 수신기(300)가 지원가능한 스타일에 대한 정보를 포함한다. 여기서 폰트 스타일은 'PLAIN', 'BOLD', 'ITALIC' 및 'BOLD+ITALIC' 중 적어도 하나일 수 있다. 방송 수신기(300)는 특정 폰트에 대해 복수의 스타일을 지원할 수 있으며, 그러한 경우에는, 폰트 스타일 정보는 지원되는 복수의 스타일에 대한 정보를 모두 포함할 수 있다.
또한 폰트 속성 수신 메소드는 폰트 크기 수신 메소드 및 폰트 스타일 수신 메소드를 포함한다. 여기서 폰트 크기 수신 메소드는 폰트 크기 정보를 수신하기 위한 메소드이고, 폰트 스타일 수신 메소드는 폰트 스타일 정보를 수신하기 위한 메소드이다. 또한 폰트 크기 수신 메소드는 일예로 getAllFontSizes로 정의될 수 있고, 폰트 스타일 수신 메소드는 일예로 getAllFontStyles로 정의될 수 있다.
도 5는 본 발명에 따른 getAllFontsList의 API 명세에 대한 바람직한 일실예를 도시한 도면이다.
도 5를 참조하면, getAllFontsList는 public java.lang.String[] 타입으로 정의되고, 방송 수신기 상에서 항상 유용한 java.lang.String 오브젝트(object)들의 어레이(array)를 리턴한다. getAllFontsList는 방송 수신기 상에서 항상 유용한 폰트들을 포함하는 폰트 리스트를 제공하지만, 다른 소스로부터 다운로드를 위해 임시적으로 유용한 폰트들 포함하는 폰트 리스트는 제공하지 않는다.
도 6은 본 발명에 따른 getAllFontStyles의 API 명세에 대한 바람직한 일실예를 도시한 도면이다.
도 6을 참조하면, getAllFontStyles는 public int[] 타입으로 정의되고 파라미터로 java.lang.String 타입인 fontName을 갖는다. 여기서 fontName은 getAllFontsList가 리턴하는 폰트 리스트에 포함된 폰트 명칭 정보일 수 있다. getAllFontStyles는 파라미터로 전달된 폰트 명칭 정보가 지시하는 폰트에 항상 유용한 폰트 스타일 정보를 리턴한다.
도 7은 본 발명에 따른 getAllFontSizes의 API 명세에 대한 바람직한 일실시예를 도시한 도면이다.
도 7을 참조하면, getAllFontSizes는 public int[] 타입으로 정의되고 파라미터로 java.lang.String 타입의 fontName을 갖는다. 여기서 fontName은 getAllFontsList가 리턴하는 폰트 리스트에 포함된 폰트 명칭 정보일 수 있다. getAllFontSizes는 파라미터로 전달된 폰트 명칭 정보가 지시하는 폰트에 항상 유용한 폰트 크기 정보를 리턴한다.
도 8은 폰트 정보를 획득하기 위해, 애플리케이션 상에서 구현되는 프로그램 명세에 대한 바람직한 일실시예를 도시한 도면이다.
도 8을 참조하면, 애플리케이션(370)은 HGraphicsConfiguration 타입의 변수 hgraphicsConfiguration을 생성하고, HScreen.getDefaultHScreen().getHGraphicsDevices().getCurrentConfiguration()을 실행하여 HGraphicsConfiguration 클래스의 인스턴스를 미들웨어(380)에 요청한다. 그리고 수신된 HGraphicsConfiguration 클래스의 인스턴스의 레퍼런스를 hgraphicsConfiguration에 할당한다.
애플리케이션(370)은 String 타입의 변수 availableFontList[]를 생성하고, hgraphicsConfiguration.getAllFontsList()를 실행하여 폰트 리스트를 미들웨어(380)에 요청한다. 그리고 수신된 폰트 리스트를 availableFontList[]에 할당한다.
애플리케이션(370)은 폰트 리스트에 포함된 폰트 명칭 정보가 지시하는 각 폰트에 대한 hgraphicsConfiguration.getAllFontSizes() 및 hgraphicsConfiguration.getAllFontStyles()를 실행하여 각 폰트에 대한 폰트 크기 정보 및 폰트 스타일 정보를 수신하고, int 타입으로 정의되는 availableFontSizes[] 및 availableFontStyles[]를 생성 하여, 생성한 availableFontSizes[] 및 availableFontStyles[] 각각에 수신한 폰트 크기 정보 및 폰트 스타일 정보를 저장한다.
애플리케이션(370)은 폰트 리스트에서 원하는 폰트가 있는지 확인하고, 원하는 폰트가 있는 경우에는, 해당 폰트의 폰트 인스턴스를 생성하여 사용할 수 있다. 폰트 인스턴스를 생성하기 위한 프로그램 코드는 일예로 "Font font = new Font(availableFontList[0]. Font.Plain, 4)"될 수 있다. 여기서 availableFontList[0]는 폰트 명칭 정보이고. 'Font.Plain' 폰트 스타일 정보이며, 4는 폰트 크기 정보이다. 즉 애플리케이션(370)은 Font() 생성자를 실행하여 원하는 폰트의 폰트 인스턴스를 생성할 수 있다. 즉 애플리케이션(370)은 Font(폰트명, 폰트 스타일, 폰트 크기)를 실행하여 해당 폰트의 폰트 인스턴스를 생성하고 이를 사용할 수 있다.
도 9는 본 발명에 따른 폰트 정보 제공 방법에 대한 바람직한 일실시예의 수행과정을 도시한 도면이다.
도 9를 참조하면, 튜너(311)는 애플리케이션 프로그램 코드를 포함하는 애플리케인션 데이터를 수신한다(S900).
프로세서(350)는 애플리케이션을 실행한다(S910).
애플리케이션(370)은 그래픽스 컨피규레이션 인스턴스를 요청한다(S920). 여기서 그래픽스 컨피규레이션 인스턴스는 org.havi.ui.HGraphicsConfiguration 클래스의 인스턴스일 수 있다. 또한 애플리케이션(370)은 HScreen.getDefaultHScreen().getHGraphicsDevices().getCurrentConfiguration()을 실행하여 미들웨어(380)에 HGraphicsConfiguration 클래스의 인스턴스를 요청할 수 있다.
미들웨어(380)는 요청된 그래픽스 컨피규레이션 인스턴스에 대한 레퍼런스 정보를 제공한다(S930).
애플리케이션(370)은 제공된 그래픽스 컨피규레이션 인스턴스의 레퍼런스 정보를 이용하여 폰트 리스트를 요청한다(S940). 여기서 폰트 리스트는 문자열 타입으로 정의될 수 있다. 또한 애플리케이션(370)은 hgraphicsConfiguration.getAllFontList()를 실행하여 미들웨어(380)에 폰트 리스트를 요청할 수 있다.
미들웨어(380)는 요청된 폰트 리스트를 제공한다(S950).
애플리케이션(370)은 제공된 폰트 리스트에 포함된 폰트 명칭 정보가 지시하는 폰트의 폰트 속성 정보를 요청한다(S960). 여기서 폰트 속성 정보는 폰트 크기 정보 및 폰트 스타일 정보 중 적어도 하나를 포함할 수 있다. 또한 애플리케이션(370)은 hgrapicsConfiguration.getAllFontSizes()를 실행하여 미들웨어(380)에 폰트 크기 정보를 요청할 수 있고, hgrapicsConfiguration.getAllFontStyles()를 실행하여 미들웨어(380)에 폰트 스타일 정보를 요청할 수 있다.
미들웨어(380)는 요청된 폰트 속성 정보를 제공한다(S970).
애플리케이션(370)은 폰트 리스트에서 원하는 폰트에 대한 폰트 인스턴스를 생성한다(S980). 여기서 애플리케이션(370)은 실제 사용할 폰트가 폰트 리스트에 있는지 확인한 후, 해당 폰트가 폰트 리스트에 있는 경우에는, 해당 폰트의 인스턴스를 생성하여 사용한다. 애플리케이션(370)은 "Font font = new Font(availableFontList[i], Font.BOLD, 10)"를 실행하여 폰트의 인스턴스를 생성할 수 있고, 'availableFontList[i]'은 폰트 리스트에서 인덴스가 i인 폰트를 의미하고, 'Font.BOLD'는 BOLD 타입의 폰트를 의미하며, '10'은 폰트가 10의 크기를 갖는다는 것을 의미한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 장치에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
도 1은 방송 수신기의 계층구조에 대한 바람직한 일 실시예의 구성을 도시한 구조도,
도 2는 애플리케이션의 라이프 싸이클의 일예를 도시한 개념도,
도 3은 본 발명에 따른 방송 수신기에 대한 바람직한 일 실시예의 구성을 도시한 블록도,
도 4는 본 발명에 따른 HGraphicsConfiguration Class의 API 명세에 대한 바람직한 일실시예를 도시한 도면,
도 5는 본 발명에 따른 getAllFontsList의 API 명세에 대한 바람직한 일실예를 도시한 도면,
도 6은 본 발명에 따른 getAllFontStyles의 API 명세에 대한 바람직한 일실예를 도시한 도면,
도 7은 본 발명에 따른 getAllFontSizes의 API 명세에 대한 바람직한 일실시예를 도시한 도면,
도 8은 폰트 정보를 획득하기 위해, 애플리케이션 상에서 구현되는 프로그램 명세에 대한 바람직한 일실시예를 도시한 도면, 그리고,
도 9는 본 발명에 따른 폰트 정보 제공 방법에 대한 바람직한 일실시예의 수행과정을 도시한 도면이다.

Claims (15)

  1. 방송 수신기가 지원하는 폰트에 대한 정보를 제공하는 방법에 있어서,
    상기 방송 수신기가 디스플레이하는 화면을 구성하는 그래픽 레이어를 관리하는 그래픽스 컨피규레이션 인스턴스에 대한 요청을 수신하고, 상기 그래픽스 컨피규레이션 인스턴스에 대한 레퍼런스 정보를 제공하는 단계; 및
    상기 제공된 레퍼런스 정보를 기초로 요청되는 상기 폰트의 폰트 명칭 정보를 포함하는 폰트 리스트에 대한 요청을 수신하고, 상기 폰트 리스트를 제공하는 단계;를 포함하는 것을 특징으로 하는 폰트 정보 제공 방법.
  2. 제 1항에 있어서,
    상기 폰트 리스트는 문자열 타입으로 정의된 것인 것을 특징으로 하는 폰트 정보 제공 방법.
  3. 제 1항에 있어서,
    상기 그래픽스 컨피규레이션 인스턴스는 org.havi.ui.HGraphicsConfiguration 클래스의 인스턴스인 것을 특징으로 하는 폰트 정보 제공 방법.
  4. 제 1항에 있어서,
    상기 폰트는 적어도 하나인 것을 특징으로 하는 폰트 정보 제공 방법.
  5. 제 1항에 있어서,
    상기 폰트 리스트에 포함된 폰트 명칭 정보가 지시하는 폰트의 폰트 속성 정보에 대한 요청을 수신하고, 상기 폰트 속성 정보를 제공하는 단계;를 더 포함하는 것을 특징으로 하는 폰트 정보 제공 방법.
  6. 제 5항에 있어서,
    상기 폰트 속성 정보는 폰트 크기 정보 및 폰트 스타일 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 폰트 정보 제공 방법.
  7. 제 6항에 있어서,
    상기 폰트 스타일 정보는 'PLAIN', 'BOLD', 'ITALIC' 및 'BOLD+ITALIC' 중 적어도 하나인 것을 특징으로 하는 폰트 정보 제공 방법.
  8. 제 6항에 있어서,
    상기 폰트 크기 정보는 상기 폰트에 대해 상기 방송 수신기가 지원가능한 적어도 하나의 크기값을 포함하는 것을 특징으로 하는 폰트 정보 제공 방법.
  9. 애플리케이션의 프로그램 코드를 포함하는 애플리케이션 데이터를 수신하는 튜너; 및
    상기 애플리케이션을 실행하고, 상기 애플리케이션이 방송 수신기가 지원하는 폰트의 명칭 정보를 포함하는 폰트 리스트를 요청한 경우에는, 상기 폰트 리스트를 상기 애플리케이션에 제공하는 제어부;를 포함하는 것을 특징으로 하는 방송 수신기.
  10. 제 9항에 있어서,
    상기 애플리케이션은 상기 방송 수신기가 디스플레이하는 화면을 구성하는 그래픽 레이어를 관리하는 컨피규레이션 인스턴스를 이용하여 상기 폰트 리스트를 요청하는 것을 특징으로 하는 방송 수신기.
  11. 제 9항에 있어서,
    상기 폰트 리스트는 문자열 타입으로 정의된 것인 것을 특징으로 하는 방송 수신기.
  12. 제 9항에 있어서,
    상기 제어부는,
    상기 애플리케이션이 상기 폰트 리스트에 포함된 폰트 명칭 정보가 지시하는 폰트의 폰트 속성 정보를 요청한 경우에는, 상기 폰트 속성 정보를 제공하는 것을 특징으로 하는 방송 수신기.
  13. 제 12항에 있어서,
    상기 폰트 속성 정보는 폰트 크기 정보 및 폰트 스타일 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방송 수신기.
  14. 제 13항에 있어서,
    상기 폰트 스타일 정보는 'PLAIN', 'BOLD', 'ITALIC' 및 'BOLD+ITALIC' 중 적어도 하나인 것을 특징으로 하는 방송 수신기.
  15. 제 13항에 있어서,
    상기 폰트 크기 정보는 상기 폰트에 대해 상기 방송 수신기가 지원가능한 적어도 하나의 크기값을 포함하는 것을 특징으로 하는 방송 수신기.
KR1020090006162A 2009-01-23 2009-01-23 폰트 정보 제공 방법 및 방송 수신기 KR20100086763A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090006162A KR20100086763A (ko) 2009-01-23 2009-01-23 폰트 정보 제공 방법 및 방송 수신기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090006162A KR20100086763A (ko) 2009-01-23 2009-01-23 폰트 정보 제공 방법 및 방송 수신기

Publications (1)

Publication Number Publication Date
KR20100086763A true KR20100086763A (ko) 2010-08-02

Family

ID=42753755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090006162A KR20100086763A (ko) 2009-01-23 2009-01-23 폰트 정보 제공 방법 및 방송 수신기

Country Status (1)

Country Link
KR (1) KR20100086763A (ko)

Similar Documents

Publication Publication Date Title
US9264757B2 (en) Service executing apparatus
JP5738469B2 (ja) 単一オペレーティングシステムに含まれる基本メディアプレイヤを用いてスマートサービス及びデジタルテレビサービスを提供するスマートセットトップボックス及びその駆動方法
US20060179465A1 (en) Handling feature availability in a broadcast
EP1304871A2 (en) Method and apparatus for a receiver/decoder
EP1853058A2 (en) Apparatus and method for upgrading codec
EP2630790B1 (en) Method for moving pointer in video display apparatus and video display apparatus thereof
KR101314291B1 (ko) 디지털 방송의 미들웨어 표준이 다른 장치에서 상호서비스를 제공하는 장치 및 방법
KR100870200B1 (ko) 통합 미들웨어형 디지털방송 수신장치
US8125567B2 (en) Apparatus and method for controlling the screen size of real-time video
KR20070097185A (ko) 방송 수신기 및 데이터 방송 애플리케이션 운용 방법
JP5852217B2 (ja) デジタルテレビ用アプリケーション実行システム、デジタルテレビ用アプリケーション実行装置、および該システムの実装方法
KR20100086763A (ko) 폰트 정보 제공 방법 및 방송 수신기
KR100750141B1 (ko) 디지털 데이터 방송 수신기의 해상도 제어 방법, 장치 및그 디지털 데이터 방송 수신기
KR101549008B1 (ko) 디지털 방송 장치에서 입출력 단자의 상태 관리 방법 및 장치
KR101586315B1 (ko) 방송 수신기 및 네트워크 장치 모니터링 방법
KR20090126769A (ko) 방송 수신기 및 방송 데이터 수신 방법
KR20100056173A (ko) 화면 제어 방법 및 그 장치
KR20100081408A (ko) 방송 수신기 및 리턴 채널 상태 모니터닝 방법
KR20090105324A (ko) 디지털 방송을 지원하는 미들웨어, 방송 수신기 및 방송수신기 자원에 대한 할당 정보 관리 방법, 그리고 방송수신기 자원에 대한 할당 정보 관리 방법을 기록한기록매체
KR20100074818A (ko) 데이터 방송 서비스 제공 방법 및 그를 위한 장치
KR20100056172A (ko) 애플리케이션 실행 방법 및 장치
WO2007066361A1 (en) Process, apparatus and system for executing mhp applications
Jang et al. Xlet-based, IESG (Integrated Electronic Service Guide) in ATSC-ACAP
Jang et al. Xlet-based, IESG (Integrated Electronic Service Guide) in Ubiquitous Interactive TV Environment
Lin et al. An Interactive Media Platform Scheme for DTV Receiver Compliant with MHP

Legal Events

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