Patent Publication Number: US-9888268-B2

Title: Video display apparatus and operating method thereof

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of co-pending U.S. patent application Ser. No. 14/362,861 filed on Jun. 4, 2014, which is the national phase of PCT International Application No. PCT/KR2014/001241 filed on Feb. 14, 2014, and which claims the benefit of U.S. Provisional Application No. 61/764,545 filed on Feb. 14, 2013. The entire contents of all of the above applications are hereby incorporated by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     Field of the Invention 
     The present disclosure relates to a video display device and a method of operating the same. 
     Discussion of the Related Art 
     As digital broadcasting is paving the way for its extensive spread, a broadcasting station transmits both main audio-visual (AV) contents and enhanced service data, which may be linked to the main audio and video contents to provide information and services or may be separately provided for other purposes. 
     However, a video display device in each home may unlikely receive broadcast signals directly through air under a current broadcasting environment. Rather, most of cases, a video display device in each home is connected to a broadcast receiving device to display uncompressed audio-visual contents that the broadcast receiving device provides. 
     Additionally, the broadcast receiving device receives contents from a server (called a Multichannel Video Programming Distributor (MVPD)). The MVPD receives a broadcast signal from a broadcasting station, extracts contents from the received broadcast signal, converts the extracted content into signals having a proper format for transmission, and provides the converted signals to a broadcast receiving device. During these processes, the MVPD may exclude extracted enhanced service data or may add another enhanced service data, so that the broadcasting receiving device is compelled to receive an enhanced service dependent on the MVPD. 
     The MVPD provides a plurality of channels, which are provided by contents providers, to a broadcast receiving device. 
     Since the broadcast receiving device extracts main AV data from signal received from the MVPD and provides only uncompressed audio-visual data to a video display device, only enhanced services provided from the broadcast receiving device not the video display device are available. 
     SUMMARY OF THE INVENTION 
     Embodiments provide a video display device for recognizing promotional content input in the form of uncompressed audio and video content and notifying broadcast of content to a user based on a viewing intention of the user for the content advertised by the promotional content, and a method of operating the same. 
     In one embodiment, a operating method of a video display device including a display unit, the method comprising: obtaining an uncompressed audio and video content; receiving information of the uncompressed audio and video content based on a characteristic information of the uncompressed audio and video; setting a content reminder based on the information of the uncompressed audio and video content, wherein the content reminder notifies broadcasting information for another content which is related to the uncompressed audio and video content; and reminding the another content while displaying the broadcasting information of the another content based on the setting of the content reminder. 
     The receiving the information of the uncompressed audio and video content may comprises receiving a video display device identifier which identifies the video display device, wherein the reminding the another content while displaying the broadcasting information of the another content comprises receiving a content remind message based on the video display device identifier. 
     The receiving the video display device identifier may comprises receiving the video display device identifier based on a URL which includes the video display device identifier and a download URL of a promotion application, wherein the promotion application sets the content reminder. 
     The receiving the video display device identifier may comprises tokenizing the URL to receive the video display device identifier. 
     According to an embodiment of the present invention, an enhanced service independent from an MVPD is provided. Especially, according to an embodiment of the present invention, even when a broadcaster or a content provider does not provide enhanced service, the enhanced service is provided through a third party server independent from the broadcaster or the content provider. 
     Additionally, according to various embodiments of the present invention, main audio and video content related information search, chatting, news search, digital media download, product catalogue download, and product purchase are possible without an inconvenient text input through a remote controller. 
     Additionally, according to an embodiment of the present invention, an enhanced service exceeding the bandwidth of a wireless channel is provided. 
     A video display device according to an embodiment of the present invention may obtain a channel map on the basis of uncompressed AV data inputted through an external input. 
     A third party server according to an embodiment of the present invention provides information on whether to allow a leanback app to a video display device in order to prevent the leanback app from seriously affecting the stability of the video display device. 
     By notifying the URL address of an ACR server that is locally close to a video display device according to an embodiment of the present invention, the video display device performs contents recognition fast and reduces network latency. 
     A third party server according to an embodiment of the present invention may prevent unnecessary resource consumption by providing information on an ACR on time interval to a video playback device. 
     A video display device according to an embodiment may recognize promotional content based on uncompressed AV data input through an external input. 
     A video display device according to an embodiment may store a viewing intention of a user for content advertised by promotional content. 
     A video display device according to an embodiment may indicate that content is broadcast based on a viewing intention of a user for the content advertised by promotional content. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram illustrating the network topology according to the embodiment. 
         FIG. 2  is a block diagram illustrating a watermark based network topology according to an embodiment. 
         FIG. 3  is a ladder diagram illustrating a data flow in a watermark based network topology according to an embodiment. 
         FIG. 4  is view illustrating a watermark based content recognition timing according to an embodiment. 
         FIG. 5  is a block diagram illustrating a fingerprint based network topology according to an embodiment. 
         FIG. 6  is a ladder diagram illustrating a data flow in a fingerprint based network topology according to an embodiment. 
         FIG. 7  is a view illustrating an XML schema diagram of ACR-Resulttype containing a query result according to an embodiment. 
         FIG. 8  is a block diagram illustrating a watermark and fingerprint based network topology according to an embodiment. 
         FIG. 9  is a ladder diagram illustrating a data flow in a watermark and fingerprint based network topology according to an embodiment. 
         FIG. 10  is a block diagram illustrating the video display device according to the embodiment. 
         FIG. 11  is a flowchart illustrating a method of synchronizing a playback time of a main audio and video content with a playback time of an enhanced service according to an embodiment. 
         FIG. 12  is a conceptual diagram illustrating a method of synchronizing a playback time of a main audio and video content with a playback time of an enhanced service according to an embodiment. 
         FIG. 13  is a screen when an auto playing application is executed according to an embodiment. 
         FIG. 14  is a screen when a content provider application is executed according to an embodiment. 
         FIG. 15  is a view of a user interface for controlling an ACR function according to an embodiment. 
         FIG. 16  is a flowchart illustrating a method of controlling a video display device according to the embodiment. 
         FIG. 17  is a view illustrating a network topology according to an embodiment of the present invention. 
         FIG. 18  is a view illustrating a Live+ app according to various embodiments of the present invention. 
         FIG. 19  is a view illustrating a method of executing a Live+ app according to various embodiments of the present invention. 
         FIG. 20  is a view illustrating a tab function of a Live+ app according to an embodiment of the present invention. 
         FIG. 21  is a view illustrating an architecture of the third party server  90  according to an embodiment of the present invention. 
         FIG. 22  is a ladder diagram illustrating an operation of a video display device for an automatic execution application according to an embodiment of the present invention. 
         FIG. 23  is a ladder diagram illustrating an operation of a video display device for a channel-independent application according to an embodiment of the present invention. 
         FIG. 24  is a ladder diagram illustrating an operation of a video display device for a channel-independent application according to another embodiment of the present invention. 
         FIG. 25  is a conceptual diagram illustrating a video display device according to an embodiment of the present invention. 
         FIG. 26  is a ladder diagram illustrating an operation of a video display device according to another embodiment of the present invention. 
         FIG. 27  is an XML schema diagram of ACR configuration information according to an embodiment of the present invention. 
         FIG. 28  is a ladder diagram illustrating an operation of a video display device according to another embodiment of the present invention. 
         FIG. 29  is an XML schema diagram of ACR configuration information according to an embodiment of the present invention. 
         FIG. 30  is a view of an EPG window displaying the MVPD logo of Dish Network, a satellite operator, according to an embodiment of the present invention. 
         FIG. 31  is a view of an EPG window displaying the MVPD logo of Comcast, a Cable operator, according to an embodiment of the present invention. 
         FIG. 32  is a view of an EPG window displaying the MVPD logo of Comcast, a Cable operator, according to an embodiment of the present invention. 
         FIG. 33  is a view of a menu window displaying the MVPD logo of DirecTV, a satellite operator, according to an embodiment of the present invention. 
         FIG. 34  is a view of channel map processing according to an embodiment of the present invention. 
         FIG. 35  is a view of channel map processing according to an embodiment of the present invention. 
         FIG. 36  is a conceptual diagram of a video display device according to an embodiment of the present invention. 
         FIG. 37  is a conceptual diagram of a video display device according to an embodiment of the present invention. 
         FIG. 38  is a diagram illustrating a network topology for a video content reminder application service according to an embodiment. 
         FIG. 39  is a ladder diagram illustrating operation of a video content reminder application according to an embodiment. 
         FIG. 40  is a block diagram illustrating that an identifier of a video display device is transmitted according to an embodiment. 
         FIG. 41  is a flowchart illustrating operation of a video display device executing a promotional application according to an embodiment. 
         FIG. 42  illustrates a user interface of content reminder setting of a promotional application according to an embodiment. 
         FIG. 43  illustrates a content reminder user interface of a content reminder application according to an embodiment. 
         FIG. 44  illustrates a content reminder user interface of a content reminder application according to another embodiment. 
         FIG. 45  illustrates a content reminder user interface of a content reminder application according to another embodiment. 
         FIG. 46  is a diagram illustrating a network topology for a video content reminder application service according to another embodiment. 
         FIG. 47  is a ladder diagram illustrating operation of a video content reminder application according to another embodiment. 
         FIG. 48  is a diagram illustrating a network topology for a video content reminder application service according to another embodiment. 
         FIG. 49  is a ladder diagram illustrating operation of a video content reminder application according to another embodiment. 
         FIG. 50  is a conceptual diagram illustrating a video display device executing a content reminder application according to an embodiment. 
         FIG. 51  is a block diagram illustrating a structure of a fingerprint based video display device according to another embodiment. 
         FIG. 52  is a block diagram illustrating a structure of a watermark based video display device according to another embodiment. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Hereinafter, a mobile terminal relating to the present invention will be described in more detail with reference to the accompanying drawings. Noun suffixes such as “engine”, “module”, and “unit” for components in description below are given or mixed in consideration of easiness in writing the specification. That is, the noun suffixes themselves does not have respectively distinguishable meanings or roles. 
     A network topology will be described with reference to  FIGS. 1 to 9  according to an embodiment. 
       FIG. 1  is a block diagram illustrating the network topology according to the embodiment. 
     As shown in  FIG. 1 , the network topology includes a content providing server  10 , a content recognizing service providing server  20 , a multi channel video distributing server  30 , an enhanced service information providing server  40 , a plurality of enhanced service providing servers  50 , a broadcast receiving device  60 , a network  70 , and a video display device  100 . 
     The content providing server  10  may correspond to a broadcasting station and broadcasts a broadcast signal including main audio-visual contents. The broadcast signal may further include enhanced services. The enhanced services may or may not relate to main audio-visual contents. The enhanced services may have formats such as service information, metadata, additional data, compiled execution files, web applications, Hypertext Markup Language (HTML) documents, XML, documents, Cascading Style Sheet (CSS) documents, audio files, video files, ATSC 2.0 contents, and addresses such as Uniform Resource Locator (URL). There may be at least one content providing server. 
     The content recognizing service providing server  20  provides a content recognizing service that allows the video display device  100  to recognize content on the basis of main audio-visual content. The content recognizing service providing server  20  may or may not edit the main audio-visual content. There may be at least one content recognizing service providing server. 
     The content recognizing service providing server  20  may be a watermark server that edits the main audio-visual content to insert a visible watermark, which may look a logo, into the main audio-visual content. This watermark server may insert the logo of a content provider at the upper-left or upper-right of each frame in the main audio-visual content as a watermark. 
     Additionally, the content recognizing service providing server  20  may be a watermark server that edits the main audio-visual content to insert content information into the main audio-visual content as an invisible watermark. 
     Additionally, the content recognizing service providing server  20  may be a fingerprint server that extracts characteristic information from some frames or audio samples of the main audio-visual content and stores it. This characteristic information is called signature. 
     The multi channel video distributing server  30  receives and multiplexes broadcast signals from a plurality of broadcasting stations and provides the multiplexed broadcast signals to the broadcast receiving device  60 . Especially, the multi channel video distributing server  30  performs demodulation and channel decoding on the received broadcast signals to extract main audio-visual content and enhanced service, and then, performs channel encoding on the extracted main audio-visual content and enhanced service to generate a multiplexed signal for distribution. At this point, since the multi channel video distributing server  30  may exclude the extracted enhanced service or may add another enhanced service, a broadcasting station may not provide services led by it. There may be at least one multi channel video distributing server. 
     The broadcasting device  60  may tune a channel selected by a user and receives a signal of the tuned channel, and then, performs demodulation and channel decoding on the received signal to extract a main audio-visual content. The broadcasting device  60  decodes the extracted main audio-visual content through H.264/Moving Picture Experts Group-4 advanced video coding (MPEG-4 AVC), Dolby AC-3 or Moving Picture Experts Group-2 Advanced Audio Coding (MPEG-2 AAC) algorithm to generate an uncompressed main audio-visual (AV) content. The broadcast receiving device  60  provides the generated uncompressed main audio and video content to the video display device  100  through its external input port. 
     The enhanced service information providing server  40  provides enhanced service information on at least one available enhanced service relating to a main audio and video content in response to a request of a video display device. There may be at least one enhanced service providing server. The enhanced service information providing server  40  may provide enhanced service information on the enhanced service having the highest priority among a plurality of available enhanced services. 
     The enhanced service providing server  50  provides at least one available enhanced service relating to a main audio and video content in response to a request of a video display device. There may be at least one enhanced service providing server. 
     The video display device  100  may be a television, a notebook computer, a hand phone, and a smart phone, each including a display unit. The video display device  100  may receive an uncompressed main audio and video content from the broadcast receiving device  60  or a broadcast signal including an encoded main audio and video content from the contents providing server  10  or the multi channel video distributing server  30 . The video display device  100  may receive a content recognizing service from the content recognizing service providing server  20  through the network  70 , an address of at least one available enhanced service relating to a main audio and video content from the enhanced service information providing server  40  through the network  70 , and at least one available enhanced service relating to a main audio and video content from the enhanced service providing server  50 . 
     At least two of the content providing server  10 , the content recognizing service providing server  20 , the multi channel video distributing server  30 , the enhanced service information providing server  40 , and the plurality of enhanced service providing servers  50  may be combined in a form of one server and may be operated by one provider. 
       FIG. 2  is a block diagram illustrating a watermark based network topology according to an embodiment. 
     As shown in  FIG. 2 , the watermark based network topology may further include a watermark server  21 . 
     As shown in  FIG. 2 , the watermark server  21  edits a main audio and video content to insert content information into it. The multi channel video distributing server  30  may receive and distribute a broadcast signal including the modified main audio and video content. Especially, a watermark server may use a digital watermarking technique described below. 
     A digital watermark is a process for inserting information, which may be almost undeletable, into a digital signal. For example, the digital signal may be audio, picture, or video. If the digital signal is copied, the inserted information is included in the copy. One digital signal may carry several different watermarks simultaneously. 
     In visible watermarking, the inserted information may be identifiable in a picture or video. Typically, the inserted information may be a text or logo identifying a media owner. If a television broadcasting station adds its logo in a corner of a video, this is an identifiable watermark. 
     In invisible watermarking, although information as digital data is added to audio, picture, or video, a user may be aware of a predetermined amount of information but may not recognize it. A secret message may be delivered through the invisible watermarking. 
     One application of the watermarking is a copyright protection system for preventing the illegal copy of digital media. For example, a copy device obtains a watermark from digital media before copying the digital media and determines whether to copy or not on the bases of the content of the watermark. 
     Another application of the watermarking is source tracking of digital media. A watermark is embedded in the digital media at each point of a distribution path. If such digital media is found later, a watermark may be extracted from the digital media and a distribution source may be recognized from the content of the watermark. 
     Another application of invisible watermarking is a description for digital media. 
     A file format for digital media may include additional information called metadata and a digital watermark is distinguished from metadata in that it is delivered as an AV signal itself of digital media. 
     The watermarking method may include spread spectrum, quantization, and amplitude modulation. 
     If a marked signal is obtained through additional editing, the watermarking method corresponds to the spread spectrum. Although it is known that the spread spectrum watermark is quite strong, not much information is contained because the watermark interferes with an embedded host signal. 
     If a marked signal is obtained through the quantization, the watermarking method corresponds to a quantization type. The quantization watermark is weak, much information may be contained. 
     If a marked signal is obtained through an additional editing method similar to the spread spectrum in a spatial domain, a watermarking method corresponds to the amplitude modulation. 
       FIG. 3  is a ladder diagram illustrating a data flow in a watermark based network topology according to an embodiment. 
     First, the content providing server  10  transmits a broadcast signal including a main audio and video content and an enhanced service in operation S 101 . 
     The watermark server  21  receives a broadcast signal that the content providing server  10  provides, inserts a visible watermark such as a logo or watermark information as an invisible watermark into the main audio and video content by editing the main audio and video content, and provides the watermarked main audio and video content and enhanced service to the MVPD  30  in operation S 103 . 
     The watermark information inserted through an invisible watermark may include at least one of a watermark purpose, content information, enhanced service information, and an available enhanced service. The watermark purpose represents one of illegal copy prevention, viewer ratings, and enhanced service acquisition. 
     The content information may include at least one of identification information of a content provider that provides main audio and video content, main audio and video content identification information, time information of a content section used in content information acquisition, names of channels through which main audio and video content is broadcasted, logos of channels through which main audio and video content is broadcasted, descriptions of channels through which main audio and video content is broadcasted, a usage information reporting period, the minimum usage time for usage information acquisition, and available enhanced service information relating to main audio and video content. 
     If the video display device  100  uses a watermark to acquire content information, the time information of a content section used for content information acquisition may be the time information of a content section into which a watermark used is embedded. If the video display device  100  uses a fingerprint to acquire content information, the time information of a content section used for content information acquisition may be the time information of a content section where characteristic information is extracted. The time information of a content section used for content information acquisition may include at least one of the start time of a content section used for content information acquisition, the duration of a content section used for content information acquisition, and the end time of a content section used for content information acquisition. 
     The usage information reporting address may include at least one of a main audio and video content watching information reporting address and an enhanced service usage information reporting address. The usage information reporting period may include at least one of a main audio and video content watching information reporting period and an enhanced service usage information reporting period. A minimum usage time for usage information acquisition may include at least one of a minimum watching time for a main audio and video content watching information acquisition and a minimum usage time for enhanced service usage information extraction. 
     On the basis that a main audio and video content is watched for more than the minimum watching time, the video display device  100  acquires watching information of the main audio and video content and reports the acquired watching information to the main audio and video content watching information reporting address in the main audio and video content watching information reporting period. 
     On the basis that an enhanced service is used for more than the minimum usage time, the video display device  100  acquires enhanced service usage information and reports the acquired usage information to the enhanced service usage information reporting address in the enhanced service usage information reporting period. 
     The enhanced service information may include at least one of information on whether an enhanced service exists, an enhanced service address providing server address, an acquisition path of each available enhanced service, an address for each available enhanced service, a start time of each available enhanced service, an end time of each available enhanced service, a lifetime of each available enhanced service, an acquisition mode of each available enhanced service, a request period of each available enhanced service, priority information each available enhanced service, description of each available enhanced service, a category of each available enhanced service, a usage information reporting address, a usage information reporting period, and the minimum usage time for usage information acquisition. 
     The acquisition path of available enhanced service may be represented with IP or Advanced Television Systems Committee-Mobile/Handheld (ATSC M/H). If the acquisition path of available enhanced service is ATSC M/H, enhanced service information may further include frequency information and channel information. An acquisition mode of each available enhanced service may represent Push or Pull. 
     Moreover, the watermark server  21  may insert watermark information as an invisible watermark into the logo of a main audio and video content. 
     For example, the watermark server  21  may insert a barcode at a predetermined position of a logo. At this point, the predetermined position of the logo may correspond to the first line at the bottom of an area where the logo is displayed. The video display device  100  may not display a barcode when receiving a main audio and video content including a logo with the barcode inserted. 
     For example, the watermark server  21  may insert a barcode at a predetermined position of a logo. At this point, the log may maintain its form. 
     For example, the watermark server  21  may insert N-bit watermark information at each of the logos of M frames. That is, the watermark server  21  may insert M*N watermark information in M frames. 
     The MVPD  30  receives broadcast signals including watermarked main audio and video content and enhanced service and generates a multiplexed signal to provide it to the broadcast receiving device  60  in operation S 105 . At this point, the multiplexed signal may exclude the received enhanced service or may include new enhanced service. 
     The broadcast receiving device  60  tunes a channel that a user selects and receives signals of the tuned channel, demodulates the received signals, performs channel decoding and AV decoding on the demodulated signals to generate an uncompressed main audio and video content, and then, provides the generated uncompressed main audio and video content to the video display device  100  in operation S 106 . 
     Moreover, the content providing server  10  also broadcasts a broadcast signal including a main audio and video content through a wireless channel in operation S 107 . 
     Additionally, the MVPD  30  may directly transmit a broadcast signal including a main audio and video content to the video display device  100  without going through the broadcast receiving device  60  in operation S 108 . 
     The video display device  100  may receive an uncompressed main audio and video content through the broadcast receiving device  60 . Additionally, the video display device  100  may receive a broadcast signal through a wireless channel, and then, may demodulate and decode the received broadcast signal to obtain a main audio and video content. Additionally, the video display device  100  may receive a broadcast signal from the MVPD  30 , and then, may demodulate and decode the received broadcast signal to obtain a main audio and video content. The video display device  100  extracts watermark information from some frames or a section of audio samples of the obtained main audio and video content. If watermark information corresponds to a logo, the video display device  100  confirms a watermark server address corresponding to a logo extracted from a corresponding relationship between a plurality of logos and a plurality of watermark server addresses. When the watermark information corresponds to the logo, the video display device  100  cannot identify the main audio and video content only with the logo. Additionally, when the watermark information does not include content information, the video display device  100  cannot identify the main audio and video content but the watermark information may include content provider identifying information or a watermark server address. When the watermark information includes the content provider identifying information, the video display device  100  may confirm a watermark server address corresponding to the content provider identifying information extracted from a corresponding relationship between a plurality of content provider identifying information and a plurality of watermark server addresses. In this manner, when the video display device  100  cannot identify a main audio and video content the video display device  100  only with the watermark information, it accesses the watermark server  21  corresponding to the obtained watermark server address to transmit a first query in operation S 109 . 
     The watermark server  21  provides a first reply to the first query in operation S 111 . The first reply may include at least one of content information, enhanced service information, and an available enhanced service. 
     If the watermark information and the first reply do not include an enhanced service address, the video display device  100  cannot obtain enhanced service. However, the watermark information and the first reply may include an enhanced service address providing server address. In this manner, the video display device  100  does not obtain a service address or enhanced service through the watermark information and the first reply. If the video display device  100  obtains an enhanced service address providing server address, it accesses the enhanced service information providing server  40  corresponding to the obtained enhanced service address providing server address to transmit a second query including content information in operation S 119 . 
     The enhanced service information providing server  40  searches at least one available enhanced service relating to the content information of the second query. Later, the enhanced service information providing server  40  provides to the video display device  100  enhanced service information for at least one available enhanced service as a second reply to the second query in operation S 121 . 
     If the video display device  100  obtains at least one available enhanced service address through the watermark information, the first reply, or the second reply, it accesses the at least one available enhanced service address to request enhanced service in operation S 123 , and then, obtains the enhanced service in operation S 125 . 
       FIG. 4  is a view illustrating a watermark based content recognition timing according to an embodiment. 
     As shown in  FIG. 4 , when the broadcast receiving device  60  is turned on and tunes a channel, and also, the video display device  100  receives a main audio and video content of the turned channel from the broadcast receiving device  60  through an external input port  111 , the video display device  100  may sense a content provider identifier (or a broadcasting station identifier) from the watermark of the main audio and video content. Then, the video display device  100  may sense content information from the watermark of the main audio and video content on the basis of the sensed content provider identifier. 
     At this point, as shown in  FIG. 4 , the detection available period of the content provider identifier may be different from that of the content information. Especially, the detection available period of the content provider identifier may be shorter than that of the content information. Through this, the video display device  100  may have an efficient configuration for detecting only necessary information. 
       FIG. 5  is a block diagram illustrating a fingerprint based network topology according to an embodiment. 
     As shown in  FIG. 5 , the network topology may further include a fingerprint server  22 . 
     As shown in  FIG. 5 , the fingerprint server  22  does not edit a main audio and video content, but extracts characteristic information from some frames or a section of audio samples of the main audio and video content and stores the extracted characteristic information. Then, when receiving the characteristic information from the video display device  100 , the fingerprint server  22  provides an identifier and time information of an audio and video content corresponding to the received characteristic information. 
       FIG. 6  is a ladder diagram illustrating a data flow in a fingerprint based network topology according to an embodiment. 
     First, the content providing server  10  transmits a broadcast signal including a main audio and video content and an enhanced service in operation S 201 . 
     The fingerprint server  22  receives a broadcast signal that the content providing server  10 , extracts a plurality of pieces of characteristic information from a plurality of frame sections or a plurality of audio sections of the main audio and video content, and establishes a database for a plurality of query results corresponding to the plurality of characteristic information in operation S 203 . The query result may include at least one of content information, enhanced service information, and an available enhanced service. 
     The MVPD  30  receives broadcast signals including a main audio and video content and enhanced service and generates a multiplexed signal to provide it to the broadcast receiving device  60  in operation S 205 . At this point, the multiplexed signal may exclude the received enhanced service or may include new enhanced service. 
     The broadcast receiving device  60  tunes a channel that a user selects and receives signals of the tuned channel, demodulates the received signals, performs channel decoding and AV decoding on the demodulated signals to generate an uncompressed main audio and video content, and then, provides the generated uncompressed main audio and video content to the video display device  100  in operation S 206 . 
     Moreover, the content providing server  10  also broadcasts a broadcast signal including a main audio and video content through a wireless channel in operation S 207 . 
     Additionally, the MVPD  30  may directly transmit a broadcast signal including a main audio and video content to the video display device  100  without going through the broadcast receiving device  60 . 
     The video display device  100  may receive an uncompressed main audio and video content through the broadcast receiving device  60 . Additionally, the video display device  100  may receive a broadcast signal through a wireless channel, and then, may demodulate and decode the received broadcast signal to obtain a main audio and video content. Additionally, the video display device  100  may receive a broadcast signal from the MVPD  30 , and then, may demodulate and decode the received broadcast signal to obtain a main audio and video content. The video display device  100  extracts characteristic information from some frames or a section of audio samples of the obtained main audio and video content in operation S 213 . 
     The video display device  100  accesses the fingerprint server  22  corresponding to the predetermined fingerprint server address to transmit a first query including the extracted characteristic information in operation S 215 . 
     The fingerprint server  22  provides a query result as a first reply to the first query in operation S 217 . If the first reply corresponds to fail, the video display device  100  accesses the fingerprint server  22  corresponding to another fingerprint server address to transmit a first query including the extracted characteristic information. 
     The fingerprint server  22  may provide Extensible Markup Language (XML) document as a query result. Examples of the XML document containing a query result will be described with reference to  FIG. 7  and Table 1. 
       FIG. 7  is a view illustrating an XML schema diagram of ACR-Resulttype containing a query result according to an embodiment. 
     As shown in  FIG. 7 , ACR-Resulttype containing a query result includes ResultCode attributes and ContentID, NTPTimestamp, SignalingChannelInformation, and ServiceInformation elements. 
     For example, if the ResultCode attribute has 200, this may mean that the query result is successful. For example, if the ResultCode attribute has 404, this may mean that the query result is unsuccessful. 
     The SignalingChannelInformation element includes a SignalingChannelURL, and the SignalingChannelURL element includes an UpdateMode and PollingCycle attributes. The UpdateMode attribute may have a Pull value or a Push value. 
     The ServiceInformation element includes ServiceName, ServiceLogo, and ServiceDescription elements. 
     Table 1 illustrates an XML schema of ACR-ResultType containing the query result. 
     
       
         
           
               
             
               
                 TABLE 1 
               
               
                   
               
             
            
               
                 &lt;xs:complexType name=“ACR-ResultType”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“ContentID” type=“xs:anyURI”/&gt; 
               
               
                   
                 &lt;xs:element name=“NTPTimestamp” type=“xs:unsignedLong”/&gt; 
               
               
                   
                 &lt;xs:element name=“SignalingChannelInformation”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:complexType&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“SignalingChannelURL” maxOccurs=“unbounded”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:complexType&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:simpleContent&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:extension base=“xs:anyURI”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:attribute name=“UpdateMode”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:simpleType&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:restriction base=“xs:string”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:enumeration value=“Pull”/&gt; 
               
               
                   
                 &lt;xs:enumeration value=“Push”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:restriction&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:simpleType&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:attribute&gt; 
               
               
                   
                 &lt;xs:attribute name=“PollingCycle” type=“xs:unsignedInt”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:extension&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:simpleContent&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:element&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:element&gt; 
               
               
                   
                 &lt;xs:element name=“ServiceInformation”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:complexType&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“ServiceName” type=“xs:string”/&gt; 
               
               
                   
                 &lt;xs:element name=“ServiceLogo” type=“xs:anyURI” minOccurs=“0”/&gt; 
               
               
                   
                 &lt;xs:element name=“ServiceDescription” type=“xs:string” 
               
            
           
           
               
            
               
                 minOccurs=“0” maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:element&gt; 
               
               
                   
                 &lt;xs:any namespace=“##other” processContents=“skip” minOccurs=“0” 
               
            
           
           
               
            
               
                 maxOccurs =“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
               
                   
                 &lt;xs:attribute name=“ResultCode” type=“xs:string” use=“required”/&gt; 
               
               
                   
                 &lt;xs:anyAttribute processContents=“skip”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                   
               
            
           
         
       
     
     As the ContentID element, an ATSC content identifier may be used as shown in Table 2. 
     
       
         
           
               
               
               
             
               
                 TABLE 2 
               
               
                   
               
               
                 Syntax 
                 The Number of bits 
                 format 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
            
               
                 ATSC_content_identifier( ) { 
               
            
           
           
               
               
               
               
            
               
                   
                 TSID 
                 16  
                 uimsbf 
               
               
                   
                 reserved 
                 2 
                 bslbf 
               
               
                   
                 end_of_day 
                 5 
                 uimsbf 
               
               
                   
                 unique_for 
                 9 
                 uimsbf 
               
               
                   
                 content_id 
                 var 
                   
               
            
           
           
               
            
               
                 } 
               
               
                   
               
            
           
         
       
     
     As shown in Table 2, the ATSC content identifier has a structure including TSID and a house number. 
     The 16 bit unsigned integer TSID carries a transport stream identifier. 
     The 5 bit unsigned integer end_of_day is set with an hour in a day of when a content_id value can be reused after broadcasting is finished. 
     The 9 bit unsigned integer unique_for is set with the number of day of when the content_id value cannot be reused. 
     Content_id represents a content identifier. The video display device  100  reduces unique_for by 1 in a corresponding time to end_of_day daily and presumes that content_id is unique if unique_for is not 0. 
     Moreover, as the ContentID element, a global service identifier for ATSC-M/H service may be used as described below. 
     The global service identifier has the following form.
         urn:oma:bcast:iauth:atsc:service:&lt;region&gt;:&lt;xsid&gt;:&lt;serviceid&gt;       

     Here, &lt;region&gt; is an international country code including two characters regulated by ISO 639-2. &lt;xsid&gt; for local service is a decimal number of TSID as defined in &lt;region&gt;, and &lt;xsid&gt; (regional service) (major&gt;69) is “0”. &lt;serviceid&gt; is defined with &lt;major&gt; or &lt;minor&gt;. &lt;major&gt; represent a Major Channel number, and &lt;minor&gt; represents a Minor Channel Number. 
     Examples of the global service identifier are as follows.
         urn:oma:bcast:iauth:atsc:service:us:1234:5.1   urn:oma:bcast:iauth:atsc:service:us:0:100.200       

     Moreover, as the ContentID element, an ATSC content identifier may be used as described below. 
     The ATSC content identifier has the following form. 
     
       
         
           
               
             
               
                   
               
             
            
               
                 urn:oma:bcast:iauth:atsc:content&lt;region&gt;:&lt;xsidz&gt;:&lt;contentid&gt;:&lt;unique_for&gt;: 
               
               
                 &lt;end_of_day&gt; 
               
               
                   
               
            
           
         
       
     
     Here, &lt;region&gt; is an international country code including two characters regulated by ISO 639-2. &lt;xsid&gt; for local service is a decimal number of TSID as defined in &lt;region&gt;, and may be followed by “.”&lt;serviceid&gt;. &lt;xsid&gt; for (regional service) (major&gt;69) is &lt;serviceid&gt;. &lt;content_id&gt; is a base64 sign of a content_id field defined in Table 2, &lt;unique_for&gt; is a decimal number sign of an unique_for field defined in Table 2, and &lt;end_of_day&gt; is a decimal number sign of an end_of_day field defined in Table 2. 
     Hereinafter,  FIG. 6  is described again. 
     If the query result does not include an enhanced service address or enhanced service but includes an enhanced service address providing server address, the video display device  100  accesses the enhanced service information providing server  40  corresponding to the obtained enhanced service address providing server address to transmit a second query including content information in operation S 219 . 
     The enhanced service information providing server  40  searches at least one available enhanced service relating to the content information of the second query. Later, the enhanced service information providing server  40  provides to the video display device  100  enhanced service information for at least one available enhanced service as a second reply to the second query in operation S 221 . 
     If the video display device  100  obtains at least one available enhanced service address through the first reply or the second reply, it accesses the at least one available enhanced service address to request enhanced service in operation S 223 , and then, obtains the enhanced service in operation S 225 . 
     When the UpdateMode attribute has a Pull value, the video display device  100  transmits an HTTP request to the enhanced service providing server  50  through SignalingChannelURL and receives an HTTP reply including a PSIP binary stream from the enhanced service providing server  50  in response to the request. In this case, the video display device  100  may transmit the HTTP request according to a Polling period designated as the PollingCycle attribute. Additionally, the SignalingChannelURL element may have an update time attribute. In this case, the video display device  100  may transmit the HTTP request according to an update time designated as the update time attribute. 
     If the UpdateMode attribute has a Push value, the video display device  100  may receive update from a server asynchronously through XMLHTTPRequest API. After the video display device  100  transmits an asynchronous request to a server through XMLHTTPRequest object, if there is a change of signaling information, the server provides the signaling information as a reply through the channel. If there is limitation in session standby time, a server generates a session timeout reply and a receiver recognizes the generated timeout reply to transmit a request again, so that a signaling channel between the receiver and the server may be maintained for all time. 
       FIG. 8  is a block diagram illustrating a watermark and fingerprint based network topology according to an embodiment. 
     As shown in  FIG. 8 , the watermark and fingerprint based network topology may further include a watermark server  21  and a fingerprint server  22 . 
     As shown in  FIG. 8 , the watermark server  21  inserts content provider identifying information into a main audio and video content. The watermark server  21  may insert content provider identifying information as a visible watermark such as a logo or an invisible watermark into a main audio and video content. 
     The fingerprint server  22  does not edit a main audio and video content, but extracts characteristic information from some frames or a certain section of audio samples of the main audio and video content and stores the extracted characteristic information. Then, when receiving the characteristic information from the video display device  100 , the fingerprint server  22  provides an identifier and time information of an audio and video content corresponding to the received characteristic information. 
       FIG. 9  is a ladder diagram illustrating a data flow in a watermark and fingerprint based network topology according to an embodiment. 
     First, the content providing server  10  transmits a broadcast signal including a main audio and video content and an enhanced service in operation S 301 . 
     The watermark server  21  receives a broadcast signal that the content providing server  10  provides, inserts a visible watermark such as a logo or watermark information as an invisible watermark into the main audio and video content by editing the main audio and video content, and provides the watermarked main audio and video content and enhanced service to the MVPD  30  in operation S 303 . The watermark information inserted through an invisible watermark may include at least one of content information, enhanced service information, and an available enhanced service. The content information and enhanced service information are described above. 
     The MVPD  30  receives broadcast signals including watermarked main audio and video content and enhanced service and generates a multiplexed signal to provide it to the broadcast receiving device  60  in operation S 305 . At this point, the multiplexed signal may exclude the received enhanced service or may include new enhanced service. 
     The broadcast receiving device  60  tunes a channel that a user selects and receives signals of the tuned channel, demodulates the received signals, performs channel decoding and AV decoding on the demodulated signals to generate an uncompressed main audio and video content, and then, provides the generated uncompressed main audio and video content to the video display device  100  in operation S 306 . 
     Moreover, the content providing server  10  also broadcasts a broadcast signal including a main audio and video content through a wireless channel in operation S 307 . 
     Additionally, the MVPD  30  may directly transmit a broadcast signal including a main audio and video content to the video display device  100  without going through the broadcast receiving device  60  in operation S 308 . 
     The video display device  100  may receive an uncompressed main audio and video content through the broadcast receiving device  60 . Additionally, the video display device  100  may receive a broadcast signal through a wireless channel, and then, may demodulate and decode the received broadcast signal to obtain a main audio and video content. Additionally, the video display device  100  may receive a broadcast signal from the MVPD  30 , and then, may demodulate and decode the received broadcast signal to obtain a main audio and video content. The video display device  100  extracts watermark information from audio samples in some frames or periods of the obtained main audio and video content. If watermark information corresponds to a logo, the video display device  100  confirms a watermark server address corresponding to a logo extracted from a corresponding relationship between a plurality of logos and a plurality of watermark server addresses. When the watermark information corresponds to the logo, the video display device  100  cannot identify the main audio and video content only with the logo. Additionally, when the watermark information does not include content information, the video display device  100  cannot identify the main audio and video content but the watermark information may include content provider identifying information or a watermark server address. When the watermark information includes the content provider identifying information, the video display device  100  may confirm a watermark server address corresponding to the content provider identifying information extracted from a corresponding relationship between a plurality of content provider identifying information and a plurality of watermark server addresses. In this manner, when the video display device  100  cannot identify a main audio and video content the video display device  100  only with the watermark information, it accesses the watermark server  21  corresponding to the obtained watermark server address to transmit a first query in operation S 309 . 
     The watermark server  21  provides a first reply to the first query in operation S 311 . The first reply may include at least one of a fingerprint server address, content information, enhanced service information, and an available enhanced service. The content information and enhanced service information are described above. 
     If the watermark information and the first reply include a fingerprint server address, the video display device  100  extracts characteristic information from some frames or a certain section of audio samples of the main audio and video content in operation S 313 . 
     The video display device  100  accesses the fingerprint server  22  corresponding to the fingerprint server address in the first reply to transmit a second query including the extracted characteristic information in operation S 315 . 
     The fingerprint server  22  provides a query result as a second reply to the second query in operation S 317 . 
     If the query result does not include an enhanced service address or enhanced service but includes an enhanced service address providing server address, the video display device  100  accesses the enhanced service information providing server  40  corresponding to the obtained enhanced service address providing server address to transmit a third query including content information in operation S 319 . 
     The enhanced service information providing server  40  searches at least one available enhanced service relating to the content information of the third query. Later, the enhanced service information providing server  40  provides to the video display device  100  enhanced service information for at least one available enhanced service as a third reply to the third query in operation S 321 . 
     If the video display device  100  obtains at least one available enhanced service address through the first reply, the second reply, or the third reply, it accesses the at least one available enhanced service address to request enhanced service in operation S 323 , and then, obtains the enhanced service in operation S 325 . 
     Then, referring to  FIG. 10 , the video display device  100  will be described according to an embodiment. 
       FIG. 10  is a block diagram illustrating the video display device according to the embodiment. 
     As shown in  FIG. 10 , the video display device  100  includes a broadcast signal receiving unit  101 , a demodulation unit  103 , a channel decoding unit  105 , a demultiplexing unit  107 , an AV decoding unit  109 , an external input port  111 , a play controlling unit  113 , a play device  120 , an enhanced service management unit  130 , a data transmitting/receiving unit  141 , and a memory  150 . 
     The broadcast signal receiving unit  101  receives a broadcast signal from the content providing server  10  or MVPD  30 . 
     The demodulation unit  103  demodulates the received broadcast signal to generate a demodulated signal. 
     The channel decoding unit  105  performs channel decoding on the demodulated signal to generate channel-decoded data. 
     The demultiplexing unit  107  separates a main audio and video content and enhanced service from the channel-decoded data. The separated enhanced service is stored in an enhanced service storage unit  152 . 
     The AV decoding unit  109  performs AV decoding on the separated main audio and video content to generate an uncompressed main audio and video content. 
     Moreover, the external input port  111  receives an uncompressed main audio and video content from the broadcast receiving device  60 , a digital versatile disk (DVD) player, a Blu-ray disk player, and so on. The external input port  111  may include at least one of a DSUB port, a High Definition Multimedia Interface (HDMI) port, a Digital Visual Interface (DVI) port, a composite port, a component port, and an S-Video port. 
     The play controlling unit  113  controls the play device  120  to play at least one of an uncompressed main audio and video content that the AV decoding unit  109  generates and an uncompressed main audio and video content received from the external input port  111  according to a user&#39;s selection. 
     The play device  120  includes a display unit  121  and a speaker  123 . The display unit  21  may include at least one of a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED), a flexible display, and a 3D display. 
     The enhanced service management unit  130  obtains content information of the main audio and video content and obtains available enhanced service on the basis of the obtained content information. Especially, as described above, the enhanced service management unit  130  may obtain the identification information of the main audio and video content on the basis of some frames or a certain section of audio samples the uncompressed main audio and video content. This is called automatic contents recognition (ACR) in this specification. 
     The data transmitting/receiving unit  141  may include an Advanced Television Systems Committee-Mobile/Handheld (ATSC-M/H) channel transmitting/receiving unit  141   a  and an IP transmitting/receiving unit  141   b.    
     The memory  150  may include at least one type of storage medium such as a flash memory type, a hard disk type, a multimedia card micro type, a card type memory such as SD or XD memory, Random Access Memory (RAM), Static Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), magnetic memory, magnetic disk, and optical disk. The video display device  100  may operate in linkage with a web storage performing a storage function of the memory  150  in the Internet. 
     The memory  150  may include a content information storage unit  151 , an enhanced service storage unit  152 , a logo storage unit  153 , a setting information storage unit  154 , a bookmark storage unit  155 , a user information storage unit  156 , and a usage information storage unit  157 . 
     The content information storage unit  151  stores a plurality of content information corresponding to a plurality of characteristic information. 
     The enhanced service storage unit  152  may store a plurality of enhanced services corresponding to a plurality of characteristic information or a plurality of enhanced services corresponding to a plurality of content information. 
     The logo storage unit  153  stores a plurality of logos. Additionally, the logo storage unit  153  may further store content provider identifiers corresponding to the plurality of logos or watermark server addresses corresponding to the plurality of logos. 
     The setting information storage unit  154  stores setting information for ACR. 
     The bookmark storage unit  155  stores a plurality of bookmarks. 
     The user information storage unit  156  stores user information. The user information may include at least one of at least one account information for at least one service, regional information, family member information, preferred genre information, video display device information, and a usage information range. The at least one account information may include account information for a usage information measuring server and account information of social network service such as Twitter and Facebook. The regional information may include address information and zip codes. The family member information may include the number of family members, each member&#39;s age, each member&#39;s sex, each member&#39;s religion, and each member&#39;s job. The preferred genre information may be set with at least one of sports, movie, drama, education, news, entertainment, and other genres. The video display device information may include information such as the type, manufacturer, firmware version, resolution, model, OS, browser, storage device availability, storage device capacity, and network speed of a video display device. Once the usage information range is set, the video display device  100  collects and reports main audio and video content watching information and enhanced service usage information within the set range. The usage information range may be set in each virtual channel. Additionally, the usage information measurement allowable range may be set over an entire physical channel. 
     The usage information providing unit  157  stores the main audio and video content watching information and the enhanced service usage information, which are collected by the video display device  100 . Additionally, the video display device  100  analyzes a service usage pattern on the basis of the collected main audio and video content watching information and enhanced service usage information, and stores the analyzed service usage pattern in the usage information storage unit  157 . 
     The enhanced service management unit  130  may obtain the content information of the main audio and video content from the fingerprint server  22  or the content information storage unit  151 . If there is no content information or sufficient content information, which corresponds to the extracted characteristic information, in the content information storage unit  151 , the enhanced service management unit  130  may receive additional content information through the data transmitting/receiving unit  141 . Moreover, the enhanced service management unit  130  may update the content information continuously. 
     The enhanced service management unit  130  may obtain available enhanced service from the enhanced service providing server  50  or the enhanced service storage unit  153 . If there is no enhanced service or sufficient enhanced service in the enhanced service storage unit  153 , the enhanced service management unit  130  may update enhanced service through the data transmitting/receiving unit  141 . Moreover, the enhanced service management unit  130  may update the enhanced service continuously. 
     The enhanced service management unit  130  may extracts a logo from the main audio and video content, and then, may make a query to the logo storage unit  155  to obtain a content provider identifier or watermark server address, which is corresponds to the extracted logo. If there is no logo or a sufficient logo, which corresponds to the extracted logo, in the logo storage unit  155 , the enhanced service management unit  130  may receive an additional logo through the data transmitting/receiving unit  141 . Moreover, the enhanced service management unit  130  may update the logo continuously. 
     The enhanced service management unit  130  may compare the logo extracted from the main audio and video content with the plurality of logos in the logo storage unit  155  through various methods. The various methods may reduce the load of the comparison operation. 
     For example, the enhanced service management unit  130  may perform the comparison on the basis of color characteristics. That is, the enhanced service management unit  130  may compare the color characteristic of the extracted logo with the color characteristics of the logos in the logo storage unit  155  to determine whether they are identical or not. 
     Moreover, the enhanced service management unit  130  may perform the comparison on the basis of character recognition. That is, the enhanced service management unit  130  may compare the character recognized from the extracted logo with the characters recognized from the logos in the logo storage unit  155  to determine whether they are identical or not. 
     Furthermore, the enhanced service management unit  130  may perform the comparison on the basis of the contour of the logo. That is, the enhanced service management unit  130  may compare the contour of the extracted logo with the contours of the logos in the logo storage unit  155  to determine whether they are identical or not. 
     Then, referring to  FIGS. 11 and 12 , a method of synchronizing a playback time of a main audio and video content with a playback time of an enhanced service according to an embodiment will be described. 
       FIG. 11  is a flowchart illustrating a method of synchronizing a playback time of a main audio and video content with a playback time of an enhanced service according to an embodiment. 
     Enhanced service information may include a start time of an enhanced service. At this point, the video display device  100  may need to start the enhanced service at the start time. However, since the video display device  100  receives a signal transmitting an uncompressed main audio and video content with no time stamp, the reference time of a plying time of the main audio and video content is different from that of a start time of the enhanced service. Although the video display device  100  receives a main audio and video content having time information, the reference time of a plying time of the main audio and video content may be different from that of a start time of the enhanced service, like rebroadcasting. Accordingly, the video display device  100  may need to synchronize the reference time of the main audio and video content with that of the enhanced service. Especially, the video display device  100  may need to synchronize the playback time of the main audio and video content with the start time of the enhanced service. 
     First, the enhanced service management unit  130  extracts a certain section of a main audio and video content in operation S 801 . The section of the main audio and video content may include at least one of some video frames or a certain audio section of the main audio and video content. Time that the enhanced service management unit  130  extracts the section of the main audio and video content is designated as Tn. 
     The enhanced service management unit  130  obtains content information of a main audio and video content on the basis of the extracted section. In more detail, the enhanced service management unit  130  decodes information encoded with invisible watermark in the extracted section to obtain content information. Additionally, the enhanced service management unit  130  may extract characteristic information in the extracted section, and obtain the content information of the main audio and video content from the fingerprint server  22  or the content information storage unit  151  on the basis of the extracted characteristic information. Time that the enhanced service management unit  130  obtains the content information is designated as Tm. 
     Moreover, the content information includes a start time Ts of the extracted section. After the content information acquisition time Tm, the enhanced service management unit  130  synchronizes the playback time of the main audio and video content with the start time of the enhanced service on the biases of Ts, Tm, and Tn. In more detail, the enhanced service management unit  130  regards the content information acquisition time Tm as a time Tp calculated by the following Equation 1.
 
 Tp=Ts+ ( Tm−Tn )  [Equation 1]
 
     Additionally, the enhanced service management unit  130  regards a time of when Tx elapses after the content information acquisition time as Tp+Tx. 
     Then, the enhanced service management unit  130  obtains an enhanced service and its start time Ta on the obtained content information in operation S 807 . 
     If the synchronized playback time of the main audio and video content is identical to the start time Ta of the enhanced service, the enhanced service management unit  130  starts the obtained enhanced service in operation S 809 . In more detail, the enhanced service management unit  130  may start the enhanced service when the following Equation 2 is satisfied.
 
 Tp+Tx=Ta   [Equation 2]
 
       FIG. 12  is a conceptual diagram illustrating a method of synchronizing a playback time of a main audio and video content with a playback time of an enhanced service according to an embodiment. 
     As shown in  FIG. 12 , the video display device  100  extracts an AV sample during a system time Tn. 
     The video display device  100  extracts characteristic information from the extracted AV sample, and transmits a query including the extracted characteristic information to the fingerprint server  22  to receive a query result. The video display device  100  confirms whether a start time Ts of the extracted AV sample corresponds to 11000 ms at Tm by parsing the query result. 
     Accordingly, the video display device  100  regards the time of when the start time of the extracted AV sample is confirmed according to Equation 1 as Ts+(Tm−Tn), so that, after that, the playback time of the main audio and video content may be synchronized with the start time of the enhanced service. 
     Next, an ACR application will be described according to various embodiments with reference to  FIGS. 13 to 14 . 
     The ACR application may include an auto playing application, a content provider application, and a video display manufacturer application. 
       FIG. 13  is a screen when an auto playing application is executed according to an embodiment. 
     The auto playing application automatically plays an enhanced service even when a user makes no action. In this sense, the auto playing application is designated as a lean back application in this specification. 
     The auto playing application automatically plays an enhanced service such as scene related information that a content provider or broadcasting station provides during playing of the main audio and video content according to a playback time of the main audio and video content, without a user&#39;s input. That is, a content provider or broadcasting station entirely controls the auto playing application. For example, when an auto playing application relates to a specific channel or a specific content, as the video display device  100  enters a channel or content relating to the auto playing application, the video display device  100  may automatically execute a corresponding auto playing application without a user input. Then, when the video display device  100  becomes out of a channel or content relating to an auto playing application, it may automatically terminate a corresponding auto playing application without a user input. In this sense, an auto playing application will be referred to as a channel-dependent application or a content-dependent application in this specification. 
     As shown in  FIG. 13 , once the auto playing application is executed, the screen  200  may include a sub screen  210  where a reduced main audio and video content is played and a sub screen  220  where additional information is displayed. The sub screen  200  where additional information is displayed may be spatially separated from the sub screen  210  where a main audio and video content is played. 
     Moreover, when an auto playing application is executed, an area where additional information is displayed may be semi-transparent. In this case, the area where additional information is displayed may overlay on an area where a main audio and video content played. 
       FIG. 14  is a screen when a content provider application is executed according to an embodiment. 
     In this specification, the content provider application is designated as a full interactive application. 
     As shown in  FIG. 14  (A), the video display device  100  downloads and stores a plurality of applications.  FIG. 14  (A) illustrates icons  230  of the applications. A content provider application among the plurality of applications is an application created and distributed by a content provider, and thus, may be under control of the content provider. 
     A user of the video display device  100  may download a content provider application from an application store and determines whether to execute the downloaded content provider application. 
       FIG. 14  (B) is a screen when a content provider application is executed. As shown in  FIG. 14  (B), the screen  200  may include the sub screen  210  where a reduced main audio and video content is played and the sub screen  220  where additional information is displayed. 
     Hereinafter, a video display device manufacturer application will be described according to an embodiment with reference to  FIGS. 23 to 50 . 
     The video display device manufacturer application is created and controlled by a video display device manufacturer, and may be stored in advance when the video display device  100  is manufactured. That is, the video display device manufacturer application may provide the same service and user interface regardless of a content provider or content. 
     The video display device manufacturer application may include an area where an enhanced service that a content provider provides is displayed and an area where an enhanced service that a video display device manufacturer provides is displayed, separately. A user of the video display device  100  may determine whether to execute the video display device manufacturer application. 
     The video display device manufacturer application may have two types. 
     The video display device manufacturer application of the first type has a resizing user interface. The video display device manufacturer application having the resizing user interface reduces the size of an area where a main audio and video content is displayed to display all the main audio and video content in a reduced area. Additionally, the video display device manufacturer application having the resizing user interface reshapes an area where an application is displayed with an L or inverse-L shaped structure. 
     The video display device manufacturer application of the second type has an overlay user interface. The video display device manufacturer application having the overlay user interface maintains the size of an area where a main audio and video content is displayed, and overlaps an area where an application is displayed on the main audio and video content. Since the area where an application is displayed covers the main audio and video content, an application area may be semi-transparent. 
     Like this, a video display device manufacturer application is not dependent on any single contents provider or any single channel. Although it is described that such an application is manufactured by a video display device manufacturer, the present invention is not limited thereto. An application not dependent on any single contents provider or any single channel is not executed by a channel change or is not terminated by a channel change. For convenience of description in this specification, an application not dependent on any single content provider or any single channel may be referred to as a channel-independent application, a video display device manufacturer application or a Live+ app. 
     Then, an on/off control of an ACR function will be described according to an embodiment with reference to  FIGS. 15 and 16 . 
       FIG. 15  is a view of a user interface for controlling an ACR function according to an embodiment. 
     As shown in  FIG. 15 , the play controlling unit  113  displays an ACR function setting window. A user may activate or deactivate the ACR function through the ACR function setting window. 
     When the ACR function is activated, a user may select an ACR mode. The ACR mode may be set with one of an auto playing application mode, a content provider application mode, and a video display manufacturer application mode. 
     When the ACR function mode is set in the above manner, the play controlling unit  113  stores setting information on a setting information storage unit  154 . 
       FIG. 16  is a flowchart illustrating a method of operating a video display device according to the embodiment. 
     The enhanced service management unit  130  confirms whether the ACR function is turned on in operation S 1901 . 
     If the ACR function is deactivated, the enhanced service management unit  130  does not perform a content information obtaining procedure any more. 
     If the ACR function is activated, the enhanced service management unit  130  extracts a certain section of a main audio and video content in operation S 1902 . 
     The enhanced service management unit  130  obtains content information of the main audio and video content on the basis of the extracted section in operation S 1903 . 
     The enhanced service management unit  130  synchronizes the reference time of the main audio and video content with the reference time of an alternative advertisement in operation S 1905 . 
     The enhanced service management unit  130  obtains an enhanced service on the basis of the obtained content information in operation S 1907 . The enhanced service management unit  130  obtains enhanced service information on the basis of the content information, and then obtains an enhanced service on the basis of the enhanced service information. 
     Then, the enhanced service management unit  130  confirms the ACR mode in operation S 1909 . 
     The enhanced service management unit  130  plays the enhanced service according to the ACR mode in operation S 1911 . 
     In more detail, if the ACR mode is an automatic play application mode, the enhanced service management unit  130  executes an automatic play application, and the executed automatic play application plays the obtained enhanced service. 
     If the ACR mode is the content provider application mode, the enhanced service management unit  130  executes a content provider application corresponding to the obtained content information in background. The enhanced service management unit  130  displays a content provider application when receiving a user input corresponding to an enhanced service use. This content provider application may play the obtained enhanced service. Instead that the content provider application is automatically executed in background, it may be executed by a user input. 
     If the ACR mode is the video display device manufacturer application mode, the enhanced service management unit  130  executes its video display device manufacturer application in background. The enhanced service management unit  130  displays the video display device manufacturer application when receiving a user input corresponding to an enhanced service use. This video display device manufacturer application may play the obtained enhanced service. Instead that the video display device manufacturer application is automatically executed in background, it may be executed by a user input. 
     Next, third party enhanced service will be described according to an embodiment of the present invention with reference to  FIGS. 17 to 42 . 
       FIG. 17  is a view illustrating a network topology according to an embodiment of the present invention. 
     As shown in  FIG. 17 , the network topology includes a contents providing server  10  such as a Broadcaster/CP Backend server, a third party server  90  such as the enhanced service providing server  50 , a contents recognition service providing server  20  such as an ACR server, and a video display device  100  such as an ACR Smart TV. 
     The video display device  100  may obtain broadcaster enhanced service from the contents providing server  10  by using a channel-dependent application or a Leanback app such as a contents-dependent application, and may obtain third party enhanced service from the third party server  90  by using a Live+ app such as a channel-independent application. 
     The Leanback app such as a channel-dependent application is an application that a broadcaster or a CP provides, and also provides a service synchronized by a program unit or a scene unit. Since a broadcaster is a subject to produce a program, it knows well which scene is in a program. Thus, the broadcaster may display the most suitable contents for a specific scene. Once the video display device  100  recognizes a program, it downloads a Leanback app from the contents providing server  10  of the corresponding program, and then, automatically executes the downloaded Leanback app. However, when the video display device  100  changes the current channel to another channel unrelated to the executed Leanback app, it automatically terminates the corresponding Leanback app, and if there is a Leanback app of the changed channel, it executes the corresponding Leanback app. 
     A Live+ app is an application that a third party provides (for example, a manufacturer), is pre-installed in a TV, and may be executed always regardless of a channel or program that a user currently watches, unlike the Leanback app. In relation to an ACR architecture that the present invention suggests, a Live+ app displays program related enhanced information and contents synchronized by a scene unit. The Live+ app has a consistent user interface and is always executed regardless of a program. The Live+ app may provide various services by using program related metadata even when a broadcaster does not provide program related additional information. For example, the Live+ app may provide basic information on a program and recommendation on movies in which a program actor appears. Since the Live+ app has an area assigned to a broadcaster/CP, it may display corresponding program related enhancement data on a corresponding area when the broadcaster provides program related additional information. For example, enhancement data that a broadcaster provides may include the replay of the previous broadcast of the program that a user currently watches and scene synchronized contents (for example, product purchase, place reservation, music source purchase and download, and product ad). 
     The video display device  100  includes an ACR module to extract a signature from uncompressed audio and video content and queries the contents recognition service providing server  20  through the extracted signature in order to recognize a program. Also, the video display device  100  drives a program related application on the basis of the recognized program. The Leanback app may be downloaded after the program recognition and then executed. The Live+ app may be pre-installed by a manufacturer when a TV is released, or may be downloaded from an app store and installed. 
     The contents recognition service providing server  20  stores the signatures of audio and/or video of a broadcasted program. The contents recognition service providing server  20  may extract and store the signature of a real-time broadcast by using a signature capture system, and may receive an ACR DB including a signature corresponding to a specific program from a broadcaster and then may store it. The ACR DB of the contents recognition service providing server  20  stores the content ID, signature, timestamp, and URL of a program. In this specification, two types of content IDs may be used. 
     The first type of content ID, as an ID that a broadcaster directly assigns, is an identifier that uniquely identifies a program in a broadcaster. The broadcaster may assign the content ID to the program in its desired format. The content ID may be used when program related enhancement data are requested to the content providing server  10 . 
     The second type of content ID, as a global unique content ID, is an identifier that uniquely identifies a program nationally or globally. Since programs are transmitted through national broadcast channels, local broadcast channels, cable broadcasts, or satellite broadcasts, in order to extract the signatures of all the programs, a plurality of signature capture equipment may be installed in a plurality of areas. Also, in order to uniquely identify and distinguish each program nationally or globally, a global unique content ID may be assigned to each program. In order to map each program into a global unique content ID, a metadata database may be used. Since the metadata database includes program schedule information in addition to metadata such as program related additional information, the signature delivered from a capture system may be mapped into a certain program by using the metadata database. The capture system knows which area, channel, and time the extracted signature relates to, and thus, when the metadata database is searched with this information, a program may be found. The contents recognition service providing server  20  and the third party server  90  may share the metadata database, and may recognize a program through a global unique content ID by using the metadata database. The format of the global unique content ID may be designated by a third party operating a server, or may be provided from the metadata database. 
     All services that a Live+ app provides are provided from the third party server  90 . The third party server  90  may receive a global unique content ID that the contents recognition service providing server  20  delivers, from the video display device  100 . The third party server  90  may extract program related metadata corresponding to the global unique content ID from the metadata database through the global unique content ID, and on the basis of the extracted metadata, may provide program related various services to the video display device  100 . Additionally, if there is additional information on the recognized program that a broadcaster provides, the third party server  90  accesses the broadcaster server in order to receive program related enhancement data, and processes and provides them to the video display device  100 . The program related enhancement data that a broadcaster provides through a Live+ app have the same contents as but a different user interface from the enhancement data that a Leanback app. However, in another embodiment, according to broadcasters, the program related enhancement data that a broadcaster provides through a Live+ app may be different from those that a Leanback app provides. 
     There may be a plurality of contents providing servers  10  for a plurality of broadcasters or a plurality of CPs. The contents providing server  10  has a program targeted Leanback app and program related enhancement data that the Leanback app outputs. 
       FIG. 18  is a view illustrating a Live+ app according to various embodiments of the present invention. 
     The Live+ app may resize main AV media content in order to display it on the upper left area of the screen, may display program related additional information on the right area of the screen, and may display a program related ad on the bottom area of the screen. The Live+ app may display a plurality of tabs on the top area of the contents area in the right area. The plurality of tabs may include a program tab, a recommends tab, a talk tab, and a plus tap. 
       FIG. 19  is a view illustrating a method of executing a Live+ app according to various embodiments of the present invention. 
     The video display device  100  may display a home screen or a My Apps screen. The My Apps screen is a screen displaying a list of application installed in the video display device  100 . 
     On receiving a user input selecting a Live+ app from a plurality of applications shown on the home screen or the My Apps screen, the video display device  100  may execute the Live+ app. 
     Additionally, while playing a broadcast, the video display device  100  may display a graphic notifying that there is a Live+ app at a predetermined time interval through a timer, and when receiving a user input relating to this graphic, may execute the Live+ app. 
       FIG. 20  is a view illustrating a tab function of a Live+ app according to an embodiment of the present invention. 
     The program tab provides basic information on a program that a viewer currently watches and the replay service of the program. The video display device  100  may fetch the program basic information from the Meta DB of the third party server  90 . The video display device  100  may bring the information on the program replay service from the contents providing server  10  that creates a corresponding program, through the third party server  90 . 
     The recommends tab may recommend another audio and video content relating to a current program, i.e. a movie or a video (for example, Youtube) or an app relating to the current program. The third party server  90  may determine a movie or a video for recommendation on the basis of the title, genre, or cast of the current program, and then may process the information about this to provide the recommendation tab of the Live+ app of the video display device  100 . 
     The Talk tab provides a twitter article corresponding to the current program related conversation content. The third party server  90  may searches for the current program related twitter article on the basis of the title, genre, or cast of the current program, and then may process the searched article to provide the Talk tab of the Live+ app of the video display device  100 . 
     The Plus tab is an area where a broadcaster displays the program related data. The Plug tab may provide information received from the broadcaster as it is, or may provide information that is received from a broadcaster server and processed by the third party server  90 . There is no limit to the type and number of data that the Plus tab provides. The Plus tab may provide various enhancement data such as product purchase, place reservation, music source purchase, and product ad. However, when the information from a broadcaster server is provided to the Plus tab as it is, the third party server  90  processes the information from the broadcaster server to be fit for the position and size of the contents area of the Live+ app, and then provides the processed information to the video display device  100   
       FIG. 21  is a view illustrating an architecture of the third party server  90  according to an embodiment of the present invention. 
     As shown in  FIG. 21 , the third party server  90  includes an Application Layer, a Service Component Layer, a Back-end System Layer, and a Data Component Layer. 
     The application layer may communicate with various devices including the video display device  100  through a delivery interface. The application layer may include an AppStore component. The AppStore component may support an interface through which a developer registers an app, and also may support an interface through which a general user searches for, downloads, and installs an app. Additionally, the Live+ app may receive services such as ad, search, and recommendation in the third part server  90  through the AppStore component. 
     A service component layer may communicate with the application layer through a service integration interface. The service component layer includes an ad service component, an integration search component, a recommendation component, and an ACR component. The service component layer receives the processed data from the back-end system layer and delivers them to the application layer. The ACR component may obtain program related basic additional information through the metadata component of the back-end system layer by using the received Content ID, Global Content ID, timestamp, and broadcaster server URL from the video display device  100 . Additionally, the ACR component may deliver the information on a program title and actors obtained from the metadata to the integration search component in order to a program related search result. 
     The back-end system layer reads original data from the data component layer and processes and delivers the data to the service component layer. The back-end system layer may include a search engine security component, a DRAM component, a metadata component, an ad platform component, and an ACR component. 
     The data component layer may have actual data. Here, the data component layer may include a file repository, an integrated DB, a user profile repository, a user profile repository, a metadata repository, and an ad data storage. The user profile repository may store information on a viewer or user&#39;s gender, age, region, income, family member, preferred genre, preferred channel, and preferred program. The metadata repository may include information on content&#39;s title, episode, director, synopsis, casts, genre, channel, and air time. The third party server  90  may receive information on a content from a metadata provider or real-time broadcast guide information (for example, in the case of ATSC terrestrial waves, PSIP), and then may store the received information in the metadata repository. 
       FIG. 22  is a ladder diagram illustrating an operation of a video display device for an automatic execution application according to an embodiment of the present invention. 
     First, the video display device  100  extracts characteristic information from some frames of the main audio and video content or a section of audio samples of the main audio and video content, and transmits an ACR query request message including the extracted characteristic information to a fingerprint server  22  corresponding to an ACR server in operation S 2105 . 
     The fingerprint server  22  queries characteristic information in the ACR query request message from an ACR DB to identify a program corresponding to the characteristic information, and provides an ACR query response message including contents information on the identified program to the video display device  100  in operation S 2107 . At this point, the ACR query response message may include information on whether program recognition is successful, contents information, and the URL of a Leanback app. As mentioned above, the content information may include the content ID and timestamp of the recognized program. Here, the format of the content ID may be a format that only a corresponding broadcaster recognizes. Especially, this is the case that a broadcaster provides the ACR DB of the corresponding program to the contents recognition service providing server  20 . 
     When the program identification is successful and the Leanback app URL is valid, the video display device  100  requests a Leanback app through a corresponding Leanback app URL in operation S 2109 . 
     The contents providing server  10  provides the Leanback app that the video display device  100  requests to the video display device  100  in operation S 2111 . Consequently, the video display device  100  may download the Leanback app. 
     When the video display device  100  successfully downloads the Leanback app, it automatically executes a corresponding Leanback app in operation S 2113 . 
     The Leanback app executed in the video display device  100  obtains a content ID and a timestamp periodically from an ACR engine in the video display device  100 , and transmits an enhancement data request message including the obtained content ID and timestamp to the contents providing server  10  in operation S 2115 , and then requests the enhancement data relating to a scene corresponding to the content ID and the timestamp. 
     The contents providing server  10  delivers the requested enhancement data to the Leanback app. Since the Leanback app is an application that a broadcaster provides, an interface of the contents providing server  10  of one broadcaster may be different from that of the contents providing server  10  of another broadcaster. When there is scene related additional information, the Leanback app may perform operations S 2113  and S 2117  repeatedly. 
       FIG. 23  is a ladder diagram illustrating an operation of a video display device for a channel-independent application according to an embodiment of the present invention. 
     On receiving a user input to execute an installed Live+ app, the video display device  100  executes the Live+ app in operation S 2201 . 
     When an ACR function is turned off, the Live+ app executed in the video display device  100  turns on the ACR module in operation S 2203 . 
     The video display device  100  extracts characteristic information from some frames of the main audio and video content or a section of audio samples of the main audio and video content, and transmits an ACR query request message including the extracted characteristic information to the ACR server corresponding to the fingerprint server  22  in operation S 2205 . 
     The fingerprint server  22  queries characteristic information in the ACR query request message from an ACR DB to identify a program corresponding to the characteristic information, and provides an ACR query response message including contents information on the identified program to the video display device  100  in operation S 2207 . At this point, the ACR query response message may include information on whether program recognition is successful and contents information. As mentioned above, the content information may include the global unique content ID and timestamp of the recognized program. 
     The Live+ app executed in the video display device  100  receives a user input for service type selection in operation S 2209 . At this point, the service type may correspond to at least one of a program type, a recommendation type, a conversation type, and a plus type. For example, enhancement data corresponding to the selected service type may be a real-time news article relating to cast members and a service recommending a movie in which a program cast member appears as a leading role. 
     The Live+ app executed in the video display device  100  obtains contents information on the currently recognized program from the ACR engine in the video display device  100 , and transmits a program related content request message to the third party server  90  in operation S 2211  in order to request enhancement data corresponding to the selected service type. At this point, the program related content request message may include content information on the currently recognized program and information on the selected service type. 
     The Live+ app may transmit an HTTP based request to the third party server  90  through ajax call. Parameters delivered at this point may include a service type, a Content ID, a Global Content ID, a timestamp, and a broadcaster server URL. The HTTP request may deliver a HTTP GET based parameter using the following syntax. 
     
       
         
           
               
               
             
               
                   
                   
               
             
            
               
                   
                 [HTTP GET syntax] 
               
               
                   
                 ?service=&lt;service name&gt;&amp;contentId=&lt;Content ID&gt; 
               
               
                   
                 &amp;globalContentId=&lt;Global Content ID&gt;&amp;ts=&lt;timestamp&gt; 
               
               
                   
                 [&amp;url=&lt;broadcaster server URL&gt;] 
               
               
                   
                   
               
            
           
         
       
     
     &lt;service name&gt; is the name of a service that a Live+ app requests. In this embodiment, the following &lt;service name&gt; may be used.
         “getProgram”: is a service name for receiving program related basic information and previous episodes, and is used for a program tab of a Live+ app.   “getRecommends”: is a service name for receiving data of program related recommendation (VOD recommendation and App recommendation), and is used for a recommends tab of a Live+ app.   “getTalk”: is a service name for receiving program related article/twitter, and is used for a talk tab of a Live+ app.   “getPlus”: is a service name for receiving program related enhancement data that a broadcaster provides, and is used for a plus tab of a Live+ app.       

     &lt;Content ID&gt; is a value that a broadcaster delivers to the contents recognition service providing server  20 , and is a content ID that is internally used by a broadcaster in order to uniquely identify a program. 
     Global Content ID&gt; is used for uniquely and globally identifying a program, and for this, the contents recognition service providing server  20  and the third party server  90  may need to use the same Meta DB. The Global Content ID may follow the content id format of the Meta DB. 
     &lt;timestamp&gt; notifies the current watching time of the recognized program and is a value delivered from the contents recognition service providing server  20 . 
     &lt;broadcaster server URL&gt; is delivered when a broadcaster provides program related enhancement data, and with this value, the third party server  90  may access a broadcaster server. 
     In order to locate enhancement data of a program corresponding to the delivered Global Content ID, the third party server  90  searches the metadata repository in operation S 2213 . The metadata repository returns a search result on the enhancement data of a program corresponding to the delivered Global Content ID, to the third party server  90 . 
     The third party server  90  processes the received program enhancement data from the metadata repository and provides the processed enhancement data to the Live+ app executed in the video display device  100  in operation S 2221 . The third party server  90  may transmit the processed enhancement data in an HTTP based response through ajax call. 
       FIG. 24  is a ladder diagram illustrating an operation of a video display device for a channel-independent application according to another embodiment of the present invention. 
     On receiving a user input to execute an installed Live+ app, the video display device  100  executes the Live+ app in operation S 2301 . 
     When an ACR function is turned off, the Live+ app executed in the video display device  100  turns on the ACR module in operation S 2203 . 
     The ACR engine of the video display device  100  extracts characteristic information from some frames of the main audio and video content or a section of audio samples of the main audio and video content, and transmits an ACR query request message including the extracted characteristic information to the ACR server corresponding to the fingerprint server  22  in operation S 2305 . 
     The fingerprint server  22  queries characteristic information in the ACR query request message from an ACR DB to identify a program corresponding to the characteristic information, and provides an ACR query response message including contents information on the identified program to the ACR engine of the video display device  100  in operation S 2307 . At this point, the ACR query response message may include information on whether program recognition is successful, contents information, and the URL of the contents providing server  10 . As mentioned above, the content information may include the global unique content ID of the recognized program and the content ID and timestamp that the broadcaster of the recognized program identifies. In another embodiment, the video display device  100  may have the URL of the contents providing server  10  in advance, not obtaining the URL from the ACR query response message. 
     The Live+ app executed in the video display device  100  receives a user input for service type selection in operation S 2309 . At this point, the service type may correspond to at least one of a program type, a recommendation type, a conversation type, and a plus type. For example, enhancement data corresponding to the selected service type may be a real-time news article relating to cast members and a service recommending a movie in which a program cast member appears as a leading role. 
     The Live+ app executed in the video display device  100  obtains contents information on the currently recognized program from the ACR engine in the video display device  100 , and transmits a program related content request message to the third party server  90  in operation S 2311  in order to request enhancement data corresponding to the selected service type. At this point, the program related content request message may include content information on the currently recognized program, information on the selected service type, and the URL of the broadcaster contents providing server  10 . 
     In order to locate enhancement data of a program corresponding to the delivered Global Content ID, the third party server  90  searches the metadata repository in operation S 2313 . The metadata repository returns a search result on the enhancement data of a program corresponding to the delivered Global Content ID, to the third party server  90 . 
     The third party server  90  accesses the delivered URL of the broadcaster contents providing server  10 , and transmits a metadata request message including the delivered broadcaster content ID and timestamp to the contents providing server  10  in operation  2317  in order to request the current scene related enhancement data to the contents providing server  10 . 
     The third party server  90  receives the current scene related enhancement data from the contents providing server  10  in operation S 2319 . 
     The third party server  90  processes one or a combination of the received program enhancement data from the metadata repository and the received program enhancement data from the contents providing server  10  and provides the processed enhancement data to the Live+ app executed in the video display device  100  in operation S 2321 . 
       FIG. 25  is a conceptual diagram illustrating a video display device according to an embodiment of the present invention. 
     As shown in  FIG. 25 , the video display device  100  includes an Audio/Video driver  601 , an ACR engine  603 , an ACR middleware  605 , an ACR user interface  607 , and an ACR Plugin  609 . 
     The audio/video driver  601  captures an audio/vide signal from an external input of a TV and delivers it to the ACR engine  603 . The audio/video driver  601  may provide API to allow the ACR engine  603  to access an audio/video buffer. The audio/video driver  601  may also provide characteristic information on audio/video inputted from an external input such as HDMI. For example, the audio/video driver  601  may provide information such as a sample depth, a sampling rate, the number of channels (mono/stereo  ), the number of samples, and a sample time, in the case of audio. In the case of video, the audio/video driver  601  may provide information such as a video format, and the width, height, stride, stream time, input type (HDMI1, HDMI2, composite, component, etc), and the number of frames per second of video. 
     The ACR engine  603  may be executed as an additional process, and may recognize a program by using the above mentioned various methods. The ACR engine  603  extracts a signature from an audio/video sample, and delivers the extracted signature to the ACR server to recognize content. As described above, the ACR engine  603  may call API to access an audio/video buffer depending on the implementation of a platform, and may deliver the audio/video stream captured by the audio/video driver  601  to an ACR process through a method such as a socket ACR engine  603  sends an ACR query request in addition to the signature to the ACR server, and receives an ACR query response including whether the content recognition is successful, a Content ID, a Global Content ID, a timestamp, a Leanback app URL, and a broadcaster server URL, from the ACR server. The ACR engine  603  may deliver the result from the ACR server to the ACR middleware  605 . 
     The ACR middleware  605  is a module corresponding to the middleware of a DTV process, and processes an ACR control and an ACR query response from the ACR engine  603 . The ACR middleware  605  controls ACR by executing or terminating an ACR process or starting or stopping the ACR engine  603 . Additionally, the ACR middleware  605  stores values such as a Content ID, a Global Content ID, and a timestamp by parsing the ACR query response. The ACR middleware  605  may provide API to transmit the stored value to an ACR UI or may transmit the stored value to the ACR user interface  607  through a message queue and a global variable. Additionally, in order to deliver data such as a Content ID, a Global Content ID, and a timestamp to an ACR application such as a Live+ app or a Leanback app, the ACR middleware  605  may deliver the data to a web browser through Inter-Process Communication (IPC) of a shared memory and socket. 
     The ACR user interface  607  may display a UI to a user for ACR control of ACR On/Off, or may display information on the name and time of a recognized program to a user through a status bar UI of a TV. 
     When the ACR middleware  605  delivers data such as a Content ID, a Global Content ID, and a timestamp, which are to be delivered to an ACR application, to a browser, the ACR plugin  609  receives the data. The ACR plugin  609  may deliver a corresponding value to an ACR application through a Plugin Object Interface. An interface of the ACR plugin  609  according to an embodiment is shown below. 
     
       
         
           
               
               
             
               
                   
                   
               
               
                   
                 Name 
               
               
                   
                   
               
             
            
               
                   
               
            
           
           
               
               
            
               
                 Property 
                 Readonly ACRMetadata metadata 
               
               
                   
                 Readonly String backendURL 
               
               
                 Method 
                 backendURL getACRMetadata( ) 
               
               
                   
                 String getBackendURL( ) 
               
               
                   
                 Void NotifyACRAppLaunched(Boolean bApp, String 
               
               
                   
                 url, String desc) 
               
               
                   
                 Void SetAppInfo(String state, String url) 
               
               
                 Event 
                 function onContentChanged(String contentId) 
               
               
                   
                 function onMediaTimeUpdated(Number mediaTime) 
               
               
                   
                 function onAppShow(String state) 
               
               
                   
                 function onAppHide( ) 
               
               
                   
               
            
           
         
       
     
     As mentioned above, the metadata provide basic metadata on a recognized program. 
     backendURL represents the URL, of a broadcaster/CP server. 
     getACRMetadata( ) is a function for obtaining basic metadata on a recognized program and returns the same value as metadata Property. 
     getBackendURL( ) is a function for returning the URL of a broadcaster/CP server. 
     NotifyACRAppLaunched( ) is a function for notifying an application of a 2nd screen when the 2nd screen such as a mobile terminal and a TV are paired and an ACR application executes a specific URL or app on a TV. 
     SetAppInfo( ) is a function for notifying the current state of an ACR application and the app URL of a 2nd screen version of a corresponding application. 
     onContentChanged( ) is a callback function called when a recognized program is changed. 
     onMediaTimeUpdated( ) is a callback function called each time a timestamp is changed through ACR. 
     onAppShow( ) is a callback function called when an application in a 2nd screen moves to a TV, with the TV and 2nd screen paired. 
     onAppHide( ) is a callback function called when an application in a TV moves to a 2nd screen, with the TV and 2nd screen paired. 
       FIG. 26  is a ladder diagram illustrating an operation of a video display device according to another embodiment of the present invention. 
     First, once the video display device  100  is turned on in operation S 3101 , it transmits to a third party server  90  an ACR configuration information request message that request an ACR configuration information in operation S 3103 . The third party server  90  may be an enhanced service providing server that is not dependent on any single channel and may include enhanced services for a plurality of channels. Additionally, the third party server  90  may be a server that is not dependent on any single channel, any contents provider, and any MVPD (service provider). 
     The ACR configuration information request message may be an HTTP GET based request message, and as a parameter, may include information on the version of ACR configuration information applied to the video display device  100 , information on product type, and information on platform type. The ACR configuration information request message may have a syntax below. 
     
       
         
           
               
               
             
               
                   
                   
               
             
            
               
                   
                 [HTTP GET syntax] 
               
               
                   
                 ?ACRConfigVer=&lt;version&gt;[&amp;ProductType=&lt;productType&gt;] 
               
               
                   
                 [&amp;PlatformVer=&lt;platformVer&gt;] 
               
               
                   
                   
               
            
           
         
       
     
     In the above syntax, &lt;version&gt; indicates information on the version of ACR configuration information applied to the video display device  100 . If no ACR configuration information is applied to the video display device  100 , &lt;version&gt; may have the value of 0. 
     &lt;productType&gt; indicates information on a product type of the video display device  100 . For example, if the video display device  100  is a smart TV, a value of &lt;productType&gt; may be “smart TV”. Additionally, if the video display device  100  is a Blu-ray Disk Player (BDP), a value of &lt;productType&gt; may be “BDP”. If the ACR configuration information request message does not include &lt;productType&gt;, it may request ACR configuration information on all types of products. 
     &lt;platformVer&gt; indicates information on a platform type of the video display device  100 . For example, if a platform type of the video display device  100  is “NetCast and its version is “3.0”, a value of &lt;platformVer&gt; may be “NetCast3.0”. 
     If the ACR configuration information request message does not include &lt;platformVer&gt;, it may request ACR configuration information on all types of platforms. 
     If a predetermined condition is satisfied, the video display device  100  may transmit the ACR configuration information request message to the third party server  90 . For example, as soon as the video display device  100  is turned on, it may instantly transmit the ACR configuration information request message to the third party server  90 . Additionally, the video display device  100  may periodically transmit the ACR configuration information request message to the third party server  90 . Additionally, the video display device  100  may transmit the ACR configuration information request message to the third party server  90  at a predetermined time point. 
     In response to the ACR configuration information request message, the third party server  90  an ACR configuration information response message including ACR configuration information to the video display device  100  in operation S 3105 . 
     Especially, the ACR configuration information response message may include at least one ACR configuration information item group corresponding to an ACR configuration information version of an ACR configuration information request message, a product type, and a platform type 
     If the ACR configuration information version that the third party server  90  has is identical to that of the ACR configuration information request message, the ACR configuration information response message may not include ACR configuration information. 
     When the ACR configuration information is changed without the ACR configuration information request message, the ACR configuration information response message may be transmitted to the video display device  100 . 
     Then, ACR configuration information according to an embodiment of the present invention is described with reference to  FIG. 27 . 
       FIG. 27  is an XML schema diagram of ACR configuration information according to an embodiment of the present invention. 
     Especially, Tables 3a and 3b illustrate an XML schema of ACR configuration information according to the embodiment of  FIG. 27 . Table 3b follows table 3a. 
     
       
         
           
               
             
               
                 TABLE 3a 
               
               
                   
               
             
            
               
                 &lt;?xml version=“1.0” encoding=“UTF-8”?&gt; 
               
               
                 &lt;xs:schema xmlns:xs=“http://www.w3.org/2001/XMLSchema” 
               
               
                 elementFormDefault=“qualified” 
               
               
                 attributeFormDefault=“unqualified”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:complexType name=“acr_config”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“country_list” 
               
               
                   
                 type=“country_list_type” minOccurs=“0”/&gt; 
               
               
                   
                 &lt;xs:element name=“measurement” 
               
               
                   
                 type=“measurement_type” minOccurs=“0”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
               
                   
                 &lt;xs:attribute name=“acr_config_ver” type=“xs:string” 
               
               
                   
                 use=“required”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                 &lt;xs:complexType name=“country_list_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“country” type=“country_type” 
               
               
                   
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                 &lt;xs:complexType name=“country_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“ACR_server_url” 
               
               
                   
                 type=“ACR_server_url_type” 
               
            
           
           
               
            
               
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“broadcaster” 
               
               
                   
                 type=“broadcaster_type” minOccurs=“0” 
               
            
           
           
               
            
               
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“ACR_on_time” 
               
               
                   
                 type=“ACR_on_time_type” minOccurs=“0” 
               
            
           
           
               
            
               
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
               
                   
                 &lt;xs:attribute name=“code” type=“xs:string” use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“device_product_type” type=“xs:string” 
               
               
                   
                 use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“device_platform_type” type=“xs:string” 
               
               
                   
                 use=“required”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                 &lt;xs:complexType name=“ACR_server_url_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:attribute name=“region” type=“xs:string” use=“optional”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                 &lt;xs:complexType name=“ACR_on_time_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:attribute name=“region” type=“xs:string” use=“optional”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“day” type=“xs:string” use=“optional”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“from” type=“xs:time” use=“optional”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“to” type=“xs:time” use=“optional”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                 &lt;xs:complexType name=“broadcaster_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“channel” type=“channel_type” 
               
               
                   
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
               
                   
                 &lt;xs:attribute name=“name” type=“xs:string” use=“required”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                   
               
            
           
         
       
     
     
       
         
           
               
               
             
               
                   
                 TABLE 3b 
               
               
                   
                   
               
             
            
               
                   
                 &lt;xs:complexType name=“channel_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“program” type=“program_type” 
               
               
                   
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
               
                   
                 &lt;xs:attribute name=“name” type=“xs:string” use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“leanback_enable” type=“xs:boolean” 
               
               
                   
                 use=“optional” default=“true”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                 &lt;xs:complexType name=“program_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:attribute name=“name” type=“xs:string” use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“leanback_enable” type=“xs:boolean” 
               
               
                   
                 use=“optional” default=“true”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                 &lt;xs:complexType name=“measurement_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:attribute name=“max_log_size” type=“xs:integer” 
               
               
                   
                 use=“optional”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“report_interval” type=“xs:integer” 
               
               
                   
                 use=“optional”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
            
           
           
               
            
               
                 &lt;/xs:schema&gt; 
               
               
                   
               
            
           
         
       
     
     As shown in  FIG. 27  and Tables 3a and 3b, ACR configuration information according to an embodiment of the present invention, as one XML document, includes an ACR_config element, that is, a top element. 
     The ACR_config element may include an ACR_config_ver attribute indicating an ACR configuration version, and as a sub-element, includes a country_list element and a measurement element. 
     A country_list element includes at least one country element. Each country element includes an ACR configuration information item group applied to each country corresponding to this country element. The country_list element includes a plurality of ACR configuration information item groups applied to a plurality of countries, respectively. 
     Each country element code includes a code attribute, a device_product_type attribute, a device_platform_type attribute, at least one ACR_server_url element, at least one broadcaster element, and at least one ACR_on_time element. 
     The code attribute contains an identification code that identifies a country to which an ACR configuration information item of a country element including the code attribute is applied, and especially, this identification code may conform ISO 639 language code. 
     The device_product_type attribute contains a type of a product to which the ACR configuration information item of a country element including the device product attribute is applied. For example, a value of a device_product_type attribute may be “smart TV” or “BDP”. 
     The device_platform_type attribute contains a platform type and/or version of a product to which the ACR configuration information item of a country element including the device platform attribute is applied. For example, if a platform type of a product to which an ACR configuration information item is applied is “NetCast” and its version is “3.0”, a value of a device_platform_type attribute may be “NetCast3.0”. 
     That is, each country element includes an ACR configuration information item group corresponding to a country attribute, a device product type attribute, and a device platform type attribute. The ACR configuration information item group includes a plurality of ACR configuration information items corresponding to a country attribute, a device product type attribute, and a device platform type attribute. 
     Although it will be described below, the plurality of ACR configuration information items corresponding to a country attribute, a device product type attribute, and a device platform type attribute may include a list of at least one ACR server address for at least one region in the country of the country attribute, information on whether to allow a leanback app, and a turn on time interval of an ACR function for at least one region in the country of the country attribute. 
     The information on whether to allow a leanback app includes driving permit information on a leanback app and driving limit information on a leanback app. The driving permit information on a leanback app may include a list of broadcasters permitting the driving of a leanback app, a list of channels permitting the driving a leanback app, and a list of programs permitting the driving of leanback app. The driving limit information on a leanback app may include a list of broadcasters limiting the driving of a leanback app, a list of channels limiting the driving a leanback app, and a list of programs limiting the driving of leanback app. In such a way, the third party server  90  provides the information on whether to allow a leanback app to the video display device  100  in order to prevent the leanback app from seriously affecting the stability of the video display device  100 . 
     Each ACR_server_url element includes a region attribute, and a value of each ACR_server_url element may indicate the address (for example, URL) of an ACR server (for example, fingerprint server) applied to a region corresponding to the region attribute. A value of the ACR_server_url element having no region attribute may indicate the address (for example, URL) of an ACR server applied to all regions of a country corresponding to the ACR_server_url element. In such a way, by notifying the URL address of an ACR server that is locally close to the video display device  100 , the video display device  100  performs contents recognition fast and reduces network latency. 
     Each broadcaster element includes a name attribute, a leanback_enable element, and at least one channel element. 
     A value of the name attribute of the broadcaster element indicates the name of a broadcaster corresponding to the broadcaster element. In a broader sense, the identifier of a broadcaster may be used. 
     A value of the leanback_enable element of the broadcaster element indicates whether to drive a leanback app for broadcaster corresponding to the broadcaster element. For example, if a value of the leanback_enable element of the broadcaster element is “true”, the video display device  100  downloads and executes a leanback app for broadcaster corresponding to the broadcaster element. On the other hand, if a value of the leanback_enable element of the broadcaster element is “false”, the video display device  100  does not download and execute a leanback app for broadcaster corresponding to the broadcaster element. If the broadcaster element does not have the leanback_enable element, a value of the leanback_enable element of the broadcaster element may be regarded as “true” or “false” by default. 
     Each channel element includes a name attribute, a leanback_enable element, and at least one program element. 
     A value of the name attribute of the channel element indicates the name of a channel corresponding to the channel element. In a broader sense, the identifier of a channel may be used. 
     A value of the leanback_enable element of the channel element indicates whether to drive a leanback app for channel corresponding to the channel element. For example, if a value of the leanback_enable element of the channel element is “true”, the video display device  100  downloads and executes a leanback app for channel corresponding to the channel element. On the other hand, if a value of the leanback_enable element of the channel element is “false”, the video display device  100  does not download and execute a leanback app for channel corresponding to the channel element. If the channel element does not have the leanback_enable element, a value of the leanback_enable element of the channel element may be regarded as “true” or “false” by default. 
     If a value of the leanback_enable element of the channel element is different from that of the leanback_enable element of the broadcaster element, it has priority. 
     Each program element includes a name attribute, a leanback_enable element, and at least one program element. 
     A value of the name attribute of the program element indicates the name of a program corresponding to the program element. In a broader sense, the identifier of a program may be used. 
     A value of the leanback_enable element of the program element indicates whether to drive a leanback app for program corresponding to the program element. For example, if a value of the leanback_enable element of the program element is “true”, the video display device  100  downloads and executes a leanback app for program corresponding to the program element. On the other hand, if a value of the leanback_enable element of the program element is “false”, the video display device  100  does not download and execute a leanback app for program corresponding to the program element. If the program element does not have the leanback_enable element, a value of the leanback_enable element of the program element may be regarded as “true” or “false” by default. 
     If a value of the leanback_enable element of the program element is different from that of the leanback_enable element of the channel element, it has priority. 
     Each ACR_on_time element includes a region attribute, a day attribute, a from attribute, and a to attribute. 
     A value of the region attribute of the ACR_on_time element indicates a region to which an ACR on time interval corresponding to the ACR_on_time element is applied. If the ACR_on_time element does not have the region attribute, an ACR on time interval corresponding to the ACR_on_time element may be applied all regions of a country corresponding to the country element including the ACR_on_time element. 
     A value of the day attribute of the ACR_on_time element indicates a day on which an ACR on time interval corresponding to the ACR_on_time element starts. Especially, a value of the day attribute of the ACR_on_time element indicates a day of the week on which an ACR on time interval corresponding to the ACR_on_time element starts. In this case, if a day of the week on which an ACR on time interval corresponding to the ACR_on_time element starts is Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, or Saturday, a value of the day attribute of the ACR_on_time element may be “SUN”, “MON”, “TUE”, “WED”, “THU”, “FRI”, or “SAT”, respectively. 
     A value of the from attribute of the ACR_on_time element indicates a start time at which an ACR on time interval corresponding to the ACR_on_time element starts. 
     A value of the to attribute of the ACR_on_time element indicates an end time at which an ACR on time interval corresponding to the ACR_on_time element ends. 
     If a value of the to attribute of the ACR_on_time element is less than that of the from attribute of the ACR_on_time element, the start time of the ACR on time interval corresponding to the ACR_on_time element becomes a value of the from attribute of a day corresponding to the day attribute, and the end time of the ACR on time interval corresponding to the ACR_on_time element becomes a value of the to attribute of the next day corresponding to the day attribute. For example, if a value of the day attribute is “MON” a value of the from attribute is “18:00:00”, and a value of the to attribute is “02:00:00”, the start time of the ACR on time interval is Monday 18:00 and the end time of the ACR on time interval is the next day, Tuesday 14:00. 
     In general, enhanced service is not provided to main audio and video content in all time slots, and is provided to popular main audio and video content. In such a case, when the video playback device  100  continuously transmits an ACR query to an ACR server, the video playback device  100  consumes unnecessary resource and also the ACR server needs to process many queries, so that server expansion is required. The third party server  90  may prevent such problems by providing information on an ACR on time interval to the video playback device  100 . 
     A measurement element includes a max_log_size attribute and a report_interval attribute. 
     The max_log_size attribute indicates the maximum size of watching information that the video display device  100  can store. For example, if the size of watching information that the video display device  100  stores exceeds 90% of the maximum size of the max_log_size attribute, the video display device  100  transmits some or all of the stored watching information to the third party server  90 , and then delete the transmitted information. The unit of max_log_size may be byte. 
     The report_interval attribute indicates a time interval at which the video display device  100  transmits watching information. For example, after the video display device  100  transmits previous watching information to the third party server  90 , when a report time interval corresponding to the report_interval attribute elapses, the video display device  100  transmits some or all of the stored watching information to the third party server  90 , and then delete the transmitted information. The unit of report_interval may be byte. The watching information that the video display device  100  reports may include a watching time of main audio and video content, the number of watching of main audio and video content, and the number of user responses on a leanback app. 
     The third party server  90  may collect and accumulate watching information from a plurality of video display devices. The video display device  100  may request the accumulated watching information to the third party server  90 , and then may receive it in response to that. 
     As shown in  FIG. 27  and Table 3, ACR configuration information may include various information items as elements or attributes, but is not necessarily limited thereto. That is, unlike  FIG. 27  and Table 3, ACR configuration information may include information items included as elements, as attributes, and also may include information items included as attributes, as elements. Moreover, according to various embodiments of the present invention, the names of elements or attributes including various information items in ACR configuration information may be changed. 
     Table 4 illustrates ACR configuration information according to an embodiment of the present invention. 
     
       
         
           
               
             
               
                 TABLE 4 
               
               
                   
               
             
            
               
                 &lt;acr_config acr_config_ver= “0001.0000” &gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;country_list&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;country code=“US” device_product_type=“DTV” 
               
               
                   
                 device_platform_type= 
               
            
           
           
               
            
               
                 “SmartPlatform3.0”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;ACR_server_url&gt;usa.acr.com&lt;/ACR_server_url&gt; 
               
               
                   
                 &lt;broadcaster name=“NBCU”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;channel name=“BRAVO”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;program name= “TOPCHEF” 
               
               
                   
                 leanback_enable=“true”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/channel&gt; 
               
               
                   
                 &lt;!-- 
               
            
           
           
               
               
            
               
                   
                 All leanback application on USA network 
               
               
                   
                 are enabled 
               
            
           
           
               
               
            
               
                   
                 --&gt; 
               
               
                   
                 &lt;channel name=“USA” leanback_enable=“true” /&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/broadcaster&gt; 
               
               
                   
                 &lt;broadcaster name=“TURNER” &gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;channel name=“TBS” leanback_enable=“true” /&gt; 
               
               
                   
                 &lt;channel name=“TNT”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;program name=“LEVERAGE” 
               
               
                   
                 leanback_enable=“true” /&gt; 
               
               
                   
                 &lt;program name=“FALLING SKIES SEASON 2” 
               
            
           
           
               
            
               
                 leanback_enable=“true” /&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;program name=“DALLAS” 
               
               
                   
                 leanback_enable=“false” /&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/channel&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/broadcaster&gt; 
               
               
                   
                 &lt;ACR_on_time day=“MON” from=“18:00:00Z” 
               
               
                   
                 to=“02:00:00Z” /&gt; 
               
               
                   
                 &lt;ACR_on_time day=“WED” from=“18:00:OOZ” 
               
               
                   
                 to=“02:00:OOZ” /&gt; 
               
               
                   
                 &lt;ACR_on_time day=“FRI” from=“18:00:00Z” 
               
               
                   
                 to=“02:00:00Z” /&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/country&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/country_list&gt; 
               
            
           
           
               
            
               
                 &lt;/acr_config&gt; 
               
               
                   
               
            
           
         
       
     
     Through the ACR configuration information of Table 4, the video display device  100  may recognize that the ACR configuration information is applied to a product having the product type of DTV and the platform type of NetCast3.0 and also includes one ACR configuration information item group applied to the united states. 
     Additionally, the video display device  100  may recognize that the address of an ACR server for a product having the product type of DTV and the platform type of NetCast3.0 is usa.zeitera.com. 
     Additionally, the video display device  100  may recognize that it is necessary to drive a leanback app for the TOPCHEF program of the BRAVO channel of a NBCU broadcaster. 
     Additionally, the video display device  100  may recognize that it is necessary to drive a leanback app for all programs of the TBS channel of a TURNER broadcaster. 
     Additionally, the video display device  100  may recognize that it is necessary to drive a leanback app for the LEVERAGE program and “FALLING SKIES SEASON 2” program of the TNT channel of the TURNER broadcaster and it is unnecessary to drive the DALLS program of the TNT channel of the TURNER broadcaster. 
     Additionally, the video display device  100  may recognize that it is necessary to turn on an ACR function from Monday 18:00 to Tuesday 04:00, from Wednesday 18:00 to Thursday 02:00, and from Friday 18:00 to Saturday 02:00, and it is necessary to turn off the ACR function in other times. 
     The video display device  100  extracts an ACR configuration information item group corresponding to the country that it belongs, its product type, and its platform type from ACR configuration information in operation S 3107 . 
     The video display device  100  extracts a plurality of ACR configuration information items from the extracted ACR configuration information item group in operation S 3109 . As mentioned above, the plurality of ACR configuration information items may include a list of at least one ACR server address for at least one region in the country of the country attribute, information on whether to allow a leanback app, and a turn on time interval of an ACR function for at least one region in the country of the country attribute. Especially, the video display device  100  extracts a plurality of ACR configuration information items for a region that the video display device  100  belongs, from the extracted ACR configuration information item group. 
     The video display device  100  configures the plurality of extracted ACR configuration information items therein in operation S 3111 . The video display device  100  may compare the plurality of extracted ACR configuration information items with a configured value and may update it. 
     The video display device  100  turns on the ACR function on the basis of a configured ACR turn on time interval list in operation S 3112 . 
     When the ACR function is turned on, the ACR engine of the video display device  100  extracts characteristic information from some frames of the main audio and video content or a section of audio samples of the main audio and video content, and transmits an ACR query request message including the extracted characteristic information to a corresponding ACR server in operation S 3113 . The ACR engine of the video display device  100  may transmit the ACR query request message to an ACR server corresponding to the configured ACR server address. 
     When the ACR function is turned off, the ACR engine of the video display device  100  stops extracting characteristic information from some frames of the main audio and video content or a section of audio samples of the main audio and video content, so that resource waste may be reduced. 
     The finger print server  22  queries the characteristic information in the ACR query request message from ACR DB, identifies a program corresponding to the characteristic information, and transmits an ACR query response message including contents information on the identified program to the ACR engine of the video display device  100  in operation S 3115 . At this point, the ACR query response message may include information on whether a program is recognized successfully, contents information, the URL address of a leanback app, and the URL of the contents providing server  10 . As described above, the contents information may include the global content ID of the recognized program, the content ID that the broadcaster of the recognized program can identify, the timestamp of the recognized program, the identifier of the broadcaster that provides the recognized program, the identifier of the channel that provides the recognized program, and the name of the recognized program. The identifier of the broadcaster may be the name of the broadcaster. The identifier of the broadcaster may be the name of the broadcaster. According to another embodiment, the video display device  100  may already have the URL of the contents providing server  10  not from the ACR query response message. 
     The video display device  100  requests a leanback app to the URL address of the leanback app on the basis of the configured information on whether to allow a leanback app in operation S 3117 . 
     In more detail, if the contents information in the ACR query response message relates to the driving permit information of a leanback app, the video display device  100  may request the leanback app to the URL address thereof. In addition, if the contents information in the ACR query response message relates to the driving limit information of a leanback app, the video display device  100  may not request the leanback app. 
     In more detail, if a broadcaster that provides the main audio and video content is identified through the ACR query response message and the identified broadcaster belongs to a list of broadcasters permitting the driving of a lean app, the video display device  100  may request the leanback app to the URL address thereof. If the identified broadcaster belongs to a list of broadcasters limiting the driving of a lean app, the video display device  100  may request the leanback app to the URL address thereof. In addition, if a broadcaster that provides the main audio and video content is identified through the ACR query response message and the identified broadcaster belongs to a list of broadcasters permitting the driving of a lean app, the video display device  100  may not request the leanback app to the URL address thereof. If the identified broadcaster belongs to a list of broadcasters limiting the driving of a lean app, the video display device  100  may not request the leanback app to the URL address thereof. In addition, if the main audio and video content is identified through the ACR query response message and the identified main audio and video content belongs to a list of programs permitting the driving of a lean app, the video display device  100  may request the leanback app to the URL address thereof. If the identified main audio and video content belongs to a list of programs limiting the driving of a lean app, the video display device  100  may not request the leanback app to the URL address thereof. 
     The video display device  100  receives the leanback app from the URL address thereof in operation S 3119 , and automatically executes the received leanback app regardless of user input. 
       FIG. 28  is a ladder diagram illustrating an operation of a video display device according to another embodiment of the present invention. 
     The video display device  100  obtains ACR configuration information from the third party server  90  in operation S 3305 . The procedure that the video display device  100  obtains ACR configuration information from the third party server  90  may follow  FIG. 28 . 
     Then, ACR configuration information according to an embodiment of the present invention is described with reference to  FIG. 29 . 
       FIG. 29  is an XML schema diagram of ACR configuration information according to an embodiment of the present invention. 
     Especially, Table 5 illustrates an XML schema of ACR configuration information according to the embodiment of  FIG. 29 . Table 5b follows table 5a. 
     
       
         
           
               
             
               
                 TABLE 5a 
               
               
                   
               
             
            
               
                 &lt;?xml version=“1.0” encoding=“UTF-8”?&gt; 
               
               
                 &lt;xs:schema xmlns:xs=“http://www.w3.org/2001/XMLSchema” 
               
               
                 elementFormDefault=“qualified” attributeFormDefault=“unqualified”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:complexType name=“acr_config”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“device” type=“device_type” 
               
               
                   
                 minOccurs=“0” 
               
            
           
           
               
            
               
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
               
                   
                 &lt;xs:attribute name=“country_code” type=“xs:string” 
               
               
                   
                 use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“acr_config_format_ver” type=“xs:string” 
               
               
                   
                 use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“version” type=“xs:integer” 
               
               
                   
                 use=“required”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                 &lt;xs:complexType name=“device_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“ACR_server_url” type=“xs:string”/&gt; 
               
               
                   
                 &lt;xs:element name=“broadcaster” type=“broadcaster_type” 
               
               
                   
                 minOccurs=“0” 
               
            
           
           
               
            
               
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“MVPD” type=“MVPD_type” 
               
               
                   
                 minOccurs=“0” 
               
            
           
           
               
            
               
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
               
                   
                 &lt;xs:attribute name=“device_product_type” type=“xs:string” 
               
               
                   
                 use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“device_platform_type” type=“xs:string” 
               
               
                   
                 use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“ACR_On” type=“xs:boolean” 
               
               
                   
                 use=“optional” default=“true”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“query_interval” type=“xs:integer” 
               
               
                   
                 use=“optional”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“user_query_interval” type=“xs:integer” 
               
               
                   
                 use=“optional”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                 &lt;xs:complexType name=“MVPD_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“MVPD_logo” 
               
               
                   
                 type=“MVPD_logo_type” minOccurs=“0” 
               
            
           
           
               
            
               
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
               
                   
                 &lt;xs:attribute name=“Id” type=“xs:string” use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“type” type=“xs:string” use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“DetectOn” type=“xs:boolean” 
               
               
                   
                 use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“detect_interval” type=“xs:integer”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                 &lt;xs:complexType name=“MVPD_logo_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:attribute name=“type” type=“xs:string” use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“x” type=“xs:integer” use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“y” type=“xs:integer” use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“width” type=“xs:integer” use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“height” type=“xs:integer” use=“required”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                   
               
            
           
         
       
     
     
       
         
           
               
               
             
               
                   
                 TABLE 5b 
               
               
                   
                   
               
             
            
               
                   
                 &lt;xs:complexType name=“broadcaster_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“channel” type=“channel_type” 
               
               
                   
                 minOccurs=“0” 
               
            
           
           
               
            
               
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
               
                   
                 &lt;xs:attribute name=“name” type=“xs:string” use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“query_interval” type=“xs:integer” 
               
               
                   
                 use=“optional”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                 &lt;xs:complexType name=“channel_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:element name=“program” type=“program_type” 
               
               
                   
                 minOccurs=“0” 
               
            
           
           
               
            
               
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:sequence&gt; 
               
               
                   
                 &lt;xs:attribute name=“name” type=“xs:string” use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“leanback_enable” type=“xs:boolean” 
               
               
                   
                 use=“optional” 
               
            
           
           
               
            
               
                 default=“true”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:attribute name=“query_interval” type=“xs:integer” 
               
               
                   
                 use=“optional”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
               
                   
                 &lt;xs:complexType name=“program_type”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:attribute name=“name” type=“xs:string” use=“required”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“leanback_enable” type=“xs:boolean” 
               
               
                   
                 use=“optional” 
               
            
           
           
               
            
               
                 default=“true”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xs:attribute name=“query_interval” type=“xs:integer” 
               
               
                   
                 use=“optional”/&gt; 
               
               
                   
                 &lt;xs:attribute name=“localCache_enable” type=“xs:boolean” 
               
               
                   
                 use=“optional”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xs:complexType&gt; 
               
            
           
           
               
            
               
                 &lt;/xs:schema&gt; 
               
               
                   
               
            
           
         
       
     
     As shown in  FIG. 29  and Tables 5a and 5b, ACR configuration information, as one XML document, includes an ACR_config element, that is, a top element. 
     The ACR_config element may include a country_code attribute, an acr_config_format_ver attribute, and a version attribute, and also include at least one device element. 
     Each device element includes a device_product_type attribute, a device_platform_type attribute, an ACR_On attribute, a query_interval attribute, and a user_query_interval attribute, and also include at least one ACR_server_url element, at least one broadcaster element, at least one MVPD element, and at least one ACR_on_time element. Each device element includes an ACR configuration information item group applied to the product type corresponding to the device_product_type attribute of the device element and the platform type corresponding to the device_platform_type attribute of the device element. 
     Since the device_product_type attribute and the device_platform_type attribute are described with reference to Table 3, their descriptions will be omitted. 
     Since the ACR_server_url element, the broadcaster element, and the ACR_on_time element are described with reference to Table 3, their descriptions will be omitted. 
     Each MVPD element includes an Id attribute, a type attribute, a DetectOn attribute, and a detect_interval attribute, and also includes at least one MVPD_logo element. 
     A value of the Id attribute of the MVPD element indicates an identifier that uniquely identifies an MVPD corresponding to the MVPD element. For example, in the case of North America, a value of the Id attribute of the MVPD element may be “TimeWarner”, “Comcast”, and so on. 
     A value of the type attribute of the MVPD element indicates the type of an MVPD corresponding to the MVPD element. Especially, a value of the type attribute of the MVPD element indicates the broadcasting network type of an MVPD corresponding to the MVPD element. For example, a value of the type attribute of the MVPD element may be “Cable”, “Satellite”, “IPTV”, and so on. 
     The DetectOn attribute of the MVPD element indicates whether the video display device  100  recognizes the logo of an MVPD. If a value of the DetectOn attribute of the MVPD element is “On” (or “true”), the video display device  100  detects the logo of an MVPD from the uncompressed audio and video content outputted from the broadcast receiving device  60 , and then identifies an MVPD on the basis of the detected logo. If an MVPD is already recognized, in order to prevent unnecessary resource consumption of the video display device  100 , a value of the DetectOn attribute of the MVPD element may be configured to Off. If a value of the DetectOn attribute of the MVPD element is “Off”, the video display device  100  does not perform an operation for identifying an MVPD on the basis of the logo detected from the uncompressed audio and video content. 
     If a value of the DetectOn attribute of the MVPD element is “ON”, there may be a detect interval attribute of the MVPD element. The detect interval attribute of the MVPD element indicates a time interval at which the video display device  100  detects the logo of an MVPD from the uncompressed audio and video content, and its unit is second. For example, if detect_interval is 300(5×60), the video display device  100  attempts to recognize the logo of an MVPD from the uncompressed audio and video content at each 5 minutes. 
     In general, since a user tends to confirm a program of another channel through EPG while watching a commercial after a program ends, in consideration of the tendency that a user selects a guide or menu through a STB remote controller, the third party server  90  may determine a time interval that determines the logo of an MVPD. Additionally, if a program is frequently changed at every hour or 30 min, the third party server  90  may determine a time interval that detects the logo of an MVPD in consideration of this situation. For example, the third party server  90  may be configured to recognize the logo from each 55 min to 5 min only. In addition, the third party server  90  may be configured to recognize the logo at every 5 min. 
     Each MVPD_logo element includes a type attribute containing information on the type of a screen displaying the MVPD logo and a logo area attribute containing information on a screen area displaying the MVPD logo. The logo area attribute includes a logo position attribute containing information on the screen position of the MVPD logo and a logo size attribute containing information on the size of the MVPD logo. The logo position attribute includes an x-coordinate (x) attribute and a y-coordinate (y) attribute. The logo size attribute includes a width attribute and a height attribute. 
     A value of the type attribute of the MVPD logo element indicates the type of the MVPD logo corresponding to the MVPD logo element. In more detail, A value of the type attribute of the MVPD logo element indicates the type of a screen displaying the MVPD logo corresponding to the MVPD logo element. For example, a value of the type attribute may be “EPG”, “Menu”, “Banner”, and so on. 
     Then, the type and position of the MVPD logo according to various embodiments of the present invention are described with reference to  FIGS. 30 to 33 . 
       FIG. 30  is a view of an EPG window displaying the MVPD logo of Dish Network, a satellite operator, according to an embodiment of the present invention.  FIG. 31  is a view of an EPG window displaying the MVPD logo of Comcast, a Cable operator, according to an embodiment of the present invention. 
     As shown in  FIGS. 30 and 31 , when a value of the type attribute of the MVPD logo element is “EPG”, the MVPD logo is displayed on the EPG screen. Accordingly, if a value of the type attribute of the MVPD logo element is “EPG”, the video display device  100  may extract the MVPD logo from the EPG screen when the EPG screen is displayed on uncompressed audio and video content. 
       FIG. 32  is a view of a menu window displaying the MVPD logo of Comcast, a Cable operator, according to an embodiment of the present invention.  FIG. 33  is a view of a menu window displaying the MVPD logo of DirecTV, a satellite operator, according to an embodiment of the present invention. 
     As shown in  FIGS. 32 and 33 , when a value of the type attribute of the MVPD logo element is “Menu”, the MVPD logo is displayed on the menu screen. If a value of the type attribute of the MVPD logo element is “Menu”, the video display device  100  may extract the MVPD logo from the Menu screen when the Menu screen is displayed on uncompressed audio and video content. 
     When a value of the type attribute of the MVPD logo element is “Banner”, the MVPD logo is displayed on the banner screen. If a value of the type attribute of the MVPD logo element is “Banner”, the video display device  100  may extract the MVPD logo from the Banner screen when the Banner screen is displayed on uncompressed audio and video content. 
     A value of the x attribute and a value of the y attribute indicate information on the position of the MVPD logo corresponding to the MVPD logo element. A value of the x attribute of the MVPD logo element indicates the position of the x coordinate of the MVPD logo corresponding to the MVPD logo element. A value of the y attribute of the MVPD logo element indicates the position of the y coordinate of the MVPD logo corresponding to the MVPD logo element. 
     The position values of the x coordinate and the y coordinate of the MVPD logo may be determined based on a resolution. For example, if a screen has a resolution of 1920×1080, the position value of the x coordinate of the MVPD logo may be determined with one of values from 0 to 1919, and the position value of the y coordinate of the MVPD logo may be determined with one of values from 0 to 1079. 
     In addition, the position values of the x coordinate and the y coordinate of the MVPD logo may be determined based on a relative positional relationship, regardless of the resolution. For example, even if the resolution of a screen is 1920×1080, after the size of the screen is normalized to 100×100, the position values of the x coordinate and the y coordinate of the MVPD logo may be determined with one of values in a normalized range. In this case, the video display device  100  scales the position value of the x coordinate and the y coordinate having a value in a normalized range, so as to obtain the position of the MVPD logo. 
     A value of the width attribute and a value of the height attribute indicate information on the size of the MVPD logo corresponding to the MVPD logo element. A value of the width attribute of the MVPD logo element indicates the width of the MVPD logo corresponding to the MVPD logo element. A value of the height attribute of the MVPD logo element indicates the height of the MVPD logo corresponding to the MVPD logo element. 
     The width and height values of the MVPD logo may be determined based on a resolution. For example, if a screen has a resolution of 1920×1080, the width of the MVPD logo may be determined with one of values from 0 to 1919, and the height of the MVPD logo may be determined with one of values from 0 to 1079. 
     In addition, the width and height of the MVPD logo may be determined based on a relative size, regardless of a resolution. For example, even if the resolution of a screen is 1920×1080, after the size of the screen is normalized to 100×100, the width and height of the MVPD logo may be determined with one of values in a normalized range. In this case, the video display device  100  scales the width and height having a value in a normalized range, so as to obtain the size of the MVPD logo. 
     The video display device  100  extracts an ACR configuration information item group corresponding to its product type and its platform type from ACR configuration information in operation S 3307 . 
     The video display device  100  extracts a plurality of ACR configuration information items from the extracted ACR configuration information item group in operation S 3309 . As mentioned above, the plurality of ACR configuration information items include at least one ACR server address for at least one region and at least one MVPD information item group respectively corresponding to at least one MVPD. Each MVPD information item group includes information on an MVPD identifier, an MVPD type, whether to detect an MVPD logo, an MVPD logo detect time interval, an MVPD logo screen type, and an MVPD logo screen area. The information on an MVPD logo screen area includes information on an MVPD logo screen position and an MVPD logo size. 
     The video display device  100  configures the plurality of extracted ACR configuration information items therein in operation S 3311 . The video display device  100  may compare the plurality of extracted ACR configuration information items with a configured value and may update it. 
     Then, the video display device  100  extracts at least one image, which is estimated as an MVPD logo, from the uncompressed audio and video content inputted based on at least one MVPD information item group in operation S 3313 . Especially, if the number of MVPD information item groups is more than one, the video display device  100  may extract a plurality of MVPD logo estimation images that respectively correspond to the plurality of MVPD information item groups. Since each of the plurality of MVPD logo estimation images is extracted based on a corresponding detect time interval, the plurality of MVPD logo estimation images may not be necessarily extracted simultaneously. If a plurality of MVPD logo detect time intervals belonging to the plurality of MVPD information item groups are identical to each other, the plurality of MVPD logo estimation images may be simultaneously extracted. 
     In more detail, when a value of the DetectOn attribute of the MVPD element is “on”, the video display device  100  may extract images, whose number corresponds to the number of MVPD information item groups, from a screen area corresponding to a value of the logo area attribute of the MVPD element according to a time interval corresponding to the detect interval attribute of the MVPD element, when a screen corresponding to a value of the type attribute of the MVPD log element is displayed from the inputted uncompressed audio and video content. Then, the video display device  100  may obtain a plurality of MVPD logo estimation images. 
     Then, the video display device  100  identifies a subscription MVPD that the video display device  100  subscribes in operation S 3315 , and obtain the identifier of the subscription MVPD. Especially, if the number of MVPD information item groups is more than one, the video display device  100  may identify MVPD on the basis of the plurality of extracted MVPD logo estimation images. 
     According to an embodiment, the video display device  100  transmits to the third party server  90  a request message on the plurality of MVPD logo images that respectively correspond to the plurality of MVPDs. Then, the video display device  100  receives from the third party server  90  the plurality of MVPD logo images that respectively correspond to the plurality of MVPDs, and then, creates a database by using the received MVPD logo images. If the video display device  100  includes the data base having the plurality of MVPD logo images that respectively correspond to the plurality of MVPDs, it compares the plurality of MVPD logo images with the plurality of extracted MVPD logo estimation images. If at least one of the plurality of extracted MVPD logo estimation images corresponds to one of the plurality of MVPD logo images, the video display device  100  may identify the MVPD corresponding to the corresponding MVPD logo image as MVPD that the video display device  100  subscribes. 
     According to another embodiment, the video display device  100  may transmit the plurality of extracted MVPD logo estimation images to the third part server  90  or the fingerprint server  22 . In this case, the third part server  90  or the fingerprint server  22  has a database including a plurality of MVPD logo images that respectively correspond to the plurality of MVPDs. The third part server  90  or the fingerprint server  22  compares the plurality of MVPD logo images with the plurality of extracted MVPD logo estimation images. If at least one of the plurality of extracted MVPD logo estimation images corresponds to one of the plurality of MVPD logo images, the third part server  90  or the fingerprint server  22  may identify the MVPD corresponding to the corresponding MVPD logo image as MVPD that it  90  or  22  subscribes. Then, the third part server  90  or the fingerprint server  22  transmits the identifier of an MVPD that the video display device  100  subscribes to the video display device  100 , so that the video display device  100  identify the subscription MVPD. When the third party server  90  transmits the identifier of the subscription MVPD to the video display device  100 , since the video display device  100  does not need to perform MVPD logo extraction and MVPD identification any more, in order to prevent unnecessary resource consumption of the third party server  90  and the video display device  100 , the third party server  90  configures a value of the DetectOn attribute of the MVPD element as OFF or false in the ACR configuration information for the video display device  100 , and then provides to the video display device  100  the ACR configuration information that a value of the DetectOn attribute of the MVPD element is OFF. In addition, even after the video display device  100  identifies MVPD, since a user may change the MVPD, when a predetermined time elapses, the third party server  90  may configure a value of the DetectOn attribute of the MVPD element as ON in the ACR configuration information for the video display device  100 . 
     Moreover, the video display device  100  confirms the type of a subscription MVPD from at least one MVPD information item group on the basis of the identifier of a subscription MVPD. That is, among the plurality of MVPD information item groups, since each of the plurality of MVPD identifiers has a corresponding MVPD type, the video display device  100  may confirm the type of a subscription MVPD from at least one MVPD information item group on the basis of the identifier of a subscription MVPD. 
     If the type of a subscription MVPD is not a satellite operator, the video display device  100  confirms a geographic subscriber location in operation S 3319 . If the type of a subscription MVPD is a cable operator or a satellite operator, the video display device  100  may confirm a geographic subscriber location. 
     According to an embodiment, the video display device  100  may confirm a geographic subscriber location on the basis of user input. At this point, in North America, the user input may be zip code. 
     According to another embodiment, the video display device  100  may confirm its geographic location on the basis of Geo-IP. The Geo-IP is a method of obtaining the geographical location of a terminal from the IP address thereof. 
     The video display device  100  may transmit its own IP address to the third party server  90 , the fingerprint server  22 , or a location confirmation server. The third part server  90 , the fingerprint server  22 , or the location confirmation server may confirm the geographical subscriber location of the video display device  100  by using the IP address, and transmits information on the confirmed geographical subscriber location to the video display device  100 , so that the video display device  100  may confirm the geographical subscriber location. At this point, in North America, information on the confirmed geographical subscriber location may be zip code. 
     Additionally, the video display device  100  may transmit a package information request message to the third party server  90  in operation S 3321 . At this point, the package information request message may include the identifier of an MVPD, the type of an MVPD, and a geographical subscriber location. Even in the same package, since a channel map may vary according to a region, the package information request message may include a geographical subscriber position. 
     The third party server  90  transmits to the video display device  100  the information on a plurality of packages that the MVPD corresponding to the MVPD identifier and the MVPD type provides for the geographical subscriber location of the video display device  100 . By doing so, the video display device  100  receives from the third party server  90  the information on a plurality of packages that the MVPD corresponding to the MVPD identifier and the MVPD type provides for the geographical subscriber location of the video display device  100  in operation S 3323 . 
     As shown in Table 6, the information on a plurality of packages includes information on a list of channels that each of the plurality of packages provides. 
     
       
         
           
               
               
               
               
               
             
               
                   
                 TABLE 6 
               
               
                   
                   
               
               
                   
                 Standard 
                 TV Essentials 
                 Premium 
                 Sports Pass 
               
               
                   
                   
               
             
            
               
                   
               
            
           
           
               
               
               
               
               
            
               
                 USA 
                 ◯ 
                 ◯ 
                 X 
                 X 
               
               
                 HBO 
                 X 
                 X 
                 ◯ 
                 X 
               
               
                 ESPN 
                 ◯ 
                 X 
                 X 
                 ◯ 
               
               
                 CNN 
                 ◯ 
                 ◯ 
                 X 
                 X 
               
               
                   
               
            
           
         
       
     
     Especially, Table 6 illustrates information on a plurality of packages that the Time Warner Cable operator of the united states provides. 
     As shown in Table 6, the Time Warner Cable operator of the united states provides a Standard package, a TV Essentials package, a Premium package, and a Sports Pass package. The Standard package provides the USA channel, the ESPN channel, and the CNN channel, but does not provide the HBO channel. The TV Essentials package provides the USA channel and the CNN channel, but does not provide the ESPN channel and the HBO channel. The Premium package provides the HBO channel but does not provide the USA channel, the ESPN channel, and the CNN channel. The Sports Pass package provides the ESPN channel but does not provide the USA channel, the HBO channel, and the CNN channel. 
     The video display device  100  identifies at least one channel from inputted uncompressed main audio and video content in operation S 3325 . Since a user changes a channel serves times a day in general, the video display device  100  may identify at least one channel from the uncompressed audio and video content. Especially, through the procedure shown in  FIGS. 3, 6, and 9 , the video display device  100  may identify a channel by obtaining the contents information on the inputted uncompressed audio and video content. In more detail, the video display device  100  confirms the broadcaster logo, that is, the displayed watermark, from the uncompressed audio and video content, and identifies a channel providing the uncompressed audio and video content on the basis of the confirmed broadcaster logo. In this case, the video display device  100  may identify a channel by using an internal database including a plurality of broadcaster logos or a watermark server. Additionally, the video display device  100  may identify a channel by obtaining the contents information from an invisible watermark. Additionally, the video display device  100  may identify a channel by extracting the signature from the uncompressed audio and video content and transmitting the extracted signature to the fingerprint server. If the uncompressed main audio and video content is resold content or the same audio and video content is broadcasted through a plurality of channels, the video display device  100  may perform broadcaster logo based channel identification. 
     The video display device  100  confirms a subscription package on the basis of at least one identified channel in operation S 3327 . 
     Referring to Table 6, once the HBO channel is identified, the video display device  100  confirms that the subscription package is the Premium package. Once the USA channel and the ESPN channel are identified, the video display device  100  confirms that the subscription package is the Standard package. Once the CNN channel is identified, if and the ESPN channel is not identified for a predetermined period, the video display device  100  confirms that the subscription package is the TV Essentials package. 
     If the subscription package is not uniquely identified based on at least one identified channel, the video display device  100  performs additional channel identification. 
     The video display device  100  requests to the third party server  90  a channel map corresponding to the confirmed subscription package in operation S 3329 . In response to the channel map request, the third party server  90  configures a value of the DetectOn attribute of the MVPD element in the ACR configuration information for the video display device  100  as OFF or false, and then, provides a channel map corresponding to the subscription package of the video display device  100  to the video display device  100 . 
     The video display device  100  receives the channel map corresponding to the confirmed subscription package from the third party server  90  in operation S 3331 . 
     The video display device  100  processes the received channel map in operation S 3333 . 
       FIG. 34  is a view of channel map processing according to an embodiment of the present invention. As shown in  FIG. 34 , the video display device  100  may display the channel name and the channel number of current uncompressed main audio and video content on a screen. 
       FIG. 35  is a view of channel map processing according to an embodiment of the present invention. As shown in  FIG. 35 , the video display device  100  may obtain EPG information on the basis of a channel map and then, may display the obtained EPG information. 
     Then, a structure of a video display device according to various embodiments of the present invention is described with reference to  FIGS. 36 to 39 . 
       FIG. 36  is a conceptual diagram of a video display device according to an embodiment of the present invention. 
     As shown in  FIG. 36 , the video display device  100  includes an Audio/Video driver  601 , an ACR engine  603 , an ACR middleware  605 , an ACR user interface  607 , an ACR Plugin  609 , an enhanced service management unit  611 , a channel map management unit  613 , and an MVPD logo database management unit  615 . 
     The ACR engine  603  includes a content recognition configuration management unit  631 , an MVPD package information management unit  633 , and an MVPD logo matching unit  635 . 
     The content recognition configuration management unit  631  transmits to the third party server  90  an ACR configuration information request message requesting ACR configuration information, and receives an ACR configuration information response message including the ACR configuration information. The content recognition configuration management unit  631  extracts an ACR configuration information item group corresponding to the country that it belongs, its product type, and its platform type from ACR configuration information in operation S 3107 . The content recognition configuration management unit  631  extracts a plurality of ACR configuration information items from the extracted ACR configuration information item group. The content recognition configuration management unit  631  configures the plurality of extracted ACR configuration information items in the video display device  100 . The content recognition configuration management unit  631  turns on the ACR function on the basis of a configured ACR turn on time interval list. 
     When the ACR function is turned on, the ACR engine  603  of the video display device  100  extracts characteristic information from some frames of the main audio and video content or a section of audio samples of the main audio and video content, and transmits an ACR query request message including the extracted characteristic information to a corresponding ACR server in order to receive an ACR query response message including the contents information on the identified program. The ACR engine  603  of the video display device  100  identifies at least one channel from inputted uncompressed main audio and video content. 
     The enhanced service management unit  611  requests a leanback app to the URL address of the leanback app on the basis of the configured information on whether to allow a leanback app, receives the leanback app, and then, automatically executes the received leanback app regardless of user input. 
     The channel map management unit  613  requests a channel map corresponding to a subscription package to the third party server  90 , receives the channel map corresponding to the confirmed subscription package from the third party server  90 , and then, processes the received channel map. 
     The MVPD package information management unit  633  extracts at least one image, which is estimated as an MVPD logo, from the inputted uncompressed audio and video content on the basis of at least one MVPD information item group, and then, identifies the subscription MVPD that the video display device  100  subscribes on the basis of at least one extracted MVPD logo estimation image to obtain the identifier of the subscription MVPD. The MVPD package information management unit  633  confirms the type of the subscription MVPD from at least one MVPD information item group o the basis of the identifier of the subscription MVPD, and confirms a geographical subscriber location if the type of the subscription MVPD is not a satellite operator. The MVPD package information management unit  633  transmits a package information request message to the third party server  90  and then receives information on a plurality of packages that the subscription MVPD provides from the third party server  90 . The MVPD package information management unit  633  confirms a subscription package on the basis of at least one identified channel. 
     The MVPD logo database management unit  615  transmits to the third party server  90  a request message for a plurality of MVPD logo images that respectively correspond to the plurality of MVPDs, receives the plurality of MVPD logo images from the third party server  90 , and then, creates a database by using the received plurality of MVPD logo images. 
     The MVPD logo matching unit  635  compares the plurality of MVPD logo images with a plurality of extracted MVPD logo estimation images. If at least one of the plurality of extracted MVPD logo estimation images corresponds to one of the plurality of MVPD logo images, the MVPD logo matching unit  635  may identify the MVPD corresponding to the corresponding MVPD logo image as an MVPD that the MVPD logo matching unit  635  subscribes. 
       FIG. 37  is a conceptual diagram of a video display device according to an embodiment of the present invention. 
     As shown in  FIG. 37 , the video display device  100  includes an Audio/Video driver  601 , an ACR engine  603 , an ACR middleware  605 , an ACR user interface  607 , an ACR Plugin  609 , an enhanced service management unit  611 , and a channel map management unit  613 . 
     The ACR engine  603  includes a content recognition configuration management unit  631  and an MVPD package information management unit  633 . 
     According to the embodiment of  FIG. 37 , logo matching is performed in the third part server  90  or the fingerprint server  22  instead of the video display device  100 . This is described above with reference to  FIG. 28  and thus, its description will be omitted. 
     The EPG displays broadcast content to a user from about 7 to 14 days before broadcasting the broadcast content. However, in general, each broadcaster or content provider broadcasts promotional content such as a preview of broadcast content from about one month before broadcasting the broadcast content. Therefore, users may be unable to set scheduled viewing or scheduled recording for the broadcast content even though the promotional content is viewed. 
     Furthermore, in general, the EPG provides guidance for only broadcast content transmitted through the same transmission method. For example, the EPG for cable broadcasting displays only broadcast content transmitted through the same cable network. The EPG for satellite broadcasting displays only broadcast content provided by the same satellite or the same operator. Therefore, it is difficult for a user to discover that broadcast content to be viewed is transmitted in various formats. In order to overcome such limitation, the video display device  100  needs to execute a content reminder application to notify broadcast information on content related to currently-displayed uncompressed audio and video content based on ACR. 
     Hereinafter, execution of the content reminder application by the video display device according to an embodiment based on ACR will be described with reference to  FIGS. 38 to 49 . 
       FIG. 38  is a diagram illustrating a network topology for a video content reminder application service according to an embodiment. 
     The video display device  100  extracts characteristic information from broadcast content including at least one of an uncompressed video and an uncompressed audio obtained from an external input. Herein, the broadcast content may be promotional content. The video display device  100  transmits an ACR query request message to the content recognizing service providing server  20  based on the characteristic information. The video display device  100  receives an ACR query response message for the ACR query request message from the content recognizing service providing server  20 . In particular, in the case where the characteristic information is extracted from the promotional content to transmit the ACR query request message, the video display device  100  may receive a URL of a promotional application through the ACR query response message. The video display device  100  may download the promotional application based on the URL thereof. The video display device  100  may execute the promotional application through a browser that serves as an application platform. The video display device  100  may transmit a video display device identifier to an application service provider server  300  of an application service provider that has produced the promotional application, by executing the promotional application. The video display device  100  may receive a URL of a content reminder application from the content recognizing service providing server  20 , and may download the content reminder application based on the URL thereof. The video display device  100  may execute the content reminder application through the browser. The video display device  100  may display, to a user, broadcast information on content through the content reminder application. The broadcast information on content may include at least one of a title of content, a start time of the content, a broadcaster name that broadcasts the content, and information on a channel through which the content is broadcast. The channel information may include at least one of a name of the channel, a number of the channel through which the content is broadcast, a service package including the channel through which the content is broadcast, and an MPVD that provides the service package. 
     The content recognizing service providing server  20  receives the ACR query request message from the video display device  100 . The content recognizing service providing server  20  transmits the ACR query response message to the video display device  100 . The content recognizing service providing server  20  stores the characteristic information extracted from the promotional content. The content recognizing service providing server  20  may transmit the URL of the promotional application through the ACR query response message. In detail, the content recognizing service providing server  20  may identify the promotional content corresponding to the characteristic information included in the ACR query request message. Accordingly, the content recognizing service providing server  20  may transmit the URL of the promotional application corresponding to the promotional content. The content recognizing service providing server  20  may receive, from the application service provider server  300 , the video display device identifier for identifying the video display device, the start time of content, and the URL of the content reminder application. The content recognizing service providing server  20  may transmit, to the video display device  100 , the URL of the content reminder application based on the video display device identifier, the start time of content, and the URL of the content reminder application. In detail, the content recognizing service providing server  20  may transmit, to the video display device  100  identified by the video display device identifier, the URL of the content reminder application at the start time of content or a certain time before the start time of content. 
     The application service provider server  300  receives the video display device identifier from the video display device  100  through the promotional application produced by the application service provider. The application service provider server  300  may receive a content identifier from the video display device  100  through the promotional application. The application service provider server  300  transmits the video display device identifier, the content start time, and the URL of the content reminder application to the content recognizing service providing server  20 . In detail, the application service provider server  300  may transmit the content title, the content start time, the name of the broadcaster that broadcasts the content, the information on the channel through which the content is broadcast, and the URL of the content reminder application to the content recognizing service providing server  20  based on the video display device identifier and the content identifier received from the video display device  100 . The channel information may include at least one of a name of the channel, a number of the channel through which the content is broadcast, a service package including the channel through which the content is broadcast, and an MPVD that provides the service package. 
     Operations of the video display device  100 , the content recognizing service providing server  20 , and the application service provider server  300  will be described in detail with reference to  FIG. 39 . 
       FIG. 39  is a ladder diagram illustrating operation of the video content reminder application according to an embodiment. 
     Operation of the video display device  100  for executing a general leanback application will be described firstly. 
     The video display device  100  is turned on to start to operate in operation S 2801 . The video display device  100  may obtain uncompressed audio and video content through an external input terminal. Here, the uncompressed audio and video content may include at least one of an uncompressed audio and an uncompressed video. The video display device  100  may display the uncompressed audio and video content through the display unit  121 . 
     The video display device  100  receives content information on the uncompressed audio and video content based on characteristic information of the uncompressed audio and video content. 
     The video display device  100  transmits the ACR query request message to the content recognizing service providing server  20  in operation S 2803 . In detail, the video display device  100  may extract the characteristic information from the uncompressed audio and video content input through an external input, and may transmit the ACR query request message based on the characteristic information to the content recognizing service providing server  20 . 
     The content recognizing service providing server  20  transmits the ACR query response message for the ACR query request message to the video display device  100  in operation S 2805 . In detail, the content recognizing service providing server  20  identifies content corresponding to the characteristic information. The content recognizing service providing server  20  may transmit the ACR query response message including content information corresponding to the content to the video display device  100 . The content information may include at least one of a URL of a leanback application for the identified content, a content identifier, and a content timestamp. 
     The video display device  100  receives the ACR query response message from the content recognizing service providing server and checks ACR configuration information in operation S 2807 . In detail, the video display device  100  may check whether a leanback application corresponding to the leanback application URL included in the ACR query response message is permitted or restricted in the ACR configuration information. 
     If the leanback application is permitted in the ACR configuration information, the video display device  100  requests the leanback application from the content providing server  10  based on the URL of the leanback application in operation S 2809 . 
     The video display device  100  downloads the leanback application from the content providing server, and executes the leanback application in operation S 2811 . 
     Hereinafter, operation of the video display device  100  for executing a content reminder application that notifies broadcast information on content related to uncompressed audio and video content based on information on the uncompressed audio and video content, as one of leanback applications, will be described. Here, the uncompressed audio and video content may be promotional content including a preview of a movie, and the related content may be promoted content of the promotional content. 
     The video display device  100  receives content information on the uncompressed audio and video content based on characteristic information of the uncompressed audio and video content. 
     The video display device  100  transmits the ACR query request message based on the uncompressed audio and video content to the content recognizing service providing server  20  in operation S 2813 . In detail, the video display device  100  may extract the characteristic information from the uncompressed audio and video content input through an external input, and may transmit the ACR query request message based on the characteristic information to the content recognizing service providing server  20 . 
     The content recognizing service providing server  20  transmits the ACR query response message for the ACR query request message to the video display device  100  in operation S 2815 . In detail, the content recognizing service providing server  20  may identify the content corresponding to the characteristic information included in the ACR query request message. Here, in the case where the identified content is promotional content, the content recognizing service providing server  20  may transmit the ACR query response message including content information corresponding to the identified promotional content to the video display device  100 . The content information may include at least one of a URL of a promotional application, a video display device identifier, a content identifier, a content timestamp, a name of a broadcaster that broadcasts promoted content of the promotional content, and information on a channel through which the promoted content is broadcast. The channel information may include at least one of a name of the channel, a number of the channel through which the content is broadcast, a service package including the channel through which the promoted content is broadcast, and an MPVD that provides the service package. The video display device identifier is used to identify a video display device. This will be described in more detail with reference to  FIG. 40 . 
       FIG. 40  is a block diagram illustrating that an identifier of a video display device is transmitted according to an embodiment. 
     An application provider may allow a content reminder application to be executed in each video display device  100  for content set in each video display device  100 . Therefore, a video display device identifier for identifying the video display device  100  is required. Here, the content recognizing service providing server  20  may generate the video display device identifier for each video display device  100 . Here, various video display devices  100  may access the content recognizing service providing server  20  through a single sharer mainly used by the video display device  100 . Therefore, it is difficult for the content recognizing service providing server  20  to use an internet protocol (IP) address as the video display device identifier. Furthermore, the video display device identifier may not be dependent on a platform, a system, and another application so as to be compatible with the video display devices  100 . The content recognizing service providing server  20  may perform a hash operation on a MAC address so that the MAC address is used as the video display device identifier. 
     In a specific embodiment, the content recognizing service providing server  20  may combine the promotional application URL and the video display device identifier to transmit the video display device identifier. In detail, the content recognizing service providing server  20  may attach the video display device identifier to the promotional application URL as a parameter so as to transmit the video display device identifier. Here, the video display device  100  may tokenize the promotional application URL so as to recognize the video display device identifier. For example, if http://reminderservice.com?promoId=XXX is the promotional application URL, and YYY is the video display device identifier, the content recognizing service providing server  20  may transmit the URL http://reminderservice.com?promoId=XXX&amp;tvId=YYY to the video display device  100 . Thereafter, the application service provider server  300  may combine the URL of the content reminder application and the video display device identifier to transmit the URL of the content reminder application. In detail, the application service provider server  300  may attach the video display device identifier to the URL of the content reminder application as a parameter so as to transmit the URL of the content reminder application. For example, if http://reminderservice.com?remindId=ZZZ is the URL of the content reminder application, and YYY is the video display device identifier, the application service provider server  300  may transmit the URL http://reminderservice.com?remindId=ZZZ&amp;tvId=YYY. 
     In another specific example, the content recognizing service providing server  20  may transmit the video display device identifier through a commercial identifier. In detail, in the case where the content recognizing service providing server  20  receives the ACR query request message including the characteristic information corresponding to the promotional content and transmits the ACR query response message, the content recognizing service providing server  20  may ACR query response message including the content identifier including the commercial identifier. Here, the commercial identifier includes the video display device identifier. In addition, the commercial identifier may be randomly generated. The video display device  100  tokenizes the commercial identifier through the promotional application so as to recognize the video display device identifier. 
     The video display device  100  receives the ACR query response message from the content recognizing service providing server and checks ACR configuration information in operation S 2817 . In detail, the video display device  100  may check whether the promotional application corresponding to the URL of the promotional application included in the ACR query response message is permitted or restricted in the ACR configuration information. 
     If the promotional application is permitted in the ACR configuration information, the video display device  100  requests the promotional application from the application service provider server  300  based on the URL of the promotional application in operation S 2819 . 
     The video display device  100  downloads the promotional application from the content providing server in operation S 2811 . 
     The video display device  100  executes the promotional application to set a content reminder in operations S 2823  and S 2825 . Operation of the promotional application will be described with reference to  FIGS. 41 and 42 . 
       FIG. 41  is a flowchart illustrating operation of the video display device executing the promotional application according to an embodiment.  FIG. 42  illustrates a user interface of content reminder setting of the promotional application according to an embodiment. 
     The video display device  100  displays the user interface of content reminder setting through the promotional application in operation S 2851 . Here, the user interface may also display content information including at least one of a menu for selecting an option to approve the content reminder setting, a name of content, a broadcast date and time of the content, duration of the content, a genre of the content, and a subject of the content. According to the example of  FIG. 42 , the user interface displays the name of the content and the broadcast date and time of the content. 
     The video display device  100  receives a user input through the promotional application in operation S 2853 . 
     The video display device  100  determines whether the user input is for approving the content reminder setting through the promotional application in operation S 2855 . 
     If the user input is for approving the content reminder setting, the video display device  100  sets the content reminder through the promotional application in operation S 2857 . Here, according to the embodiment of  FIGS. 38 and 39 , the video display device  100  performs transmission to the application service provider server  300  so as to set the content reminder. The application service provider server  300  transmits a content reminder message to the content recognizing service providing server  20  based on the content reminder setting, and the content recognizing service providing server  20  transmits the content reminder message to the video display device  100  based on the content reminder setting. However, according to an embodiment, the application service provider server  300  may transmit the content reminder message to the video display device  100  instead of the content recognizing service providing server. Furthermore, according to an embodiment, the video display device  100  may set a content reminder in the video display device  100  and may execute the content reminder application according to the content reminder setting. This operation will be described in more detail with reference to  FIGS. 46 to 49 . The video display device  100  stores content reminder setting information when setting the content reminder. The content reminder setting information may include at least one of a content identifier, a video display device identifier, an IP address and a MAC address of a video display device, a name of a broadcaster that broadcasts content, information on a channel through which the content is broadcast, a start time of the content, a content reminder margin time, and a content reminder application URL. The channel information may include at least one of a name of the channel, a number of the channel through which the content is broadcast, a service package including the channel through which the content is broadcast, and an MPVD that provides the service package. 
     The video display device  100  terminates the promotional application in operation S 2827 . In a specific embodiment, when the promotional content is terminated, the video display device  100  may terminate the promotional application. In detail, when the promotional content is terminated due to channel switching or expiration of playback time of the promotional content, the video display device  100  may terminate the promotional application. However, in order for the video display device  100  to discover whether the promotional content is terminated, the video display device  100  may transmit the ACR query request message and receive the ACR query response message to identify content currently displayed on the display unit  121 . Therefore, it may take excessive time for the video display device  100  to terminate the promotional application. During this process, the promotional content may be terminated, and another content other than the promotional content may be displayed on the display unit  121  with the promotional application. If the other content is displayed on the display unit  121  with the promotional application, a user may feel confusion. Therefore, in a specific embodiment, the video display device  100  may execute the promotional application for a preset time, and may terminate the promotional application after a lapse of the preset time. Here, the preset time may be determined based on the promotional content. Here, the preset time may be shorter than the duration of the promotional content. In another specific embodiment, the video display device  100  may terminate the promotional application based on fade out of the uncompressed audio and video content. In detail, when the fade out of the uncompressed audio and video content is detected, the video display device  100  may terminate the promotional application. In general, in the case where switching to another content or switching to another channel occurs, a video signal or an audio signal included in the uncompressed audio and video content fades out. Therefore, based on the fade out of the uncompressed audio and video content, the video display device  100  may rapidly and easily detect the termination of the promotional content. 
     The application service provider server  300  transmits the content reminder message based on the content reminder setting in operations S 2829  and S 2831 . In detail, the application service provider server  300  may transmit the content reminder message to the content recognizing service providing server  20 , and the content recognizing service providing server  20  may transmit the content reminder message to the video display device  100 . 
     In a specific embodiment, the application service provider server  300  may transmit the content reminder message to the video display device  100  at the content start time. In another specific embodiment, the application service provider server  300  may transmit the content reminder message to the video display device  100  a preset content reminder margin time before the content start time. Here, the content reminder margin time may be set when the content reminder is set. If the content reminder is transmitted at the content start time, a user may miss a starting part of content. Therefore, the content reminder message is notified the content reminder margin time before the content start time so that the user may prepare to view the content in order not to miss the starting part thereof. 
     Here, the application service provider server  300  may transmit the content reminder message based on the video display device identifier. In detail, the application service provider server  300  may identify a video display device to which the content reminder message is to be transmitted based on the video display device identifier, so as to transmit the content reminder message. In addition, in a specific embodiment, the content reminder message may include the content reminder application URL. 
     The video display device  100  requests the content reminder application from the application service provider server  300  in operation S 2833 . In detail, the video display device  100  may request the content reminder application based on the content reminder application URL. 
     The video display device  100  downloads the content reminder application from the application service provider server  300  in operation S 2835 . 
     The video display device  100  executes the content reminder application in operation S 2837 . The execution of the content reminder application will be described with reference to  FIGS. 43 to 45 . 
       FIG. 43  illustrates a content reminder user interface of the content reminder application according to an embodiment.  FIG. 44  illustrates a content reminder user interface of the content reminder application according to another embodiment.  FIG. 45  illustrates a content reminder user interface of the content reminder application according to another embodiment. 
     The video display device  100  may display broadcast information on content through the content reminder application. In detail, the video display device  100  may receive the broadcast information on the content from the application service provider server  300  through the content reminder application, and may display the broadcast information on the content. The broadcast information on content may include at least one of a title of content, a start time of the content, a broadcaster name that broadcasts the content, and information on a channel through which the content is broadcast. The channel information may include at least one of a name of the channel, a number of the channel through which the content is broadcast, a service package including the channel through which the content is broadcast, and an MPVD that provides the service package. In detail, as illustrated in  FIG. 44 , the video display device  100  may display a message that a user may input a channel number through a remote controller to view the content while displaying the content title and the channel number through which the content is broadcast. Alternatively, as illustrated in  FIG. 45 , the video display device  100  may display a message that a user may press a specific input button on a remote controller to view the content while displaying the specific input button. 
     However, the content may be concurrently broadcast through various channels. Here, in the case where the video display device  100  displays only a channel unable to be viewed by a user, the user may not view the content. To overcome this limitation, the video display device  100  may display all channels through which the content is broadcast through the content reminder application. In another specific embodiment, the video display device  100  may not display a channel unable to be viewed by the user but may display only a channel able to be viewed by the user. To this end, in the case where the video display device identifier is transmitted to the application service provider server  300 , the video display device  100  may also transmit an MVPD name and service package information used by the user of the video display device  100 . When the video display device identifier is stored, the application service provider server  300  may also store the MVPD name and the service package information used by the user of the video display device  100 . When the application service provider server  300  transmits the broadcast information on the content to the video display device  100 , the application service provider server  300  may not transmit a channel not included in the service package to which the user of the video display device  100  subscribes, among the channels through which the content is broadcast, but may display only a channel included in the service channel. In another specific embodiment, in the case where there is a channel not included in the service package to which the user of the video display device  100  subscribes, among the content-broadcasting channels included in the channel reminder information, the video display device  100  may not display information on the channel not included in the service package to which the user of the video display device  100  subscribes but may display only information on a channel included in the service channel through the content reminder application. In another specific embodiment, in the case where a channel through which the content is broadcast does not exist in the service package to which the user of the video display device  100  subscribes, the video display device  100  may display information on a service package through which the content is broadcast through the content reminder application. To this end, the video display device  100  may receive the information on the service package through which the content is broadcast from the application service provider server  300  through the content reminder application. In detail, the video display device  100  may transmit a message that the channel through which the content is broadcast is not included in the service package to which the user of the video display device  100  subscribes through the content reminder application, and may receive, from the application service provider server  300 , the information on the service package including the channel through which the content is broadcast. In another specific embodiment, in the case where a channel through which the content is broadcast does not exist in the service package to which the user of the video display device  100  subscribes, the video display device  100  may terminate the content reminder application without displaying the broadcast information on the content. 
     The video display device  100  may display the broadcast information on the content through the content reminder application at a termination time of specific content that is not a target of the content reminder. In another specific embodiment, the video display device  100  may display the broadcast information on the content through the content reminder application when advertisement content is broadcast. In another specific embodiment, the video display device  100  may display the broadcast information on the content through the content reminder application at the content start time. In another specific embodiment, the video display device  100  may display the broadcast information on the content through the content reminder application the content reminder margin time before the content start time. 
     The video display device  100  may perform snooze reminding so that the broadcast information on the content is displayed again after a lapse of a certain time through the content reminder application. In detail, as illustrated in  FIG. 43 , the video display device  100  may display a menu for asking a user whether to display a reminder again after a lapse of a certain time through the content reminder application. Here, if the video display device  100  receives a user input that indicates approval, the video display device  100  may display the broadcast information on the content again after a lapse of a certain time through the content reminder application. 
     Furthermore, the video display device  100  may determine whether a user actually views content through the content reminder application. In detail, the video display device  100  may determine whether the uncompressed audio and video content obtained through a receiving unit is a target of content reminder setting, after the content reminder application displays the broadcast information on the content. In detail, the video display device  100  may periodically extract the characteristic information of the uncompressed audio and video content, after the content reminder application displays the broadcast information on the content. The video display device  100  may transmit the ACR query request message including the characteristic information to the content recognizing service providing server  20 , and may receive the ACR query response message from the content recognizing service providing server  20 . Here, the video display device  100  may determine whether the uncompressed audio and video content is a target of the content reminder setting based on the content identifier included in the ACR query response message. In this manner, the video display device  100  may determine whether the user views reminder-scheduled content. In addition, the video display device  100  may provide, to a broadcaster or an application service provider, data to be used to determine how effective the promotional content is. 
     An embodiment in which the application service provider server  300  transmits the content reminder message will be described with reference to  FIGS. 46 and 47 . 
       FIG. 46  is a diagram illustrating a network topology for a video content reminder application service according to another embodiment. The embodiment of  FIG. 46  is different from the embodiment of  FIG. 38  in that the application service provider server  300 , instead of the content recognizing service providing server  20 , transmits the content reminder message to the video display device  100 . The other configurations and operations of the embodiment of  FIG. 46  are the same as those of the embodiment of  FIG. 38 . The same configurations and operations have been described above, and are thus omitted below. 
     According to the embodiment of  FIG. 46 , the video display device  100  receives the URL of the content reminder application from the application service provider server  300 , and downloads the content reminder application based on the URL thereof. 
     According to the embodiment of  FIG. 46 , the application service provider server  300  receives the video display device identifier from the video display device  100  through the promotional application produced by the application service provider. The application service provider server  300  may receive a content identifier from the video display device  100  through the promotional application. The application service provider server  300  transmits the video display device identifier, the start time of content, and the URL of the content reminder application to the video display device  100 . In detail, the application service provider server  300  may transmit the content title, the content start time, the name of the broadcaster that broadcasts the content, the information on the channel through which the content is broadcast, and the URL of the content reminder application to the video display device  100  based on the video display device identifier and the content identifier received from the video display device  100 . The channel information may include at least one of a name of the channel, a number of the channel through which the content is broadcast, a service package including the channel through which the content is broadcast, and an MPVD that provides the service package. 
     Operations of the video display device  100 , the content recognizing service providing server  20 , and the application service provider server  300  will be described in detail with reference to  FIG. 47 . 
       FIG. 47  is a ladder diagram illustrating operation of the video content reminder application according to another embodiment. The embodiment of  FIG. 47  is different from the embodiment of  FIG. 38  in that the application service provider server  300 , instead of the content recognizing service providing server  20 , transmits the content reminder message to the video display device  100 . The other configurations and operations of the embodiment of  FIG. 47  are the same as those of the embodiment of  FIG. 39 . The same configurations and operations have been described above, and are thus omitted below. 
     The application service provider server  300  transmits the content reminder message in operation S 2929 . In detail, the application service provider server  300  transmits the content reminder message to the video display device  100 . Therefore, unlike the embodiment of  FIG. 39 , the video display device  100  receives the content reminder message from the application service provider server  300 . Therefore, the time taken for transmitting the content reminder message may be reduced. 
     An embodiment in which the video display device  100  sets a content reminder in the video display device  100  and executes the content reminder application according to the content reminder setting will be described with reference to  FIGS. 48 and 49 . 
       FIG. 48  is a diagram illustrating a network topology for a video content reminder application service according to another embodiment. The embodiment of  FIG. 48  is different from the invention of  FIG. 38  in that the video display device  100  sets the content reminder in the video display device  100  and executes the content reminder application according to the content reminder setting. The other configurations and operations of the embodiment of  FIG. 48  are the same as those of the embodiment of  FIG. 38 . The same configurations and operations have been described above, and are thus omitted below. 
     According to the embodiment of  FIG. 48 , the video display device  100  sets the content reminder in the video display device  100  through the promotional application. The video display device  100  may receive the URL of the content reminder application from the application service provider server  300  based on the content reminder setting, and may download the content reminder application based on the URL thereof. The video display device  100  may execute the content reminder application through the browser. The video display device  100  may display, to a user, broadcast information on content through the content reminder application. 
     Operations of the video display device  100 , the content recognizing service providing server  20 , and the application service provider server  300  will be described in detail with reference to  FIG. 47 . 
       FIG. 49  is a ladder diagram illustrating operation of the video content reminder application according to another embodiment. The embodiment of  FIG. 49  is different from the invention of  FIG. 38  in that the video display device  100  sets the content reminder in the video display device  100  and executes the content reminder application according to the content reminder setting. The other configurations and operations of the embodiment of  FIG. 49  are the same as those of the embodiment of  FIG. 39 . The same configurations and operations have been described above, and are thus omitted below. 
     The video display device  100  executes the promotional application to set a content reminder in operations S 3023  and S 3025 . According to the embodiment of  FIGS. 48 and 49 , the video display device  100  sets the content reminder in the video display device  100 . The video display device  100  sets content reminder setting information when setting the content reminder. The content reminder setting information may include at least one of a content identifier, a video display device identifier, an IP address and a MAC address of a video display device, a name of a broadcaster that broadcasts content, information on a channel through which the content is broadcast, a start time of the content, a content reminder margin time, and a content reminder application URL. The channel information may include at least one of a name of the channel, a number of the channel through which the content is broadcast, a service package including the channel through which the content is broadcast, and an MPVD that provides the service package. In particular, it may be necessary for the broadcast information on the content to include the content start time and the content reminder margin time so that the video display device  100  downloads and executes the content reminder application before the content start time. The video display device  100  may receive the content reminder setting information from the application service provider server  300  in order to set the content reminder setting information. 
     However, the content start time may be changed later due to, for example, circumstances of the broadcaster. Therefore, the video display device  100  needs to apply the change of the content start time to the content reminder setting information even after setting the content reminder. To this end, the video display device  100  may receive information on the content that is a target of the content reminder setting from the application service provider server  300  so as to determine whether the content information matches preset content reminder setting information. 
     In detail, whenever the video display device  100  executes the promotional application, the video display device  100  may check whether the content information matches the preset content reminder setting information. However, in this case, if the promotional application is never executed or the ACR configuration information is changed so that the promotional application is not executed, the video display device  100  is unable to check the change of the content start time. In another specific embodiment, whenever the video display device  100  recognizes the promotional content for the content that is a target of the content reminder setting, the video display device  100  may check whether the content information matches the preset content reminder setting information. However, in this case, if the promotional content for the content that is a target of the content reminder setting is unable to be recognized, the video display device  100  is unable to check the change of the content start time. In another specific embodiment, whenever the video display device  100  is turned on, the video display device  100  may check whether the content information matches the preset content reminder setting information. In another specific embodiment, the video display device  100  may check whether the content information matches the preset content reminder setting information according to a preset check period. Here, the video display device  100  may determine the check period based on a user input. Here, in the case where the content information does not match the preset content reminder setting information, the video display device  100  may change the content reminder setting information. In this manner, even though the content information such as the content start time is changed after setting the content reminder, the video display device  100  may correctly execute the content reminder application. 
     The video display device  100  terminates the promotional application in operation S 3027 . 
     The video display device  100  downloads the content reminder application based on the content reminder setting. In detail, the video display device  100  may download the content reminder application at the content start time. In another specific embodiment, the video display device  100  may download the content reminder application a preset content reminder margin time before the content start time. Here, the content reminder margin time may be set when the content reminder is set. If the content reminder is transmitted at the content start time, a user may miss a starting part of content. Therefore, the content reminder message is notified the content reminder margin time before the content start time so that the user may prepare to view the content in order not to miss the starting part thereof. 
     The video display device  100  executes the content reminder application in operation S 3031 . 
       FIG. 50  is a conceptual diagram illustrating the video display device executing the content reminder application according to an embodiment. 
     As illustrated in  FIG. 50 , the video display device  100  according to an embodiment includes an audio/video driver  601 , an ACR engine  603 , ACR middleware  605 , an ACR user interface  607 , and an ACR plugin  609 . 
     The audio/video driver  601  captures an audio/video signal input as an external input of a TV and transfers the audio/video signal to the ACR engine  603 . The audio/video driver  601  may provide API so that the ACR engine  603  accesses an audio/video buffer. The audio/video driver  601  may also provide characteristic information of audio/video received as an external input such as HDMI. For example, in the case of audio, the audio/video driver  601  may provide information such as a sample depth, a sampling rate, the number of channels (mono/stereo etc.), the number of samples, and a sample time. In the case of video, the audio/video driver  601  may provide information such as a video format and a width, height, stride, stream time, input type (HDMI1, HDMI2, composite, component, etc.), and the number of frames per second of input video. 
     The ACR engine  603  may be executed as a separate process, and recognizes a program using the above-mentioned various methods. The ACR engine  603  may extract a signature from an audio/video sample, and may transfer the extracted signature to an ACR server so as to recognize content. As described above, the ACR engine  603  may call API capable of accessing the audio/video buffer according to platform implementation, and may transmit an audio/video stream captured by the audio/video driver  601  to an ACR process by using a socket. The ACR engine  603  sends an ACR query request to the ACR server with the signature, and receives, from the ACR sever, an ACR query response including information that indicates whether content recognition is successful, a content ID, a global content ID, a timestamp, a leanback application URL, a broadcaster server URL, a promotional application URL, and a content reminder application URL. The ACR engine  603  may transfer a result received from the ACR server to the ACR middleware  605 . 
     The ACR middleware  605 , which is a module corresponding to middleware of a DTV process, processes ACR control and processes the ACR query response from the ACR engine  603 . The ACR middleware  605  controls the ACR by executing or terminating the ACR process or by starting or stopping the ACR engine  603 . Furthermore, by parsing the ACR query response, the ACR middleware  605  stores values of the content ID, global content ID, and timestamp. The ACR middleware  605  may provide API so as to send the stored values to the ACR UI, or may send the stored values to the ACR user interface  607  by means of a message queue and global parameters. Furthermore, in order to transfer data such as the content ID, the global content ID, and the timestamp to an ACR application such as a Live+ application or a leanback application, the ACR middleware  605  may transfer the data to a web browser through inter-process communication (IPC) of a shared memory and a socket. 
     The ACR user interface (UI)  607  may represent UI for controlling ACR such as ACR on/off to a user, or may represent, to the user, information such as a name and time of a recognized program in a status bar UI of a TV. 
     When the ACR middleware  605  transfers, to a browser, the data such as the content ID, the global content ID, and the timestamp to be transferred to an ACR application, these values are received by the ACR plugin  609 . The ACR plugin  609  may transfer the values to the ACR application through a plugin object interface. An embodiment of an interface of the ACR plugin  609  is shown below. In particular, according to the embodiment of the interface of the ACR plugin  609 , the video display device  100  sets a content reminder in the video display device  100  and executes the content reminder application according to the content reminder setting, as illustrated in  FIGS. 48 and 49 . 
     
       
         
           
               
               
             
               
                   
                   
               
               
                   
                 Name 
               
               
                   
                   
               
             
            
               
                   
               
            
           
           
               
               
            
               
                 Property 
                 readonly String reminderURL 
               
               
                   
                 readonly Number reminderTimestamp 
               
               
                 Method 
                 void SetACRReminderApp(String reminderURL, Number 
               
               
                   
                 reminderTimestamp) 
               
               
                   
               
            
           
         
       
     
     Here, “reminderURL” represents the URL of the content reminder application. 
     “reminderTimestamp” represents an execution time of the content reminder application. 
     “SetACRReminderApp( )” is a function for setting the content reminder application URL and the execution time of the content reminder application in order to set a content reminder. 
     Next, a structure of a video display device according to various embodiments will be described with reference to  FIGS. 51 and 52 . 
       FIG. 51  is a block diagram illustrating a structure of a fingerprint based video display device according to another embodiment. 
     As shown in  FIG. 51  a tuner  501  extracts a symbol from an 8-VSB RF signal transmitted through an air channel. 
     An 8-VSB demodulator  503  demodulates the 8-VSB symbol that the tuner  501  extracts and restores meaningful digital data. 
     A VSB decoder  505  decodes the digital data that the 8-VSB demodulator  503  to restore an ATSC main service and ATSC M/H service. 
     An MPEG-2 TP Demux  507  filters a Transport Packet that the video display device  100  is to process from an MPEG-2 Transport Packet transmitted through an 8-VSB signal or an MPEG-2 Transport Packet stored in a PVR Storage to relay the filtered Transport Packet into a processing module. 
     A PES decoder  539  buffers and restores a Packetized Elementary Stream transmitted through an MPEG-2 Transport Stream. 
     A PSI/PSIP decoder  541  buffers and analyzes PSI/PSIP Section Data transmitted through an MPEG-2 Transport Stream. The analyzed PSI/PSIP data are collected by a Service Manager (not shown), and then, is stored in DB in a form of Service Map and Guide data. 
     A DSMCC Section Buffer/Handler  511  buffers and processes DSMCC Section Data for file transmission through MPEG-2 TP and IP Datagram encapsulation. 
     An IP/UDP Datagram Buffer/Header Parser  513  buffers and restores IP Datagram, which is encapsulated through DSMCC Addressable section and transmitted through MPEG-2 TP to analyze the Header of each Datagram. Additionally, an IP/UDP Datagram Buffer/Header Parser  513  buffers and restores UDP Datagram transmitted through IP Datagram, and then analyzes and processes the restored UDP Header. 
     A Stream component handler  557  may include ES Buffer/Handler, PCR Handler, STC module, Descrambler, CA Stream Buffer/Handler, and Service Signaling Section Buffer/Handler. 
     The ES Buffer/Handler buffers and restores an Elementary Stream such as Video and Audio data transmitted in a PES form to deliver it to a proper A/V Decoder. 
     The PCR Handler processes Program Clock Reference (PCR) Data used for Time synchronization of audio and Video Stream. 
     The STC module corrects Clock values of the A/V decoders by using a Reference Clock value received through PCR Handler to perform Time Synchronization. 
     When scrambling is applied to the received IP Datagram, the Descrambler restores data of Payload by using Encryption key delivered from the CA Stream Handler. 
     The CA Stream Buffer/Handler buffers and processes Data such as Key values for Descrambling of EMM and ECM, which are transmitted for a Conditional Access function through MPEG-2 TS or IP Stream. An output of the CA Stream Buffer/Handler is delivered to the Descrambler, and then, the descrambler descrambles MPEG-2 TP or IP Datagram, which carriers A/V Data and File Data. 
     The Service Signaling Section Buffer/Handler buffers, restores, and analyzes NRT Service Signaling Channel Section Data transmitted in a form of IP Datagram. The Service Manager (not shown) collects the analyzed NRT Service Signaling Channel Section data and stores them in DB in a form of Service Map and Guide data. 
     The A/V Decoder  561  decodes the Audio/Video data received through an ES Handler to present them to a user. 
     An MPEG-2 Service Demux (not shown) may include an MPEG-2 TP Buffer/Parser, a Descrambler, and a PVR Storage module. 
     An MPEG-2 TP Buffer/Parser (not shown) buffers and restores an MPEG-2 Transport Packet transmitted through an 8-VSB signal, and also detects and processes a Transport Packet Header. 
     The Descrambler restores the data of Payload by using an Encryption key, which is delivered from the CA Stream Handler, on the Scramble applied Packet payload in the MPEG-2 TP. 
     The PVR Storage module stores an MPEG-2 TP received through an 8-VSB signal at the user&#39;s request and outputs an MPEG-2 TP at the user&#39;s request. The PVR storage module may be controlled by the PVR manager (not shown). 
     The File Handler  551  may include an ALC/LCT Buffer/Parser, an FDT Handler, an XML Parser, a File Reconstruction Buffer, a Decompressor, a File Decoder, and a File Storage. 
     The ALC/LCT Buffer/Parser buffers and restores ALC/LCT data transmitted through a UDP/IP Stream, and analyzes a Header and Header extension of ALC/LCT. The ALC/LCT Buffer/Parser may be controlled by an NRT Service Manager (not shown). 
     The FDT Handler analyzes and processes a File Description Table of FLUTE protocol transmitted through an ALC/LCT session. The FDT Handler may be controlled by an NRT Service Manager (not shown). 
     The XML Parser analyzes an XML Document transmitted through an ALC/LCT session, and then, delivers the analyzed data to a proper module such as an FDT Handler and an SG Handler. 
     The File Reconstruction Buffer restores a file transmitted through an ALC/LCT, FLUTE session. 
     If a file transmitted through an ALC/LCT and FLUTE session is compressed, the Decompressor performs a process to decompress the file. 
     The File Decoder decodes a file restored in the File Reconstruction Buffer, a file decompressed in the decompressor, or a film extracted from the File Storage. 
     The File Storage stores or extracts a restored file if necessary. 
     The M/W Engine (not shown) processes data such as a file, which is not an A/V Stream transmitted through DSMCC Section and IP Datagram. The M/W Engine delivers the processed data to a Presentation Manager module. 
     The SG Handler (not shown) collects and analyzes Service Guide data transmitted in an XML Document form, and then, delivers them to the EPG Manager. 
     The Service Manager (not shown) collects and analyzes PSI/PSIP Data transmitted through an MPEG-2 Transport Stream and Service Signaling Section Data transmitted through an IP Stream, so as to produce a Service Map. The Service Manager (not shown) stores the produced service map in a Service Map &amp; Guide Database, and controls an access to a Service that a user wants. The Service Manager is controlled by the Operation Controller (not shown), and controls the Tuner  501 , the MPEG-2 TP Demux  507 , and the IP Datagram Buffer/Handler  513 . 
     The NRT Service Manager (not shown) performs an overall management on the NRT service transmitted in an object/file form through a FLUTE session. The NRT Service Manager (not shown) may control the FDT Handler and File Storage. 
     The Application Manager (not shown) performs overall management on Application data transmitted in a form of object and file. 
     The UI Manager (not shown) delivers a user input to an Operation Controller through a User Interface, and starts a process for a service that a user requests. 
     The Operation Controller (not shown) processes a command of a user, which is received through a UI Manager, and allows a Manager of a necessary module to perform a corresponding action. 
     The Fingerprint Extractor  565  extracts fingerprint characteristic information from an AV stream. 
     The Fingerprint Comparator  567  compares the characteristic information extracted by the Fingerprint Extractor with a Reference fingerprint to find an identical content. The Fingerprint Comparator  567  may use a Reference fingerprint DB stored in local and may query a Fingerprint query server on the internet to receive a result. The matched result data obtained by a comparison result may be delivered to Application and used. 
     As an ACR function managing module or an application module providing an enhanced service on the basis of ACR, the Application  569  identifies a broadcast content in watching to provide an enhanced service related to it. 
       FIG. 52  is a block diagram illustrating a structure of a watermark based video display device according to another embodiment. 
     Although the watermark based video display device of  FIG. 52  is similar to the fingerprint based video display device of  FIG. 51 , the fingerprint based video display device does not includes the Fingerprint Extractor  565  and the Fingerprint Comparator  567 , but further includes the Watermark Extractor  566 . 
     The Watermark Extractor  566  extracts data inserted in a watermark form from an Audio/Video stream. The extracted data may be delivered to an Application and may be used. 
     According to an embodiment, enhanced services not dependent on an MVPD are available. Especially, even when a broadcaster or a contents provider does not provide enhanced services, a third party server not dependent on the broadcaster or the contents provider may provide the enhanced services. 
     Moreover, according to embodiments, information search, chatting, news search, digital media download, product catalog download, and product purchase, which are related to main audio and video contents, are available without inconvenient text input using a remote controller. 
     Additionally, according to embodiments, enhanced services exceeding the bandwidth limitation of a wireless channel become available. 
     Moreover, the above methods of the present invention can also be embodied as computer readable codes on a computer readable recording medium. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks,