Receiving device and program
Patent Information
- Application Number
- JP2024208531
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-10-25
- Filing Date
- 2024-11-29
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2040-08-28
AI Technical Summary
【0027】 本発明によれば、受信装置は、放送独立型のアプリを稼働させることができる。また、受信装置は、そのような放送独立型のアプリから、放送マネージドアプリや放送サービスに、スムーズな遷移を行わせることができる。
Smart Images

Figure 2025023125000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a receiving device and a program. [Background technology]
[0002] It is expected that a wide variety of services will be developed by seamlessly linking television broadcast programs, application programs running on television sets, and content such as videos distributed via communication networks.
[0003] Section 6.1 (from page 14) of Non-Patent Document 1 describes an application model of the broadcasting and communication cooperation system. Section 6.1.1 describes the classification of applications. Figure 6-1 describes state transitions between applications. Section 6.1.2 describes application boundaries and broadcasting resource access. [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] IPTV Regulations "Broadcasting and Communication Integration System Specifications", IPTVFJ STD-0010 Version 2.2, September 21, 2018, IPTV Forum Japan Summary of the Invention [Problem to be solved by the invention]
[0005] However, in the conventional technology, there is a problem that smooth bidirectional transition cannot be performed between a broadcast-managed app and an app other than the broadcast-managed app in the hybrid cast mechanism. For example, when an app other than the broadcast-managed app provides a function to play content distributed over a communication network, smooth transition between the above apps is desired. In addition, the reason for using an app other than the broadcast-managed app in this case is that it is not preferable for such an app to be subordinate to a specific broadcast service.
[0006] The present invention has been made based on the recognition of the above-mentioned problems, and aims to provide a receiving device and a program that enable smooth two-way transition between an independent app that is not dependent on a specific broadcast service and a broadcast-managed app. [Means for solving the problem]
[0007] [1] In order to solve the above problems, a receiving device according to one embodiment of the present invention is a receiving device comprising: a receiving unit that receives a broadcast signal; a selection unit that selects a broadcast service of the broadcast signal received by the receiving unit; an extraction unit that extracts broadcast resources from the received broadcast signal; an application execution unit that executes an application program; and an application operation management unit that manages the operation of the application program executed by the application execution unit, wherein the application program includes a broadcast-independent application program, and the application operation management unit prohibits access to the broadcast resources when the broadcast-independent application program is running.
[0008] [2] Furthermore, one aspect of the present invention is a receiving device further comprising an external launch execution unit that controls the tuning unit to select the specified broadcast service based on a request from a linked terminal device operating in conjunction with the receiving device, the request specifying identification information of the broadcast service and identification information of the application program, and controls the application operation management unit to launch the specified application program.
[0009] [3] Also, one aspect of the present invention is that in the above-mentioned receiving device, the external start-up execution unit controls the tuning unit to cancel the tuning state of the broadcast service when the specified broadcast service is a predetermined value.
[0010] [4] Furthermore, in one aspect of the present invention, in the above-mentioned receiving device, when the upper limit of the number of application programs that can be executed simultaneously on the receiving device is 1 and starting the application program specified by the external start-up execution unit would cause the number of application programs to exceed the upper limit, the application operation management unit performs control to terminate an application program that is already running.
[0011] [5] Also, one aspect of the present invention is that in the above-mentioned receiving device, the external launch execution unit confirms consistency between the identification information of the specified broadcast service and the identification information of the application program by querying an external server device, and only if consistency is confirmed, controls the tuning unit to select the specified broadcast service and controls the application operation management unit to launch the specified application program.
[0012] [6] Also, one aspect of the present invention is that in the above-mentioned receiving device, the external start-up execution unit controls the channel selection unit to cancel the selection state of the broadcast service when the specified broadcast service is a predetermined value.
[0013] [7] Moreover, one aspect of the present invention is such that the above-mentioned receiving device further includes a presentation unit for presenting input video and audio, the extraction unit inputs the video and audio contained in the extracted broadcast resources to the presentation unit, and the broadcast-independent application program has a function of receiving content data from an external device via a communications network and inputting the video and audio contained in the received content data to the presentation unit.
[0014] [8] Furthermore, one aspect of the present invention is that, in the above-mentioned receiving device, the channel selection unit selects the broadcast service in accordance with a channel selection instruction from the broadcast-independent application program or a broadcast-managed application program that is launched based on a broadcast signal of a specific broadcast service, and the application operation management unit terminates the broadcast-independent application program when the broadcast-independent application program issues the channel selection instruction.
[0015] [9] Furthermore, one aspect of the present invention is that, in the above-mentioned receiving device, the tuning unit holds information on selectable media, and the broadcast-independent application program acquires the information on selectable media held by the tuning unit via a specified application program interface.
[0016]
[10] Also, one aspect of the present invention is that, in the above-mentioned receiving device, the channel selection unit holds information of selectable channels corresponding to the media, and the broadcast-independent application program acquires, via a predetermined application program interface, information on all selectable channels held by the channel selection unit, or information on selectable channels for a specific media.
[0017]
[11] Another aspect of the present invention is a program for causing a computer having a receiving unit that receives a broadcast signal, a selection unit that selects a broadcast service of the broadcast signal received by the receiving unit, an extraction unit that extracts broadcast resources from the received broadcast signal, and an application execution unit that executes an application program to function as a receiving device described in any of [1] to
[10] above.
[0018] [Reference Example 1] Also, in one aspect, in the above-mentioned receiving device, when an upper limit is set on the number of application programs that can be executed simultaneously on the receiving device, when making a transition from a broadcast managed application program that is launched based on the broadcast signal of only a specific broadcast service to the broadcast independent application program, if the upper limit is 1, the application operation management unit controls to terminate the broadcast managed application program before launching the broadcast independent application program, and when making a transition from the broadcast independent application program to the broadcast managed application program, if the upper limit is 1, the application operation management unit controls to terminate the broadcast independent application program before launching the broadcast managed application program.
[0019] [Reference Example 2] Also, in one aspect, in the above-mentioned receiving device, when receiving a request to launch the application program, the external launch execution unit receives at least one of information as a parameter, which is requestor identification information, which is identification information of the application program that originated the request, or requestor type information, which indicates a type of the application program that originated the request, and passes the parameter to the application operation management unit when controlling the application operation management unit to launch the specified application program, and the application operation management unit passes the parameter passed from the external launch execution unit to the application program to be launched, and the requestor type information is information that at least distinguishes whether the application program is a broadcast-independent application program running on the receiving device or an application program running on the linked terminal device.
[0020] [Reference Example 3] In one aspect, the receiving device further includes an application information table management unit that, when receiving a start command for an application program, determines a type of the application program based on an application information table for the application program.
[0021] [Reference Example 4] Moreover, a receiving device according to one embodiment includes a receiving unit that receives a broadcast signal, a selection unit that selects a broadcast service of the broadcast signal received by the receiving unit, an extraction unit that extracts broadcast resources from the received broadcast signal, an application execution unit that executes an application program, an application operation management unit that manages the operation of the application program executed by the application execution unit, and an application information table management unit that, upon receiving a start command for the application program to be executed by the application execution unit, determines a type of the application program based on an application information table for the application program and notifies the application operation management unit of the type.
[0022] [Reference Example 5] In one aspect, in the above-mentioned receiving device, the application information table management unit determines the type based on information in the application information table that identifies an organization that provides the application program.
[0023] [Reference Example 6] In one aspect, in the above-mentioned receiving device, the application information table management unit determines the type based on information identifying the type of the application program in the application information table.
[0024] [Reference Example 7] In one aspect, in the above-mentioned receiving device, the application information table management unit determines the type based on service bound information in the application information table.
[0025] [Reference Example 8] In one aspect, in the above-mentioned receiving device, the application information table management unit determines whether the startup method and the type of the application program are consistent, and if they are consistent, allows the startup of the application program, and if they are not consistent, stops the startup of the application program.
[0026] [Reference Example 9] In one aspect, in the above-mentioned receiving device, the device further includes a resource access control unit that controls whether to permit access to a resource requested by the application program being executed in the application execution unit, depending on the type determined by the application information table management unit. Effect of the Invention
[0027] According to the present invention, a receiving device can run a broadcast-independent application, and the receiving device can smoothly transition from such a broadcast-independent application to a broadcast-managed application or a broadcast service. [Brief description of the drawings]
[0028] [Figure 1] 1 is a block diagram showing a schematic functional configuration of a receiving device according to a first embodiment of the present invention. [Diagram 2] 2 is a block diagram showing a more detailed functional configuration of an application operation management unit according to the embodiment. FIG. [Diagram 3] 11 is a schematic diagram showing an example of a method of transition between a broadcast managed application and a broadcast independent application in the receiving device according to the embodiment. FIG. [Figure 4] 1 is a schematic diagram showing an example of operation of a content presentation system realized by using the receiving device 100 according to the embodiment. [Diagram 5] FIG. 11 is a block diagram showing a schematic functional configuration of a receiving device according to a second embodiment. [Figure 6] FIG. 2 is a block diagram showing an overall device configuration of a system in which a receiving device according to the embodiment operates. [Figure 7] FIG. 13 is a schematic diagram showing a configuration example (1 / 2) of an AIT (Application Information Table) for a first method of determining the type of an application according to the embodiment. [Figure 8] FIG. 11 is a schematic diagram showing a configuration example (2 / 2) of an AIT for a first method of determining the type of an application according to the embodiment. [Figure 9] FIG. 11 is a schematic diagram showing a configuration example (1 / 2) of an AIT for a second method of determining the type of an application according to the embodiment. [Figure 10] FIG. 11 is a schematic diagram showing a configuration example (2 / 2) of an AIT for a second method of determining the type of an application according to the embodiment. [Figure 11] FIG. 11 is a schematic diagram showing a configuration example (1 / 2) of an AIT for a third method of determining the type of an application according to the embodiment. [Figure 12] FIG. 13 is a schematic diagram showing a configuration example (2 / 2) of an AIT for a third method of determining the type of an application according to the embodiment. [Figure 13] FIG. 11 is a block diagram showing a schematic functional configuration of a receiving device according to a third embodiment. [Figure 14] FIG. 13 is a block diagram showing a schematic functional configuration of a receiving device according to a fourth embodiment. [Figure 15] 11 is a flowchart showing an example of an operational procedure when a broadcast-independent application running on the receiving device in the embodiment selects a broadcast channel. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0029] Next, an embodiment of the present invention will be described with reference to the drawings. In the following, an "application program" may be referred to as an "app."
[0030] [First embodiment] FIG. 1 is a block diagram showing a schematic functional configuration of a receiving device according to the present embodiment. The receiving device 100 (also called a "receiver") receives a broadcast signal and presents video and audio based on the received broadcast signal. The receiving device 100 is a so-called television receiver. The receiving device 100 also has a function of calling and executing an application. The application executed in the receiving device 100 can communicate with the outside via a communication network through a predetermined API (application programming interface), and can display images or videos on a screen. As shown in the figure, the receiving device 100 includes a receiving unit 1, a demodulating unit 2, a decoding unit 3, a presenting unit 4, a tuning unit 5, an application executing unit 200, an application storage unit 201, an application operation management unit 210, an external start executing unit 220, a terminal linking unit 221, a request generating unit 222, and a communication function unit 240. Each of these functional units is realized, for example, using an electronic circuit. Each functional unit may also include internal storage means such as a semiconductor memory or a magnetic hard disk device, as necessary. Each of the functions listed here, or some of the functions, may be realized by a computer and software (programs). The functions of each unit are as follows:
[0031] The receiving unit 1 receives a television broadcast signal. The broadcast signal propagates through the air or a transmission medium such as a metal cable or an optical fiber cable. The demodulation unit 2 demodulates the broadcast signal received by the receiving unit 1 . The decoder 3 performs a decoding process and extracts broadcast resources based on the signal demodulated by the demodulator 2. The broadcast resources are content data such as video, audio, and text. The demodulation unit 2 and the decoding unit 3 may be collectively referred to as an "extraction unit." In other words, the extraction unit extracts broadcast resources from the received broadcast signal. The extraction unit (the demodulation unit 2 and the decoding unit 3) inputs the video and audio included in the extracted broadcast resources to the presentation unit 4.
[0032] The presentation unit 4 presents content. The content is made up of video and audio. The presentation unit 4 displays the video on a display device (for example, a liquid crystal display, an organic EL display, etc.). The presentation unit 4 outputs audio from a speaker, earphones, etc. The video and audio presented by the presentation unit 4 are passed from the decoding unit 3 and the application execution unit 200.
[0033] The channel selection unit 5 selects a broadcast service (channel) of the broadcast signal received by the receiving unit 1. The channel selection unit 5 selects a channel based on a signal from, for example, a television remote control device. Alternatively, the channel selection unit 5 may select a channel based on control from an external boot execution unit 220 or an application operation management unit 210, which will be described later.
[0034] The application execution unit 200 executes an application program. Specifically, the application execution unit 200 is an HTML5 browser equipped with an extended API for accessing broadcast resources and receiver resources.
[0035] The application storage unit 201 stores application programs.
[0036] The application operation management unit 210 manages the operation of the application program. For example, the application operation management unit 210 reads the code of the application program from the application storage unit 201 and executes it in the application execution unit 200. That is, the application operation management unit 210 starts the application program. When starting the application program, authentication may be performed to determine whether or not the application program can be started. The application operation management unit 210 also terminates the application program in operation. The application operation management unit 210 also manages and controls the operation status of the application program. For example, the application operation management unit 210 manages by permitting or prohibiting the application program in operation from accessing (i.e., acquiring) a specific resource (e.g., a broadcast resource) in the receiving device 100. The application program in operation accesses and uses various resources under the control of the application operation management unit 210 to permit or not permit (prohibit).
[0037] The application programs include broadcast-independent application programs as a type. Broadcast-independent application programs are not started based on the broadcast signal of only a specific broadcast service. In other words, broadcast-independent application programs are started based on something other than the broadcast signal of the specific broadcast service. The application operation management unit 210 prohibits a broadcast-independent application program from accessing broadcast resources when it is running.
[0038] As an example, the broadcast-independent application program has a function of receiving content data from an external device via a communication network and inputting video and audio included in the received content data to the presentation unit 4. In other words, a certain type of broadcast-independent application program causes the receiving device 100 to function as a playback means for video and audio content distributed over the Internet.
[0039] The external launch execution unit 220 controls the launch of an application from a linked terminal device to the receiving device 100 by an external launch launcher implemented outside the application execution environment of the receiving device. As described later, the external launch execution unit 220 also responds to requests from a request generation unit 222 that generates a request on behalf of a linked terminal device. Specifically, the external launch execution unit 220 controls the channel selection unit 5 to select a specified broadcast service based on a request specifying identification information of a broadcast service and identification information of an application program from a linked terminal device (not shown) that operates in cooperation with the receiving device 100, and controls the application operation management unit 210 to launch a specified application program. The identification information for a broadcast service may be a combination of three types of identifiers, original_network_id, transport_stream_id, and service_id, etc. The identification information for an application program may be a URL of an AIT (Application Information Table) indicating the location of the application, the appId itself given by the application provider, or a combination of orgId and appId that identify the application provider, etc.
[0040] The terminal linking unit 221 mediates between the linking terminal device and the external boot execution unit 220. A request from a linking terminal device to the external boot execution unit 220 is first accepted by the terminal linking unit 221 and transferred to the external boot execution unit 220.
[0041] The request generation unit 222 uses the identification information of the broadcast service and the identification information of the application program specified by the broadcast-independent application program being operated to generate a request (a request for channel selection and application startup) to the external startup execution unit 220 specifying the identification information of the specified broadcast service and the identification information of the application program on behalf of the linked terminal device. The request generation unit 222 passes the generated request to the external startup execution unit 220.
[0042] The communication function unit 240 provides a function for each unit of the receiving device 100 to communicate with the outside. The receiving device 100 communicates with an external device, for example, via wireless communication using the Internet Protocol.
[0043] 2 is a block diagram showing a more detailed functional configuration of the application operation management unit. As shown in the figure, the application operation management unit 210 includes a broadcast managed application management unit 211, a non-broadcast managed application management unit 212, a broadcast independent application management unit 213, and a general application management unit 214. The functions of each unit are as follows. Application types such as broadcast managed applications (broadcast managed application programs), non-broadcast managed applications, broadcast independent applications, and general applications are classifications in hybridcast, which is a framework for linking broadcasting and communication. Note that broadcast independent applications do not exist in conventional technology.
[0044] The broadcast managed application management unit 211 manages the operation of a broadcast managed application. The broadcast managed application is controlled based on a control signal included in a broadcast signal. The broadcast managed application is started by a start instruction included in the control signal. In addition, a running broadcast managed application is terminated by a termination instruction included in the control signal. A broadcast managed application is an application that depends on a broadcast service, and operates only when the receiving device 100 is receiving (selecting) that broadcast service. Note that the broadcast managed application is permitted to access broadcast resources. In other words, the broadcast managed application management unit 211 manages the operation of the broadcast managed application, and permits the broadcast managed application to access the broadcast resources.
[0045] The non-broadcast managed application management unit 212 manages the operation of non-broadcast managed applications. The non-broadcast managed application is started or terminated based on a means other than a broadcast signal. The non-broadcast managed application is permitted to access broadcast resources based on a means of application authentication other than a broadcast signal. In other words, the non-broadcast managed application management unit 212 permits the non-broadcast managed application to access broadcast resources only when authentication is performed correctly based on the result of application authentication. In other cases, the non-broadcast managed application management unit 212 performs control to prohibit the non-broadcast managed application from accessing broadcast resources.
[0046] The broadcast-independent application management unit 213 manages the operation of broadcast-independent applications. Broadcast-independent applications are applications independent of broadcast services. In other words, broadcast-independent applications can operate regardless of whether a specific broadcast service is being received (selected). Broadcast-independent applications are started or ended based on, for example, a remote control signal from a television remote control device or a request signal from a linked terminal device that operates in cooperation with the receiving device 100. The broadcast-independent application management unit 213 is not permitted to access broadcast resources. In other words, the broadcast-independent application management unit 213 exercises control to prohibit broadcast-independent applications from accessing broadcast resources.
[0047] The fact that a broadcast-independent app is independent from a broadcast service will be further explained as follows. A broadcast-independent app is not controlled only by signals from a specific broadcast station (broadcaster). A broadcast-independent app can be started at any timing, for example, based on a user's operation. Alternatively, a broadcast-independent app can be started at any timing by being called from another app. In other words, the operation of a broadcast-independent app is not tied to a specific broadcast station.
[0048] The broadcasting independent app may also be called a "broadcasting independent application program," "independent app," "independent application program," "IndependentApp," "broadcast-independent managed application," etc. Alternatively, the broadcasting independent app may be called by other names.
[0049] The general application management unit 214 manages the operation of general applications.
[0050] The characteristics of each type of app are as shown in Table 1 below.
[0051] [Table 1]
[0052] Here, a start / stop trigger by a broadcast station means that the start / stop of an app is controlled by a broadcast signal. Also, a start / stop trigger by a user means that the start / stop of an app is controlled by a user operation (for example, an operation of a TV remote control or an operation of a linked device linked to a TV (more specifically, a smartphone, tablet device, wearable device, etc.)). Also, whether or not access to broadcast resources is possible indicates whether or not an app is permitted to refer to resources transmitted by broadcast signals. Resources transmitted by broadcast signals are typically video, audio, and text such as subtitles.
[0053] As shown in the above table, the triggers for starting and ending a broadcast-managed app are given by broadcast signals transmitted from the broadcast station's transmission equipment, and the broadcast-managed app is permitted to access broadcast resources. Also, the broadcast-managed app is permitted to be associated with a hybridcast app.
[0054] In addition, triggers for starting and terminating non-broadcast managed applications are given by control signals based on user operations, etc. In addition, non-broadcast managed applications are conditionally permitted to access broadcast resources. In addition, non-broadcast managed applications are permitted to be associated with hybridcast applications.
[0055] Furthermore, the start and end of a general application is triggered by a control signal based on a user's operation, etc. Furthermore, a general application is not permitted to access broadcast resources. Furthermore, a general application is not permitted to be associated with a hybridcast application.
[0056] The operation management of the broadcast independent application is as follows. That is, the trigger for starting and ending the broadcast independent application is given by a control signal based on the user's operation, etc. Also, the broadcast independent application is not permitted to access the broadcast resources. Also, the broadcast independent application can be associated with a hybridcast application.
[0057] The application operation management unit 210 controls the operation of the applications shown in Table 1 according to the type of application. Specifically, the broadcast managed application management unit 211, the non-broadcast managed application management unit 212, the broadcast independent application management unit 213, and the general application management unit 214 respectively control the start and end of the operation of the broadcast managed application, the non-broadcast managed application, the broadcast independent application, and the general application, control whether or not to permit access to broadcast resources, and control whether or not to permit association (linking) with a hybridcast application.
[0058] When the number of applications that can be executed simultaneously in the receiving device 100 is limited, the application operation management unit 210 executes control to terminate low priority applications according to the priority previously set in the receiving device 100 or the priority indicated by the broadcast signal. In other words, if there is an upper limit on the number of applications that can be executed simultaneously on the receiving device 100, and if launching an application specified by the external launch execution unit 220 would cause the number of applications to exceed the upper limit, the application operation management unit 210 performs control to terminate application programs that were already running in accordance with the above-mentioned predetermined priority.
[0059] When the number of applications that can be executed simultaneously in the receiving device 100 is limited to, for example, one, the application operation management unit 210 performs the following control. When transitioning from a broadcast-managed application to a broadcast-independent application, the application operation management unit 210 performs control to terminate the broadcast-managed application and then start the broadcast-independent application. Also, when transitioning from a broadcast-independent application to a broadcast-managed application, the application operation management unit 210 performs control to terminate the broadcast-independent application and then start the broadcast-managed application. That is, when transitioning from a broadcast-managed application to a broadcast-independent application, if the upper limit is 1, the application operation management unit 210 performs control to terminate the broadcast-managed application at the transition source and then start the broadcast-independent application at the transition destination. Also, when transitioning from a broadcast-independent application to a broadcast-managed application, if the upper limit is 1, the application operation management unit 210 performs control to terminate the broadcast-independent application at the transition source and then start the broadcast-managed application at the transition destination. In other words, in the case of an application engine that can run only one application at a time, and a request to launch an application (a broadcast-managed application or a broadcast-independent application to be transitioned to) via external launch is received, and after judging whether the URI of the application to be launched is executable, the application operation management unit 210 terminates the application that was running (the application to be transitioned from).
[0060] 3 is a schematic diagram showing an example of a method of transition between a broadcast-managed application and a broadcast-independent application. As shown in the figure, a broadcast-managed application and a broadcast-independent application can transition to each other. Here, the method is described along with a scenario in which a broadcast-managed application is started based on a broadcast signal, and then transitions to a broadcast-independent application by a user operation or the like, and then transitions from the broadcast-independent application to the broadcast-managed application.
[0061] First, as shown in FIG. 3(1), a broadcast managed application is started based on a broadcast signal.
[0062] Next, as shown in (2) of FIG. 3, the broadcast-independent application is started. For example, when a user operates a linked terminal device (not shown) linked to the receiving device 100, the linked terminal device requests the start of the broadcast-independent application. Here, as an example of parameters specified by the linked terminal device, the identification information indicating the broadcast service to be selected is "NULL" and the Appid (application identification information) is "0x1234" (hexadecimal notation). The channel selection being "NULL" corresponds to the broadcast-independent application not being subordinate to a specific broadcast service. Note that, when the identification information indicating the broadcast service to be selected is "NULL", if the receiving device 100 previously selected a broadcast service (organization channel), the receiving device 100 cancels the selection state of the already selected organization channel. However, this "NULL" is just an example, and another pre-specified value may be used instead of the above-mentioned "NULL". The value to be substituted for "NULL" may be specified, for example, by an operation rule or the like. In addition, the value to be substituted for "NULL" is not limited to one type, and may be a plurality of pre-specified values. In other words, a special value indicating that it is not subordinate to a specific broadcast service can be used as a value to specify a broadcast service to be selected. In other words, when the specified broadcast service is a predetermined value (one or a plurality of pre-specified values, for example, "NULL"), the external start execution unit 220 may control the channel selection unit 5 to cancel the selection state of the broadcast service. In addition, "0x1234" of the Appid is identification information given to the broadcast independent application. As a result, the application operation management unit 210 reads the code of the corresponding broadcast independent application from the application storage unit 201 and executes it in the application execution unit 200. The started broadcast independent application is executed in the application execution unit 200. This broadcast independent application cannot access broadcast resources. However, this broadcast independent application can communicate with the outside via the communication function unit 240.That is, for example, a broadcast-independent application can receive video content provided via the Internet from a content providing server, and display the content on the screen of the receiving device 100 using the function of the presentation unit 4, and can also output audio from a speaker, etc. In addition, a broadcast-independent application can access permitted resources and execute various processes.
[0063] Note that, although an example has been described here in which a user launches a broadcast-independent app by operating a linked terminal device, a broadcast-independent app may also be launched based on a remote control signal from a television remote control device, or by calling the broadcast-managed app.
[0064] In addition, the identification information of the selected broadcast service may be expressed using a set of three identifiers, namely, original_network_id, transport_stream_id, and service_id, and the application identification information may be expressed using the URL of the AIT indicating the location of the application, the appId itself assigned by the application provider, or a set of orgId and appId that identify the application provider.
[0065] Next, as shown in (3) of FIG. 3, it is possible to transition from a broadcast-independent application to a broadcast-managed application. Here, an example of transitioning to a broadcast-managed application based on a request from a broadcast-independent application in operation will be described. The broadcast-independent application requests the request generation unit 222 to execute a function of hybrid cast connect. Specifically, the broadcast-independent application requests the request generation unit 222 to call the application by specifying information for identifying a broadcast service and information for identifying an application (broadcast-managed application). Then, the request generation unit 222 requests the external start execution unit 220 to call the broadcast-managed application using the information received from the broadcast-independent application (information for identifying the broadcast service and the application). Here, an example of parameters specified for calling the application is as follows. That is, the channel selection is "0x9abc" and the Appid (application identification information) is "0x5678". The channel selection "0x9abc" is information for identifying a broadcast service. Also, Appid "0x5678" is identification information given to a broadcast managed application that is subordinate to the above broadcast service.
[0066] The external boot execution unit 220 that has received the request checks the consistency (validity) between the specified channel selection information and the specified application identification information. This check of consistency can be performed, for example, by the external boot execution unit 220 making an inquiry to an external feasibility determination server device via a communication network. If the two do not match, the external boot execution unit 220 treats this request as an error. If the two match, the external boot execution unit 220 instructs the channel selection unit 5 to select the broadcast service identified by the channel selection "0x9abc". As a result, the receiving unit 1 receives the broadcast service. In addition, the external boot execution unit 220 instructs the application operation management unit 210 to start (or activate) the application (broadcast managed application) identified by "0x5678". In this way, even when the external boot execution unit 220 receives a request from the request generation unit 222, it can correctly and safely put the broadcast managed application into an operating state.
[0067] In addition, the external start execution unit 220 can check the consistency between the identification information of the specified broadcast service and the identification information of the application program, for example, by inquiring of an external server device, thereby controlling the specified application to be started only when it is safe. In other words, the safety of the receiving device 100 can be ensured.
[0068] That is, the request generation unit 222, on behalf of the linked terminal device, requests the external startup execution unit 220 to call a broadcast managed application. The function of the request generation unit 222 makes it possible to call a broadcast managed application running in the receiving device 100, starting from inside the receiving device 100.
[0069] In addition, in the external start mechanism, when a channel selection instruction is given from the linked terminal device side, the startAITControlledAppToHostDevice() function (with a parameter mode="tune") is executed on the linked terminal device side. In this embodiment, the request generation unit 222 executes this function or an equivalent function.
[0070] Furthermore, in order to make it possible to know from which application or type of application the broadcast-managed application has been launched, the following may be done. Here, the "type" may be information indicating that the application has been launched from an application on the linked terminal device side, in addition to types such as a broadcast-managed application, a non-broadcast-managed application, a broadcast-independent application, and a general application. The application that is the call source (the application on the linked terminal device side or the broadcast-independent application) adds its own application identification information and application type information as parameters to a launch command for the broadcast-managed application. When the launch command is issued, the external launch execution unit 220 passes the launch command with the parameters added to the application operation management unit 210. Then, the application operation management unit 210 may launch the broadcast-managed application with the parameters added.
[0071] The above operation is, in other words, as follows. When receiving a request to start an application program (broadcast-managed application), the external start execution unit 220 receives at least one of request source identification information and request source type information as a parameter. The request source identification information is identification information for individually identifying the application program of the request source requesting the start of the broadcast-managed application. The request source type information indicates the type of the application program of the request source requesting the start of the broadcast-managed application. The request source type information is information for at least distinguishing whether the application program is a broadcast-independent application program running in the receiving device 100 or an application program running in a linked terminal device. When controlling the application operation management unit 210 to start a specified application, the external start execution unit 220 passes the above parameters to the application operation management unit 210. Then, the application operation management unit 210 passes the parameters passed from the external start execution unit 220 to the application (broadcast-managed application) to be started. This mechanism allows the launched application to obtain at least one of the requester identification information and the requester type information of the requester that requested its launch based on the received parameter value. In other words, the launched application can perform processing that depends on at least one of the requester identification information and the requester type information received as a parameter.
[0072] Next, an application example of the receiving device 100 according to the present embodiment will be described.
[0073] 4 is a schematic diagram showing an example of the operation of a content presentation system realized by using the receiving device 100. In the figure, (A) is a state in which a broadcast-managed application is running on the receiving device 100, and (B) is a state in which a broadcast-independent application is running on the receiving device 100. As already described, each of these two states can transition to the other state.
[0074] In FIG. 4, in the state (A), the receiving device 100 receives a broadcast signal and extracts broadcast resources from the broadcast signal. The broadcast resources are data such as video and audio. The presentation unit 4 of the receiving device 100 can present the video and audio acquired as the broadcast resources. The broadcast managed application shown in (A) can also access the broadcast resources. The broadcast managed application in (A) can also cause the presentation unit 4 to present another video (image) and audio together with the video and audio that are the broadcasted content. The broadcast independent application shown in (B) can decode the data of the video and audio content received by communication via the Internet or the like, and cause the presentation unit 4 to present the video and audio. This broadcast independent application is, for example, an application for playing and presenting video content distributed over the Internet.
[0075] When transitioning from state (A) to state (B), for example, the user operates a TV remote control or a linked terminal device to launch a broadcast-independent app. As mentioned above, the main function of this broadcast-independent app is to play video content distributed over a communication network, and it is not tied to a specific broadcast service (TV channel).
[0076] Conversely, when transitioning from state (B) to state (A), there is a case where the configuration of the service is transitioned to a broadcast managed app subordinate to a specific broadcast service. The receiving device 100 of the present embodiment enables such transition from a broadcast independent app to a broadcast managed app of a specific broadcast service. That is, the present embodiment enables reversion from a broadcast independent app to a broadcast managed app (specific broadcast service). As one of the specific methods for achieving this, a method of external startup in hybrid cast is used. In this method, for example, a linked terminal device linked with the receiving device 100 transmits a set of identification information of a specific app and identification information of a specific broadcast service to the receiving device 100. In the present embodiment, the above-mentioned request generation unit 222 exists inside the receiving device 100, and the request generation unit 222 generates a startup request for the broadcast managed app on behalf of the linked terminal device. Then, the broadcast independent app can request the request generation unit 222 to generate a request so that a specific broadcast service is selected and a specific broadcast managed app is started.
[0077] As described above, the receiving device 100 of this embodiment enables a smooth transition from (A) to (B) or from (B) to (A) as shown in the figure. In other words, by using this embodiment, a smooth switch between broadcasting and online distribution can be realized. As described above, according to this embodiment, a smooth two-way transition between a broadcast service and a broadcast-independent application (for example, an application for playing content distributed by a communication network) is possible. In particular, whereas a transition from an application other than a broadcast-managed application to a broadcast-managed application was not possible in the past, this embodiment makes such a transition possible. That is, even when using a television receiver to switch between a broadcast program and an online distribution application for viewing, for example, the inconvenience of having to launch the online distribution application from the home screen once is eliminated. For users, applications other than broadcast-managed applications become even easier to use.
[0078] [Second embodiment] Next, a second embodiment of the present invention will be described. Note that the matters already described in the previous embodiment may be omitted below. Here, the matters unique to this embodiment will be mainly described. Also, functional blocks having the same functions as those in the first embodiment will be referred to by using the same reference numerals as those in the first embodiment, and detailed descriptions will be omitted.
[0079] First, the background for the need for this embodiment will be described. A broadcast-independent application may be started by an operation from a menu screen displayed by a receiving device, by an operation of a remote control device, or by a user operation of a linked terminal device linked via a wireless LAN or the like. When both broadcast-managed applications and broadcast-independent applications are executable in the application execution environment within the same receiving device, it is required to be able to appropriately control the behavior of the application depending on the type of application. See the literature "IPTVFJ STD-0010 Broadcasting and Communication Linkage System Specification Version 2.1" (March 7, 2016, IPTV Forum General Incorporated Association) In the document "IPTVFJ STD-0010 Broadcasting and Communication Collaboration System Specification 2.2" (September 21, 2018, published by IPTV Forum General Incorporated Association) and the document "IPTVFJ STD-0013 Hybridcast Operational Provisions 2.6" (November 1, 2017, published by IPTV Forum General Incorporated Association), the launch of broadcast-managed apps was limited to only launch from broadcasts. Therefore, the receiving device was able to determine the type of app by grasping the method of launching the app. However, the situation changed after these standard documents were revised. That is, in the document "IPTVFJ STD-0010 Broadcasting and Communication Collaboration System Specification 2.2" (September 21, 2018, published by IPTV Forum General Incorporated Association) and the document "IPTVFJ STD-0013 Hybridcast Operational Provisions 2.7" (September 21, 2018, published by IPTV Forum General Incorporated Association), it became possible to launch broadcast-managed apps not only from broadcasts but also from linked terminal devices. In other words, both broadcast-managed apps and other apps can now be launched from linked terminal devices. This makes it impossible to determine the type of application based on the application's startup method (startup means). Therefore, in the conventional technology, in hybrid casting, it is difficult for the receiving device to grasp the application type from the application's startup method and control the appropriate behavior of the application according to the application type. In addition, although it is possible to transition to or start a specified application from a broadcast managed application by executing the replaceApplication function, in an environment in which multiple types of applications are executed on the same receiving device, it is impossible to determine the type of application to be transitioned to or started, even when the same function is used regardless of the application type.
[0080] In order to manage the execution of multiple types of applications, the receiving device needs to accurately grasp the type of the application to be executed. In this embodiment, the management function in the receiving device determines the type of the application based on information in the AIT (Application Information Table), regardless of the method of launching the application.
[0081] 5 is a block diagram showing a schematic functional configuration of a receiving device according to this embodiment. As shown in the figure, the receiving device 300 (also called a "receiver") includes a receiving unit 1, a demodulating unit 2, a decoding unit 3, a presenting unit 4, a tuning unit 5, an application executing unit 200, an application storing unit 201, an external start executing unit 220, a terminal linking unit 221, a communication function unit 240, an application operation managing unit 410, an AIT managing unit 420, a receiver launcher unit 430, and a resource access control unit 411.
[0082] The receiving device 300 having the above configuration has a function compatible with Hybridcast. The receiving unit 1, demodulation unit 2, decoding unit 3, presentation unit 4, tuning unit 5, application execution unit 200, application memory unit 201, external launch execution unit 220, terminal linkage unit 221, and communication function unit 240 are as already described in the first embodiment.
[0083] The external boot execution unit 220 makes an inquiry to an external possibility determination server device (possibility determination server device 330 described later) based on an external boot command received from an external terminal device (terminal device 310 described later) and controls whether or not an application can be booted. Specifically, the external boot execution unit 220 extracts identification information (channel selection information) of a broadcast service and the URL of the AIT of the application to be booted from the external boot command. Then, the external boot execution unit 220 transmits an inquiry including the identification information of the broadcast service and the URL of the AIT to the possibility determination server device. The external boot execution unit 220 receives a judgment result from the possibility determination server device. If the received determination result is OK, the external boot execution unit 220 passes the URL of that AIT to the AIT management unit 420. If the received determination result is NG (i.e., the application cannot be started), the external boot execution unit 220 discards the URL of that AIT. The URL of the AIT is information that uniquely identifies the application. That is, the external boot execution unit 220 checks the consistency between the identification information of the specified broadcast service and the identification information of the application program by inquiring of an external server device. That is, it is possible to control so that the specified application is started only when it is safe to ensure the consistency between the broadcast service and the application program. That is, it is possible to ensure the safety of the receiving device 300.
[0084] The application operation management unit 410 has the same functions as the application operation management unit 210 in the first embodiment, and controls the start and end of an application. The application operation management unit 410 further has the following functions. When starting an application, the application operation management unit 410 acquires the code of the application body from an external service server device (a service server device 340 described later) based on the URL of the application body passed from the AIT management unit 420. The application operation management unit 410 loads the acquired application body into the application execution unit 200. At this time, the application operation management unit 410 may write the application body into the application storage unit 201 together. When terminating an application, the application operation management unit 410 instructs the application execution unit 200 to terminate the application. Note that the application operation management unit 410 includes a resource access control unit 411.
[0085] The resource access control unit 411 performs access control based on the application type when an application being executed in the application execution unit 200 attempts to access broadcast resources or receiving device resources by calling an extended API. The application type is passed from the AIT management unit 420. It is to be noted that it is previously determined for each application type which resources are allowed or not allowed to be accessed.
[0086] The AIT management unit 420 (also called the "application information table management unit") receives the URL of the AIT from the external launch execution unit 220 or the receiver launcher unit 430, acquires the AIT based on the URL, determines the type of the application, and passes the URL of the application itself to the application operation management unit 410. This enables the application operation management unit 410 to launch the application. The AIT management unit 420 also passes information on the type of application, which is the determination result, to a resource access control unit 411 in the application operation management unit 410. This enables the resource access control unit 411 to control whether the application can access resources (broadcast resources, receiver resources, etc.) depending on the type of application.
[0087] Specifically, the AIT management unit 420 acquires an AIT from an external service server device (the service server device 340 described later) based on the passed URL. The AIT management unit 420 also has an internal parsing function and parses the acquired AIT to determine the type of the application. A more detailed method for determining the type of application will be described later. The AIT management unit 420 also checks whether the application startup method and the application type are consistent. The details will be described later.
[0088] The receiver launcher unit 430 has a function of launching a broadcast-independent application based on a user's operation of a button or the like. Specifically, the receiver launcher unit 430 launches a broadcast-independent application based on an operation of pressing a button on a remote control device or an operation from a menu screen of the receiving device 300 itself. The receiver launcher unit 430 pre-stores the URL of the AIT of the application associated with the type of operation. The receiver launcher unit 430 passes the URL of the AIT of the application to be launched to the AIT management unit 420.
[0089] 6 is a block diagram showing the overall device configuration of a system in which receiving device 300 operates. As shown in the figure, this system includes receiving device 300, terminal device 310, broadcast transmission device 320, availability determination server device 330, and service server device 340. Note that, although one of each device is shown in the figure, the number of each device is arbitrary.
[0090] The receiving device 300 receives a broadcast signal transmitted from the broadcast transmission device 320. The receiving device 300 also receives an AIT, an application code, content data, and the like from the service server device 340. The receiving device 300 also inquires of the possibility determination server device 330 as to whether or not the application can be started. The receiving device 300 also communicates with the terminal device 310 via a wireless LAN.
[0091] The terminal device 310 communicates with the service server device 340 and the receiving device 300. The terminal device 310 also executes an application. The terminal device 310 is a linked terminal device that operates in cooperation with the receiving device 300 via a wireless LAN. The terminal device 310 is realized by, for example, a smartphone or a tablet terminal.
[0092] The broadcast transmitting device 320 transmits a broadcast signal. The broadcast signal is transmitted through the air, a metal cable, or an optical fiber cable, and is received by the receiving device 300.
[0093] The possibility determination server device 330 determines whether or not an application (a broadcast-managed application and a broadcast-independent application) can be started in the receiving device 300. In response to an inquiry from the receiving device 300, the possibility determination server device 330 determines whether or not an application can be started, and returns the determination result to the receiving device 300. Communication between the possibility determination server device 330 and the receiving device 300 is performed via the Internet.
[0094] The service server device 340 provides the AIT of the application (broadcast managed application and broadcast independent application), the application itself (application code), content used by the application, and the like to the receiving device 300 and the terminal device 310. The distribution from the service server device 340 to the receiving device 300 and the terminal device 310 is performed by communication via the Internet.
[0095] Next, a specific method for determining the application type based on the AIT will be described. Figures 7 and 8 relate to the first application type determination method. Figures 9 and 10 relate to the second application type determination method. And Figures 11 and 12 relate to the third application type determination method.
[0096] 7 and 8 are schematic diagrams showing data (isdb:ServiceDiscovery element in AIT) used in the first method for determining the application type. In these figures, line numbers are provided for reference. FIG. 7 shows lines 1 to 24 of this data. FIG. 8 shows lines 25 to 48 of this data. In the illustrated example, the AIT is written in XML (Extensible Markup Language). However, the description format of the AIT is not limited to XML, and other forms of data may be used.
[0097] When the AIT shown in FIG. 7 and FIG. 8 is used, the AIT management unit 420 determines the application type using, for example, the value of isdb:orgId described in the 13th line. This orgId is an identifier for identifying an organization (business operator) that provides an application. That is, when assigning the value of orgId to an organization, a value within a predetermined range is assigned to an organization that provides a broadcast-managed application, and a value within another predetermined range is assigned to an organization that provides a broadcast-independent application. As an example, a value of 1 or more and 127 or less is assigned to an organization that provides a broadcast-managed application (0 is reserved as a special value), and a value of 126 or more and 255 or less is assigned to an organization that provides a broadcast-independent application. This corresponds to the case where the most significant bit of an integer expressed as an 8-bit unsigned binary number is 0 (organization that provides a broadcast-managed application) and the case where the most significant bit is 1 (organization that provides a broadcast-independent application), respectively. In this example, the AIT management unit 420 can determine whether the application is a broadcast-managed application or a broadcast-independent application by referring to the most significant bit of the orgId value (expressed in binary). As another example, a value of 1 or more and 32767 or less is assigned to an organization that provides a broadcast-managed application (0 is reserved as a special value), and a value of 32768 or more and 65535 or less is assigned to an organization that provides a broadcast-independent application. This corresponds to the case where the most significant bit of an integer expressed as a 16-bit unsigned binary number is 0 (organization that provides a broadcast-managed application) and the case where the most significant bit is 1 (organization that provides a broadcast-independent application), respectively. Note that the way in which the orgId value is assigned shown here is merely an example, and other ways of assigning the value may be used.
[0098] 9 and 10 are schematic diagrams showing data (isdb:ServiceDiscovery element in AIT) used in the second method for determining the application type. In these figures, line numbers are provided for reference. FIG. 9 shows lines 1 to 25 of this data. FIG. 10 shows lines 26 to 49 of this data. Here too, the AIT is written in XML, but the format of the AIT is not limited to XML and is arbitrary.
[0099] When the AIT shown in FIG. 9 and FIG. 10 is used, the AIT management unit 420 determines the type of the application by referring to an identifier indicating the type of the application in the AIT. As a specific example, the AIT management unit 420 refers to the value of isdb:AppType described in the 19th line of this AIT (FIG. 9). This isdb:AppType element exists under the isdb:type element. In the AIT according to the conventional standard (IPTVFJ STD-0013, Hybridcast Operational Provisions Version 2.8, revised May 14, 2019, General Incorporated Association IPTV Forum), such an identifier indicating the type of the application is not provided. However, in this embodiment, the isdb:AppType element is placed in the AIT so that the AIT management unit 420 can determine the type of the application. Note that, as an example, when the value of isdb:AppType is 0, it is possible to determine that the type of the application is a broadcast-managed application, and when the value of isdb:AppType is 1, it is possible to determine that the type of the application is a broadcast-independent application. The names and values of the elements shown here are merely examples, and other element names and values may be used. In that case, the AIT management unit 420 determines the type of the application by referring to the application type identifier that indicates the application type in the AIT.
[0100] 11 and 12 are schematic diagrams showing the syntax of data (AplicationDescriptor element in AIT) used in the third method for determining the application type. In these figures, line numbers are provided for reference. FIG. 11 shows lines 1 to 11 of this data. FIG. 12 shows lines 12 to 24 of this data.
[0101] In the third method, the AIT management unit 420 determines the application type by referring to a service bound flag in the AIT. The element serviceBound described in the 17th line of FIG. 12 is the service bound flag to be referred to. As shown in the figure, this element serviceBound is of Boolean type, and the default value is true (1). When the value of this service bound flag is 0 (false), the AIT management unit 420 determines that the application type is a broadcast-independent application. When the value of the service bound flag is 1 (true), the AIT management unit 420 determines that the application type is a broadcast-managed application. The service boundary flag may be called "service boundary information" or "service bound information", etc.
[0102] The three methods for determining the type of an application have been described above. The AIT management unit 420 may determine the type of an application using only one of these three methods, or may implement multiple methods out of these three methods. When the AIT management unit 420 implements multiple methods, it uses the methods appropriately.
[0103] The AIT management unit 420 receives the following six types of start instructions. That is, the AIT management unit 420 1) receives a start instruction of a broadcast managed application related to data broadcasting from the decoding unit 3, 2) receives a start instruction of a broadcast managed application from the external start execution unit 220 (start instruction from a linked terminal device), 3) receives a start instruction of a broadcast independent application from the external start execution unit 220 (start instruction from a linked terminal device), 4) receives a start instruction of a broadcast independent application from the receiver launcher unit 430, 5) receives a start instruction of a broadcast managed application by executing the replaceApplication function from a broadcast managed application currently being executed by the application execution unit 200, or 6) receives a start instruction of a broadcast independent application by executing the replaceApplication function from a broadcast managed application currently being executed by the application execution unit 200. The AIT management unit 420 determines the type of application based on the AIT acquired based on these start instructions.
[0104] Among the above startup instruction methods, the same startup method is used for 2) and 3) external startup from a linked terminal device, and 5) and 6) startup by execution of the replaceApplication function from a broadcast managed application, even though the types of applications are different. Therefore, the application type is determined by referring to the AIT, rather than by the startup method of the application. This allows the AIT management unit 420 to determine the application type reliably and accurately.
[0105] The AIT management unit 420 also checks whether the application startup method and the type of application are consistent. Specifically, when the AIT management unit 420 receives a startup instruction related to data broadcasting from the decoding unit 3, it checks whether the application to be started is a broadcast-managed application. If the application related to the startup instruction from the data broadcasting is not a broadcast-managed application, it detects this as an error. Furthermore, when the AIT management unit 420 receives an application startup instruction from the receiver launcher unit 430, it checks whether the type of the application to be started is a broadcast-independent application. If the application related to the startup instruction from the receiver launcher unit 430 is not a broadcast-independent application, it detects this as an error.
[0106] In addition, the application startup instruction from the linked terminal and the application startup instruction from the broadcast managed application may be a case of starting a broadcast managed application or a case of starting a broadcast independent application. That is, in either case, the AIT management unit 420 determines that the startup method and the application type are consistent.
[0107] When the AIT management unit 420 detects an inconsistency between the application startup method (startup instruction from data broadcasting or startup instruction from the receiver launcher unit 430) and the application type, it notifies the application operation management unit 410 of an error. This allows the application operation management unit 410 to understand that an application cannot be started due to an error. In such a case, the application operation management unit 410 prevents the startup of the application.
[0108] The resource access control unit 411 receives the application type determination result by the AIT management unit 420. Furthermore, when an application being executed by the application execution unit 200 calls an API (an extended API for accessing broadcast resources and receiving device resources), the resource access control unit 411 performs access control based on the received information on the application type.
[0109] For this purpose, for example, the resource access control unit 411 stores in advance a list of APIs that can be called for each application type. That is, the resource access control unit 411 stores a list of APIs that can be accessed by broadcast managed applications and a list of APIs that can be accessed by broadcast independent applications. Then, when an application being executed attempts to call an API, the call is always made via the control of the resource access control unit 411. Then, when an API is called, the resource access control unit 411 grasps the type of the application (the application making the call) and refers to the API list according to the type. In this way, the resource access control unit 411 judges whether the API call is a valid call or a violation. If the access should be permitted, the resource access control unit 411 executes the API call as is. If the access is not permitted, the resource access control unit 411 stops the API call and returns an error to the application on the calling side. In this way, the resource access control unit 411 performs control so that the application type determined based on the AIT and the resource to be accessed are consistent with each other.
[0110] As an example of resource access control, an API call for accessing broadcast resources is permitted for a broadcast managed application but not permitted for a broadcast independent application.
[0111] The present embodiment can be summarized as follows.
[0112] The receiving device 300 includes an application operation management unit 410 and an AIT management unit 420. The application operation management unit 410 manages the operation of an application program executed by the application execution unit 200. When the AIT management unit 420 receives a start command for an application program to be executed by the application execution unit 200, the AIT management unit 420 determines the type of the application program (e.g., broadcast managed application, broadcast independent application) based on an application information table (AIT) for the application program, and notifies the application operation management unit 410 of the type determined as a result.
[0113] The AIT management unit 420 may determine the type based on information identifying the organization that provides the application program (for example, the above-mentioned orgID) in the application information table.
[0114] The AIT management unit 420 may determine the type based on information identifying the type of the application program in the application information table (for example, the above-mentioned appType).
[0115] The AIT management unit 420 may determine the type based on service bound information (for example, the above-mentioned serviceBound) in the application information table.
[0116] The AIT management unit 420 judges whether the start method of the application program (for example, start from broadcast, start from launcher, start from linked terminal, etc.) and the type are consistent, and if they are consistent, the start of the application program is permitted, and if they are not consistent, the start of the application program is stopped. Note that the AIT management unit 420 may not judge the consistency between the start method and type of the application program.
[0117] The resource access control unit 411 receives the type determined by the AIT management unit 420, and controls whether or not to permit access to a resource requested by an application program being executed in the application execution unit 200, depending on the type. Note that the resource access control unit 411 may not perform access control depending on the type of application program.
[0118] As described above, according to this embodiment, when multiple types of applications (hybridcast applications) are operated in the same application execution environment, it is possible to determine the type based on the AIT. That is, it is possible to reliably and accurately determine the type of an application, regardless of the method of starting the application. In addition, it is possible to control access from the application to resources (broadcast resources and receiving device resources) based on the determined type.
[0119] [Third embodiment] Next, a third embodiment of the present invention will be described. Note that the matters already described in the previous embodiments may be omitted below. Here, the matters unique to this embodiment will be mainly described. Also, functional blocks having the same functions as those in the first and second embodiments will be referred to by the same reference numerals as those embodiments, and detailed description will be omitted.
[0120] 13 is a block diagram showing a schematic functional configuration of a receiving device according to this embodiment. As shown in the figure, the receiving device 500 (also called a "receiver") includes a receiving unit 1, a demodulating unit 2, a decoding unit 3, a presenting unit 4, a tuning unit 5, an application executing unit 200, an application storing unit 201, an application operation managing unit 410, an AIT managing unit 420, an external start executing unit 220, a terminal linking unit 221, a request generating unit 222, a receiver launcher unit 430, and a communication function unit 240. The application operation managing unit 410 includes a resource access control unit 411.
[0121] Among these functional units, the receiving unit 1, demodulating unit 2, decoding unit 3, presenting unit 4, tuning unit 5, application executing unit 200, application storing unit 201, external start executing unit 220, terminal linking unit 221, request generating unit 222, and communication function unit 240 are as described in the first embodiment. Also, the application operation managing unit 410, AIT managing unit 420, and receiver launcher unit 430 are as described in the second embodiment. Furthermore, the resource access control unit 411 is also as described in the second embodiment.
[0122] That is, the receiving device 500 functions as a hybridcast-compatible television receiver, receives a broadcast signal, and presents the video and content. The receiving device 500 also has an environment for running applications. The receiving device 500 manages and executes a plurality of types of applications, such as broadcast-managed applications and broadcast-independent applications. The receiving device 500 also determines the type of application by analyzing information in the AIT, rather than determining the type of application based on the activation method. The receiving device 500 also controls the behavior of the application (specifically, whether or not access to resources is permitted, etc.) based on the type of application thus determined.
[0123] [Fourth embodiment] Next, a fourth embodiment of the present invention will be described. Note that the matters already described in the previous embodiments may be omitted below. Here, the matters unique to this embodiment will be mainly described. In addition, functional blocks having the same functions as those in the first to third embodiments will be referred to by the same reference numerals as those embodiments, and detailed description will be omitted.
[0124] A broadcast-independent application is an application that can be started in a state where there are no broadcast resources (a state where no broadcast is selected). When the same service (program, etc.) is broadcast by affiliated stations in different regions or in different situations, the same application is provided to all receivers regardless of the location or situation in which the receiver is installed. On the other hand, for a receiver, the broadcast services (media and channels) that can be received vary depending on the location and situation in which it is installed. Therefore, when an attempt is made to select a broadcast service from a broadcast-independent application, there is a problem in that it is not possible to select a broadcast service (media and channel) that can be reliably received. This embodiment is intended to solve such a problem.
[0125] 14 is a block diagram showing a schematic functional configuration of a receiving device according to this embodiment. As shown in the figure, the receiving device 700 (also called a "receiver") includes a receiving unit 1, a demodulating unit 2, a decoding unit 3, a presenting unit 4, a tuning unit 705, an application executing unit 800, an application storing unit 201, an external start executing unit 220, a terminal linking unit 221, a communication function unit 240, an application operation managing unit 410, an AIT managing unit 420, a receiver launcher unit 430, and a resource access control unit 411. The resource access control unit 411 is included in the application operation managing unit 410.
[0126] The receiving device 700 having the above configuration has a function compatible with Hybridcast. The receiving unit 1, demodulating unit 2, decoding unit 3, presenting unit 4, application storage unit 201, external start execution unit 220, terminal linking unit 221, communication function unit 240, application operation management unit 410, AIT management unit 420, receiver launcher unit 430, and resource access control unit 411 are as already described in the second embodiment. Functions unique to this embodiment (channel selection unit 705 and application execution unit 800) are as follows.
[0127] Like the above-mentioned tuning unit 5, the tuning unit 705 has a function of selecting a broadcast service (channel) of a broadcast signal received by the receiving unit 1. The tuning unit 705 also has a function of internally holding information (media and channel information) of selectable broadcast services. This information on selectable media and channels can be accessed via an API, which will be described later.
[0128] The application execution unit 800 is an execution environment for executing application programs (broadcast managed applications and broadcast independent applications). Specifically, the application execution unit 800 is an HTML5 browser equipped with an extended API for accessing broadcast resources and receiver resources. As one of the extended APIs, the application execution unit 800 has an API for acquiring information on media and channels held by the above-mentioned tuning unit 705.
[0129] The receiving device 700 has the following functions for selecting a channel from an application program. A channel selection unit 705 selects the broadcast service according to a channel selection instruction from a broadcast independent application program or a broadcast managed application program. When a broadcast independent application program issues a channel selection instruction, the application operation management unit 410 terminates the broadcast independent application program at an appropriate time.
[0130] The channel selection unit 705 holds information on selectable media. The channel selection unit 705 also holds information on selectable channels in association with the media. A broadcast-independent application program running on the application execution unit 800 can acquire the above-mentioned information on selectable media held by the channel selection unit 705 via a predetermined application program interface. The broadcast-independent application program can acquire information on all selectable channels held by the channel selection unit 705 or information on selectable channels of a specific media via a predetermined application program interface. The broadcast-independent application program can use the acquired information on selectable channels to instruct the channel selection unit 705 to select a broadcast service of a specified channel via the application program interface. The channel selection unit 705 selects a specific broadcast service according to this instruction.
[0131] FIG. 15 is a flowchart showing an example of an operation procedure according to this embodiment. This flowchart shows an operation procedure when selecting a broadcast from a broadcast independent application running on the receiving device 700. As a premise of this operation, a key station (broadcast station) having affiliated stations (broadcast stations) in multiple regions nationwide develops a service by a broadcast independent application. In other words, a single broadcast independent application is used regardless of region. Meanwhile, broadcast services (media and channels) may differ depending on the broadcast station in each region. The receiving device 700 of this embodiment is required to appropriately select a desired broadcast service (media and channel) from the broadcast independent application regardless of the place (region) where it is installed. Here, the broadcast service to be selected by the broadcast independent application is a terrestrial digital broadcast service.
[0132] The broadcast service identifier is a combination of three identifiers: original_network_id (original network ID), transport_stream_id (transport stream ID), and service_id (service ID). The getAvailableMedia function and the getChannelInformation function are functions for making requests via an extended API. The getAvailableMedia function is a function for obtaining information on selectable media. The getChannelInformation function is a function for obtaining information on selectable channels. The procedure is explained below with reference to the flowchart.
[0133] In step S701, as an operation of the broadcast-independent application, the application execution unit 800 acquires a list (called list A) of identifiers of all broadcast services of affiliated broadcast stations that are the target of the broadcast-independent application. This list of identifiers of all broadcast services may be recorded, for example, as a part of the code (data area) of the broadcast-independent application.
[0134] Next, in step S702, as an operation of the broadcast-independent application, the application execution unit 800 acquires a list of selectable media (called list B). This list of selectable media can be acquired by calling the getAvailableMedia function.
[0135] Next, in step S703, as an operation of the broadcast-independent application, the application execution unit 800 determines whether or not "TD" is included in list B acquired in step S702. This "TD" represents terrestrial digital broadcasting. Terrestrial digital broadcasting is broadcasting that can only be received in specified regions of the country. If "TD" is included in list B (step S703: YES), proceed to step S704. If "TD" is not included in list B (step S703: NO), the target broadcast service cannot be received, so proceed to step S707.
[0136] Next, in step S704, as an operation of the broadcast-independent application, the application execution unit 800 acquires a list of selectable channels (called list C). This list of selectable channels can be acquired by calling the getChannelInformation function. The list of selectable channels depends on the location (area) where the receiving device 700 is installed.
[0137] Next, in step S705, as an operation of the broadcast-independent application, the application execution unit 800 determines whether or not the identifier of the desired broadcast service is included in the list of selectable channels (List C). Here, the identifier of the desired broadcast service is any one of the identifiers of the broadcast services included in List A. If the identifier of the desired broadcast service is included in the list of selectable channels (S705: YES), proceed to step S706. If the identifier of the desired broadcast service is not included in the list of selectable channels (S705: NO), the target broadcast service cannot be received, so proceed to step S707.
[0138] Next, in step S706, as an operation of the broadcast-independent application, the application execution unit 800 selects a broadcast service using the identifier of the service determined in step S705 to be included in list C. Specifically, the application execution unit 800 specifies the identifier of the broadcast service in the broadcast-independent application and calls the tuneTo function, thereby causing the channel selection unit 705 to select the corresponding broadcast service. The channel selection unit 705 selects a channel according to the specified broadcast service identifier. This selects the desired broadcast service. That is, the receiving device 700 receives the broadcast service. That is, no matter where the receiving device 700 is installed, the broadcast independent application can select a channel according to the area. After this step is completed, the broadcast independent application completes the entire process of this flowchart.
[0139] When the process proceeds to step S707 (from S703 or S705), the broadcast-independent application causes the application execution unit 800 to display a message on the screen or the like indicating that channel selection is not possible. After this step is completed, the broadcast-independent application ends the entire process of this flowchart.
[0140] As described above, according to this embodiment, it is possible to select an appropriate broadcast service according to the region from the broadcast independent application, regardless of the region in which the receiving device 700 is installed. Also, if the receiving device 700 cannot select a channel, for example, if there is no broadcast service corresponding to the region, a message to that effect can be displayed.
[0141] At least some of the functions of the receiving device in each of the above-mentioned embodiments can be realized by a computer. In that case, a program for realizing the functions may be recorded in a computer-readable recording medium, and the program recorded in the recording medium may be read into a computer system and executed to realize the functions. The term "computer system" as used herein includes hardware such as an OS and peripheral devices. The term "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, CD-ROMs, DVD-ROMs, and USB memories, and storage devices such as hard disks built into computer systems. The term "computer-readable recording medium" may also include those that temporarily and dynamically hold a program, such as a communication line when a program is transmitted via a network such as the Internet or a communication line such as a telephone line, and those that hold a program for a certain period of time, such as a volatile memory inside a computer system that is a server or client in such a case. The above-mentioned program may be for realizing some of the functions described above, and may further be capable of realizing the functions described above in combination with a program already recorded in the computer system.
[0142] Although an embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to this embodiment, and modified examples may be implemented, and the configuration may have a design within the scope of the gist of the present invention. [Industrial Applicability]
[0143] The present invention can be used, for example, in services that link broadcasting and communication, and in devices for implementing such services, etc. However, the scope of use of the present invention is not limited to the examples given here. [Explanation of symbols]
[0144] 1. Receiving section 2 Demodulation section 3. Decoding section 4 Presentation part 5 Channel selection department 100 Receiving device (receiver) 200 Application execution unit 201 Application storage unit 210 Application Operation Management Department 211 Broadcast Managed Application Management Department 212 Broadcasting and Non-Broadcasting Managed Application Management Department 213 Broadcast Independent Application Management Department 214 General Application Management Department 220 External startup execution unit 221 Terminal Linkage Department 222 Request generator 240 Communication function section 300 Receiving device (receiver) 310 Terminal Equipment 320 Broadcast transmission equipment 330 Possibility determination server device 340 Service server device 410 Application Operation Management Department 411 Resource Access Control Unit 420 AIT management section (application information table management section) 430 Receiver Launcher 500 Receiving device (receiver) 700 Receiving device (receiver) 705 Channel selection department 800 Application Execution Unit
Claims
1. A receiving unit for receiving a broadcast signal; a tuning unit that selects a broadcast service of the broadcast signal received by the receiving unit; An extractor for extracting broadcast resources from the received broadcast signal; an application execution unit that executes an application program; an application operation management unit that manages the operation of the application program executed by the application execution unit; an external start execution unit that controls the channel selection unit to select the designated broadcast service based on a request from a linked terminal device that operates in cooperation with the broadcast service and a URL of an AIT (application information table) of the application program, and controls the application operation management unit to start the designated application program; A receiving device comprising: The application program includes a broadcast-independent managed application that is an application program that can operate regardless of whether a specific broadcast service is being selected, The application operation management unit prohibits the broadcast-independent managed application from accessing the broadcast resource when the broadcast-independent managed application is running. Receiving device.
2. A receiving unit for receiving a broadcast signal; a tuning unit that selects a broadcast service of the broadcast signal received by the receiving unit; An extractor for extracting broadcast resources from the received broadcast signal; an application execution unit that executes an application program; A computer comprising: A program for causing the receiving device to function as claimed in claim 1.
Citation Information
Patent Citations
Receiver
JP2013009340A
Information processing device, information processing method, program, transmission device, and transmission method
JP2016027743A
Broadcast receiver and control method of application operation
JP2018142991A
Web application access control system
WO2015076178A1