Transmitting device, transmitting method, receiving device and receiving method
The information processing device manages and controls applications using a broadcast processing unit and controller to enhance service quality by ensuring secure and authorized access to broadcast resources, addressing challenges in integrating non-broadcast-linked applications with broadcast content.
Patent Information
- Application Number
- JP2024044807
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2012-08-21
- Filing Date
- 2024-03-21
- Publication Date
- 2025-12-11
- Estimated Expiration
- 2033-06-21
AI Technical Summary
Existing technologies face challenges in managing and controlling the lifecycle of applications distributed over networks, particularly in systems like HbbTV, where non-broadcast-linked applications are integrated with broadcast content, requiring improved management and access control to enhance service quality.
An information processing device with a broadcast processing unit and controller that utilizes an application information table to manage and control the operation of applications based on media type, access permissions, and resource availability, ensuring secure and authorized access to broadcast resources.
Enhances the quality of services by improving the management and control of applications using broadcast resources, ensuring secure and authorized access, and enabling seamless integration of non-broadcast-linked applications with broadcast content.
Smart Images

Figure 0007784465000001 
Figure 0007784465000002 
Figure 0007784465000003
Abstract
Description
[Technical Field]
[0001] The present technology relates to an information processing device, an information processing method, a program, and a server device that are capable of executing an application using an application management table. [Background technology]
[0002] In recent years, technologies have become known that enable the execution of applications distributed over a network such as the Internet while simultaneously playing broadcast content. One such technology is known as Hybrid Broadcast Broadband TV (hereinafter referred to as "HbbTV"). In Europe, "ETSI TS 102 796" (see Non-Patent Document 1) has been established as a standard for HbbTV. In Japan, a standard conforming to this, "ARIB STD-B23" (see Non-Patent Document 2), has also been established.
[0003] For example, in a system such as HbbTV, where an application is executed simultaneously with the playback of broadcast content, the life cycle of the application, from startup to termination, is managed by a data structure called an AIT section (Application Information Table) that is superimposed on the broadcast content. An information terminal that acquires the AIT section controls the application based on the application control code contained in the AIT section.
[0004] In addition, there is XML-AIT, which contains information equivalent to the broadcast AIT section and is written in XML format as an optimal format for providing application information to receivers via communication networks such as the Internet. [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] ETSI (European Telecommunications Standards Institute) "ETSI TS 102 796 V1.1.1 (2010-06)" http: / / www.etsi.org / deliver / etsi_ts / 102700_102799 / 102796 / 01.01.01_60 / ts_102796v010101p.pdf (accessed October 21, 2011) [Non-patent document 2] Association of Radio Industries and Businesses, "Application Execution Environment Standard for Digital Broadcasting, ARIB STD-B23 Version 1.2," http: / / www.arib.or.jp / english / html / overview / doc / 2-STD-B23v1_2.pdf (accessed October 21, 2011) Summary of the Invention [Problem to be solved by the invention]
[0006] In the future, it is expected that services will be launched that provide applications that are not directly related to broadcasting (non-broadcast-linked applications) in addition to applications that run in conjunction with broadcast programs such as terrestrial digital broadcasting (broadcast-linked applications).However, there are still many issues that need to be resolved before services that use broadcast-linked applications can actually be put into operation, and solutions to these issues are desired.
[0007] An object of the present technology is to provide an information processing device, an information processing method, a program, and a server device that are capable of improving the quality of services using applications that utilize broadcast resources. [Means for solving the problem]
[0008] In order to solve the above problem, an information processing device according to the present technology includes a broadcast processing unit that receives and processes broadcast resources consisting of multiple types of media information, and a controller that acquires an application information table that stores information necessary to launch an application that can use the broadcast resources and first definition information that identifies the type of media information of the broadcast resources that can be used by the application, and determines whether the application can use the media information units of the broadcast resources.
[0009] In the information processing device, the application information table may store second definition information that restricts the operation of the application using the broadcast resources, linked to the first definition information, and when the controller determines that the application can use the media information unit of the broadcast resources, it may control the operation of the application using the broadcast resources based on the second definition information.
[0010] In the information processing device, the application information table may store third definition information that defines the unit of broadcast that can be accessed by the application, linked to the first definition information and the second definition information, and the controller may determine whether the application can use the media information unit of the broadcast resource in the unit of broadcast defined by the third definition information, and control the operation of the application using the broadcast resource.
[0011] In the information processing device, the application information table may store information necessary for verifying the application information table, and the controller may verify the application information table using the information necessary for verification, and if this verification is successful, proceed to a process of determining whether the application can use the media information unit of the broadcast resource.
[0012] In the information processing device, when a user instructs the application to switch broadcast channels while the application is running, the controller may determine based on the access permission information whether the broadcast resources of the destination broadcast channel are available for use by the application, and if available, continue execution of the application and access the broadcast resources of the destination broadcast channel, and if unavailable, terminate execution of the application and access the broadcast resources of the destination broadcast channel.
[0013] The information processing method according to the present technology involves a broadcast processing unit receiving broadcast resources consisting of multiple types of media information, a controller acquiring an application information table that stores information necessary to launch an application that can use the broadcast resources and first definition information that identifies the type of media information of the broadcast resources that can be used by the application, and determining whether the application can use the media information units of the broadcast resources.
[0014] A program based on another aspect of the present technology is a program that causes a computer to function as a controller that receives and processes broadcast resources consisting of multiple types of media information, acquires an application information table that stores information necessary to launch an application that can use the broadcast resources and first definition information that identifies the type of media information of the broadcast resources that can be used by the application, and determines whether the media information unit of the broadcast resources can be used by the application.
[0015] A server device based on another aspect of the present technology has a generation unit that generates an application information table that stores information necessary to launch an application that can use broadcast resources on an information processing device and first definition information that identifies the type of media information of the broadcast resources that can be used by the application, and responds to a request from the information processing device to obtain the application information table.
[0016] In the server device, the generation unit may associate second definition information that restricts the operation of the application that uses the broadcast resources with the first definition information and store it in the application information table.
[0017] In the server device, the generation unit may link third definition information that defines a unit of broadcast that can be accessed by the application to the first definition information and the second definition information and store it in the application information table.
[0018] In the server device, the generation section may store information required for verifying the application information table in the application information table. [Effects of the Invention]
[0019] As described above, according to the present technology, it is possible to improve the quality of services using applications that utilize broadcast resources. [Brief explanation of the drawings]
[0020] [Figure 1] 1 is a diagram illustrating an overview of an information processing system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a diagram showing the data structure of XML-AIT in this embodiment. [Figure 3] 3 is a diagram showing the data structure of an application hash descriptor written in the XML-AIT of FIG. 2. FIG. [Figure 4]FIG. 10 is a diagram illustrating an example of an XML schema that defines the logical structure of an application identification descriptor. [Figure 5] FIG. 10 is a diagram showing an example of an XML schema that defines the logical structure of an application identification descriptor. [Figure 6] FIG. 10 is a diagram illustrating an example of an XML schema of resource permission information. [Figure 7] FIG. 10 is a diagram illustrating another example of the XML schema of resource permission information. [Figure 8] FIG. 10 is a diagram illustrating yet another example of an XML schema of resource permission information. [Figure 9] FIG. 10 is a diagram showing yet another example of the XML schema of the resource permission information. [Figure 10] FIG. 10 is a diagram showing a specific example of an application identifier descriptor. [Figure 11] FIG. 10 is a diagram showing definitions of application control codes stored in the XML-AIT. [Figure 12] 1 is a block diagram showing a configuration of an information processing apparatus according to an embodiment of the present invention; [Figure 13] 2 is a sequence diagram showing the flow of communication between the broadcasting facility, the application server, the XML-AIT server, and the information processing device in FIG. 1. FIG. [Figure 14] 14 is a flowchart showing a processing procedure of the information processing device in FIG. 13. [Figure 15] 10 is a flowchart showing a processing procedure of an information processing device when directly selecting a broadcast channel. [Figure 16] 10 is a flowchart illustrating an operation of the information processing device when an application transition occurs. [Figure 17] FIG. 1 is a block diagram for explaining a mechanism for generating and verifying a digital signature and a hash value. [Figure 18] FIG. 10 is a diagram illustrating an example of a method for displaying broadcast resources and applications. [Figure 19] FIG. 10 is a diagram showing another example of a method for displaying broadcast resources and applications. [Figure 20]FIG. 10 is a diagram showing another example of a method for displaying broadcast resources and applications. [Figure 21] FIG. 10 is a diagram showing another example of a method for displaying broadcast resources and applications. DETAILED DESCRIPTION OF THE INVENTION
[0021] Hereinafter, embodiments of the present technology will be described with reference to the drawings. First Embodiment [Information Processing Systems] FIG. 1 is a diagram showing an overview of an information processing system according to this embodiment. The information processing system 1 of this embodiment has a broadcasting facility 100, a first network 200 such as the Internet, an application server 300, an XML-AIT server 400, an edge router 500, a second network 600 such as a LAN (Local Area Network), and an information processing device 700 as a broadcast receiver.
[0022] The broadcasting facility 100 transmits digital broadcast signals via communication media such as terrestrial waves, satellite waves, and IP (Internet Protocol) networks. The broadcasting facility 100 sends out so-called broadcast streams in which AV streams, in which transport streams such as video, audio, and subtitles are multiplexed, are superimposed with data accompanying the AV streams. Data accompanying the AV streams includes markup languages such as HTML and BML, broadcast-linked applications written in scripting languages such as Java (registered trademark), and XML-AIT (Extensible Markup Language-Application Information Table) that contains information for managing applications.
[0023] In this embodiment, the AV stream in which transport streams such as video, audio, and subtitles are multiplexed and transmitted is called "broadcast content," and this term does not include the meaning of applications or XML-AIT.
[0024] The application server 300 is connectable to the first network 200, and provides a non-broadcast-linked application that is not directly related to broadcasting to the information processing device 700 via the first network 200. A non-broadcast-linked application is an application created by a party other than the producer of the broadcast resources, and can acquire various types of broadcast resources such as video, audio, subtitles, SI information, and data broadcasting from broadcasts and perform processing such as presentation, but it is desirable to require a certain level of authentication to determine whether or not it is actually permitted to access the broadcast resources.
[0025] The XML-AIT server 400 is connectable to the first network 200 and distributes XML-AIT for managing non-broadcast-linked applications provided by the application server 300 to the information processing device 700 via the first network 200.
[0026] The application server 300 and the XML-AIT server 400 may be a single server. Each of the application server 300 and the XML-AIT server 400 has a CPU, main memory, data storage device, user interface, etc., and has a typical computer configuration. The main memory or data storage device stores a program for causing the computer to function as a table transmission unit.
[0027] The edge router 500 is a router for connecting the first network 200 and the second network 600. The second network 600 may be either wired or wireless.
[0028] The information processing device 700 may be, for example, a personal computer, a mobile phone, a smartphone, a television device, a game console, a tablet terminal, an audio / video playback device, or the like, but the specific product form is not important.
[0029] The information processing device 700 receives a digital broadcast signal from the broadcast facility 100 and demodulates it to obtain a transport stream. The information processing device 700 can separate a broadcast stream from this transport stream, decode it, and output it to a display unit (not shown) and speaker unit (not shown) connected to the information processing device 700, or to a recording device (not shown).
[0030] The display unit, speaker unit, and recording device may each be integrated with the information processing device 700, or may be independent devices connected to the information processing device 700 directly or via the second network 600. Alternatively, a device (not shown) having a display unit and speaker unit may be connected to the information processing device 700 directly or via the second network 600.
[0031] The information processing device 700 can acquire an XML-AIT file from the XML-AIT server 400, interpret it, acquire a broadcast-unlinked application from the application server 300, and perform control such as starting it up.
[0032] [Broadcast-unlinked applications] Here, a supplementary explanation will be given regarding non-broadcast-linked applications. Non-broadcast-linked applications are provided from the application server 300 to the information processing device 700. Non-broadcast-linked applications are composed of, for example, HTML (HyperText Markup Language) documents, BML (Broadcast Markup Language) documents, MHEG (Multimedia and Hypermedia information coding) documents, Java (registered trademark) scripts, still image files, video files, and the like.
[0033] A broadcast-unlinked application may be visible or invisible. A visible application is an application whose status can be seen by the user through the screen. An invisible application is an application whose status cannot be seen by the user through the screen. For example, an application that is used when a browser is running in a transparent state that is invisible to the user, or an application that records information and viewing time to identify broadcast content viewed on an information processing device for the purpose of audience rating surveys, etc., and distributes the information to a specific server, may be considered.
[0034] Furthermore, the broadcast-unlinked application may be an interactive application that can change the information and functions presented according to the operation of the user of the information processing device 700, or may be an application that presents information to the user in one direction.
[0035] [XML-AIT data structure] Next, the data structure of XML-AIT will be explained. FIG. 2 is a diagram showing the data structure of the XML-AIT of this embodiment. The XML-AIT stores, for each application, the application name, application identifier, application descriptor, application type, application control code 21, application visibility, a flag indicating whether it is valid only within the current service, application priority, application version, version according to the platform profile, icon, storage function performance, transport protocol descriptor, application location descriptor, application boundary descriptor, application specific descriptor, application usage descriptor, application mode descriptor, application hash descriptor 22, application identification descriptor 23, etc.
[0036] An electronic signature is attached to this XML-AIT to detect tampering. For example, an XML signature is used as the electronic signature. The XML signature format can be any of the following: a detached signature that is independent of the XML-AIT, an enveloping signature that includes the XML-AIT, or an enveloped signature that is included in the XML-AIT. Note that it is best to use a detached signature to minimize the impact on the XML-AIT format.
[0037] The application controller 708 of the information processing device 700 verifies the XML signature in accordance with a core validation procedure that includes reference validation and signature validation. Reference validation is a method of verifying the digest value (DigestValue) of a reference (Reference) by applying a normalization transformation process (Transform) and a digest calculation algorithm (DigestMethod) to a resource (XML-AIT). The result obtained by reference validation is compared with the registered digest value (DigestValue), and if they do not match, the validation fails. Signature verification is a method in which the signature information (SignatureInfo) element is serialized using the canonicalization method specified by the XML canonicalization algorithm (CanonicalizationMethod), key data is obtained using key information (KeyInfo), etc., and the signature is verified using the method specified by the signature algorithm (SignatureMethod).
[0038] FIG. 3 is a diagram showing an example of an XML schema that defines the data structure of the application hash descriptor 22. In this XML schema, an applicationHashDescriptor element is declared as a complexType element. This applicationHashDescriptor element has, under its child sequence element, an element that declares the name and type of a hash_algorithm element that stores a hash algorithm indicating how to calculate a hash value, and an element that declares the name and type of a hash_value element that stores the application's hash value. The application's hash value is a value generated from the application entity using a predetermined hash function or the like, and can be said to be a value that represents the application.
[0039] [Details of application identifier descriptor 23] Next, the application identification descriptor 23 will be described in detail. The application identifier descriptor 23 is: 1. Information defining broadcast units such as broadcast station series, broadcast stations, channels, and events (programs) that can be accessed by broadcast-unlinked applications (third definition information); 2. Information defining the types of media information (video, audio, SI information, subtitles, data broadcasting, etc.) that constitute the broadcast resources available to broadcast-unlinked applications (hereinafter referred to as "access permission information") (first definition information); 3. Information that restricts the operation of broadcast-unlinked applications that use broadcast resources (hereinafter referred to as "rendering permission information") (second definition information) etc. are included. The access permission information and the rendering permission information are collectively referred to as "resource permission information."
[0040] 4 and 5 are diagrams showing examples of XML schema that define the logical structure of the above-mentioned application identification descriptor 23 (ApplicationIdDescriptor).
[0041] In this XML schema, the ApplicationIdDescriptor element is declared as a complexType element. A grant_application_access_flag element, an affiliation element, a terrestrial_broadcaster element, a broadcaster element, and an event element are declared under a sequence element, which is a child element of this ApplicationIdDescriptor element.
[0042] The ApplicationIdDescriptor element is an element that stores the permitted application access flag. The permitted application access flag takes on either a value of "0" or "1". When the permitted application access flag is "0", the content described in the application identifier descriptor 23 is interpreted as a condition (blacklist) that prohibits simultaneous presentation with the application. When the permitted application access flag is "1", the content described in the application identifier descriptor 23 is interpreted as a condition (whitelist) that permits simultaneous presentation with the application.
[0043] The affiliation element has, under it, an element that declares the name and type of the affiliation_name element that stores the name of the broadcast affiliate station, an element that declares the name and type of the attribute that stores the identifier (id) of the broadcast affiliate station, and an element that points as a reference to another element that defines the structure of the resource permission information (resouce_permission) of the broadcast affiliate station.
[0044] The terrestrial_broadcaster element has, under it, an element that declares the name and type of the terrestrial_broadcaster_name element that stores the name of the terrestrial digital broadcast station, an element that declares the name and type of the attribute that stores the identifier (id) of the terrestrial digital broadcast station, and an element that points as a reference to another element that defines the structure of the resource permission information (resouce_permission) of the terrestrial digital broadcast station.
[0045] The broadcaster element has, under it, an element that declares the name and type of the broadcaster_name element that stores the name of the BS / CS broadcast station, an element that declares the name and type of the attribute that stores the identifier (id) of the BS / CS broadcast station, and an element that points to another element that defines the structure of the resource permission information (resouce_permission) of the BS / CS broadcast station.
[0046] The event element has, under it, an element that indicates the reference destination of another element (attributeGroup_name element) that defines the structure of information for specifying an event.
[0047] The attributeGroup_name element has, under it, an element that declares the name and type of the event_name element that stores the name of the event, an element that defines the name and type of the network_id attribute that stores the network ID, an element that defines the name and type of the transport_stream_id attribute that stores the transport stream ID, an element that defines the name and type of the service_id attribute that stores the service ID, an element that defines the name and type of the event_id attribute that stores the event ID, and an element that indicates a reference to another element that declares the structure of the resource permission information (resouce_permission) of the event. Here, the network_id attribute, transport_stream_id attribute, and service_id attribute are information for identifying a channel. Also, the description of the attribute value that defines the name and type of the event_id attribute is not mandatory. If this description is omitted, only the channel will be specified.
[0048] In this XML schema, a resource_permission element is declared as another complexType element. The resource_permission element has, under it, an element that defines the name and type of the access_permission element that stores access permission information, an element that defines the name and type of the rendering_permission element that stores rendering permission information, and an element that declares the name and type of the attribute that stores the identifier (id) of the resource permission information (resouce_permission).
[0049] In the schemas of Figures 4 and 5, the access_permission element and the rendering_permission element store values ranging from "0" to "128". However, as shown in Figure 6, multiple elements may be defined within the resource_permission element, each of which stores a value of "0" or "1" indicating whether or not to specify resource permission information (resouce_permission) with a predefined meaning.
[0050] In the XML schema of resource permission information (resouce_permission) shown in Figure 6, The video_scaling element is an element for storing a value specifying whether or not an application can be executed while scaling video. The video_overlay element is an element for storing a value specifying whether or not an application can be executed while overlaying video. The realtime_tuning element is an element for storing a value specifying whether or not the current broadcast program can be tuned from an application. The reservation_tuning element is an element for storing a value specifying whether or not a channel can be selected for reservation recording from an application. The SI_reference element is an element for storing a value specifying whether or not an application can refer to SI information. The current_tuninginfo element is an element for storing a value specifying whether or not an application can refer to information about a program currently being selected. The NVRam_access element is an element for storing a value specifying whether or not an application can access the NVRAM (Non Volatile RAM) in the information processing device.
[0051] The XML schema of this resource permission information (resouce_permission) also declares an element that declares the name and type of the attribute that stores the identifier (Permission_id) of the resource permission information.
[0052] FIG. 7 is a diagram showing another example of the XML schema of the resource permission information. In this XML schema, the type of each of the access_permission element and rendering_permission element within the resource_permission element is defined as "xsd:string" minOccur=0 maxOccur=unbound. This means that the content of the access_permission element and the rendering_permission element can be defined as a string with no upper limit. Note that minOccur=0 means that the lower limit of the number of elements that can be defined is "0", meaning that element definitions can be omitted. maxOccur=unbound means that there is no upper limit to the number of elements that can be defined. The details of the meaning of elements can be determined arbitrarily by the service.
[0053] 8 and 9 are diagrams showing still another example of the XML schema of the resource permission information. In the schemas shown in Figures 4 and 5, the structure of resource permission information (resouce_permission) is defined within the resource_permission element, which is a complexType element outside the ApplicationIdDescriptor element. However, in the XML schemas shown in Figures 8 and 9, the resource_permission element is defined in each of the attributeGroup_name elements that are referenced by the affiliation element, terrestrial_broadcaster element, broadcaster element, and event element.
[0054] FIG. 10 is a diagram showing a specific example of the application identification descriptor 23 created using the XML schema of FIGS. 4 and 5 or the XML schema of FIGS. 8 and 9. In FIG. This specific example of the application identification descriptor 23 indicates a case where resource permission information is designated as a whitelist for broadcast units of broadcast station affiliates and BS / CS broadcast stations.
[0055] That is, "1" is specified as the permitted application access flag, and resource permission information (resouce_permission) is specified with an identifier of "01", an access permission information (access_permission) value of "10", and a rendering permission information (rendering_permission) value of "20" for a broadcast affiliate station with an identifier of "00000001" and a name of "affiliation_A". Also, resource permission information (resouce_permission) is specified with an identifier of "02", an access permission information (access_permission) value of "30", and a rendering permission information (rendering_permission) value of "40" for a BS / CS broadcast station with an identifier of "00000002" and a name of "broadcaster_B". The meanings assigned to the values of the access permission information (access_permission) and the rendering permission information (rendering_permission) are determined arbitrarily by the service.
[0056] [Application Control Code Definition] The life cycle of an application is dynamically controlled by the information processing device 700 based on the application control code 21 stored in the XML-AIT.
[0057] FIG. 11 is a diagram showing the definition of the application control code 21 stored in the XML-AIT. As shown in the figure, the application control codes that exist in the standard are "AUTOSTART," "PRESENT," "DESTROY," "KILL," "PREFETCH," "REMOTE," "DISABLED," and "PLAYBACK_AUTOSTART." The definitions of these application control codes are as follows:
[0058] "AUTOSTART" is a code that indicates that the application should be started automatically when the service is selected, unless the application is already running. "PRESENT" is a code that instructs that an application be made executable while a service is selected. However, the application is not automatically started when a service is selected, but is started when a user instructs it to be started. "DESTROY" is a code that instructs permission to terminate the application. "KILL" is a code that instructs the application to forcibly terminate. "PREFETCH" is a code that instructs the application to cache. "REMOTE" is a code indicating that the application cannot be obtained from the current transport stream. The application can be obtained from another transport stream or cache and used. "DISABLED" is a code indicating that the application is prohibited from starting. "PLAYBACK_AUTOSTART" is a code for starting an application when broadcast content recorded on a storage (recording device) is played back.
[0059] [Configuration of information processing device] FIG. 12 is a block diagram showing the configuration of an information processing device 700 of this embodiment. The information processing device 700 includes a broadcast interface 701, a demultiplexer 702, an output processing unit 703, a video decoder 704, an audio decoder 705, a subtitle decoder 706, a communication interface 707, and an application controller 708 (controller).
[0060] The broadcast interface 701 has an antenna and a tuner, and receives a digital broadcast signal selected by a user using these. The broadcast interface 701 performs demodulation processing on the received digital broadcast signal to obtain a transport stream, and outputs the resulting transport stream to the demultiplexer 702.
[0061] The demultiplexer 702 separates the stream packets of the broadcast content, the application packets, and the AIT section packets from the transport stream. The demultiplexer 702 separates the stream packets of the broadcast content into a video ES (Elementary Stream), an audio ES, and a subtitle ES. The demultiplexer 702 distributes the video ES to a video decoder 704, the audio ES to an audio decoder 705, the subtitle ES to a subtitle decoder 706, and the application packets and the PSI / SI (Program Specific Information / Service Information) packets including the AIT section to an application controller 708.
[0062] The video decoder 704 decodes the video ES to generate a video signal and outputs the generated video signal to the output processing unit 703. The audio decoder 705 decodes the audio ES to generate an audio signal and outputs the generated audio signal to the output processing unit 703. The subtitle decoder 706 decodes the subtitle ES to generate a subtitle signal, and outputs the generated subtitle signal to the output processing unit 703 .
[0063] The broadcast interface 701, demultiplexer 702, output processing unit 703, video decoder 704, audio decoder 705, and subtitle decoder 706 constitute a broadcast processing unit that receives and processes broadcast content.
[0064] The communication interface 707 is an interface for communicating with external devices via the second network 600 such as a LAN. The communication interface 707 may be for wireless communication or wired communication.
[0065] The application controller 708 is a controller that performs processing related to application control.
[0066] The output processing unit 703 synthesizes the video signal from the video decoder 704, the audio signal from the audio decoder 705, the subtitle signal from the subtitle decoder 706, and the video signal and audio signal from the application controller 708, and outputs the synthesized signal to a recording device (not shown), a display unit, and a speaker unit (not shown) connected to the information processing device 700.
[0067] Part or all of the configuration of the information processing device 700, including at least the application controller 708, can be provided by a computer having a CPU (Central Processing Unit) and memory, and a program that causes the computer to function as a broadcast processing unit, application controller 708, etc.
[0068] [Operation of Information Processing System 1] Next, the operation of the information processing system 1 of this embodiment will be described. The operation description is 1. Control of broadcast resource usage by non-broadcast-linked applications 2. Signature and hash value generation and verification Perform in the following order.
[0069] (1. Control of broadcast resource usage by non-broadcast-linked applications) 13 is a sequence diagram showing the flow of communication between the broadcast facility 100, the application server 300, the XML-AIT server 400, and the information processing device 700. FIG.
[0070] The information processing device 700 displays an application launcher selected by a user using, for example, a remote control (step S101). The application launcher is realized, for example, by a so-called resident application installed in the information processing device 700, or HTML5 (Hyper Text Markup Language 5) or BML (Broadcast Markup Language) presented by an HTML browser. A menu of non-broadcast-linked applications is displayed on the application launcher.
[0071] The user can select the non-broadcast-linked application that he / she wants to present using, for example, a remote control, etc. The menu of non-broadcast-linked applications displayed on the application launcher includes a script that causes the information processing device 700 to acquire the XML-AIT for the non-broadcast-linked application.
[0072] When a user selects any non-broadcast-linked application from the menu of non-broadcast-linked applications displayed on the application launcher by operating the remote control (step S102), a script corresponding to the non-broadcast-linked application is executed, and the application controller 708 of the information processing device 700 obtains the XML-AIT for the non-broadcast-linked application from the XML-AIT server 400 (step S103).
[0073] The application controller 708 of the information processing device 700 acquires the broadcast-unlinked application from the application server 300 based on the location information of the application described in the acquired XML-AIT (step S104), and immediately launches the acquired broadcast-unlinked application (step S105).
[0074] Next, the application controller 708 of the information processing device 700 verifies the hash value and the digital signature (step S106). Details of the hash value verification and the digital signature verification will be explained later.
[0075] If the verification of the hash value and the digital signature is successful (Y in step S107), the application controller 708 monitors access requests to broadcast resources from non-broadcast-linked applications (step S108).
[0076] Furthermore, if verification of at least one of the hash value and the electronic signature fails (N in step S107), the application controller 708 sets the application to prohibit access to all broadcast resources by the non-broadcast-linked application (step S109), and then monitors access requests to broadcast resources from the non-broadcast-linked application (step S108).
[0077] When the application controller 708 detects a request to access broadcast resources from a non-broadcast-linked application (Y in step S108), it refers to the access permission information (access_permission) described in the acquired XML-AIT and determines whether the non-broadcast-linked application can access the broadcast resources (step S110).
[0078] For example, suppose the application identifier descriptor 23 shown in Fig. 10 is acquired, and the value "10" of the access permission information (access_permission) means "permission to use all broadcast resources." Here, "all broadcast resources" refers to all types of media information that are broadcast (video, audio, SI information, subtitles, data broadcasting, etc.).
[0079] In this assumption, if the broadcast resource requested for access by the executed non-broadcast-linked application is a broadcast resource from a broadcast station belonging to a broadcast affiliate station called "affiliation_A," it is determined that access to the broadcast resource by the non-broadcast-linked application is possible.
[0080] Furthermore, if the broadcast resource requested for access by the executed non-broadcast-linked application is a broadcast resource from a broadcast station that does not belong to the broadcast affiliate station "affiliation_A" and is a broadcast resource from a broadcast station other than the BS / CS broadcast station "broadcaster_B," it is determined that access to the broadcast resource by the non-broadcast-linked application is not permitted.
[0081] Furthermore, in the application identifier descriptor 23 shown in Fig. 10, if the value "10" of the access permission information (access_permission) is defined to mean "video", it is determined that only "video" can be accessed by a broadcast-unlinked application to a broadcast resource. Therefore, in this case, if the broadcast resource that the broadcast-unlinked application is trying to access is "video and audio", the broadcast-unlinked application can only use video, and cannot use audio.
[0082] Similarly, if the value "10" of the access permission information (access_permission) is defined to mean "broadcast resources other than SI information," it is determined that broadcast resources accessed by non-broadcast-linked applications are only "broadcast resources other than SI information." Therefore, in this case, the non-broadcast-linked application can use the broadcast resource only if the broadcast resource it is trying to access is "SI information," but if the broadcast resource it is trying to access is "video and audio," it cannot use the broadcast resource.
[0083] When the application controller 708 determines that the broadcast resource requested for access by the executed non-broadcast-linked application is a broadcast resource that is permitted to be accessed in the access permission information (access_permission) (Y in step S111), it accesses the broadcast resource (step S112).
[0084] Next, the application controller 708 determines restrictions on the operation of the broadcast-unlinked application that uses the accessed broadcast resource based on the rendering permission information (rendering_permission) (step S113).
[0085] Here, additional explanation will be given regarding restrictions on the operation of applications not linked to broadcasting. Restrictions on the operation of broadcast-unlinked applications include restrictions on the method for displaying broadcast resources and applications.
[0086] An example of how broadcast resources and applications are displayed is shown below. FIG. 18 shows a method for displaying a selected broadcast program 31A and an application 32A on a split screen, and scaling, that is, changing the size of, the broadcast program 31A. FIG. 19 shows a method for displaying a selected broadcast program 31B in full screen and displaying an application 32B superimposed on it. FIG. 20 shows a method for displaying application 32C on the full screen and program information 33, which is one of the broadcast resources, there. FIG. 21 shows a method for displaying only the broadcast program 31D on the full screen and hiding the application.
[0087] For example, it is assumed that a non-broadcast-linked application running in the information processing device 700 attempts to access SI information including program information of a broadcast program in order to display the program information of the broadcast program. The application controller 708 of the information processing device 700 checks whether or not the program information can be displayed by referring to the rendering permission information (rendering_permission). If the program information can be displayed, the application controller 708 displays the program information in the application area, as shown in FIG.
[0088] However, this operation example is based on the assumption that the access permission information (access_permission) permits the use of SI information. If the access permission information (access_permission) does not permit the use of SI information, which is the source of program information, the program information will not be displayed regardless of the information described in the rendering permission information (rendering_permission). This concludes the explanation of the restrictions on the operation of applications not linked to broadcasting.
[0089] Returning to the explanation of FIG. When the application controller 708 determines that the broadcast resource requested by the executed broadcast-unlinked application is a broadcast resource that the broadcast-unlinked application is not permitted to access (N in step S111), it does not access the broadcast resource, thereby not providing the broadcast resource to the running broadcast-unlinked application (step S114). As a result, the broadcast-unlinked application continues to operate without using the broadcast resource.
[0090] After this, for example, when the user operates the remote control to terminate the application or transition to another application occurs (YES in step S115), the application controller 708 of the information processing device 700 terminates the broadcast-unlinked application (step S116).
[0091] In addition, if an application control code other than "AUTOSTART", "DESTROY", or "KILL" is written in a newly acquired XML-AIT while a non-broadcast-linked application is being executed, the application controller 708 of the information processing device 700 performs processing such as transitioning the state of the non-broadcast-linked application in accordance with the application control code (step S117), and then waits for the next XML-AIT.
[0092] Next, the operation when directly selecting a broadcast channel will be described with reference to FIGS. FIG. 15 is a flowchart showing the operation of the application controller 708 of the information processing device 700 when directly selecting a broadcast channel.
[0093] When a non-broadcast-linked application is being executed as described above, for example, an operation (direct channel selection operation) to switch the broadcast channel may be performed by a manual operation by the user. When such a direct channel selection operation occurs (step S201), the application controller 708 of the information processing device 700 determines, based on the access permission information (access_permission) described in the acquired XML-AIT, whether or not the broadcast resource of the broadcast channel selected by the above direct channel selection operation is a broadcast resource that is permitted to be used by the running non-broadcast-linked application (step S202).
[0094] If the broadcast resource of the broadcast channel selected by the direct channel selection operation is a broadcast resource that is permitted to be used by the currently running broadcast-unlinked application, the application controller 708 executes channel selection processing for the broadcast channel selected by the direct channel selection operation while continuing execution of the non-broadcast-linked application, and presents that broadcast (step S203). Also, if the broadcast channel selected by the direct channel selection operation is a broadcast resource that is not permitted to be used by the currently running broadcast-unlinked application, the non-broadcast-linked application is terminated, channel selection processing for the broadcast channel selected by the direct channel selection operation is executed, and that broadcast is presented (step S204). Note that as a variation of this case, the non-broadcast-linked application may be continued to be executed, and the user may be informed that the broadcast resource cannot be used.
[0095] Next, the operation when a transition of a broadcast-unlinked application occurs will be described with reference to FIGS. 13, 14 and 16. FIG. When an instruction to transition the non-broadcast-linked application is issued by execution of a script incorporated in the running non-broadcast-linked application or by manual operation by the user (FIG. 16, step S301), the application controller 708 of the information processing device 700 acquires the XML-AIT of the non-broadcast-linked application to be transitioned to from the XML-AIT server 400 (FIG. 14, step S103).The application controller 708 acquires the non-broadcast-linked application from the application server 300 based on the location information of the application described in the XML-AIT (FIG. 14, step S104) and starts it up (FIG. 14, step S105).
[0096] Thereafter, the application controller 708 similarly verifies the hash value and the digital signature, and if the verification is successful, when it detects a broadcast resource access request from a running broadcast-unlinked application, it determines whether the broadcast resource can be accessed by the running broadcast-unlinked application based on the access permission information (access_permission). If the broadcast resource requested for access by the running broadcast-unlinked application is a broadcast resource that the running broadcast-unlinked application is permitted to access, the application controller 708 accesses the broadcast resource and determines restrictions on the operation of the running broadcast-unlinked application based on the contents of the rendering permission information (rendering_permission). Furthermore, if the broadcast resource requested for access by the running broadcast-unlinked application is a broadcast resource that the running broadcast-unlinked application is not permitted to access, the application controller 708 does not access (select) the broadcast resource, thereby invalidating the use of the broadcast resource, such as its presentation. This concludes the description of how broadcast resources are controlled by non-broadcast-linked applications.
[0097] (2. Generating and verifying digital signatures and hash values) Next, the generation and verification of digital signatures and hash values will be described. FIG. 17 is a block diagram for explaining the mechanism for generating and verifying a digital signature and a hash value.
[0098] The XML-AIT server 400 and the application server 300 may be a single server or separate servers. Here, the XML-AIT server 400 and the application server 300 are collectively referred to as a "server." A server is a device having a typical computer configuration. It is therefore composed of a CPU, main memory, a storage device such as a HDD, input devices such as a mouse and keyboard, and a display unit such as an LCD display. The main memory and storage device store software such as an operating system (OS), server application programs, broadcast-unlinked applications provided to the information processing device 700, XML-AIT files for each application, and signature generation keys. Server application programs include programs for generating digital signatures and hash values.
[0099] The server has an AIT generation unit 350. Specifically, the AIT generation unit 350 is realized by a program that is loaded into the main memory and generates a digital signature and a hash value, and a CPU that executes this program.
[0100] The AIT generation unit 350 performs the following process. 1. The AIT generation unit 350 calculates a hash value 353 from the entity (binary code) of an application 351 using a predetermined hash calculator 352. Examples of hash algorithms include SHA-1 and SHA-2, which are standardized in FIPS PUB 180-1 and 180-2.
[0101] 2. The AIT generation unit 350 combines (354) the XML-AIT of the application 351 with the hash value 353 to generate an XML-AIT 355 with the hash value.
[0102] 3. The AIT generation unit 350 requests the broadcast station CA (Certificate Authority) 800 to authenticate the application 351 and the XML-AIT 355 . As shown in Figure 1, broadcast station CA800 receives a request from a broadcast station or a broadcast station affiliate for authentication related to the use of broadcast resources and performs the authentication process. Broadcast station CA800 checks the contents of application 351 and XML-AIT 355, which are the targets of authentication requested by an application creator other than a broadcast station, and if there are no problems with the contents, sets the private key of the private key / public key pair issued by root CA900 as a signature generation key in signature generator 356. Signature generator 356 generates a digest from XML-AIT 355 with a hash value using a signature hash function, encrypts this digest with signature generation key (private key) 357, and generates XML signature 358. Broadcast station CA800 responds with the generated XML signature 358 to the server.
[0103] 4. The AIT generation unit 350 of the server adds (359) the XML signature 358 returned from the broadcast station CA to the XML-AIT 355 with the hash value to generate an XML-AIT 360 with a digital signature. 5. Then, the AIT generation unit 350 of the server provides the XML-AIT 360 with the digital signature to the information processing device 700. Note that the public key corresponding to the private key used in generating the XML signature 358 is provided to the information processing device 700 via a separate route, and the controller 708 of the information processing device 700 holds this public key.
[0104] The application controller 708 of the information processing device 700 performs the following processes. 1. The controller 708 calculates a hash value 752 from the entity (binary code) of the application 351 acquired from the server using a predetermined hash calculator 751 (hash function). The hash function used here must be the same as that used by the hash calculator 352 of the AIT generation unit 350 of the server. Therefore, the controller 708 checks the hash algorithm described in the digitally signed XML-AIT 360 acquired from the server and determines whether it is consistent with the hash algorithm of the hash calculator 751 (hash function). If it determines that the hash algorithm is inconsistent, the controller 708 switches the hash calculator 751 (hash function) to make it consistent with that of the hash calculator 352 of the AIT generation unit 350 of the server.
[0105] 2. The controller 708 uses the hash comparator 756 to compare the hash value 353 extracted from the digitally signed XML-AIT 360 obtained from the server with the hash value 752, and obtains a match / mismatch result 757.
[0106] 3. The controller 708 extracts the XML signature from the digitally signed XML-AIT 360 acquired from the server using a signature generator 753 , verifies the XML signature using a signature verification key (public key) 754 , and obtains a signature verification result 755 .
[0107] In this manner, the server generates the digital signature and hash value, and the information processing device 700 verifies the digital signature and hash value.
[0108] [Effects of the embodiment] In this embodiment, the following effects can be obtained. 1. According to this embodiment, access permission information (access_permission) specifying the type of media information (video, audio, SI information, subtitles, data broadcasting, etc.) of broadcast resources that can be used by broadcast-unlinked applications can be described in XML-AIT. This makes it possible to define whether broadcast resources can be used by broadcast-unlinked applications in detail, by dividing them into units of the type of media information in the broadcast resources.
[0109] 2. According to this embodiment, it is possible to describe rendering permission information (rendering_permission) in XML-AIT, which is linked to access permission information (access permission) and restricts the operation of a non-broadcast-linked application that uses broadcast resources, such as the method of displaying broadcast resources that can be used by a non-broadcast-linked application. This makes it possible to reflect the intentions of the producer of the broadcast resources in the method of displaying broadcast resources that can be used by a non-broadcast-linked application.
[0110] 3. According to this embodiment, the access permission information (access_permission) and rendering permission information (rendering_permission) can be described in the XML-AIT as resource permission information (resouce_permission) linked to broadcast unit information such as broadcast station series, broadcast station, channel, and event (program). This makes it possible to define the access permission information (access_permission) and rendering permission information (rendering_permission) for various broadcast units.
[0111] 4. The intention of the broadcast resource creator is reflected in the resource permission information (resource_permission) through a content check of the broadcast non-linked application and XML-AIT at the broadcast station CA800. The specific mechanism is as follows.
[0112] That is, in this embodiment, the broadcast station CA800, which receives a request for authentication from a broadcast station affiliate or a broadcast station, checks the contents of the XML-AIT and the non-broadcast-linked application that is the subject of authentication requested by an application creator other than the broadcast station, and if there are no problems, attaches a digital signature to the XML-AIT and returns it to the application creator. If there is a problem with the content of the resource permission information (resouce_permission) when checking the non-broadcast-linked application and the content of the XML-AIT, the broadcast station CA800 provides feedback on improvements to the application creator. The application creator updates the content of the XML-AIT based on the improvements fed back from the broadcast station CA800 and requests authentication from the broadcast station CA800 again.
[0113] <Modification> Although the embodiment has been described assuming the HbbTV standard, the present technology is not necessarily limited to assuming the HbbTV standard.
[0114] Furthermore, the present technology is not limited to the above-described embodiments, and it goes without saying that various modifications can be made without departing from the spirit of the present invention. [Explanation of symbols]
[0115] 1. Information processing system 100...Broadcasting equipment 200...First Network 300...Application server 400...XML-AIT server 700...Information processing device 701...Broadcast interface 702...Demultiplexer 703...Output processing unit 704...Video decoder 705...Audio decoder 706...Subtitle decoder 707...Communication interface 708...Application Controller 800...Broadcasting station CA
Claims
1. a transmitting unit configured to transmit an application information table storing an application that uses a broadcast resource and definition information that defines whether or not access to the broadcast resource is permitted; The definition information stores a value that specifies whether or not the application can access the NVRAM (Non Volatile RAM) in the receiving device. Transmitting device.
2. A transmitting unit of the transmitting device transmits an application information table storing definition information defining an application that uses broadcast resources and whether or not the application can access the broadcast resources, and a value specifying whether or not the application can access NVRAM (Non Volatile RAM) in the receiving device is stored in the definition information. Sending method.
3. a broadcast processing unit that receives and processes broadcast resources; The receiver includes a control unit configured to acquire an application that uses the broadcast resources and an application information table that stores definition information defining whether or not access to the broadcast resources is permitted, and to control access to the broadcast resources by the application based on the definition information stored in the acquired application information table, wherein the definition information stores a value that specifies whether or not access to NVRAM (Non Volatile RAM) in the receiving device from the application is permitted. Receiving device.
4. The definition information defining whether or not the broadcast resource can be accessed is stored for each application in the application information table.
4. The receiving device according to claim 3.
5. The broadcast resources include at least one type of media information among a plurality of types of media information including video, audio, and service information; 5. The receiving device according to claim 4.
6. The definition information further stores a value specifying whether the application can refer to the service information.
6. The receiving device according to claim 5.
7. a control unit of the receiving device acquires an application information table that stores an application that uses a broadcast resource and definition information that defines whether or not access to the broadcast resource is permitted; controlling whether or not the application can access the broadcast resource based on the definition information stored in the acquired application information table; The definition information stores a value that specifies whether or not the application is allowed to access NVRAM (Non Volatile RAM) in the receiving device. Receiving method.
Citation Information
Patent Citations
Recording and playback device
JP2008545284A
Information processing apparatus memorizing operation history
JP2009094702A
Transmitter, its program, reception device, and API execution program
JP2009147808A
receiver
JP2012257234A
Receiving device, receiving method and program
WO2012029584A1