WO2009128607A2 - Integrated middleware-type digital broadcast receiving apparatus - Google Patents

Integrated middleware-type digital broadcast receiving apparatus Download PDF

Info

Publication number
WO2009128607A2
WO2009128607A2 PCT/KR2009/001156 KR2009001156W WO2009128607A2 WO 2009128607 A2 WO2009128607 A2 WO 2009128607A2 KR 2009001156 W KR2009001156 W KR 2009001156W WO 2009128607 A2 WO2009128607 A2 WO 2009128607A2
Authority
WO
WIPO (PCT)
Prior art keywords
middleware
application
module
integrated
hardware
Prior art date
Application number
PCT/KR2009/001156
Other languages
French (fr)
Korean (ko)
Other versions
WO2009128607A3 (en
Inventor
정운교
김동기
Original Assignee
티비스톰
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 티비스톰 filed Critical 티비스톰
Publication of WO2009128607A2 publication Critical patent/WO2009128607A2/en
Publication of WO2009128607A3 publication Critical patent/WO2009128607A3/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/818OS software
    • 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
    • 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]

Definitions

  • An embodiment of the present invention relates to a digital broadcast receiver, and more particularly, to a configuration of middleware included in a digital broadcast receiver to provide various contents and services.
  • IPTV based communication networks have many limitations in delivering media to consumers in broadcasting format.
  • Middleware is generally located between several operating systems (e.g., Unix, Windows, z / OS, etc.) and applications (e.g., word processors) or between applications and interfacing with each other. Software that plays a role.
  • operating systems e.g., Unix, Windows, z / OS, etc.
  • applications e.g., word processors
  • middleware employed in a reception device (eg, set-top box) in a broadcasting environment may mean a software driving environment for collectively displaying a technical environment of various hardware / software.
  • the standard middleware includes MHP (Multimedia Home Platform) developed / standardized in Europe, and OpenCable-OCAP designated by North American cable operator and ATSC-ACAP designated by North American terrestrial carrier.
  • MHP Multimedia Home Platform
  • ATSC-ACAP designated by North American terrestrial carrier.
  • the Ministry of Information and Communication has been enacted and operated to adopt DVB-MHP for satellite, OCAP for cable, and ACAP for terrestrial wave.
  • Such digital broadcasting may provide a data broadcasting service which may have bidirectionality. Interactiveity allows digital broadcasters to provide complex and diverse services that require interaction with users. In other words, bidirectional digital broadcasting needs to provide each or at least one of an on-demand service, a push service or a click based service requiring immediate response. have.
  • This bidirectionality has evolved in the form of software virtual machines based on Java technology from globally-executable MHP (GEM), OCAP, and ACAP based on the MHP standard.
  • GEM globally-executable MHP
  • OCAP OCAP
  • ACAP ACAP based on the MHP standard.
  • an application provided by an executable (or imperative) program such as a program driven by a Java virtual machine is referred to as an executable application.
  • Executable applications are mainly suitable for high-performance games, video linked applications, or broadcast applications.
  • a declarative program may refer to a type of program that solves a problem in a manner that describes what it is like, rather than how to solve the problem, such as an executable program.
  • a web page is a declarative inde web page because not to describe how indicate the pages title, fonts, texts, as shown in the figure, "what" that appears should if geotyiji depicting "in any way" computer screen to be.
  • FIG. 1 schematically shows a structure of a conventional digital broadcasting receiver.
  • a conventional digital broadcast receiver includes hardware (eg, an AV processor, a network device, a tuner, a storage device, etc.) constituting the digital broadcast receiver and an operating system (OS) for driving the hardware.
  • the hardware layer 30 includes a plurality of applications (not shown) and a middleware (1) for interfacing the hardware and / or the OS.
  • the conventional middleware 1 includes only the executable application engine 10 or the executable application engine 10 and the declared application engine 20 for executing the executable application and the declarative application, respectively. It was just a collection. Therefore, since the executable application engine 10 and the declarative application engine 20 perform functions separately, the engines (if there is a conflict in a request for each OS or resource). 10 and 20) were difficult to control. In addition, it is difficult to perform control such as mediating or switching resource usage of the engines 10 and 20 with optimized efficiency.
  • each of the engines 10 and 20 performs separate operations, it is difficult to integrate useful information that can be obtained while the engines 10 and 20 are activated or performing their respective functions. For example, if there is predetermined information 1 used or obtained when the executable application engine is loaded and predetermined information 2 used or obtained when the declarative application engine is loaded, the information 1 and the information 2 are integrated or the information 1 and It was difficult to generate new useful information based on the information 2.
  • code and / or modules that perform functions commonly required by the executable application engine 10 and the declarative application engine 20 may be overlapped. Resources of the digital broadcasting receiver are wasted more than necessary, and when a user repeatedly uses an executable application and a declarative application, switching time between engines, that is, loading time of each engine into a memory There are disadvantages such as lengthening.
  • the technical problem to be achieved by the present invention is to provide a platform that can efficiently provide a variety of applications in the digital broadcast receiver content and / or service providers to select and provide content and / or services having a variety of forms and characteristics It is to provide a digital broadcasting receiver capable of.
  • the base function commonly used in each application engine as well as the control functions of the above-described engines are defined as a separate component called base middleware, and the digital broadcasting receiver is driven with the base middleware loaded into a memory.
  • base middleware a separate component
  • the digital broadcasting receiver is driven with the base middleware loaded into a memory.
  • the digital broadcasting receiver supports not only an executable application but also a declarative application through stepwise structured middleware so that a content and / or service provider can select and provide content and / or services having various forms and characteristics.
  • a content and / or service provider can select and provide content and / or services having various forms and characteristics.
  • the digital broadcasting receiver may be driven in a state in which the base middleware is separately structured to perform the base function commonly used in each application engine, and the base middleware is loaded into the memory. Therefore, if there is only a memory capable of driving only the base middleware and one engine, each engine is loaded only when necessary, so that the digital broadcasting receiver can be driven using the minimum memory. For example, even when both engines are loaded, in the conventional middleware, codes or modules common to the respective engines exist, whereas in the present invention, there is no overlapping part, thereby reducing the required memory.
  • the base middleware includes a module for performing a specific service (eg, an integrated EPG providing service or an EPG application service), information obtained through different application engines and / or media may be included in the base middleware.
  • a specific service eg, an integrated EPG providing service or an EPG application service
  • information obtained through different application engines and / or media may be included in the base middleware.
  • FIG. 1 schematically shows a structure of a conventional digital broadcasting receiver.
  • FIG. 2 is a diagram illustrating an integrated middleware structure of a digital broadcasting receiver according to an embodiment of the present invention.
  • An integrated middleware-type digital broadcast receiver for achieving the technical problem of the present invention includes a hardware layer including a hardware of a digital broadcast receiver and an operating system (OS) for driving the hardware, and a declaration for executing a declarative application.
  • Upper middleware including an executable application engine and an executable application engine for executing the executable application, and base middleware for interfacing the upper middleware and the hardware layer, wherein the base middleware is the upper middleware.
  • the integrated middleware type digital broadcast reception device may further include an interface layer for controlling a request signal between the upper middleware and the base middleware and a request result corresponding to the request signal.
  • the declarative application engine may include at least one of a HyperText Markup Language (HTML) and Extensible Hypertext Markup Language (XHTML) module, an ECMA script module, a Cascading Style Sheet (CSS) module, or an Asynchronous JavaScript and XML (AJAX) module.
  • HTML HyperText Markup Language
  • XHTML Extensible Hypertext Markup Language
  • ECMA script a Cascading Style Sheet
  • CSS Cascading Style Sheet
  • AJAX Asynchronous JavaScript and XML
  • the executable application engine may include at least one of an application programming interface (API) and a Java virtual machine (JavaTV, Java Media Framework (JMF), Home Audio / Video Interoperability (HAVi UI), or Digital Audio Video Council (DAVIC)). Machine).
  • API application programming interface
  • JMF Java Media Framework
  • HAVi UI Home Audio / Video Interoperability
  • DAVIC Digital Audio Video Council
  • the base middleware may include at least one of an application management module, a media management module, a system event management module, a user interface module, a user management module, a hardware control module, or a resource management module, and provide integrated service information for each medium. It may also include a service information module for.
  • the interface layer may include at least one of a procedure call handler or a message queue.
  • the upper middleware may further include a flash engine for executing flash content.
  • an integrated middleware-type digital broadcast receiver includes a hardware layer including a hardware of a digital broadcast receiver and an operating system (OS) for driving the hardware, and a declarative application for executing a declarative application.
  • Upper middleware comprising an engine and a executable application engine for executing the executable application, and base middleware for interfacing the upper middleware and the hardware layer, wherein the base middleware is the declarative application engine.
  • base middleware is the declarative application engine.
  • at least one common module corresponding to a common function performed by the executable application engine.
  • the component when one component 'transmits' data to another component, the component may directly transmit the data to the other component, or through at least one other component. Means that the data may be transmitted to the other component.
  • FIG. 2 is a diagram illustrating an integrated middleware structure of a digital broadcast receiving device according to an embodiment of the present invention.
  • the apparatus for receiving digital broadcasts includes an integrated middleware 100 and a hardware layer 200.
  • the integrated middleware 100 includes executable application engines (eg, JavaTV 121-1, JMF 121-2, HAVi UI 121-3, DAVIC 121-4, etc.) and declarative applications.
  • Top middleware 120 and base middleware 110 including engines (eg, HTML / XHTML 122-1, AJAX 122-2, or ECMA Script 122-3, etc.).
  • the upper middleware 120 may further include a flash engine 123, and various engines may be further included according to the implementation example and the requirements of the digital broadcast receiving apparatus.
  • the integrated middleware 100 may further include an interface layer 130.
  • Each component of the digital broadcast reception apparatus is separately shown in the drawings to indicate that it may be functionally and logically separated, and does not necessarily mean that it is physically a separate component or implemented as a separate code.
  • the layer refers to a set of logically similar elements of the digital broadcast reception device according to an embodiment of the present invention, and does not mean a physical location or a connection relationship of the elements.
  • module in the present specification may mean a functional and structural combination of hardware for performing the technical idea of the present invention and software for driving the hardware.
  • the module may mean a logical unit of a predetermined code and a hardware resource for performing the predetermined code, and does not necessarily mean a physically connected code or a kind of hardware.
  • the integrated middleware 100 interfaces with the hardware layer 200 and various applications (not shown) provided by the digital broadcast receiver. Interfacing refers to the translation and / or processing of the request to enable the hardware layer 200 to perform an operation corresponding to a request output from the various applications as is well known to the average expert in the art. Can mean a series of processes.
  • the integrated middleware 100 may be structured step by step again to perform an interfacing function.
  • the integrated middleware 100 according to the embodiment of the present invention includes a base middleware 110 and an upper middleware 120, and the upper middleware 120 includes executable application engines 121-. 1-121-4) and declarative application engines 122-1-122-3.
  • the upper middleware 120 may further include a flash engine 123 according to an embodiment.
  • the flash engine 123 separate software engines may be further added according to characteristics of various applications to meet various needs in a broadcasting environment, and the upper middleware ( 120). That is, various software engines may be added or deleted in the upper middleware 120 according to the development of a broadcasting environment or a user's request.
  • the core technical idea of the present invention is a base for controlling execution, request, use of resources, etc. among a plurality of engines (eg, 121-1 to 123) that can be variously mounted according to a broadcast environment or a user's request.
  • the middleware 110 may be defined separately.
  • a common module for performing a necessary common function regardless of a service and content type or characteristic is included in the base middleware 110, and is used to perform a function specialized in each software engine or a function not executed at the same time. Modules are included separately in separate software engines.
  • the base middleware 110 includes common modules (eg, the application management module 111) that perform functions common to the upper middleware 120, and include the respective engines 121-1 to 123.
  • each of the engines 121-1 to 123 includes a common module (eg, an application management module), but the base middleware 110 includes a kind of manager (eg, application management) for controlling the common module.
  • Module manager to control the priority, execution, and termination of each module's request or output to each module.
  • Controlling the engines here means a series of processes such as mediating loading, terminating, conflicting resource usage after loading, switching licenses, and giving priority to each engine 121-1-123. Can mean. In addition, this may mean a function of each of the engines 121-1 to 123 or a loading, termination, or resource management of an application provided by each of the engines 121-1 to 123. For example, if the loaded Java TV 121-1 executes a Java application, and the loaded HTML / XHTML module 122-1 executes a browser application, which of the respective application UIs is the highest Z-order (i.e., The base middleware 110 may control whether the screen occupies the front of the screen. Alternatively, when a collision occurs between engines in hardware use such as remote controller event reception and tuner, the base middleware may arbitrate or set priority according to a predetermined policy.
  • the base middleware 110 controls the engine as described above, various service policies or control policies are possible.
  • the conventional executable application engine 10 and the declarative application engine 20 are simply merged as described with reference to FIG. 1.
  • the OS may give priority to the engines 10 and 20 according to a predetermined rule.
  • simple control such as the executable application engine 10 may always have priority over specific hardware over the declarative application engine 20, may be inefficient.
  • the base middleware 110 controls the engines according to an embodiment of the present invention
  • more complicated and various controls are possible.
  • Java TV 121-1 is executing applications 1 and 2
  • HTML / XHTML 122-1 is executing applications 3 and 4.
  • the application executed by the Java TV 121-1 according to the rules between the engines has a higher priority than the application executed by the HTML / XHTML 122-1.
  • priority may be controlled on an application basis.
  • the effect is that the control policy can be used.
  • the integrated middleware 100 may interface various applications (not shown) with the hardware layer 200, and the base middleware 110 may interface with upper middleware 120 and the hardware layer 200. Can be.
  • the executable application engines (for example, 121-1 to 121 to 4) refer to software for executing an application by the executable or command program as described above, and the executable application engine (for example, 121).
  • -1 ⁇ 121 ⁇ 4) mainly include JavaTV (121-1), JMF (Java Media Framework, 121-2), HAVi UI (Home Audio / Video Interoperability, as defined in the MHP, GEM, OCAP, ACAP standards). 121-3) or at least one of an application programming interface (API) and a Java virtual machine (JVM) of the Digital Audio Video Council (DAVIC).
  • the present invention is not limited thereto, and may further include various software engines.
  • the declarative application engines are software for executing a declarative application, as described above, and include HyperText Markup Language (HTML) / Extensible Hypertext Markup Language (XHTML) module 122. -1), an ECMA script module 122-3, a cascading style sheet (CSS) module (not shown), or at least one of an AJAX (Asynchronous JavaScript and XML, 122-2) module.
  • the declarative application engines eg, 122-1 to 122-3) may be suitable for executing a browser-based application.
  • the upper middleware 120 may be further provided with a flash engine 123 for executing the flash content as described above.
  • the base middleware 110 may include a common module corresponding to a module that performs a common function of each engine (eg, 121-1 to 123) included in the upper middleware 120.
  • the base middleware 110 may also include a module that performs a basic function (eg, user setting and management, security function, etc.) for driving the digital broadcast receiving device regardless of the upper middleware 120.
  • the common module (eg, 111-118) may be a module itself of each engine 121-123 or a manager for controlling them.
  • the base middleware 110 includes an application management module 111, a media management module 112, a system event management module 113, a user interface module 114, a user management module 115, a hardware control module 116, Alternatively, the resource management module 117 may include at least one. In addition, the base middleware 110 may include a service information module.
  • the application management module 111 may control the application life-cycle of each of the engines 121-1 to 123.
  • the life cycle may mean execution, suspension, or termination of an application.
  • an application may be classified into a channel bound application, a channel unbound application, or a monitor application in both an executable application and a declarative application.
  • the channel-linked application may be provided by utilizing an application information table (AIT) as an application that starts when the application goes to a specific channel and ends when it goes to another channel.
  • AIT application information table
  • XAIT extended application information table
  • the monitor application may mean an application that can control the start and end of other applications.
  • the monitor application is a channel non-interlocking application made according to the purpose of a broadcast service provider.
  • the monitor application may perform upgrade, diagnosis, or error response of the digital broadcast receiver, and a separate monitoring module (not shown) may provide the base middleware (not shown). 110 may be included.
  • the application management module 111 may be included in the base middleware 111 since both the executable application and the declarative application require the control of the above-described life cycle.
  • the media management module 112 may include various broadcast data received through a video on demand (VOD), a personal video recorder (PVR), a tuner (not shown) included in the hardware layer 200 or received through the Internet.
  • VOD video on demand
  • PVR personal video recorder
  • tuner not shown
  • the system event management module 113 may process driving and shutdown of the corresponding engine and engine switching according to service and content types.
  • the user interface module 114 may control the display of a user interface requested from an application and / or handle various keys and / or events received from the application, and the user management module 115 may handle user information, a user. You can save and manage your preferences and viewing history.
  • the hardware control module 116 may perform control and management of components included in the hardware layer 200, and the resource management module 117 may be configured to execute resources requested for each process. It can play a role in efficient allocation and management.
  • a policy module (not shown) capable of inquiring, obtaining, updating, and applying various policy information such as a download policy and an advertisement policy of a broadcasting company, and media storage included in the hardware layer 200 may be used.
  • a storage module (not shown) for storing, deleting, retrieving, and managing various media of the device, and a security module (not shown) for managing a conditional access system (CAS) and / or digital rights management (DRM) of the digital broadcast receiving device. ) May be included in the base middleware 110. All of these modules may be modules that perform common functions of the respective engines of the upper middleware 120 or perform the basic functions of the digital broadcasting receiver.
  • the base middleware 110 may include a module that may be included to provide a special service according to the implementation example.
  • the service information module 118 may perform a function of integrating and providing various media service information input to the digital broadcasting receiver to a user.
  • EPG information may exist in accordance with VOD, PVR, terrestrial broadcasting, IPTV, and the like, and engines for extracting, searching, and selecting EPG information for each medium may be different.
  • the extraction, search, and selection of such EPG information is performed by the service information module 118 included in the base middleware 110, one does not use an EPG for each medium such as VOD, PVR, terrestrial channel, and IPTV.
  • User's convenience is increased by searching and selecting all kinds of contents and services through EPG of, and developers do not develop EPG for each individual service separately and develop media play and processing accordingly.
  • the media corresponding to the selection may be driven in the base middleware 110, thereby minimizing development time and effort.
  • the service information that can be integrated and provided as such may vary as well as EPG information.
  • the integrated middleware 100 may further include a separate interface layer 130 to interface the upper middleware 120 and the base middleware 110.
  • the interface layer 130 may include various request signals (eg, messages, procedure calls, etc.) output from the engines 121 ⁇ 123 included in the upper middleware 120 to the base middleware 110. ) And control the priority of the request signal and / or convert or process the request signal.
  • various controls for selectively and simultaneously outputting a request result corresponding to the request signal to the respective engines 121 to 123 may be performed.
  • the interface layer 130 may perform a procedure call handler. It may include at least one of a handler or a message queue.
  • the procedure call handler may handle a local procedure call (LPC) and / or a remote procedure call (RPC).
  • the message queue may control the priority of request signals and / or request results received sequentially or simultaneously.
  • a predetermined control module (not shown) of the base middleware 110 may perform a function of the interface layer 130.
  • a service provider may be provided with a choice so as to select and service the most suitable type and service method according to the nature of the content.
  • a service provider (operator) classifies the nature of the content and can use a flash application for a content that requires a colorful graphic UI, and the web interworking functions such as content display, real-time content display of a server, and TV-Banking If this is necessary, browser-based applications (ie declarative applications) can be used.
  • standard APIs ie, executable applications
  • ACAP can be used for video-linked data contents, high-performance games, and terrestrial contents.
  • the integrated middleware 100 may support various types of contents, but may use only a minimum run time memory. That is, it resides in the memory is at least a part of the base middleware 110, because each engine for driving different types of content can be loaded and executed in the memory only when the actual type of content is actually driven. For example, even if the terrestrial broadcast is being displayed, if the ACAP application is not started (or terminated by the user), the executable application engine 121 is not loaded, and the browser engine is to display the embedded HTML EPG. Can be loaded and driven. By using this method, if only the memory capable of driving only the base middleware 110 and one engine can be secured, various types of contents can be serviced.
  • each engine is not driven in advance but may be driven at a necessary time.
  • the integrated middleware 100 generally takes a long time to operate, such as an AV decoder, an on screen demand (OSD), a demux, a filter, a tuner (
  • the base middleware 110 which resides in memory, is responsible for resource control such as hardware such as a tuner) and software initialization related thereto, and even if the software engines included in the upper middleware 120 are switched, this operation can be performed.
  • the engine switching time can be further reduced by unloading the unused engine among the preloaded engines.
  • various types of declarative applications, executable applications, and / or flash may simultaneously drive content, and any combination of the contents within the system resource limits may be used.
  • Content organization may also be possible. For example, when a viewer uses a character introduction application (executive application) while watching a drama broadcast from the terrestrial wave, and if he / she is curious about the latest article about the actor, the viewer searches the web through a browser (declarative application), and then the drama application ( It is also possible to return to the executable application. This is because the base middleware 110 can manage and control information such as the state of engines existing in the upper middleware 120, thereby enabling various and complex application combinations.
  • the present invention can be used in a digital broadcast receiver.

Abstract

Disclosed is an integrated middleware-type digital broadcast receiving apparatus. The integrated middleware-type digital broadcast receiving apparatus includes a hardware layer including digital broadcast receiver hardware and an operating system (OS) for driving the hardware, upper middleware including a declarative application engine for executing a declarative application and an executive application engine for executing an executive application, and base middleware for interfacing the upper middleware and the hardware layer. The base middleware controls the engines of the upper middleware. The base middleware includes at least one common module relevant to the common function performed in the engines of the upper middleware.

Description

통합 미들웨어형 디지털방송 수신장치Integrated middleware type digital broadcasting receiver
본 발명의 실시 예는 디지털 방송 수신 장치에 관한 것으로, 보다 상세하게는 디지털 방송용 수신 장치가 다양한 컨텐츠 및 서비스를 제공하기 위해 포함하는 미들웨어의 구성에 관한 것이다.An embodiment of the present invention relates to a digital broadcast receiver, and more particularly, to a configuration of middleware included in a digital broadcast receiver to provide various contents and services.
통신망을 기반으로 한 IPTV는 기존의 방송망과 달리, 미디어를 방송 형식으로 소비자에게 전달하기 위해서는 많은 제약을 안고 있다. 특히, 방송의 사업 환경이 현실적으로 수신장치(receiver, 또는 set-top box)라는 것이 필요하고, 이 수신장치는 다양한 하드웨어/소프트웨어적인 기술적 지원이 필요하다.Unlike conventional broadcasting networks, IPTV based communication networks have many limitations in delivering media to consumers in broadcasting format. In particular, it is necessary for the business environment of broadcasting to be a receiver or set-top box in reality, and the receiver needs various hardware / software technical support.
미들웨어(Middleware)라 함은, 일반적으로는 여러 운영 체제(예컨대, 유닉스, 윈도, z/OS 등)와 응용 프로그램들(예컨대, 워드프로세서) 사이에 위치하거나 응용 프로그램들 사이에 존재하여 서로간의 인터페이싱 역할을 수행하는 소프트웨어를 말한다.Middleware is generally located between several operating systems (e.g., Unix, Windows, z / OS, etc.) and applications (e.g., word processors) or between applications and interfacing with each other. Software that plays a role.
한편, 방송 환경에서 수신 장치(예컨대, 셋탑 박스)에 채용되는 미들웨어는 다양한 하드웨어/소프트웨어의 기술적 환경을 일괄적으로 보이기 위한 소프트웨어 구동 환경을 의미할 수 있다. 표준형 미들웨어로는 유럽에서 개발/표준화된 MHP (Multimedia Home Platform)가 있으며, 북미 지역 케이블 사업자가 지정한 OpenCable-OCAP과 북미지역 지상파 사업자가 지정한 ATSC-ACAP 등이 존재한다. 참고로, 국내에서는 위성은 DVB-MHP, 케이블은 OCAP, 지상파는 ACAP을 채용하는 것을 골자로한 정보통신부 표준안이 제정되어 운용이 되고 있다.Meanwhile, middleware employed in a reception device (eg, set-top box) in a broadcasting environment may mean a software driving environment for collectively displaying a technical environment of various hardware / software. The standard middleware includes MHP (Multimedia Home Platform) developed / standardized in Europe, and OpenCable-OCAP designated by North American cable operator and ATSC-ACAP designated by North American terrestrial carrier. For reference, the Ministry of Information and Communication has been enacted and operated to adopt DVB-MHP for satellite, OCAP for cable, and ACAP for terrestrial wave.
이러한 디지털 방송은 양방향성을 가질 수 있는 데이터 방송 서비스를 제공할 수 있다. 양방향성을 통해 디지털 방송 사업자는 사용자와의 인터액션(interaction)이 필요한 복잡하고 다양한 서비스를 제공할 수 있다. 즉, 양방향성을 갖는 디지털 방송은 주문형 서비스(on-demand service)를 비롯하여 푸쉬형 서비스(push service) 또는 즉각적인 반응을 요구하는 클릭형 서비스(click based service) 등을 각각 또는 적어도 하나 이상 제공할 필요가 있다.Such digital broadcasting may provide a data broadcasting service which may have bidirectionality. Interactiveity allows digital broadcasters to provide complex and diverse services that require interaction with users. In other words, bidirectional digital broadcasting needs to provide each or at least one of an on-demand service, a push service or a click based service requiring immediate response. have.
이러한 양방향성은 MHP 표준을 근간으로 하는 GEM(globally- executable MHP), OCAP, ACAP 등에서 자바(Java) 기술에 기반한 소프트웨어 가상 머신의 형태로 발달해왔다. 이처럼 자바 가상 머신(Java Virtual Machine)에 의해 구동되는 프로그램과 같이 실행형(또는 명령형) 프로그램(procedural program)에 의해 제공되는 어플리케이션을 본 명세서에서는 실행형 어플리케이션이라 칭하도록 한다. 실행형 어플리케이션은 주로 고기능의 게임, 비디오 연동형 어플리케이션, 또는 방송용 어플리케이션 등에 적합하다.This bidirectionality has evolved in the form of software virtual machines based on Java technology from globally-executable MHP (GEM), OCAP, and ACAP based on the MHP standard. As described above, an application provided by an executable (or imperative) program such as a program driven by a Java virtual machine is referred to as an executable application. Executable applications are mainly suitable for high-performance games, video linked applications, or broadcast applications.
한편, 디지털방송에서는 상술한 다양한 서비스요구에 부응하기 위해 서비스 모델들의 각각의 특성 또는 개발환경에 따라 실행형 어플리케이션 뿐만 아니라 선언형 프로그램(declarative program)에 의해 구현되는 선언형 어플리케이션을 요구하기도 한다. 예컨대, 브라우저 기반의 다양한 어플리케이션들이 이에 해당할 수 있다. 선언형 프로그램이라 함은, 실행형(명령형) 프로그램과 같이 어떤 방법으로 문제를 해결하는지를 나타내기보다 무엇과 같은지를 설명하는 경우를 나타내는 방법으로 문제를 해결하는 프로그램의 종류를 의미할 수 있다. 예를 들어, 웹 페이지는 선언형인데 웹페이지는 제목, 글꼴, 본문, 그림과 같이 "무엇"이 나타나야하는지를 묘사하는 것이지 "어떤 방법으로" 컴퓨터 화면에 페이지를 나타내야 하는지를 묘사하는 것이 아니기 때문이다.On the other hand, digital broadcasting may require declarative applications implemented by declarative programs as well as executable applications according to the characteristics or development environments of the service models in order to meet the various service requirements described above. For example, various browser-based applications may correspond to this. A declarative program may refer to a type of program that solves a problem in a manner that describes what it is like, rather than how to solve the problem, such as an executable program. For example, a web page is a declarative inde web page because not to describe how indicate the pages title, fonts, texts, as shown in the figure, "what" that appears should if geotyiji depicting "in any way" computer screen to be.
최근의 양방향 방송에서는 실행형 어플리케이션 뿐만 아니라 선언형 어플리케이션도 다양하게 제공될 필요가 있다. 이를 위해서는, 선언형 어플리케이션에 적합한 미들웨어가 별도로 필요하거나 종래의 미들웨어를 적응적으로(adaptively) 변경할 필요가 있다. 하지만, 현재까지는 종래의 실행형 어플리케이션 위주로 발전해온 미들웨어에 선언형 어플리케이션을 위한 미들웨어를 단순히 합치는데 그쳤다.In the recent two-way broadcast, not only executable applications but also declarative applications need to be provided in various ways. To this end, there is a need for a separate middleware suitable for declarative applications or to adapt the conventional middleware adaptively. However, until now, we have simply merged middleware for declarative applications into middleware that has developed around conventional executable applications.
도 1은 종래의 디지털방송 수신장치의 구조를 개략적으로 나타낸다.1 schematically shows a structure of a conventional digital broadcasting receiver.
도 1을 참조하면, 종래의 디지털 방송 수신 장치는 상기 디지털 방송 수신 장치를 구성하는 하드웨어(예컨대, AV 처리장치, 네트워크 장치, 튜너, 저장장치 등) 및 상기 하드웨어를 구동하기 위한 OS(Operating Sytem)를 포함하는 하드웨어 레이어(30)와 다양한 어플리케이션(미도시)들과 상기 하드웨어 및/또는 상기 OS를 인터페이싱(interfacing)하는 미들웨어(1)를 포함한다.Referring to FIG. 1, a conventional digital broadcast receiver includes hardware (eg, an AV processor, a network device, a tuner, a storage device, etc.) constituting the digital broadcast receiver and an operating system (OS) for driving the hardware. The hardware layer 30 includes a plurality of applications (not shown) and a middleware (1) for interfacing the hardware and / or the OS.
종래의 상기 미들웨어(1)는 실행형 어플리케이션 엔진(10)만을 포함하거나, 실행형 어플리케이션과 선언형 어플리케이션을 실행시키기 위한 실행형 어플리케이션 엔진(10)과 선언형 어플리케이션 엔진(20)을 각각 포함하더라도 단순히 모아놓은 것에 지나지 않았다. 따라서, 상기 실행형 어플리케이션 엔진(10)과 상기 선언형 어플리케이션 엔진(20)이 개별적으로 기능을 수행하므로 각각의 OS 또는 리소스(resource)에 대한 요청(request)에 충돌이 있는 경우에 상기 엔진들(10과 20)을 제어하기가 힘들었다. 또한, 상기 엔진들(10과 20)의 리소스 사용을 중재하거나 전환하는 등의 제어도 최적화된 효율로 수행하기가 힘든 점이 있다.The conventional middleware 1 includes only the executable application engine 10 or the executable application engine 10 and the declared application engine 20 for executing the executable application and the declarative application, respectively. It was just a collection. Therefore, since the executable application engine 10 and the declarative application engine 20 perform functions separately, the engines (if there is a conflict in a request for each OS or resource). 10 and 20) were difficult to control. In addition, it is difficult to perform control such as mediating or switching resource usage of the engines 10 and 20 with optimized efficiency.
그리고 각각의 엔진들(10과 20)은 별개의 동작을 수행하므로 상기 엔진들(10과 20)이 활성화 또는 각각의 기능을 수행하면서 얻을 수 있는 유용한 정보들을 통합하기가 쉽지 않은 단점이 있다. 예컨대 실행형 어플리케이션 엔진이 로딩되었을때 사용 또는 획득한 소정의 정보1과 선언형 어플리케이션 엔진이 로딩 되었을 때 사용 또는 획득한 소정의 정보 2가 존재하는 경우, 정보 1과 정보 2를 통합하거나 정보 1 및 정보 2에 기초하여 새로운 유용한 정보를 생성하기가 어려운 단점이 있었다.In addition, since each of the engines 10 and 20 performs separate operations, it is difficult to integrate useful information that can be obtained while the engines 10 and 20 are activated or performing their respective functions. For example, if there is predetermined information 1 used or obtained when the executable application engine is loaded and predetermined information 2 used or obtained when the declarative application engine is loaded, the information 1 and the information 2 are integrated or the information 1 and It was difficult to generate new useful information based on the information 2.
또한, 상기 실행형 어플리케이션 엔진(10)과 상기 선언형 어플리케이션 엔진(20)에 공통적으로 필요한 기능을 수행하는 코드 및/또는 모듈이 중복적으로 포함된다. 상기 디지털방송 수신장치의 리소스(resource)가 필요 이상으로 낭비되며, 사용자가 실행형 어플리케이션과 선언형 어플리케이션을 반복적으로 사용하는 경우 엔진 간의 전환 시간 즉, 각 엔진을 메모리에 로딩(loading)하는 시간이 길어지는 등의 단점이 있다.In addition, code and / or modules that perform functions commonly required by the executable application engine 10 and the declarative application engine 20 may be overlapped. Resources of the digital broadcasting receiver are wasted more than necessary, and when a user repeatedly uses an executable application and a declarative application, switching time between engines, that is, loading time of each engine into a memory There are disadvantages such as lengthening.
따라서, 이러한 단점들을 극복할 수 있는 단계적으로 구조화된 통합형 미들웨어를 제공할 수 있는 기술적 사상이 요구된다.Therefore, a technical idea that can provide a step-by-step integrated middleware that can overcome these disadvantages is required.
본 발명이 이루고자 하는 기술적인 과제는 디지털 방송 수신장치에서 다양한 어플리케이션을 효율적으로 제공할 수 있는 플랫폼을 제공함으로써 콘텐츠 및/또는 서비스 제공자는 다양한 형태 및 특성을 갖는 콘텐츠 및/또는 서비스를 선택하여 제공할 수 있는 디지털방송 수신장치를 제공하는 것이다.The technical problem to be achieved by the present invention is to provide a platform that can efficiently provide a variety of applications in the digital broadcast receiver content and / or service providers to select and provide content and / or services having a variety of forms and characteristics It is to provide a digital broadcasting receiver capable of.
또한, 여러 엔진들 간의 요청 및 리소스의 사용 등에 대한 충돌을 중재하고, 각각의 엔진들 간의 로딩 및/또는 종료의 제어, 로딩 된 엔진 또는 어플리케이션의 사용권의 전환 또는 우선권의 부여 등을 총괄적으로 담당할 수 있는 미들웨어 계층을 별도로 정의함으로써 최적화된 효율로 디지털 방송 수신장치에 탑재되는 엔진들을 제어할 수 있는 효과가 있다.It also mediates conflicts over requests and resource usage among multiple engines, and is responsible for controlling loading and / or termination between engines, switching licenses or assigning priorities for loaded engines or applications. By separately defining a middleware layer capable of controlling the engines mounted on the digital broadcasting receiver with optimized efficiency.
또한, 상술한 엔진들의 제어기능뿐만 아니라 각각의 어플리케이션 엔진에 공통적으로 사용되는 기반 기능을 베이스 미들웨어라는 별도의 구성요소로 정의하여, 상기 베이스 미들웨어를 메모리에 로딩한 상태로 상기 디지털방송 수신장치를 구동함으로써 메모리 사용을 줄이고, 각 어플리케이션 엔진 간의 전환 시간을 줄일 수 있는 디지털방송 수신장치를 제공하는 것이다.In addition, the base function commonly used in each application engine as well as the control functions of the above-described engines are defined as a separate component called base middleware, and the digital broadcasting receiver is driven with the base middleware loaded into a memory. By reducing the use of memory, it is to provide a digital broadcast receiver that can reduce the switching time between each application engine.
또한, 특정 서비스를 수행하기 위한 모듈을 베이스 미들웨어에서 제공/관리하여, 각각의 어플리케이션 및/또는 매체를 통해 얻을 수 있는 정보를 통합하거나 통합된 정보에 기초하여 새로운 정보를 사용자에게 제공할 수 있는 디지털방송 수신장치를 제공하는 것이다.In addition, by providing / managing a module for performing a specific service in the base middleware, it is possible to integrate the information obtained through each application and / or media, or to provide new information to the user based on the integrated information It is to provide a broadcast receiving device.
본 발명에 따른 디지털방송 수신장치는 실행형 어플리케이션 뿐만 아니라 선언형 어플리케이션도 단계적으로 구조화된 미들웨어를 통해 지원함으로써 콘텐츠 및/또는 서비스 제공자는 다양한 형태 및 특성을 갖는 콘텐츠 및/또는 서비스를 선택하여 제공할 수 있으며, 이러한 다양한 형태 및 특성을 갖는 콘텐츠 및/또는 서비스를 동시에 실행하는 효율적인 효과가 있다. The digital broadcasting receiver according to the present invention supports not only an executable application but also a declarative application through stepwise structured middleware so that a content and / or service provider can select and provide content and / or services having various forms and characteristics. In addition, there is an efficient effect of simultaneously executing contents and / or services having these various forms and characteristics.
또한, 각각의 어플리케이션 엔진에 공통적으로 사용되는 기반 기능을 수행하는 베이스 미들웨어를 별도로 구조화하여 상기 베이스 미들웨어를 메모리에 로딩한 상태로 상기 디지털방송 수신장치를 구동할 수 있다. 따라서, 상기 베이스 미들웨어와 하나의 엔진만을 구동할 수 있는 메모리만 있으면, 필요할 때만 각각의 엔진을 로딩하므로 최소한의 메모리를 이용하여 상기 디지털방송 수신장치를 구동할 수 있다. 설령, 두 개의 엔진이 모두 로딩 되는 경우라도 종래의 미들웨어에서는 각각의 엔진에 공통되는 코드 또는 모듈이 존재하는 반면, 본 발명에서는 중복적으로 로딩 되는 부분이 존재하지 않으므로 필요한 메모리의 절감효과가 있다. In addition, the digital broadcasting receiver may be driven in a state in which the base middleware is separately structured to perform the base function commonly used in each application engine, and the base middleware is loaded into the memory. Therefore, if there is only a memory capable of driving only the base middleware and one engine, each engine is loaded only when necessary, so that the digital broadcasting receiver can be driven using the minimum memory. For example, even when both engines are loaded, in the conventional middleware, codes or modules common to the respective engines exist, whereas in the present invention, there is no overlapping part, thereby reducing the required memory.
또한, 특정 서비스(예컨대, 통합 EPG 제공 서비스 또는 EPG 응용 서비스)를 수행하기 위한 모듈을 베이스 미들웨어에 포함시키면, 각각의 서로 다른 어플리케이션 엔진 및/또는 매체를 통해 얻을 수 있는 정보를 베이스 미들웨어에 포함된 모듈에서 가공/통합하여 통합된 정보를 사용자에게 제공하거나, 통합된 정보에 기초하여 새로운 유용한 정보를 생성하여 사용자에게 제공함으로써 사용자는 풍부한 정보 및/또는 서비스를 편리하게 제공받을 수 있는 효과가 있다.In addition, if the base middleware includes a module for performing a specific service (eg, an integrated EPG providing service or an EPG application service), information obtained through different application engines and / or media may be included in the base middleware. By providing the integrated information processed or integrated in the module to the user or by generating new useful information based on the integrated information to the user, the user can conveniently receive abundant information and / or services.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings cited in the detailed description of the invention, a brief description of each drawing is provided.
도 1은 종래의 디지털방송 수신장치의 구조를 개략적으로 나타낸다.1 schematically shows a structure of a conventional digital broadcasting receiver.
도 2는 본 발명의 실시 예에 따른 디지털방송 수신장치의 통합 미들웨어 구조를 설명하기 위한 도면이다.2 is a diagram illustrating an integrated middleware structure of a digital broadcasting receiver according to an embodiment of the present invention.
본 발명의 기술적 과제를 달성하기 위한 통합 미들웨어형 디지털 방송 수신 장치는 디지털 방송 수신기의 하드웨어 및 상기 하드웨어를 구동하는 OS(Operating System)을 포함하는 하드웨어 레이어(layer), 선언형 어플리케이션을 실행시키기 위한 선언형 어플리케이션 엔진 및 실행형 어플리케션을 실행시키기 위한 실행형 어플리케이션 엔진을 포함하는 상위 미들웨어, 및 상기 상위 미들웨어와 상기 하드웨어 레이어를 인터페이싱(interfacing)하기 위한 베이스 미들웨어를 포함하며, 상기 베이스 미들웨어는 상기 상위 미들웨어에 포함되는 엔진들을 제어한다.An integrated middleware-type digital broadcast receiver for achieving the technical problem of the present invention includes a hardware layer including a hardware of a digital broadcast receiver and an operating system (OS) for driving the hardware, and a declaration for executing a declarative application. Upper middleware including an executable application engine and an executable application engine for executing the executable application, and base middleware for interfacing the upper middleware and the hardware layer, wherein the base middleware is the upper middleware. Control engines included in
상기 통합 미들웨어형 디지털 방송 수신 장치는 상기 상위 미들웨어와 상기 베이스 미들웨어 사이의 요청 신호 및 상기 요청 신호에 상응하는 요청 결과를 제어하기 위한 인터페이스 레이어를 더 포함할 수 있다.The integrated middleware type digital broadcast reception device may further include an interface layer for controlling a request signal between the upper middleware and the base middleware and a request result corresponding to the request signal.
상기 선언형 어플리케이션 엔진은 HTML(HyperText Markup Language) 및 XHTML(Extensible Hypertext Markup Language) 모듈, ECMA 스크립트 모듈, CSS (Cascading Style Sheet) 모듈, 또는 AJAX(Asynchronous JavaScript and XML) 모듈 중 적어도 하나를 포함할 수 있다.The declarative application engine may include at least one of a HyperText Markup Language (HTML) and Extensible Hypertext Markup Language (XHTML) module, an ECMA script module, a Cascading Style Sheet (CSS) module, or an Asynchronous JavaScript and XML (AJAX) module. have.
또한, 상기 실행형 어플리케이션 엔진은 JavaTV, JMF(Java Media Framework), HAVi UI(Home Audio / Video Interoperability), 또는 DAVIC(Digital Audio Video Council) 중 적어도 하나의 API(Application programming interface) 및 JVM(Java Virtual Machine)을 포함할 수 있다.The executable application engine may include at least one of an application programming interface (API) and a Java virtual machine (JavaTV, Java Media Framework (JMF), Home Audio / Video Interoperability (HAVi UI), or Digital Audio Video Council (DAVIC)). Machine).
상기 베이스 미들웨어는 어플리케이션 관리 모듈, 미디어 관리 모듈, 시스템 이벤트 관리 모듈, 유저인터페이스 모듈, 사용자 관리 모듈, 하드웨어 제어 모듈, 또는 리소스 관리 모듈 중 적어도 하나를 포함할 수 있으며, 매체별 통합 서비스 정보를 제공하기 위한 서비스 정보 모듈을 포함할 수도 있다.The base middleware may include at least one of an application management module, a media management module, a system event management module, a user interface module, a user management module, a hardware control module, or a resource management module, and provide integrated service information for each medium. It may also include a service information module for.
상기 인터페이스 레이어는 프로시져 콜 핸들러(procedure call handler) 또는 메시지 큐(Message queue) 중 적어도 하나를 포함할 수 있다. 상기 상위 미들웨어는 플래시(flash) 콘텐츠를 실행시키기 위한 플래시 엔진을 더 포함할 수 있다.The interface layer may include at least one of a procedure call handler or a message queue. The upper middleware may further include a flash engine for executing flash content.
상기 기술적 과제를 달성하기 위한 통합 미들웨어형 디지털 방송 수신 장치는 디지털 방송 수신기의 하드웨어 및 상기 하드웨어를 구동하는 OS(Operating System)을 포함하는 하드웨어 레이어(layer), 선언형 어플리케이션을 실행시키기 위한 선언형 어플리케이션 엔진 및 실행형 어플리케션을 실행시키기 위한 실행형 어플리케이션 엔진을 포함하는 상위 미들웨어, 및 상기 상위 미들웨어와 상기 하드웨어 레이어를 인터페이싱(interfacing)하기 위한 베이스 미들웨어를 포함하며, 상기 베이스 미들웨어는 상기 선언형 어플리케이션 엔진과 상기 실행형 어플리케이션 엔진에서 수행되는 공통 기능에 대응되는 적어도 하나의 공통 모듈을 포함한다.In order to achieve the above technical problem, an integrated middleware-type digital broadcast receiver includes a hardware layer including a hardware of a digital broadcast receiver and an operating system (OS) for driving the hardware, and a declarative application for executing a declarative application. Upper middleware comprising an engine and a executable application engine for executing the executable application, and base middleware for interfacing the upper middleware and the hardware layer, wherein the base middleware is the declarative application engine. And at least one common module corresponding to a common function performed by the executable application engine.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the accompanying drawings.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. In addition, in the present specification, when one component 'transmits' data to another component, the component may directly transmit the data to the other component, or through at least one other component. Means that the data may be transmitted to the other component.
반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.On the contrary, when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without passing through the other component.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.
도 2는 본 발명의 실시 예에 따른 디지털 방송 수신 장치의 통합 미들웨어 구조를 설명하기 위한 도면이다.2 is a diagram illustrating an integrated middleware structure of a digital broadcast receiving device according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 실시 예에 따른 디지털 방송 수신 장치는 통합 미들웨어(100) 및 하드웨어 레이어(200)를 포함한다. 상기 통합 미들웨어(100)는 실행형 어플리케이션 엔진들(예컨대, JavaTV(121-1), JMF(121-2), HAVi UI(121-3), 또는 DAVIC(121-4) 등)과 선언형 어플리케이션 엔진들(예컨대, HTML/XHTML(122-1), AJAX(122-2), 또는 ECMA Script(122-3) 등))을 포함하는 상위 미들웨어(120) 및 베이스 미들웨어(110)를 포함한다. 물론, 상기 상위 미들웨어(120)는 플래시 엔진(123)을 더 포함할 수 있으며, 구현 예 및 디지털 방송 수신 장치의 요구에 따라 다양한 엔진들이 더 포함될 수 있다. 또한, 상기 통합 미들웨어(100)는 인터페이스 레이어(130)를 더 포함할 수 있다.Referring to FIG. 2, the apparatus for receiving digital broadcasts according to the embodiment of the present invention includes an integrated middleware 100 and a hardware layer 200. The integrated middleware 100 includes executable application engines (eg, JavaTV 121-1, JMF 121-2, HAVi UI 121-3, DAVIC 121-4, etc.) and declarative applications. Top middleware 120 and base middleware 110, including engines (eg, HTML / XHTML 122-1, AJAX 122-2, or ECMA Script 122-3, etc.). Of course, the upper middleware 120 may further include a flash engine 123, and various engines may be further included according to the implementation example and the requirements of the digital broadcast receiving apparatus. In addition, the integrated middleware 100 may further include an interface layer 130.
상기 디지털 방송 수신 장치의 각각의 구성 요소들은 기능 및 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다.Each component of the digital broadcast reception apparatus is separately shown in the drawings to indicate that it may be functionally and logically separated, and does not necessarily mean that it is physically a separate component or implemented as a separate code.
본 명세서에서 레이어라 함은, 본 발명의 실시 예에 따른 디지털 방송 수신 장치의 논리적으로 유사한 구성 요소의 집합을 의미하는 것이며 구성 요소의 물리적 위치 또는 연결 관계를 의미하는 것이 아니다.In the present specification, the layer refers to a set of logically similar elements of the digital broadcast reception device according to an embodiment of the present invention, and does not mean a physical location or a connection relationship of the elements.
또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아니다.In addition, the term "module" in the present specification may mean a functional and structural combination of hardware for performing the technical idea of the present invention and software for driving the hardware. For example, the module may mean a logical unit of a predetermined code and a hardware resource for performing the predetermined code, and does not necessarily mean a physically connected code or a kind of hardware.
상기 통합 미들웨어(100)는 상기 하드웨어 레이어(200)와 상기 디지털 방송 수신 장치에서 제공되는 다양한 어플리케이션(미도시)을 인터페이싱(interfacing)한다. 인터페이싱이라 함은 본 발명의 기술분야의 평균적 전문가에게 널리 알려져 있듯이 상기 다양한 어플리케이션으로부터 출력되는 요청에 상응하는 동작을 상기 하드웨어 레이어(200)가 수행할 수 있게 하기 위한 상기 요청의 변환 및/또는 프로세싱 등의 일련의 과정을 의미할 수 있다.The integrated middleware 100 interfaces with the hardware layer 200 and various applications (not shown) provided by the digital broadcast receiver. Interfacing refers to the translation and / or processing of the request to enable the hardware layer 200 to perform an operation corresponding to a request output from the various applications as is well known to the average expert in the art. Can mean a series of processes.
한편, 상기 통합 미들웨어(100)는 다시 단계적으로 구조화되어 인터페이싱 기능을 수행할 수 있다. 도 2에 도시된 바와 같이 본 발명의 실시 예에 따른 통합 미들웨어(100)는 베이스 미들웨어(110)와 상위 미들웨어(120)를 포함하며, 상기 상위 미들웨어(120)는 실행형 어플리케이션 엔진들(121-1~121-4) 및 선언형 어플리케이션 엔진들(122-1~122-3)을 포함할 수 있다. 한편, 상기 상위 미들웨어(120)에는 구현 예에 따라 플래시(Flash) 엔진(123) 등을 더 구비할 수 있다. 물론, 플래시 엔진(123)뿐만 아니라, 방송 환경에서의 다양한 요구에 부합하기 위한 다양한 어플리케이션의 특성에 따라 별도의 소프트웨어 엔진들이 더 부가될 수 있으며, 또한 부가되는 소프트웨어 엔진들의 특성에 따라 상기 상위 미들웨어(120)에 포함될 수도 있다. 즉, 상위 미들웨어(120)에는 방송 환경의 발전 또는 사용자의 요구에 따라 다양한 소프트웨어 엔진이 추가 또는 삭제될 수 있다.Meanwhile, the integrated middleware 100 may be structured step by step again to perform an interfacing function. As shown in FIG. 2, the integrated middleware 100 according to the embodiment of the present invention includes a base middleware 110 and an upper middleware 120, and the upper middleware 120 includes executable application engines 121-. 1-121-4) and declarative application engines 122-1-122-3. The upper middleware 120 may further include a flash engine 123 according to an embodiment. Of course, in addition to the flash engine 123, separate software engines may be further added according to characteristics of various applications to meet various needs in a broadcasting environment, and the upper middleware ( 120). That is, various software engines may be added or deleted in the upper middleware 120 according to the development of a broadcasting environment or a user's request.
결국, 본 발명의 핵심 기술적 사상은 방송 환경 또는 사용자의 요구에 따라 다양하게 탑재될 수 있는 다수의 엔진들(예컨대, 121-1~123) 서로 간의 실행, 요청, 자원의 사용 등을 제어하는 베이스 미들웨어(110)를 별도로 정의할 수 있다는 것이다. 또한, 서비스 및 콘텐츠 유형 또는 특성에 관계없이 반드시 필요한 공통 기능을 수행하기 위한 공통 모듈은 상기 베이스 미들웨어(110)에 포함되고, 각각의 소프트웨어 엔진에 특성화된 기능 또는 동시에 실행되지 않는 기능들을 수행하기 위한 모듈들은 독립된 소프트웨어 엔진에 별도로 포함되는 것이다. 구현 예에 따라 상기 베이스 미들웨어(110)는 상기 상위 미들웨어(120)에 공통되는 기능을 수행하는 공통 모듈들(예컨대, 어플리케이션 관리 모듈(111)) 자체를 포함하되 각각의 엔진(121-1~123)에는 대응되는 모듈(예컨대, 어플리케이션 관리 모듈(111))이 포함되지 않을 수 있다. 또는, 각각의 엔진(121-1~123)이 공통되는 모듈(예컨대, 어플리케이션 관리 모듈)을 각각 포함하되 상기 베이스 미들웨어(110)에는 공통되는 모듈을 제어하기 위한 일종의 매니저(manager, 예컨대, 어플리케이션 관리 모듈들의 매니저)를 포함하여 각 모듈들의 요청 또는 각 모듈로의 출력에 대한 우선권, 실행, 종료 등을 제어할 수도 있다.After all, the core technical idea of the present invention is a base for controlling execution, request, use of resources, etc. among a plurality of engines (eg, 121-1 to 123) that can be variously mounted according to a broadcast environment or a user's request. The middleware 110 may be defined separately. In addition, a common module for performing a necessary common function regardless of a service and content type or characteristic is included in the base middleware 110, and is used to perform a function specialized in each software engine or a function not executed at the same time. Modules are included separately in separate software engines. According to an implementation example, the base middleware 110 includes common modules (eg, the application management module 111) that perform functions common to the upper middleware 120, and include the respective engines 121-1 to 123. ) May not include a corresponding module (eg, the application management module 111). Alternatively, each of the engines 121-1 to 123 includes a common module (eg, an application management module), but the base middleware 110 includes a kind of manager (eg, application management) for controlling the common module. Module manager) to control the priority, execution, and termination of each module's request or output to each module.
여기서 엔진들을 제어한다고 함은, 각 엔진(121-1~123)의 로딩(loading), 종료, 또는 로딩 된 후의 리소스 사용의 충돌을 중재하거나 사용권을 전환하고 우선권을 부여하는 등의 일련의 과정을 의미할 수 있다. 또한, 엔진들(121-1~123) 각각이 갖고 있는 기능 또는 엔진들(121-1~123) 각각이 제공하는 어플리케이션의 로딩, 종료, 또는 리소스의 관리 등을 의미할 수도 있다. 예컨대, 로딩 된 Java TV(121-1)가 Java 어플리케이션을 실행시키고, 로딩 된 HTML/XHTML 모듈(122-1)이 브라우저 어플리케이션을 실행시키는 경우, 각각의 어플리케이션 UI중 어떤 것이 최상위 Z-order(즉, 화면에서 앞에 디스플레이되는지)를 차지하는지를 상기 베이스 미들웨어(110)가 제어할 수 있다. 또는 리모컨 이벤트 수신, 튜너 등의 하드웨어 사용에서 엔진들 간에 충돌이 발생할 경우에 베이스 미들웨어는 소정의 정책에 따라 이를 중재하거나 우선권을 설정할 수 있다.Controlling the engines here means a series of processes such as mediating loading, terminating, conflicting resource usage after loading, switching licenses, and giving priority to each engine 121-1-123. Can mean. In addition, this may mean a function of each of the engines 121-1 to 123 or a loading, termination, or resource management of an application provided by each of the engines 121-1 to 123. For example, if the loaded Java TV 121-1 executes a Java application, and the loaded HTML / XHTML module 122-1 executes a browser application, which of the respective application UIs is the highest Z-order (i.e., The base middleware 110 may control whether the screen occupies the front of the screen. Alternatively, when a collision occurs between engines in hardware use such as remote controller event reception and tuner, the base middleware may arbitrate or set priority according to a predetermined policy.
특히, 이처럼 베이스 미들웨어(110)가 엔진을 제어하면 다양한 서비스 정책 또는 제어 정책이 가능해지는 장점이 있다. 예컨대, 도 1에서 설명한 바와 같이 종래의 실행형 어플리케이션 엔진(10)과 선언형 어플리케이션 엔진(20)이 단순히 합쳐져 있는 경우라고 가정하자. 그러면, 상기 엔진들(10, 20) 단위에서는 소정의 규칙에 따라 OS가 우선권을 줄 수도 있다. 예컨대, 실행형 어플리케이션 엔진(10)이 선언형 어플리케이션 엔진(20)보다 항상 특정 하드웨어에 우선권을 가질 수 있는 등의 단순한 제어는 비효율적으로나마 가능할지도 모른다.In particular, when the base middleware 110 controls the engine as described above, various service policies or control policies are possible. For example, assume that the conventional executable application engine 10 and the declarative application engine 20 are simply merged as described with reference to FIG. 1. Then, the OS may give priority to the engines 10 and 20 according to a predetermined rule. For example, simple control, such as the executable application engine 10 may always have priority over specific hardware over the declarative application engine 20, may be inefficient.
하지만, 본 발명의 실시 예에 따라 베이스 미들웨어(110)가 엔진들을 제어하면, 보다 복잡하고 다양한 제어가 가능해진다. 예컨대, Java TV(121-1)가 애플리케이션 1 및 2를 실행하고 있고, HTML/XHTML(122-1)이 어플리케이션 3 및 4를 실행하고 있다고 가정하자. 그러면 종래에는 엔진들을 제어하는 별도의 구성요소가 없으므로 엔진들 간의 규칙에 따라 Java TV(121-1)가 실행하는 어플리케이션이 HTML/XHTML(122-1)이 실행하는 어플리케이션 보다 우선권이 높다는 식의 단순한 해결은 가능할지도 모른다. 하지만, 본 발명의 실시 예에 따르면 베이스 미들웨어(110)가 전체 엔진을 제어하므로, 어플리케이션 단위로 우선권을 제어할 수도 있다. 즉, Java TV(121-1)의 어플리케이션 1 > HTML/XHTML(122-1)의 어플리케이션 3 > Java TV(121-1)의 어플리케이션 2 > HTML/XHTML(122-1)의 어플리케이션 4 등과 같이 다양한 제어 정책을 사용할 수 있는 효과가 있는 것이다.However, when the base middleware 110 controls the engines according to an embodiment of the present invention, more complicated and various controls are possible. For example, assume that Java TV 121-1 is executing applications 1 and 2, and HTML / XHTML 122-1 is executing applications 3 and 4. Then, conventionally, since there is no separate component for controlling the engines, the application executed by the Java TV 121-1 according to the rules between the engines has a higher priority than the application executed by the HTML / XHTML 122-1. A solution may be possible. However, according to an exemplary embodiment of the present invention, since the base middleware 110 controls the entire engine, priority may be controlled on an application basis. That is, the application 1 of the Java TV 121-1> the application 3 of the HTML / XHTML 122-1> the application 2 of the Java TV 121-1> the application 4 of the HTML / XHTML 122-1, and the like. The effect is that the control policy can be used.
상기 통합 미들웨어(100)는 다양한 어플리케이션(미도시)과 상기 하드웨어 레이어(200)를 인터페이싱하고, 상기 베이스 미들웨어(110)는 상위 미들웨어(120)와 상기 하드웨어 레이어(200)를 인터페이싱하는 역할을 수행할 수 있다.The integrated middleware 100 may interface various applications (not shown) with the hardware layer 200, and the base middleware 110 may interface with upper middleware 120 and the hardware layer 200. Can be.
도 1에서 도시된 바와 같이 각각의 소프트웨어 엔진들이 동일한 기능을 호출하거나 동일한 하드웨어 리소스를 사용하려는 경우에 OS에서 이러한 제어를 수행하여야 하는 비효율성이 있으며, 경우에 따라 OS에서 제어를 하지 못하는 경우가 발생할 수도 있다. 이러한 문제점은 컨텐츠의 유형 또는 서비스의 유형이 매우 다양하고 복잡해져서 다수의 어플리케이션 엔진이 추가되어야 하는 경우에 더욱더 커질 수 있다. 하지만, 미들웨어의 설계에서 상위 미들웨어(120)에 포함되는 엔진들을 제어하기 위한 베이스 미들웨어(110)를 별도로 정의하거나 공통되는 공통 모듈들 자체를 베이스 미들웨어(110)로 구현하는 경우에는 이러한 문제점을 극복할 수 있다.As shown in FIG. 1, when the respective software engines call the same function or use the same hardware resource, there is an inefficiency to perform such control in the OS, and in some cases, the OS may not control. It may be. This problem can be even greater when the type of content or the type of service is so diverse and complex that many application engines must be added. However, this problem is overcome when the base middleware 110 for controlling engines included in the upper middleware 120 is separately defined in the design of the middleware, or when the common common modules themselves are implemented as the base middleware 110. Can be.
한편, 상기 실행형 어플리케이션 엔진들(예컨대, 121-1~121~4)은 전술한 바와 같이 실행형 또는 명령형 프로그램에 의한 어플리케이션을 실행시키기 위한 소프트웨어를 의미하며, 상기 실행형 어플리케이션 엔진(예컨대, 121-1~121~4))에는 주로 MHP, GEM, OCAP, ACAP 표준에서 정의되는 바와 같이 JavaTV(121-1), JMF(Java Media Framework, 121-2), HAVi UI(Home Audio / Video Interoperability, 121-3), 또는 DAVIC(Digital Audio Video Council, 121-4) 중 적어도 하나의 API(Application programming interface) 및 JVM(Java Virtual Machine, 미도시)을 포함할 수 있다. 하지만, 이에 국한되는 것은 아니며 다양한 소프트웨어 엔진을 더 포함할 수 있다.Meanwhile, the executable application engines (for example, 121-1 to 121 to 4) refer to software for executing an application by the executable or command program as described above, and the executable application engine (for example, 121). -1 ~ 121 ~ 4)) mainly include JavaTV (121-1), JMF (Java Media Framework, 121-2), HAVi UI (Home Audio / Video Interoperability, as defined in the MHP, GEM, OCAP, ACAP standards). 121-3) or at least one of an application programming interface (API) and a Java virtual machine (JVM) of the Digital Audio Video Council (DAVIC). However, the present invention is not limited thereto, and may further include various software engines.
또한, 상기 선언형 어플리케이션 엔진(예컨대, 122-1~122-3)은 전술한 바와 같이 선언형 어플리케이션을 실행시키기 위한 소프트웨어로써, HTML(HyperText Markup Language)/XHTML(Extensible Hypertext Markup Language) 모듈(122-1), ECMA 스크립트 모듈(122-3), CSS(Cascading Style Sheet) 모듈(미도시), 또는 AJAX(Asynchronous JavaScript and XML, 122-2) 모듈 중 적어도 하나를 포함할 수 있다. 이처럼, 상기 선언형 어플리케이션 엔진(예컨대, 122-1~122-3)은 주로 브라우저(browser) 기반의 어플리케이션을 수행하는데 적합할 수 있다. 또한, 상위 미들웨어(120)에는 전술한 바와 같이 플래시 콘텐츠를 실행시키기 위한 플래시 엔진(123)이 별도로 더 구비될 수도 있다.In addition, the declarative application engines (eg, 122-1 to 122-3) are software for executing a declarative application, as described above, and include HyperText Markup Language (HTML) / Extensible Hypertext Markup Language (XHTML) module 122. -1), an ECMA script module 122-3, a cascading style sheet (CSS) module (not shown), or at least one of an AJAX (Asynchronous JavaScript and XML, 122-2) module. As such, the declarative application engines (eg, 122-1 to 122-3) may be suitable for executing a browser-based application. In addition, the upper middleware 120 may be further provided with a flash engine 123 for executing the flash content as described above.
상기 베이스 미들웨어(110)에는 상기 상위 미들웨어(120)에 포함되는 각 엔진(예컨대, 121-1~123)의 공통된 기능을 수행하는 모듈에 대응되는 공통 모듈이 포함 될 수 있다. 또한, 상기 상위 미들웨어(120)와는 무관하게 상기 디지털 방송 수신 장치를 구동하기 위한 기반 기능(예컨대, 사용자 설정 및 관리, 보안 기능 등)을 수행하는 모듈 역시 상기 베이스 미들웨어(110)에 포함될 수 있다.The base middleware 110 may include a common module corresponding to a module that performs a common function of each engine (eg, 121-1 to 123) included in the upper middleware 120. In addition, the base middleware 110 may also include a module that performs a basic function (eg, user setting and management, security function, etc.) for driving the digital broadcast receiving device regardless of the upper middleware 120.
상기 공통 모듈(예컨대, 111~118)은 전술한 바와 같이 각 엔진(121~123)의 모듈 자체이거나 이들을 제어하기 위한 매니저일 수 있다.As described above, the common module (eg, 111-118) may be a module itself of each engine 121-123 or a manager for controlling them.
상기 베이스 미들웨어(110)에는 어플리케이션 관리 모듈(111), 미디어 관리 모듈(112), 시스템 이벤트 관리 모듈(113), 유저 인터페이스 모듈(114), 사용자 관리 모듈(115), 하드웨어 제어 모듈(116), 또는 리소스 관리 모듈(117) 중 적어도 하나를 포함할 수 있다. 또한, 상기 베이스 미들웨어(110)는 서비스 정보 모듈을 포함할 수도 있다.The base middleware 110 includes an application management module 111, a media management module 112, a system event management module 113, a user interface module 114, a user management module 115, a hardware control module 116, Alternatively, the resource management module 117 may include at least one. In addition, the base middleware 110 may include a service information module.
상기 어플리케이션 관리 모듈(111)은 각각의 엔진들(121-1~123)의 어플리케이션 라이프 사이클(life-cycle)을 제어할 수 있다. 라이프 사이클은 어플리케이션의 실행, 중지, 종료 등을 의미할 수 있다. 디지털 방송에서 어플리케이션은 실행형 어플리케이션과 선언형 어플리케이션 모두 채널 연동형(bound application), 채널 비연동형(unbound application), 또는 모니터(monitor application)으로 구분될 수 있다. 채널 연동형 어플리케이션은 특정 채널에 가면 어플리케이션이 시작되고 다른 채널로 가면 종료되는 어플리케이션으로써 AIT(Application Information Table)을 활용하여 제공될 수 있다. 채널 비연동형 어플리케이션은 시청 채널에 상관없이 시작되고 종료되는 어플리케이션으로 XAIT(Extended Application Information Table)을 활용하여 제공될 수 있다. 또한, 모니터 어플리케이션은 다른 어플리케이션의 시작과 종료를 제어할 수 있는 어플리케이션을 의미할 수 있다. 상기 모니터 어플리케이션은 방송 사업자의 목적에 따라서 만든 채널 비연동형 어플리케이션으로써, 상기 디지털 방송 수신 장치의 업그레이드, 진단, 에러 대응 등을 수행할 수도 있으며 이를 위한 별도의 모니터링 모듈(미도시)이 상기 베이스 미들웨어(110)에 포함될 수도 있다. 결국, 실행형 어플리케이션 및 선언형 어플리케이션 모두 상술한 라이프 사이클의 제어가 필요하므로 상기 어플리케이션 관리 모듈(111)은 상기 베이스 미들웨어(111)에 포함될 수 있는 것이다.The application management module 111 may control the application life-cycle of each of the engines 121-1 to 123. The life cycle may mean execution, suspension, or termination of an application. In digital broadcasting, an application may be classified into a channel bound application, a channel unbound application, or a monitor application in both an executable application and a declarative application. The channel-linked application may be provided by utilizing an application information table (AIT) as an application that starts when the application goes to a specific channel and ends when it goes to another channel. The channel non-interlocked application may be provided using an extended application information table (XAIT) as an application that starts and ends regardless of the viewing channel. In addition, the monitor application may mean an application that can control the start and end of other applications. The monitor application is a channel non-interlocking application made according to the purpose of a broadcast service provider. The monitor application may perform upgrade, diagnosis, or error response of the digital broadcast receiver, and a separate monitoring module (not shown) may provide the base middleware (not shown). 110 may be included. As a result, the application management module 111 may be included in the base middleware 111 since both the executable application and the declarative application require the control of the above-described life cycle.
상기 미디어 관리 모듈(112)은 VOD(video on demand), PVR(personal video recorder), 상기 하드웨어 레이어(200)에 포함되는 튜너(미도시)를 통해 수신되거나 인터넷을 통해 수신되는 다양한 방송데이터 등의 미디어에 대해 다양한 방식의 재생 및 제어 기능을 제공할 수 있으며, 상기 시스템 이벤트 관리 모듈(113)은 서비스 및 콘텐츠 유형에 따른 해당 엔진의 구동 및 종료, 엔진 전환 등을 처리할 수 있다. 또한, 상기 유저인터페이스 모듈(114) 어플리케이션으로부터 요청되는 유저 인터페이스의 디스플레이의 제어 및/또는 어플리케이션으로부터 수신되는 다양한 키 및/또는 이벤트들을 핸들링할 수 있으며, 상기 사용자 관리 모듈(115)은 사용자 정보, 사용자 선호 설정, 시청 내역 등을 저장 및 관리할 수 있다. 상기 하드웨어 제어 모듈(116)은 상기 하드웨어 레이어(200)에 포함되는 구성요소들의 제어 및 관리를 수행할 수 있으며, 상기 리소스 관리 모듈(117)은 각각의 어플리케이션으로부터 요청되는 프로세스를 수행하기 위한 리소스의 효율적 할당 및 관리하는 역할을 할 수 있다. 또한, 도 2에는 도시되지 않았지만, 방송 사업자의 다운로드 정책, 광고 정책 등 각종 정책 정보를 조회, 획득, 갱신, 적용할 수 있는 정책 모듈(미도시), 상기 하드웨어 레이어(200)에 포함되는 미디어 저장장치의 각종 미디어를 저장, 삭제, 조회, 관리하는 저장 모듈(미도시), 상기 디지털 방송 수신 장치의 CAS (conditional access system) 및/또는 DRM(digital rights management)을 관리하기 위한 보안 모듈(미도시)들이 상기 베이스 미들웨어(110)에 포함될 수 있다. 이러한 모듈들은 모두 상기 상위 미들웨어(120)의 각 엔진의 공통된 기능을 수행하거나 상기 디지털방송 수신장치의 기반 기능을 수행하는 모듈들일 수 있다.The media management module 112 may include various broadcast data received through a video on demand (VOD), a personal video recorder (PVR), a tuner (not shown) included in the hardware layer 200 or received through the Internet. Various types of playback and control functions may be provided for the media, and the system event management module 113 may process driving and shutdown of the corresponding engine and engine switching according to service and content types. In addition, the user interface module 114 may control the display of a user interface requested from an application and / or handle various keys and / or events received from the application, and the user management module 115 may handle user information, a user. You can save and manage your preferences and viewing history. The hardware control module 116 may perform control and management of components included in the hardware layer 200, and the resource management module 117 may be configured to execute resources requested for each process. It can play a role in efficient allocation and management. In addition, although not shown in FIG. 2, a policy module (not shown) capable of inquiring, obtaining, updating, and applying various policy information such as a download policy and an advertisement policy of a broadcasting company, and media storage included in the hardware layer 200 may be used. A storage module (not shown) for storing, deleting, retrieving, and managing various media of the device, and a security module (not shown) for managing a conditional access system (CAS) and / or digital rights management (DRM) of the digital broadcast receiving device. ) May be included in the base middleware 110. All of these modules may be modules that perform common functions of the respective engines of the upper middleware 120 or perform the basic functions of the digital broadcasting receiver.
또한, 상기 베이스 미들웨어(110)에는 구현 예에 따라 특별한 서비스를 제공하기 위해 포함될 수 있는 모듈이 포함될 수 있다. 예컨대, 서비스 정보 모듈(118)은 상기 디지털방송 수신장치에 입력되는 다양한 매체별 서비스 정보를 통합하여 사용자에게 제공하는 기능을 수행할 수 있다.In addition, the base middleware 110 may include a module that may be included to provide a special service according to the implementation example. For example, the service information module 118 may perform a function of integrating and providing various media service information input to the digital broadcasting receiver to a user.
예컨대, EPG 정보는 VOD, PVR, 지상파 방송, IPTV등에 따라 각각 존재할 수 있고, 이러한 매체별 EPG 정보를 추출, 검색, 선택하는 기능을 담당하는 엔진은 각각 다를 수 있다. 하지만 이러한 EPG 정보의 추출, 검색, 선택 등을 상기 베이스 미들웨어(110)에 포함되는 서비스 정보 모듈(118)에서 수행하게 되면, VOD, PVR, 지상파 채널, IPTV 등의 매체별 EPG를 사용하지 않고 하나의 EPG를 통해 모든 종류의 콘텐츠 및 서비스 검색 및 선택이 가능하므로 사용자의 편의성이 증대되며, 개발자의 입장에서도 각 개별 서비스를 위한 EPG를 각각 개발하고 그에 맞는 미디어 플레이 및 처리를 개별적으로 개발하는 것이 아니라, 통합 EPG에서 시청자가 선택한 콘텐츠 정보를 베이스 미들웨어(110)에 전달하면 상기 베이스 미들웨어(110)에서 선택에 상응하는 미디어를 구동시킬 수 있으므로 개발 시간 및 노력을 최소화할 수도 있는 것이다. 이처럼 통합되어 제공될 수 있는 서비스 정보는 EPG 정보뿐만 아니라 다양할 수 있음은 물론이다.For example, EPG information may exist in accordance with VOD, PVR, terrestrial broadcasting, IPTV, and the like, and engines for extracting, searching, and selecting EPG information for each medium may be different. However, when the extraction, search, and selection of such EPG information is performed by the service information module 118 included in the base middleware 110, one does not use an EPG for each medium such as VOD, PVR, terrestrial channel, and IPTV. User's convenience is increased by searching and selecting all kinds of contents and services through EPG of, and developers do not develop EPG for each individual service separately and develop media play and processing accordingly. In addition, when the content information selected by the viewer in the integrated EPG is transmitted to the base middleware 110, the media corresponding to the selection may be driven in the base middleware 110, thereby minimizing development time and effort. The service information that can be integrated and provided as such may vary as well as EPG information.
한편, 상기 통합 미들웨어(100)는 상기 상위 미들웨어(120)와 상기 베이스 미들웨어(110)를 인터페이싱하기 위해 별도의 인터페이스 레이어(130)를 더 포함할 수 있다. 상기 인터페이스 레이어(130)는 상기 상위 미들웨어(120)에 포함되는 각각의 엔진들(121~123)이 상기 베이스 미들웨어(110)로 출력하는 다양한 요청신호(예컨대, 메시지, 프로시져 콜(procedure call) 등)을 수신하고 상기 요청신호의 우선권의 제어 및/또는 요청신호의 변환 또는 프로세싱 등을 수행할 수 있다. 또한, 상기 요청신호에 상응하는 요청결과를 각각의 엔진들(121~123)로 선택적 내지 동시에 출력하기 위한 다양한 제어를 수행할 수 있으며, 이를 위해 상기 인터페이스 레이어(130)는 프로시져 콜 핸들러(procedure call handler) 또는 메시지 큐(Message queue) 중 적어도 하나를 포함할 수 있다. 상기 프로시져 콜 핸들러는 LPC(local procedure call) 및/또는 RPC(remote procedure call)을 핸들링할 수 있다. 또한, 메시지 큐는 순차적 또는 동시에 수신되는 요청신호 및/또는 요청결과의 우선권을 제어할 수 있다. 구현 예에 따라 상기 인터페이스 레이어(130)가 구비되지 않는 경우에는 상기 베이스 미들웨어(110)의 소정의 제어모듈(미도시)이 상기 인터페이스 레이어(130)의 기능을 수행할 수 있다.Meanwhile, the integrated middleware 100 may further include a separate interface layer 130 to interface the upper middleware 120 and the base middleware 110. The interface layer 130 may include various request signals (eg, messages, procedure calls, etc.) output from the engines 121 ˜ 123 included in the upper middleware 120 to the base middleware 110. ) And control the priority of the request signal and / or convert or process the request signal. In addition, various controls for selectively and simultaneously outputting a request result corresponding to the request signal to the respective engines 121 to 123 may be performed. For this purpose, the interface layer 130 may perform a procedure call handler. It may include at least one of a handler or a message queue. The procedure call handler may handle a local procedure call (LPC) and / or a remote procedure call (RPC). In addition, the message queue may control the priority of request signals and / or request results received sequentially or simultaneously. According to an embodiment, when the interface layer 130 is not provided, a predetermined control module (not shown) of the base middleware 110 may perform a function of the interface layer 130.
본 발명의 실시 예에 따른 통합 미들웨어(100)를 이용하면, 콘텐츠의 성격에 따라 그에 가장 적합한 유형 및 서비스 방식을 선택하여 서비스할 수 있도록 서비스 사업자에게 선택권을 제공할 수 있다. 예컨대, 서비스 제공자(사업자는) 콘텐츠의 성격을 분류하여 화려한 그래픽 UI가 필요한 콘텐츠는 플래시 어플리케이션을 이용할 수 있고, 내용 표시 위주, 서버의 실시간 콘텐츠 표시, 티뱅킹(TV-Banking) 등의 웹 연동 기능이 필요한 경우에는 브라우져 기반의 어플리케이션(즉, 선언형 어플리케이션)을 이용할 수 있다. 또한, 비디오 연동된 데이터 콘텐츠, 고기능 게임, 지상파 콘텐츠 활용 등에는 ACAP 등의 표준 API(즉, 실행형 어플리케이션)를 이용할 수 있다.Using the integrated middleware 100 according to an embodiment of the present invention, a service provider may be provided with a choice so as to select and service the most suitable type and service method according to the nature of the content. For example, a service provider (operator) classifies the nature of the content and can use a flash application for a content that requires a colorful graphic UI, and the web interworking functions such as content display, real-time content display of a server, and TV-Banking If this is necessary, browser-based applications (ie declarative applications) can be used. In addition, standard APIs (ie, executable applications) such as ACAP can be used for video-linked data contents, high-performance games, and terrestrial contents.
또한, 본 발명의 실시 예에 따른 통합 미들웨어(100)는 여러 가지 유형의 콘텐츠를 지원하면서도, 최소한의 런 타임(run time) 메모리만을 사용할 수 있다. 즉, 메모리에 상주하는 것은 베이스 미들웨어(110)의 적어도 일부분이며, 각기 다른 유형의 콘텐츠를 구동하기 위한 각각의 엔진은 해당 유형의 콘텐츠를 실제 구동하는 시점에만 메모리에 로드되어 실행할 수 있기 때문이다. 예컨대, 지상파 방송을 보여주고 있는 중이라고 하더라도 ACAP 어플리케이션이 시작되지 않았다면(혹은 사용자에 의해 종료되었다면) 상기 실행형 어플리케이션 엔진(121)은 로드되지 않으며, 이때 내장되어 있던 HTML EPG를 보여주고자 한다면 브라우저 엔진이 로드되어 구동될 수 있다. 이런 방식을 사용하므로, 베이스 미들웨어(110)와 하나의 엔진만을 구동할 수 있는 메모리만 확보되면, 여러 가지 유형의 콘텐츠를 서비스할 수 있다.In addition, the integrated middleware 100 according to an embodiment of the present invention may support various types of contents, but may use only a minimum run time memory. That is, it resides in the memory is at least a part of the base middleware 110, because each engine for driving different types of content can be loaded and executed in the memory only when the actual type of content is actually driven. For example, even if the terrestrial broadcast is being displayed, if the ACAP application is not started (or terminated by the user), the executable application engine 121 is not loaded, and the browser engine is to display the embedded HTML EPG. Can be loaded and driven. By using this method, if only the memory capable of driving only the base middleware 110 and one engine can be secured, various types of contents can be serviced.
또한, 본 발명의 실시 예에 따른 통합 미들웨어(100)에서는 각 엔진들이 미리 구동되고 있는 것이 아니고 필요한 시점에서 구동되는 방식을 사용할 수 있다. 예컨대, 실행형 어플리케이션 엔진 중 어느 하나(예컨대, 121-1)가 ACAP 콘텐츠를 보여주고 있다가 브라우저 콘텐츠를 보여주기 위하여 선언형 어플리케이션 엔진 중 어느 하나(예컨대, 122-1)를 구동해야 하는 경우 구동 시간이 오래 걸릴 수도 있지만, 상기 통합 미들웨어(100)는 일반적으로 구동 시간이 오래 걸리는 요인은 AV 디코더(AV Decoder), OSD(On Screen Demand), 디먹스(Demux), 필터(Filter), 튜너(Tuner) 등의 하드웨어 및 이와 관련한 소프트웨어의 초기화 작업등의 리소스 제어에 대한 역할을 메모리에 상주하는 베이스 미들웨어(110)가 담당하고, 상위 미들웨어(120)에 포함되는 소프트웨어 엔진들이 전환되더라도 이러한 작업을 수행할 필요가 없도록 설계함으로써, 엔진 간 전환을 위해 수정해야 할 작업을 최소화할 수 있다. 또한, 엔진들을 미리 로드시켜 두었다가 콘텐츠 실행 중 메모리가 부족한 상황이 발생하면 미리 로드된 엔진 중에서 사용하지 않는 엔진을 언로드 함으로써 엔진 전환 시간을 더욱 줄일 수도 있다.In addition, in the integrated middleware 100 according to an embodiment of the present invention, each engine is not driven in advance but may be driven at a necessary time. For example, if one of the executable application engines (eg, 121-1) is showing ACAP content and then one of the declarative application engines (eg, 122-1) needs to be run to show the browser content, Although it may take a long time, the integrated middleware 100 generally takes a long time to operate, such as an AV decoder, an on screen demand (OSD), a demux, a filter, a tuner ( The base middleware 110, which resides in memory, is responsible for resource control such as hardware such as a tuner) and software initialization related thereto, and even if the software engines included in the upper middleware 120 are switched, this operation can be performed. By designing that there is no need, you can minimize the work that needs to be modified to switch between engines. In addition, when the engine is preloaded and there is insufficient memory during content execution, the engine switching time can be further reduced by unloading the unused engine among the preloaded engines.
또한, 본 발명의 실시 예에 따른 통합 미들웨어(100)를 이용하면, 선언형 어플리케이션, 실행형 어플리케이션 및/또는 플래시 등의 여러 유형이 콘텐츠를 동시에 구동할 수 있으며, 시스템 리소스 한계 내에서는 어떠한 조합의 콘텐츠 구성도 가능할 수 있다. 예컨대, 시청자가 지상파에서 방송되는 드라마를 보면서 등장인물 소개 어플리케이션(실행형 어플리케이션)을 사용하다가, 배우에 대한 최신 기사가 궁금한 경우 브라우저를 통하여 웹을 검색(선언형 어플리케이션)한 후, 다시 드라마 어플리케이션(실행형 어플리케이션)으로 복귀하는 것도 가능하다. 이것은 베이스 미들웨어(110)에서 상위 미들웨어(120)에 존재하는 엔진들의 상태 등의 정보를 관리 제어할 수 있는 구조이므로 다양하고 복잡한 응용 조합을 가능하도록 하기 때문이다.In addition, by using the integrated middleware 100 according to an embodiment of the present invention, various types of declarative applications, executable applications, and / or flash may simultaneously drive content, and any combination of the contents within the system resource limits may be used. Content organization may also be possible. For example, when a viewer uses a character introduction application (executive application) while watching a drama broadcast from the terrestrial wave, and if he / she is curious about the latest article about the actor, the viewer searches the web through a browser (declarative application), and then the drama application ( It is also possible to return to the executable application. This is because the base middleware 110 can manage and control information such as the state of engines existing in the upper middleware 120, thereby enabling various and complex application combinations.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
본 발명은 디지털방송 수신장치에 사용될 수 있다.The present invention can be used in a digital broadcast receiver.

Claims (9)

  1. 디지털방송 수신기의 하드웨어 및 상기 하드웨어를 구동하는 OS(Operating System)을 포함하는 하드웨어 레이어(layer);A hardware layer including hardware of a digital broadcasting receiver and an operating system (OS) for driving the hardware;
    선언형 어플리케이션을 실행시키기 위한 선언형 어플리케이션 엔진 및 실행형 어플리케이션을 실행시키기 위한 실행형 어플리케이션 엔진을 포함하는 상위 미들웨어; 및Upper middleware including a declarative application engine for executing the declarative application and a executable application engine for executing the executable application; And
    상기 상위 미들웨어와 상기 하드웨어 레이어를 인터페이싱(interfacing)하기 위한 베이스 미들웨어를 포함하며,A base middleware for interfacing the upper middleware and the hardware layer,
    상기 베이스 미들웨어는 상기 상위 미들웨어에 포함되는 엔진들을 제어하는 통합 미들웨어형 디지털방송 수신장치.The base middleware is an integrated middleware type digital broadcasting receiver for controlling engines included in the upper middleware.
  2. 제 1항에 있어서, 상기 통합 미들웨어형 디지털방송 수신장치는,The apparatus of claim 1, wherein the integrated middleware type digital broadcasting receiver is provided.
    상기 상위 미들웨어와 상기 베이스 미들웨어 사이의 요청신호 및 상기 요청신호에 상응하는 요청결과를 제어하기 위한 인터페이스 레이어를 더 포함하는 통합 미들웨어형 디지털방송 수신장치.And an interface layer for controlling a request signal between the upper middleware and the base middleware and a request result corresponding to the request signal.
  3. 제 1항에 있어서, 상기 선언형 어플리케이션 엔진은,The method of claim 1, wherein the declarative application engine,
    HTML(HyperText Markup Language) 및 XHTML(Extensible Hypertext Markup Language) 모듈, ECMA 스크립트 모듈, CSS(Cascading Style Sheet) 모듈, 또는 AJAX(Asynchronous JavaScript and XML) 모듈 중 적어도 하나를 포함하는 통합 미들웨어형 디지털방송 수신장치.Integrated middleware type digital broadcasting receiver including at least one of HyperText Markup Language (HTML) and Extensible Hypertext Markup Language (XHTML) module, ECMA script module, Cascading Style Sheet (CSS) module, or Asynchronous JavaScript and XML (AJAX) module .
  4. 제 1항에 있어서, 상기 실행형 어플리케이션 엔진은,The method of claim 1, wherein the executable application engine,
    JavaTV, JMF(Java Media Framework), HAVi UI(Home Audio / Video Interoperability), 또는 DAVIC(Digital Audio Video Council) 중 적어도 하나의 API(Application programming interface) 및 JVM(Java Virtual Machine)을 포함하는 통합 미들웨어형 디지털방송 수신장치.Integrated middleware type including application programming interface (API) and Java Virtual Machine (JVM) of at least one of JavaTV, Java Media Framework (JMF), Home Audio / Video Interoperability (HAVi), or Digital Audio Video Council (DAVIC) Digital broadcasting receiver.
  5. 제 1항에 있어서, 상기 베이스 미들웨어는,The method of claim 1, wherein the base middleware,
    어플리케이션 관리 모듈, 미디어 관리 모듈, 시스템 이벤트 관리 모듈, 유저인터페이스 모듈, 사용자 관리 모듈, 하드웨어 제어 모듈, 또는 리소스 관리 모듈 중 적어도 하나를 포함하는 통합 미들웨어형 디지털방송 수신장치.An integrated middleware type digital broadcasting receiver comprising at least one of an application management module, a media management module, a system event management module, a user interface module, a user management module, a hardware control module, and a resource management module.
  6. 제 1항에 있어서, 상기 베이스 미들웨어는,The method of claim 1, wherein the base middleware,
    매체별 통합 서비스 정보를 제공하기 위한 서비스 정보 모듈을 포함하는 통합 미들웨어형 디지털방송 수신장치.Integrated middleware type digital broadcasting receiver including a service information module for providing integrated service information for each medium.
  7. 제 2항에 있어서, 상기 인터페이스 레이어는,The method of claim 2, wherein the interface layer,
    프로시져 콜 핸들러(procedure call handler) 또는 메시지 큐(Message queue) 중 적어도 하나를 포함하는 통합 미들웨어형 디지털방송 수신장치.Integrated middleware type digital broadcasting receiver including at least one of a procedure call handler or a message queue.
  8. 제 1항에 있어서, 상기 상위 미들웨어는,The method of claim 1, wherein the upper middleware,
    플래시(flash) 콘텐츠를 실행시키기 위한 플래시 엔진을 더 포함하는 통합 미들웨어형 디지털방송 수신장치.An integrated middleware digital broadcasting receiver further comprising a flash engine for executing flash content.
  9. 디지털방송 수신기의 하드웨어 및 상기 하드웨어를 구동하는 OS(Operating System)을 포함하는 하드웨어 레이어(layer);A hardware layer including hardware of a digital broadcasting receiver and an operating system (OS) for driving the hardware;
    선언형 어플리케이션을 실행시키기 위한 선언형 어플리케이션 엔진 및 실행형 어플리케이션을 실행시키기 위한 실행형 어플리케이션 엔진을 포함하는 상위 미들웨어; 및Upper middleware including a declarative application engine for executing the declarative application and a executable application engine for executing the executable application; And
    상기 상위 미들웨어와 상기 하드웨어 레이어를 인터페이싱(interfacing)하기 위한 베이스 미들웨어를 포함하며,A base middleware for interfacing the upper middleware and the hardware layer,
    상기 베이스 미들웨어는 상기 상위 미들웨어에 포함되는 엔진들에서 수행되는 공통 기능에 대응되는 적어도 하나의 공통모듈을 포함하는 통합 미들웨어형 디지털방송 수신장치.And the base middleware includes at least one common module corresponding to a common function performed by engines included in the upper middleware.
PCT/KR2009/001156 2008-04-16 2009-03-09 Integrated middleware-type digital broadcast receiving apparatus WO2009128607A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2008-0034977 2008-04-16
KR1020080034977A KR100870200B1 (en) 2008-04-16 2008-04-16 Digital broadcast receiving apparutus using integrated middleware

Publications (2)

Publication Number Publication Date
WO2009128607A2 true WO2009128607A2 (en) 2009-10-22
WO2009128607A3 WO2009128607A3 (en) 2009-12-10

Family

ID=40284688

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2009/001156 WO2009128607A2 (en) 2008-04-16 2009-03-09 Integrated middleware-type digital broadcast receiving apparatus

Country Status (2)

Country Link
KR (1) KR100870200B1 (en)
WO (1) WO2009128607A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU203858U1 (en) * 2020-08-05 2021-04-23 Общество с ограниченной ответственностью "Витрина ТВ" DEVICE FOR DISPLAYING AND PLAYING OUT AUDIO-VISUAL CONTENT

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913696B1 (en) 2008-12-31 2009-08-24 (주)테이크텍 Data broadcast receiving apparatus
KR101121578B1 (en) * 2010-01-07 2012-03-06 주식회사 알티캐스트 Apparatus for downloadable conditional access system operating in application program layer
KR101121587B1 (en) 2010-01-07 2012-03-06 주식회사 알티캐스트 CableCARD emulation apparatus for Downloadable Conditional Access System
KR101213453B1 (en) 2011-01-13 2012-12-18 한양대학교 에리카산학협력단 Integrated processing method of digital broadcasting standard and apparatus for receving a broadcasting signal

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002238003A (en) * 2000-12-07 2002-08-23 Matsushita Electric Ind Co Ltd Device and method for selecting and executing middleware for moving image reproduction
KR100691120B1 (en) * 2006-01-16 2007-03-12 엘지전자 주식회사 Middleware and method for managing memory error
KR20070039789A (en) * 2005-10-10 2007-04-13 한국전자통신연구원 Apparatus and method for integrated middleware for application program service through the communication network and broadcasting network
WO2007143933A1 (en) * 2006-06-12 2007-12-21 Panasonic Corporation Network digital television middleware

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100584712B1 (en) * 2003-12-26 2006-05-30 한국전자통신연구원 Apparatus for Homenetwork Middleware Interoperability Service using Home gateway and OSGi Platform and method thereof
KR20080006075A (en) * 2006-07-11 2008-01-16 이학진 Standard method-based user-oriented integrated architecture for distributed home network middlewares

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002238003A (en) * 2000-12-07 2002-08-23 Matsushita Electric Ind Co Ltd Device and method for selecting and executing middleware for moving image reproduction
KR20070039789A (en) * 2005-10-10 2007-04-13 한국전자통신연구원 Apparatus and method for integrated middleware for application program service through the communication network and broadcasting network
KR100691120B1 (en) * 2006-01-16 2007-03-12 엘지전자 주식회사 Middleware and method for managing memory error
WO2007143933A1 (en) * 2006-06-12 2007-12-21 Panasonic Corporation Network digital television middleware

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU203858U1 (en) * 2020-08-05 2021-04-23 Общество с ограниченной ответственностью "Витрина ТВ" DEVICE FOR DISPLAYING AND PLAYING OUT AUDIO-VISUAL CONTENT

Also Published As

Publication number Publication date
WO2009128607A3 (en) 2009-12-10
KR100870200B1 (en) 2008-11-25

Similar Documents

Publication Publication Date Title
US11422779B2 (en) Application support for network devices
EP1285337B1 (en) Displaying graphical objects
JP4309458B2 (en) Method and computer-readable recording medium for supporting functional applications of nodes connected to the central server by the central server
US8510779B2 (en) Self-contained mini-applications system and method for digital television
JP2008512012A (en) Method and system for providing interactive services on digital television
EP2053507A2 (en) Event control device and digital broadcasting system
WO2015035908A1 (en) Smart television operation system
US9213538B1 (en) Methods and apparatus for display element management in an information network
WO2009128607A2 (en) Integrated middleware-type digital broadcast receiving apparatus
CN110297624B (en) Implementation method of Widget system based on electron framework and television adopting system
CN113852870B (en) Channel list display method and display equipment
KR100725386B1 (en) Method for executing virtual machine application, and the digital broadcast receiver thereof
CN112217671B (en) Method and equipment for performing interface display on front-end micro-service based on split deployment
PT1281279E (en) Generic data processing engine
KR102660531B1 (en) User interface distribution method for multi-device interaction
CN114025140B (en) Integrated client for B/S architecture monitoring system
JPWO2004034698A1 (en) Information processing device
CN103019727A (en) Method and device for processing desktop wallpaper
Vidakovic et al. A java API interface for the integration of DTV services in embedded multimedia devices
US6941559B2 (en) Software bus and interface for digital television application software environments
CN111324411B (en) User interface upgrading method in display equipment and display equipment
Pravin et al. Set top box system with android support using Embedded Linux operating systempaper
CN111726674B (en) HbbTV application starting method and display equipment
CN112235628B (en) Multi-window opening method, device, equipment and medium for television operating system
US7421713B2 (en) Safe service extension platform

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09731710

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09731710

Country of ref document: EP

Kind code of ref document: A2