KR20130061313A - Multimedia device for running application independently of platform and method for controlling the same - Google Patents

Multimedia device for running application independently of platform and method for controlling the same Download PDF

Info

Publication number
KR20130061313A
KR20130061313A KR1020110127553A KR20110127553A KR20130061313A KR 20130061313 A KR20130061313 A KR 20130061313A KR 1020110127553 A KR1020110127553 A KR 1020110127553A KR 20110127553 A KR20110127553 A KR 20110127553A KR 20130061313 A KR20130061313 A KR 20130061313A
Authority
KR
South Korea
Prior art keywords
application
api
platform
matching
control
Prior art date
Application number
KR1020110127553A
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 KR1020110127553A priority Critical patent/KR20130061313A/en
Publication of KR20130061313A publication Critical patent/KR20130061313A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

PURPOSE: A multimedia device running an application independently on a platform and a control method thereof are provided to control the application independently on the platform by defining a matching table of application API(Application Programming Interface) and platform control API. CONSTITUTION: A first memory(440) stores a matching table. A matching part(450) matches the API of an application to the control API of a platform by using the first memory. A driving part(460) loads the application on a second memory(470) and runs the application. According to the running of the application, a controller(480) calls the control API of the platform conforming to a matching result. [Reference numerals] (410) Broadcast receiving part; (420) Network interface; (430) External interface; (440) First memory; (450) Matching part; (460) Driving part; (470) Second memory; (480) Controller; (481) Display part; (483) Audio output part; (485) Power supply part; (490) User interface; (700) Remote controller

Description

플랫폼에 독립적으로 애플리케이션을 실행시키는 멀티미디어 디바이스 및 그 제어 방법{MULTIMEDIA DEVICE FOR RUNNING APPLICATION INDEPENDENTLY OF PLATFORM AND METHOD FOR CONTROLLING THE SAME}MULTIMEDIA DEVICE FOR RUNNING APPLICATION INDEPENDENTLY OF PLATFORM AND METHOD FOR CONTROLLING THE SAME

본 발명은 플랫폼에 독립적으로 애플리케이션을 실행시키는 멀티미디어 디바이스 및 그 제어 방법에 관한 것으로서, 보다 상세하게는 특정 플랫폼에서 구동 가능한 애플리케이션에 대하여 멀티미디어 디바이스의 플랫폼에 상관없이 상기 애플리케이션을 구동할 수 있도록 하는 멀티미디어 디바이스 및 그 제어 방법에 관한 것이다. 상기 멀티미디어 디바이스는, 예를 들어 네트워크 TV, 스마트 TV, HBBTV(Hybrid Broadcast Broadband Television), 인터넷 TV, 웹 TV, IPTV(Internet Protocol Television) 등에 해당한다.The present invention relates to a multimedia device for executing an application independently of a platform, and a control method thereof. More specifically, the present invention relates to a multimedia device capable of running the application regardless of the platform of the multimedia device for an application that can be run on a specific platform. And a control method thereof. The multimedia device corresponds to, for example, a network TV, a smart TV, a hybrid broadcast broadband television (HBBTV), an internet TV, a web TV, an IPTV (Internet Protocol Television), and the like.

기존 지상파나 케이블을 이용한 TV(TeleVision)는 웹을 기반으로 하여, 양방향 서비스가 가능한 스마트 TV로 발전해가고 있다. 스마트 TV의 발전으로 방송사가 제작 또는 확보한 콘텐츠 이외에 전문 개발자가 제작하여 공급하는 다수의 애플리케이션을 설치 및 이용할 수 있게 되었다. 더욱이, 스마트 폰의 활용도가 높아지면서, 스마트 폰 및 스마트 TV에서 이용하는 애플리케이션의 활용성이 다양해지고 있으며, 그에 따라 다양한 부가 서비스를 제공하고 있는 실정이다. TV (TeleVision) using existing terrestrial or cable is developing into a smart TV capable of interactive service based on the web. The development of smart TVs allows the installation and use of a number of applications produced and supplied by professional developers in addition to content produced or acquired by broadcasters. In addition, as the utilization of smart phones increases, the applications of the smart phones and smart TVs are diversified, and accordingly, various additional services are provided.

그에 따라, 최근 TV는 미들웨어(middleware)를 이용하여 다양한 형태의 애플리케이션을 탑재할 수 있다. 다만, 애플리케이션이 특정 운영체제(OS - Operating System)나 미들웨어에 대한 의존성을 가지고 있기 때문에 TV가 어떠한 운영체제로 되어 있고, 어떠한 미들웨어를 구비하고 있느냐에 따라 애플리케이션을 TV에 로드(load)할 수 있는지 여부가 결정되고 있다. Accordingly, modern TVs can mount various types of applications using middleware. However, since the application has a dependency on a specific operating system (OS) or middleware, it is not possible to load the application onto the TV depending on the operating system and what middleware the TV is made of. It is decided.

물론, 일정한 요건 예를 들어, 플래쉬 엔진이나 자바 실행 환경을 갖춘 경우라면 플래쉬(flash)나 자바(Java)를 이용하여 운영체제에 대한 의존성을 줄일 수 있다. Of course, if you have certain requirements, such as a flash engine or a Java execution environment, you can use flash or Java to reduce your dependency on the operating system.

그러나, 이러한 경우에도 실제 TV의 하드웨어 플랫폼을 제어하기 위해서는 상기 하드웨어 플랫폼이 제공하는 API(Application Programming Interface)에 맞도록 함수가 호출되어야 한다. 따라서, 같은 자바 애플리케이션을 지원하는 경우에도 다른 하드웨어 플랫폼을 가지는 TV에 애플리케이션을 탑재하기 위해서는 해당 플랫폼의 API에 맞도록 재개발해야하는 번거로움이 있다. However, even in this case, in order to control the hardware platform of the actual TV, a function must be called to match an API (Application Programming Interface) provided by the hardware platform. Therefore, even in the case of supporting the same Java application, in order to mount the application on a TV having a different hardware platform, there is a hassle of redevelopment to meet the API of the platform.

즉, 특정 플랫폼을 기반으로 개발된 애플리케이션을 다른 플랫폼에 탑재하기 위해서는 상당한 수정이 필요하다. 비록 운영체제나 미들웨어에 독립적인 애플리케이션이라 할지라도 실제 탑재되는 하드웨어 플랫폼이 다르다면, 해당 플랫폼에서 제어하기 위해서 해당 플랫폼이 제공하는 API에 맞도록 수정되어야 하는 번거로움이 있다. That is, in order to load an application developed on one platform on another platform, significant modifications are required. Even though the application is independent of operating system or middleware, if the hardware platform actually installed is different, it is troublesome to modify it to fit the API provided by the platform in order to control the platform.

본 발명의 일실시예는, 플랫폼에 독립적으로 애플리케이션을 제어할 수 있는 멀티미디어 디바이스 및 그 제어 방법을 제공하고자 한다.An embodiment of the present invention is to provide a multimedia device and a control method thereof that can control an application independently of the platform.

또한, 본 발명의 다른 일실시예는, 플랫폼에 독립적으로 애플리케이션을 제어할 수 있도록 애플리케이션 API와 플랫폼 제어 API의 매칭 테이블을 정의하고자 한다.Also, another embodiment of the present invention is to define a matching table of an application API and a platform control API to control an application independently of a platform.

그리고, 본 발명의 또 다른 일실시예는, 플랫폼에 독립적으로 애플리케이션을 실행할 수 있는 환경을 제공하여 애플리케이션이 다양한 플랫폼에서 활용될 수 있도록 하고자 한다.In addition, another embodiment of the present invention is to provide an environment in which an application can be executed independently of the platform so that the application can be utilized in various platforms.

본 발명의 일실시예에 의한 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스는, 매칭 테이블을 저장하는 제 1 메모리와, 상기 제 1 메모리를 이용하여 상기 애플리케이션의 API(Application Programming Interface)를 상기 플랫폼의 제어 API로 매칭시키는 매칭부와, 상기 애플리케이션을 제 2 메모리에 로드(load)하고, 상기 애플리케이션을 실행하는 구동부와, 상기 애플리케이션을 실행하는 경우, 상기 매칭 결과에 따른 상기 플랫폼의 제어 API를 호출하도록 제어하는 컨트롤러를 포함한다. According to an embodiment of the present invention, a multimedia device for driving an application independently of a platform may include a first memory for storing a matching table and an application programming interface (API) of the application using the first memory. A matching unit for matching with a control API, a driving unit for loading the application into a second memory, executing the application, and calling the control API of the platform according to the matching result when executing the application. It includes a controller to control.

