KR20100056173A - Method for controlling to display a screen and apparatus thereof - Google Patents

Method for controlling to display a screen and apparatus thereof Download PDF

Info

Publication number
KR20100056173A
KR20100056173A KR1020080115220A KR20080115220A KR20100056173A KR 20100056173 A KR20100056173 A KR 20100056173A KR 1020080115220 A KR1020080115220 A KR 1020080115220A KR 20080115220 A KR20080115220 A KR 20080115220A KR 20100056173 A KR20100056173 A KR 20100056173A
Authority
KR
South Korea
Prior art keywords
application
information
priority information
graphic device
application priority
Prior art date
Application number
KR1020080115220A
Other languages
Korean (ko)
Inventor
이학주
김대중
김덕현
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020080115220A priority Critical patent/KR20100056173A/en
Publication of KR20100056173A publication Critical patent/KR20100056173A/en

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/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 MPEG 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen

Abstract

PURPOSE: A screen control method and a device thereof are provided to realize convenience of user by appropriately expressing a plurality of applications performing complicated and various functions in one screen. CONSTITUTION: A graphic device request command is received from an application(S603). Application priority information of the application is extracted by the request(S604). A graphic device object returns to the application by the extracted application priority information(S605). Signaling information including the application priority information is received.

Description

화면 제어 방법 및 그 장치{Method for controlling to display a screen and apparatus thereof}Method for controlling to display and screen a device

본 발명은 화면제어방법 및 그 장치에 관한 것으로, 더욱 상세하게는 다수의 애플리케이션이 하나의 화면을 이용하는 경우에 각 애플리케이션이 화면상에 적절하게 출력되도록 제어하는 방법 및 그 장치에 관한 것이다.The present invention relates to a screen control method and an apparatus thereof, and more particularly, to a method and apparatus for controlling each application to be properly output on the screen when a plurality of applications using a single screen.

종래 서비스의 개념은 오디오와 비디오에 한정되어 있었으나, 최근에는 하드웨어(Hardware)의 고사양화 등으로 인해 다양하고 복잡한 애플리케이션들이 점차 많이 나오고 있다. 이에 따라 하나의 애플리케이션이 하나의 서비스로 인식되고 이용되기도 한다.Conventional services have been limited to audio and video, but recently, various and complicated applications are gradually coming out due to high specification of hardware. Accordingly, one application may be recognized and used as a service.

따라서, 방송 환경 역시 그러한 애플리케이션들이 동작 가능하도록 변화하고 있다. 예를 들어, 사용자는 하나의 화면에 다수의 애플리케이션들을 동작시키고 출력되도록 원하는 경우에, 방송 환경은 이를 적절하게 뒷받침할 수 있어야 한다.Thus, the broadcast environment is also changing to enable such applications to operate. For example, if a user wants to operate and output multiple applications on one screen, the broadcast environment should be able to adequately support this.

다만, 그러한 사용자의 요청에 대해 즉, 하나의 화면에서 동작되는 다수의 애플리케이션들을 어떻게 출력할지 예를 들어, 각 애플리케이션의 화면 배치나 어떤 애플리케이션을 어떻게 표현할지 등에 대하여 적절한 제어가 이루어지지 않고 있어 사용자의 입장에서는 다양한 애플리케이션을 활용할 수 있는 반면 복잡하다는 인식과 함께 불편을 느낄 수 있는 문제점이 있다.However, the user's request, i.e., how to output a plurality of applications operating on one screen, for example, the screen layout of each application, and how to express which application, etc. are not controlled. While various applications can be utilized, there is a problem that it can be inconvenienced with the recognition that it is complicated.

상기와 같은 문제점을 해결하기 위해 본 발명의 목적은, 하나의 화면에 출력되는 다수의 애플리케이션들 간의 화면 제어 방법을 제공하고자 한다.In order to solve the above problems, an object of the present invention is to provide a screen control method between a plurality of applications that are output on one screen.

본 발명의 다른 목적은, 상기와 같은 화면 제어 방법을 제공하는 장치를 제공하고자 한다.Another object of the present invention is to provide an apparatus for providing the screen control method as described above.

상기 목적을 달성하기 위한 본 발명에 따른 애플리케이션으로부터 그래픽 디바이스 요청 명령을 수신하는 단계; 상기 요청에 따라 해당 애플리케이션의 애플리케이션 우선순위정보를 추출하는 단계; 및 상기 추출한 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하는 단계;를 포함하는 것을 특징으로 한다.Receiving a graphics device request command from an application according to the invention for achieving the above object; Extracting application priority information of the corresponding application according to the request; And returning a graphic device object according to the extracted application priority information to a corresponding application.

이때, 애플리케이션 우선순위정보를 포함하는 시그널링 정보를 수신하는 단계; 상기 수신된 시그널링 정보 내 애플리케이션 우선순위정보를 파싱하는 단계;를 더 포함할 수 있다.In this case, receiving signaling information including application priority information; Parsing application priority information in the received signaling information.

그리고 상기 파싱된 애플리케이션 우선순위정보를 저장하는 단계를 더 포함할 수 있다.The method may further include storing the parsed application priority information.

또한, 상기 애플리케이션은, 리턴된 그래픽 디바이스 객체에 따른 레이어에 대해 HScene을 생성할 수 있다.In addition, the application may generate an HScene for the layer according to the returned graphic device object.

그리고 상기 요청 및 리턴은 HScreen 클래스에 기 정의된 getHGraphicsDevices() 함수를 이용하여 이루어질 수 있다.The request and return may be made using a getHGraphicsDevices () function previously defined in the HScreen class.

또한, 상기 애플리케이션 우선순위정보는 개별 애플리케이션의 우선순위에 관련된 제1정보와 상기 제1정보에 대응하여 할당되는 그래픽 디바이스를 정의하는 제2정보를 포함할 수 있다.In addition, the application priority information may include first information related to the priority of an individual application and second information defining a graphic device allocated corresponding to the first information.

그리고 상기 애플리케이션 우선순위정보는 상기 시그널링 정보 내 XAIT 테이블에 포함되어 전송될 수 있다.The application priority information may be included in the XAIT table in the signaling information and transmitted.

본 발명에 따른 디지털 방송 수신기의 일 예는, 애플리케이션 우선순위정보가 포함된 시그널링 정보를 포함한 디지털 방송 신호를 수신하는 튜너부; 상기 수신된 디지털 방송 신호를 복조하는 복조부; 상기 복조된 디지털 방송 신호 내 시그널링 정보를 역다중화하는 역다중화부; 및 상기 역다중화된 시그널링 정보 내 애플리케이션 우선순위정보를 수신하고 파싱하여, 애플리케이션으로부터 그래픽 디바이스 요청이 수신되면 상기 수신한 애플리케이션 우선순위정보를 추출하여, 추출된 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하는 프로세서부;를 포함하여 구성하는 것을 특징으로 한다.One example of a digital broadcast receiver according to the present invention includes a tuner unit for receiving a digital broadcast signal including signaling information including application priority information; A demodulator for demodulating the received digital broadcast signal; A demultiplexer for demultiplexing signaling information in the demodulated digital broadcast signal; And receiving and parsing application priority information in the demultiplexed signaling information, extracting the received application priority information when a graphic device request is received from an application, and corresponding to the graphic device object according to the extracted application priority information. And a processor unit to return to the application.

이때, 상기 프로세서부에서 파싱된 애플리케이션 우선순위정보를 저장하는 저장매체를 더 포함할 수 있다.In this case, the processor unit may further include a storage medium for storing the application priority information parsed.

그리고 상기 프로세서부는 다수의 애플리케이션들과 미들웨어를 포함하되, 상기 미들웨어는, 상기 각 애플리케이션과 정보 또는 요청을 송수신하는 인터페이스 모듈과, 상기 각 애플리케이션의 그래픽 디바이스 요청에 따라 상기 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하도 록 제어하는 화면 제어 모듈을 포함할 수 있다.The processor unit may include a plurality of applications and middleware, wherein the middleware includes an interface module for transmitting and receiving information or requests with each of the applications, and a graphics device according to the application priority information according to the graphics device request of each application. It may include a screen control module that controls to return the object to the application.

또한, 상기 화면 제어 모듈은, 상기 각 애플리케이션의 그래픽 디바이스 요청에 따라 상기 파싱된 애플리케이션 우선순위정보 내 각 애플리케이션에 대한 우선순위에 관한 제1정보와, 상기 제1 정보에 대응하여 할당되는 그래픽 디바이스를 정의하는 제2 정보를 추출하도록 제어할 수 있다.The screen control module may further include first information about a priority of each application in the parsed application priority information and a graphic device allocated corresponding to the first information according to the graphic device request of the respective application. Control to extract the second information to define.

따라서, 본 발명에 따른 화면 제어 방법 및 그 장치에 따르면,Therefore, according to the screen control method and the device according to the present invention,

첫째, 복잡 다양한 기능을 수행하는 다수의 애플리케이션이 하나의 화면상에 적절하게 표현되도록 제어하여 사용자의 편리성을 추구할 수 있는 효과가 있다.First, there is an effect that the convenience of the user can be pursued by controlling a plurality of applications that perform complex various functions to be appropriately represented on one screen.

둘째, 다수의 애플리케이션의 화면 제어를 위한 별도의 제어 애플리케이션을 필요로 하지 않는 효과가 있다.Second, there is an effect that does not require a separate control application for screen control of a plurality of applications.

셋째, 화면 제어가 가능함에 따라 다양한 애플리케이션의 개발을 유도하고 복잡한 시나리오를 배제할 수 있는 효과가 있다.Third, the screen can be controlled to induce the development of various applications and to exclude complex scenarios.

이하 상기와 같은 과제를 구체적으로 해결하기 위한 본 발명의 기술적인 사상을 포함하는 실시 예를 첨부한 도면을 참조하여 설명한다. 여기에서, 도면에 도시되고 그와 관련하여 설명되는 본 발명의 구성과 작용 등은 본 발명의 기술적인 사상을 설명하기 위한 일 예로서 설명되는 것인바, 이것에 의하여 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, with reference to the accompanying drawings, an embodiment including the technical idea of the present invention for solving the above problems in detail. Here, the configuration and operation of the present invention shown in the drawings and described in connection with it will be described as an example for explaining the technical idea of the present invention, whereby the technical idea of the present invention and its core Configuration and operation are not limited.

또한, 이하에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 발명에서 사용되는 용어는 단순히 그 용어의 명칭이 아니라 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되고 참조하여야 함을 밝혀두고자 한다.In addition, the terms used below have been selected as widely used general terms as possible in consideration of the functions in the present invention, but may vary according to the intention or custom of the person skilled in the art or the emergence of new technologies. In addition, in certain cases, there is also a term arbitrarily selected by the applicant, in which case the meaning will be described in detail in the description of the invention. Therefore, it is intended that the terms used in the present invention should be defined and referenced based on the meanings of the terms and the contents throughout the present invention rather than the names of the terms.

