This application claims the benefit of Korean Patent Application Nos. 10-2011-0008397, 10-2011-0085177, filed on Jan. 27, 2011 and Aug. 25, 2011, respectively, filed in the Korean Intellectual Property Office, the disclosures of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a smart set-top box (STB) and an operating method thereof, and more particularly, to a method of providing a smart service and a digital television (DTV) service.
2. Description of the Related Art
A set-top box (STB) is a device that receives a signal from an external side via an Ethernet cable, a receiving antenna for a satellite wave or a ground wave, a coaxial cable, a telephone line, a VHF/UHF antenna, and the like, and appropriately converts the received signal so as to display corresponding contents on a television (TV) through a connection with the TV. Here, the STB may be included in the TV or may be a separate device.
A digital TV (DTV) service may be a service providing users with broadcast contents having a high definition and a high quality audio, using a broadcast signal compressed into a digital form. A smart service may be a service that enables downloading of varied applications from an application market and executing of the downloaded applications.
Recently, the smart service may be provided through smart phones, tablet personal computers (PC), and the like, in various forms, and the smart service may also be provided via TVs. In this example, a technology that controls a smart service and a DTV service provided via the TV using a single operating system may be required.
Most java applications for interactive TVs may be implemented based on the open cable application platform (OCAP), the advanced common application (ACAP), the multi-media home platform (MHP), and the globally executable MHP (GEM). However, a basic knowledge for a digital service may be required to implement the java applications for interactive TVs in an environment including a great number of application program interfaces (APIs). Therefore, most java applications for interactive TVs have not been commonly utilized. Conventionally, the number of Android-platform-based applications has dramatically increased, and knowledge for the Android platform may be readily obtainable. Accordingly, there are many attempts to provide a digital broadcasting terminal device based on an Android-platform.
An aspect of the present invention provides a method and apparatus that may provide a digital television (DTV) service and a smart service using a single device.
Another aspect of the present invention also provides a method and apparatus that may enable a developer to readily develop a TV application merely using application programming interfaces (APIs) contained, in advance, in an open platform, for example, an Android platform.
Still another aspect of the present invention also provides a method and apparatus that may be readily embodied without knowledge associated with the interactive TV standards, for example, the open cable application platform (OCAP), the multi-media home platform (MHP), and the like.
Yet another aspect of the present invention also provides a method and apparatus that may enable a DTV stack and an Android platform to be independent of each other, so as to support a quick upgrading of a platform.
According to an aspect of the present invention, there is provided a method of operating a smart set-top box (STB) that provides a smart service and a DTV service using a single operating system, the method including driving an operating system including at least a plurality of libraries and a kernel including a binder driver and drivers for a plurality of hardware devices, loading, in the operating system, applications designed based on an application programming interface (API) of a framework corresponding to the operating system, loading, in the operating system, a DTV stack including a DTV service function and a security service function, and allowing communication between at least one of the applications and the DTV stack when the at least one of the applications uses the binder driver included in the kernel of the operating system to access the DTV service function included in the DTV stack.
The operating system may correspond to an Android operating system.
The allowing may include encapsulating transmitted or received data in a parcel class.
The method may further include utilizing a DTV hardware abstraction layer (DTV HAL) for communication between the DTV service function and the security service function included in the DTV stack.
The binder driver may perform an inter-process communication (IPC) mechanism.
The method may further include accessing an application market through a network, and downloading at least one application from the application market based on selection by a user.
The DTV HAL may allow the communication between the DTV service function and the security service function using a library for hardware devices, a library for non-hardware devices, and a library for the DTV stack.
The library for hardware devices may process an access to hardware devices included in the smart STB, the library for non-hardware devices may be distinguished from the library for hardware devices, and may include modules associated with the DTV HAL, and the library for the DTV stack may include modules supporting the DTV service.
According to another aspect of the present invention, there is provided a method of embodying a platform that provides a smart service and a DTV service using a single operating system, the method including disposing, on a first layer, the operating system including at least a plurality of libraries and a kernel including a binder driver and drivers for a plurality of hardware devices, disposing, on a second layer that is an upper layer of the first layer, applications designed based on an API of a framework corresponding to the operating system, disposing, on a third layer that is an upper layer of the first layer and is a layer equivalent to the second layer, a DTV stack including a DTV service function and a security service function. Here, communication between at least one of the applications and the DTV stack may be performed when the at least one of applications uses the binder driver included in the kernel of the operating system so as to access the DTV service function included in the DTV stack.
According to still another aspect of the present invention, there is provided a smart STB, including a memory, a processor, and a plurality of hardware devices, providing a smart service and a DTV service in a single operating system, the smart STB including the processor to drive an operating system including at least a plurality of libraries and a kernel including a binder driver and drivers for the plurality of hardware devices, and the memory to load, in the operating system, applications designed based on an API of a framework corresponding to the operating system, and a DTV stack including a DTV service function and a security service function, and the processor may allow communication between at least one of the applications and the DTV stack when the at least one of the applications uses the binder driver included in the kernel of the operating system to access the DTV service function included in the DTV stack.
The memory may store libraries of the DTV HAL in a location referred to by a framework corresponding to the operating system.
Additional aspects, features, and/or advantages of the invention will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the invention.
These and/or other aspects, features, and advantages of the invention will become apparent and more readily appreciated from the following description of embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Embodiments are described below to explain the present invention by referring to the figures.
A digital television (DTV) service may be a service providing broadcast contents having a high-definition and a high quality audio using a broadcast signal compressed into a digital form, which is different from a conventional analog service. The DTV service may provide a greater amount of information using digital signals, when compared to the analog service and thus, may provide a data service. According to the DTV service, users may be provided with an electronic program guide (EPG) service that informs the users of a TV program broadcasting time, information associated with cast members, and the like, and a video on demand (VOD) service that enables the users to select and view a desired program at a desired time. To provide the DTV service, a set-top box (STB) that restores the broadcast signal compressed into a digital form to an original image and an original audio signal may be required.
A smart service may be a service that enables downloading of varied applications from an application market, for example, App Store, Android Market, Blackberry App World, and the like, and enables executing of the downloaded applications. The applications may refer to various programs executed based on an operating system. Examples of the application may include an Internet browser, Google map, You Tube, widgets, and the like, and there may be varied types of application. App Store is the Apple online application market from which iOS applications may be downloaded with and/or without fee. Android Market is the online application market, managed by Google, for Android applications. A platform for the smart service may be, for example, an Android-based open platform.
Embodiments of the present invention may provide a smart STB that is able to provide a DTV service and a smart service in a single operating system. That is, a user may be able to use both the DTV service and the smart service in a single operating system using a single device, for example, the smart STB.
The smart STB may have varied hardware configurations and varied software configurations.
The smart STB may include an Android operating system, and may utilize various operating systems. For example, an Android operating system-based Linux kernel may be included. The smart STB may include an open source virtual machine, a chipset driver, a DTV receiving module, and a conditional access-connected module. The smart service and the DTV service may be provided based on a framework corresponding to an operating system, for example, a well-known Android framework.
Referring to
The Android operating system 210 of
The Linux kernel may operate first through a boot-loader when the smart STB is booted up, and the Android operating system 210 may perform an ‘init’ process that initializes a system after initializing a kernel.
The Android operating system 210 may include Bionic, that is, the C standard library (Libc). Bionic is a C library that is obtained by amending a Berkeley software distribution (BSD)-based libc to be suitable for a mobile environment, that is, an embedded environment, and may support services specified for Android. All native codes operating in the Android operating system 210 may be compiled using Bionic.
The Android operating system 210 may include a binder driver that performs an Android IPC mechanism. The IPC mechanism may refer to exchanging of data among processes. The Android operating system 210 may perform communication among processes of the Android operating system 210, for example, playback of a video, playback of an audio, a camera, management of activities, and the like, using the binder driver.
The Android operating system 210 will be described with reference to
A security service module 232 included in a DTV stack 230, disposed on an upper layer of the first layer, may control a conditional-access of a user, in the Android operating system 210. For example, the security service module 232 may be embodied by eXchangeable Conditional Access System Secure Micro (XCAS SM).
The security service module 232 for the security service may include a security monitor, for example, an exchangeable conditional access system (XCAS) monitor, and a security client, for example, a conditional access system (CAS) client. The security service module 232 for the security service may provide a platform for executing the security client, for example, installing and updating of the security client, and providing of a security function.
The DTV stack 230 may provide the user with a DTV service included in the DTV stack 230 that provides a DTV service, in the Android operating system 210 based on qualification of the user. In particular, the DTV stack 230 may insert a portion of a conventional STB that provides a DTV service, into an Android platform. The DTV stack 230 may provide a function of parsing and caching a DTV service broadcast information table, a function of connecting data over cable service interface specification (DOCSIS) set-top gate way (DSG), a function of connecting interactive communication, for example, a cable modem or a local area network (LAN), a security function, for example, XCAS, a function of upgrading a system, and the like. To support the functions, a DTV service block 231 may include a DTV manager block, a system/OTC block, a security manager block, a DOCSIS/DSG block, a program specific information protocol/service information (PSIP/SI) block, and the like.
A hardware abstraction layer (HAL) 250 may allow the Android operating system 210 to communicate with the DTV stack 230 based on Android. Here, the DTV HAL 250 may be obtained by abstraction of an interface of a device driver 212. An example of the device driver 212 may include the Trident device driver. The configuration of the DTV HAL 250 will be described with reference to
The Android framework 221 may include an application programming interface (API) for applications. The Android operating system 211 may execute and/or load varied applications 222 and 223 using the Android framework 221.
The user may play back, through a DTV, an image associated with an Android application using the Android framework 221 through a Java TV/home audio video interoperability (HAVi)/open cable application platform (OCAP) subset. That is, the Android framework 221 may provide DTV broadcast contents to the DVM on which the Android application operates.
The Java TV/HAVi/OCAP subset may be middleware for providing the DTV service. In particular, a Java TV may be a Java-based software framework for providing the DTV service, and may be an interface for a developer who develops software operating in an interactive TV service and a digital broadcast receiver. The HAVi may be middleware supporting data communication and the controlling of sound and imaging devices. The OCAP may be middleware for broadcasting data of an interactive host defined by CableLabs. The Java TV/HAVi/OCAP subset may include a few APIs of the Java TV, the HAVi, and the OCAP for supporting the DTV service and the Android application.
The smart STB may include the Android applications 222 and 223 implemented in the Android operating system 211. Here, the Android applications may include the basic applications 223, for example, Internet browse, a map, and the like, and applications 222 downloaded from an application market.
The application 222 may be a fused application of DTV broadcast contents and an Android application. Accordingly, the user may use varied Android applications along with DTV broadcast contents associated with corresponding applications, through the smart STB. The user may execute an Android application while receiving the DTV service through the smart STB.
The smart STB may download applications associated with a DTV service from an application market including a plurality of applications associated with the DTV service, based on selection of the user. Also, the smart STB may be able to download varied Android applications that are not associated with the DTV service.
A home screen of an Android DTV of the smart STB may include varied menus, for example, an ‘Application Market’ menu, a ‘TV guide’ menu, a ‘VOD’ menu, a ‘view TV’ menu, a ‘Widget’ menu, a ‘personal video recorder (PVR)’ menu, a ‘Time Shift’ menu, a ‘Settings’ menu, and the like.
For example, when the user selects the ‘Application Market’ menu, the smart STB may access an application market, and may download varied applications based on the selection of the user. When the user selects one of applications stored in the smart STB, the smart STB may execute the corresponding application.
The method of providing the smart service and the DTV service using the single Android operating system 210 has been described. The Android framework 221 may be allowed to communicate with the DTV service (block) 231 included in the DTV stack 230, through the binder driver that uses the IPC mechanism. That is, the embodiments of the present invention may provide the DTV service and the smart service in a single operating system, using the binder driver included in the operating system 210.
In this example, data exchanged during the communication between the Android framework 221 and the DTV service (block) 231 included in the DTV stack 230 may be encapsulated in a class for transmission and reception. In addition, a security manager of the DTV service (block) 231 and a security client of the security service (module) 232 may perform transmission and reception of data based on a socket communication scheme, and the security client may be embodied to be compatible with another CAS. Also, the DTV service (block) 231 and the security service (module) 232 may be embodied to operate irrespective of a specification of hardware and a type of hardware.
Referring to
As described in the foregoing, embodiments of the present invention may provide a unique platform for providing the smart service and the DTV service in the Android operating system.
Referring to
The libhardware 410 may be used for accessing a hardware device included in a smart STB of an Android system. The libhardware 410 may include a module associated with a graphic, a sensor, a global positioning system (GPS), a camera, or the like.
The non-libhardware 420 may include a module associated with the Android DTV HAL among modules that are excluded from the libhardware 410. For example, the non-libhardware 420 may include multi-media frameworks, such as, the electronic guarantee letter (EGL) framework, the OPenMAX (OMX) framework, the stagefright framework. In particular, the EGL may be a native platform interface, and may define a glue interface layer function between a predetermined platform system and an OpenGL ES API. The OMX framework may be the standard API media interface of Khronos Group, and the stagefright framework may be a media framework created by Google.
The libhardware for DTV 430 may include modules added for the DTV service, excluding the module included in the libhardware 410. The libhardware for DTV 430 may provide varied functions, for example, tuning of a DTV, zapping of a DTV, and the like, based on each module included in the libhardware for DTV 430. Each module included in the libhardware for DTV 430 of
Referring to
The smart STB may load a DTV stack including a DTV service function and a security service function in the operating system, and may execute a security service in operation 520. Accordingly, a conditional-access of a user may be controlled.
The smart STB may provide the user with a DTV service through the DTV stack that provides a DTV service in an Android operating system based on a qualification of the user in operation 530.
The smart STB may load applications designed based on an API of a framework corresponding to the operating system, in the operating system, and may execute at least one application so as to provide the user with a smart service in operation 540.
Although it is not explicitly illustrated in
A method of operating the smart STB has been described. The embodiments described in the foregoing with respect to
The method according to the above-described embodiments of the present invention may be recorded in non-transitory computer readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of non-transitory computer readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM discs and DVDs; magneto-optical media such as floptical discs; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.
Referring to
The processor 610 may drive an operating system including at least a plurality of libraries and a kernel including a binder driver and drivers for the plurality of hardware devices 630. In this example, in the operating system, applications designed based on an API of a framework corresponding to the operating system and a DTV stack including a DTV service function and a security service function may be loaded into the memory 620.
In this example, the processor 610 may allow communication between at least one of the applications and the DTV stack when the at least one of the applications uses the binder driver included in the kernel of the operating system to access the DTV service function included in the DTV stack. Accordingly, a smart service and the DTV service may be provided in a single operating system.
The embodiments described in the foregoing with reference to
The embodiments of the present invention may provide a method and apparatus that may provide a DTV service and a smart service using a single device.
The embodiments of the present invention may provide a method and apparatus that may enable a developer to readily develop a TV application merely using
APIs contained, in advance, to an open platform such as an Android platform.
The embodiments of the present invention may provide a method and apparatus that may be readily embodied without knowledge associated with an interactive TV standard, for example, OCAP, MHP, and the like.
The embodiments of the present invention may provide a method and apparatus that may enable a DTV stack and an Android platform to be independent of each other so as to support a quick upgrading of a platform.
Although a few embodiments of the present invention have been shown and described, the present invention is not limited to the described embodiments. Instead, it would be appreciated by those skilled in the art that changes may be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2011-0008397 | Jan 2011 | KR | national |
10-2011-0085177 | Aug 2011 | KR | national |