그리고, 본 발명의 일실시예에 의한 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스의 제어 방법은, 상기 애플리케이션을 메모리에 로드(load)하는 단계와, 외부 서버로 상기 매칭 테이블을 생성하기 위한 데이터를 수신하는 단계와, 상기 데이터를 이용하여 매칭 테이블을 생성하는 단계와, 상기 메모리에 상기 애플리케이션의 매칭 테이블을 저장하는 단계와, 상기 애플리케이션의 실행 요청을 수신하는 단계와, 상기 매칭 테이블을 이용하여 상기 애플리케이션의 API(Application Programming Interface)를 상기 플랫폼의 제어 API에 매칭하는 단계 및 상기 매칭된 플랫폼의 제어 API를 호출하여 상기 애플리케이션을 실행하는 단계를 포함한다.In addition, the method of controlling a multimedia device for driving an application independently of a platform according to an embodiment of the present invention may include loading the application into a memory and storing data for generating the matching table with an external server. Receiving, generating a matching table using the data, storing a matching table of the application in the memory, receiving a request to execute the application, and using the matching table. Matching an application programming interface (API) of the application to a control API of the platform; and calling the control API of the matched platform to execute the application.

본 발명의 일실시예에 의하면, 플랫폼에 독립적으로 애플리케이션을 제어할 수 있는 멀티미디어 디바이스 및 그 제어 방법을 제공할 수 있다. According to an embodiment of the present invention, it is possible to provide a multimedia device and a control method thereof capable of controlling an application independently of a platform.

또한, 본 발명의 다른 일실시예에 의하면, 플랫폼에 독립적으로 애플리케이션을 제어할 수 있도록 애플리케이션 API와 플랫폼 제어 API의 매칭 테이블을 정의할 수 있다.In addition, according to another embodiment of the present invention, a matching table of an application API and a platform control API may be defined to control an application independently of a platform.

그리고, 본 발명의 또 다른 일실시예에 의하면, 플랫폼에 독립적으로 애플리케이션을 실행할 수 있는 환경을 제공하여, 애플리케이션이 다양한 플랫폼에서 활용될 수 있도록 한다.Further, according to another embodiment of the present invention, by providing an environment that can run the application independently of the platform, the application can be utilized on a variety of platforms.

보다 구체적인 발명의 효과에 대해서는, 이하 목차에서 상세히 후술하도록 하겠다.More specific effects of the invention will be described later in detail in the table of contents.

도 1은 애플리케이션이 구동되는 플랫폼의 일실시예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 멀티미디어 디바이스의 미들웨어를 도시한 도면이다.
도 3은 본 발명의 일실시예에 의한 멀티미디어 디바이스를 포함하는 전체 시스템을 도시한 도면이다.
도 4는 본 발명의 일실시예에 의한 멀티미디어 디바이스의 기능 블록도이다.
도 5는 본 발명의 일실시예에 의한 애플리케이션 API의 인수를 도시한 도면이다.
도 6은 본 발명에 따른 매칭 테이블의 일실시예를 도시한 도면이다.
도 7은 본 발명에 따른 매칭 테이블의 다른 일실시예를 도시한 도면이다.
도 8은 본 발명에 따른 매칭 테이블의 또 다른 일실시예를 도시한 도면이다.
도 9는 본 발명에 따른 매칭 테이블의 또 다른 일실시예를 도시한 도면이다.
도 10은 본 발명에 따른 매칭 테이블을 디스크립션 포맷으로 기술한 일실시예를 도시한 도면이다.
도 11은 본 발명의 일실시예에 의한 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스의 제어 방법의 흐름도이다.
1 is a diagram illustrating an embodiment of a platform on which an application is run.
2 is a diagram illustrating middleware of a multimedia device according to an embodiment of the present invention.
3 is a diagram showing an entire system including a multimedia device according to an embodiment of the present invention.
4 is a functional block diagram of a multimedia device according to an embodiment of the present invention.
5 is a diagram illustrating an argument of an application API according to an embodiment of the present invention.
6 is a diagram illustrating an embodiment of a matching table according to the present invention.
7 is a view showing another embodiment of a matching table according to the present invention.
8 is a view showing another embodiment of a matching table according to the present invention.
9 is a view showing another embodiment of a matching table according to the present invention.
10 is a diagram illustrating an embodiment in which a matching table according to the present invention is described in a description format.
11 is a flowchart illustrating a control method of a multimedia device for running an application independently of a platform according to an embodiment of the present invention.

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

이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함을 고려하여 부여되는 것으로서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.The suffix "module" and " part "for components used in the following description are given merely for ease of description, and the" module "and" part "

한편, 본 명세서에서 기술되는 멀티미디어 디바이스는, 예컨대 방송 수신 기능에 컴퓨터 지원 기능을 추가한 지능형 네트워크 TV로서, 방송 수신 기능에 충실하면서도 인터넷 기능 등이 추가되어, 수기 방식의 입력 장치, 터치 스크린 또는 공간 리모콘 등보다 사용에 편리한 인터페이스를 갖출 수 있다. 그리고 유선 또는 무선 인터넷 기능의 지원으로 인터넷 및 컴퓨터에 접속되어, 이메일, 웹브라우징, 뱅킹 또는 게임 등의 기능도 수행가능하다. 이러한 다양한 기능을 위해 표준화된 범용 OS가 사용될 수 있다.On the other hand, the multimedia device described herein is, for example, an intelligent network TV that adds a computer support function to a broadcast reception function. The multimedia device is faithful to the broadcast reception function and has an Internet function added thereto. It can have a more convenient interface than a remote control. In addition, it is connected to the Internet and a computer with the support of a wired or wireless Internet function, and can perform functions such as e-mail, web browsing, banking or gaming. A standardized general-purpose OS can be used for these various functions.

따라서, 본 발명에서 기술되는 멀티미디어 디바이스는, 예를 들어 범용의 OS 커널 상에, 다양한 애플리케이션이 자유롭게 추가되거나 삭제 가능하므로, 사용자 친화적인 다양한 기능이 수행될 수 있다. Therefore, in the multimedia device described in the present invention, various applications can be freely added or deleted, for example, on a general-purpose OS kernel, so that various user-friendly functions can be performed.

더욱이, 이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시 예를 상세하게 설명하지만, 본 발명이 실시 예들에 의해 제한되거나 한정되는 것은 아니다. Moreover, although an embodiment of the present invention will be described in detail with reference to the accompanying drawings and the contents described in the accompanying drawings, the present invention is not limited or limited by the embodiments.

본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 그 용어가 가지는 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 함을 밝혀두고자 한다.As used herein, terms used in the present invention are selected from general terms that are widely used in the present invention while taking into account the functions of the present invention, but these may vary depending on the intention or custom of a person skilled in the art or the emergence of new technologies. In addition, in certain cases, there may be a term arbitrarily selected by the applicant, in which case the meaning thereof will be described in the description of the corresponding invention. Therefore, it is intended that the terminology used herein should be interpreted based on the meaning of the term rather than on the name of the term, and on the entire contents of the specification.

본 발명은 멀티미디어 디바이스에서 운영되는 애플리케이션에 대해서, 애플리케이션이 플랫폼에 관계없이 실행될 수 있도록 상기 애플리케이션의 API(Application Programming Interface)를 플랫폼의 제어 API를 자동으로 매칭시켜 애플리케이션의 활용성을 높이고자 한다. The present invention aims to increase the usability of an application by automatically matching the API (Application Programming Interface) of the application to the platform's control API so that the application can be executed regardless of the platform.

상기 플랫폼은 애플리케이션이 구동 가능한 하드웨어 아키텍처나 소프트웨어 프레임워크를 의미하는 것으로, 멀티미디어 디바이스의 아키텍처 및 운영 체제(OS), 프로그램 언어, 그리고 관련 런타임 라이브러리 또는 GUI 등을 포함한다. 즉, 애플리케이션을 실행할 수 있는 하드웨어적 소프트웨어적 기반을 의미한다.The platform refers to a hardware architecture or software framework in which an application can run, and includes an architecture and an operating system (OS) of a multimedia device, a programming language, and an associated runtime library or GUI. In other words, it means a hardware and software basis for running an application.

도 1은 애플리케이션이 구동되는 플랫폼의 일실시예를 도시한 도면으로, 애플리케이션(150)이 구동되기 위해서는 하드웨어(110)와 애플리케이션(150) 사이에 운영체제(120), 드라이버(130), API(140)가 구비되어 애플리케이션(150)과 하드웨어(110)가 상호 작용할 수 있도록 해준다. 1 is a diagram illustrating an embodiment of a platform on which an application is run. In order for the application 150 to be driven, an operating system 120, a driver 130, and an API 140 may be installed between the hardware 110 and the application 150. Is provided to allow the application 150 and the hardware 110 to interact.

상기 드라이버(130)는 운영체제(120)의 일부로 볼 수도 있으며, 운영체제(120), 드라이버(130) 및 API(140)는 미들웨어(Middleware)이다. 이러한, 미들웨어는 하드웨어(110)와 이어진 통신 하위 시스템을 통해 장치와 통신하고, 애플리케이션(150)으로부터 포괄적인 명령어들을 받아들여 하드웨어(110)가 요구하는 낮은 수준의 명령어들로 변환한다. The driver 130 may be viewed as part of the operating system 120, and the operating system 120, the driver 130, and the API 140 are middleware. This middleware communicates with the device via a communication subsystem in conjunction with the hardware 110 and accepts comprehensive instructions from the application 150 and translates them into the low level instructions required by the hardware 110.