이하에서는 본 발명에 따른 화면 제어 방법 및 장치에 관해 첨부된 도면을 참조하여 보다 구체적으로 설명한다.Hereinafter, a screen control method and apparatus according to the present invention will be described in detail with reference to the accompanying drawings.

본 발명과 관련하여, 다양한 방법에 따라 화면 제어가 가능하다. 다만, 이하 본 명세서에서는 하나의 화면에 다수의 애플리케이션들이 동시에 또는 시간의 차이를 두고 동작하고 표현되는 환경에서, 화면 제어를 위하여 기 정의된 각 애플리케이션에 대한 우선순위에 관한 정보를 이용함으로써, 상기 각 애플리케이션이 화면상에 출력되는 것을 제어하는 방법을 일실시 예로 하여 설명한다.In connection with the present invention, screen control is possible according to various methods. However, in the present specification, in an environment in which a plurality of applications operate on one screen at the same time or with a difference in time, the information regarding priority for each application defined for screen control may be used. A method of controlling the application output on the screen will be described as an example.

관련하여, 본 명세서에서 “화면 제어”라 함은, 각 애플리케이션이 화면 제어와 관련하여 기 정의된 우선순위에 관한 정보를 이용하여 화면상에서 출력이 제어되는 과정을 통칭하는 의미로 사용한다.In this context, the term “screen control” is used herein to mean a process in which an output is controlled on a screen by using information about priorities defined by each application in relation to screen control.

또한, 본 명세서에서 “레이어(Layer)”라 함은, 각 애플리케이션은 화면상에 표현되기 위해 그래픽 디바이스(Graphic Device)가 필요한바, 각 그래픽 디바이스를 계층화한 것을 통칭하는 의미로 사용할 수 있다.In addition, in the present specification, “layer” means that a graphic device is required for each application to be displayed on a screen, and may be used as a generic term for layering each graphic device.

이하에서는 첨부된 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.

도 1은 본 발명과 관련하여 방송 수신기의 계층 구조에 대하여 도시한 구조도이다.1 is a structural diagram illustrating a hierarchical structure of a broadcast receiver according to the present invention.

도 1을 참조하면, 방송 수신기(100)는, 애플리케이션(Application, 110), 미들웨어(120) 및 자원(Resources, 130)을 구비한다.Referring to FIG. 1, the broadcast receiver 100 includes an application 110, middleware 120, and resources 130.

애플리케이션(110)은 방송 수신기(100)에서의 다양한 목적들을 달성하기 위해 실행되는 프로그램으로서 정의된다. 그리고 애플리케이션(110)은 방송 수신기(100) 상에서 복수의 애플리케이션(111, 112, …, 119)들로 실행될 수 있다.The application 110 is defined as a program executed to achieve various purposes in the broadcast receiver 100. The application 110 may be executed by the plurality of applications 111, 112,..., 119 on the broadcast receiver 100.

애플리케이션(111, 112, …, 119)들은 적절하게 설치된 방송 수신기(100)로 디지털 텔레비전 프로그램들과 함께 방송 스트림으로 방송된다. 애플리케이션(111, 112, …, 119)들은 관련 규격 하에 특정된 DSM-CC 프로토콜과 같은 프로토콜에 따라 캐로셀(carousel) 포맷으로 방송될 수 있고, 주기적으로 방송된다.Applications 111, 112,... 119 are broadcast in a broadcast stream with digital television programs to a properly installed broadcast receiver 100. The applications 111, 112,..., 119 can be broadcast in a carousel format according to a protocol such as the DSM-CC protocol specified under the relevant standard, and are broadcast periodically.

적절하게 설치된 방송 수신기(100)는 이들 애플리케이션(111, 112, …, 119)들을 수신하고 그것들을 국부적으로 실행한다. 예시적인 애플리케이션(111, 112, …, 119)들에는 전자 프로그램 가이드들, 따라하는(play-along) 게임들, 텔레뱅킹, 메뉴 네비게이션 옵션들, 텔레쇼핑, 전자 신문들 및 유사한 정보 서비스들이 있다.Properly installed broadcast receiver 100 receives these applications 111, 112,..., 119 and executes them locally. Example applications 111, 112,..., 119 include electronic program guides, play-along games, telebanking, menu navigation options, teleshopping, electronic newspapers, and similar information services.

관련하여, 이하 본 명세서에서는 애플리케이션(110)은, 설명의 편의를 위해 엑스렛(Xlet) 애플리케이션(이하 'Xlet')을 예로 하여 설명한다. 다만, 이에 한정되는 것은 아니며, 모든 데이터 방송 플랫폼에서 동작하는 애플리케이션에 적용 가능함을 미리 밝혀둔다.In this regard, in the present specification, the application 110 will be described using an Xlet application (hereinafter, 'Xlet') as an example for convenience of description. However, the present invention is not limited thereto, and it is known that the present invention can be applied to an application running on all data broadcasting platforms.

Xlet을 실행하기 위한 기본적인 하드웨어는 자바 TV 플랫폼(예를 들어, 도 1 의 미들웨어(120))을 지원하는 셋톱박스 또는 디지털 텔레비전 수신기를 들 수 있다. Xlet들은 "주된(main)" 방법을 가지지 않으며 Xlet들은 인터페이스 Xlet을 실행한다.Basic hardware for executing the Xlet may be a set-top box or digital television receiver supporting a Java TV platform (eg, middleware 120 of FIG. 1). Xlets do not have a "main" way and Xlets execute the interface Xlet.

Xlet들은 수명 주기를 가지며, 수명 주기 메소드 서명(life cycle method signature)은 인터페이스 Xlet에 의해 정의된다. 인터페이스 Xlet은 생성, 초기화, 시작 및 파괴와 같은 Xlet 상태 변화들을 알리기 위해 수명 주기 메소드들을 제공한다. Xlets have a life cycle, and the life cycle method signature is defined by the interface Xlet. Interface Xlet provides lifecycle methods for reporting Xlet state changes such as creation, initialization, startup, and destruction.

그러나 인터페이스 Xlet은 그 수명 주기 메소드들에 대한 실행을 제공하지 않는다. 모든 자바 TV 실행들은 인터페이스 Xlet을 경유하여 다양한 애플리케이션 상태들을 통해 하나 이상의 Xlet들을 이동시키기 위해 수명 주기 메소드들을 호출하는 애플리케이션 매니저(127)를 가진다. However, the interface Xlet does not provide execution for its lifecycle methods. All Java TV implementations have an application manager 127 that calls lifecycle methods to move one or more Xlets through various application states via an interface Xlet.

인터페이스 Xlet은 그 수명 주기 메소드들에 대한 실행을 제공하지 않는다. 따라서, 개발자는 Xlet 수명 주기에서의 각각의 지점에서 일어나는 것을 정의함으로써 그 메소드들에 대한 애플리케이션-지정 실행들을 제공한다. 예를 들면, 게임 Xlet에 대한 iniXlet 메소드는 사용자 인터페이스 구성 요소들을 생성할 것이다. Xlet은 몇몇 상태 변화들 자체를 개시하고 XletContext 인터페이스에서 메소드들을 야기함으로써 그 상태 변화들을 애플리케이션 매니저(127)에 알리도록 설계된다.Interface Xlet does not provide execution for its lifecycle methods. Thus, the developer provides application-specific executions for those methods by defining what happens at each point in the Xlet life cycle. For example, the iniXlet method for a game Xlet will create user interface components. The Xlet is designed to notify the application manager 127 of the state changes by initiating some state changes themselves and causing methods in the XletContext interface.

인터페이스 Xlet은 자바 TVTM API(Application Programming Interface)에 정의된 패키지들 중 하나인 javax.tv.xlet 패키지에 의해 정의된다. 자바 TV API는 패키지들로 그룹핑된 인터페이스들 및 클래스들로 이루어진다. 이들 패키지들은 텔레비전 네트워크들에 의해 전송된 방송 스트림을 통해 디지털 수신기로 전송된 비디오, 오디오, 및 데이터를 처리하기 위한 인터페이스들 및 클래스들(Classes)을 포함한다.Interface Xlet is defined by the javax.tv.xlet package, one of the packages defined in the Java TV TM Application Programming Interface (API). The Java TV API consists of interfaces and classes grouped into packages. These packages include interfaces and classes for processing video, audio, and data sent to a digital receiver via a broadcast stream sent by television networks.

javax.tv.xlet에 정의된, 인터페이스 Xlet은 애플리케이션 매니저가 Xlet을 생성, 초기화, 시작, 정지 및 파괴할 수 있도록 허용한다. 애플리케이션 매니저(127)는 Xlet의 상태를 유지하고 다양한 수명주기 메소드들(Methods)을 통해 Xlet 상에 메소드들을 야기한다. Xlet은 애플리케이션 매니저(127)에 의해 지시되는 바와 같이 그것의 내부 동작들 및 리소스 사용들을 업데이트하기 위해 이들 메소드들을 실행한다.The interface Xlet, defined in javax.tv.xlet, allows the application manager to create, initialize, start, stop, and destroy Xlets. The application manager 127 maintains the state of the Xlet and causes methods on the Xlet through various lifecycle methods. The Xlet executes these methods to update its internal operations and resource usages as directed by the application manager 127.

도 2는 본 발명과 관련하여 애플리케이션의 라이프 싸이클(life cycle)의 일 예를 도시한 개념도이다.2 is a conceptual diagram illustrating an example of a life cycle of an application in connection with the present invention.

도 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에 신호를 보낸 다.Referring to FIG. 2, the method summary of the interface Xlet, as defined by javax.tv.xlet, is as follows. The Xlet becomes a loaded state 210 in memory. initXlet initializes the Xlet itself in the loaded state (210) and signals the Xlet to enter the paused state (220). startXlet signals the Xlet to start providing services and to enter an active state (230). The PauseXlet signals the Xlet to stop providing service and enter the suspended state 220. destroyXlet signals the Xlet to terminate service provision and enter the destroyed state (240).

