SUH, Jong Yeul (Intellectual Property Center, LG Electronics Inc.16 Woomyeon-Dong, Seocho-Gu, Seoul 137-724, KR)
HONG, Ho Taek (Intellectual Property Center, LG Electronics Inc.16 Woomyeon-Dong, Seocho-Gu, Seoul 137-724, KR)
KIM, Kyung HO (Intellectual Property Center, LG Electronics Inc.16 Woomyeon-Dong, Seocho-Gu, Seoul 137-724, KR)
LEE, Joon Hui (Intellectual Property Center, LG Electronics Inc.16 Woomyeon-Dong, Seocho-Gu, Seoul 137-724, KR)
SUH, Jong Yeul (Intellectual Property Center, LG Electronics Inc.16 Woomyeon-Dong, Seocho-Gu, Seoul 137-724, KR)
HONG, Ho Taek (Intellectual Property Center, LG Electronics Inc.16 Woomyeon-Dong, Seocho-Gu, Seoul 137-724, KR)
KIM, Kyung HO (Intellectual Property Center, LG Electronics Inc.16 Woomyeon-Dong, Seocho-Gu, Seoul 137-724, KR)
| Claims [1] A method of processing broadcast service information, the method comprising: receiving an Internet Protocol (IP) packet delivering service discovery information and an IP packet delivering Broadband Content Guide (BCG) metadata; and retrieving description information from the BCG metadata based on a service name of the service discovery information and creating electronic program guides (EPG) based on the retrieved description information. [2] The method according to claim 1, wherein the retrieving the description information includes: comparing the service name with a service identifier of the BCG metadata; and retrieving the description information corresponding to the service identifier of the BCG metadata from the BCG metadata when the service name is the same with the service identifier of the BCG metadata. [3] The method according to claim 1, wherein the service discovery information includes broadcast discovery information and BCG discovery information. [4] The method according to claim 3, wherein the receiving the IP packet includes: receiving an IP packet delivering the broadcast discovery information and an IP packet delivering the BCG discovery information; retrieving information for receiving the BCG metadata from the BCG discovery information based on a content guide identifier of the broadcast discovery information; and receiving the BCG metadata using the retrieved information. [5] The method according to claim 1, further comprising: receiving a request for reserving recording of a service; and retrieving recording information on the service from the EPG and saving the retrieved recording information in a scheduled recording list. [6] The method according to claim 5, wherein the recording information includes at least one of service identification information, recording start time, recording duration and CRID value. [7] The method according to claim 6, further comprising: identifying whether it is start time for recoding the service based on the recording start time; retrieving the service location information from the service discovery information based on the service identification information when it is start time for recoding the service; and receiving the service based the retrieved service location information and recording the received service. [8] The method according to claim 5, further comprising: identifying whether there is the request for reserving recording in the scheduled recording list; retrieving the CRID value of the service from the scheduled recording list and identifying whether the recording information is changed using the retrieved CRID value when there is the request in the scheduled recording list; and receiving the recording information and updating the recording information stored in the scheduled recording list based on the received recording information when the recording information is changed. [9] A digital broadcast receiver comprising: a network interface configured to receive an Internet Protocol (IP) packet delivering service discovery information and an IP packet delivering Broadband Content Guide (BCG) metadata; and a controller configured to retrieve description information from the BCG metadata based on a service name of the service discovery information and create electronic program guides (EPG) based on the retrieved description information. [10] The digital broadcast receiver according to claim 9, wherein the controller compares the service name with a service identifier of the BCG metadata and retrieves the description information corresponding to the service identifier of the BCG metadata from the BCG metadata when the service name is the same with the service identifier of the BCG metadata. [11] The digital broadcast receiver according to claim 9, wherein the service discovery information includes broadcast discovery information and BCG discovery information. [12] The digital broadcast receiver according to claim 11, wherein the controller retrieves information for receiving the BCG metadata from the BCG discovery information based on a content guide identifier of the broadcast discovery information and controls to receive the BCG metadata using the retrieved information. [13] The digital broadcast receiver according to claim 9, wherein the controller receives a request for reserving recording of a service and retrieves recording information on the service from the EPG and save the retrieved recording information in a scheduled recording list. [14] The digital broadcast receiver according to claim 13, wherein the recording information includes at least one of service identification information, recording start time, recording duration and CRID value. [15] The digital broadcast receiver according to claim 13, the controller identifies whether it is start time for recoding the service based on the recording start time, retrieves the service location information from the service discovery information based on the service identification information when it is start time for recoding the service and controls to receive the service based the retrieved service location information and record the received service. |
A DIGITAL BROADCAST RECEIVER AND A METHOD FOR PROCESSING BROADCAST SERVICE INFORMATION
Technical Field
[1] The present invention relates to a digital broadcast receiver and a method for processing broadcast service information, and more particularly, to a digital broadcast receiver and a method for receiving broadcast service information via internet network and providing the broadcast service information to a user. Background Art
[2] A broadcast wave transmitted from a broadcasting station includes various contents such as video, audio and application programs. The data broadcast standard for receiving the broadcast wave and executing the application programs synchronized with video and audio has been developed and managed. The data broadcast standard can implement a variety of supplementary functions as well as a function for providing video and audio, when transmitted application programs are received and are loaded to a terminal and the loaded application programs are executed.
[3] For example, a set-top-box is a terminal for supporting the data broadcast standard.
In the set-top-box, Java-based data broadcast middleware for porting a Java virtual machine on a device driver and supporting an application programming interface (API) using the Java virtual machine is implemented. Multiple system operators (MSOs) can easily manufacture application programs for servicing digital video recorders (DVRs), electronic program guides (EPGs) or the like using the Java API provided by the data broadcast middleware implemented in the set-top-box. When the application programs manufactured by the MSOs are transmitted via broadcast streams, the application programs are executed on the data broadcast middleware of the set-top-box.
[4] Among the data broadcast standards, a "Globally Executable Multimedia Home
Platform (GEM)" includes only most common contents, and an "OpenCable Application Platform (OCAP)" is the standard obtained by extending the GEM to a cable broadcast environment and is mainly used in North America. These two standards have extended standards for respectively supporting DVRs, such as "DVB Digital Recording Extension to GEM" and "OCAP Extension: OCAP Digital Video Recorder".
[5] The DVR is a function to record current broadcast contents and allowing the broadcast contents to be watched later or a function to perform functions such as rewind, pause and so on with respect to a real-time broadcast. In order to use the DVR function, the middleware of the set-top-box should support a DVR-extended API of each standard. The MSOs should provide an application using the DVR API. Disclosure of Invention
Technical Problem
[6] An object of the present invention is to provide a digital broadcast receiver and a method for processing broadcast service information, which are capable of, at the digital broadcast receiver, providing broadcast service information transmitted via internet network.
[7] Another object of the present invention is to provide a digital broadcast receiver and a method for processing broadcast service information, which are capable of, at the digital broadcast receiver, performing scheduled recording by providing broadcast service information transmitted via internet network. Technical Solution
[8] Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objectives and other advantages of the invention may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
[9] To achieve these objects and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, a method of processing broadcast service information, the method includes receiving an Internet Protocol (IP) packet delivering service discovery information and an IP packet delivering Broadband Content Guide (BCG) metadata and retrieving description information from the BCG metadata based on a service name of the service discovery information and creating electronic program guides (EPG) based on the retrieved description information. Herein, the service discovery information includes broadcast discovery information and BCG discovery information.
[10] In addition, the retrieving the description information includes comparing the service name with a service identifier of the BCG metadata and retrieving the description information corresponding to the service identifier of the BCG metadata from the BCG metadata when the service name is the same with the service identifier of the BCG metadata.
[11] In addition, the receiving the IP packet includes receiving an IP packet delivering the broadcast discovery information and an IP packet delivering the BCG discovery information, retrieving information for receiving the BCG metadata from the BCG discovery information based on a content guide identifier of the broadcast discovery information and receiving the BCG metadata using the retrieved information. [12] In addition, the method further includes receiving a request for reserving recording of a service and retrieving recording information on the service from the EPG and saving the retrieved recording information in a scheduled recording list. Herein, the recording information includes at least one of service identification information, recording start time, recording duration and CRID value.
[13] In addition, the method further includes identifying whether it is start time for recoding the service based on the recording start time, retrieving the service location information from the service discovery information based on the service identification information when it is start time for recoding the service, and receiving the service based the retrieved service location information and recording the received service.
[14] In addition, the method further includes identifying whether there is the request for reserving recording in the scheduled recording list, retrieving the CRID value of the service from the scheduled recording list and identifying whether the recording information is changed using the retrieved CRID value when there is the request in the scheduled recording list, and receiving the recording information and updating the recording information stored in the scheduled recording list based on the received recording information when the recording information is changed.
[15] In another aspect of the present invention, there is provided a digital broadcast receiver, the digital broadcast receiver including a network interface configured to receive an Internet Protocol (IP) packet delivering service discovery information and an IP packet delivering Broadband Content Guide (BCG) metadata and a controller configured to retrieve description information from the BCG metadata based on a service name of the service discovery information and create electronic program guides (EPG) based on the retrieved description information. Herein, the service discovery information includes broadcast discovery information and BCG discovery information.
[16] In addition, the controller compares the service name with a service identifier of the
BCG metadata and retrieves the description information corresponding to the service identifier of the BCG metadata from the BCG metadata when the service name is the same with the service identifier of the BCG metadata.
[17] In addition, the controller retrieves information for receiving the BCG metadata from the BCG discovery information based on a content guide identifier of the broadcast discovery information; and controls to receive the BCG metadata using the retrieved information.
[18] In addition, the controller receives a request for reserving recording of a service and retrieves recording information on the service from the EPG and save the retrieved recording information in a scheduled recording list. Herein, the recording information includes at least one of service identification information, recording start time, recording duration and CRID value.
[19] In addition, the controller identifies whether it is start time for recoding the service based on the recording start time, retrieves the service location information from the service discovery information based on the service identification information when it is start time for recoding the service and controls to receive the service based the retrieved service location information and record the received service.
[20] It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.
Advantageous Effects
[21] In a digital broadcast receiver and a method for processing broadcast service information according to the present invention, it is possible for a digital broadcast receiver to efficiently process broadcast service information transmitted via internet network and to provide a user with guide information about a broadcast program. Also, it is possible for a digital broadcast receiver to efficiently perform scheduled recording by processing broadcast service information transmitted via internet network. Brief Description of Drawings
[22] The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principle of the invention. In the drawings:
[23] FIG. 1 is a diagram of an IPTV system according to one preferred embodiment of the present invention;
[24] FIG. 2 is a schematic diagram of a multicast scheme;
[25] FIG. 3 is a schematic diagram of an unicast scheme;
[26] FIG. 4 is a flowchart of a service discovery process;
[27] FIGs. 5 to 7 are tables for broadcast discovery record according to the present invention;
[28] FIG. 8 is a flowchart of a method for processing broadcast service information according to one preferred embodiment of the present invention;
[29] FIGs. 9 to 10 are tables for Broadband Content Guide (BCG) discovery record according to the present invention;
[30] FIG. 11 is a diagram of how to link a service in Broadcast Discovery with BCG
Discovery;
[31] FIG. 12 is a diagram of how to find description information in BCG from Service
Discovery & Selection (SD&S) Metadata;
[32] FIG. 13 is a block diagram of a broadcast receiver according to one preferred em- bodiment of the present invention;
[33] FIG. 14 is a block diagram of a Personal Video Recording (PVR) according to one preferred embodiment of the present invention; and
[34] FIG. 15 is a flowchart of a method for processing broadcast service information according to another preferred embodiment of the present invention. Best Mode for Carrying out the Invention
[35] Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
[36] Moreover, terminologies used currently and widely are selected as terminologies used in this disclosure of the present invention. In some cases, terminologies arbitrarily selected by the applicant are used for the description of the present invention. For this, the accurate or correct meanings are specified in detailed description of the corresponding part. Therefore, it is understood that the arbitrarily selected terminology is not only simply construed as the name of the terminology used in this disclosure but also construed as the meaning of the corresponding terminology.
[37] In the following description, operations of a digital broadcast receiver and a method for processing broadcast service information according to the present invention are explained in detail with reference to the accompanying drawings.
[38] First of all, IPTV system, which is an example for a system capable of providing various contents using internet network, can mainly include a server, a network and a receiver (client).
[39] The server of the IPTV system can include servers responsible for various functions, such as a service discovery & selection server, a streaming server, a content guide information server, a client information server, a pay information server and the like.
[40] Among the above servers, the streaming server transmits the stored moving picture data encoded by Moving Picture Experts Group 2 (MPEG2), MPEG4 and the like to a user via network. For a protocol for the transmission, Real-Time Transport Protocol (RTP), RTP Control Protocol (RTCP) or the like is available.
[41] In case of using Real-Time Streaming Protocol (RTSP), moving picture stream playback can be controlled to some extent through a function called a trick play such as pause, replay, stop and the like. The above protocols are just exemplary and other real-time transport protocols are available according to implementations.
[42] The content guide information server is the server that provides information on various contents. In this case, content guide information is the information corresponding to Electronic Program Guide (EPG) information or Broadband Content Guide (BCG) and includes various kinds of information about contents. The content guide information server stores content guide information data and provides the stored content guide information data to a receiver.
[43] The service discovery & selection server provides a receiver with connection information on servers providing various content services such as broadcast, COD (contents on demand), game and the like, playback information and the like.
[44] The network system includes an internet based network and gateways. The internet based network can use one of various IP based networks including an optical cable network, a coaxial cable network, Fiber To The Home (FTTH), a phone network, a wireless network and the like. The gateways can perform multicast group management using such a protocol as Internet Group Management Protocol (IGMP), Quality Of Service (QoS) management and the like as well as general data forwarding.
[45] The IPTV receiver means the receiver capable of receiving data transported via internet network and then providing the received data to a user. The receiver includes one of IPTV settop, homenet gateway, IPTV embedded TV and the like. The digital broadcast receiver may include the IPTV receiver.
[46] Also, the IPTV receiver includes an Open IPTV Terminal Function (OITF). The
OITF is a device having the functionality within the Consumer Network or a Mobile Terminal that is responsible for terminating the media and control for an IPTV Service. And the IPTV receiver includes a thin client controlling an IPTV service based on the browser interaction model and a thick client controlling an IPTV service based on the Service Discovery & Selection mechanism. The thick client receives metadata from a server and processes the metadata to control the IPTV service, but the thin client accesses a web page generated from the metadata by the server through a web browser and displays the web page.
[47] In case of hybrid type IPTV system, various contents of internet can be provided as well as various conventional broadcast contents. In particular, various broadcast contents including terrestrial broadcast, cable broadcast, satellite broadcast, personal broadcast and the like, various internet picture contents, data contents except pictures and the like can be provided to a user. And, these contents can be provided by real time or by on-demand according to a request.
[48] FIG. 1 is a diagram of an IPTV system according to one preferred embodiment of the present invention.
[49] Referring to FIG. 1, in aspect of providing a content service, the IPTV system can include a content provider (CP), a service provider (SP), a network provider (NP) and a customer.
[50] The content provider produces various contents to provide. As mentioned in the foregoing description of FIG. 1, the content provider can include one of a terrestrial broadcaster, a cable broadcast service operator (cable system operator (SO) or multiple system operator (MSO)), a satellite broadcaster, an internet broadcaster and the like.
[51] The service provider renders contents provided by the content provider into a service package and then provides the service package. For instance, the service provider shown in FIG. 1 packetizes a first terrestrial broadcast, a second terrestrial broadcast, a cable MSO, a satellite broadcast, various internet broadcasts and the like and then provides the packetized broadcasts to a user. Also the service provider provides SD&S (service discovery & selection) metadata describing all services for service provider such as broadcasting services, CoD services, BCG services, and so on. The SD&S metadata is delivered by a SD&S record. The SD&S record may include a Broadcast discovery record, a COD (content on demand) discovery record, a package discovery record, a BCG discovery record and the like.
[52] The service provider provides a user with a service using a unicast or multicast scheme. FIG. 2 and FIG. 3 are schematic diagrams for a multicast scheme and a unicast scheme, respectively. In the unicast scheme, data is transported between a single transmitter and a single receiver by 1:1. For instance, in case of the unicast scheme, if a receiver makes a request for data to a server, the server transmits the data to the receiver in response to the request. In the multicast system, data is transmitted to a plurality of receivers of a specific group. For instance, a server is able to transmit data to a plurality of pre -registered receivers at a time. For the multicast registration, Internet Group Management Protocol (IGMP) is available.
[53] The network provider provides a network to provide the service to a Customer. The
Customer can receive the service by establishing a home network (Home Network End User: HNED) as well.
[54] For a means for protecting a content transported in the IPTV system, conditional access, content protection and the like are available. For example, CableCard, Downloadable Conditional Access System (DCAS) or the like is available for the conditional access or content protection.
[55] FIG. 4 is a flowchart of a service discovery process.
[56] Referring to FIG. 4, in order for the IPTV receiver to provide a content to a user, the receiver discovers a server storing a user-specific content therein and then accesses the discovered server. To discover the content server, the receiver is able to access an entry point of an IPTV portal (or a system operator (SO)) provided by a network provider [S400]. In this case, the entry point means a sort of an access location.
[57] A user inputs an IP address/port or DNS (domain name system) URL (uniform resource locator) for the entry point of the IPTV portal or selects to input a pre- registered address or the like. Alternatively, the receiver is able to automatically access a pre-selected access or the like. [58] The entry point of the IPTV portal provides the receiver with a service provider discovery record containing information on each service provider [S410]. In the case, the service provider discovery record contains various kinds of information on a service provider. For instance, the various kinds of information contain service provider identification information, connection information and the like.
[59] The receiver accesses a server of the service provider that provides a user-specific service using the information included in the received service provider discovery record. And, the service provider provides the receiver with a service discovery record containing information on a content service [S420]. In this case, the service discovery record contains various kinds of information on a content service. In this case, the service discovery record may contain an access address of a service server storing the content and the like for example.
[60] The receiver stores the received service discovery record. The receiver accesses the service server of the content provider providing the user-specific content using the information included in the stored service discovery record and then receives a stream from the service server. In case of attempting to view a content provided on a different channel (or, a content provided by a different service server), the receiver accesses the service server of the corresponding content provider again using the information included in the stored service discovery record.
[61] FIGs. 5 to 7 are tables for broadcast discovery record according to the present invention.
[62] Referring to FIGs. 5 to 7, a broadcast discovery record is one of SD&S records provided by a service provider and is the record for carrying broadcast discovery information being information on a live media broadcast service.
[63] For the broadcast discovery record, there are 'TS-FuIl SF using DVB SI (service information) included in TS (transport stream) of a sequence and 'TS-Optional SF not using in-band SI except MPEG (moving picture experts group) PSI (program specific information).
[64] The 'TS-FULL SF is usable for a case that conventional broadcast data is transported via IP network as it is. Hence, information required for receiving TS is provided to the broadcast discovery record only and information on each service can be obtained from DVB SI included in the TS. The 'TS-Optional SF is usable for a case that data except in-band SI is transported via IP network. Hence, SI on each service is included in the broadcast discovery record together with location information of a service. The broadcast discovery of the 'TS-Optional SF is equivalent to that of the 'TS-FuIl SF. Yet, the 'TS-Optional SF differs from the 'TS-FuIl SF in a presence or non-presence of SI.
[65] The broadcast discovery record includes 'ServiceLocation' element containing service location information, 'Textualldentifier' element containing textual identification information, 'DVBTriplet' element containing triplet information, 'MaxBitrate' element containing maximum bitrate information, 'SF element containing SI, 'Audio Attributes' element containing audio attribute information, 'Video Attributes' element containing video attribute information and 'PreviewService' element containing preview service information. The depicted elements are just exemplary. Necessary elements can be further included and unnecessary elements can be excluded.
[66] A single recorded is depicted through FIGs. 5 to 7 that are divided to consider a size of the drawing. A broadcast discovery record shown in FIGs. 5 to 7 further includes an element containing information on forward error correction (FEC) and an element containing information on service availability but does not include SI element therein. In case of 'TS-Optional SF, the 'SF element can be further included in the broadcast discovery record. Also, In FIGs. 5 to 7, 'M' in a most right column is a mark indicating a mandated element and 'O' in the most right column is a mark indicating an optionally included element.
[67] 'BroadcastOffering' type of the broadcast discovery record shown in FIGs. 5 to 7 is
'BroadcastDiscovery' and TPServiceList' type is 'BroadcastDiscovery/ServiceList'.
[68] If present, 'ServiceDescriptionLocation' element shall contain the identifier of the
Broadband Content Guide (BCG) Record for a BCG Discovery element that carries the information on this offering.
[69] If present and set to true, 'ServiceDescriptionLocation@preferred' attribute specifies that this location contains the preferred BCG. The default value for 'ServiceDescriptionLocation ©preferred' attribute is false. There shall be only one preferred BCG. the BCG may mean content guide information corresponding to EPG (electronic program guide).
[70] Various kinds of information on a service are included in
'broadcastDiscovery/ServiceList/SingleService'.
[71] 'TextualIdentifier@DomainName' includes internet DNS domain name information for identifying a service provider, and 'Textualldentifier® ServiceName' includes host name information of a service provided by a service provider.
[72] 'DVBTriplet' includes DVB Triplet information on a service. In the 'DVBTriplet',
'DVBTriplet® OrigNetld' includes original_network_id information for identifying the network id of the originating delivery system. 'DVBTriplet@TSId' includes transport_stream_id information for identifying the Transport Stream. And 'DVBTriplet® Serviceld' includes service_id information for identifying a service from any other service within the TS. The service Id may be the same as the program number in the corresponding program map table. [73] 'MaxBitrate' includes maximum bitrate information for specifying the maximum bitrate (in kbits/s) of the overall stream carrying the service.
[74] Information on a location of a service is included in
'BroadcastDiscovery/ServiceList/SingleService/ServiceLoca tion'. And, at least one of IPMulticastAddress information or RTSPURL information should be included in the 'BroadcastDiscovery/ServiceList/SingleService/ServiceLocatio n'. That is, the 'BroadcastDiscovery/ServiceList/SingleService/ServiceLocatio n' includes at least one of 'IPMulticastAddress' and 'RTSPURL' as child element.
[75] 'IPMulticastAddress' includes TPMuliticastAddress @ Source',
'IPMuliticastAddress @ Address ' , 'IPMuliticastAddress @ Port' , 'IPMulticastAddress ©Streaming', 'FECBaseLayer', 'FECEnhancementLayer', IPMulticastAddress ©FECMaxBlockSizePackets' , 'IPMulticastAddress @ FECMaxBlockSizeTime' and 'IPMulticastAddress @ FECObejectTransmissionlnformation' .
[76] 'IPMuliticastAddress ©Source' includes the IP unicast address of the source of the
TS and may be optionally provided. TPMuliticastAddress@Address' includes the multicast address at which the service may be accessed. 'IPMuliticastAddress® Port' includes the port at which the service may be access. 'IPMulticastAddress ©Streaming' optionally includes information indicating RTP or direct UDP (user datagram protocol) streaming. In case the parameter is not provided, RTP streaming is assumed.
[77] 'FECBaseLayer' includes 'FECBaseLayer@Address', 'FECBaseLayer ©Source' and
'FECBaseLayer ©Port. 'FECBaseLayer ©Address' includes IP Multicast Address for FEC Base Layer. If the IP multicast address is omitted, then the FEC flow is assumed to be on the same multicast address as the original data.
[78] 'FECBaseLayer© Source' includes IP Multicast Source Address for FEC Base Layer.
If the IP multicast source address is omitted, the FEC flow is assumed to be on the same multicast as the original data.
[79] 'FECBaseLayer © Port includes UDP port for FEC Base Layer.
[80] 'FECEnhancementLayer' includes 'FECEnhancementLayer ©Address',
'FECEnhancementLayer© Source' and 'FECEnhancementLayer© Port'. 'FECEnhancementLayer@Address' includes IP Multicast Address for FEC Enhancement Layer (Raptor). If the IP multicast address is omitted, then the FEC flow is assumed to be on the same multicast address as the original data.
[81] 'FECEnhancementLayer© Source' includes IP Multicast Source Address for FEC
Enhancement Layer (Raptor). If the IP multicast source address is omitted, then the FEC flow is assumed to be on the same multicast source address as the original data.
[82] 'FECEnhancementLayer© Port' includes UDP port for FEC Enhancement Layer.
[83] 'IPMulticastAddress ©FECMaxB lockS izePackets' included information indicating the maximum number of stream source packets that will occur between the first packet of a source block (which included) and the last packet for that source block (source or repair).
[84] 'IPMulticastAddress@FECMaxB lockS izeTime' includes information on the maximum transmission duration of any FEC Block (source and repair packets).
[85] TPMulticastAddress@FECObejectTransmissionInformation' includes the FEC
Object Transmission Information for the Raptor code. If an FECEnhancementLayer element is included then this element shall be included.
[86] 'RTSPURL' includes information for signaling the user of RTSP (Real-Time
Streaming Protocol) to access the service and providing the URL at which the service may be accessed.
[87] FIG. 8 is a flowchart of a method for processing broadcast service information according to one preferred embodiment of the present invention.
[88] Referring to FIG. 8, a digital broadcast receiver obtains Service Provider discovery information (S 800). To obtain the Service Provider discovery information, the receiver may perform a service discovery process shown in the FIG. 4. The Service Provider discovery information includes various kinds of information on each service provider. For instance, the various kinds of information include service provider identification information and connection information. The Service Provider discovery information may be included in the Service Provider discovery record and transmitted.
[89] The receiver accesses the each service provider using the Service Provider discovery information and obtains Service discovery information for the each service provider (S805). The Service discovery information may include Broadcast discovery information. The Broadcast discovery information may be included in the Broadcast discovery record shown in the FIGs. 5 to 7 and transmitted. The Service Provider discovery record and the Service discovery record may be transported according to SD&S (service discovery & selection) protocol.
[90] The receiver displays a broadcast content (S810). The receiver can provide a service and display the broadcast content after obtaining the Service discovery information for the each service provider.
[91] The receiver identifies whether a request for reserving recording is input (S815).
[92] When the request for reserving recording is input, the receiver receives recording information for reserving recording from a user (S820). And the receiver stores the recording information in a scheduled recording list (S825). Herein, the recording information may include service identification information of a service (channel) selected for recording, recording start time, recording duration. The service identification information may be information included in 'TextualIdentifier@DomainName' and 'TextualIdentifier@ServiceName' of the Broadcast discovery record or information included in 'DVBTriplet@OrigNetId', 'DVBTriplet@TSId' and 'DVBTriplet@ServiceId' of the Broadcast discovery record. Also, the receiver may enable the user to select channel and time for recording.
[93] When the request for reserving recording is not input, the receiver identifies whether there are scheduled recordings based on the scheduled recording list (S830). Herein, the receiver may identify the scheduled recording list at every predetermined time interval. Also, the receiver may identify whether there are scheduled recordings based on an event which is occurred if it is the recording start time of each scheduled recordings.
[94] When there are scheduled recordings, the receiver determines whether or not it is start time for recording based on recoding start time of the recording information included in the scheduled recording list (S835). When it is start time for recording, the receiver gets service location information from the service discovery record based on the service identification information (S 840). And the receiver receives a service using the address indicated by the service location information and performs recording (S845). Herein, the service location information may be information included in 'ServiceLocation' of the broadcast discovery record shown in FIGs 5 to 7.
[95] FIGs. 9 to 10 are tables for Broadband Content Guide (BCG) discovery record according to the present invention.
[96] Referring to FIGs. 9 to 10, in a table of BCG discovery record, a BCG offering type
'BCGOffering type' indicates a table of 'BCGDiscovery'.
[97] 'BCG' means a BCG record.
[98] 'BCG @ Id' means an identifying sign of a provider/server that provides BCG. The identity sign is allocated by a service provider.
[99] 'BCG ©version' means version information of BCG. If the version information of the BCG is modified, it announces that BCG data is updated.
[100] 'Name' means a name of the BCG. The name of the BCG can be provided through at least one language.
[101] 'Description' means the description for the BCG. The description for the BCG can be provided through at least one language.
[102] 'Logo' means a pointer to a logo for BCG.
[103] 'Type' includes type information of a content related to BCG. For instance, the type of the content can include Live Program, COD (Content On Demand) or one of other types.
[104] 'TargetProvider' include domain name information on a provider of a content provider described in BCG.
[105] 'TransportMode' includes location information for discovering BCG data.
[106] 'DVBSTP' within 'TransportMode' includes location information of BCG provided using DVBSTP protocol.
[107] 'http@ Location' within TransportMode' includes location information of BCG provided using HTTP protocol.
[108] 'http@SOAP' within 'TransportMode' includes information indicating whether BCG provided using HTTP protocol uses SOAP protocol. And, a default value is 'false'.
[109] 'BCGProviderName' includes name information of a BCG provider.
[110] FIG. 11 is a diagram of how to link a service in Broadcast Discovery with BCG Discovery Record.
[I l l] Referring to FIG. 11, Access to a BCG service is described in a BCG discovery record, which is linked to from a Broadcast discovery record. FIG. 11 indicates how to receive BCG metadata relating to a single service or a couple of services in Broadcast discovery information. In order to signal BCG metadata for a single service or services' list, the value of 'ServiceDescriptionLocation' or
'ServicesDescriptionLocation' in Broadcast Discovery Record and 'BCG@Id' in BCG Discovery Record must be the same.
[112] The transport address of BCG metadata is described in the children nodes of
'TransportMode' element in relevant BCG Discovery Record. With this address, the receiver can receive BCG metadata for a single service or a couple of services (either through push or pull container based mechanism, or through SOAP querying).
[113] For instance, when an identifier included in 'ServicesDescriptionLocation'
(ServicesDescLocation 1) is the same with an identifier included in 'BCGl @ID', the receiver can get 'TransportMode' element for receiving BCG metadata relating to a single service or a couple of services in Broadcast discovery information.
[114] Each 'DVBSTP', 'http@ Location' and 'http@SOAP' within 'TransportMode' indicates a protocol used when receiving the BCG metadata and specifies the location at which the BCG metadata is available. For instance, when receiving the BCG metadata using the DVBSTP protocol, the receiver uses location information included in the 'DVBSTP'. Also, when receiving the BCG metadata using the HTTP protocol, the receiver uses location information included in the 'http@ Location'. And when receiving the BCG metadata using the SOAP protocol, the receiver uses location information included in the 'http@SOAP'.
[115] FIG. 12 is a diagram of how to find description information in BCG from Service Discovery & Selection (SD&S) Metadata.
[116] Referring to FIG. 12, the BCG metadata contains ServicelnformationTable, Program- LocationTable and ProgramlnformationTable. To create an EPG with the received BCG metadata and SD&S metadata, the ServicelnformationTable may include a service identifier for linking a service in Broadcast Discovery with the BCG metadata. The service identifier may be included in 'Servicelnformation@serviceld' of Service- InformationTable. The serve identifier may equal the ServiceName attribute in the associated Broadcast Discovery record.
[117] For instance, when the service identifier is "channell.servieprovider.com",
"channell.serviceprovider.com" may be included in 'Servicelnformation@serviceld'. In this case, the receiver finds a service (service 1-1) with 'Textualldentifier® ServiceName' being "channell.serviceprovider.com" in the Broadcast discovery record. Then, the receiver retrieves 'ServiceLocation' of the service (service 1-1) from the Broadcast Discovery record and receives the service (service 1-1) based on an address indicated by the retrieved 'ServiceLocation' of the service (service 1-1).
[118] The ProgramLocationTable may include a Reference of the service identifier. The Reference may be included in ' Schedule @serviceIDRef of ProgramLoationTable. A value of ' Schedule @serviceIDRef may be the same at the associated service identifier in ServicelnformationTable.
[119] The ProgramLocationTable may include Schedule Event Information for each service. The Schedule Event Information may be included in 'ScheduleEvent' of the ProgramLocationTable. Herein, the Schedule Event Information includes Advertised start time of a single program in a service, Advertised duration of a single program in a service, location information of a program in a service and CRID information of a program in a service. The location information of a program may be URL and is optionally provided. For instance, the location information may be "dvb://8FC.59D8.0001;7650".
[120] The CRID information provides link to detailed program description, found in the programlnformationTable. The receiver may find the detailed information of a single content in programlnformationTable using the CRID information. Herein, the detailed information of a single content means the detailed program description of a single content or the guide information of a single content.
[121] The Advertised start time of a single program, the advertised duration of a single program, the location information of a program and the CRID information are in 'PublishedStartTime', 'PublishedDuration', 'ProgramURL' and 'Program® CRID' within 'ScheduleEvent', respectively.
[122] The ProgramlnformationTable includes a CRID value of a single program. The CRID value of a single program may be included in the
'Programlnformation@programld' of ProgramlnformationTable. Herein, the CRID value may be the same with one of the CRID information in the ProgramLocationTable. The receiver compares the CRID value of ProgramlnformationTable with the CRID information of ProgramLocationTable and finds the CRID value of ProgramlnformationTable which equals the CRID information of ProgramLocationTable, the receiver gets the detailed information of a single program relating to the found CRID value of ProgramlnformationTable.
[123] The ProgramlnformationTable includes the detailed program description. The detailed program description may include Title of a program, Synopsis of a program and Genre of a program. The detailed program description may be included in the 'BasicDecription' of the ProgramlnformationTable. And the Title of a program, the Synopsis of a program and the Genre of a program may be included in the 'Title', 'Synopsis' and 'Genre' within 'BasicDescription'.
[124] The receiver may find description information in BCG from a single service of the Broadcast discovery record. Herein, the description information means the description program information. The Broadcast discovery record may include BCG metadata identification information for identifying description information on a specific service of the Broadcast discovery record. The receiver can find description information in BCG using the BCG metadata identification information. Herein, the host name for the service may be used as the BCG metadata identification information. Also, the host name for the service may be included in 'TextualIdentifier@ServiceName' of the broadcast discovery record.
[125] And the BCG metadata identification information may be included in the BCG metadata. For instance, the BCG metadata identification information may be included in 'Servicelnformation@serviceld' of the ServicelnformationTable. That is, 'Servicelnformation@serviceld' of the BCG metadata may be the same with 'TextualIdentifier@ServiceName' of the broadcast discovery record. Herein, the service identifier included in the ServicelnformationTable may equal the BCG metadata identification information.
[126] The receiver finds 'Servicelnformation@serviceld' of the Service Information being the same with 'TextualIdentifier@ServiceName' of the broadcast discovery record, then the receiver can retrieve the description information corresponded with the found 'Servicelnformation@serviceld' of the Service Information. Once the service identifier in the ServicelnformationTable is found, a single service's 'ScheduleEvent' can be retrieved from the ProgramLocationTable. Then, the CRID information included in 'Program® CRID' s within the retrieved 'ScheduleEvent' can be used to find detailed information of a single content by referencing 'ProgramInformation@programID' of ProgramlnformationTable .
[127] For instance, when 'TextualIdentifier@ServiceName' of Service (Service 1-1) is "channell.serviceprovider.com", the receiver fines 'Servicelnformation@serviceld' being "channell.serviceprovider.com" in BCG metadata. And the receiver retrieves the description information of Service (Service 1-1) based on the 'Servicelnformation@serviceld' being "channell.serviceprovider.com". [128] In summary, the receiver can receive all BCG metadata relating to a single service or a couple of services using the BCG discovery record. The receiver creates an EPG with the received BCG metadata and SD&S metadata. The receiver can receive a single service, for example canal-plus, from SD&S's Broadcast discovery record. With 'BCG @ Id' value in BCG discovery record, the receiver can collect BCG metadata which has all EPG information of canal-plus service. The receiver compares 'serviceld' values in ServicelnformationTable of BCG metadata in order to find a match with the same value of canal-plus's 'ServiceName' attribute of Broadcast discovery record. Once the receiver finds the same service from the ServicelnformationTable, the receiver can find 'ScheduleEvent's of canal-plus's service, allowing the receiver to create the EPG' s time table of a single channel. The detailed information of a single event can be described by 'BasicDescription' using 'Programlnformation@programld' of ProgramlnformationTable.
[129] FIG. 13 is a block diagram of a broadcast receiver according to one preferred embodiment of the present invention.
[130] Referring to FIG. 13, an IPTV receiver 1300 may include a separate tuner for receiving terrestrial broadcast, cable broadcast, satellite broadcast and/or the like. For clarity and convenience of the description of the present invention, parts for processing a content transported via internet are mainly explained in the following description.
[131] The IPTV receiver 1300 includes a network interface 1302, an TCP/IP manager 1304, a service delivery manager 1306, a Personal Video Recorder (PVR) Manager 1308, a demultiplexer 1310, a data decoder 1312, a decoder 1314, a display device 1318, an application manager 1320, a SI & Metadata database 1324, a service discovery manager 1326, a service control manager 1328, a metadata manager 1330 and a content database 1332.
[132] The network interface 1302 receives packets received from a network and transmits packets to the network from the IPTV receiver 1300. Herein, the packets include IP packets. The IP packets may be IPTV packets including data related to an IPTV broadcast service. Also, the network interface 1302 performs functions of physical and data link layers. For instance, the network interface 1302 may receive an IP packet delivering SD&S metadata and BCG metadata from a service provider.
[133] The TCP/IP manager 1304 manages packet delivery to a destination from a source for the packets received or transmitted by the IPTV receiver 1300. And, the TCP/IP manager 1304 classifies the received packet into appropriate protocol manager. And the TCP/IP manager 1304 outputs the classified packet to one of the service delivery manager 1306, the service discovery manager 1326, the service control manager 1328 and the metadata manager 1330. For instance, when the TCP/IP manager 1304 receives an IP packet delivering the SD&S record, the TCP/IP manager 1304 outputs the SD&S record to the service discovery manager 1326. Also, when the TCP/IP manager 1304 receives an IP packet delivering the BCG metadata, the TCP/IP manager 1304 outputs the BCG metadata to the metadata manager 1330.
[134] The service delivery manager 1306 is responsible for a control of service data. For instance, in case of handling real-time streaming data, RTP/RTCP (real-time transport protocol/RTP control protocol) may be used with MPEG-2 TS. In case that the realtime streaming data is transported using RTP, MPEG-2 packets are encapsulated in RTP and the service delivery manager 1306 parses the received data packet according to the RTP and then transports the parsed packet to the PVR manager 1308. The service delivery manager 1306 feeds back the network reception information to a server side that provides a service. For example, the service deliver manager 1306 may send feedback on the network reception quality using RTCP. In addition, MPEP-2 transport packets may be carried directly in UDP without RTP.
[135] The PVR manager 1308 receives the packet from the service delivery manager 1306 and records a content delivered by the packet in the content database 1332.
[136] The demultiplexer 1310 demultiplexes the received packet into audio, video, PSI
(program specific information) data and the like. Then, the demultiplexer 1310 makes the sections of PSI tables based on the demultiplexed PSI data and the like and sends them to data decoder 1312. Also, the demultiplexer sends the demultiplexed audio and video data to the decoder 1314.
[137] The decoder 1314 decodes the video and audio data received from the demultiplexer 1310. The decoder 1314 may include an audio decoder 1315 and a video decoder 1316. The video data decoded by the video decoder 1316 is provided to a user via the display device 1318. And, the decoded audio data decoded by the audio decoder 1315 is provided to the user via a speaker (not shown in the drawing).
[138] The data decoder 1312 may include PSI (and PSIP/DVB-SI) Control Module. The date decoder 1312 sets PIDs for PSI tables and PSIP/DVB-SI (service information) tables to demultiplexer 1310 and decodes the private sections of PSI and (PSIP and/or DVB-SI) sent by demultiplexer 1310. The decoding result may be used to demultiplex input transport packet (e. g set Audio and Video PID to the demultiplexer 1310).
[139] Also, the data decoder 1312 establishes a database for service information by decoding the received sections. And, the database for the service information is stored in the SI & Metadata database 1324.
[140] The display device 1318 receives the audio and video data from the decoder 1314 and then displays them on a Screen and a speaker. Also, the display device displays On Screen Display (OSD) Graphic data.
[141] The application manager 1320 manages the states of the whole TV system, supports the Graphic User Interface on TV Screen and manages all the other managers related to the services like the service control manager 1328, the service delivery manager 1306, the service discovery manager 1326, the metadata manager 1330 and an IMS Gateway(IG)-OITF client.
[142] The application manager 1320 includes a User Interface (UI) manager 1319 and a service manager 1322. The UI manager 1321 provides GUI (graphic user interface) for a user using OSD (on screen display) or the like. The UI manager 1321 receives a key input from a user and then performs a receiver operation according to the input. For instance, the UI manager 1321 displays the EPG on the display device 1318 and receives a request for reserving recording of a program on the displayed EPG from a user. And the UI manager 1321 stores recording information of the program recording in scheduled recording list. Herein, the recording information may include service identification information, recording start time, recording duration and CRID value. If a key input for a channel selection is received from a user, the UI manager 1321 sends the key input signal to the service manager 1322.
[143] The service manager 1322 controls all the other managers related to the services like the service control manager 1328, the service delivery manager 1306, the service discovery manager 1326, the metadata manager 1330 and an IMS Gateway (IG)-OITF client. Also, the service manager 1322 is responsible for serving IPTV services.
[144] For example, the service manager 1322 identifies whether to start recording based on the recording start time included in the scheduled recording list. Herein, the service manager 1322 periodically identifies whether to start recording.
[145] If there is the request for reserving recording which shall be started in the scheduled recording list, the service manager 1322 controls the metadata manager 1322 to compare the service identification information with service name information included in the service discovery information and get service location information.
[146] And the service manager 1322 may control to receive a service based on an address indicated by the got service location information. That is, the service manager 1322 controls the service control manager 1328 to access the server with the address indicated by the got service location information and receive a content which is recorded from the server. Also, the service manager 1322 controls the PVR manager 1308 to record the received content in the content database 1332.
[147] The service manager 1322 prepares a channel map. The Service manager 1322 selects a channel according to the key input received from the UI manager 1321 using the channel map and controls the service delivery manager 1306 and the service control manager 1328. The service manager 1322 receives service information of a channel from the data decoder 1312 and then sets an audio/video PID (packet identifier) of the selected channel for the demultiplexer 1310.
[148] The service discovery manager 1326 provides information required for selecting a service provider that provides a service. In case of receiving a signal for a channel selection from the application manager 1320, the service discovery manager 1326 discovers a service using the information.
[149] In particular, the service discover manager 1324 receives a service discovery record, parses the received service discovery record, and then extracts service provider discovery information being information required for selecting a service provider and service discovery information being information required for receiving a service. In case of receiving a signal for a channel selection from the application manager 1320, the service discovery manager 1326 discovers a service provider using the information.
[150] The service control manager 1328 is responsible for selecting and controlling service and managing sessions. For instance, if a user selects a live broadcasting service as good as a conventional broadcasting system, the service control manager 1328 performs the selection and control of service using IGMP, RTSP or the like. If a user selects such as service as VOD (video on demand), the service control manager 1328 performs the selection and control of service using RTSP. If the service control manager 1328 uses IMS for selecting and controlling services, SIP protocol is used for initiating and managing sessions through IMS Gateway.
[151] The RTSP uses a persistent TCP connection and is able to provide a trick mode for real-time streaming. In addition, the RTSP can be used in controlling of the delivery of broadcast TV and audio as well as for on-demand delivery. The protocol is just exemplary and other protocols are available according to implementation examples.
[152] The metadata manager 1330 manages metadata related to the services and stores the metadata in the SI & metadata database 1324. The metadata manager 1330 receives a packet delivering the BCG metadata from the TCP/IP manager 1404 and creates an EPG with the received BCG metadata and the SD&S metadata stored in the SI & metadata database. To create the EPG with the BCG metadata and the SD&S metadata, the service manager 1324 controls the metadata manager 1330 to receive all BCG metadata relating to a single service or a couple of services using the BCG discovery record. Herein, the metadata manager 1330 may use the method of receiving the BCG metadata shown in the FIG. 11.
[153] The metadata manager 1330 can retrieve content guide information of a service from the BCG metadata using the service name information of the service discovery information stored in the SI & metadata database 1324. When the service name information is the same with a service identifier of the BCG metadata, the metadata manager 1330 finds the content guide information relating to a service identifier as the content guide information of the service. Herein, the service name information may be a value of 'TextualIdentifier@ServiceName' of the Broadcast discovery record and the service identifier may be a value of 'Servicelnformation@serviceld' of BCG metadata. [154] For instance, with 'BCG @ id' value in BCG discovery record, the metadata manager 1330 can collect BCG metadata which has the all EPG information of a single service or a couple of services. After collecting the BCG metadata, the metadata manager 1330 compares 'serviceld' values in ServicelnformationTable of BCG metadata in order to find a match with the same value of 'ServiceName' attribute of the Broadcast discovery record. Once the metadata manager 1330 finds the same service from the ServicelnformationTable, the metadata manager 1330 can find 'ScheduleEvent's of a single service or a couple of services, allowing the metadata manager 1330 to create the EPG' s time table of a single channel or a couple of channels. The detailed information of a single event can be described by 'BasicDescription' using 'Programlnformation@programld' of ProgramlnformationTable.
[155] The SI & Metadata database 1324 stores Service Information decoded by the data decoder 1312, service discovery information and metadata related to the services. For instance, metadata may include the BCG metadata. Also, the SI & Metadata database 1324 may store data relating to setup the receiver and the like. The SI & Metadata database 1324 can be implemented by a non- volatile RAM (NVRAM), a flash memory and the like.
[156] The IPTV receiver 1300 accesses an entry point of an IPTV portal and then receives a packet of a service provider discovery record. The network interface 1302 transports the received packet to the TCP/IP manager 1304. The TCP/IP manager 1304 checks whether a destination of the received packet is the IPTV receiver or not and then transports the packet to a suitable manager block according to a transmission/reception protocol.
[157] Packet containing the service provider discovery information is transported using the protocol relevant to a service discovery and selection. For instance, in case of DVB-IP, the packet is transported according to SD&S (service discovery & selection) protocol (or, service discovery protocol: SDP). Therefore, the TCP/IP manager 1304 transports the packet containing the service provider discovery information to the service discovery manager 1326.
[158] The service discovery manager 1326 parses the received packet and then obtains various kinds information of the service provider discovery record. The service discovery manager 1326 transports the information to the SI & Metadata database 1324. The information is then stored in the SI & Metadata database 1324.
[159] The IPTV receiver 1300 is able to receive the packet containing service discovery information from a service provider using connection information of the service provider contained in the service provider discovery record. The packet containing the service discovery information is transported/received using SD&S protocol (or, SDP).
[160] The packet containing the broadcast discovery information is transported to the TCP/ IP manager 1304 via the network interface 1302. The TCP/IP manager 1304 checks whether the destination of the received packet is the IPTV receiver 1300 and then transports the packet to the service discovery manager 1326. The service discovery manager 1326 obtains service discovery information from the received packet. The service discovery manager 1326 transports the information to the SI & Metadata database 1324. Hence, the information is stored in the SI & Metadata database 1324.
[161] The SI & Metadata database 1324 stores and manages various kinds of the received information. The Service manager 1322 makes and manages a channel map using various kinds of information stored in the SI & Metadata database 1324.
[162] The application manager 1320 receives channel information corresponding to a specific content from a user and then controls a channel to be switched according to the channel map. In particular, the application manager 1320 receives the channel information corresponding to the user- specific content and is then able to switch a channel.
[163] An IP Multimedia Subsystem (IMS) gateway 1350 provides functions for accessing an IPTV services over an IP Multimedia Subsystem (IMS). The IMS provides a common core network having access-agnostic network architecture for converged networks. Service providers are accepting this architecture in next generation network evolution. The IMS architecture is initially defined by the 3GPP to provide multimedia services to mobile subscribers over an IP network. IP networks have become the most cost savings bearer network to transmit video, voice, and data. IMS uses the advantage of IP networks to provide multimedia services for IMS subscribers on an IMS platform.
[164] The IMS gateway 1350 includes an IG-OITF server 1352, a Network Discovery
1354, an authentication/session management client/Server 1356 and RMS 1358. The IPTV receiver 1300 may use the IPTV services over the IMS by interfacing with the IMS gateway 1350. Herein, the IPTV receiver 1300 may interface with the IMS gateway 1350 using a HNIJGI interface. The HNIJGI interface enables the IPTV receiver 1300 to use functions of the IMS gateway 1350 such that the IPTV receiver uses the IPTV services over the INS.
[165] The IG-OITF server 1352 exposes authentication/session management client/Server 1356 functionalities to the IPTV receiver 1300 for managed IPTV services via HTTP and/or other protocols as required.
[166] The Network Discovery 1354 is responsible for the discovery of and attachment to an IMS service.
[167] The authentication/session management client/server 1356 is responsible for subscriber authentication and any session management required of managed networks.
[168] The RMS 1358 is responsible for remote management functions in a managed en- vironment.
[169] FIG. 14 is a block diagram of a Personal Video Recording (PVR) according to one preferred embodiment of the present invention.
[170] Referring to FIG. 14, the PVR manager 1308 may include a demultiplexer 1402, a download controller 1404, a metadata controller 1406, a memory buffer controller 1408, upload controller 1410 and multiplexer 1412. Also, the content database 1332 may include a memory buffer 1432.
[171] The demultiplexer 1402 receives the capsulated packet delivering a content from the service deliver manager 1306. Herein, the capsulated packet may be Transport Stream (TS) packet. When a broadcast mode of the IPTV receiver 1300 is a recording mode, the demultiplexer 1402 selects A/V packets among the received packets and output the selected A/V packets to the download controller 1404. When the broadcast mode is a live mode, the demultiplexer 1402 does not output the A/V packets to the download controller 1404 but to multiplexer 1412 and the multiplexer 1412 outputs the A/V packets from the demultiplexer 1402 to the demultiplexer 1310.
[172] The download controller 1404 controls to save the A/V packets in the memory buffer 1432. The download controller 1404 may save the A/V packets in the memory buffer 1432 selectively using a timestamp. Without using the timestamp, the download controller 1404 controls a speed of saving the A/V packets based on the capacity of the memory buffer 1432. When the capacity of the memory buffer 1432 becomes insufficient, the download controller 1404 reduces the speed of saving the A/V packets. When the capacity of the memory buffer 1432 becomes sufficient, the download controller 1404 increases the speed of saving the A/V packets.
[173] The metadata controller 1406 processes the metadata on the A/V packet and controls the download controller 1404 and the upload controller 1410 based on the processed metadata. For instance, the metadata controller 1406 may provide the timestamp extracted from the metadata to the download controller 1406 and the upload controller 1410.
[174] The memory buffer controller 1432 controls the memory buffer 1432. When the broadcast mode is a recording mode, the memory buffer controller 1432 controls the memory buffer 1432 to move a data stored in the memory buffer 1032 to the content database 1332 by the predetermined amount unit (For example, 384 KB). When the broadcast mode is a displaying mode, the memory buffer controller 1432 controls the memory buffer 1432 to move a data stored in the content database 1332 to the memory buffer 1432 by the predetermined amount unit (For example, 384 KB).
[175] The upload controller 1410 gets A/V packets from the memory buffer 1432 and output the A/V packets to the multiplexer 1412. The upload controller 1410 may get the A/V packets from the memory buffer 1432 selectively using the timestamp. Without using the timestamp, the upload controller 1410 controls a speed of uploading the A/V packets based on the capacity of the memory buffer 1432 allocated to the video decoder 1316 and the audio decoder 1315. When the capacity of the memory buffer 1432 becomes insufficient, the upload controller 1410 reduces the speed of uploading the A/V packets. When the capacity of the memory buffer 1432 becomes sufficient, the upload controller 1410 increases the speed of uploading the A/V packets.
[176] FIG. 15 is a flowchart of a method for processing broadcast service information according to another preferred embodiment of the present invention.
[177] Referring to FIG. 15, the IPTV receiver 1300 obtains Service Provider discovery information (S 1500). To obtain the Service Provider discovery information, the IPTV receiver 1300 may perform a service discovery process shown in the FIG. 4. Herein, the Service Provider discovery information includes various kinds of information on each service provider. For instance, the various kinds of information include service provider identification information and connection information. The Service Provider discovery information may be included in the Service Provider discovery record and transmitted.
[178] The IPTV receiver 1300 accesses the each service provider using the Service
Provider discovery information and obtains Service discovery information for the each service provider (S1505). The Service discovery information may include Broadcast discovery information and BCG discovery information. The Broadcast discovery information may be included in the Broadcast discovery record shown in the FIGs. 5 to 7 and transmitted. And the BCG discovery information may be included in the BCG discovery record shown in the FIGs. 9 to 10 and transmitted. Herein, the Service Provider discovery record, the Service discovery record and the BCG discovery record may be transported according to SD&S (service discovery & selection) protocol.
[179] The IPTV receiver 1300 obtains content guide information based on the address indicated by transport mode information of the BCG discovery information (S 1510). Herein, to obtain the content guide information on a single service of the Broadcast discovery information, the IPTV receiver 1300 may find a content guide identifier relating to the single service in the Service discovery information. The IPTV receiver 1300 compares the found content guide identifier with a content guide identifier of the BCG discovery information and finds the BCG discovery record having the same content guide identifier with the found content guide identifier. The IPTV receiver 1300 finds a transport address in the found BCG discovery record. And the IPTV receiver 1300 obtains the content guide information of the single service based on the transport address.
[180] Herein, the content guide information may be BCG metadata and the content guide identifier may be a value of 'ServiceDescriptionLocation' or
'ServicesDescriptionLocation' in Broadcast Discovery Record. Also, the content guide identifier of the BCG discovery information may a value of 'BCG @ Id' in BCG Discovery Record and the transport address may be information included in TransportMode' of BCG Discovery Record. Also, the IPTV receiver 1300 can obtain all BCG metadata of a couple of services in the step S 1510.
[181] The IPTV receiver 1300 makes up an EPG with the content guide information and the Service discovery information (S1515). To make up an EPG with the content guide information and the Service discovery information, the IPTV receiver 1300 can retrieve content guide information of a service from the BCG metadata using the service name information of the service discovery information. Herein, when the service name information is the same with a service identifier of the BCG metadata, the IPTV receiver 1300 may find the content guide information relating to a service identifier as the content guide information of the service. Also, the service name information may be a value of 'TextualIdentifier@ServiceName' of the Broadcast discovery record and the service identifier may be a value of 'Servicelnformation@serviceld' of BCG metadata.
[182] The IPTV receiver 1300 displays a broadcast content (S 1520). Herein, the IPTV receiver may display the EPG according to a user command. Also, the IPTV receiver may display a broadcast content selected by user on the displayed EPG.
[183] The IPTV receiver 1300 identifies whether a request for reserving recording of an event on the displayed EPG is input (S 1525).
[184] When the request for reserving recording is input, the IPTV receiver 1300 receives the channel and time for recording selected by the user (S1530). And the IPTV receiver 1300 retrieves recording information on a service of which the scheduled recording is requested from the EPG and stores the retrieved recording information in the scheduled recording list (S 1535). Herein, the recording information may include service identification information, recording start time, recording duration and CRID value. And the service identification information, the recording start time, the recording duration and the CRID value may be a value of 'Servicelnformation@serviceld' of the ServicelnformationTable, a value of 'PublishedStartTime' of the ProgramLocationTable, a value of 'PublishedDuration' of the ProgramLocationTable and a value of 'Program® CRID' of the ProgramLocationTable, respectively.
[185] When the request of reserving recording is not input, the IPTV receiver 1300 identifies whether there are scheduled recordings based on the scheduled recording list (S 1540). Herein, the receiver may identify the scheduled recording list at every predetermined time interval. Also, the receiver may identify whether there are scheduled recordings based on an event which is occurred if it is the recording start time of each scheduled recordings.
[186] When there are scheduled recordings, the IPTV receiver 1300 identifies whether there is a CRID value of recording information in the scheduled recording list (S1545). When there is the CRID value, the IPTV receiver 1300 checks schedule of an event of which reserving recording is requested by the CRID value (S1550). The IPTV receiver 1300 identifies whether the recording start time is changed using the CRID value (S 1555). Herein, the IPTV receiver 1300 may identify the BCG metadata previously received and may receive the most recent recording information by performing a CRID resolution. When the IPTV receiver 1300 finds the location of an in stance using the CRID value, there may be one and more instances. In this case, the IPTV receiver can exactly identify the requested instance using an Instance Metadata ID.
[187] When the recording start time is changed, the IPTV receiver 1300 updates the recording information included in the scheduled recording list (S 1560). The present invention enables the IPTV receiver to exactly perform the scheduled recording by identifying changed items using the CRID value and the Instance Metadata ID when the broadcast start time is changed.
[188] The IPTV receiver 1300 identifies whether or not it is start time for recording based on recoding start time of the recording information included in the scheduled recording list (S 1565). When it is start time for recording, the IPTV receiver 1300 gets service location information from the service discovery record based on the service identification information (S 1570). And the IPTV receiver 1300 receives a service using the address indicated by the service location information and performs recording (S 1575). Herein, the service location information may be information included in 'ServiceLocation' of the broadcast discovery record shown in FIGs 5 to 7.
[189] It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the inventions. Thus, it is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. Industrial Applicability
[190] While the present invention has been described and illustrated herein with reference to the preferred embodiments thereof, it will be apparent to those skilled in the art that various modifications and variations can be made therein without departing from the spirit and scope of the invention. Thus, it is intended that the present invention covers the modifications and variations of this invention that come within the scope of the appended claims and their equivalents.
Next Patent: MUSIC BOARD AND MUSIC PLAYING SYSTEM INCLUDING SAME