도 2는 본 발명의 일실시예에 따른 멀티미디어 디바이스의 미들웨어를 도시한 도면이다. 도 2에 도시된 바와 같이, 멀티미디어 디바이스는 하드웨어층(230), 애플리케이션층(210)을 포함하고, 상기 하드웨어층(230)과 상기 애플리케이션층(210) 사이에 미들웨어(220)를 포함할 수 있다. 2 is a diagram illustrating middleware of a multimedia device according to an embodiment of the present invention. As shown in FIG. 2, the multimedia device may include a hardware layer 230 and an application layer 210, and may include middleware 220 between the hardware layer 230 and the application layer 210. .

미들웨어(220)는 하드웨어층(230)과의 호환성을 위해 컴퓨터 하드웨어와 네트워크 접속 장치를 제어하고 관리하기 위한 OS/장치관리층(225) 위에 네트워크 접속을 위한 각종 프로토콜과 자바 가상 머신(JAVA Virtual Machine)이나 C 언어 등과 같은 프로그래밍 언어에 기반한 저수준의 라이브러리(Low Level Library)들이 존재하는 저수준 라이브러리층(223)이 형성되어 있다. 그리고, 상기 저수준 라이브러리층(223)을 이용하여 이루어지는 API층(221)이 라이브러리의 형태로 형성되어 전자프로그램가이드(EPG, Electronic Program Guide) 등의 애플리케이션(Broadcasting Application)이 실행될 수 있도록 한다. The middleware 220 includes various protocols and Java virtual machines for network connection on the OS / device management layer 225 for controlling and managing computer hardware and network access devices for compatibility with the hardware layer 230. A low level library layer 223 having low level libraries based on a programming language such as C) or C language is formed. In addition, the API layer 221 formed using the low-level library layer 223 is formed in the form of a library so that an application such as an electronic program guide (EPG) can be executed.

따라서, 애플리케이션 개발자는 개발한 애플리케이션이 멀티미디어 디바이스에서 구동되도록 하기 위하여 미들웨어(220) 및 하드웨어층(230)의 플랫폼에 제약을 받을 수밖에 없다. 물론, 자바나 플래쉬 등을 이용하면 미들웨어(220)에는 독립적으로 개발할 수 있지만, 실제로 멀티미디어 디바이스를 제어하기 위해서는 하드웨어층(230)에서 제공하는 API에 맞도록 함수가 호출되어야 한다는 한계가 있다.Therefore, the application developer has no choice but to be restricted by the platforms of the middleware 220 and the hardware layer 230 in order for the developed application to run on the multimedia device. Of course, if Java or Flash is used, the middleware 220 can be independently developed. However, in order to actually control the multimedia device, a function must be called to match an API provided by the hardware layer 230.

따라서, 본 발명은 특정 플랫폼을 기반으로 하여 개발된 애플리케이션에 대해서, 특정 플랫폼이 아닌 다른 플랫폼에서도 애플리케이션이 구동될 수 있도록 하는 플랫폼에 독립적으로 애플리케이션을 구동할 수 있는 방법을 제안하고자 한다.Accordingly, the present invention intends to propose a method for running an application independently of a platform that enables an application to be run on a platform other than a specific platform for an application developed based on a specific platform.

도 3은 본 발명의 일실시예에 의한 멀티미디어 디바이스를 포함하는 전체 시스템을 도시한 도면이다. 3 is a diagram showing an entire system including a multimedia device according to an embodiment of the present invention.

도 3을 참조하면, 본 발명에 따른 시스템은 다양한 디지털 콘텐츠를 만들어 방송 사업자(300)에게 제공하는 다수의 콘텐츠 제공자(100)와, 상기 콘텐츠 제공자(100)로부터 다양한 콘텐츠를 받아 데이터 방송 표준에 의해 데이터 방송을 시청자에게 제공하는 방송 사업자(300)와, 방송 네트워크를 포함한 유무선 네트워크를 통해서 상기 방송 사업자(300)로부터 디지털 방송을 수신하여 시청자에게 제공하는 멀티미디어 디바이스(400)와, 상기 멀티미디어 디바이스를 제작하는 플랫폼 제공자(500)와, 상기 멀티미디어 디바이스(400)에서 실행하는 애플리케이션을 제작하거나 제작된 애플리케이션을 배포하는 애플리케이션 제공자(600)를 포함할 수 있다.Referring to FIG. 3, the system according to the present invention generates a plurality of digital contents and provides them to the broadcaster 300, and receives various contents from the contents provider 100 according to a data broadcasting standard. A broadcasting company 300 providing data broadcasting to a viewer, a multimedia device 400 receiving digital broadcasting from the broadcasting company 300 through a wired / wireless network including a broadcasting network, and providing the broadcasting to the viewer, and producing the multimedia device. The platform provider 500 and an application provider 600 for producing an application running on the multimedia device 400 or distributing the produced application may be included.

이때, 상기 플랫폼 제공자(500)는 애플리케이션 제공자(600)에게 플랫폼 제공자(500)가 제작하는 멀티미디어 디바이스(400)의 플랫폼 제어 API 정보를 제공할 수 잇다. 그러면, 상기 애플리케이션 제공자(600)는 애플리케이션을 개발할 때에 상기 프랫폼 제어 API를 사용하여 애플리케이션을 개발할 수 있다. 또한, 이미 개발된 애플리케이션에 대해서도 애플리케이션 API와 상기 플랫폼 제어 API가 매칭되는 정보를 플랫폼 제공자(500)에게 제공함으로써 다른 플랫폼 기반으로 개발된 애플리케이션도 상기 멀티미디어 디바이스(400)에서 실행할 수 있도록 한다. 이에 대해서는, 도 4를 참조하여 상세히 설명한다. In this case, the platform provider 500 may provide the platform provider API information of the multimedia device 400 produced by the platform provider 500 to the application provider 600. Then, the application provider 600 may develop an application using the platform control API when developing the application. In addition, by providing the platform provider 500 with matching information between the application API and the platform control API, the application developed on another platform may also be executed on the multimedia device 400. This will be described in detail with reference to FIG.

한편, 도 3에서는 상기 애플리케이션 제공자(600)가 매칭 정보를 플랫폼 제공자(500)에게 제공하는 것으로 도시하였지만, 상기 매칭 정보를 멀티미디어 디바이스(400)로 직접 제공할 수도 있고, 애플리케이션 배포시 함께 제공할 수도 있다.Meanwhile, although FIG. 3 illustrates that the application provider 600 provides the matching information to the platform provider 500, the matching information may be directly provided to the multimedia device 400, or may be provided together with the application distribution. have.

도 4는 본 발명의 일실시예에 의한 멀티미디어 디바이스의 기능 블록도로, 도 4를 참조하여 본 발명의 일실시예에 의한 멀티미비더 디바이스를 더욱 상세히 설명한다. 다만, 도 4는 본 발명을 설명하기 위한 일실시예이며, 당업자의 필요에 따라 일부 구성 모듈을 삭제하거나, 새로운 구성 모듈을 추가하는 것도 본 발명의 권리범위에 속한다. 4 is a functional block diagram of a multimedia device according to an embodiment of the present invention. Referring to FIG. 4, a multimedia device according to an embodiment of the present invention will be described in more detail. However, FIG. 4 is an embodiment for describing the present invention, and some component modules may be deleted or new component modules may be added according to the needs of those skilled in the art.