미들웨어(120)는 애플리케이션(110)과 자원(130) 간을 매개하는 역할을 수행한다. 또한, 미들웨어(120)는 애플리케이션(110)의 정보 또는 명령을 수신하고, 수신한 명령을 실행하여 수신한 명령에 대한 결과를 산출하며, 산출한 결과를 애플리케이션(120)에 송신하는 기능을 수행한다. 이를 위해 미들웨어(120)는 인터페이스(Interface, 121), 시스템 서비스(System Service, 126)를 구비한다.The middleware 120 plays a role of mediating between the application 110 and the resource 130. In addition, the middleware 120 receives the information or command of the application 110, executes the received command to calculate a result of the received command, and transmits the calculated result to the application 120. . For this purpose, the middleware 120 includes an interface 121 and a 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)이다.The interface 121 performs a function of transmitting and receiving data, information, and commands between the application 110 and the system service 126. That is, the application 110 may use a service provided by the middleware 120 through the interface 121. Each broadcast standard defines a request form for requesting a specific service provided by the middleware 120 so that the creator of the application 110 may use the middleware 120. If the application 110 requests the middleware 120 to perform a specific service according to the request abbreviation defined in each broadcasting standard, the interface 121 receives a request for performing a specific service and the system service 126. The request for execution of the specific service is transmitted to the system service 126 so that the specific service can perform the specific service requested. Here, the request form for requesting a specific service provided by the middleware 120 defined in the broadcast standard may be an API defined by JAVA. In this regard, "javax.tv.xlet.Xlet" is an entity that is a defined interface and that can be executed and recognized under the relevant specifications.

시스템 서비스(126)는 인터페이스(121)가 송신하는 요청에 따라 서비스를 수 행하고, 그 결과를 인터페이스(126)에 제공한다. 또한 시스템 서비스(126)는 애플리케이션(110)을 방송국으로부터 다운로드 받고, 다운로드 받은 애플리케이션(110)의 라이프 싸이클을 관리하며, 활성 상태(active state, 230)의 애플리케이션(110)에 자원(130)을 할당 및 반환을 관리하고 할당된 자원에 대한 정보를 관리한다. 이를 위해 시스템 서비스(126)는 애플리케이션 매니저(Application Manager,127)를 구비한다. 여기서, 미들웨어(120)는 일예로 관련 규격에 따라 구현되어 해당 규격의 API를 지원할 수 있다.The system service 126 performs the service according to the request transmitted by the interface 121 and provides the result to the interface 126. In addition, the system service 126 downloads the application 110 from the broadcasting station, manages the life cycle of the downloaded application 110, and allocates the resource 130 to the application 110 in an active state 230. And manages returns and manages information about allocated resources. For this purpose, the system service 126 includes an application manager 127. Here, the middleware 120 may be implemented according to a related standard, for example, to support an API of the corresponding standard.

애플리케이션 매니저(127)는 애플리케이션(111, 112, …, 119)의 라이프 싸이클을 관리하는 모듈로서, 애플리케이션(111, 112, …, 119)의 생성, 실행, 종료를 관리한다.The application manager 127 is a module that manages life cycles of the applications 111, 112,..., 119. The application manager 127 manages the creation, execution, and termination of the applications 111, 112,..., 119.

자원(130)은 다양한 기능을 가진 하드웨어 엔티티를 의미하며, 자원(130)은 하드웨어 자원 및 소프트웨어 자원으로 표현될 수 있다. 하드웨어 자원은 튜너부, 복조부, CA(Conditional Access), 역다중화부, 디코더, 메모리, 하드디스크 및 네트워크 어댑터를 말한다. 또한, 소프트웨어 자원은 그룹화된 복수의 하드웨어 엔티티를 나타낼 수 있고 프레스, 쓰레드 등과 같은 운영체제(Operating System) 상에 정의되는 자원일 수 있다. 여기서, 쓰레드는 프로세스 내에서 실행되는 흐름 단위를 말한다. 일반적으로 한 프로그램은 하나의 쓰레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 쓰레드를 동시에 실행할 수도 있다. 즉, 프로그램은 멀티쓰레드(multithread) 방식으로 실행될 수 있다. 이러한 멀티쓰레드 방식은, 프로세스가 독립적으로 실행되며 각각 별개의 메모리를 차지하고 있는 것과 달리, 각 쓰레 드가 프로세스 내의 메모리를 공유해 사용하는 실행 방식이다.The resource 130 refers to a hardware entity having various functions, and the resource 130 may be represented as a hardware resource and a software resource. The hardware resource refers to a tuner unit, a demodulator, a conditional access (CA), a demultiplexer, a decoder, a memory, a hard disk, and a network adapter. In addition, the software resource may represent a plurality of hardware entities grouped and may be a resource defined on an operating system such as a press or a thread. Here, a thread is a unit of flow that runs within a process. Generally, a program has one thread, but depending on the program environment, more than one thread can run at the same time. In other words, the program can be executed in a multithreaded manner. This multithreaded approach is a process in which each thread shares and uses memory within a process, unlike processes running independently and occupying separate memory.

또한, 자원(130)은 애플리케이션(110)이 내부 구현에 무관하게 이용될 수 있도록 애플리케이션(110)에 투명하게(transparently) 제공되며, 상술한 바와 같이 이를 위해 미들웨어(120)가 애플케이션(110)과 자원(130)을 매개하는 역할을 수행한다. 그리고 자원(130)은 공유 자원과 비공유 자원으로 구분될 수 있다. 공유 자원은 메모리, 쓰레드, 네트워크 세션 등의 자원으로 애플리케이션(111, 112, …,119)들이 상호 공유할 수 있는 자원을 말하며, 비공유 자원은 튜너 등의 자원으로 애플리케이션(111)이 사용하고 있는 경우에는 다른 애플리케이션(112,…,119)이 사용할 수 없는 자원을 말한다.In addition, the resource 130 is provided transparently to the application 110 so that the application 110 can be used irrespective of the internal implementation, and as described above, the middleware 120 may provide the application 110 with the application 110. And mediate the resource (130). In addition, the resource 130 may be divided into a shared resource and a non-shared resource. Shared resources are resources that applications 111, 112, ..., 119 can share with each other such as resources such as memory, threads, and network sessions. Non-shared resources are used by applications 111 as resources such as tuners. Refers to a resource that cannot be used by other applications 112,..., 119.

자원(130)을 이용하기 위해서 Xlet은 자율적으로 VM 메모리와 쓰레드들을 사용하게 된다. 이러한 자원에 대한 규약이나, 관리는 전적으로 미들웨어(120)에서 이루어지며 애플리케이션(110)에서는 자신의 자원의 사용량에 대해 큰 고려 없이 동작하게 된다.To use the resource 130, the Xlet autonomously uses VM memory and threads. The protocol or management of these resources is entirely done in the middleware 120, and the application 110 operates without great consideration for the usage of its resources.

도 3은 본 발명의 일실시 예에 따라 구성한 방송 수신기의 블록도이다.3 is a block diagram of a broadcast receiver configured according to an embodiment of the present invention.

도 3을 참조하면, 본 발명에 따른 방송 수신기(300)는 튜너부(311), 복조부(312), CA부(313), 역다중화부(314), 미디어 디코더(315), 사용자 인터페이스부(321), 저장매체(322), 네트워크 인터페이스부(323) 및 프로세서(350)를 구비한다. 여기에서, 튜너부(311), 복조부(312), CA부(313), 역다중화부(314), 미디어 디코더(315), 사용자 인터페이스부(321), 저장매체(322), 네트워크 인터페이스부(323) 및 프로세서(350)는 방송 수신기(100)의 자원(130)에 해당하는 구성요소이 다.Referring to FIG. 3, the broadcast receiver 300 according to the present invention includes a tuner unit 311, a demodulator 312, a CA unit 313, a demultiplexer 314, a media decoder 315, and a user interface unit. 321, a storage medium 322, a network interface unit 323, and a processor 350. Here, the tuner unit 311, the demodulator 312, the CA unit 313, the demultiplexer 314, the media decoder 315, the user interface unit 321, the storage medium 322, and the network interface unit The processor 323 and the processor 350 are components corresponding to the resource 130 of the broadcast receiver 100.

튜너부(311)는 지상파, 위성, 케이블 중 적어도 하나로부터 방송 데이터를 수신하여 복조부(312)로 출력한다. 즉, 튜너부(311)는 안테나, 케이블, 위성 중 어느 하나를 통해 입력되는 방송 신호(301) 중 특정 채널의 주파수를 튜닝하여 복조부(312)로 출력한다. 튜너부(311)는 방송 소스 예를 들어, 지상파, 케이블, 위성별로 각각 구비될 수도 있고, 통합 튜너일 수도 있다. 또한, 튜너부(311)가 지상파 방송용 튜너라고 가정할 경우, 적어도 하나의 디지털 튜너와 아날로그 튜너를 각각 구비할 수도 있고, 디지털/아날로그 통합 튜너일 수도 있다. 튜너부(311)는 지상파를 예로 들 경우, 안테나를 통해 전송되는 지상파 방송 콘텐츠 즉, 방송 신호 중 사용자가 선택한 채널의 방송 신호를 튜닝하여 복조부(312)로 출력한다.The tuner 311 receives broadcast data from at least one of the terrestrial wave, satellite, and cable, and outputs the broadcast data to the demodulator 312. That is, the tuner 311 tunes the frequency of a specific channel among the broadcast signals 301 input through any one of an antenna, a cable, and a satellite and outputs the tuned frequency to the demodulator 312. The tuner unit 311 may be provided for each broadcast source, for example, terrestrial wave, cable, and satellite, or may be an integrated tuner. In addition, when the tuner unit 311 is assumed to be a terrestrial broadcast tuner, at least one digital tuner and an analog tuner may be provided, respectively, or may be a digital / analog integrated tuner. When the terrestrial wave is an example, the tuner 311 tunes a terrestrial broadcast content transmitted through an antenna, that is, a broadcast signal of a channel selected by a user from among broadcast signals, and outputs the tuned signal to the demodulator 312.

여기에서, 튜너부(311)가 수신하는 방송 데이터는 A/V 데이터, MPEG 섹션 데이터, 애플리케이션 데이터 중 적어도 하나를 포함한다. A/V 데이터는 오디오 데이터 또는 비디오 데이터를 의미한다. 또한, MPEG 섹션 데이터는 SI(System Information), EAS, AIT(Application Information Table), 및 XAIT(eXtended AIT)를 포함하는 데이터일 수 있다. 특히, AIT(Application Information Table)는 데이터 서비스를 위해 수신기에서 구동되는 애플리케이션에 대한 정보를 포함하는 테이블을 의미하며, 경우에 따라서는 AMT라고도 불리운다. 이러한 AIT는 애플리케이션에 대한 정보, 예컨대 애플리케이션의 이름(name), 애플리케이션의 버전, 애플리케이션의 우선순위, 애플리케이션의 ID, 애플리케이션의 상태(auto-start, 사용자에 의한 조작가능, kill 등), 애플리케이션의 타입(Java 또는 HTML), 애플리케이션의 class들과 데이터 파일을 포함하는 스트림의 위치, 애플리케이션의 base directory, 애플리케이션의 아이콘의 위치 등에 대한 정보를 포함할 수 있다. 본 발명과 관련하여, XAIT는 화면 제어와 관련하여 각 애플리케이션의 우선순위에 관한 정보와, 상기 우선순위에 관한 정보에 따라 할당된 그래픽 디바이스 객체(graphic device object)에 관한 정보를 포함한다.Here, the broadcast data received by the tuner unit 311 includes at least one of A / V data, MPEG section data, and application data. A / V data means audio data or video data. In addition, the MPEG section data may be data including System Information (SI), EAS, Application Information Table (AIT), and eXtended AIT (XAIT). In particular, an application information table (AIT) refers to a table including information on an application running in a receiver for data service, and is also called AMT in some cases. These AITs provide information about the application, such as the name of the application, the version of the application, the priority of the application, the ID of the application, the state of the application (auto-start, user-operable, kill, etc.), the type of application. (Java or HTML), the location of the stream containing the classes and data files of the application, the base directory of the application, the location of the icon of the application, and the like. In connection with the present invention, the XAIT includes information about the priority of each application in relation to screen control and information about a graphic device object allocated according to the information about the priority.

