Abstract:
Disclosed are a method and a device for providing a hypertext markup language (HTML)-based program guide service, and a recording medium therefor. The method for providing a hypertext markup language (HTML)-based program guide service in a broadcast providing device, according to the present invention, comprises the steps of: outputting a start page according to a program guide service start request of a user, wherein a container included in a resource for the start page generates a first key handler for processing a key event of the user; and outputting one or more menu pages for menu navigation according to a request of the user, wherein the start page and each of the one or more menu pages have different resource addresses, and a life cycle of the one or more menu pages is managed by the first key handler.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of International application No. PCT/KR2013/007918 filed on Sep. 3, 2013, which claims priority to Korean Application No. 10-2012-0106500 filed on Sep. 25, 2012. The applications are incorporated herein by reference. 
     
    
     TECHNICAL FIELD 
       [0002]    The present invention relates to a method and an apparatus for providing a program guide service based on HTML and a recorded medium therefor, more particularly relates to a method and an apparatus for providing a guide service related to a broadcasting in the unit of an HTML page and a recorded medium therefor. 
       DESCRIPTION OF THE RELATED ART 
       [0003]    In the past, the TV set provided unidirectional services only. 
         [0004]    It is now possible to compress broadcast signals, which may include video, audio and data, into digital signals according as digital broadcasting service is provided in recent, and thus the possibility of providing multiple channels is opened. Moreover, increases in network processing capacity have also made it possible to provide bidirectional broadcast services. 
         [0005]    Based on improvements in the performance of the set-top box or TV set as well as increases in network bandwidth, various types of services are being provided. 
         [0006]    That is, including not only live programs, which have been provided in the past, but also various on-demand programs requested by the user. Of course, the various services currently being provided also include games, shopping, etc., in addition to real-time or on-demand programming. 
         [0007]    Various services are being provided through the set-top box or the TV as mentioned above, but the problem exists in that a user should input in sequence every channel number when the user selects desired channel, because the set-top box or the TV is controlled by an external remote controller. 
         [0008]    That is, in recent, a broadcasting provider has provided not only live programs but also on-demand programs requested by the user, and has provided various services such as also a game, a shopping, an SNS, a chatting service, a search and a cloud service, etc. 
         [0009]    A program guide has been provided for supporting various services. 
         [0010]    The program guide is mainly used to provide live program information to the user at the beginning, but has provided functions of allowing the user to access to various services as well as guide of programs in recent. 
         [0011]    Conventional program guide is provided by using mainly a java application, and operates by a java virtual machine. 
         [0012]    However, technique for providing the program guide in hypertext markup language HTML page has been studied, so that the program guide can be executed on a browser set at a set-top box, etc. to guarantee compatibility, in recent. 
         [0013]    However, since recent program guide stores considerable amount of information, tree depth of a menu in the program guide is very deep and the same screen or the same data processing method may not be performed. 
         [0014]    It is difficult to realize and manage enormous amount of the program guide with one HTML page. 
         [0015]    Since the program guide including various information may not be provided by one HTML page, HTML pages for navigation of menus has been required. However, techniques for managing the HTML pages have not been provided. 
       SUMMARY 
       [0016]    For solving the above problems, the present invention provides a method and an apparatus for managing effectively HTML pages for navigation of menus and a recorded medium therefor. 
         [0017]    An embodiment of the invention provides a method of providing a program guide service based on HTML in a broadcasting terminal, the method comprising: outputting a start page according to start request of the program guide service by a user, a container in a resource for the start page generating a first key handler for processing a key event of the user; and outputting at least one menu page for navigation of a menu according to request of the user. Here, each of the start page and the menu page has different resource address, and life cycle of the menu page is managed by the first key handler. 
         [0018]    A resource of the menu page includes a context for generating a second key handler and processing the key event delivered from the first key handler by using the generated second key handler. 
         [0019]    The container processes directly the key event by using the first key handler or delivers the key event to a context of corresponding menu page. 
         [0020]    The start page is disposed at lowest layer of a display, the menu pages are displayed in sequence according to an output order, and the context, to which the key event is delivered from the container, is a context disposed at uppermost layer in the display. 
         [0021]    The container stores menu pages being executed at present in a stack, activates one or more of the menu pages stored in the stack according to the key event and outputs the activated menu page. 
         [0022]    The menu page is outputted by using an iframe included in the start page. 
         [0023]    The context includes layers of which location and attribute are separated. 
         [0024]    Another embodiment of the invention provides a recorded medium readable by a processing device tangibly embodying a program executed by the processing device to perform the method. 
         [0025]    Still another embodiment of the invention provides an apparatus for providing a program guide service based on HTML, the apparatus comprising: a microprocessor configured to execute a container in an HTML start page resource and a context in at least one menu page resource for navigation of a menu according to request of a user, wherein the container generates a first key handler for processing a key event by the user and the first key handler manages lift cycle of the menu page. 
         [0026]    Still another embodiment of the invention provides a method of providing a program guide service based on HTML in a headend connected to a broadcasting terminal through a network, the method comprising: receiving request of an HTML page according to start request of the program guide service from the broadcasting terminal; and transmitting the requested HTML page to the broadcasting terminal. Here, the HTML page includes a start page and at least one menu page having different resource address, a container in a resource for the start page in the broadcasting terminal generates a first key handler for processing a key event by a user, and the first key handler manages life cycle of the menu page. 
         [0027]    The method and the apparatus of the present invention use a container and a context, to manage effectively HTML pages for a broadcasting service. 
         [0028]    Additional aspects and advantages of the present invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0029]      FIG. 1  is a view illustrating a system for providing a broadcasting service according to one embodiment of the present invention; 
           [0030]      FIG. 2  is a view illustrating a broadcasting terminal according to one embodiment of the present invention; 
           [0031]      FIG. 3  is a view illustrating a framework for a program guide service according to one embodiment of the present invention; 
           [0032]      FIG. 4  is a view illustrating arrangement of a start page and menu pages outputted sequentially on a display according to one embodiment of the present invention; 
           [0033]      FIG. 5  is a view illustrating a process of managing life cycle of a menu page in a container according to one embodiment of the present invention; 
           [0034]      FIG. 6  is a view illustrating a process of processing a key event in the container according to one embodiment of the present invention; and 
           [0035]      FIG. 7  is a flowchart illustrating a process of providing a program guide service based on HTML according to one embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0036]    As the present invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to particular modes of practice, and it is to be appreciated that all changes, equivalents, and substitutes that do not depart from the spirit and technical scope of the present invention are encompassed in the present invention. 
         [0037]    Hereinafter, the preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the following drawings, like reference numerals identify similar or identical elements 
         [0038]    The present invention relates to a method and an apparatus for providing a program guide service where a broadcasting provider provides an HTML page to a broadcasting terminal and a browser installed to the broadcasting terminal in a program guide mode processes the HTML page. 
         [0039]      FIG. 1  is a view illustrating a system for providing a broadcasting service according to one embodiment of the present invention. 
         [0040]    In  FIG. 1 , the system for providing the broadcasting service of the present embodiment may include a headend  100  and a broadcasting terminal  102  connected to the headend  100  through a network. 
         [0041]    Here, the network may include an wire/wireless Internet, a satellite network and a broadcasting network. 
         [0042]    The headend  100  provides live programs or on-demand programs to the broadcasting terminal  102  according to preset schedule. 
         [0043]    The headend  100  converts an audio and video (AV) signal for various broadcasting channels into a broadcasting signal having predetermined format, and transmits the converted broadcasting signal to the broadcasting terminal  102 . 
         [0044]    The headend  100  receives on-demand programs, game contents, etc. from contents providers, and stores the received on-demand programs and the received game contents, etc. in a database  104 . 
         [0045]    The headend  100  does not store information related to services in the database  104 , and may receive the information related to the services by interworking with a server managed by the contents providers. 
         [0046]    The broadcasting terminal  102  receives the broadcasting signal from the headend  100 , decodes the received broadcasting signal and outputs the decoded broadcasting signal. 
         [0047]    In one embodiment, the broadcasting terminal  102  may be a TV or a set-top box. However, the broadcasting terminal  102  is not limited as the TV or the set-top box, and may include every device, which can receive the broadcasting signal and provide a program guide service based on HTML described below, such as a smart phone, a table PC, a desktop, etc. 
         [0048]    Hereinafter, the broadcasting terminal  102  will be assumed as the set-top box connected to the TV (display). 
         [0049]      FIG. 2  is a view illustrating a broadcasting terminal according to one embodiment of the present invention. 
         [0050]    In  FIG. 2 , the broadcasting terminal  102  of the present embodiment may include a signal input interface  200 , a demultiplexer  202 , a signal output interface  204 , a microprocessor  206 , a network module  208  and a system memory  209 . 
         [0051]    The signal input interface  200  includes a tuner  210  for receiving a compressed broadcasting signal and a channel decoder  212  for selecting a channel desired by the user from the received broadcasting signal under control of the microprocessor  206 . The broadcasting signal compressed according to proper compression standard may be any one or combination of a video signal, an audio signal and a data signal and may be demultiplexed by the demultiplexer  202 , and then the demultiplexed broadcasting signal may be transmitted to the signal output interface  204 . 
         [0052]    The signal output interface  204  includes decoders corresponding to each of the video signal, the audio signal and the data signal, i.e. an audio decoder  214 , a video decoder  216  and a data decoder  218 . For example, the demultiplexer  202  extracts the audio signal from the broadcasting signal of the desired channel and transmits the extracted audio signal to the audio decoder  214  of the signal output interface  204 . The audio decoder  214  decodes the transmitted audio signal and transmits the decoded audio signal to a speaker of the user in an analog type. 
         [0053]    The video signal is decoded by the video decoder  216  of the signal output interface  204  and then the decoded video signal is provided to a display device. e.g. TV. In the event that the broadcasting signal corresponds to the combination of the video signal and the data signal, the data signal is extracted by the demulitplexer  202 , and the extracted data signal is transmitted to the data decoder  218 . The data decoder  218  decodes the data signal for compressed data broadcasting, and the decoded data signal is transmitted to a display device with matched with the video signal by a graphic overlay. Furthermore, the data signal decoded by the data decoder  218  may be stored in the system memory  209 . 
         [0054]    In one embodiment, the broadcasting signal may include not only AV data for a program requested by the user but also data (hereinafter, referred to as “program guide data”) for providing of the program guide service to the user. 
         [0055]    The program guide data may include a channel list and channel information, time information, description information and poster information of live programs and on-demand programs, and include also information for a game, a shopping, an SNS, a chatting service, a search service and a cloud service. Moreover, the program guide data may include further a start page resource having unique address information and menu page resources as described below. The program guide data is stored in the system memory  209 . 
         [0056]    Here, the unique address information may be a uniform resource identifier URI or a uniform resource location URL. 
         [0057]    The present invention provides a method using pages (start page and menu pages) having unique URI or URL in a program guide mode, wherein the pages may be shown with one screen to the user. 
         [0058]    As described above, the start page resource and the menu page resources are data based on HTML having unique address information. The start page resource includes a container for managing menu pages, and the menu page resource includes a context interworking with the container. 
         [0059]    Here, the container and the context are defined as application programs made with java script language to perform certain functions in an HTML page, and are programs executed by a browser installed at the broadcasting terminal  102 .  FIG. 3  is a view illustrating a framework for a program guide service according to one embodiment of the present invention. 
         [0060]    In  FIG. 3 , the framework may include a container  300  loaded by a browser  304  and contexts  302 - 1  to  302 - n  loaded by the container  300 . 
         [0061]    The microprocessor  206  of the broadcasting terminal  102  loads the browser, the container and the context to the system memory  209  and executes the loaded browser, the loaded container and the loaded context. 
         [0062]    As mentioned above, the container  300  is included in the start page resource (index.html), and each of the contexts  302 - 1  to  302 - n  may be included in the menu page resources for navigation of the menus, respectively. 
         [0063]    The start page resource and the menu page resource may be received from the headend  100  through the network module  208  of the broadcasting terminal  102 . Additionally, the headend  100  may transmits periodically the start page resource and the menu page resource to the broadcasting terminal  102 . 
         [0064]    In one embodiment, the container  300  in the start page resource generates a first key handler  310  at a executing time, i.e. initiation time and manages life cycle of the menu pages by using the generated first key handler  310 . 
         [0065]    In one embodiment, the container  300  may perform an openContext function (open of the menu page), a closeContext function (close of the menu page), a pushContext function (push of the menu page), a popContext function (displaying the menu page in a pop-up type) and a clearContext function (total menu page closing). 
         [0066]    Here, the first key handler  310  includes a key value inputted through a remote controller by the user and functions mapped with the key value. 
         [0067]      FIG. 4  is a view illustrating arrangement of a start page and menu pages outputted sequentially on a display according to one embodiment of the present invention. 
         [0068]    In one embodiment, the start page  400  may be disposed at a lowest layer of the display, and the latest menu page  402 - 3  may be disposed at an upper layer of the display. 
         [0069]    Preferably, when the menu pages are sequentially outputted, a first menu page  402 - 1  may be outputted in hidden state according as the third menu page  402 - 3  is outputted in the event that the first menu page  402 - 1  to the third menu page  402 - 3  are sequentially outputted. That is, in the event that the menu pages are sequentially outputted, the menu pages may be outputted so that the user can view only the latest menu page. 
         [0070]    In one embodiment, the menu pages  302  may be outputted through an iframe included in the start page resource. 
         [0071]    The iframe, as a tag for inserting a frame in the HTML page, reads other HTML page in one page and shows the read other HTML page. 
         [0072]    In one embodiment, in the event that the user requests the navigation of the menu, the iframe corresponding to size of the display is generated and a menu page having address information corresponding to request of the user is displayed. 
         [0073]    Preferably, the start page may perform playing of a program selected by the user, and the menu page  402 - 3  disposed at the uppermost layer may be outputted with transparent state and the other menu pages  402 - 1  and  402 - 2  may be outputted with hidden state so that the user can see the program to being played. 
         [0074]    That is, the menu page disposed at the uppermost layer overlays on the start page. 
         [0075]      FIG. 4  shows arrangement of menu pages in the start page, but it may be understood that  FIG. 4  illustrates the framework including the container  300  and the context  302  managed by the container  300 . 
         [0076]    As shown in  FIG. 3  to  FIG. 4 , the container  300  of the present embodiment stores the menu pages  402  outputted in sequence in a stack  330  when the user inputs a key event for the navigation of the menu. 
         [0077]    Here, the latest menu page of the menu pages outputted in sequence may have lowest depth. 
         [0078]    In  FIG. 5 , in the event that next menu page  402 - 3  is outputted according as the user requests the navigation of the menu, the container  300  converts previous menu page  402 - 2  into deactivating state and stores the converted previous menu page  402 - 2  in the stack  330 . In the event that the user requests return to the previous menu page  402 - 2 , the container  300  reads the previous menu page  402 - 2  from the stack  330  and converts the read previous menu page  402 - 2  into activating state. In this time, the menu page  402 - 3  shown at the uppermost layer in present time is converted into deactivating state and then is stored in the stack  330 . 
         [0079]    To convert the menu page to activating state or deactivating state is performed by the first key handler  310  of the container  300 . 
         [0080]    On the other hand, in the event that the key event is inputted, the first key handler  310  determines whether it processes directly the inputted key event or delivers the inputted key event to a context of other menu page. 
         [0081]    In the event that the key event corresponds to request to next menu page or request of return to previous menu page, the first key handler  310  handles directly the key event. 
         [0082]    Additionally, in the event that key event corresponding to closing of every menu page  402 - 1  to  402 - 3  is inputted as shown in  FIG. 6 , the first key handler  310  handles directly the key event. 
         [0083]    In the event that key event should be processed at other menu page, the container  300  delivers the inputted key event to a context for corresponding menu page  402 - 3  as shown in  FIG. 6 . 
         [0084]    For example, in the event that the menu page disposed at uppermost layer of the display at present corresponds to a menu page (VOD purchase page) for purchasing specific on-demand program and the user inputs a key event for request of purchase, the first key handler  310  delivers the key event to a context in the VOD purchase page, and the context processes purchasing request of a VOD by the user according to the delivered key event. 
         [0085]    As mentioned above, the context, to which the key event is delivered from the container  300 , may be a context included in the menu page disposed at uppermost layer. 
         [0086]    For example, in the event that the third menu page  402 - 3  is disposed at uppermost layer as shown in  FIG. 6 , corresponding context  302 - 3  may be a context to which the key event is delivered from the container  300 . 
         [0087]    To process the key event, the context of the present embodiment generates the second key handler  320  at an executing time, and processes the key event delivered from the container  300  by using the second key handler  320 . More particularly, the second key handler  320  may perform a function (for example, playing, purchasing, ending of specific on-demand program, etc.) corresponding to the key event, and perform an operation such as open and close of the menu page. 
         [0088]    On the other hand, the container  300  may perform a play function of a program, which the user wants to view in advance, in the program guide mode. 
         [0089]    As shown in  FIG. 4 , the menu page  402  of the present embodiment may include layers  404  having different location and attribute, and the layers  404  may show different information in the menu page. 
         [0090]    For example, in the event that the menu page is a page for a program live guide, a first layer  404 - 1 , a second layer  404 - 2  and a third layer  404 - 3  may be defined as a channel information display area(channel/time information display area), a program moving picture display area of a channel required by the user and a program related information display area, respectively. 
         [0091]      FIG. 7  is a flowchart illustrating a process of providing a program guide according to one embodiment of the present invention. 
         [0092]    In  FIG. 7 , it is assumed that a start page resource and a menu page resource for the program guide are provided from the headend  100  according to request of the broadcasting terminal  102 . 
         [0093]    Referring to  FIG. 7 , the broadcasting terminal  102  receives start request of the program guide from the user in a step of S 700 . 
         [0094]    The broadcasting terminal  102  requests an HTML page for a program guide mode to the headend  100  according to the start request in a step of S 702 , and the headend  100  transmits the HTML page to the broadcasting terminal  102  in a step of S 704 . In the step of S 704 , the HTML page may include the start page resource and the menu page resources having lower layer compared with a start page. 
         [0095]    In a step of S 706 , the broadcasting terminal  102  executes the container  300  included in the start page resource. 
         [0096]    The broadcasting terminal  102  outputs the start page to a display according as the container  300  is executed. 
         [0097]    The container  300  generates the first key handler  310  for processing a key event by the user in a step of S 708 , and the container  300  manages state of the menu pages for navigation of the menu by using the first key handler  310 . 
         [0098]    As described above, managing of the menu page may include a process of changing the menu page to activate or deactivate by interworking with the stack  330 , a process of ending total menu pages, etc. 
         [0099]    In the event that the key event is an event related to executing of the menu page, the container  300  executes the context  302  in a menu page being executed at present in a step of S 710 . 
         [0100]    In a step of S 712 , the context  302  generates the second key handler  320  for processing the key event at executing initial time. 
         [0101]    In a step of S 714 , the container  300  determines an element for processing every key event inputted through a remote controller in the program guide mode. 
         [0102]    In the step of S 714 , in the event that the inputted key event is a key event processed by a context being executed at present, the key event is delivered to corresponding context in a step of S 716 , and the second key handler  310  in the context to which the key event is delivered performs an operation corresponding to the key event. 
         [0103]    In the event that the element for processing the key event is the container  300  in the step S 714 , the container  300  processes directly the key event in a step of S 718 . 
         [0104]    The method of providing a channel service according to an embodiment of the invention, can be implemented in the form of program instructions that can be executed by various means for processing electronic information, and can be recorded on a storage medium. The storage medium can include program instructions, data files, data structures, etc., alone or in combination. 
         [0105]    The program instructions recorded on the medium can be designed and configured specifically for the present invention or can be a type of medium known to and used by the skilled person in the field of computer software. Examples of a storage medium may include magnetic media such as hard disks, floppy disks, magnetic tapes, etc., optical media such as CD-ROM&#39;s, DVD&#39;s, etc., magneto-optical media such as floptical disks, etc., and hardware devices such as ROM, RAM, flash memory, etc. Examples of the program of instructions may include not only machine language codes produced by a compiler but also high-level language codes that can be executed by a means for electronically processing information through the use of an interpreter, etc. 
         [0106]    The hardware mentioned above can be made to operate as one or more software modules that perform the actions of the embodiments of the invention, and vice versa. 
         [0107]    The embodiments of the invention described above are disclosed for illustrative purposes. Those of ordinary skill in the art to which the present invention pertains would understand that various modifications, alterations, and additions can be made without departing from the spirit and scope of the invention, and that such modifications, alterations, and additions are encompassed by the scope of claims defined below.