도 4에 도시된 바와 같이, 본 발명의 일실시예에 의한 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스는 방송수신부(410), 네트워크 인터페이스(420), 외부장치 인터페이스(430), 제 1 메모리(440), 매칭부(450), 구동부(460), 제 2 메모리(470), 컨트롤러(480), 디스플레이부(481), 오디오출력부(483), 전원공급부(485) 및 유저 인터페이스(490)를 포함한다. As shown in FIG. 4, the multimedia device for driving an application independently of a platform according to an embodiment of the present invention includes a broadcast receiver 410, a network interface 420, an external device interface 430, and a first memory ( 440, a matching unit 450, a driving unit 460, a second memory 470, a controller 480, a display unit 481, an audio output unit 483, a power supply unit 485, and a user interface 490. It includes.

방송수신부(410)는 방송수신모듈(미도시), 디코더(미도시) 및 네트워크 인터페이스(420)를 포함할 수 있다. 물론, 필요에 따라, 방송수신모듈과 디코더를 구비하면서 네트워크 인터페이스(420)는 포함하지 않도록 설계하는 것도 가능하며, 반대로 네트워크 인터페이스(420)를 구비하면서 방송수신모듈과 디코더를 포함하지 않도록 설계하는 것도 가능하다. The broadcast receiver 410 may include a broadcast receiver module (not shown), a decoder (not shown), and a network interface 420. Of course, it is also possible, if necessary, to provide a broadcast receiving module and a decoder while not including the network interface 420, and conversely, to provide a network interface 420 and to include a broadcast receiving module and a decoder without the design. It is possible.

상기 방송수신모듈은 외부 소스 디바이스로부터 방송 신호를 수신한다. 상기 방송 신호는 지상파, 위성방송, 케이블 방송 등의 신호를 모두 포함하는 것으로, 상기 외부 소스 디바이스는 방송국, 케이블 사업자, VOD 사업자 등의 서버 또는 위성일 수 있다.The broadcast receiving module receives a broadcast signal from an external source device. The broadcast signal includes all signals such as terrestrial, satellite, and cable broadcasts. The external source device may be a server or a satellite such as a broadcast station, a cable operator, a VOD operator, or the like.

따라서, 상기 방송수신모듈은 안테나를 통해 수신되는 RF(Radio Frequency) 방송 신호 중 사용자에 의해 선택된 채널 또는 기저장된 모든 채널에 해당하는 RF 방송 신호를 선택하는 튜너, 상기 네트워크 인터페이스(420) 또는 튜너에서 변환된 디지털 IF 신호(DIF)를 수신하여 복조 동작을 수행하는 복조부, 상기 복조된 방송 신호에 포함된 오디오 데이터 및 비디오 데이터를 디멀티플렉싱하는 디멀티플렉서(demultiplexer) 등을 포함할 수 있다. Accordingly, the broadcast receiving module may include a tuner, a network interface 420 or a tuner that selects an RF broadcast signal corresponding to a channel selected by a user or all pre-stored channels from a radio frequency (RF) broadcast signal received through an antenna. And a demodulator for receiving a converted digital IF signal (DIF) to perform a demodulation operation, a demultiplexer for demultiplexing audio data and video data included in the demodulated broadcast signal.

상기 디코더는 오디오 디코더 및 비디오 디코더를 포함하고, 상기 디멀티플렉싱된 오디오 데이터는 상기 오디오 디코더에서, 상기 디멀티플렉싱된 비디오 데이터는 비디오 디코더에서 디코딩한다. The decoder includes an audio decoder and a video decoder, wherein the demultiplexed audio data is decoded at the audio decoder and the demultiplexed video data is decoded at a video decoder.

상기 디코딩된 오디오 데이터 및 비디오 데이터는 컨트롤러(480)로 입력되고, 상기 컨트롤러(480)는 추가적인 작업을 수행한 후에 디스플레이부(481)에 영상을 출력하고, 오디오출력부(483)로 음성을 출력한다.The decoded audio data and video data are input to the controller 480. The controller 480 outputs an image to the display unit 481 after performing additional tasks, and outputs audio to the audio output unit 483. do.

이와 같이, 본 발명에 따른 멀티미디어 디바이스는 방송수신부(410)를 통해 수신한 방송 신호에 따른 방송 프로그램 콘텐츠를 재생시킬 수 있다. 또한, 외부 디바이스로부터 수신한 외부 신호에 대응한 다른 종류의 콘텐츠도 재생시킬 수 있다. 상기 외부 신호는 후술하는 네트워크 인터페이스(420)를 통해 수신할 수 있다. As such, the multimedia device according to the present invention may reproduce broadcast program content according to a broadcast signal received through the broadcast receiver 410. In addition, other types of content corresponding to an external signal received from an external device can also be reproduced. The external signal may be received through the network interface 420 described later.

네트워크 인터페이스(420)는, 유선 네트워크와의 접속을 위해, 예를 들어 이더넷(Ethernet) 단자 등을 구비할 수 있다. 또한, 무선 네트워크와의 접속을 위해, 예를 들어 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 통신 규격 등을 이용할 수 있다. The network interface 420 may include, for example, an Ethernet terminal for connection with a wired network. In addition, for connection with a wireless network, wireless LAN (Wi-Fi), Wibro (Wireless broadband), World Interoperability for Microwave Access (Wimax), High Speed Downlink Packet Access (HSDPA) communication standards, etc. Can be used.

또한, 네트워크 인터페이스(420)는 네트워크를 통해, 공중에 공개(open)된 애플리케이션 중 원하는 애플리케이션을 선택하여 수신할 수 있다. 따라서, 상기 네트워크 인터페이스(420)는 애플리케이션 제공자(600)와 데이터 송수신을 할 수 있다. In addition, the network interface 420 may select and receive a desired application from among applications that are open to the public through the network. Accordingly, the network interface 420 may exchange data with the application provider 600.

외부장치 인터페이스(430)는 외부 장치와 멀티미디어 디바이스(400)를 접속할 수 있다. 이를 위해, 외부장치 인터페이스(430)는 A/V 입출력부(미도시) 또는 무선 통신부(미도시)를 포함할 수 있다. The external device interface 430 may connect the external device and the multimedia device 400. To this end, the external device interface 430 may include an A / V input / output unit (not shown) or a wireless communication unit (not shown).

외부장치 인터페이스(430)는 DVD(Digital Versatile Disk), BD(Blu-ray Disc, 블루레이 디스크) 플레이어, 게임기기, 카메라, 캠코더, 컴퓨터(노트북) 등과 같은 외부 장치와 유/무선으로 접속될 수 있다. 또한, 외부장치 인터페이스(430)는 인접하는 외부 장치 내의 애플리케이션 또는 애플리케이션 목록을 수신하여, 컨트롤러(480) 또는 메모리(440, 470)로 전달할 수 있다. The external device interface 430 may be connected to an external device such as a DVD (Digital Versatile Disk), a BD (Blu-ray Disc) player, a game device, a camera, a camcorder, a computer (laptop), or the like. have. In addition, the external device interface 430 may receive an application or a list of applications in a neighboring external device and transmit the received application to the controller 480 or the memory 440 or 470.

상기 제 1 메모리(440)와 상기 제 2 메모리(470)는 EEPROM(Electrically Erasable Programmable Read-Only Memory) 등에 의해 구현될 수 있으며, 컨트롤러(480) 내의 각 신호 처리 및 제어를 위한 프로그램을 저장하거나, 신호 처리된 영상, 음성 또는 데이터 신호를 저장할 수도 있다. The first memory 440 and the second memory 470 may be implemented by an EEPROM (Electrically Erasable Programmable Read-Only Memory) or the like, and store a program for processing and controlling each signal in the controller 480, It may also store signal processed video, audio or data signals.

또한, 상기 제 1 메모리(440)와 상기 제 2 메모리(470)는 외부장치 인터페이스(430) 또는 네트워크 인터페이스(420)로부터 입력되는 영상, 음성, 또는 데이터 신호의 임시 저장을 위한 기능을 수행할 수도 있다. 나아가, 외부장치 인터페이스(430) 또는 네트워크 인터페이스(420)로부터 입력되는 애플리케이션 또는 애플리케이션 목록을 저장할 수도 있다. In addition, the first memory 440 and the second memory 470 may perform a function for temporarily storing an image, audio, or data signal input from the external device interface 430 or the network interface 420. have. In addition, an application or a list of applications input from the external device interface 430 or the network interface 420 may be stored.

또한, 상기 제 1 메모리(440)와 상기 제 2 메모리(470)는 하나의 메모리 형태로 존재할 수도 있다. In addition, the first memory 440 and the second memory 470 may exist in one memory form.

유저 인터페이스(490)는 사용자가 입력한 신호를 컨트롤러(480)로 전달하거나, 컨트롤러(480)로부터의 신호를 사용자에게 전달한다. 예를 들어, 유저 인터페이스(490)는 RF(Radio Frequency) 통신 방식, 적외선(IR) 통신 방식 등의 다양한 통신 방식에 따라, 리모트 컨트롤러(700)로부터 전원 온/오프, 채널 선택, 화면 설정 등의 제어 신호를 수신하여 처리하거나, 컨트롤러(480)로부터의 제어 신호를 리모트 컨트롤러(700)로 송신하도록 처리할 수 있다. The user interface 490 transmits a signal input by the user to the controller 480, or transmits a signal from the controller 480 to the user. For example, the user interface 490 may be configured such as power on / off, channel selection, screen setting, etc. from the remote controller 700 according to various communication methods such as a radio frequency (RF) communication method and an infrared (IR) communication method. The control signal may be received and processed, or the control signal from the controller 480 may be transmitted to the remote controller 700.

디스플레이부(481)는 컨트롤러(480)에서 처리된 영상 신호, 데이터 신호, OSD 신호 또는 외부장치 인터페이스(430)에서 수신되는 영상 신호, 데이터 신호 등을 각각 R,G,B 신호로 변환하여 구동 신호를 생성한다. 디스플레이부(481)는 PDP, LCD, OLED, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등이 가능할 수 있다. The display unit 481 converts an image signal, a data signal, an OSD signal processed by the controller 480, or an image signal, data signal, etc. received from the external device interface 430 into R, G, and B signals, respectively. Create The display unit 481 may be a PDP, an LCD, an OLED, a flexible display, a 3D display, or the like.

오디오출력부(483)는 컨트롤러(480)에서 음성 처리된 신호, 예를 들어, 스테레오 신호, 3.1채널 신호 또는 5.1채널 신호를 입력받아 음성으로 출력한다. 상기 오디오출력부(483)는 다양한 형태의 스피커로 구현될 수 있다. The audio output unit 483 receives a signal processed by the controller 480, for example, a stereo signal, a 3.1 channel signal, or a 5.1 channel signal, and outputs a voice signal. The audio output unit 483 may be implemented with various types of speakers.

전원공급부(485)는 멀티미디어 디바이스(400) 전반에 걸쳐 해당 전원을 공급한다. 예를 들어, 시스템 온 칩(System On Chip, SOC)의 형태로 구현될 수 있는 컨트롤러(480)와, 영상 표시를 위한 디스플레이부(481), 및 오디오 출력을 위한 오디오출력부(483)에 전원을 공급할 수 있다. The power supply unit 485 supplies the corresponding power throughout the multimedia device 400. For example, power is supplied to the controller 480 that can be implemented in the form of a System On Chip (SOC), a display unit 481 for displaying an image, and an audio output unit 483 for audio output. Can be supplied.

리모트 컨트롤러(700)는 사용자 입력을 유저 인터페이스(490)로 송신한다. 이를 위해 상기 리모트 컨트롤러(700)는 블루투스(bluetooth), RF(Radio Frequency) 통신, 적외선(IR) 통신, UWB(Ultra Wideband), 지그비(ZigBee) 방식 등을 사용할 수 있다. The remote controller 700 sends user input to the user interface 490. To this end, the remote controller 700 may use Bluetooth, RF (Radio Frequency) communication, Infrared (IR) communication, UWB (Ultra Wideband), ZigBee (ZigBee).

특히, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스(400)에 대해 설명하면 다음과 같다. In particular, the multimedia device 400 for driving an application independently of a platform will be described below.

제 1 메모리(440)는 매칭 테이블을 저장한다. 상기 매칭 테이블을 애플리케이션의 API(Application Programming Interface)가 플랫폼의 제어 API에 매칭되는 정보를 테이블 형태로 저장한 것이다. The first memory 440 stores a matching table. The matching table stores information in which the application programming interface (API) of the application matches the control API of the platform in the form of a table.

API는 운영체제와 애플리케이션 사이의 통신에 사용되는 언어나 메시지 형식을 말하는 것으로서, 프로그램 내에서 실행을 위해 특정 서브루틴에 연결을 제공하는 함수를 호출하는 것으로 구현된다. 그러므로, 하나의 API는 함수의 호출에 의해 요청되는 작업을 수행하기 위해 이미 존재하거나 또는 연결되어야 하는 몇 개의 프로그램 모듈이나 루틴을 가진다. An API is a language or message format used to communicate between an operating system and an application. It is implemented by calling a function that provides a link to a specific subroutine for execution within a program. Thus, an API has several program modules or routines that must already exist or be linked in order to perform the work requested by the function call.

애플리케이션에 대한 API와 멀티미디어 디바이스의 플랫폼의 제어 API가 동일한 경우라면, 애플리케이션을 실행함에 있어서 아무런 문제가 없다. 그러나, 애플리케이션의 API와 플랫폼의 제어 API가 동일한 함수가 아니라면, 애플리케이션에서 사용하는 API가 플랫폼의 제어 API와 동일하도록 애플리케이션을 개발을 새로 하거나 수정을 해야하는 불편함이 있다. If the API for the application and the control API of the platform of the multimedia device are the same, there is no problem in executing the application. However, if the API of the application and the control API of the platform are not the same function, it is inconvenient to develop or modify the application so that the API used in the application is the same as the control API of the platform.

따라서, 본 발명은 애플리케이션의 API와 플랫폼의 제어 API를 매칭시키는 추가 작업을 통해 플랫폼의 종류에 따라 별도의 애플리케이션을 개발하는 번거로움을 덜고자 한다. Therefore, the present invention is to save the hassle of developing a separate application according to the type of platform through the additional work of matching the API of the application and the control API of the platform.

따라서, 상기 매칭부(450)는 상기 제 1 메모리(440)를 이용하여, 상기 애플리케이션의 API를 상기 플랫폼의 제어 API로 매칭시킨다. 좀 더 구체적으로 설명하면, 매칭 테이블을 이용하여, 상기 애플리케이션의 API에 포함된 각 인수에 대응하는 플랫폼의 제어 API를 순차적으로 매칭시킨다. Therefore, the matching unit 450 matches the API of the application with the control API of the platform using the first memory 440. More specifically, the matching table is used to sequentially match the control API of the platform corresponding to each argument included in the API of the application.

도 5는 본 발명의 일실시예에 의한 애플리케이션 API의 인수를 도시한 도면으로, 멀티미디어 디바이스가 수신한 방송 신호에 대하여 채널을 변경하는 경우, 채널 튜닝을 위한 애플리케이션 API의 인수이다. FIG. 5 is a diagram illustrating an argument of an application API according to an embodiment of the present invention. When the multimedia device changes a channel with respect to a broadcast signal received, it is an argument of an application API for channel tuning.

채널을 튜닝하는 경우, 유럽향 모델은 주파수(510, 520)와 서비스 아이디(530, 540)가 필수적으로 필요하다. 또한, 부가적으로 정상적인 채널 튜닝을 위해서 변조 속도(심볼 레이트 - symbol rate, 550)나 컨스틸레이션 타입(constellation type, 560)이 필요하고, 부수적으로는 아날로그(analog)/디지털(digital), 지상파/케이블/위성과 같은 인수(570)가 전달될 필요가 있다. 또한, 채널 변경시 채널 배너(channel banner)를 보여줄 것인지 말 것인지와 같이 특별한 기능을 수행하는 내용도 인수(570)로 포함될 수 있다. In case of tuning the channel, the European model requires the frequencies 510 and 520 and the service IDs 530 and 540. In addition, for normal channel tuning, a modulation rate (symbol rate-550) or constellation type (560) is required, and concomitantly analog / digital and terrestrial waves. Arguments 570, such as / cable / satellite, need to be passed. In addition, the content of performing a special function, such as whether to show a channel banner (channel banner) when changing the channel may be included as an argument (570).

이와 같이, 특정 기능을 수행하기 위해서 필수적으로 필요한 인수가 있고, 부가적으로 필요한 인수가 있다. 따라서, 매칭 테이블에서는 필수 인수에 대해서는 애플리케이션 API에서 그 값을 인수로 꼭 가지고 있기를 요구하고, 필요 인수에 대해서는 애플리케이션 API에서 그 값을 가진다면, 그 값을 이용하고 없으면 미리 설정해둔 디폴트(default) 값을 이용할 수 있으며, 부가적인 인수라면 생략하거나 오류 보고를 하도록 할 수 있다. As such, there are arguments necessary for performing a particular function, and additionally necessary arguments. Therefore, the matching table requires that the application API must have the value as an argument for mandatory arguments, and the default value that is set if the value is not used in the application API for required arguments. A value can be used and optional arguments can be omitted or error reported.

도 6은 본 발명에 따른 매칭 테이블의 일실시예를 도시한 도면으로, 채널을 변경하는 경우 애플리케이션 API와 플랫폼의 제어 API를 매칭시키는 일실시예이다.FIG. 6 is a diagram illustrating an embodiment of a matching table according to the present invention, in which an application API is matched with a control API of a platform when a channel is changed.

API_Euro_Channel_Change라는 채널 변경 기능을 수행하는 애플리케이션 API(610)에 대하여, 애플리케이션 API(610)에 속하는 각각의 인수(620)에 대하여 플랫폼의 제어 API(630)로 매칭시킨다. 따라서, 플랫폼의 제어 API는 하나의 인수만을 포함하는 API이면 더욱 효율적으로 매칭이 가능하다. The application API 610 which performs a channel change function called API_Euro_Channel_Change is matched with the control API 630 of the platform for each argument 620 belonging to the application API 610. Therefore, the control API of the platform can be more efficiently matched if the API includes only one argument.

또한, 도 6에 도시된 바와 같이, 애플리케이션 API의 인수에 제어 API를 매칭시키기 위하여 인수 타입(640)을 함께 매칭 테이블에 저장할 수 있다. 애플리케이션 API에 포함된 인수에 대응하는 플랫폼의 제어 API를 매칭시키는 과정에서 애플리케이션 API의 인수 타입이 제어 API의 인수 타입과 맞지 않을 수 있다. 따라서, 플랫폼 API의 인수의 타입(640)을 저장해두고, 상기 매칭부(450)에서 애플리케이션의 API에 포함된 각 인수를 기설정된 인수 타입에 따라 분류한 후 상기 플랫폼의 제어 API로 매칭시킬 수 있다. 예를 들어, 인수가 float 형일 경우 int 형으로 형 변환(type cast)을 하여 매칭시킬 수 있다.In addition, as shown in FIG. 6, the argument type 640 may be stored together in the matching table to match the control API to the arguments of the application API. In the process of matching the control API of the platform corresponding to the argument included in the application API, the argument type of the application API may not match the argument type of the control API. Accordingly, the argument type 640 of the platform API may be stored, and the matching unit 450 may classify each argument included in the API of the application according to a preset argument type and match the control API of the platform. . For example, if an argument is of type float, it can be cast by type casting to int.

도 7은 본 발명에 따른 매칭 테이블의 다른 일실시예를 도시한 도면으로, 채널 변경시 IP와 관련한 애플리케이션 API를, 애플리케이션 API의 인자에 따른 플랫폼의 제어 API로 매칭시킨 테이블을 도시하였다. 그에 따라, 채널 변경시 필요한 IP, PORT, 채널명, 채널 번호, 채널 타입 및 OSD 셋팅 정보 등, 각각에 해당하는 제어 API가 매칭되어 있다. FIG. 7 is a diagram illustrating another embodiment of a matching table according to the present invention. FIG. 7 illustrates a table in which an application API related to IP when a channel is changed to a control API of a platform according to an argument of an application API. Accordingly, corresponding control APIs such as IP, PORT, channel name, channel number, channel type, and OSD setting information required for channel change are matched.

이와 같이, 플랫폼의 제어 API를 최소 기능 단위로 구성하기 위하여 1개의 인수만을 갖은 제어 API를 일실시예로서 설명하였지만, 1개의 인수만을 갖는 API로는 실행이 불가능한 경우도 있다. 따라서, 필요에 따라 복수의 인수를 갖는 제어 API로 매칭시키는 것도 본 발명의 권리범위에 속한다. As described above, the control API having only one argument is described as an embodiment in order to configure the control API of the platform as the minimum functional unit. However, in some cases, the API cannot be executed using the API having only one argument. Therefore, matching with a control API having a plurality of arguments as necessary is also within the scope of the present invention.

도 8은 본 발명에 따른 매칭 테이블의 또 다른 일실시예를 도시한 도면으로, 디지털 TV 방송에서 PIP(Picture In Picture) 기능과 관련한 애플리케이션 API를 플랫폼의 제어 API로 변환하기 위한 매칭 테이블의 일실시예를 도시하였다. 8 is a view showing another embodiment of a matching table according to the present invention, an embodiment of a matching table for converting an application API related to a picture in picture (PIP) function into a control API of a platform in digital TV broadcasting An example is shown.

PIP는 화면 속 화면으로 멀티미디어 디바이스의 화면에서 본 화면과 별도로 작은 화면을 동시에 표시할 수 있는 기능을 가진 화면으로, 개인용 컴퓨터(PC)의 윈도나 텔레비전에서 동시에 두 가지 채널을 디스플레이할 때 이용될 수 있다. PIP is an on-screen screen that displays a small screen simultaneously from the screen of a multimedia device. It can be used to simultaneously display two channels on a personal computer (PC) window or television. have.

다만, PIP 모드가 아닌 경우에, 서브 채널에 대한 정보는 필요가 없으므로 주 채널에 대한 정보만 필요하다. 따라서, 도 8과 같이 필수적으로 필요한 정보를 인수로 하여, 각 인수에 대응하는 제어 API를 매칭 테이블에 저장할 수 있다. However, in the case of the non-PIP mode, since the information on the subchannel is not necessary, only the information on the main channel is needed. Accordingly, as shown in FIG. 8, necessary control information may be stored as a parameter, and a control API corresponding to each factor may be stored in a matching table.

도 9는 본 발명에 따른 매칭 테이블의 또 다른 일실시예를 도시한 도면으로, 도 8에서 PIP 모드인 경우에 부가적으로 필요한 부가 채널의 번호와 타입 등에 대한 정보를 인수화하여 그에 매칭되는 제어 API를 매칭 테이블로서 도시하였다. 다만, 이와 같이 부가적으로 필요한 정보에 대한 인수는 해당하는 매칭 테이블이 없는 경우, 기설정된 값으로 대체하도록 할 수 있다는 차이점이 있다. FIG. 9 is a diagram illustrating another embodiment of a matching table according to the present invention. In FIG. 8, in case of the PIP mode, control for matching and matching information about the number and type of additional channels required additionally. The API is shown as a matching table. However, there is a difference that an argument for additionally necessary information may be replaced with a preset value when there is no corresponding matching table.

한편, 도 10은 본 발명에 따른 매칭 테이블을 디스크립션 포맷으로 기술한 일실시예를 도시한 도면으로, 도 10에 도시된 바와 같이 상기 매칭 테이블은 애플리케이션의 API 및 플랫폼의 제어 API를 XML과 같은 디스크립션(description) 포맷으로 저장할 수 있다. FIG. 10 is a diagram illustrating an embodiment in which a matching table according to the present invention is described in a description format. As illustrated in FIG. 10, the matching table describes an application API and a control API of a platform such as XML. Can be stored in (description) format.

도 10에 도시된 바와 같이, <Begin><API 1><API 2>...<API n><End>로 구성할 수 있으며, <Begin>에서는 변환해야 할 애플리케이션 API 함수명과 타입이 오고, <End>에서는 반환해야 할 결과값의 타입이 오도록 할 수 있다. 또한, 가운데는 일련의 제어 API의 함수명 및 제어 API로 전달되는 인수 및 인수의 타입 등을 정의할 수 있다. 이와 같이, 디스크립션 포맷으로 저장함으로써 매칭 테이블의 데이터를 확장시키는 효과가 있다. As shown in FIG. 10, <Begin> <API 1> <API 2> ... <API n> <End> may be configured. In <Begin>, an application API function name and type to be converted are given. In <End>, you can get the type of result to return. In the middle, it is possible to define a function name of a series of control APIs, arguments and argument types passed to the control API, and the like. In this way, the data of the matching table can be extended by storing in the description format.

따라서, 애플리케이션을 실행하는 경우, 매칭부(450)의 매칭 결과에 따른 플랫폼의 제어 API를 컨트롤러(480)가 호출한다. 다만, 필요에 따라, 구동부(460)에서 플랫폼의 제어 API를 호출하도록 하는 것도 본 발명의 권리범위에 속한다. 구동부(460)에 대해서는 다시 후술하도록 한다. Therefore, when the application is executed, the controller 480 calls the control API of the platform according to the matching result of the matching unit 450. However, if necessary, the driving unit 460 to call the control API of the platform also belongs to the scope of the present invention. The driving unit 460 will be described later.

한편, 매칭 테이블은 애플리케이션 제공자(600)가 애플리케이션을 개발하기 이전에 플랫폼 제공자(500)로부터 제공받은 플랫폼 제어 API를 이용하여 매칭 테이블을 생성할 수 있다. 또한, 생성한 매칭 테이블을 애플리케이션 배포시 함께 배포할 수 있다. Meanwhile, the matching table may generate a matching table using the platform control API provided from the platform provider 500 before the application provider 600 develops the application. In addition, the created matching table can be distributed together with the application distribution.

이 경우, 구동부(460)는 애플리케이션을 제 2 메모리(470)에 로드(load)하면서 매칭 테이블이 필요한지 여부를 판단한다. 즉, 애플리케이션이 해당 플랫폼을 기반으로 개발된 것인지 판단한다. 판단 결과, 개발의 배경이 된 플랫폼이 다르다면 매칭 테이블이 필요하므로, 애플리케이션을 로드하기 위한 로드 데이터에 포함된 매칭 테이블을 추출하여 상기 제 1 메모리(440)에 저장한다. In this case, the driver 460 determines whether a matching table is required while loading the application into the second memory 470. That is, it is determined whether the application is developed based on the platform. As a result of the determination, a matching table is required if the platforms used for development are different. Therefore, a matching table included in load data for loading an application is extracted and stored in the first memory 440.

다만, 애플리케이션 제공자(600)가 애플리케이션을 개발하는 과정에서는 목표로 했던 플랫폼이 아닌데, 이후 특정 플랫폼에서 애플리케이션을 실행해야 하는 경우도 있을 수 있다. However, the application provider 600 may not be the target platform in the process of developing the application, but there may be a case where the application must be executed on a specific platform.

그러한 경우, 네트워크 인터페이스(420)는 외부 서버 예를 들어, 애플리케이션 제공자(600)로부터 매칭 테이블을 생성하기 위한 데이터를 수신할 수 있다. 이때, 상기 컨트롤러(480)는 상기 수신한 데이터를 이용하여 매칭 테이블을 생성하여 상기 제 1 메모리(440)에 저장할 수 있다. In such a case, the network interface 420 may receive data for generating a matching table from an external server, for example, the application provider 600. In this case, the controller 480 may generate a matching table using the received data and store the matching table in the first memory 440.

상기 매칭 테이블을 생성하기 위한 데이터는, 애플리케이션 API의 종류, 각 API의 기능 및 정의 정보를 포함하며, 각 API에 포함된 인수가 필수 인수인지, 필요 인수인지, 부가 인수인지에 대한 정의를 포함할 수 있다. The data for generating the matching table may include a type of an application API, a function and definition information of each API, and include a definition of whether an argument included in each API is a required argument, a required argument, or an additional argument. Can be.

필수 인수는 API를 실행함에 있어서 반드시 필요한 인수를 의미하며, 필요 인수는 API를 실행함에 있어서 반드시 필요하지만 기설정된 기본값을 이용하면 애플리케이션 실행이 가능한 인수를 의미하며, 부가 인수는 없더라도 애플리케이션 실행이 가능한 인수를 의미한다. Required arguments are required arguments to run the API. Required arguments are required arguments to execute the API, but the arguments are allowed to run the application using the default value. Means.

이와 같이, 인수를 필수 인수, 필요 인수 및 부가 인수로 나누어 정의함으로써 애플리케이션 API 인수에 대응하는 제어 API를 매칭시키기 용이하다는 장점이 있다. 다만, 필수 인수인데 그에 대응하는 제어 API가 존재하지 않는 경우, 애플리케이션 실행이 어려우므로 외부 서버로 오류를 전송하도록 할 수 있다. As described above, the arguments are divided into mandatory arguments, required arguments, and additional arguments, thereby making it easy to match control APIs corresponding to application API arguments. However, if it is a required argument and the corresponding control API does not exist, it is difficult to execute the application, so that an error can be sent to an external server.

또한, 제어 API에 대한 정보는 이미 멀티미디어 디바이스(400)에서 가지고 있으므로 별도로 수신하지 않아도 되지만, 필요에 따라 상기 매칭 테이블을 생성하기 위한 데이터에 제어 API에 대한 정보도 포함할 수 있다. In addition, since the information on the control API is already included in the multimedia device 400, it does not need to be separately received. However, the data for generating the matching table may also include information about the control API as necessary.

한편, 상기 컨트롤러(480)는 별도로 매칭 테이블을 생성하지 않고, 애플리케이션이 실행될 때에 상기 수신한 데이터를 이용하여 애플리케이션 API에 대응하는 제어 API가 호출되도록 제어할 수 있다. 또는, 애플리케이션이 로드된 이후에, 상기 수신한 데이터를 이용하여 애플리케이션 실행을 위한 코드를 제어 API를 이용한 코드로 변환하여 상기 구동부(460)에서 애플리케이션을 실행하려고 할 때에 변환된 코드를 이용하도록 제어할 수도 있다. The controller 480 may control the control API corresponding to the application API to be called using the received data when the application is executed, without generating a matching table separately. Alternatively, after the application is loaded, the code for executing the application is converted into a code using a control API by using the received data to control to use the converted code when the driver 460 tries to execute the application. It may be.

이와 같이 다양한 방법을 통하여, 애플리케이션 API과 제어 API를 매칭시킴으로써, 애플리케이션의 플랫폼에 대한 호환성을 높여주는 효과가 있다. 그에 따라, 애플리케이션 개발자 및 서비스 공급자의 응용 서비스 영역을 다양하게 지원할 수 있도록 한다. As described above, by matching the application API and the control API, there is an effect of increasing the compatibility of the application platform. As a result, it supports various application service areas of application developers and service providers.

도 11은 본 발명의 일실시예에 의한 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스의 제어 방법의 흐름도로, 도 11을 참조하여 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스의 제어 방법을 설명한다. FIG. 11 is a flowchart illustrating a control method of a multimedia device for driving an application independently of a platform according to an embodiment of the present invention. Referring to FIG. 11, a control method of a multimedia device for driving an application independently of a platform will be described.

애플리케이션을 메모리에 로드(load)한다(S1100). 로드된 애플리케이션 관련 데이터에 매칭 테이블이 존재하는지 판단하고(S1110), 존재하지 않으면 외부 서버로부터 매칭 테이블을 생성하기 위한 데이터를 수신한다(S1120). The application is loaded into memory (S1100). It is determined whether a matching table exists in the loaded application-related data (S1110). If not, data for generating a matching table is received from an external server (S1120).

상기 매칭 테이블을 생성하기 위한 데이터는, 애플리케이션 API의 종류, 각 API의 기능 및 정의 정보를 포함하며, 각 API에 포함된 인수가 필수 인수인지, 필요 인수인지, 부가 인수인지에 대한 정의를 포함할 수 있다. The data for generating the matching table may include a type of an application API, a function and definition information of each API, and include a definition of whether an argument included in each API is a required argument, a required argument, or an additional argument. Can be.

필수 인수는 API를 실행함에 있어서 반드시 필요한 인수를 의미하며, 필요 인수는 API를 실행함에 있어서 반드시 필요하지만 기설정된 기본값을 이용하면 애플리케이션 실행이 가능한 인수를 의미하며, 부가 인수는 없더라도 애플리케이션 실행이 가능한 인수를 의미한다. Required arguments are required arguments to run the API. Required arguments are required arguments to execute the API, but the arguments are allowed to run the application using the default value. Means.

이와 같이, 인수를 필수 인수, 필요 인수 및 부가 인수로 나누어 정의함으로써 애플리케이션 API 인수에 대응하는 제어 API를 매칭시키기 용이하다는 장점이 있다. 다만, 필수 인수인데 그에 대응하는 제어 API가 존재하지 않는 경우, 애플리케이션 실행이 어려우므로 외부 서버로 오류를 전송하도록 할 수 있다. As described above, the arguments are divided into mandatory arguments, required arguments, and additional arguments, so that the control API corresponding to the application API arguments can be easily matched. However, if it is a required argument and the corresponding control API does not exist, it is difficult to execute the application, so that an error can be sent to an external server.

또한, 상기 매칭 테이블을 생성하기 위한 데이터는, 애플리케이션 API에 대응하는 제어 API 리스트 또는 애플리케이션 API의 인수에 대응하는 제어 API를 더 포함할 수도 있다. The data for generating the matching table may further include a control API list corresponding to an argument of an application API or a list of control APIs corresponding to an application API.

상기 수신한 데이터를 이용하여 매칭 테이블을 생성한다(S1130). 상기 매칭 테이블은 애플리케이션의 API에 포함된 각각의 인수에 매칭되는 플랫폼의 제어 API 정보를 포함하고 있으며, 디스크립션(despcription) 포맷일 수 있다. A matching table is generated using the received data (S1130). The matching table includes control API information of the platform matching each argument included in the API of the application, and may be in a description format.

또한, 상기 매칭 테이블 내에서 매칭되는 플랫폼의 제어 API는 하나의 인수만을 포함하는 API일 수 있으며, 상기 애플리케이션의 API에 포함된 각 인수를 기설정된 인수 타입에 따라 분류한 후 상기 플랫폼의 제어 API로 매칭할 수 있다.In addition, the control API of the platform matched in the matching table may be an API including only one argument, and after classifying each argument included in the API of the application according to a predetermined argument type to the control API of the platform. Can match.

한편, 상기 생성된 매칭 테이블을 메모리에 저장하는데(S1140), 상기 메모리는 애플리케이션을 로드한 메모리와 동일할 수도 있고 다를 수도 있다. Meanwhile, the generated matching table is stored in a memory (S1140), and the memory may be the same as or different from the memory in which the application is loaded.

애플리케이션의 실행 요청을 수신하면(S1150), 상기 매칭 테이블을 이용하여 애플리케이션의 API를 플랫폼의 제어 API로 매칭한다(S1160). 이때, 애플리케이션의 API에 포함된 인수에 대응하는 플랫폼의 제어 API가 존재하지 않는 경우 상기 외부 서버로 오류를 보고할 수 있다. When the execution request of the application is received (S1150), the API of the application is matched with the control API of the platform using the matching table (S1160). In this case, when there is no control API of the platform corresponding to the argument included in the API of the application, an error may be reported to the external server.

상기 매칭 결과에 따라, 플랫폼의 제어 API를 호출하여 애플리케이션을 실행한다(S1170). According to the matching result, an application is executed by calling the control API of the platform (S1170).

나아가, 설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 당업자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.Furthermore, although the drawings are shown for convenience of explanation, it is also possible to design a new embodiment to be implemented by merging the embodiments described in each drawing. It is also within the scope of the present invention to design a computer-readable recording medium in which a program for executing the previously described embodiments is recorded according to the needs of those skilled in the art.

본 발명에 따른 멀티미디어 디바이스 및 그 제어방법은 상기한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.The multimedia device and the method of controlling the same according to the present invention are not limited to the configuration and method of the embodiments described above, but the embodiments may be modified in whole or in part to enable various modifications. It may alternatively be configured in combination.

한편, 본 발명의 멀티미디어 디바이스를 제어하는 방법은 네트워크 디바이스에 구비된 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.On the other hand, the method for controlling a multimedia device of the present invention can be implemented as processor-readable code in a processor-readable recording medium provided in the network device. The processor-readable recording medium includes all kinds of recording apparatuses in which data that can be read by the processor is stored. Examples of the recording medium that can be read by the processor include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may also be implemented in the form of a carrier wave such as transmission over the Internet . The processor-readable recording medium can also be distributed over network coupled computer systems so that the processor-readable code is stored and executed in a distributed fashion.

또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the present invention.

그리고, 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양발명의 설명은 보충적으로 적용될 수가 있다. In this specification, both the invention and the invention of the method are explained, and the description of the two inventions can be supplementarily applied as necessary.

410 방송수신부 420 네트워크 인터페이스
430 외부장치 인터페이스 440 제 1 메모리
450 매칭부 460 구동부
470 제 2 메모리 480 컨트롤러
490 유저 인터페이스
410 Broadcast Receiver 420 Network Interface
430 External device interface 440 First memory
450 Matching part 460 Driving part
470 second memory 480 controller
490 user interface

Claims (14)

플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스에 있어서,
매칭 테이블을 저장하는 제 1 메모리;
상기 제 1 메모리를 이용하여 상기 애플리케이션의 API(Application Programming Interface)를 상기 플랫폼의 제어 API로 매칭시키는 매칭부;
상기 애플리케이션을 제 2 메모리에 로드(load)하고, 상기 애플리케이션을 실행하는 구동부;
상기 애플리케이션을 실행하는 경우, 상기 매칭 결과에 따른 상기 플랫폼의 제어 API를 호출하도록 제어하는 컨트롤러;를 포함하는, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스.
In the multimedia device to run the application independent of the platform,
A first memory for storing a matching table;
A matching unit for matching an application programming interface (API) of the application to a control API of the platform using the first memory;
A driver which loads the application to a second memory and executes the application;
And a controller configured to control to call a control API of the platform according to the matching result when executing the application.
제 1 항에 있어서,
상기 매칭 테이블은,
상기 애플리케이션의 API 및 상기 플랫폼의 제어 API가 디스크립션(description) 포맷으로 저장된, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스.
The method of claim 1,
The matching table,
Wherein the API of the application and the control API of the platform are stored in a description format.
제 1 항에 있어서,
상기 매칭부는,
상기 매칭 테이블을 이용하여, 상기 애플리케이션의 API에 포함된 각 인수에 대응하는 상기 플랫폼의 제어 API를 순차적으로 매칭시키는, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스.
The method of claim 1,
The matching unit,
And sequentially matching a control API of the platform corresponding to each argument included in the API of the application by using the matching table.
제 3 항에 있어서,
상기 매칭부는,
상기 애플리케이션의 API에 포함된 각 인수를 기설정된 인수 타입에 따라 분류한 후 상기 플랫폼의 제어 API로 매칭하는, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스.
The method of claim 3, wherein
The matching unit,
And classifying each argument included in the API of the application according to a preset argument type and matching the control API of the platform.
제 3 항에 있어서,
상기 플래폼의 제어 API는 하나의 인수만을 포함하는 API인, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스.
The method of claim 3, wherein
The platform's control API is an API including only one argument.
제 1 항에 있어서,
외부 서버로부터 상기 매칭 테이블을 생성하기 위한 데이터를 수신하는 네트워크 인터페이스;를 더 포함하는, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스.
The method of claim 1,
And a network interface for receiving data for generating the matching table from an external server.
제 6 항에 있어서,
상기 컨트롤러는,
상기 외부 서버로부터 수신한 데이터를 이용하여 매칭 테이블을 생성하여 상기 제 1 메모리에 저장하는, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스.
The method according to claim 6,
The controller,
And generate a matching table using the data received from the external server and store the matching table in the first memory.
플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스의 제어 방법에 있어서,
상기 애플리케이션을 메모리에 로드(load)하는 단계;
외부 서버로 상기 매칭 테이블을 생성하기 위한 데이터를 수신하는 단계;
상기 데이터를 이용하여 매칭 테이블을 생성하는 단계;
상기 메모리에 상기 애플리케이션의 매칭 테이블을 저장하는 단계;
상기 애플리케이션의 실행 요청을 수신하는 단계;
상기 매칭 테이블을 이용하여 상기 애플리케이션의 API(Application Programming Interface)를 상기 플랫폼의 제어 API에 매칭하는 단계; 및
상기 매칭된 플랫폼의 제어 API를 호출하여 상기 애플리케이션을 실행하는 단계;를 포함하는 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스의 제어 방법.
In the control method of a multimedia device for running an application independently of the platform,
Loading the application into memory;
Receiving data for generating the matching table to an external server;
Generating a matching table using the data;
Storing a matching table of the application in the memory;
Receiving a request for execution of the application;
Matching an application programming interface (API) of the application to a control API of the platform using the matching table; And
Calling the control API of the matched platform to execute the application; and operating the application independently of the platform.
제 8 항에 있어서,
상기 데이터를 이용하여 매칭 테이블을 생성하는 단계는,
상기 애플리케이션의 API에 포함된 각각의 인수에 대응하여 상기 플랫폼의 제어 API를 매칭시켜 상기 매칭 테이블을 생성하는, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스의 제어 방법.
The method of claim 8,
Generating a matching table using the data,
And generating a matching table by matching a control API of the platform corresponding to each argument included in the API of the application.
제 9 항에 있어서,
상기 플랫폼의 제어 API는 하나의 인수만을 포함하는 API인, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스의 제어 방법.
The method of claim 9,
The control API of the platform is an API including only one argument, the method of controlling a multimedia device to run the application independent of the platform.
제 9 항에 있어서,
상기 데이터를 이용하여 매칭 테이블을 생성하는 단계는,
상기 애플리케이션의 API에 포함된 각 인수를 기설정된 인수 타입에 따라 분류한 후, 상기 플랫폼의 제어 API로 매칭시켜 상기 매칭 테이블을 생성하는, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스의 제어 방법.
The method of claim 9,
Generating a matching table using the data,
And classifying each argument included in the API of the application according to a preset argument type and matching the control API of the platform to generate the matching table.
제 9 항에 있어서,
상기 매칭 테이블을 이용하여 상기 애플리케이션의 API를 상기 플랫폼의 제어 API에 매칭하는 단계는,
상기 애플리케이션의 API에 포함된 인수에 대응하는 상기 플랫폼의 제어 API가 존재하지 않는 경우, 상기 외부 서버로 오류를 보고하는 단계;를 더 포함하는, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스의 제어 방법.
The method of claim 9,
Matching the API of the application to the control API of the platform using the matching table,
If the control API of the platform corresponding to the argument included in the API of the application does not exist, reporting an error to the external server; control method of the multimedia device to run the application independently of the platform, further comprising: .
제 8 항에 있어서,
상기 매칭 테이블은,
상기 애플리케이션의 API 및 상기 플랫폼의 제어 API가 디스크립션(description) 포맷으로 저장된, 플랫폼에 독립적으로 애플리케이션을 구동시키는 멀티미디어 디바이스의 제어 방법.
The method of claim 8,
The matching table,
And the API of the application and the control API of the platform are stored in a description format.
제 8 항 내지 제 13 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체. A computer-readable recording medium in which a program for executing the method of claims 8 to 13 is recorded.
KR1020110127553A 2011-12-01 2011-12-01 Multimedia device for running application independently of platform and method for controlling the same KR20130061313A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110127553A KR20130061313A (en) 2011-12-01 2011-12-01 Multimedia device for running application independently of platform and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110127553A KR20130061313A (en) 2011-12-01 2011-12-01 Multimedia device for running application independently of platform and method for controlling the same

Publications (1)

Publication Number Publication Date
KR20130061313A true KR20130061313A (en) 2013-06-11

Family

ID=48859451

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110127553A KR20130061313A (en) 2011-12-01 2011-12-01 Multimedia device for running application independently of platform and method for controlling the same

Country Status (1)

Country Link
KR (1) KR20130061313A (en)

Similar Documents

Publication Publication Date Title
US9041862B2 (en) Display apparatus and method for controlling the display apparatus
US10063905B2 (en) System for controlling device, digital device, and method for controlling same
US8763043B2 (en) Digital TV and method for controlling same
CA2741670C (en) Dynamic application insertion for mpeg stream switching
KR101464839B1 (en) Method and system for distributing content
US10063923B2 (en) Digital device and control method thereof
US8522296B2 (en) Broadcast receiving apparatus and method for configuring the same according to configuration setting values received from outside
KR20120124828A (en) Method for displaying a service list and display device thereof
KR20120040841A (en) Method for moving pointer in display apparatus and display apparatus thereof
US20230336811A1 (en) Smart tv operating system arrangements for local network connected television receivers
US20150113579A1 (en) Method of providing associated application in android platform-based receiver
KR100736095B1 (en) Apparatus and method for controlling the screen size of real-time video
KR20070079258A (en) The method of managing the option of user preference in broadcasting receiver which can receive data broadcasting, the class/interface structure for controlling the same
CN104079589A (en) Display method and system for external subtitles as well as digital multimedia renderer
JP5852217B2 (en) Digital TV application execution system, digital TV application execution apparatus, and method of mounting the system
JP2007528048A (en) Software application execution method
KR20130061313A (en) Multimedia device for running application independently of platform and method for controlling the same
WO2014042984A1 (en) Method and system for communicating between a host device and a user device through an intermediate device using a composite graphics signal
US20220321973A1 (en) Display device and control method therefor
US11954401B2 (en) Method for selecting audio output device, and display apparatus
KR20160051332A (en) Digital device and method of processing data thereof

Legal Events

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