애플리케이션 데이터는 애플리케이션(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 프로토콜 등이 선택적으로 사용될 수 있다. 또한, 전송 방식은 관련 규격 상에 정의된 Broadcast Channel Protocols 및 Interaction Channel Protocols이 될 수 있다.Application data refers to data containing the program code of the application (110). The processor 350 may determine a transmission mode based on an application information table (AIT) and control to download application data in the determined transmission mode. Here, the transmission mode refers to a transmission method and a type of transmission medium for receiving broadcast data. The transmission method refers to the type of protocol used for each network layer, and DSM-CC User-to-User, Data and Object Carousel protocols, HTTP, TCP, UDP, IP, MPEG-2 Transport Stream, Ethernet protocol, etc. Can be used. In addition, the transmission method may be Broadcast Channel Protocols and Interaction Channel Protocols defined in a related standard.

전송 매체의 종류로는 지상파, 위성, 케이블 및 인터넷 망 등을 포함할 수 있다.Types of transmission media may include terrestrial, satellite, cable and Internet networks.

또한, 전송 모드는 방송 데이터의 종류에 따라 전송 방식 및 전송 경로를 달리하는 전송 모드를 포함할 수 있다. 즉, 방송 수신기(300)는 A/V 데이터는 케이블을 통해 수신하고, 애플리케이션 데이터는 인터넷 망을 통해 수신하는 전송 모드를 지원할 수 있다.In addition, the transmission mode may include a transmission mode in which a transmission method and a transmission path vary depending on the type of broadcast data. That is, the broadcast receiver 300 may support a transmission mode in which A / V data is received through a cable and application data is received through an internet network.

또한, 프로세서(350)는 AIT를 이용하여 애플리케이션 정보를 검출할 수 있다. 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가 이용되어 특정 채널에 대한 정보를 얻을 수 있다.In addition, the processor 350 may detect the application information using the AIT. As a method of detecting application information using AIT, component_tag, original_network_id, transport_stream_id, and service_id may be detected. The component_tag refers to an elementary stream carrying DSI of the corresponding Object Carousel, and the original_network_id refers to the DVB-SI original_network_id of the TS providing the transport connection. In addition, the transport_stream_id refers to the MPEG TS of the TS providing the transport connection, and the service_id refers to the DVB-SI of the service providing the transport connection. The original_network_id, transport_stream_id, and service_id may be used to obtain information on a specific channel.

네트워크 인터페이스(323)는 인터넷 망을 통해 방송 데이터를 수신하고, 수신한 방송 데이터를 CA부(313) 또는 통신 제어부(388)로 출력한다.The network interface 323 receives broadcast data through the Internet network, and outputs the received broadcast data to the CA unit 313 or the communication control unit 388.

복조부(312)는 튜너부(311)가 출력한 신호를 복조하여 CA부(313)로 출력한다. CA부(313)는 복조부(312)가 출력한 신호 또는 네트워크 인터페이스부(323)가 출력한 신호를 디스크램블하여 역다중화부(314)로 출력한다. 역다중화부(314)는 CA부(313)가 출력한 신호인 디지털 데이터 스트림을 오디오 및 비디오를 나타내는 데이터 스트림(예를 들면, MPEG-2 포맷) 및 반복 방송되는 DSM-CC 객체 캐로셀 형태의 애플리케이션들용 데이터로 역다중화한다. 여기서, 비-방송 배송 채널들과 인터페이스할 수 있는 방송 수신기의 다른 실시 예로 튜너(311)는 비-방송 배송 채널에 적합한 네트워크 인터페이스로 대치될 수 있다. 비-방송 배송 채널은 인터넷 프로 토콜(IP) 기반 배송채널일 수 있다.The demodulator 312 demodulates the signal output from the tuner 311 and outputs the demodulated signal to the CA unit 313. The CA unit 313 descrambles the signal output from the demodulator 312 or the signal output from the network interface unit 323, and outputs the descrambled signal to the demultiplexer 314. The demultiplexer 314 is a digital data stream that is a signal output from the CA unit 313 in the form of a data stream (for example, MPEG-2 format) representing audio and video and a DSM-CC object carousel that is repeatedly broadcast. Demultiplex with data for applications Here, in another embodiment of the broadcast receiver capable of interfacing with the non-broadcast delivery channels, the tuner 311 may be replaced with a network interface suitable for the non-broadcast delivery channels. The non-broadcast delivery channel may be an Internet Protocol (IP) based delivery channel.

미디어 디코더(315)는 역다중화부(314)가 역다중화한 오디오 스트림 및 비디오 스트림을 디스플레이될 수 있는 오디오(302) 및 비디오(303)로 각각 복호화한다. 이를 위해 미디어 디코더(315)는 오디오 복호기, 비디오 복호기를 포함할 수 있다. 여기서, 디스플레이되는 비디오(303)는 사용자 인터페이스(321)로부터 출력되는 영상을 포함할 수 있다.The media decoder 315 decodes the audio stream and the video stream demultiplexed by the demultiplexer 314 into audio 302 and video 303 which can be displayed, respectively. To this end, the media decoder 315 may include an audio decoder and a video decoder. Here, the displayed video 303 may include an image output from the user interface 321.

프로세스(350)는 애플리케이션(370) 및 미들웨어(380)를 실행시킨다. 여기서애플리케이션(370) 및 미들웨어(380)는 각각 방송 수신기(100)의 애플리케이션(110) 및 미들웨어(120)에 대응하는 구성요소이다.Process 350 executes application 370 and middleware 380. Here, the application 370 and the middleware 380 are components corresponding to the application 110 and the middleware 120 of the broadcast receiver 100, respectively.

미들웨어(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)를 구비한다.The middleware 380 includes a tuner 311, a demodulator 312, a CA 313, a demultiplexer 314, a media decoder 315, a user interface 321, a storage medium 322, and a network interface 323. ) Is controlled or managed and assigned to the application 370. To this end, the middleware 380 may include a tuner control unit 381, a CA control unit 382, an MPEG-2 section filter unit 383, a service information processing unit 384, a DSM-CC 385, and a media control unit (3). 386, a storage control unit 387, and a communication control unit 388.

튜너 제어부(381)는 튜너(811)을 제어하여 튜너(811)을 애플리케이션(370)에할당하거나 애플리케이션(370)의 명령에 따라 튜너(811)의 튜닝 주파수를 변경한다. CA 제어부(382)는 CA(312)를 제어하여 CA(312)가 복조부(312)가 출력한 신호를 디스크램블 하도록 한다.The tuner controller 381 controls the tuner 811 to allocate the tuner 811 to the application 370 or to change the tuning frequency of the tuner 811 according to a command of the application 370. The CA controller 382 controls the CA 312 so that the CA 312 descrambles the signal output from the demodulator 312.

MPEG-2 섹션 필터부(383)는 역다중화부(314)가 역다중화한 비디오에 관련된 데이터 스트림을 필터링하여 비디오를 디스플레이하기 위한 정보를 추출하고, 서비스 정보 처리부(384)는 역다중화부(314)가 역다중화한 데이터 중에서 서비스 정보를 추출하여 처리한다. 즉, MPEG-2 섹션 필터부(383)는 수신된 방송 데이터로부터 MPEG 섹션 데이터를 추출한다. 특히 MPEG-2 섹션 필터부(383)는 수신된 방송 데이터로부터 전송 모드에 대한 안내 정보인 호스트 접근 안내 정보를 추출할 수 있다. 여기서, 호스트 접근 안내 정보는 일 예로 AIT에 포함되어 전송될 수 있다.The MPEG-2 section filter unit 383 extracts information for displaying the video by filtering a data stream related to the video demultiplexed by the demultiplexer 314, and the service information processor 384 extracts the information for the demultiplexer 314. The service information is extracted from the demultiplexed data and processed. That is, the MPEG-2 section filter unit 383 extracts MPEG section data from the received broadcast data. In particular, the MPEG-2 section filter unit 383 may extract host access guide information, which is guide information on a transmission mode, from the received broadcast data. Here, the host access guide information may be included in the AIT and transmitted as an example.

이러한 경우에는, MPEG-2 섹션 필터부(383)는 방송 데이터로부터 AIT를 추출함으로써 호스트 접근 안내 정보를 추출할 수 있다.In this case, the MPEG-2 section filter unit 383 may extract host access guide information by extracting AIT from broadcast data.

DSM-CC(385)는 역다중화부(314)가 역다중화한 애플리케이션용 데이터를 파싱하여 애플리케이션 프로그램 및 애플리케이션 정보를 추출하고 추출된 정보를 저장 매체(322)에 저장한다. 저장매체(322)에 저장된 애플리케이션 프로그램은 프로세스(350)에서 실행된다.The DSM-CC 385 parses application data demultiplexed by the demultiplexer 314 to extract application program and application information, and stores the extracted information in the storage medium 322. The application program stored in storage medium 322 is executed in process 350.

미디어 제어부(386)는 미디어 디코더(315)를 제어하여 오디오(302) 및 비디오(303)가 디스플레이되도록 한다. 또한, 미디어 제어부는 저장매체(322)에 저장된 데이터 접근 정보와 연관되는 MPEG-2 섹션 필터부(383)가 추출한 호스트 접근 안내 정보를 검색하고, 검색한 호스트 접근 안내 정보가 지시하는 전송 모드로 방송 데이터를 수신하도록 튜너(311) 또는 네트워크 인터페이스(323)를 제어할 수 있다. 여기서, 미디어 제어부(386)는 네트워크 인터페이스(323)을 직접 제어하는 대신에 통신 제어부(388)가 네트워크 인터페이스(323)를 제어하도록 하여, 네트워크 인터페이스(323)이 검색한 호스트 접근 안내 정보가 지시하는 전송 모드로 방송 데이터 를 수신하도록 할 수 있다.The media controller 386 controls the media decoder 315 to display the audio 302 and video 303. In addition, the media control unit searches for the host access guide information extracted by the MPEG-2 section filter unit 383 associated with the data access information stored in the storage medium 322, and broadcasts in the transmission mode indicated by the searched host access guide information. The tuner 311 or network interface 323 may be controlled to receive data. Here, instead of directly controlling the network interface 323, the media controller 386 allows the communication controller 388 to control the network interface 323 so that the host access guide information retrieved by the network interface 323 is indicated. Receive broadcast data in the transmission mode.

저장 제어부(387)는 오디오 스트림, 비디오 스트림, 애플리케이션 프로그램, 애플리케이션 정보 및 서비스 정보를 저장매체(322)로 저장하고 저장매체(322)에 저장된 오디오 스트림, 비디오 스트림, 애플리케이션 프로그램, 애플리케이션 정보 및 서비스 정보에 접근하는 것을 제어한다. 저장매체(322)는 RAM 메모리, FLASH 메모리 및 HDD 중 어느 하나일 수 있고 또는 RAM 메모리, FLASH 메모리 및 HDD를 구비할 수 있다. 여기서 HDD는 내장형 HDD일 수 있고 외장형 HDD일 수 있다.The storage control unit 387 stores the audio stream, the video stream, the application program, the application information, and the service information in the storage medium 322, and the audio stream, the video stream, the application program, the application information, and the service information stored in the storage medium 322. Control access to The storage medium 322 may be any one of a RAM memory, a FLASH memory, and an HDD, or may include a RAM memory, a FLASH memory, and an HDD. The HDD may be an internal HDD or an external HDD.

통신 제어부(388)는 애플리케이션(370)이 네트워크 통신이 가능하도록 지원하며, 이를 위해 네트워크 인터페이스(323)를 제어한다. 또한, 통신 제어부(388)는 네트워크 인터페이스(323)가 방송 데이터를 수신하도록 제어한다. 통신 제어부(388)는 네트워크 인터페이스(323)가 수신한 방송 데이터 중에 애플리케이션 데이터를 추출하여 저장매체에 저장되도록 저장 제어부(387)에 제공할 수 있고, 네트워크 인터페이스(323)가 수신한 방송 데이터 중에 A/V 데이터를 CA(313)로 출력되도록 제어할 수 있다.The communication controller 388 supports the application 370 to enable network communication, and controls the network interface 323 for this purpose. In addition, the communication control unit 388 controls the network interface 323 to receive broadcast data. The communication control unit 388 may extract the application data from the broadcast data received by the network interface 323 and provide it to the storage control unit 387 to be stored in a storage medium. The / V data may be controlled to be output to the 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)를 사용할 수 있도록 매개하는 역할을 수행한다.Here, the process 380 may be implemented as a single process or a multi-process, the tuner control unit 381, CA control unit 382, MPEG-2 section filter unit 383, service information processing unit 384 of the middleware 380 ), The DSM-CC 385, the media control unit 386, the storage control unit 387, and the communication control unit 388 may be hardware or firmware, respectively. In this case, the middleware 380 may include a tuner controller 381, a CA controller 382, an MPEG-2 section filter unit 383, a service information processor 384, and a DSM-CC in which the application 370 is hardware or firmware. 385, the media controller 386, the storage controller 387, and the communication controller 388 are used to mediate the use.

본 발명과 관련하여, 애플리케이션 우선순위정보가 포함된 시그널링 정보를 포함한 방송 신호는 튜너부(311)를 통해 수신되고, 복조부(312)에서 복조되어, 역다중화부(314)에서 다른 데이터와 구분되어 시그널링 정보가 역다중화된다. 그리고 상기 역다중화된 시그널링 정보는 프로세서(350)로 전달된다. 프로세스(350)는 전달된 시그널링 정보를 미들웨어(380)로 전달하고, 미들웨어(380)는 전달된 시그널링 정보 내 애플리케이션 우선순위정보를 파싱하여 저장 매체(322)에 저장하도록 제어할 수 있다.In relation to the present invention, a broadcast signal including signaling information including application priority information is received through the tuner unit 311, demodulated by the demodulator 312, and distinguished from other data in the demultiplexer 314. The signaling information is then demultiplexed. The demultiplexed signaling information is transmitted to the processor 350. The process 350 may transfer the delivered signaling information to the middleware 380, and the middleware 380 may control to parse the application priority information in the delivered signaling information and store it in the storage medium 322.

도 4는 본 발명에 따른 미들웨어에 대한 바람직한 일 실시예의 구성을 도시한 블록도이다.4 is a block diagram showing the configuration of a preferred embodiment of the middleware according to the present invention.

도 4를 참조하면, 본 발명에 따른 미들웨어(400)는 미들웨어(380)에 대응하는 것으로서, 인터페이스 모듈(410) 및 화면 제어 모듈(420)을 구비할 수 있다. 여기서, 인터페이스 모듈(410) 및 화면 제어 모듈(420)은 각각 인터페이스(121) 및 시스템 서비스(126)와 대응하는 구성요소이다. 애플리케이션(401)은 도 3의 애플리케이션(370)에 대응하는 구성요소이고, 저장매체(402)는 도 3의 저장매체(322)에 대응하는 구성요소이다.Referring to FIG. 4, the middleware 400 according to the present invention corresponds to the middleware 380, and may include an interface module 410 and a screen control module 420. Here, the interface module 410 and the screen control module 420 are components corresponding to the interface 121 and the system service 126, respectively. The application 401 is a component corresponding to the application 370 of FIG. 3, and the storage medium 402 is a component corresponding to the storage medium 322 of FIG. 3.

인터페이스 모듈(410)은 애플리케이션(401)과 정보 또는 명령을 송수신한다. 예를 들어, 인터페이스 모듈(410)은 애플리케이션(401)이 화면 제어와 관련하여 그래픽 디바이스의 요청 명령을 송신하면, 상기 화면 제어와 관련하여 그래픽 디바이 스의 요청 명령을 수신하여 화면 제어 모듈(420)에 전송한다. 반대로, 인터페이스 모듈(410)은 화면 제어 모듈(420)이 화면 제어와 관련하여 그래픽 디바이스의 요청 명령에 따른 응답을 송신하면, 상기 응답을 수신하여 애플리케이션(401)으로 송신한다.The interface module 410 exchanges information or commands with the application 401. For example, when the application 401 transmits a request for a graphic device in connection with a screen control, the interface module 410 receives a request for a graphic device in connection with the screen control and receives the screen control module 420. To transmit. In contrast, when the screen control module 420 transmits a response according to a request command of the graphic device in relation to screen control, the interface module 410 receives the response and transmits the response to the application 401.

도 3을 참조하면, 도 4의 미들웨어(400)는 예를 들면, 방송 수신기(300)에서 수신되는 방송 신호에 포함된 본 발명에 따른 화면 제어와 관련된 애플리케이션 우선순위에 관한 정보를 기 수신한 것으로 가정할 수 있다. 이때, 미들웨어(400)는 상기 수신한 애플리케이션 우선순위정보를 파싱한다. 그리고 상기 파싱한 정보를 저장매체(402)에 저장한다.Referring to FIG. 3, for example, the middleware 400 of FIG. 4 previously received information regarding application priority related to screen control according to the present invention included in a broadcast signal received from the broadcast receiver 300. Can assume At this time, the middleware 400 parses the received application priority information. The parsed information is stored in the storage medium 402.

따라서, 화면 제어 모듈(420)는 인터페이스 모듈(410)을 통해 애플리케이션(401)으로부터 화면 제어와 관련하여 그래픽 디바이스의 요청이 수신되면, 기 수신한 방송 신호 내 애플리케이션 우선순위정보를 파싱하거나 또는 파싱하여 기 저장된 애플리케이션 우선순위정보로부터 해당 애플리케이션과 관련된 정보를 추출한다. 이때, 추출되는 정보는 예를 들어, 각 애플리케이션에 대한 우선순위에 관한 정보와, 상기 우선순위에 관한 정보에 대응하여 미리 할당된 그래픽 디바이스 객체에 관한 정보를 포함할 수 있다.Accordingly, when the screen control module 420 receives a request of the graphic device in connection with the screen control from the application 401 through the interface module 410, the screen control module 420 parses or parses application priority information in the previously received broadcast signal. Extract information related to the application from the previously stored application priority information. In this case, the extracted information may include, for example, information about a priority for each application and information about a graphic device object pre-allocated corresponding to the information about the priority.

따라서, 화면 제어 모듈(420)는 상기 우선순위에 관한 정보와 그래픽 디바이스 객체에 관한 정보를 추출하여, 상기 요청에 대한 응답으로 해당 애플리케이션에 적당한 그래픽 디바이스 객체를 인터페이스 모듈(410)을 거쳐 해당 애플리케이션으로 리턴 또는 전달할 수 있다. 관련하여, 보다 상세한 설명은 후술한다.Accordingly, the screen control module 420 extracts the information about the priority and the information about the graphic device object, and in response to the request, the graphic control object 420 suitable for the application to the corresponding application via the interface module 410. Can be returned or passed In this regard, a more detailed description will be given later.

본 발명과 관련하여, 현재 관련 규격들에서는 다수의 애플리케이션이 동시에 동작하는 환경을 허용하고 있다. 즉, 하나의 화면에 다수의 애플리케이션이 복합적으로 동작될 수 있다.In the context of the present invention, the current standards allow an environment in which multiple applications operate simultaneously. That is, multiple applications may be operated in combination on one screen.

따라서, 다수의 애플리케이션이 하나의 화면을 동시에 또는 시간적 간격을 두고 이용하는 경우, Z-order 상의 순위 조절이 필요하다. 예를 들어, 특정 애플리케이션(EPG Xlet Application)(제1 애플리케이션)이 화면에 최우선 순위로 기 동작하는 과정에서, 망 제공사의 긴급 공지 사항 등으로 인해 다른 애플리케이션(제2 애플리케이션)(긴급 메시지 전달과 관련된 애플리케이션)을 화면에 최우선 순위로 표현하기 위해서는 해당 애플리케이션(제2 애플리케이션)이 우선적으로 화면을 선점하여야 하기 때문이다. 만약 그러한 화면 제어가 적절히 이루어지지 않는다면, 사용자 등에게 중요한 정보가 제때에 전달되지 않아 불편을 초래할 수 있다.Therefore, when a plurality of applications use a single screen at the same time or at time intervals, ranking on Z-order is necessary. For example, in the process of a specific application (EPG Xlet Application) (first application) operating on the screen with the highest priority, other applications (second application) (e.g., emergency message delivery) This is because the application (the second application) must preempt the screen first in order to express the highest priority on the screen. If such screen control is not properly performed, information important to a user or the like may not be delivered in a timely manner, which may cause inconvenience.

관련하여, 화면에 대한 우선순위 조절을 위해 다른 애플리케이션에 비해 보다 많은 제어권을 가진 별도의 애플리케이션(이하 ‘제어 애플리케이션‘)을 이용하여 화면을 제어하는 방법이 있다. 여기에서, 제어 애플리케이션은 다른 애플리케이션의 요청에 따라 화면의 상단 혹은 Z-order 상의 변경에 대한 승인 혹은 거절할 수 있는 권한을 가진다.Relatedly, there is a method of controlling a screen by using a separate application (hereinafter, referred to as “control application”) having more control than other applications to adjust the priority of the screen. Here, the control application has the authority to approve or reject the change on the top of the screen or on the Z-order at the request of another application.

다만, 이러한 방식은 제어 애플리케이션이 다른 애플리케이션들의 상태 및 현재 동작 사항을 알고 있을 때 가능하다. 즉, 제어 애플리케이션이 현재 동작하고 있는 애플리케이션이 무엇이며 Z-order 상에 다른 UI(User Interface)가 존재해도 무방한지에 대한 정보를 관리하여야 화면 제어가 가능하다. 그러나, 제어 애플리케 이션이 모든 애플리케이션의 모든 동작 시나리오를 파악하는 것은 현실적으로 불가능하고, 비효율적이다.However, this is possible when the control application knows the status and current operation of other applications. That is, the screen control is possible only if information on which application the control application is currently operating and whether there is another UI (User Interface) on the Z-order. However, it is practically impossible and inefficient for a control application to grasp all operating scenarios of all applications.

따라서, 본 발명에서는, 개별 애플리케이션이 다수의 애플리케이션 간에 위치해야할 부분 등에 대한 화면 제어와 관련하여 사전에 검토되어 할당된 순서에 따라 자유롭게 위치하도록 유도하는 방법을 사용하고자 한다. 이것이 제어 애플리케이션을 이용하는 방법에 비해 훨씬 효율적이다.Accordingly, the present invention intends to use a method of inducing an individual application to be freely positioned in the order in which it has been reviewed in advance in relation to a screen control on a portion to be located between a plurality of applications. This is much more efficient than using a control application.

이를 위해, 본 명세서에서는 기존의 관련 규격들과의 호환성 등을 고려하여 그 내용을 확장하여 이용하고자 한다. 즉, 개별 애플리케이션의 화면 제어와 관련된 우선순위정보를 정의하고, 제어 애플리케이션이 아닌 제어부에서 상기 정의되는 정보를 이용하여 화면 제어를 하는 것에 설명한다. 여기에서, 개별 애플리케이션의 화면 제어와 관련된 우선순위정보라 함은, 송신단에서 미리 정해진 기준 등에 의해 정의하여 전송하는 정보로서, 해당 각 애플리케이션이 화면상에서 위치해야할 부분(예를 들어, 레이어(Layer)) 등 화면 제어와 관련하여 사전에 검토되어 할당된 순서에 관한 정보를 통칭한다. 이하에서는 상기 정보를 애플리케이션 우선순위정보라 한다. 그리고 상기 제어부는 예를 들어, 수신기의 미들웨어(MiddleWare: M/W)일 수 있다.To this end, in the present specification, it is intended to expand and use the contents in consideration of compatibility with existing related standards. That is, the description will be given of defining priority information related to screen control of an individual application and controlling the screen using the information defined in the control unit instead of the control application. Here, priority information related to screen control of an individual application is information that is defined and transmitted by a transmitter in accordance with a predetermined criterion and the like, and a part of each application to be located on the screen (for example, a layer). In general, information related to the screen control is collectively referred to as information related to the assigned order. Hereinafter, the information is referred to as application priority information. The controller may be, for example, middleware (M / W) of a receiver.

따라서, 본 발명에 따르면, 송신단은 애플리케이션 우선순위정보를 전송하고, 수신단에서 상기 애플리케이션 우선순위정보를 수신한다. 그리고 수신단은 각 애플리케이션으로부터 화면 제어와 관련된 요청이 수신되는 경우, 상기 수신한 애플리케이션 우선순위에 관한 정보를 이용하여 화면 제어를 수행하게 된다.Therefore, according to the present invention, the transmitting end transmits the application priority information, and the receiving end receives the application priority information. When a request related to screen control is received from each application, the receiving end performs screen control by using the received application priority information.

이하에서는 본 발명에 따른 화면 제어 방법을 보다 구체적으로 설명한다. Hereinafter, the screen control method according to the present invention will be described in more detail.

우선, 본 발명에 따른 화면 제어에 이용되는 애플리케이션 우선순위정보에 대해 살펴보면 다음과 같다.First, application priority information used for screen control according to the present invention will be described.

애플리케이션 우선순위정보는 미들웨어(M/W)에서 상기 정보를 애플리케이션의 화면 제어와 관련된 요청에 따라 이용한다. 여기에서, 상기 애플리케이션 우선순위에 관한 정보는 예를 들어, 송신단으로부터 전송되는 방송 신호 내 다수의 시그널링 정보들 중에서 예를 들어, XAIT 테이블(eXtended Application Information Table)에 포함될 수 있다. 따라서, 미들웨어(M/W)는 상기 XAIT 테이블 내 애플리케이션 우선순위정보를 파싱하여 저장매체에 저장하고, 각 애플리케이션의 요청에 따라 저장매체에 저장된 해당 애플리케이션 우선순위정보로부터 해당 애플리케이션에 적절한 우선순위에 따른 응답을 할 수 있다.The application priority information is used by the middleware (M / W) according to the request related to the screen control of the application. Here, the information about the application priority may be included in, for example, an eXtended Application Information Table (XAIT) among a plurality of signaling information in a broadcast signal transmitted from a transmitter. Accordingly, the middleware (M / W) parses the application priority information in the XAIT table and stores the application priority information in the storage medium, and according to the priority of the application appropriate from the application priority information stored in the storage medium in response to a request of each application. You can respond.

여기에서, 상기 애플리케이션 우선순위정보를 예를 들어, 아래의 표와 같이 정의하여 이용할 수 있다.Here, the application priority information may be defined and used, for example, as shown in the following table.

PriorityPriority GraphicDeviceGraphicDevice 1-101-10 1One 11-2011-20 22 21-3021-30 33 ...... ...... 240-255240-255 2525

일반적으로, 하나의 애플리케이션은 하나의 그래픽 디바이스(Graphic Device)만을 사용한다. 따라서, 본 발명에서는 이 부분을 확장하여 각 애플리케이션의 우선순위에 기반하여 그래픽 디바이스를 얻도록 함으로써, 상술한 문제점을 해결하고자 한다.In general, one application uses only one graphic device. Accordingly, the present invention extends this portion to obtain a graphics device based on the priority of each application, thereby solving the above problems.

상기 표 1을 참조하면, 각 애플리케이션에 부여되는 우선순위(priority)는 1 내지 255까지, 상기 우선순위에 대응하는 그래픽 디바이스는 1 내지 25가 할당되어 있다. 여기에서, 상기 표 1에서는 본 발명의 일실시 예를 설명하기 위하여, 예시한 것으로 이에 한정되지 않음을 미리 밝혀둔다. 즉, 상기 표 1에서는, 우선순위(priority)가 1 내지 10인 애플리케이션은 1번 그래픽 디바이스를 할당하고, 우선순위가 11 내지 20인 애플리케이션은 2번 그래픽 디바이스를 할당하고, 상기와 같은 방식으로 우선순위가 240 내지 255인 애플리케이션은 25번 그래픽 디바이스를 할당할 수 있다. 다만, 상술한 표 1과 다르게, 하나의 우선순위와 하나의 그래픽 디바이스를 일대 일 대응이 되도록 할 수도 있다. 이는 송신측에서 미리 정한 바에 따라 다양한 조합으로 표현 가능할 것이다.Referring to Table 1, priorities are assigned to each application from 1 to 255, and graphics devices corresponding to the priorities are assigned from 1 to 25. Here, in Table 1, for the purpose of describing one embodiment of the present invention, it is noted that it is not limited thereto. That is, in Table 1, an application with priority 1 to 10 allocates graphic device 1, and an application with priority 11 to 20 assigns graphic device 2, and prioritizes in the same manner as described above. An application with a rank of 240 to 255 may allocate a graphics device number 25. However, unlike Table 1 described above, one priority and one graphic device may be in one-to-one correspondence. This may be expressed in various combinations as previously determined by the transmitter.

도 5는 본 발명의 일실시 예에 따른 그래픽 디바이스 레이어 구조를 도시한 것이다. 여기에서, 그래픽 디바이스는 상기 표 1을 참조하여 1번 그래픽 디바이스에서 25번 그래픽 디바이스에 대한 레이어 구조를 도시한 것으로, 미들웨어에서 가상으로 관리한다. 도 5를 참조할 때, 그래픽 디바이스는 고유의 레이어를 가지게 됨으로써 일정 우선순위 간에 독립적인 Z-order를 가질 수 있게 된다. 즉, 25번 그래픽 디바이스는 최상위의 우선순위를 가진 레이어를 나타내고, 1번 그래픽 디바이스는 최하위의 우선순위를 가지는 레이어를 나타내며, 25번 그래픽 디바이스는 1번 그래픽 디바이스 보다 항상 앞에 위치하게 되어, 우선순위를 보장해 줄 수 있게 된다.5 illustrates a graphic device layer structure according to an embodiment of the present invention. Here, the graphic device shows a layer structure for the graphic device 25 from the graphic device 1 with reference to Table 1 above, and virtually manages it in the middleware. Referring to FIG. 5, the graphics device may have its own layer, thereby allowing the Z-order to be independent among certain priorities. That is, graphic device 25 represents the layer with the highest priority, graphic device 1 represents the layer with the lowest priority, and graphic device 25 is always positioned before graphic device 1, which is the priority. To ensure that.

이하에서는 본 발명에 따른 화면 제어 방법을 동작 시나리오와 함께 설명한다.Hereinafter, the screen control method according to the present invention will be described with an operation scenario.

도 6은 본 발명의 일실시 예에 따른 화면 제어 방법을 설명하기 위해 도시한 순서도이다. 이하에서 설명되는 구성요소는 도 3과 4를 참조하여 설명한다.6 is a flowchart illustrating a screen control method according to an embodiment of the present invention. Components described below will be described with reference to FIGS. 3 and 4.

도 6에서는 송신단에서 각 애플리케이션에 대한 우선순위와 그에 대응하는 그래픽 디바이스를 할당하여 미리 정의한 애플리케이션 우선순위정보가 수신기(300)로 수신되고, 수신된 정보를 이용하여 본 발명에 따라 화면 제어와 관련된 부분을 위주로 설명한다.In FIG. 6, a transmitter receives an application priority information predefined by assigning a priority for each application and a graphic device corresponding to the application, and receives the information related to screen control according to the present invention using the received information. Explain mainly.

미들웨어(400)는 상기 표 1과 같이 정의한 애플리케이션 우선순위정보를 수신한다(S601). 그리고 미들웨어(400)는 상기 수신한 애플리케이션 우선순위정보를 파싱하고 이를 저장매체(402)에 저장한다(S602).The middleware 400 receives application priority information defined as shown in Table 1 above (S601). The middleware 400 parses the received application priority information and stores it in the storage medium 402 (S602).

미들웨어(400)는 애플리케이션(401)으로부터 그래픽 디바이스를 요청(S603)하는 신호가 수신되면, 수신된 요청에 따라 상기 저장매체(402)에 저장된 애플리케이션 우선순위정보로부터 해당 애플리케이션에 대한 애플리케이션 우선순위정보를 추출한다(S604). 즉, 미들웨어(400)는 우선 해당 애플리케이션에 대하여 할당된 우선순위(priority)를 확인하고, 확인된 우선순위에 대응되는 그래픽 디바이스 객체가 무엇인지 파악한다. 여기에서, 특정 애플리케이션(Xlet Application)은 그래픽 디바이스(Graphic Device)를 얻어 오기 위해 HScreen 클래스(Class)의 getHGraphicsDevices를 호출(call)한다. 상기 클래스(Class)의 실제 구현은 관련 규격을 만족하는 미들웨어(400)에서 이루어지게 된다.When the middleware 400 receives a signal for requesting a graphic device from the application 401 (S603), the middleware 400 obtains application priority information of the corresponding application from the application priority information stored in the storage medium 402 according to the received request. Extract (S604). That is, the middleware 400 first checks the priority assigned to the corresponding application and determines what graphic device object corresponds to the checked priority. Here, a specific application (Xlet Application) calls getHGraphicsDevices of the HScreen class to obtain a graphics device. The actual implementation of the class is made in the middleware 400 that satisfies the relevant standard.

상기에서는 미들웨어(400)에서 미리 애플리케이션 우선순위정보를 파싱하고 저장하는 것을 예로 하여 설명하나, 반드시 요청 전에 파싱하고 저장하여야만 하는 것은 아니며, 상기 요청을 수신한 이후에 상술한 과정이 이루어질 수도 있다. 또한, 상기에서 미들웨어(400)에서 직접 애플리케이션 우선순위정보를 수신하여 파싱하는 것으로 설명되었으나, 미들웨어(400)는 도 3의 다른 구성요소에서 상기 애플리케이션 우선순위정보를 수신 및 파싱하도록 제어하여 파싱된 정보를 이용할 수도 있다.In the above description, an example of parsing and storing application priority information in the middleware 400 is described as an example. However, it is not necessary to parse and store the application priority information before the request, and the above-described process may be performed after receiving the request. In addition, although it was described above that the application priority information is directly received from the middleware 400 and parsed, the middleware 400 controls the receiving and parsing of the application priority information from the other components of FIG. Can also be used.

따라서, 미들웨어(400)는 상기 S604 단계에서 추출한 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴한다(S605).Therefore, the middleware 400 returns the graphic device object according to the application priority information extracted in the step S604 to the corresponding application (S605).

상기에서 애플리케이션(401)으로부터의 요청과 미들웨어(400)의 그래픽 디바이스 객체의 리턴은 모두 동일한 함수 예를 들어, HScreen.getHGraphicsDevices() 함수에 따라 이루어질 수 있다.In the above, the request from the application 401 and the return of the graphic device object of the middleware 400 may both be performed according to the same function, for example, the HScreen.getHGraphicsDevices () function.

애플리케이션(401)은 미들웨어(400)로부터 해당 그래픽 디바이스 객체가 리턴되면, 그에 따른 HScene을 생성(S606)하고, 생성된 HScene에 따라 동작을 한다.When the corresponding graphic device object is returned from the middleware 400, the application 401 generates an HScene according to operation S606, and operates according to the generated HScene.

여기에서, 본 발명과 관련하여, 애플리케이션(Xlet Application)(401)은 화면에 무언가를 그리기 위해서는 HScene이 필요하다. HScene은 각 애플리케이션 당 하나가 할당되어 화면을 제어할 수 있게 해주는 기본적인 클래스(Class)로, 개념상 HScene은 HGraphicDevice에 종속되게 되며 HGraphicDevice를 이용해 HScene을 얻어 올 수 있다.Here, in connection with the present invention, the Xlet Application 401 needs HScene to draw something on the screen. HScene is a basic class that allows one to be assigned to each application to control the screen. Conceptually, HScene is dependent on HGraphicDevice, and HScene can be obtained using HGraphicDevice.

또한, 관련된 API(Application Programming Interface)는 후술하는 바와 같이 정의될 수 있다. API는 애플리케이션에서 사용할 수 있도록 운영체제(operating system; OS)나 프로그래밍 언어(programming language)가 제공하는 기능을 제어할 수 있도록 만든 인터페이스를 뜻하는 것으로, 주로 파일 제어, 윈도우 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다.In addition, an associated API (Application Programming Interface) may be defined as described below. API refers to an interface created to control functions provided by an operating system (OS) or programming language for use in an application. The API is mainly used for file control, window control, image processing, character control, etc. Provides an interface for

public HScene getFullScreenScene(HGraphicsDevice device)public HScene getFullScreenScene (HGraphicsDevice device)

즉, 상기와 같이 HGraphicDevice에 종속된 HScene을 이용해 특정 애플리케이션(Xlet Application)이 화면에 출력되게 할 수 있다.That is, a specific application (Xlet Application) may be displayed on the screen by using the HScene dependent on the HGraphicDevice as described above.

본 발명에서는 이러한 HScene을 얻을 수 있는 HGraphicDevice를 애플리케이션 우선순위(Application Priority)를 기반으로 전달함으로써 HScene의 순서를 제어할 수 있게 하고자 한다. 상기에서는 본 발명과 관련하여 설명하였으나, 관련하여 생략된 부분에 대한 설명은 관련 규격을 참조하여 설명될 수 있다.The present invention intends to be able to control the order of the HScene by delivering the HGraphicDevice from which the HScene can be obtained based on the application priority. Although described above in connection with the present invention, the description of the parts omitted in relation can be described with reference to the related standards.

상술한 과정을 통해 본 발명에 따라 개별 애플리케이션에 대응하는 애플리케이션 우선순위정보를 이용하여 적절한 그래픽 디바이스 객체를 할당함으로써, 적절하게 화면제어를 이룰 수 있게 된다. Through the above-described process, screen control can be appropriately performed by allocating an appropriate graphic device object using application priority information corresponding to an individual application according to the present invention.

본 발명과 관련하여, 수신기는 화면 제어와 관련된 개별 애플리케이션들에 대한 상기 표 1과 같은 애플리케이션 우선순위정보를 송신단으로부터 수신한다. 그리고 수신기는 상기 수신한 애플리케이션 우선순위정보를 파싱하고 저장한다.In connection with the present invention, the receiver receives application priority information from the transmitting end as shown in Table 1 above for individual applications related to screen control. The receiver parses and stores the received application priority information.

상술한 본 발명에 따른 화면 제어 방법을 이용하는 동작 시나리오의 일실시 예를 살펴보면, 다음과 같다. 도 7은 본 발명의 일실시 예에 따른 동작 시나리오를 설명하기 위해 도시한 것이다.An embodiment of an operation scenario using the screen control method according to the present invention described above is as follows. 7 is a view illustrating an operation scenario according to an embodiment of the present invention.

본 발명의 동작 시나리오의 일실시 예는, HScreen.getHGraphicsDevices() 메소드(Method)의 리턴 값(return value)을 애플리케이션 우선순위(Application priority)에 기반하여 전달하고, HScreen.getHGraphicsDevices() 메소드를 통해 얻은 그래픽 디바이스 객체(Graphic Device Object)는 특정 Z-order에 대응되며 이를 이용해 생성된 HScene은 애플리케이션 우선순위(Application Priority)에 대응되어 화면에 대한 제어를 다른 제어 애플리케이션이 할 필요가 없게 된다.In one embodiment of the operation scenario of the present invention, the return value of the HScreen.getHGraphicsDevices () method is transmitted based on the application priority and obtained through the HScreen.getHGraphicsDevices () method. The Graphic Device Object corresponds to a specific Z-order, and the HScene created using this corresponds to Application Priority, so that other control applications do not need to control the screen.

이하에서 본 발명에 따른 동작 시나리오의 일실시 예를 설명함에 있어서, 관련된 함수 등에 대한 설명은 생략한다.In the following description of an embodiment of an operation scenario according to the present invention, description of related functions and the like will be omitted.

도 7을 참조하면, 하나의 화면에 4개의 애플리케이션이 동작하는 것을 알 수 있다. 즉, 모니터 애플리케이션, VOD 애플리케이션, 다음 애플리케이션, 및 팝-업 애플리케이션 총 4개의 애플리케이션이 화면상에 표현되어야 하는 경우에 화면 제어 방법을 설명한다.Referring to FIG. 7, it can be seen that four applications operate on one screen. That is, the screen control method will be described when four applications, a monitor application, a VOD application, a next application, and a pop-up application, must be represented on the screen.

여기에서, 설명의 편의를 위해, 전송단에서 표 1과 같이 정의된 애플리케이션 우선순위정보를 전송하고, 수신단에서 상기 정보를 수신하였다고 가정한다. 또한, 상기 애플리케이션 우선순위정보를 참조할 때, 각 애플리케이션의 우선순위와 그래픽 디바이스를 다음과 같이 가정하자. 도 7 (a) 내지 (d)를 참조할 때, 모니터 애플리케이션은 우선순위의 값이 5, VOD 애플리케이션은 우선순위 값이 13, 다음 애플리케이션은 우선순위의 값이 27, 그리고 팝-업 애플리케이션은 우선순위의 값이 255라고 한다면, 각 애플리케이션은 표 1을 참조할 때, 각각 순차적으로 1번 그래픽 디바이스, 2번 그래픽 디바이스, 3번 그래픽 디바이스와 25번 그래픽 디바이스를 미들웨어로부터 리턴받을 것이다.Here, for convenience of explanation, it is assumed that the transmitting end transmits application priority information defined as shown in Table 1 and the receiving end receives the information. In addition, when referring to the application priority information, assume the priority of each application and the graphics device as follows. Referring to FIGS. 7A to 7D, the monitor application has a priority value of 5, a VOD application has a priority value of 13, a next application has a priority value of 27, and a pop-up application has a priority. If the rank value is 255, each application will sequentially return graphics device 1, graphics device 2, graphics device 3 and graphics device 25 from the middleware.

따라서, 각 애플리케이션은 도 7과 같이 상기 리턴 받은 해당 그래픽 디바이스에 따라 HScene를 생성하여 화면에 출력되면, 도 7의 (d)와 같이 화면에 출력될 것이다.Therefore, when each application generates an HScene according to the returned corresponding graphic device as shown in FIG.

이상 본 발명에 따르면, 화면 제어를 위해 별도의 제어 애플리케이션을 필요로하지 않아 효율적으로 화면 제어를 할 수 있으며, 다양하고 복잡한 애플리케이션의 동작 시나리오를 고려할 필요가 없어져 효율적인 시스템을 구축할 수 있다. 또한, 사용자에게 중요한 정보를 제 때에 전달할 수 있게 되어 사용자의 편의에도 기여할 수 있게 될 것이다.According to the present invention, it is possible to efficiently control the screen because a separate control application is not required for screen control, and it is not necessary to consider operating scenarios of various and complicated applications, and thus an efficient system can be constructed. In addition, it will be possible to deliver information important to the user in a timely manner and contribute to the user's convenience.

이상에서 본 발명의 바람직한 실시 예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and the present invention is not limited to the specific scope of the present invention as claimed in the claims. Anyone skilled in the art can make various modifications, as well as such modifications are within the scope of the claims.

도 1은 본 발명과 관련하여 방송 수신기의 계층 구조에 대하여 도시한 구조도이다.1 is a structural diagram illustrating a hierarchical structure of a broadcast receiver according to the present invention.

도 2는 본 발명과 관련하여 애플리케이션의 라이프 싸이클의 일 예를 도시한 개념도이다.2 is a conceptual diagram illustrating an example of a life cycle of an application in connection with the present invention.

도 3은 본 발명의 일실시 예에 따라 구성한 방송 수신기의 블록도이다.3 is a block diagram of a broadcast receiver configured according to an embodiment of the present invention.

도 4는 본 발명에 따른 미들웨어에 대한 바람직한 일 실시예의 구성을 도시한 블록도이다.4 is a block diagram showing the configuration of a preferred embodiment of the middleware according to the present invention.

도 5는 본 발명의 일실시 예에 따른 그래픽 디바이스 레이어 구조를 도시한 것이다.5 illustrates a graphic device layer structure according to an embodiment of the present invention.

도 6은 본 발명의 일실시 예에 따른 화면 제어 방법을 설명하기 위해 도시한 순서도이다.6 is a flowchart illustrating a screen control method according to an embodiment of the present invention.

도 7은 본 발명의 일실시 예에 따른 동작 시나리오를 설명하기 위해 도시한 것이다.7 is a view illustrating an operation scenario according to an embodiment of the present invention.

* 발명의 주요 부호에 대한 설명* Description of the main signs of the invention

400: 미들웨어 401: 애플리케이션400: middleware 401: application

402: 저장매체 410 인터페이스 모듈402: storage medium 410 interface module

420: 화면제어모듈420: screen control module

Claims (11)

애플리케이션으로부터 그래픽 디바이스 요청 명령을 수신하는 단계;Receiving a graphics device request command from an application; 상기 요청에 따라 해당 애플리케이션의 애플리케이션 우선순위정보를 추출하는 단계; 및Extracting application priority information of the corresponding application according to the request; And 상기 추출한 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하는 단계;를 포함하는 것을 특징으로 하는 화면제어방법.And returning the graphic device object according to the extracted application priority information to a corresponding application. 제 1항에 있어서,The method of claim 1, 애플리케이션 우선순위정보를 포함하는 시그널링 정보를 수신하는 단계;Receiving signaling information including application priority information; 상기 수신된 시그널링 정보 내 애플리케이션 우선순위정보를 파싱하는 단계;를 더 포함하는 것을 특징으로 하는 화면제어방법.Parsing application priority information in the received signaling information. 제 2항에 있어서,3. The method of claim 2, 상기 파싱된 애플리케이션 우선순위정보를 저장하는 단계를 더 포함하는 것을 특징으로 하는 화면제어방법.And storing the parsed application priority information. 제 1항에 있어서,The method of claim 1, 상기 애플리케이션은,The application, 리턴된 그래픽 디바이스 객체에 따른 레이어에 대해 HScene을 생성하는 것을 특징으로 하는 화면제어방법.And generating an HScene for the layer according to the returned graphic device object. 제 1항에 있어서,The method of claim 1, 상기 요청 및 리턴은 HScreen 클래스에 기 정의된 getHGraphicsDevices() 함수를 이용하여 이루어지는 것을 특징으로 하는 화면제어방법.The request and return is a screen control method, characterized in that using the getHGraphicsDevices () function predefined in the HScreen class. 제 1항에 있어서,The method of claim 1, 상기 애플리케이션 우선순위정보는 개별 애플리케이션의 우선순위에 관련된 제1정보와 상기 제1정보에 대응하여 할당되는 그래픽 디바이스를 정의하는 제2정보를 포함하는 것을 특징으로 하는 화면제어방법.The application priority information includes first information related to the priority of an individual application and second information defining a graphic device allocated corresponding to the first information. 제 2항에 있어서,3. The method of claim 2, 상기 애플리케이션 우선순위정보는 상기 시그널링 정보 내 XAIT 테이블에 포함되어 전송되는 것을 특징으로 하는 화면제어방법.And the application priority information is included in the XAIT table in the signaling information and transmitted. 애플리케이션 우선순위정보가 포함된 시그널링 정보를 포함한 디지털 방송 신호를 수신하는 튜너부;A tuner unit configured to receive a digital broadcast signal including signaling information including application priority information; 상기 수신된 디지털 방송 신호를 복조하는 복조부;A demodulator for demodulating the received digital broadcast signal; 상기 복조된 디지털 방송 신호 내 시그널링 정보를 역다중화하는 역다중화 부; 및A demultiplexer for demultiplexing signaling information in the demodulated digital broadcast signal; And 상기 역다중화된 시그널링 정보 내 애플리케이션 우선순위정보를 수신하고 파싱하여, 애플리케이션으로부터 그래픽 디바이스 요청이 수신되면 상기 수신한 애플리케이션 우선순위정보를 추출하여, 추출된 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하는 프로세서부;를 포함하여 구성하는 것을 특징으로 하는 디지털 방송 수신기.Receives and parses application priority information in the demultiplexed signaling information, extracts the received application priority information when a graphic device request is received from an application, and extracts the graphic device object according to the extracted application priority information from the corresponding application. And a processor unit to return to the digital broadcasting receiver. 제 8항에 있어서,The method of claim 8, 상기 프로세서부에서 파싱된 애플리케이션 우선순위정보를 저장하는 저장매체를 더 포함하는 것을 특징으로 하는 디지털 방송 수신기.And a storage medium storing the application priority information parsed by the processor. 제 9항에 있어서,The method of claim 9, 상기 프로세서부는 다수의 애플리케이션들과 미들웨어를 포함하되,The processor unit includes a plurality of applications and middleware, 상기 미들웨어는, The middleware, 상기 각 애플리케이션과 정보 또는 요청을 송수신하는 인터페이스 모듈과, 상기 각 애플리케이션의 그래픽 디바이스 요청에 따라 상기 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하도록 제어하는 화면 제어 모듈을 포함하는 것을 특징으로 하는 디지털 방송 수신기.And an interface module for transmitting and receiving information or requests with the respective applications, and a screen control module for controlling to return the graphic device object according to the application priority information to the corresponding application according to the graphic device request of the respective application. Digital broadcast receiver. 제 10항에 있어서,The method of claim 10, 상기 화면 제어 모듈은,The screen control module, 상기 각 애플리케이션의 그래픽 디바이스 요청에 따라 상기 파싱된 애플리케이션 우선순위정보 내 각 애플리케이션에 대한 우선순위에 관한 제1정보와, 상기 제1 정보에 대응하여 할당되는 그래픽 디바이스를 정의하는 제2 정보를 추출하도록 제어하는 것을 특징으로 하는 디지털 방송 수신기.Extract first information regarding a priority of each application in the parsed application priority information and second information defining a graphic device allocated corresponding to the first information according to a graphic device request of the respective application; Digital broadcast receiver characterized in that for controlling.
KR1020080115220A 2008-11-19 2008-11-19 Method for controlling to display a screen and apparatus thereof KR20100056173A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080115220A KR20100056173A (en) 2008-11-19 2008-11-19 Method for controlling to display a screen and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080115220A KR20100056173A (en) 2008-11-19 2008-11-19 Method for controlling to display a screen and apparatus thereof

Publications (1)

Publication Number Publication Date
KR20100056173A true KR20100056173A (en) 2010-05-27

Family

ID=42280376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080115220A KR20100056173A (en) 2008-11-19 2008-11-19 Method for controlling to display a screen and apparatus thereof

Country Status (1)

Country Link
KR (1) KR20100056173A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533897A (en) * 2019-08-22 2019-12-03 杭州电子科技大学 Socket-based coffee roasting communication method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533897A (en) * 2019-08-22 2019-12-03 杭州电子科技大学 Socket-based coffee roasting communication method

Similar Documents

Publication Publication Date Title
US9264757B2 (en) Service executing apparatus
US20060179465A1 (en) Handling feature availability in a broadcast
US20060168639A1 (en) Interactive television system with partial character set generator
JP4634412B2 (en) Apparatus and method for performing codec upgrade
US20140082682A1 (en) Smart set-top box and operating method for providing smart service and digital television service using default media player included in single operating system
EP1045305A2 (en) Event control device and digital broadcasting system
US20020032754A1 (en) Method and apparatus for profiling in a distributed application environment
KR20040027956A (en) Method and apparatus for a receiver/decoder
US20160373833A1 (en) Digital device and method for processing application thereon
JP2015133134A (en) Method of managing application
KR100870200B1 (en) Digital broadcast receiving apparutus using integrated middleware
JP2022509802A (en) Receiver with native broadcaster application
KR20100056173A (en) Method for controlling to display a screen and apparatus thereof
KR20070063571A (en) System and method for reducing the start-up time of mhp applications
KR20100056172A (en) Method for operating an application and apparatus thereof
KR102451867B1 (en) Broadcast receiving apparatus and the control method thereof
KR101549008B1 (en) Method and apparatus of managing In/OutPort status at digital broadcasting device
KR101586315B1 (en) A broadcasting receiver and a method for monitoring a network device
KR20100074818A (en) A method for providing a data broadcasting service and an apparatus thereof
KR20090126769A (en) Broadcasting receiver, method for receiving broadcasting data
KR20100086763A (en) Method for provding font information and broadcast receiver
WO2001077815A2 (en) Method and apparatus for profiling in a distributed application environment
KR20100081408A (en) Broadcasting receiver and method for monitoring a state of return channel
KR100746041B1 (en) Apparatus for providing multiple screens and method for dynamic configuration of the same
KR20090105324A (en) Middlleware for supporting digital broadcast, broadcasting receiver, method for managing information about allocating resources of broadcasting receiver, recording media for the method

Legal Events

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