WO2011013234A1 - 受信装置 - Google Patents

受信装置 Download PDF

Info

Publication number
WO2011013234A1
WO2011013234A1 PCT/JP2009/063605 JP2009063605W WO2011013234A1 WO 2011013234 A1 WO2011013234 A1 WO 2011013234A1 JP 2009063605 W JP2009063605 W JP 2009063605W WO 2011013234 A1 WO2011013234 A1 WO 2011013234A1
Authority
WO
WIPO (PCT)
Prior art keywords
metadata
search
search query
attribute
service
Prior art date
Application number
PCT/JP2009/063605
Other languages
English (en)
French (fr)
Inventor
大介 安次富
祐司 入江
会津 宏幸
直紀 江坂
晃治 齊木
Original Assignee
株式会社東芝
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社東芝 filed Critical 株式会社東芝
Priority to JP2011524588A priority Critical patent/JPWO2011013234A1/ja
Priority to CN200980160685.3A priority patent/CN102473180B/zh
Priority to PCT/JP2009/063605 priority patent/WO2011013234A1/ja
Publication of WO2011013234A1 publication Critical patent/WO2011013234A1/ja
Priority to US13/356,708 priority patent/US8862607B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying

Definitions

  • the present invention relates to a receiver.
  • Patent Document 1 when searching for content in the network, there is a possibility that the content can not be searched depending on the service existing on the network. That is, depending on each service, for example, the search conditions such as allowable search conditions, metadata format, transmission protocol, genre of searchable content, search expression for searching content and metadata, etc. differ. obtain. Taking a search condition as an example, one service may only allow keyword search, but another service may allow genre search in addition to keyword search. In addition, genre definitions are often different between services that allow search by genre. In addition, while there are many services that search by keyword implicitly indicates full-text search of metadata, there are also services that can search for titles, brief descriptions, keywords, and performers by specifying keywords.
  • the present invention has been made in view of the above, and when searching for content in a plurality of different services, a receiving apparatus capable of searching for the content desired by the user even if the search form in each service is different. Intended to be provided.
  • the present invention is a receiving device, which is a device that stores attribute information representing attributes of content in a searchable state, and is connected via a network
  • a storage unit storing service information representing a search form in a possible storage device and a connection method for connecting to the storage device, and a search query representing a search condition for searching content, wherein Generate a common search query including at least one or more pairs of common search attribute attributes in which the expression of the search condition attribute representing any of them is unified in the reception apparatus and common search attribute values which can be taken by the common search attribute attributes
  • a transmitting unit for transmitting the generated search query to the storage device based on a connection method indicated by the service information, and storing the attribute information obtained as a result of execution of the search query
  • a receiver for receiving from the device.
  • the receiving apparatus when searching for content in a plurality of different services, can search for the content desired by the user even if the search form in each service is different.
  • FIG. 1 is a diagram illustrating a functional configuration of a reception device 100 according to a first embodiment.
  • the figure which illustrates the data composition of common metadata The figure which illustrates the common metadata expressed with XML form.
  • FIG. 7 is a view exemplifying a data configuration of reproduction history information or skip history information.
  • the figure which illustrates the data composition of service information The figure which illustrates the data composition of keyword information.
  • the figure which illustrates the data composition of a common search query The figure which illustrates the common search condition shown in the common search condition list.
  • 5 is a flowchart showing a procedure of metadata acquisition processing performed by the receiving device 100.
  • FIG. 7 is a diagram showing the configuration of a receiving device 100 ′ according to a second embodiment.
  • the figure which shows the structure of receiver 100 '' concerning 3rd Embodiment. 6 is a flowchart showing the procedure of metadata acquisition processing performed by the receiving device 100 ′ ′. 6 is a flowchart showing the procedure of metadata acquisition processing performed by the receiving device 100 ′ ′. 8 is a flowchart showing a detailed procedure of filter processing performed by the filter unit 107. 5 is a flowchart showing a detailed procedure of alignment processing performed by the display control unit 108.
  • the receiving apparatus of this embodiment includes a control unit such as a central processing unit (CPU) that controls the entire apparatus, and main elements such as a read only memory (ROM) and a random access memory (RAM) that store various data and various programs. It has a storage unit, an auxiliary storage unit such as an HDD (Hard Disk Drive) or a CD (Compact Disk) drive device that stores various data such as contents and various programs, and a bus connecting these, It has a hardware configuration using.
  • a control unit such as a central processing unit (CPU) that controls the entire apparatus, and main elements such as a read only memory (ROM) and a random access memory (RAM) that store various data and various programs. It has a storage unit, an auxiliary storage unit such as an HDD (Hard Disk Drive) or a CD (Compact Disk) drive device that stores various data such as contents and various programs, and a bus connecting these, It has a hardware configuration using.
  • HDD Hard Disk Drive
  • CD Compact Disk
  • the reception device includes a display unit for displaying information, an operation input unit such as a keyboard, a mouse, a remote controller (remote control) or the like for receiving user's instruction input, and a communication I / F for controlling communication with an external device. interface) are connected by wire or wireless respectively. Communication with an external device is performed via a network.
  • the network is, for example, a LAN (Local Area Network), an intranet, Ethernet (registered trademark), the Internet, a WAN (Wide Area Network), a quality guaranteed closed network NGN (Next Generation Network), or the like.
  • the receiving device is realized by, for example, a mobile device such as a personal computer, a digital television, a hard disk recorder, an STB (Set Top Box), and a mobile phone.
  • a receiving device acquires content from an external device via the content stored in the auxiliary storage unit or the network, or acquires metadata, which is attribute information indicating an attribute of the content, and uses the content to obtain the content. Get and play content.
  • the content is assumed to represent video, but the present invention is not limited to this, and may be other types of content representing music, images, books, and the like.
  • FIG. 1 is a diagram illustrating a functional configuration of the receiving device 100.
  • the receiving apparatus 100 includes a content / metadata display unit 101, a selection unit 102, a second generation unit 103, an execution control unit 104, an acquisition unit 105, a communication (transmission / reception) unit 106, a metadata storage management unit 201, content viewing A skip history storage management unit 202, a service information storage management unit 203, a keyword generation / storage management unit 204, a search query execution history storage management unit 205, and a content / metadata display unit attribute information storage management unit 206.
  • the content / metadata display unit 101, the selection unit 102, the second generation unit 103, the execution control unit 104, the acquisition unit 105, and the communication unit 106 are generated on a main storage unit such as a RAM when the CPU executes a program. is there.
  • the metadata storage management unit 201, the content viewing / skip history storage management unit 202, the service information storage management unit 203, the keyword generation / storage management unit 204, and the search query execution history storage management unit 205 are databases constructed in the auxiliary storage unit. It is a management system. This may be an XML database or a relational database. Also, this does not have to be built in a single database management system, and multiple database management systems such as SQLite 3, Oracle, MySQL, etc. may be used together.
  • auxiliary storage units may be built on one physical auxiliary storage unit, or a plurality of physical auxiliary storage units such as NAS and SAN may be used as a database management system.
  • these storage management units are provided with means capable of acquiring unit information (entries) which are data stored in the respective storage management units instead of the database management system, they are simply a file group in a CSV format or the like. It may be configured.
  • the communication unit 106 is connected to the network 301, and is a network interface for communicating with the content distribution servers 401 and 402 connected to the network 301.
  • this network interface is one in the present embodiment, it is not limited to this and may be plural.
  • the content distribution servers 401 and 402 are storage devices storing content and metadata of the content in a searchable state, and has an interface for transmitting to the receiving device 100 via the network 301.
  • This interface is to send metadata in hypertext that is assumed to be displayed via a web browser such as HTML (HyperText Markup Language), including a search query string in a URL (Uniform Resource Locator) It may be sent as an XML (Extensible Markup Language) document like RSS.
  • HTML HyperText Markup Language
  • URL Uniform Resource Locator
  • the content distribution servers 401 and 402 transmit metadata in text format unicast communication based on such TCP / HTTP protocol, but the present invention is limited thereto is not.
  • search queries and metadata may be in binary format.
  • the present invention is not limited to the unicast communication between the receiving apparatus 100 based on the TCP / HTTP protocol as described above and the content distribution servers 401 and 402, and the content distribution servers 401 and 402 can perform metadata communication by multicast communication. May be sent.
  • the receiving device 100 performs signaling communication to join or leave the multicast address to which the metadata is distributed, using Internet Group Management Protocol (IGMP) or Multicast Listener Discovery (MLD).
  • IGMP Internet Group Management Protocol
  • MLD Multicast Listener Discovery
  • the metadata storage management unit 201 stores metadata different for each service as common metadata, and manages common metadata by controlling storage, access, and deletion of the common metadata.
  • the service is the content and the metadata of the content stored in a searchable state, and the content distribution servers 401 and 402 shown in FIG. 1 and the metadata storage management unit for storing the metadata. 201 and so on.
  • the common metadata is metadata in which the expression format is unified in the receiving device 100. For example, when the content represents video, a standard specification of metadata description format is formulated by TV-Anytime or the like, and this may be used as common metadata. Alternatively, the set of minimum metadata used by the content / metadata display unit 101 of the receiving apparatus 100 for display and internal control may be defined and used as common metadata.
  • the minimum metadata set includes, for example, a content identifier for identifying the content, a title, a brief description (synopsis), a scale of the content, a date and time of publication and broadcasting, information on age restriction, a genre, a keyword (tag), It is a service identifier or the like for identifying the service of the provider.
  • a genre code is assigned in advance for subdivisions such as "sports”, “entertainment”, and "economy”, and the genre code can be designated.
  • a union of contents included in all the targeted services may be taken and used as common metadata.
  • the metadata accumulation management unit 201 stores metadata acquired from a plurality of services as common metadata, it is necessary to include at least a service identifier.
  • the common metadata may be acquired from the content distribution servers 401 and 402, or generated by the metadata storage management unit 201 using the metadata acquired from the content distribution servers 401 and 402. It may be For example, when the metadata includes a summary description, the metadata storage management unit 201 performs a morphological analysis of the text of the summary description, extracts information such as a keyword and a person's name, and includes common extracted information. Metadata may be generated and stored.
  • FIG. 2 is a diagram illustrating the data configuration of common metadata.
  • the common metadata is composed of three values: acquisition start index (from), number of acquisitions (count) and total number (total), and count common content metadata.
  • each common content metadata is composed of two types of common metadata attributes that do not depend on the media type / media subtype described later and common metadata attributes that depend on the media type / media subtype. Acquisition start index (from), acquisition number (count), total number (total), from the total number (total) of contents corresponding to the common search query to be described later how many (count) It indicates whether it is metadata.
  • the common content metadata includes media type (mediaType), media subtype (mediaSubType), content identifier (contentId), content name (name), content description (synopsis) and content keyword (keyword).
  • the media type is information indicating the type of content, such as video, music, books, and photos. In the common metadata, only one specific media type may be included, or a value obtained by ORing a plurality of media types may be included.
  • video is represented as a media type.
  • the media sub-type is information indicating the type of finer-grained content defined for each media type.
  • program information programInfo
  • programInfo is represented as a media subtype.
  • Content identifier (contentId), content name (name), content description (synopsis) and content keyword (keyword) together with media type (mediaType) and media subtype (mediaSubType) are common meta that do not depend on media type / media subtype. It is defined as a data attribute.
  • the content identifier (contentId) is an identifier for identifying content.
  • the content name (name) represents the name given to the content.
  • the content description (synopsis) represents an outline or feature of the content.
  • the content keyword (keyword) represents a keyword included in the content.
  • the common metadata attribute described below is an attribute in the case where the media type is video and the media subtype is programInfo, and in the example of FIG.
  • video format (format) and age restriction (program information) are used as program information.
  • An example is shown that includes parental Rate, genre (genre), content duration (duration), release / broadcast start date / time (startDate), publish / broadcast end date / time (endDate), and thumbnail image (imagePath).
  • the common metadata may be an object such as a structure or a class on a software program, or may be expressed, for example, in the XML (extensible Markup Language) format as shown in FIG.
  • the program information includes the above-described video format (format), age restriction (parental rate), genre (genre), content length (duration), release / broadcast start date (startDate), release /
  • the present invention is not limited to the one including the broadcast end date and time (endDate) and the thumbnail image (imagePath), and may be configured with more common metadata attributes.
  • the common metadata when the common metadata is expressed in the XML format, the common metadata attributes constituting the common content metadata are moved by editing the XML schema representing the common metadata. It may be configured to be changeable.
  • the common metadata attribute included in the common content metadata is defined by the media type / sub-media type binary, but it is not essential that this is binary. If the media type to be used is limited to program information related to video, there may be a configuration that is not defined by the media type / submedia type.
  • the content viewing / skip history accumulation management unit 202 stores reproduction history information representing the history of the content reproduced by the content / metadata display unit 101 and skip history information representing the history of skipping reproduction, and stores these information Manage these information by controlling access and deletion.
  • the skip indicates that the playback of the content is interrupted within a defined fixed time after the playback of the content.
  • the reproduction history information and the skip history information include the content identifier of the content to be reproduced.
  • the reproduction history information and the skip history information further include type information indicating whether the reproduction history information or the skip history information.
  • the reproduction history information and the skip history information may not include the type information.
  • the reproduction history information and the skip history information include a service identifier for identifying a service to which the content to be reproduced has been acquired.
  • the reproduction history information and the skip history information may not include the service identifier.
  • FIG. 4 is a diagram showing an example of the data configuration of the reproduction history information or the skip history information.
  • the view / skip flag shown in the figure is type information indicating whether the playback history information or the skip history information is present, and the event occurrence date indicates the date when content playback or skipping during content playback is performed.
  • the service information storage management unit 203 stores, for each service, service information representing a search form in a service that the receiving device 100 searches for content and a connection method (a communication protocol, an access path, etc.) for connecting to the service. And managing the service information by controlling storage, access, and deletion of the service information.
  • service information includes information of a service provided by an interface for acquiring metadata when searching for content.
  • service information is defined for each service, and an attribute (search condition attribute) representing a metadata attribute that can be specified as a search condition in a search query and a possible value of the search condition attribute (search condition attribute value) (Unit information, genre, age restriction, list of valid values such as evaluation value, etc.), metadata format that is a description format of metadata that can be provided by the service as a result of search query execution, metadata attribute Metadata attributes that represent and possible values of the metadata attribute values (metadata attribute values) (like search condition attributes, unit information, list of valid values such as genre, age restrictions, evaluation values, etc.), and services And a search query format that is a descriptive format of search queries that can be processed.
  • the search query format may include search rules such as a method of linking search conditions.
  • the metadata format may take the form of a conversion table of metadata attribute names and metadata attribute values corresponding to common metadata attributes, and script languages such as Java (registered trademark) Script, Python, Perl, Ruby, etc.
  • the analysis processing itself may also be provided in a form.
  • the service information includes common search condition attributes, attribute conversion tables for converting search condition attributes and metadata attributes of each service into common metadata attributes, and common search condition attributes from search condition attributes defined for each service. May include an attribute value conversion table for converting into The common search condition attribute is a search condition attribute in which the expression method is unified in the receiving device 100. As described above, “common” is used in order to integrally handle expressions of search condition attributes and search condition attribute values which differ depending on services.
  • the attribute conversion table may be a correspondence table representing correspondences between common search condition attributes, search condition attributes and metadata attributes of each service, and common metadata attributes, or a program described in a script language or the like It may be Similarly, the attribute value conversion table may be a correspondence table representing a correspondence between search condition attributes defined for each service and common search condition attributes, or may be a program described in a script language or the like. . How to use these attribute conversion table and attribute value conversion table will be described later.
  • the service information includes a service identifier for identifying each service, a name of the service, an attribute for display such as an icon representing the service, and a user ID and a password input when the user of the receiving apparatus 100 uses the service. It may include various information such as an attribute for authentication, subdivision of the genre of the content supported by the service (corresponding genre), and the quality of the content.
  • the service supporting the content means that the service stores the content and its metadata and can provide the content to the receiving device 100.
  • the service information may include subdivisions of content genres that the service does not support.
  • one common search condition attribute value of the common search condition attribute corresponds to all the contents in which the metadata is stored in the service whose connection method is represented by the service information.
  • a pair of the common search condition attribute and the common search condition attribute value may be included.
  • the service information may also include address information such as the URL of the published portal site, and information that depends on the IP address family, protocol, and protocol used (HTTP method used, HTTP extension header).
  • average response time information representing an average of response times statistically obtained from information stored in a search query execution history storage management unit 205 described later
  • average size information representing an average of metadata sizes, specification of a genre, etc.
  • the service information may include information such as average total number information indicating an average of the number of metadata obtained when the search condition of is specified.
  • FIG. 5 is a diagram exemplifying a data configuration of service information.
  • the service information shown in the figure includes a service path as a connection method for connecting to the service.
  • the service information includes hierarchical relationship information for identifying the hierarchical relationship. For example, for a service having a parent-child relationship, service information of a child service (referred to as a dependent service) includes a service identifier of a parent service (referred to as a parent service). This corresponds to hierarchical relation information.
  • the service information storage management unit 203 may additionally manage information necessary for mapping a dependent service to a parent service when actually generating a search query.
  • the service information may be stored in advance in the service information storage management unit 203.
  • the acquisition unit 105 may acquire service information from the content distribution servers 401 and 402 corresponding to each service and store the service information in the service information storage management unit 203.
  • the keyword generation / storage management unit 204 stores keyword information representing a keyword extracted from the metadata acquired by the acquisition unit 105, and manages the keyword information by controlling storage, access, and deletion of the keyword information. .
  • a server (not shown) having an interface for providing the receiving device 100 with a keyword to which statistical information and weight information are added is provided on the network 301, and the keyword generation / storage management unit 204 It is also possible to manage and manage keyword information indicating.
  • the keyword information may also include a date and time when the keyword is extracted (extraction date and time), and a genre code representing a genre to which the content including the keyword belongs.
  • the keyword information may be configured to output a topic keyword for each content genre or to output a keyword of high interest during a certain period (for example, the last week).
  • statistical information represents the frequency of appearance of keywords appearing in a topic for each genre
  • weight information represents a weight that increases as interest is higher.
  • FIG. 6 is a diagram illustrating the data configuration of the keyword information.
  • the keyword information includes a keyword, a service name of a service storing the content from which the keyword is extracted, a common search condition attribute, and a common search condition attribute value.
  • the common search condition attribute for example, “genre” is included
  • the common search condition attribute value one representing “sports” as the genre code is included.
  • the search query execution history storage management unit 205 stores execution result information representing the result of execution of the search query by the acquisition unit 105, and controls the storage, access, and deletion of the execution result information to thereby execute the execution result information. to manage.
  • the execution result information includes, for example, information such as latency (response time) from the execution of a search query to the reception of metadata as a response, the number of metadata to be received, and the like.
  • the search query execution history accumulation management unit 205 acquires statistical information from the execution history information, extracts attribute information of a target service for which the search query has been executed using the statistical information, and uses this as service information. It is stored in the information storage management unit 203.
  • the statistical information is, for example, an average response time from when a search query is executed to when metadata are received as a response, or the number of possessed contents for each service matching the search condition represented by the search query.
  • the attribute information of the service is, for example, information that a certain service holds only content belonging to a specific genre or does not hold content belonging to a specific genre.
  • FIG. 7 is a diagram illustrating the data configuration of the execution result information.
  • the execution result information includes the number of acquired metadata, the common search condition attribute, the common search condition attribute value, the response time, and the date and time (execution date and time) when the search query was executed. Including.
  • “genre” is specified as a common search condition attribute
  • a genre code representing "sports" as a genre subdivision is specified as a common search condition attribute value. It is shown.
  • Content / metadata display unit attribute information storage management unit 206 stores attribute information (referred to as display attribute information) related to display when content / metadata display unit 101 causes content or metadata to be displayed on the display unit, and the display
  • the display attribute information is managed by controlling storage, access, and deletion of attribute information.
  • the display attribute information includes screen size information indicating the size of the screen, aspect ratio information indicating the aspect ratio, and format information indicating the format of the content that can be displayed on the display unit.
  • the display attribute information may include information on display control for each user, such as age restriction information indicating age restriction.
  • the content / metadata display unit 101 includes a first generation unit 101a, and controls display of information on the display unit, and processes an operation input input from the user via the operation input unit as a control signal.
  • Provide GUI Graphic User Interface
  • the content / metadata display unit 101 displays metadata on the display unit, receives an operation input from the user via the operation input unit, and identifies the content selected according to the operation input. The content is reproduced by displaying the content on the display unit.
  • the content / metadata display unit 101 causes the content viewing / skip history storage managing unit 202 to store reproduction history information indicating the history of the reproduced content or skip history information indicating the history in which the reproduction is skipped along with the operation history. .
  • the content / metadata display unit 101 generates a screen for the user to explicitly generate the common search query and causes the display unit to display the screen.
  • the common search query represents one or more common search conditions for searching for content desired by the user, and is a search query in which the expression method is unified in the receiving device 100.
  • “common” is used to handle in an integrated manner expressions of search condition attributes and search condition attribute values that differ depending on the service.
  • FIG. 8 is a view exemplifying a screen for specifying a search condition.
  • the user uses the operation input unit as a search condition as a search target service, a genre code representing a genre of the search target content, a keyword, a release date It is possible to specify the date and time or the public / broadcast end date and time, the length of the content (content scale), and the sorting (alignment condition).
  • the alignment condition is a processing condition for aligning metadata obtained as a result of search, and may be specified in ascending and descending order for all common metadata attributes. For example, it is possible to arrange by the title, the genre, the end date and time, the content scale, the number of viewing times, the evaluation value and the like.
  • the specified search conditions may include various processing conditions such as alignment conditions.
  • the first generation unit 101a of the content / metadata display unit 101 searches the search condition for searching the content related to the content being reproduced according to the user's operation input, or the screen shown in FIG. Generates a common search query including the search condition explicitly designated, and outputs this to the selection unit 102 or the second generation unit 103.
  • the common search query includes media type (mediaType), media subtype (mediaSubType), name of common metadata attribute of acquisition target (acquisition target metadata attribute name) (requestField), acquisition range ( An acquisition start index (index) and an acquisition number (count), a sort key (sortKey), a sort order (sortOrder), and a common search condition list (predicateBag) are included.
  • the acquisition target metadata attribute name (requestField) is represented in the form of a list. For example, in the example of FIG. 9, four values of name, synopsis, genre and imagePath are listed.
  • sortKey is a common metadata attribute name used for sorting as a sorting condition.
  • sort order indicates in what order as sorting conditions. In the example of FIG. 9, it is shown that the sort order is descending order (DESC), that is, the new arrival order, and the sort key is specified to be the public metadata start date / time (startDate). There is. In the example of FIG.
  • the common search condition list (predicateBag) is expressed in the form of a list of OR sets of common search conditions, and the relationship between a plurality of common search conditions is expressed by a logical expression.
  • the common search condition (predicate) constituting the common search condition list (predicateBag) is formed of three values of common search condition attribute name (key), operation (operation) and common search condition attribute value (value).
  • a common metadata attribute name is specified for the common search condition attribute name.
  • reserved words such as "LIKE" may be defined to indicate partial matches like SQL as well as inequality signs.
  • values as shown in FIG. 10 are set in the common search condition list (predicateBag) and the common search condition (predicate) included in the common search condition list (predicateBag).
  • "genre” which is a genre is specified as a common search condition attribute name (key)
  • a common genre code (“0x01010222") representing news / report is specified as a common search condition attribute value (value). It is done.
  • a genre code in which the expression method is unified in the receiving device 100 is referred to as a common genre code.
  • a common search condition attribute name a keyword "keyword” is specified, and as this common search condition attribute value (value), "major league” and "Japanese player” are specified.
  • the meaning of such common search conditions is as follows. It means that the genre is news or sports, and a keyword is searched for content including "Major League” and “Japanese players”. If such a common search condition is represented by a logical expression, it is represented, for example, as shown in FIG.
  • the common search condition list (predicateBag) is expressed in the form of a list of OR sets of common search conditions, and a configuration in which each OR set is AND-connected is used.
  • the configuration is not limited to this configuration, and a configuration capable of combining AND sets and OR sets in multiple stages as in SQL, that is, a more flexible logical expression may be adopted.
  • a common code set may be defined for common search condition attributes that can take a fixed number of data sets that can be expressed as an enumeration as a value.
  • the selection unit 102 acquires the common search query generated via the GUI (for example, the screen shown in FIG. 8) provided by the content / metadata display unit 101, and stores the service information stored in the service information storage management unit 203.
  • a service having service information including a corresponding genre corresponding to the common search condition attribute value (here, a common genre code) Choose
  • the selection unit 102 can If the category of the genre corresponding to the common search condition attribute value is included in one of the corresponding genres with reference to the corresponding genres included in the service information shown in, the service of this service information is searched for If one of the corresponding genres is selected and the genre subdivision corresponding to the common search condition attribute value is not included, the service of this service information is not selected as a
  • the selection unit 102 extracts a keyword from the metadata of the content, combines the common search condition attributes such as the keyword, the genre, etc.
  • the search query is generated, and the service information stored in the service information storage management unit 203 is referred to, and at least one of the common genre codes which are common search condition attribute values for “Genre” among the common search condition attributes Select the service having the corresponding service information including the genre subdivision as the corresponding genre.
  • the generation of the common search query may be triggered by an operation input from the user via the operation input unit, or may be triggered by some timing.
  • a plurality of services selected by the selection unit 102 may be selected, and the selected service is weighted based on the degree of agreement with the common search condition attribute value and the usage frequency of the service, and priority information is given. good.
  • the degree of match means, for example, a common genre code included as a common search condition attribute value, a video format, average content scale information, or, in the case of a paid service, a plurality of common condition attribute values such as price range information. It may be determined by a simple number of matches, or may be determined by calculating the degree of matching (simply, calculating the difference between the above-described average content scale information and price range information). It may be something.
  • reproduction history information and skip history information stored in the content viewing and skipping history accumulation management unit 202 are used. Further, an upper limit may be provided for the number of services to be selected, and the number of upper limits may not be selected. In this case, service selection may be performed based on the above-described priority information.
  • the service information of the selected service may be added to the common search query as one search condition, or may be treated separately from the common search query.
  • the second generation unit 103 acquires the common search query output from the content / metadata display unit 101 via the selection unit 102, and uses this to generate a search query for each service to be searched. At this time, the second generation unit 103 expresses the common search query as a logical expression based on the sum of products of common search conditions, and generates the search query for the service associated with the database management system.
  • the expression expression may be used as a restriction phrase of the SQL statement as it is.
  • the second generation unit 103 expands the logical expression by the above-mentioned sum and product into a product-sum system, A search query may be generated for each product term.
  • the selecting unit 102 can select a service as a search target service
  • the selected service is the search target service.
  • the second generation unit 103 transmits the service information to the service information storage management unit 203.
  • the search query may be generated for all the services for which is stored, or a predetermined number of services may be randomly selected, and the search query may be generated for each selected service.
  • the service is selected using the service usage frequency obtained using the reproduction history information and the skip history information stored in the viewing and skipping history storage management unit 202, and a search query is generated for each of the selected services.
  • the second generation unit 103 is an attribute conversion table that represents the correspondence between the common search condition attribute and the search condition attribute and a search that represents the correspondence between the common search condition attribute value and the search condition attribute value when generating the search query.
  • the common search query is converted into a search query according to the search form of the service by generating a search query corresponding to the search query format included in the service information from the common search query using the condition attribute value attribute value conversion table.
  • FIG. 12 is a diagram exemplifying a configuration in which the attribute conversion table and the attribute value conversion table are integrated.
  • (a) represents an attribute conversion table
  • (b) represents an attribute value conversion table.
  • the data configuration of the common metadata is as shown in FIG. 2
  • the data configuration of the common search query is as shown in FIG. 9,
  • the data configuration of the service information is as shown in FIG. .
  • FIG. 13 is a diagram illustrating common search conditions shown in the common search condition list (predicateBag).
  • the second generation unit 103 sets “genre” to “Category” based on the search condition attribute included in the service information and the attribute conversion table represented in (a) of FIG.
  • the second generation unit 103 generates a common genre code ("0x01010222") representing news / report based on the search condition attribute value included in the service information and the attribute value conversion table represented in (b) of FIG. Convert to the string "News”. Then, the second generation unit 103 generates a search query as shown in FIG.
  • the common genre code is not included as a search condition, or a character string corresponding to the common genre code is It is conceivable to substitute for the keyword to represent.
  • the second generation unit 103 searches for a search attribute name and a search attribute corresponding to the common genre code ("0x0102333") representing sports / baseball. Get the value and convert it to "VQ" and "baseball OR baseball" in this example. That is, the second generation unit 103 generates a search query as shown in FIG. 16 by replacing the search by the common genre code with the search by the keyword.
  • the search condition attribute name and the search condition attribute value corresponding to the common genre code do not exist.
  • the second generation unit 103 may notify the user by displaying on the display unit a message indicating that the search query can not be generated using the common genre code, or the above-described keyword generation.
  • a keyword matching the search condition attribute is searched, and if there is a corresponding keyword, a general search based on the keyword is performed using the keyword You may do it.
  • the search condition attribute corresponding to the common search condition attribute included in the common search query can be divided into a plurality of search queries, the designated original common search condition can be satisfied, the second generation unit 103 may generate a plurality of search queries from the common search query.
  • the execution control unit 104 determines the execution order of one or more search queries generated by the second generation unit 103. At this time, the execution control unit 104 may determine the execution order according to the number of search conditions applied to the search query, or the reproduction history information or skip history stored in the content viewing / skip history accumulation management unit 202 The order of execution may be determined using the frequency of use of services, which is determined using information. Alternatively, the execution control unit 104 may determine the execution order based on the response time obtained using the execution history information stored in the search query execution history storage management unit 205, or may store it in the keyword generation / storage management unit 204. The order of execution may be determined using weight information and statistical information added to the keyword information to be processed. In addition, the execution control unit 104 determines the actual execution order based on a more statically defined execution order policy, such as searching for services associated with the built-in database management system of the receiving apparatus 100 with the highest priority. It is good.
  • the acquisition unit 105 transmits the search query whose execution order has been determined by the execution control unit 104 to the content distribution servers 401 and 402 to execute the search query, and the metadata acquired as the execution result of the search query is transmitted to the content distribution server 401. , 402, and analysis processing is appropriately performed on the metadata to obtain common metadata.
  • the acquisition unit 105 stores the above execution result information including all or part of information included in the search query and the number of metadata received (number of acquisitions) in the search query execution history storage management unit 205.
  • the acquisition unit 105 analyzes the received metadata by morphological analysis or the like to extract a keyword, represent the keyword, and refer to the search condition or service information specified at the time of acquisition of the metadata.
  • the keyword generation / storage management unit 204 stores keyword information including the service identifier of the necessary search target service.
  • the content whose attribute is represented by the metadata acquired as described above is the content that matches the search condition. That is, the search query is executed in each service and the metadata is acquired, whereby the content matching the search condition is searched.
  • the receiving apparatus 100 has already been activated and can communicate with the content distribution servers 401 and 402 on the network 301 via the communication unit 106.
  • the content / metadata display unit 101 of the reception apparatus 100 displays some content on the display unit and reproduces the content.
  • a content search request message corresponding to the operation input is transmitted to the receiving device 100 (step S101).
  • the content search request message may simply indicate “request to search for content related to the content being reproduced” without including a specific search condition, or the keyword or the like.
  • the search condition may be included. Further, the screen shown in FIG. 8 may be displayed on the display unit of the receiving device 100, and the user may perform an operation input for specifying a search condition via the operation input unit on this screen.
  • the content search request message When the content / metadata display unit 101 of the receiving device 100 receives the content search request message, the content search request message only indicates that “the content related to the content being reproduced is requested to be searched”. Metadata corresponding to the content being reproduced is acquired from the metadata storage management unit 201 (step S102), and a common search query is generated using this (step S103). When the search condition is explicitly included in the content search request message, the receiving device 100 generates a common search query using the search condition.
  • the content / metadata display unit 101 outputs the common search query generated in step S103 to the selection unit 102 (step S104).
  • the common search query at this time is, for example, a logical expression such as Formula 1 below, with two genres (G1, G2), two keywords (K1, K2) and two credits (C1, C2) as search conditions. It shall be expressed as The logical expression of the common search query is called a search expression.
  • This search expression is generated by implicitly OR-connecting the same metadata attribute, and OR-connecting OR sets having different metadata attributes.
  • the method of generating the search expression is not limited to this.
  • all search condition attributes may be AND-connected, or all search condition attributes may be OR-connected.
  • variations of the plurality of search expressions may be included.
  • the search formula is a strict search condition that searches for content that is very similar to the content being played back, and it is expected that the number of hits will be small.
  • OR-connecting all search conditions only one search condition needs to be met, so the search conditions are loose, and there is a high probability that many contents will be hit.
  • the generation method adopted by the above-mentioned search expression is in an intermediate position of these.
  • the selection unit 102 receives the common search query output in step S104 as an input, and selects a service to be searched. Specifically, for example, when the genre (G1) designated as the search condition is “news / report” designated by the genre code, the selection unit 102 selects a service that provides the content related to the news. Do the processing. This is realized by the selection unit 102 acquiring service information including a genre code: G1 as a service attribute from the service information storage management unit 203. Further, the selection unit 102 may select a service to be a search target using the reproduction history information and the skip history information stored in the content viewing / skip history accumulation management unit 202.
  • the selection unit 102 indicates that the number of provided contents is equal to or more than the predetermined number among the services that provided the frequently used service, that is, the content whose reproduction is indicated by the reproduction history information and the skip history information. Select a service as a search target service.
  • the selection unit 102 acquires service information including a genre code: G1 as a service attribute from the service information storage management unit 203 (step S105), and the content distribution server 401 (hereinafter referred to as a service specified by the service information).
  • the service S1 is selected as the search target service
  • the content distribution server 402 (hereinafter referred to as “the service to be searched” is selected using the reproduction history information and the skip history information stored in the content viewing / skip history storage management unit 202).
  • the service S2 is selected (not shown in FIG. 17), and a metadata storage manager 201 (hereinafter referred to as a service S3), which is a local database service, is selected as a search target service.
  • the selection of the local database service may be implicitly specified, or may be automatically selected by the receiving device 100 in view of the cache status of metadata.
  • the selection unit 102 adds the selected service as a service condition to the search expression of the above-mentioned Expression 1 and updates it as Expression 2 below (Step S106).
  • the selection unit 102 outputs the common search query to the second generation unit 103 together with the service information of the service selected as the search target (step S107).
  • the second generation unit 103 develops the search query for each service, using the common search query and the service information represented by the search formula of Expression 2 output in step S107.
  • the second generation unit 103 indicates the search query expressed by the logical expression that is the search expression of Expression 2.
  • the logical expression is product term expanded, and each product term is used to generate a plurality of search queries from the common search query
  • the content distribution server 401 allows only specification of search conditions using URLs based on Web API of REST format
  • the content distribution server 402 is logical expression to HTTP request body based on Web API of SOAP format.
  • the selection unit 102 performs product term expansion of the search expression of Expression 2 and uses it for generating a search query.
  • the selection unit 102 tries to generate a search query using the search expression of Equation 2 as it is as a constraint phrase.
  • An example of the expansion result for each service from the common search query is as follows.
  • Search query for Web API-based content distribution server 401 (S1) (S1 * G1 * K1 * C1) (S1 * G1 * K1 * C2) (S1 * G1 * K2 * C1) (S1 * G1 * K2 * C2) ...
  • Search query (S2) for Web API-based content distribution server 402 (S2 * G1 * K1 * C1) (S2 * G1 * K1 * C2) (S2 * G1 * K2 * C1) (S2 * G1 * K2 * C2) ...
  • Search query (S3) for SQL-based local database service (metadata storage manager 201) (S3) * (G1 + G2) * (K1 + K2) * (C1 + C2)
  • the second generation unit 103 acquires service information corresponding to each of the products S1 and S2 subjected to the product term expansion from the service information storage management unit 203 (step S108), and sets the common search condition related to the services S1 and S2. , Convert to search query for each service.
  • the search condition to be actually applied to the search query is (K1 * C1) in the above example of the head.
  • the second generation unit 103 generates a search query to be transmitted to the corresponding content distribution server 401 using the two search conditions (step S109).
  • the search query is divided in the same manner as in the above example, even when the number of acquired metadata obtained as the search query execution result is included. Deployment needs to be carried out. Specifically, when the number of acquisitions of metadata, which is the execution result of a search query, is implicitly set to 50, depending on the service, there may be cases in which only acquisition with fewer than 50 cases is supported. is there. At this time, for example, the service S1 defines an upper limit of the number of acquired cases as 25 cases, provides an interface that specifies the offset of the acquired metadata as a result of the execution of the search query and specifies the number of cases by count.
  • the service information may also include a method of expanding a search query when there is no search condition that corresponds to such a common search condition.
  • the genre is not implicitly applied as a search condition to the service S2 selected according to the usage frequency, and in the example of the head related to the service S2 in the expansion result of the common search query described above, (G1 * K1 * C1 Is the search condition actually applied to the search query.
  • the second generation unit 103 expands the common search query into, for example, the following SOAP messages.
  • the genre code assignment system can be shared by the service S1 and the common search query, but if the service S2 has a system of its own genre code, the service information of the service S2 , And conversion table information for converting common genre codes such as G1 and G2 into genre codes in the system of the service S2.
  • the second generation unit 103 converts the genre code in the common system into the genre code of the system unique to the service S2 using the conversion table information included in the service information stored in the service information storage management unit 203, and converts this Use to generate a search query.
  • the second generation unit 103 uses the keyword information stored in the keyword generation / storage management unit 204 to set the genre code. Expand into keywords.
  • the keyword generation / storage management unit 204 represents a keyword extracted from the metadata acquired by the acquisition unit 105 by morphological analysis or the like, and refers to the search condition or service information specified when acquiring the metadata. Store keyword information including the service identifier of the service to be searched for Thereby, keyword information having a genre as a search condition attribute can be obtained, and the appearance frequency in a certain period can also be obtained.
  • the second generation unit 103 stores the keyword information stored in the keyword generation / storage management unit 204 and the service information storage management unit 203 using the genre code as a key when the service S2 can not specify a genre as a search condition.
  • the service information is used to generate an alternative keyword list that is a list of keywords that are alternatives to the genre.
  • the OR search of the service S2 can be realized by explicitly specifying the "OR" character string between the keywords.
  • search rules are included as part of service information as a search query format.
  • the service S1 is a general REST Web API and the service S2 is a general SOAP Web API, and the search query information is included in the URL.
  • the service S1 is a general REST Web API
  • the service S2 is a general SOAP Web API
  • the search query information is included in the URL.
  • such a service can be supported in the same manner as generation of a search query for a local database service.
  • the second generation unit 103 selects the expansion result ((S3) * (G1 + G2) * (K1 + K2) * (C1 + C2)) of the common search query described above “S3” is replaced with “S1 + S2” using the service information, and a SQL statement is generated from ((S1 + S2) * (G1 + G2) * (K1 + K2) * (C1 + C2)) obtained as a result.
  • keyword and credit are completely matching constraint clauses, but it may be changed to partial matching, or columns of titles and brief descriptions may be added to the range of keyword search. .
  • This is a deployment method that is necessary because in many cases the keyword provided from the content distribution server is insufficient when processing such as morphological analysis is not performed on the metadata. In this case, for example, the following SQL statement is used.
  • the second generation unit 103 similarly expands each into a search query for each service.
  • the second generation unit 103 outputs the generated search query list to the execution control unit 104 (step S110).
  • the execution control unit 104 determines the execution order of the plurality of search queries output in step S110 (step S111).
  • a method may be applied in which the execution order is increased by giving priority to those having a large number of applied search conditions. When all search conditions are AND-connected, when searching for "what relates to the content being played back", metadata with the highest degree of similarity is obtained although there are few search results.
  • a method may be applied which uses the reproduction history information and the skip history information stored in the content viewing / skip history accumulation management unit 202 to prioritize the search for the service with high usage frequency to raise the execution order.
  • the average response time or the average number of obtainable metadata can be obtained and used as a priority, and the higher the priority, the higher the execution order.
  • a method of determining the order of execution may be applied so that In the present embodiment, the execution control unit 104 determines the execution order based on the number of search conditions to be applied. Then, the execution control unit 104 sequentially outputs the search query to the acquisition unit 105 according to the determined execution order (step S112). Alternatively, the execution control unit 104 may collectively output a list of search queries to which execution order information representing the determined execution order has been added.
  • the acquisition unit 105 sequentially executes the search query output in step S112. Specifically, the search query is transmitted to the local database (metadata storage management unit 201) corresponding to the service S3, the content distribution server 401 corresponding to the service S1, and the content distribution server 402 corresponding to the service S2.
  • the search for the service S3 is realized by the connection to the database management system in the metadata storage management unit 201 and the issuance of the SQL statement generated as the search query (step S113).
  • the search for step S1 is realized by transmitting an HTTP request including the search query in the URL to the content distribution server 401 via the communication unit 106 and the network 301 (step S115).
  • the search for step S2 is realized by transmitting an HTTP request including the search query in the URL to the content distribution server 402 via the communication unit 106 and the network 301 (step S116).
  • the metadata storage management unit 201 executes the SQL statement and acquires the corresponding metadata, it returns this to the acquisition unit 105 (step S114).
  • the content distribution server 401 receives the search query via the network 301, the content distribution server 401 executes it to acquire the corresponding metadata, and transmits the metadata to the receiving device 100 (step S117).
  • the content distribution server 402 receives the search query via the network 301, the content distribution server 402 executes it to acquire the corresponding metadata, and transmits the metadata to the receiving apparatus 100 (step S118).
  • the acquisition unit 105 When the acquisition unit 105 receives metadata from each of the services S1, S2, and S3, the acquisition unit 105 analyzes the metadata as needed.
  • the metadata storage management unit 201 which is the service S3, is configured to return metadata in the common metadata format to the acquisition unit 105, analysis processing on metadata acquired from the service S3 is not necessary.
  • the metadata format of XML format unique to each service is adopted for the services S1 and S2, analysis processing is required for metadata acquired from these services.
  • the acquisition unit 105 acquires service information stored in the service information storage management unit 203 for each of the services S1 and S2 (step S119), and based on the metadata format included in the service information, the received metadata Analysis processing is performed, and the metadata is converted into metadata of the common metadata format, thereby generating common metadata (step S120).
  • the acquisition unit 105 analyzes the received metadata and at the same time analyzes a specific attribute (title or program description) of the metadata by morphological analysis or the like to extract a keyword, and represents the keyword, as well as the metadata
  • the keyword generation / storage management unit 204 stores keyword information including the search condition designated at the time of acquisition and the service identifier of the service to be searched necessary for referring to the service information. Then, the acquisition unit 105 outputs the generated common metadata to the content / metadata display unit 101 (step S121).
  • the content / metadata display unit 101 causes the display unit to display the metadata output in step S121, for example, according to the output order, by limiting the number of displayable cases (step S122). At this time, the content / metadata display unit 101 causes the display unit to display the metadata using the display attribute information stored in the content / metadata display unit attribute information storage management unit 206. If the metadata display format is in the ticker format (for example, the format in which the list of search results is automatically scrolled from right to left), there is no need to limit the number of items, and the content The metadata display unit 101 may sequentially display the metadata output by the acquisition unit 105. As a result, metadata associated with the content being reproduced and metadata retrieved according to the explicit search instruction are displayed on the screen of the display unit.
  • the ticker format for example, the format in which the list of search results is automatically scrolled from right to left
  • the receiving apparatus that receives content executes content search triggered by an instruction from the user.
  • Solve some problems that may arise in First when a receiver performs a cross-sectional search across multiple services in real time, the number of search queries that must be issued, and processing received, because there are many services to be searched. There is a problem that the total number of metadata that needs to be increased is enormous, and the execution of the cross search itself is practically difficult.
  • the content delivery server side not the receiving device side, executes a cross search of a plurality of services, Web pages provided by each service are cyclically acquired, temporarily stored in a database, and then SQL (Structured Query) is executed.
  • the selection unit 102 can solve the first problem by narrowing the search target service to a reasonable search range in which the search can be realized. That is, taking into consideration diversification and ubiquity of services for distributing content in the future, the number of services within the range of the processing capacity of the receiving apparatus can be reduced by narrowing the services themselves in the receiving apparatus as in the present embodiment. It is possible to perform cross-cutting searches across services.
  • the second generation unit 103 solves the second problem by expanding the search query for each service in a form as close as possible to the original search query using the common search query. That is, in the related art, when converting into a search query in a search form permitted by each service, the search intention in the original search formula is degenerated, and there is a risk that it becomes difficult to find the intended content. Events can be reduced.
  • FIG. 18 is a diagram showing a configuration of a receiving device 100 ′ according to the present embodiment.
  • a detection unit 109 Have In addition to the skip history storage management unit 202, the service information storage management unit 203, the keyword generation / storage management unit 204, the search query execution history storage management unit 205, and the content / metadata display unit attribute information storage management unit 206, a detection unit 109 Have.
  • the metadata storage management unit 201 b is connected to the communication unit 106 of the receiving device 100 ′, the metadata storage management unit 201 c is connected via the network 302, and the content distribution servers 401 and 402 are connected via the network 301. It is connected to the other content distribution server 403.
  • the metadata storage management unit 201 b is constructed on an external storage device connected to the receiving device 100 ′ by any communication cable, and is, for example, an external hard disk drive connected by a USB cable.
  • the metadata storage management unit 201c is constructed on another device existing on the network 302, and is, for example, a NAS (Network Access Storage) device.
  • the network 302 is, for example, a LAN (Local Area Network) that constitutes a home network.
  • the metadata storage management units 201 b and 201 c may take any form as long as they can be accessed from the receiving device 100 as a database management system. Similar to the metadata storage management unit 201, these are for managing metadata, and are local database services which are one of the services.
  • the detection unit 109 causes the service information storage management unit 203 to store an availability flag indicating availability of the service in association with the service information.
  • the detection unit 109 detects, for example, by periodically connecting to the service via the communication unit 106, or detects by asynchronous notification of availability information indicating availability from the service. Do.
  • the present embodiment does not touch on the procedure for detecting a situation where the use of the service is "impossible”, the processing procedure from the connection detection of the service to the reflection on the service information storage management unit 203 described below. It can be realized by following the same processing procedure as However, when determining that the use of the service is "impossible", a method is adopted in which a certain threshold value is provided based on the time out of communication and the number of attempts at failure.
  • the service information storage management unit 203 stores the above service information in association with the availability flag, and manages these.
  • the service information of the metadata storage management unit 201 and the service information of the metadata storage management units 201b and 201c have a parent-child relationship, and the parent service identifier of each service information of the latter has metadata storage.
  • the service identifier of the management unit 201 is set.
  • FIG. 19 is a flowchart showing a procedure of service detection processing for detecting available services in the metadata acquisition processing. It is assumed that the receiving device 100 ′ has already been activated and can communicate with the content distribution servers 401 to 403 on the network 301 via the communication unit 106. However, in the initial state of the present embodiment, the content distribution servers 401 to 403 are in a state accessible from the receiving device 100 ′, but on the external storage device connected to the receiving device 100 ′ by the USB cable. It is assumed that the metadata storage management unit 201 b and the metadata storage management unit 201 c on the NAS device are not yet connected to the receiving device 100 ′.
  • the communication unit 106 detects the connection of the USB cable, and a new external device
  • the detection unit 109 is notified of the connection (step S202).
  • the detection unit 109 checks whether the metadata storage management unit 201b exists on the connected external storage device (step S203). This is based on the premise that the metadata storage management unit 201b is always constructed in a specific path on the external storage device, and then by confirming the presence or absence of the metadata storage management unit 201b as a database management system.
  • the service information storage management unit 203 may use the device identifier for identifying the metadata storage management unit 201b newly constructed without fixing the path, and the database path generated at that time. It may be realized by storing it and referring to this information.
  • the detection unit 109 detects that the metadata storage management unit 201b is present, it is stored in the service information storage management unit 203 in association with the service information of the metadata storage management unit 201b.
  • the presence / absence flag is updated to indicate that the service can be used (step S204). Thereby, in the receiving device 100 ′, the metadata storage management unit 201b is validated as an available service.
  • the detection unit 109 detects that the NAS device is connected to the network 302 and the metadata storage management unit 201c becomes available according to the same procedure (steps S205 to S208).
  • the service information corresponding to each of the metadata storage management units 201b and 201c stored in the service information storage management unit 203 uses the service identifier of the metadata storage management unit 201a as a parent service identifier. Each contains.
  • the user performs an operation input for searching for content via the operation input unit, and
  • the data display unit 101 receives the content search request message
  • the data display unit 101 generates a common search query.
  • the common search query generated here has two genres (G1, G2), two keywords (K1, K2), and two credits (C1, C2) as search conditions. It is assumed that it is expressed by a search expression expressed by the logical expression of the above-mentioned Expression 1.
  • the selection unit 102 selects a service to be searched using the common search query as an input, but here, the local database service (metadata storage management unit 201 As in the first embodiment, only the service S3) is selected. Then, the selection unit 102 acquires the service information of the metadata storage management unit 201 from the service information storage management unit 203 and also sets the service information in which the service identifier of the metadata storage management unit 201 is set as the parent service identifier. get. Here, each service information of the metadata storage management units 201b and 201c, which is a dependent service having the metadata storage management unit 201 as a parent service, is acquired. Then, as in step S106 of FIG.
  • the selection unit 102 adds the selected service as a service condition to the search expression of Expression 1 and updates the search service as Expression 3 below.
  • This search formula corresponds to a common search query.
  • Search formula: S3 * (G1 + G2) * (K1 + K2) * (C1 + C2) formula 3
  • the selection unit 102 adds the service information of the dependent service to the common search query, adds the service information to the common search query, and outputs the common search query to the second generation unit 103.
  • FIG. 20 is a diagram illustrating a procedure of search query generation processing for generating a search query after service detection processing in the metadata acquisition processing.
  • the second generation unit 103 acquires service information of the metadata storage management unit 201 as the parent service (step S211).
  • the service information of the dependent services here, the metadata storage management units 201b and 201c
  • the second generation unit 103 first attaches each database management system of the metadata storage management units 201b and 201c to the database management system of the metadata storage management unit 201, and can be accessed in an integrated manner. (Steps S214 to S215).
  • the second generation unit 103 generates an integrated search SQL statement in which each database management system is linked by UNION (step S216).
  • the metadata storage management units 201b and 201c respectively have database names 'SUB_B' and 'SUB_C' as service information of dependent services, and are attached using this information.
  • step S213 when the detecting unit 109, not the second generating unit 103, detects that the NAS device is connected to the network 302 and the metadata storage managing unit 201c becomes available, It may be performed simultaneously with the updating of the availability flag stored in the service information storage management unit 203 in association with the service information of the data storage management unit 201c.
  • the second generation unit 103 generates a SQL statement as a search query as described above. Thereafter, the second generation unit 103 outputs the generated SQL statement to the execution control unit 104 (step S217). If there are a plurality of SQL statements, the execution control unit 104 determines the execution order of the plurality of SQL statements in the same manner as in steps S111 to S112 of FIG. It sequentially outputs to the acquisition unit 105. Here, assuming that the SQL statement is 1, this is output to the acquisition unit 105. The acquisition unit 105 executes the SQL statement output from the second generation unit 103, appropriately receives metadata from the metadata storage management units 201, 201b, and 201c, and, as in step S120 of FIG. Analysis processing is performed on metadata as necessary to generate common metadata.
  • the acquisition unit 105 outputs the generated common metadata to the content / metadata display unit 101, as in step S121 of FIG.
  • the content / metadata display unit 101 displays the output metadata on the display unit, for example, in accordance with the output order, as in step S122 of FIG.
  • the detection unit 109 dynamically performs addition and activation of the search target services, and the second generation unit By generating a search query according to the hierarchical relationship between services, it is possible to realize a cross-sectional search across a plurality of services limited to available services.
  • Fig. 21 is a diagram showing the configuration of a receiving apparatus 100 "according to the present embodiment.
  • the content 100" includes a content / metadata display unit 101, a selection unit 102, a second generation unit 103, Execution control unit 104, acquisition unit 105, communication unit 106, metadata storage management unit 201, content viewing / skip history storage management unit 202, service information storage management unit 203, keyword generation / storage management unit 204, search query execution history storage
  • the filter unit 107 and the display control unit 108 are included.
  • the communication unit 106 of the receiving apparatus 100 ′ ′ is connected to other content distribution servers 403 and 404 of the content distribution servers 401 and 402 via the network 301.
  • the second generation unit 103 generates a search query for each service to be searched and outputs the search query to the execution control unit 104, as in the first embodiment described above. Furthermore, in the present embodiment, the second generation unit 103 outputs, to the acquisition unit 105, a non-applied search condition list representing a search condition that can not be applied to the search query for the search target service. If a service does not have a search condition attribute that matches the common search condition, but has a metadata attribute that matches the common search condition, the common search condition corresponds to a search condition that can not be applied in the search query. Information representing this search condition is a non-applied search condition list.
  • the acquisition unit 105 sequentially executes the search query output from the execution control unit 104 to acquire metadata, and appropriately analyzes the metadata. Go and get common metadata.
  • the acquisition unit 105 outputs the unapplied search condition list output from the second generation unit 103 to the filter unit 107.
  • the filter unit 107 applies the search condition that can not be applied in the search query, which is indicated by the unapplied search condition list output by the acquisition unit 105, to the common metadata output by the acquisition unit 105, Filter That is, the filter unit 107 searches the common metadata output by the acquisition unit 105 for metadata matching the search condition that can not be applied in the search query, and deletes metadata not matching the search condition. Filter common metadata. As a result, the corresponding content is narrowed down.
  • the age restriction information can not be specified as a search query
  • the acquiring unit 105 Common metadata obtained by executing a search query excluding age restriction information on the service and performing analysis processing as appropriate, and a non-applied search condition list representing age restriction information as a search condition that can not be applied Output to the filter unit 107.
  • the filter unit 107 searches for the corresponding common metadata by referring to the age restriction information indicated by the non-applied search condition list and the age restriction information included as an attribute in the output common metadata.
  • the common metadata obtained is the result of filtering.
  • the filter unit 107 filters the metadata output from the acquisition unit 105.
  • the filter unit 107 outputs the common metadata obtained as a result of the filtering to the display control unit 108.
  • the display control unit 108 is common metadata output from the filter unit 107.
  • the display control unit 108 merges a set of common metadata respectively received from a plurality of services, and merges the common search conditions included in the common search query.
  • the metadata to be displayed on the content / metadata display unit 101 is selected using the search condition applicable only to the common metadata set.
  • the common search condition includes an alignment condition
  • the display control unit 108 performs alignment processing to align the merged metadata in accordance with the alignment condition, and the metadata after alignment processing is displayed on the display unit. Display.
  • the display control unit 108 collectively performs alignment processing for each fixed number, and at this time, caches a fixed number of metadata to be arranged in the metadata storage management unit 201.
  • the display control unit 108 has an on-memory database (not shown) having the same table configuration as the metadata storage management unit 201, and sequentially stores metadata output from the filter unit 107 in the on-memory database.
  • Step S101 and S103 to S104 are substantially the same as those in the first embodiment described above.
  • the common search query includes one genre (G1), one title (T1), one content scale (D1), one release date (release / broadcast start date or release / broadcast).
  • G1 genre
  • T1 title
  • D1 content scale
  • O1 release date
  • O1 release / broadcast start date or release / broadcast
  • Search formula: (G1) * (T1) * (D1) * (O1) formula 4
  • T1 represents some keyword (for example, "ABC") included in the movie title.
  • D1 defines the upper limit of the content scale such as "within 60 minutes”.
  • the content scale may also define a range such as "60 minutes to 120 minutes", or may define a lower limit such as "30 minutes or more”.
  • the common search condition may include the search condition based on such inequality signs.
  • O1 is, for example, “new arrival order”, etc., and “new arrival order” is specified as the alignment condition also here.
  • the selection unit 102 receives the common search query output in step S104, performs the processes of steps S105 to S106 as in the first embodiment described above, and selects a service to be searched. .
  • the genre code "movie”
  • the selection criteria are realized by the service information storage management unit 203 managing, as service information, search condition attributes such as genres targeted by the service, which is the first embodiment and description. I will omit it because it overlaps.
  • step S107 the selection unit 102 outputs this as a common search query to the second generation unit 103 together with the service information of the service selected as the search target. (S4 + S5) * (G1) * (T1) * (D1) * (O1) formula 5
  • the second generation unit 103 develops the search query for each service using the common search query and the service information represented by the search formula of Expression 5 output in step S107.
  • both the content distribution servers 403 and 404 allow only specification of search conditions using URLs based on Web API of REST format, and search like SQL (allows logical expression) search It shall not correspond to the description of the condition.
  • the second generation unit 103 performs product term expansion of the search expression of Expression 5 to obtain Expressions 6 and 7 below. (S4) * (G1) * (T1) * (D1) * (O1) formula 6 (S5) * (G1) * (T1) * (D1) * (O1) formula 7
  • the second generation unit 103 acquires service information of the content distribution server 403 which is the service S4 and service information of the content distribution servers 403 and 405 which is the service S5 from the service information storage management unit 203 from the respective formulas.
  • An actual search query (URL) is generated respectively (step S109).
  • the title and the genre can be specified as the search condition, but the alignment condition by the content scale and the release date can not be specified as the search condition.
  • the second generation unit 103 uses the service information stored in the service information storage management unit 203 to determine the supported search condition attribute.
  • the content distribution server 404 can designate an alignment condition by genre, but can not designate an alignment condition by title, content scale, and release date as a search condition.
  • the second generation unit 103 can designate a keyword as a search condition, and the metadata obtained as the execution result of the search query includes the content measure, the title, and the release. Recognize that the date and time information is included.
  • the second generation unit 103 outputs the search query list generated in step S109 to the execution control unit 104 (step S110). Furthermore, the second generation unit 103 outputs, to the acquisition unit 105, a non-applied search condition list representing a search condition that can not be applied to the search query for the service to be searched. When there is no search condition that can not be applied to the search query for the service to be searched, the second generation unit 103 may not output the non-applied search condition list to the acquisition unit 105, An unapplied search condition list in which null values are set may be output to the acquisition unit 105.
  • the execution control unit 104 performs the processing of steps S111 to S112 as in the first embodiment described above, determines the execution order of the search query, and sequentially outputs the search query to the acquisition unit 105 according to the determined execution order. I will.
  • the acquisition unit 105 sequentially executes the output search query.
  • the acquisition unit 105 transmits a search query to the content distribution server 403 corresponding to the service S4 and the content distribution server 404 corresponding to the service S5 (steps S130 to S131). This is realized by transmitting an HTTP request including the search query in the URL via the communication unit 106.
  • the content distribution server 403 When the content distribution server 403 receives the search query via the network 301, the content distribution server 403 executes the search query, acquires the corresponding metadata, and transmits the metadata to the receiving device 100 ′ ′ (step S132).
  • the content distribution server 404 receives the search query via the network 301, the content distribution server 404 executes the search query to acquire the corresponding metadata, and transmits the metadata to the receiving device 100 ′ ′ (step S133).
  • the acquisition unit 105 When the acquiring unit 105 receives metadata from each of the content distribution server 403 that is the service S4 and the content distribution server 404 that is the service S5, the acquisition unit 105 appropriately performs analysis processing on the metadata, and sets of common metadata And sequentially output them to the filter unit 107, and output the unapplied search condition list output from the second generation unit 103 to the filter unit 107 (step S301).
  • the filter unit 107 acquires the set of common metadata output in step S301 and, when appropriately acquiring the non-applied search condition list, performs filter processing using these (steps S302 to S311).
  • FIG. 24 is a flowchart showing a detailed procedure of the filtering process performed by the filter unit 107.
  • the metadata output from the acquisition unit 105 may be input to the filter unit 107, and the non-applied search condition list may be input (step S11).
  • the filter unit 107 analyzes the information input in step S11 (step S12), and determines whether a non-applied search condition list is input (step S13).
  • the filter unit 107 determines that the non-applied search condition list is not input. In this case (step S13: NO), the filter unit 107 outputs the metadata input in step S11 to the display control unit 108 without performing the filter process (step S17).
  • the filter unit 107 applies the search condition indicated by the non-applied search condition list to the metadata input in step S11. , And filter the metadata (step S14).
  • the search condition that can not be applied to the content distribution server 403 is the alignment condition by the content scale and the release date.
  • the search conditions that can not be applied are alignment conditions by title, content scale, and release date.
  • the filter unit 107 filters the common metadata that matches the search condition excluding the alignment condition among the search conditions that can not be applied, by searching from the common metadata set (step S14).
  • the reason for excluding the alignment condition is that it can be applied only after merging the sets of common metadata input separately.
  • the search for example, with regard to the content distribution server 404, since the title is replaced with a keyword as a search condition and a search is performed, the content distribution server 404 executes a search query implicitly as a result of full text search It returns as a result.
  • the set of metadata received by the receiving device 100 ′ ′ is not limited to the one in which the designated keyword “ABC” is included in the metadata attribute “title”, but the metadata attribute “general description” or “keyword” Also, the one that includes the specified keyword “ABC” is also mixed.
  • the filter unit 107 extracts the one including "ABC” only in the "title”. Furthermore, in this, the content is filtered by narrowing down to the one of “within 60 minutes”. In this manner, the filter unit 107 searches for common metadata that matches the search condition with reference to the value of each common metadata attribute included in the common metadata.
  • the filter unit 107 determines whether the number of common metadata obtained as a result of the search has reached a predetermined number (step S15). If the number is smaller than the predetermined number, the filter unit 107 requests the acquisition unit 105 to further acquire metadata (step S16). For example, even if the acquisition unit 105 acquires 50 pieces of metadata from the content distribution server 404, the acquisition unit 105 may narrow down to, for example, less than 10 as a result of filtering.
  • the filter unit 107 filters the acquisition unit 105 in step S 16. Feed back the results, and request further acquisition of metadata.
  • the acquisition unit 105 receives feedback and the search query specifying the 51 to 50 cases Send again. If a total of 100 metadata items are requested, for example, if 50 results are obtained and filtered, then the acquisition unit assumes that the number is reduced to 20%, and the total is Multiple search queries may be issued simultaneously so that there are 250 cases.
  • the search condition that can not be applied to the search query is also used in the filtering by the filter unit 107 in the content distribution server 403, it is the same as the case of the content distribution server 404, so the description will be omitted. Then, the filter unit 107 outputs the common metadata obtained as a result of the search in step S14 or the common metadata obtained as a result of the search in steps S14 and S16 to the display control unit 108 (step S17).
  • Step S303 corresponds to step S14 described above
  • step S304 corresponds to S17 described above
  • steps S305 to S306 correspond to step S16 described above.
  • Steps S308 to S311 are substantially the same as steps S302 to S305. As described above, the alignment condition according to the release date has not been applied up to this stage.
  • the display control unit 108 merges the common metadata individually output from the filter unit 107 (step S312), and performs alignment processing to align the merged metadata in accordance with the alignment condition described above (step S313) .
  • the display control unit 108 divides the metadata sequentially output from the filter unit 107 by a predetermined time, and the metadata output from the filter unit 107 during that time is in descending order according to the release date, that is, new arrival Sorting process is performed at once to arrange in order (batch process).
  • step S21 When the display control unit 108 detects that an operation input requesting to search for content is performed through the operation input unit (step S21), a timer for a trigger (search start trigger) for performing batch processing of metadata Are reset and the timer is counted (step S22). While the timer count reaches the preset threshold (step S23: YES), the display control unit 108 sequentially stores the metadata output from the filter unit 107 in the batch processing cache area. (Step S25). Although the substance of the cache area for batch processing is assumed to be an on-memory database, it is not limited to this. Then, when the count of the timer reaches the threshold, the display control unit 108 collectively performs the sorting processing so that the metadata stored in the batch processing cache area is arranged in descending order according to the disclosure date, that is, in the arrival order. .
  • step S313 the display control unit 108 selects a predetermined number of upper metadata from the metadata obtained as a result, and outputs the selected metadata to the content / metadata display unit 101 (step S314).
  • the filter unit 107 performs the search based on the excluded search condition on the metadata, which is the execution result of the search query from which a part of the search conditions is received from each of the plurality of services. Filtering is performed, and the display control unit 108 performs alignment processing.
  • a search query for searching for desired content should correspond to the search interface of each service. Even if it can not, it is possible to realize a search that maintains as much as possible the search intention in the original search formula for searching for the desired content.
  • the present invention is not limited to the above embodiment as it is, and at the implementation stage, the constituent elements can be modified and embodied without departing from the scope of the invention.
  • various inventions can be formed by appropriate combinations of a plurality of constituent elements disclosed in the embodiments. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, components in different embodiments may be combined as appropriate. In addition, various modifications as exemplified below are possible.
  • the various programs may be read by a computer such as a CD-ROM, a flexible disk (FD), a CD-R, a DVD (Digital Versatile Disk), etc. in an installable or executable file format. It may be configured to be recorded as a possible recording medium and provided as a computer program product.
  • the service information may be stored in advance in the service information storage management unit 203 as a preset, or may be provided from the corresponding content distribution server 401 or 402 and the service information storage management unit You may make it memorize
  • the service selected as the search target is added to the search formula as the common search condition in step S106 of FIGS. 17 and 22.
  • the present invention is not limited to this.
  • the selected service information may be separately input to the second generation unit 103 in the subsequent stage.
  • the search condition generated by the content / metadata display unit 101 or specified by the user without the selection unit 102 is directly generated by the second generation unit 103 in the subsequent stage. It may be output to
  • the services to be searched may be fixed, for example, all services whose service information is stored in the service information storage management unit 203.
  • the content / metadata display unit 101 may be provided with an interface through which the user selects a service to be searched, and the service selected via this interface may be set as a service to be searched.
  • the upper limit of the service selected as search object may be provided, and it is not necessary to provide.
  • a fixed value may be defined internally as the value of the upper limit, or the receiving apparatus 100 may be provided with an interface that allows the user to set the value of the upper limit.
  • the receiving device executes the search query to acquire the metadata from the content distribution server that stores the content or the metadata of the content in a searchable state.
  • the present invention is not limited to this, and metadata may be acquired via an information processing apparatus that stores at least metadata of content in a searchable state.
  • the receiving apparatus may separately obtain, from the service, the content whose attribute is represented by the metadata after obtaining the metadata from the service.
  • the execution control unit 104 determines the execution order of the search query generated by the second generation unit 103, and the acquisition unit 105 executes the search query according to the execution order.
  • the receiving device 100 may not include the execution control unit 104, and the acquisition unit 105 may execute the search queries generated by the second generation unit 103 in the order of generation.
  • both the services S1 and S2 exist on the network 301, they may exist on different networks.
  • one may exist on the Internet, and the other may exist on the NGN (Next Generation Network), or may exist on the Home Network.
  • NGN Next Generation Network
  • each service can be set as a search target. The same applies to the second and third embodiments described above.
  • the receiving device 100 ′ includes one search query including hierarchical relation information as a search condition attribute based on the search query format included in the service information (see FIG.
  • a determination unit may be further provided to determine whether to generate a single SQL statement or to generate a search query for each service whose hierarchical relationship is identified by the hierarchical relationship information.
  • the second generation unit 103 may generate a search query using the common search query generated by the content / metadata display unit 101 according to the determination of the determination unit.
  • the acquisition unit 105 outputs the analysis result of the metadata to the filter unit 107.
  • the acquisition unit 105 outputs the result to the display control unit 108 without passing through the filter unit 107. You may
  • the second generation unit 103 determines that the search condition attribute is applicable to the received metadata as a filter. This common search condition attribute may be output to the filter unit 107.
  • the method (batch process) in which the display control unit 108 determines a set of common metadata to be batch-processed as a target of the alignment process is divided at a constant time.
  • it may be divided by a predetermined number, or may be divided by a predetermined number for each service to be searched.
  • Various methods are applicable to the determination of the unit to be collectively processed in this manner.
  • the display control unit 108 does not select a predetermined number of common metadata higher than the common metadata after the alignment processing, for example, Based on playback history information and skip history information stored in the content viewing / skip history storage management unit 202, and keyword information stored in the keyword generation / storage management unit 204, priority is given to the content of the service with a high frequency of playback. Alternatively, common metadata corresponding to the content may be selected in order.
  • the reception device 100 ′ ′ further has a function of analyzing the preference of the user using the reproduction history information and the skip history information stored in the content viewing / skip history accumulation management unit 202, and the display control unit 108
  • the user's preference may be used to prioritize content with a high degree of user preference, and common metadata corresponding to the content may be sequentially selected, or search for content related to the content being reproduced.
  • the function of calculating the similarity between the metadata attribute of the metadata of the content being played back and the metadata attribute of the metadata stored in the metadata storage management unit 201 is received by the receiving device 100 ′ ′. , And gives priority to this highly similar content, and sequentially selects common metadata corresponding to the content. It may be.
  • the display control unit 108 causes the display unit to display, for example, 20 cases, and at the same time, converts a predetermined number of common metadata from the 21 cases that can be referred to subsequently. It may be cached on the on-memory database of the data storage management unit 201 or the display control unit 108 itself. In this case, similar to the selection of the metadata to be displayed, the display control unit 108 uses the reproduction history information and the skip history information stored in the content viewing / skip history storage management unit 202 to allow the user to trace the meta data. The number of data may be stored, and the number of data to be cached may be determined using this number.
  • the display control unit 108 performs alignment processing on the common metadata output from the filter unit 107 in accordance with the specified alignment conditions such as alignment conditions based on the release date and time. Did.
  • the present invention is not limited to this, for example, using the user's preference analyzed using the similarity to the content being played back, the playback history information and the skip history information stored in the content viewing / skipping history storage management unit 202
  • alignment processing may be performed on the common metadata output from the filter unit 107.
  • the non-applied search condition list is input to the filter unit 107 via the acquisition unit 105, but the second generation unit 103 directly inputs the filter condition to the filter unit 107. It may be done.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 受信装置100は、サービス情報を記憶するサービス情報蓄積管理部203と、コンテンツを検索するための検索条件を表す検索クエリであって、当該受信装置100において表現方法を統一した共通検索条件属性及び当該共通検索条件属性のとり得る値である共通検索属性値の対を少なくとも1つ以上含む共通検索クエリを生成する第1生成部101aと、生成された共通検索クエリを用いて、サービス情報によって示される検索形態に応じた検索クエリを生成する第2生成部103と、生成された検索クエリを、サービス情報によって示される接続方法に基づいて、各サービスへ送信し、検索クエリの実行の結果得られたメタデータを通信部106を介して各サービスから受信する取得部105とを備える。

Description

受信装置
 本発明は、受信装置に関する。
 近年、インターネット上で映像などのコンテンツを配信するサービスやコンテンツを共有するサービスが多数提供されている。このようなサービスの中には、様々なジャンルのコンテンツを単一の配信事業者が提供するだけでなく、例えばスポーツ、ニュース、音楽、映画などの専門性を有するジャンルに特化したものがある。このようなサービスは今後も増加していくことが予想される。また、インターネットのみならず、NGN(Next Generation Network)という帯域保証された閉域IP網上においても、高品質な映像を提供するサービスが開始されており、従来型の地上波、BS、CS放送サービスを加えると、ユーザがアクセス可能なコンテンツの数は爆発的に増大している。更に、記憶デバイスの大容量化や低廉化が進み、映像を再生するAV機器のローカルディスク内に蓄積可能なコンテンツの数も膨大になっている。こうしたサービスの多様化と遍在化、コンテンツの爆発的な増大に伴い、ユーザが視たいコンテンツを効率よく発見することが非常に難しくなってきている。このようなことから、選択されたコンテンツに関連するコンテンツを、コンテンツのメタデータを用いてローカルディスクやネットワークにおいて検索し、コンテンツの表示を制御する技術が開発されている(例えば特許文献1参照)。
特開2008-227947号公報
 しかし、特許文献1の技術では、ネットワークにおいてコンテンツを検索する際に、ネットワーク上に存在するサービスによっては、コンテンツを検索することができない恐れがある。即ち、各サービスによって、例えば、許容される検索条件や、メタデータのフォーマットや、伝送プロトコルや、検索可能なコンテンツのジャンルや、コンテンツ及びメタデータを検索するための検索式などの検索形態が異なり得る。検索条件を例にとると、あるサービスでは、キーワードによる検索しか許容していないが、別のサービスでは、キーワードによる検索に加えてジャンルによる検索を許容していることがある。また、ジャンルによる検索を許容しているサービス間で、ジャンルの定義が異なることが多い。また、キーワードによる検索がメタデータの全文検索を暗黙的に指すサービスが多い一方で、タイトル、概要説明、キーワード、出演者をキーワードとの指定により検索可能なサービスもある。こうしたサービス毎の多様性を考慮すると、複数のサービス間に跨った横断的な検索をコンテンツの受信装置で実行する際に、所望のコンテンツを検索するための検索式を各サービスの検索形態に合わせる必要がある。しかし、所望のコンテンツを検索するための検索式を、各サービスの検索形態に合わせた検索式に齟齬のない形で射影することは困難であった。このため、それぞれ検索形態の異なる複数のサービスにおいては、ユーザの所望するコンテンツを正確に検索することができない恐れがあった。
 本発明は、上記に鑑みてなされたものであって、複数の異なるサービスにおいてコンテンツを検索する際に、各サービスにおける検索形態が異なったとしても、ユーザの所望するコンテンツを検索可能な受信装置を提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、受信装置であって、コンテンツの属性を表す属性情報を検索可能な状態で記憶している装置であってネットワークを介して接続可能な記憶装置における検索形態と当該記憶装置に接続するための接続方法とを表すサービス情報を記憶する記憶部と、コンテンツを検索するための検索条件を表す検索クエリであって、前記属性のうちいずれかを表す検索条件属性を当該受信装置において表現方法を統一した共通検索条件属性及び当該共通検索条件属性のとり得る値である共通検索属性値の対を少なくとも1つ以上含む共通検索クエリを生成する第1生成部と、生成された前記共通検索クエリを用いて、前記サービス情報によって示される検索形態に応じた検索クエリを生成する第2生成部と、生成された前記検索クエリを、前記サービス情報によって示される接続方法に基づいて、前記記憶装置へ送信する送信部と、前記検索クエリの実行の結果得られた前記属性情報を前記記憶装置から受信する受信部とを備えることを特徴とする。
 本発明によれば、受信装置において、複数の異なるサービスにおいてコンテンツを検索する際に、各サービスにおける検索形態が異なったとしても、ユーザの所望するコンテンツを検索可能になる。
第1の実施の形態にかかる受信装置100の機能的構成を例示する図。 共通メタデータのデータ構成を例示する図。 XML形式で表現される共通メタデータを例示する図。 再生履歴情報又はスキップ履歴情報のデータ構成を例示する図。 サービス情報のデータ構成を例示する図。 キーワード情報のデータ構成を例示する図。 実行結果情報のデータ構成を例示する図。 検索条件を指定するための画面を例示する図。 共通検索クエリのデータ構成を例示する図。 共通検索条件リストに示される共通検索条件を例示する図。 論理式で表される共通検索条件を例示する図。 属性変換テーブル及び属性値変換テーブルを統合的に構成した場合の構成を例示する図。 共通検索条件リストに示される共通検索条件を例示する図。 検索クエリを例示する図。 共通検索条件リストに示される共通検索条件を例示する図。 検索クエリを例示する図。 受信装置100の行うメタデータ取得処理の手順を示すフローチャート。 第2の実施の形態にかかる受信装置100´の構成を示す図。 メタデータ取得処理において、利用可能なサービスを検出するサービス検出処理の手順を示すフローチャート。 メタデータ取得処理において、サービス検出処理後に検索クエリを生成する検索クエリ生成処理の手順を示すフローチャート。 第3の実施の形態にかかる受信装置100″の構成を示す図。 受信装置100″の行うメタデータ取得処理の手順を示すフローチャート。 受信装置100″の行うメタデータ取得処理の手順を示すフローチャート。 フィルタ部107が行うフィルタ処理の詳細な手順を示すフローチャート。 表示制御部108が行う整列処理の詳細な手順を示すフローチャート。
 以下に添付図面を参照して、この発明にかかる受信装置の実施の形態を詳細に説明する。
[第1の実施の形態]
 まず、本実施の形態にかかる受信装置のハードウェア構成について説明する。本実施の形態の受信装置は、装置全体を制御するCPU(Central Processing Unit)等の制御部と、各種データや各種プログラムを記憶するROM(Read Only Memory)やRAM(Random Access Memory)等の主記憶部と、コンテンツなどの各種データや各種プログラムを記憶するHDD(Hard Disk Drive)やCD(Compact Disk)ドライブ装置等の補助記憶部と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、受信装置には、情報を表示する表示部と、ユーザの指示入力を受け付けるキーボードやマウスやリモートコントローラ(リモコン)等の操作入力部と、外部装置との通信を制御する通信I/F(interface)とが有線又は無線により各々接続される。外部装置との通信は、ネットワークを介して行う。ネットワークとは、例えば、LAN(Local Area Network)、イントラネット、イーサネット(登録商標)、インターネット、WAN(Wide Area Network)又は品質保証された閉域網NGN(Next Generation Network)などである。受信装置は、例えば、パーソナルコンピュータ、デジタルテレビ、ハードディスクレコーダ、STB(Set Top Box)、携帯電話のようなモバイルデバイスで実現される。このような受信装置は、補助記憶部に記憶されるコンテンツやネットワークを介して外部装置からコンテンツを取得したり、コンテンツの属性を表す属性情報であるメタデータを取得してこれを用いてコンテンツを取得したりし、コンテンツを再生する。尚、本実施の形態においては、コンテンツは、映像を表すものであるとするが、これに限らず、音楽、画像、書籍などを表す他の種類のコンテンツであっても良い。
 次に、このようなハードウェア構成において、受信装置のCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される各種機能について説明する。図1は、受信装置100の機能的構成を例示する図である。受信装置100は、コンテンツ・メタデータ表示部101、選択部102、第2生成部103、実行制御部104、取得部105、通信(送信/受信)部106、メタデータ蓄積管理部201、コンテンツ視聴・スキップ履歴蓄積管理部202、サービス情報蓄積管理部203、キーワード生成・蓄積管理部204、検索クエリ実行履歴蓄積管理部205及びコンテンツ・メタデータ表示部属性情報蓄積管理部206を有する。コンテンツ・メタデータ表示部101、選択部102、第2生成部103、実行制御部104、取得部105及び通信部106は、CPUのプログラム実行時にRAMなどの主記憶部上に生成されるものである。メタデータ蓄積管理部201、コンテンツ視聴・スキップ履歴蓄積管理部202、サービス情報蓄積管理部203、キーワード生成・蓄積管理部204及び検索クエリ実行履歴蓄積管理部205は、補助記憶部に構築されるデータベース管理システムである。これは、XMLデータベースであっても良いし、リレーショナルデータベースであっても良い。また、これは、単一のデータベース管理システムで構築されている必要はなく、複数のデータベース管理システム、例えば、SQLite3、Oracle、MySQLなどを併用しても良い。また、1つの物理的な補助記憶部上に構築されるようにしても良いし、NASやSANといった複数の物理的な補助記憶部をデータベース管理システムとして利用しても良い。また、これらの蓄積管理部は、データベース管理システムではなく、各蓄積管理部に各々記憶されるデータである単位情報(エントリ)を取得できる手段を備えていれば、単なるCSV形式などのファイル群で構成されていても良い。
 通信部106は、ネットワーク301と接続されており、ネットワーク301に接続されたコンテンツ配信サーバ401,402と通信を行なうためのネットワークインタフェースである。本実施の形態においてはこのネットワークインタフェースは1つであるとするが、これに限らず、複数であっても良い。コンテンツ配信サーバ401,402は、コンテンツやコンテンツのメタデータを検索可能な状態で記憶している記憶装置であり、ネットワーク301を介して受信装置100に送信するインタフェースを有している。このインタフェースは、URL(Uniform Resource Locator)に検索クエリの文字列を含め、HTML(HyperText Markup Language)のようなWebブラウザを介して表示することを想定したハイパーテキストでメタデータを送信するものであっても良いし、RSSのようにXML(Extensible Markup Language)ドキュメントで送信するものであっても良い。また、SOAP(Simple Object Access Protocol)のような、HTTPのリクエストボディ、レスポンスボディを利用して検索クエリの情報と検索クエリの実行の結果である検索結果のメタデータを送信するものであっても良い。本実施の形態では、コンテンツ配信サーバ401,402が、こうしたTCP/HTTPプロトコルをベースとしたテキスト形式のユニキャスト通信で、メタデータを送信することを想定しているが、これらに限定されるものではない。例えば、検索クエリ、および、メタデータがバイナリフォーマットであっても良い。その他、上述のようなTCP/HTTPプロトコルをベースとした受信装置100とコンテンツ配信サーバ401,402間のユニキャスト通信に限定されるものでもなく、コンテンツ配信サーバ401,402によって、マルチキャスト通信でメタデータが送信されるものであっても良い。この場合、受信装置100が、IGMP(Internet Group Management Protocol)やMLD(Multicast Listener Descovery)を利用して、メタデータが配信されるマルチキャストアドレスへの参加や離脱を行うシグナリング通信を行うことになる。尚、図1において、コンテンツ配信サーバとして、2台のコンテンツ配信サーバ401,402が図示されているが、この他多数のコンテンツ配信サーバがネットワーク301に接続され、受信装置100と通信を行うようにしても良い。本実施の形態においては、コンテンツの検索形態が異なる例を簡便に説明するために、コンテンツ配信サーバ401,402の2台に限定して説明する。
 メタデータ蓄積管理部201は、サービス毎に異なるメタデータを、共通メタデータとして記憶し、当該共通メタデータの記憶やアクセスや削除を制御することにより、共通メタデータを管理する。尚、サービスとは、コンテンツやコンテンツのメタデータを検索可能な状態で記憶しているものであり、図1に示されるコンテンツ配信サーバ401,402や、メタデータを記憶する当該メタデータ蓄積管理部201などである。共通メタデータとは、受信装置100内で表現形式を統一したメタデータのことである。例えば、コンテンツが映像を表すものである場合、TV-Anytimeなどでメタデータ記述形式の標準仕様が策定されており、これを共通メタデータとして利用しても良い。又は、受信装置100のコンテンツ・メタデータ表示部101が表示及び内部的な制御に利用する最小限のメタデータのセットを定義して、これを共通メタデータとして利用しても良い。最小限のメタデータのセットとは、例えば、コンテンツを識別するためのコンテンツ識別子、タイトル、概要説明(シノプシス)、コンテンツの尺、公開・放送日時、年齢制限に関する情報、ジャンル、キーワード(タグ)、提供元のサービスを識別するためのサービス識別子などである。ジャンルについては、例えば「スポーツ」や「芸能」や「経済」などの細分についてジャンルコードが予め付与されており、そのジャンルコードを指定可能である。又は、対象とする全てのサービスに含まれるコンテンツの和集合を取り、これを共通メタデータとして用いても良い。
 尚、複数のサービスから取得したメタデータを共通メタデータとしてメタデータ蓄積管理部201が記憶する場合には、サービス識別子を少なくとも含む必要がある。また、共通メタデータは、コンテンツ配信サーバ401,402から取得されたものであっても良いし、コンテンツ配信サーバ401,402から取得されたメタデータを用いてメタデータ蓄積管理部201が生成したものであっても良い。例えば、メタデータに概要説明が含まれる場合、メタデータ蓄積管理部201が、概要説明の文章を形態素解析して、キーワードや人物の名称などの情報を抽出し、抽出した情報を含むように共通メタデータを生成してこれを記憶するようにしても良い。
 図2は、共通メタデータのデータ構成を例示する図である。同図に示されるように、共通メタデータは、取得開始インデックス(from),取得件数(count)及び総件数(total)の3値と、count数の共通コンテンツ・メタデータとから構成されている。さらに、各共通コンテンツ・メタデータは、後述するメディアタイプ/メディアサブタイプに依存しない共通メタデータ属性と、メディアタイプ/メディアサブタイプに依存する共通メタデータ属性との2種類から構成されている。取得開始インデックス(from)、取得件数(count)、総件数(total)は、後述する共通検索クエリに該当するコンテンツの総数(total)のうち、何件目(from)から何件(count)のメタデータであるかを表している。以下、共通コンテンツ・メタデータを構成する各共通メタデータ属性について述べる。共通コンテンツ・メタデータは、メディアタイプ(mediaType)、メディアサブタイプ(mediaSubType)、コンテンツ識別子(contentId)、コンテンツ名(name)、コンテンツ説明(synopsis)及びコンテンツキーワード(keyword)を含む。
 メディアタイプ(mediaType)は、例えばビデオ、音楽、書籍、写真などのコンテンツの種別を表す情報である。共通メタデータにおいては、特定の1つのメディアタイプのみを含むようにしても良いし、複数のメディアタイプをOR連結した値を含むようにしても良い。図2の例では、ビデオ(video)がメディアタイプとして表されている。メディアサブタイプ(mediaSubType)は、メディアタイプ毎に定義される、より粒度の細かいコンテンツの種別を表す情報である。メディアタイプがビデオの場合は、プログラム情報、プログラムの集合を表すグループ情報、チャプター情報(プログラム内の時間軸上の1点を表す情報)、セグメンテーション情報(プログラム内の時間軸上の1区間を表す情報)、ライセンス情報などがメディアサブタイプとして挙げられる。図2の例では、プログラム情報(programInfo)がメディアサブタイプとして表されている。
 コンテンツ識別子(contentId)、コンテンツ名(name)、コンテンツ説明(synopsis)及びコンテンツキーワード(keyword)は、メディアタイプ(mediaType)及びメディアサブタイプ(mediaSubType)と共に、メディアタイプ/メディアサブタイプに依存しない共通メタデータ属性として定義されている。コンテンツ識別子(contentId)は、コンテンツを識別するための識別子である。コンテンツ名(name)は、コンテンツに付与された名称を表す。コンテンツ説明(synopsis)は、コンテンツについての概要や特徴などを表す。コンテンツキーワード(keyword)は、コンテンツに含まれるキーワードを表す。以降で説明する共通メタデータ属性は、メディアタイプがvideoであり、メディアサブタイプがprogramInfoである場合の属性であり、図2の例では、プログラム情報として、ビデオ・フォーマット(format)、年齢制限(parentalRate)、ジャンル(genre)、コンテンツ尺(duration)、公開/放送開始日時(startDate)、公開/放送終了日時(endDate)及びサムネイル画像(imagePath)が含まれる例が示されている。
 尚、共通メタデータは、ソフトウェアプログラム上の構造体やクラスといったオブジェクトであっても良いし、例えば、図3に示されるようなXML(eXtensible Markup Language)形式で表現されても良い。
 また、メディアタイプがビデオの場合のプログラム情報は、上述したビデオ・フォーマット(format)、年齢制限(parentalRate)、ジャンル(genre)、コンテンツ尺(duration)、公開/放送開始日時(startDate)、公開/放送終了日時(endDate)及びサムネイル画像(imagePath)を含むものに限定されず、より多くの共通メタデータ属性で構成されていても良い。例えば、図3に示されるように、共通メタデータがXML形式で表現される場合、当該共通メタデータを表すXMLスキーマを編集することで、共通コンテンツ・メタデータを構成する共通メタデータ属性を動的に変更可能な構成となっていても良い。また、本実施の形態では、共通コンテンツ・メタデータに含まれる共通メタデータ属性をメディアタイプ/サブメディアタイプの2値によって定義する構成を採っているが、これが2値であることは必須ではなく、1値で定義しても良いし、利用するメディアタイプが、ビデオに係るプログラム情報に限定されるのであれば、メディアタイプ/サブメディアタイプによって定義されない構成もあり得る。
 図1の説明に戻る。コンテンツ視聴・スキップ履歴蓄積管理部202は、コンテンツ・メタデータ表示部101が再生したコンテンツの履歴を表す再生履歴情報や再生をスキップした履歴を表すスキップ履歴情報を記憶し、これらの情報の記憶やアクセスや削除を制御することにより、これらの情報を管理する。スキップとは、コンテンツの再生後、定義した一定時間以内にコンテンツの再生が中断された場合のことを表す。再生履歴情報及びスキップ履歴情報は、再生の対象であるコンテンツのコンテンツ識別子を含む。尚、再生履歴情報及びスキップ履歴情報を共に同一のテーブルで管理する場合には、再生履歴情報及びスキップ履歴情報は、再生履歴情報かスキップ履歴情報かを表す種別情報を更に含む。これらを別々のテーブルで管理する場合には、再生履歴情報及びスキップ履歴情報は、種別情報を含まなくても良い。また、再生履歴情報及びスキップ履歴情報は、再生対象のコンテンツを取得した先のサービスを識別するためのサービス識別子を含む。但し、メタデータ蓄積管理部201に記憶されたメタデータがサービス識別子を含む場合には、再生履歴情報及びスキップ履歴情報は、サービス識別子を含まなくても良い。
 図4は、再生履歴情報又はスキップ履歴情報のデータ構成を例表する図である。同図に示される視聴・スキップフラグは、再生履歴情報かスキップ履歴情報かを表す種別情報であり、イベント発生日時は、コンテンツの再生又はコンテンツ再生中のスキップが行なわれた日時を表す。
 サービス情報蓄積管理部203は、受信装置100がコンテンツの検索対象とするサービスにおける検索形態と当該サービスへ接続するための接続方法(通信プロトコル、アクセスパス等)とを表すサービス情報をサービス毎に記憶し、当該サービス情報の記憶やアクセスや削除を制御することにより、当該サービス情報を管理する。検索形態を表すものとして、サービス情報は、サービスが提供する、コンテンツを検索する際にメタデータを取得するためのインタフェースの情報を含む。具体的には、サービス情報は、サービス毎に定義され、検索クエリに検索条件として指定可能なメタデータ属性を表す属性(検索条件属性)及び当該検索条件属性のとり得る値(検索条件属性値)(単位情報や、ジャンル、年齢制限、評価値等の有効値のリストなど)と、検索クエリの実行の結果としてサービスが提供可能なメタデータの記述形式であるメタデータフォーマット、メタデータの属性を表すメタデータ属性及び当該メタデータ属性値のとり得る値(メタデータ属性値)(検索条件属性と同様に、単位情報や、ジャンル、年齢制限、評価値等の有効値のリストなど)と、サービスが処理可能な検索クエリの記述形式である検索クエリフォーマットなどとを含む。検索クエリフォーマットとしては、検索条件の連結方法などの検索ルールを含んでも良い。メタデータフォーマットは、共通メタデータ属性に対応するメタデータ属性名及びメタデータ属性値を変換テーブルの形式をとっていても良いし、Java(登録商標)Script、Python、Perl、Ruby等のスクリプト言語で解析処理自体も提供する形式をとっていても良い。また、サービス情報は、共通検索条件属性、各サービスの検索条件属性及びメタデータ属性を共通メタデータ属性へ変換するための属性変換テーブルや、サービス毎に定義された検索条件属性から共通検索条件属性へ変換するための属性値変換テーブルを含み得る。共通検索条件属性とは、受信装置100内で表現方法を統一した検索条件属性である。このように「共通」としているのは、サービスによって異なる検索条件属性や検索条件属性値の表現を統合的に扱うためである。属性変換テーブルは、共通検索条件属性と、各サービスの検索条件属性及びメタデータ属性と、共通メタデータ属性との対応関係を表す対応テーブルであっても良いし、スクリプト言語等で記述されたプログラムであっても良い。属性値変換テーブルも同様に、サービス毎に定義された検索条件属性と共通検索条件属性との対応関係を表す対応テーブルであっても良いし、スクリプト言語等で記述されたプログラムであっても良い。これらの属性変換テーブル及び属性値変換テーブルをどのように用いるかについては後述する。
 更に、サービス情報は、各サービスを識別するためのサービス識別子、サービスの名称、サービスを表象するアイコンといった表示用の属性、受信装置100のユーザがサービスを利用する上で入力したユーザIDやパスワードといった認証用の属性、サービスがサポートするコンテンツのジャンルの細分(対応ジャンル)、コンテンツの品質などの各種情報を含んでも良い。尚、サービスがコンテンツをサポートするとは、当該コンテンツ及びそのメタデータをサービスが記憶し、当該コンテンツを受信装置100に提供可能であるということである。また、対応ジャンルの代わりに、サービスがサポートしないコンテンツのジャンルの細分をサービス情報は含んでも良い。また、サービス情報は、共通検索条件属性の一共通検索条件属性値が、当該サービス情報によってその接続方法が表されるサービスに記憶されているメタデータがその属性が表されるコンテンツの全てに該当する場合に、この共通検索条件属性及び共通検索条件属性値の対も含んでも良い。例えば、ニュースに関するコンテンツのメタデータを記憶しているサービスについては、ジャンルとして「ニュース」が暗黙的に適用できるとして、ジャンル及び「ニュース」を表すジャンルコードをサービス情報に含める。また、公開しているポータルサイトのURLといったアドレス情報や、使用するIPアドレスファミリ、プロトコル、プロトコルに依存する情報(使用するHTTPメソッド、HTTP拡張ヘッダ)もサービス情報は含み得る。また後述する検索クエリ実行履歴蓄積管理部205に記憶された情報から統計的に得られる、レスポンス時間の平均を表す平均レスポンス時間情報、メタデータのサイズの平均を表す平均サイズ情報、ジャンルなどの特定の検索条件を指定した際に得られるメタデータの数の平均を表す平均総数情報などの情報をサービス情報は含んでも良い。
 図5は、サービス情報のデータ構成を例示する図である。同図に示されるサービス情報は、サービスへ接続するための接続方法として、サービスパスを含む。また、複数のサービスが階層関係を有するように構成されている場合、サービス情報は、その階層関係を識別するための階層関係情報を含む。例えば親子関係のあるサービスについては、子のサービス(従属サービスという)のサービス情報は、親のサービス(親サービスという)のサービス識別子を含む。これが階層関係情報に相当する。これは、後述の第2の実施の形態で詳しく説明するように受信装置100´が検出可能なローカルデータベースサービスが複数存在し得る場合や、同じコンテンツ配信サーバから提供されるメタデータであっても、そのメタデータフォーマットがコンテンツ配信サーバ内で統一されていないことがあり得るため、このような際にも、階層的な構成が適用可能である。具体的には、ポータルサイトのHTML文書としてのみメタデータを提供するサービスにおいて、カテゴリ(ジャンル)毎にレイアウトが異なる場合に、従属サービスをジャンル毎に定義することが考えられる。サービス情報蓄積管理部203は、実際に検索クエリを生成する際に、従属サービスを親サービスにマッピングする際に必要となる情報も付加的に管理しても良い。例えば、データベース管理システムであれば、例えば、メインのデータベースへAttachするためのデータベース名が該当する。WebAPIであれば、例えば、メインのサービス情報に含まれるルートURL情報からの相対パス情報などが想定される。また、サービス情報は、サービス情報蓄積管理部203に予め記憶されるようにしても良い。又は、受信装置100が検索対象とできるサービスのサービス情報を一元管理するサーバがネットワーク301上に存在し、このサーバから受信装置100がサービス情報を適宜取得してサービス情報蓄積管理部203に記憶するようにしても良い。又は、取得部105が、各サービスに対応するコンテンツ配信サーバ401,402からサービス情報を取得してサービス情報蓄積管理部203に記憶するようにしても良い。
 キーワード生成・蓄積管理部204は、取得部105が取得したメタデータから抽出したキーワードを表すキーワード情報を記憶し、当該キーワード情報の記憶やアクセスや削除を制御することにより、当該キーワード情報を管理する。又は、統計情報や重み情報を付加したキーワードを受信装置100に対して提供するインタフェースを有するサーバ(図示せず)をネットワーク301上に備え、当該サーバからキーワード生成・蓄積管理部204は、当該キーワードを表すキーワード情報を取得してこれを管理するようにしても良い。また、キーワード情報は、キーワードの抽出された日時(抽出日時)や、キーワードの含まれるコンテンツの属するジャンルを表すジャンルコードを含んでも良い。この場合、例えば、コンテンツのジャンル毎に話題のキーワードを出力したり、ある期間(たとえば最近1週間)に関心の高かったキーワードを出力したりできるようにキーワード情報を構成しても良い。例えば、ジャンル毎の話題に出現するキーワードの出現頻度を表すものが統計情報であり、関心が高いほど大きくなる重みを表すものが重み情報である。このような統計情報や重み情報と共にキーワード情報を管理することで、後述する第2生成部103は、ジャンルを検索条件属性に持たないサービスに対して、ジャンルによる検索を擬似的に行う場合に、該当のジャンルを含むキーワード情報をキーワード生成・蓄積管理部204から取得することができる。
 図6は、キーワード情報のデータ構成を例示する図である。同図に示されるように、キーワード情報は、キーワードと、当該キーワードが抽出されたコンテンツを記憶するサービスのサービス名称と、共通検索条件属性と、共通検索条件属性値とを含む。同図においては、共通検索条件属性として、例えば、「ジャンル」を含み、共通検索条件属性値として、ジャンルコードとして「スポーツ」を表すものが含まれている。
 検索クエリ実行履歴蓄積管理部205は、取得部105が検索クエリを実行した結果を表す実行結果情報を記憶し、当該実行結果情報の記憶やアクセスや削除を制御することにより、当該実行結果情報を管理する。実行結果情報とは、例えば、検索クエリを実行してからメタデータをレスポンスとして受信するまでのレイテンシ(レスポンス時間)や、受信されるメタデータの件数などの情報を含む。さらに、検索クエリ実行履歴蓄積管理部205は、実行履歴情報から統計情報を取得し、当該統計情報を用いて、検索クエリを実行した対象のサービスの属性情報を抽出し、これをサービス情報としてサービス情報蓄積管理部203に記憶させる。統計情報とは、例えば、検索クエリを実行してからメタデータをレスポンスとして受信するまでの平均応答時間や、検索クエリによって表される検索条件に合致するコンテンツのサービス毎の保有件数などである。サービスの属性情報とは、例えば、あるサービスが、特定のジャンルに属するコンテンツのみを保有している又は特定のジャンルに属するコンテンツを保有していないといった情報である。
 図7は、実行結果情報のデータ構成を例示する図である。同図に示されるように、実行結果情報は、メタデータの取得件数と、共通検索条件属性と、共通検索条件属性値と、レスポンス時間と、検索クエリが実行された日時(実行日時)とを含む。同図においては、検索クエリの実行の際に、共通検索条件属性として、例えば、「ジャンル」が指定され、共通検索条件属性値として、ジャンルの細分として「スポーツ」を表すジャンルコードが指定されたことが示されている。
 コンテンツ・メタデータ表示部属性情報蓄積管理部206は、コンテンツ・メタデータ表示部101がコンテンツやメタデータを表示部に表示させる際の表示に関する属性情報(表示属性情報という)を記憶し、当該表示属性情報の記憶やアクセスや削除を制御することにより、当該表示属性情報を管理する。表示属性情報は、画面のサイズを表す画面サイズ情報、アスペクト比を表すアスペクト比情報及び表示部に表示可能なコンテンツのフォーマットを表すフォーマット情報を含む。また、コンテンツ・メタデータ表示部101がユーザ毎に表示を制御する機能を有する場合には、表示属性情報は、年齢制限を表す年齢制限情報など、ユーザ毎の表示制御に関する情報を含んでも良い。
 コンテンツ・メタデータ表示部101は、第1生成部101aを有し、表示部における情報の表示を制御したり、操作入力部を介してユーザから入力される操作入力を制御信号として処理したりするGUI(Graphical User Interface)を提供する。具体的には、コンテンツ・メタデータ表示部101は、メタデータを表示部に表示させたり、操作入力部を介してユーザからの操作入力を受け付け、当該操作入力に応じて選択したコンテンツを同定し、当該コンテンツを表示部に表示させることにより当該コンテンツを再生したりする。更に、コンテンツ・メタデータ表示部101は、再生したコンテンツの履歴を表す再生履歴情報又は再生をスキップした履歴を表すスキップ履歴情報を、その操作履歴と共にコンテンツ視聴・スキップ履歴蓄積管理部202に記憶させる。また、コンテンツ・メタデータ表示部101は、ユーザが共通検索クエリを明示的に生成するための画面を生成してこれを表示部に表示させる。共通検索クエリとは、ユーザが所望するコンテンツを検索するための1つ以上の共通検索条件を表すものであり、受信装置100内で表現方法を統一した検索クエリである。「共通」としているのは、上述したように、サービスによって異なる検索条件属性や検索条件属性値の表現を、統合的に扱うためである。
 図8は、検索条件を指定するための画面を例示する図である。同図に示される画面においては、ユーザは操作入力部を介して、検索条件として、検索対象のサービスや、検索対象のコンテンツのジャンルを表すジャンルコードや、キーワードや、公開日時(公開/放送開始日時又は公開/放送終了日時)や、コンテンツの長さ(コンテンツ尺)や、並び換え(整列条件)を指定可能である。整列条件とは、検索の結果得られるメタデータを整列させるための処理条件であり、共通メタデータ属性全てに対して、昇順及び降順で指定できるものであって良い。例えば、タイトル、ジャンル、終了日時、コンテンツ尺、視聴回数、評価値などにより整列させることができる。このように、指定される検索条件には、整列条件など各種処理条件が含まれ得る。
 コンテンツ・メタデータ表示部101の有する第1生成部101aは、ユーザの操作入力に応じて、再生中のコンテンツに関係するコンテンツを検索するための検索条件や、図8に示される画面において、ユーザが明示的に指定した検索条件を含む共通検索クエリを生成してこれを選択部102又は第2生成部103に対して出力する。
 ここで、共通検索クエリのデータ構成について図9を用いて説明する。同図に示されるように、共通検索クエリは、メディアタイプ(mediaType)、メディアサブタイプ(mediaSubType)、取得対象の共通メタデータ属性の名称(取得対象メタデータ属性名)(requestField)、取得範囲(取得開始インデックス(index)及び取得件数(count))、ソートキー(sortKey)、ソート順序(sortOrder)、及び共通検索条件リスト(predicateBag)を含む。取得対象メタデータ属性名(requestField)は、リスト形式で表され、例えば、図9の例では、name、synopsis、genre及びimagePathの4値がリストアップされている。これは、メディアタイプがvideoである場合のプログラム情報(video.programInfo)のメタデータ属性として、コンテンツ名(タイトル)、概要説明、ジャンル及びサムネイル画像のみを取得することを意味する。ソートキー(sortKey)は、整列条件として、整列に利用する共通メタデータ属性名である。ソート順序(sortOrder)は、整列条件として、どの順に整列するのかを表す。図9の例では、ソート順序が降順(DESC)、即ち、新着順であり、ソートキーは、共通メタデータ属性の公開/放送開始日時(startDate)であることが指定されていることが示されている。共通検索条件リスト(predicateBag)は、図9の例では、共通検索条件のOR集合のリストという形式で表現され、複数の共通検索条件の関係が論理式で表現されている。この共通検索条件リスト(predicateBag)を構成する共通検索条件(predicate)は、共通検索条件属性名(key)、オペレーション(operation)及び共通検索条件属性値(value)の3値で構成される。共通検索条件属性名には、共通メタデータ属性名が指定される。オペレーションは、“=”、“!=”、“<”、“<=”、“>”、“>=”などの不等号によって共通検索条件属性名と共通検索条件属性値との関係を表すものである。オペレーションには、不等号だけでなくSQLのように部分一致を表す“LIKE”のような予約語を定義しても良い。
 例えば、共通検索条件リスト(predicateBag)と、共通検索条件リスト(predicateBag)に含まれる共通検索条件(predicate)に、図10に示されるような値が設定されているとする。この例では、共通検索条件属性名(key)として、ジャンルである“genre”が指定され、この共通検索条件属性値(value)として、ニュース/報道を表す共通ジャンルコード(“0x01010222”)が指定されている。尚、受信装置100内で表現方法を統一したジャンルコードを共通ジャンルコードという。また、共通検索条件属性名(key)として、キーワードである“keyword”が指定され、この共通検索条件属性値(value)として、“大リーグ”及び“日本人選手”が指定されている。このような共通検索条件の意味するところは、以下の通りである。ジャンルがニュースかスポーツであり、かつ、キーワードに“大リーグ”かつ“日本人選手”を含むコンテンツを検索するという意味である。このような共通検索条件を論理式で表すと、例えば、図11のように表される。
 尚、本実施の形態では、共通検索条件リスト(predicateBag)を、共通検索条件のOR集合のリストという形式で表現し、各OR集合間をAND連結する構成を採っているが、共通検索クエリの構成としては、この構成に限定されるものではなく、SQLのように、AND集合やOR集合を多段に組み合わせることが可能な、つまり、より柔軟な論理表現可能な構成を採っても良い。また、上述のジャンルコードのように、列挙体として表現可能な一定数のデータセットを値として採り得る共通検索条件属性については、共通のコードセットを定義しても良い。
 図1の説明に戻る。選択部102は、コンテンツ・メタデータ表示部101が提供するGUI(例えば図8に示される画面)を介して生成した共通検索クエリを取得し、サービス情報蓄積管理部203に記憶されるサービス情報を参照して、当該共通検索クエリによって表される共通検索条件属性としてジャンルが含まれる場合、当該共通検索条件属性値(ここでは共通ジャンルコードである)に相当する対応ジャンルを含むサービス情報を有するサービスを選択する。例えば、共通検索クエリに、共通検索条件属性として「Genre」が含まれ、当該共通検索条件属性の共通検索条件属性値として「ニュース/報道」が含まれている場合、選択部102は、図3に示されるサービス情報に含まれる対応ジャンルを参照して、当該対応ジャンルの1つに当該共通検索条件属性値に相当するジャンルの細分が含まれていれば、このサービス情報のサービスを検索対象として選択し、当該対応ジャンルの1つに当該共通検索条件属性値に相当するジャンルの細分が含まれていなければ、このサービス情報のサービスを検索対象として選択しない。また、選択部102は、当該共通検索クエリによって表される共通検索条件属性としてジャンルが含まれない場合、検索対象のサービスを選択しない。このように、選択部102が、検索対象のサービスを1つも選択できない場合も有り得る。
 また、選択部102は、コンテンツ・メタデータ表示部101が表示部に表示させているコンテンツについて、当該コンテンツのメタデータからキーワードを抽出して当該キーワードやジャンル等の共通検索条件属性を組み合わせて共通検索クエリを生成し、サービス情報蓄積管理部203に記憶されるサービス情報を参照して、共通検索条件属性のうち「Genre」に対する共通検索条件属性値である共通ジャンルコードのうち少なくも1つに相当する、ジャンルの細分を対応ジャンルとして含むサービス情報を有するサービスを選択する。共通検索クエリの生成は、操作入力部を介したユーザからの操作入力を契機としても良いし、なんらかのタイミングを契機としても良い。尚、選択部102が選択するサービスは、複数であっても良く、共通検索条件属性値との合致度やサービスの利用頻度から、選択したサービスに重み付けを行い、優先度情報を付与しても良い。ここでいう合致度とは、例えば、共通検索条件属性値として含まれる共通ジャンルコード、ビデオ・フォーマット、平均コンテンツ尺情報、あるいは有料サービスの場合には価格帯情報など、複数の共通条件属性値の単純な合致数で決定されるものであっても良いし、あるいは、合致の程度を算出(単純には上述した平均コンテンツ尺情報や、価格帯情報との差分を算出)することで決定されるものであっても良い。サービスの利用頻度の算出には、コンテンツ視聴・スキップ履歴蓄積管理部202に記憶された再生履歴情報やスキップ履歴情報を利用する。また、選択されるサービス数に上限を設け、この上限の数以上が選択されないようにしても良い。この場合、サービスの選択を、上述の優先度情報に基づいて行っても良い。選択したサービスのサービス情報は、共通検索クエリに一検索条件として追加しても良いし、共通検索クエリとは別に扱っても良い。
 第2生成部103は、コンテンツ・メタデータ表示部101が出力した共通検索クエリを、選択部102を介して取得し、これを用いて、検索対象のサービス毎の検索クエリを生成する。このとき、第2生成部103は、共通検索クエリを、共通検索条件の和積による論理式で表現し、データベース管理システムに関連付けられたサービスに対して検索クエリを生成する場合には、この論理式表現をそのままSQL文の制約句として利用しても良い。また、サービスとして、コンテンツ配信サーバ401,402がWebAPIなどで一般的な簡易検索機能を提供している場合、第2生成部103は、上述の和積による論理式を積和系に展開し、各積項に検索クエリを生成するようにしても良い。尚、検索対象のサービスとしては、選択部102がサービスを選択できた場合には、選択されたサービスが検索対象のサービスとなる。しかし、選択部102がサービスを選択できなかった場合や、共通検索クエリをコンテンツ・メタデータ表示部101から直接取得した場合は、第2生成部103は、サービス情報蓄積管理部203にそのサービス情報が記憶されている全てのサービスに対して検索クエリを生成しても良いし、ランダムに所定の数のサービスを選択し、選択した各サービスに対して検索クエリを生成しても良いし、コンテンツ視聴・スキップ履歴蓄積管理部202に記憶された再生履歴情報やスキップ履歴情報を用いて求められる、サービスの利用頻度を用いてサービスを選択し、選択した各サービスに対して検索クエリを生成しても良いし、操作入力部を介してユーザが検索対象として選択する操作入力を行なったサービスを選択し、選択した各サービスに対して検索クエリを生成しても良い。第2生成部103は、検索クエリの生成の際に、共通検索条件属性と検索条件属性との対応関係を表す属性変換テーブル及び共通検索条件属性値と検索条件属性値との対応関係を表す検索条件属性値属性値変換テーブルを用いて、サービス情報に含まれる検索クエリフォーマットに応じた検索クエリを共通検索クエリから生成することにより、共通検索クエリを、サービスの検索形態に応じた検索クエリに変換する。
 ここで属性変換テーブル及び属性値変換テーブルを用いた変換の方法について説明する。図12は、属性変換テーブル及び属性値変換テーブルを統合的に構成した場合の構成を例示する図である。同図においては、(a)が属性変換テーブルを表し、(b)が属性値変換テーブルを表している。尚、共通メタデータのデータ構成は図2に示されるものであり、共通検索クエリのデータ構成は図9に例示したものであり、サービス情報のデータ構成は図5に例示したものであるとする。図13は、共通検索条件リスト(predicateBag)に示される共通検索条件を例示する図である。第2生成部103は、図13に示される共通検索条件について、サービス情報に含まれる検索条件属性及び図12の(a)に表される属性変換テーブルに基づいて、“genre”を“Category”に変換し、“keyword”を“VQ”に変換する。また、第2生成部103は、サービス情報に含まれる検索条件属性値及び図12の(b)に表される属性値変換テーブルに基づいて、ニュース/報道を表す共通ジャンルコード(“0x01010222”)を“News”という文字列に変換する。そして、第2生成部103は、図14に示されるような検索クエリを生成する。
 尚、共通検索条件として指定された共通ジャンルコードに対応する検索条件属性値が当該サービスにおいて存在しない場合、当該共通ジャンルコードを検索条件として含めないようにしたり、共通ジャンルコードに相当する文字列を表すキーワードにより代替したりする方法が考えられる。例えば、ジャンルにより検索を行なう例として、図15に示されるような共通検索条件があり、スポーツ/野球を表す共通ジャンルコード(“0x0102333”) に対応する検索条件属性値が存在しないものとする。この場合、第2生成部103は、図12の(b)に表される属性値変換テーブルに基づいて、スポーツ/野球を表す共通ジャンルコード(“0x0102333”)に対応する検索属性名及び検索属性値を取得して、この例では、”VQ”及び“野球 OR baseball”に変換する。つまり、共通ジャンルコードによる検索をキーワードによる検索へと代替して、第2生成部103は、図16に示されるような検索クエリを生成する。
 また、共通ジャンルコードに対応する検索条件属性名及び検索条件属性値が存在しない場合も有り得る。例えば、音楽を表す共通ジャンルコード(“0x01030222”)については、代替するキーワードが存在しないため、図12の(b)に示される属性値変換テーブルでは、対応する検索条件属性名及び検索条件属性値が存在しないことを表す空値で表現されている。この場合は、第2生成部103は、当該共通ジャンルコードを用いて検索クエリが生成できない旨を表すメッセージを表示部に表示させることによりユーザに報知するようにしても良いし、上述したキーワード生成・蓄積管理部204が記憶しているキーワード情報によって示されるキーワードのうち、当該検索条件属性と合致するキーワードを検索して、該当のキーワードがあれば、当該キーワードを用いてキーワードによる一般的な検索を行うようにしても良い。また、共通検索クエリに含まれる共通検索条件属性に該当する検索条件属性が、複数の検索クエリに分割することで、指定された元の共通検索条件を満たすことができるならば、第2生成部103は、共通検索クエリから複数の検索クエリを生成しても良い。
 実行制御部104は、第2生成部103が生成した1つ以上の検索クエリの実行順序を決定する。このとき、実行制御部104は、検索クエリに適用されている検索条件の数によって実行順序を決定しても良いし、コンテンツ視聴・スキップ履歴蓄積管理部202に記憶された再生履歴情報やスキップ履歴情報を用いて求められる、サービスの利用頻度を用いて実行順序を決定しても良い。又は、実行制御部104は、検索クエリ実行履歴蓄積管理部205に記憶された実行履歴情報を用いて求められるレスポンス時間で実行順序を決定しても良いし、キーワード生成・蓄積管理部204に記憶されるキーワード情報に付加された重み情報や統計情報を用いて実行順序を決定しても良い。その他、受信装置100の内蔵のデータベース管理システムに関連付けられたサービスを最優先で検索するなど、より静的に定めた実行順序ポリシーに基づいて、実行制御部104は、実際の実行順序を決定しても良い。
 取得部105は、実行制御部104が実行順序を決定した検索クエリをコンテンツ配信サーバ401,402に送信して検索クエリを実行させ、当該検索クエリの実行結果取得されたメタデータをコンテンツ配信サーバ401,402から受信し、当該メタデータに対して解析処理を適宜行って、共通メタデータを取得する。このとき、取得部105は、検索クエリに含まれる全部又は一部の情報と、受信したメタデータの件数(取得件数)とを含む上述の実行結果情報を検索クエリ実行履歴蓄積管理部205に記憶させる。また、取得部105は、受信したメタデータを形態素解析などにより解析して、キーワードを抽出し、当該キーワードを表すと共に、メタデータの取得時に指定された検索条件や、サービス情報を参照するために必要な検索対象のサービスのサービス識別子を含むキーワード情報をキーワード生成・蓄積管理部204に記憶させる。
 以上のようにして取得されたメタデータによってその属性が表されるコンテンツが、検索条件に合致するコンテンツである。即ち、各サービスにおいて検索クエリが実行されてメタデータが取得されることにより、検索条件に合致するコンテンツが検索されたことになる。
 次に、本実施の形態にかかる受信装置100の行うメタデータ取得処理の手順について図17を用いて説明する。受信装置100は既に起動されており、通信部106を介してネットワーク301上のコンテンツ配信サーバ401,402と通信可能な状態になっていることを前提とする。まず、受信装置100のコンテンツ・メタデータ表示部101が、何らかのコンテンツを表示部に表示させており、コンテンツを再生しているものとする。ここで、例えば、ユーザが操作入力部を介してコンテンツを検索する操作入力を行うと、当該操作入力に応じたコンテンツ検索要求メッセージが、受信装置100に対して送信される(ステップS101)。このとき、コンテンツ検索要求メッセージは、具体的な検索条件を含まず、単に「再生中のコンテンツに関係するコンテンツを検索することを要求する」ことのみを表すものであっても良いし、キーワードやジャンルコード等の検索条件を指定する操作入力が行われた場合、当該検索条件を含むものであっても良い。また、図8に示す画面が受信装置100の表示部に表示されており、ユーザは、この画面で操作入力部を介して検索条件を指定する操作入力を行うようにしても良い。
 受信装置100のコンテンツ・メタデータ表示部101は、コンテンツ検索要求メッセージを受信すると、当該コンテンツ検索要求メッセージが「再生中のコンテンツに関係するコンテンツを検索することを要求する」ことのみを表す場合、メタデータ蓄積管理部201から、再生中のコンテンツに対応するメタデータを取得し(ステップS102)、これを用いて共通検索クエリを生成する(ステップS103)。なお、コンテンツ検索要求メッセージに検索条件が明示的に含まれる場合には、受信装置100は、当該検索条件を用いて共通検索クエリを生成する。
 続いて、コンテンツ・メタデータ表示部101は、ステップS103で生成した共通検索クエリを選択部102へ出力する(ステップS104)。このときの共通検索クエリは、例えば、2つのジャンル(G1、G2)、2つのキーワード(K1、K2)及び2つのクレジット(C1、C2)が検索条件として、以下の式1のように論理式として表現されているものとする。共通検索クエリの論理式を検索式という。なお、クレジットは、ここでは出演者、監督、スタッフなど関係者情報を意味するものである。
検索式:=(G1+G2)*(K1+K2)*(C1+C2)…式1
 この検索式は、メタデータ属性が同じものを暗黙的にOR連結し、メタデータ属性が異なるOR集合間を、AND連結することで生成している。しかし、検索式の生成方法は、これに限るものではない。例えば、全ての検索条件属性をAND連結しても良いし、全ての検索条件属性をOR連結しても良い。さらに言えば、これら複数の検索式のバリエーションを含んでも構わない。例えば、全ての検索条件をAND連結する場合、検索式は、再生中のコンテンツと非常に類似度の高いコンテンツを検索の対象とした厳しい検索条件であり、ヒットする件数が少ないことが予想される。一方、全ての検索条件をOR連結する場合は、1つの検索条件が合致しさえすれば良いので、検索条件としては緩く、このため多くのコンテンツがヒットする可能性が高い。上述の検索式が採っている生成方法は、これらの中間的な位置づけのものである。
 次に、選択部102は、ステップS104で出力された共通検索クエリを入力として、検索対象となるサービスを選択する。具体的には、例えば検索条件として指定されているジャンル(G1)が、ジャンルコードによって「ニュース/報道」が指定されている場合、選択部102は、ニュースに係るコンテンツを提供するサービスを選択する処理を行う。これは、選択部102が、サービス情報蓄積管理部203から、サービス属性としてジャンルコード:G1を含むサービス情報を取得することで実現される。また、選択部102は、コンテンツ視聴・スキップ履歴蓄積管理部202に記憶された再生履歴情報やスキップ履歴情報を用いて、検索対象となるサービスを選択しても良い。例えば、選択部102は、利用頻度の高いサービス、即ち、再生されたことが再生履歴情報やスキップ履歴情報によって示されるコンテンツを提供したサービスのうち、提供したコンテンツの数が所定の数以上であるサービスを、検索対象となるサービスとして選択する。
 ここでは、選択部102は、サービス属性としてジャンルコード:G1を含むサービス情報をサービス情報蓄積管理部203から取得し(ステップS105)、当該サービス情報によって特定されるサービスとしてコンテンツ配信サーバ401(以下、サービスS1とする)を検索対象のサービスとして選択し、コンテンツ視聴・スキップ履歴蓄積管理部202に記憶された再生履歴情報やスキップ履歴情報を用いて、検索対象のサービスとしてコンテンツ配信サーバ402(以下、サービスS2とする)を選択し(図17においては省略)、更に、ローカルデータベースサービスであるメタデータ蓄積管理部201(以下、サービスS3とする)を検索対象のサービスとして選択する。このとき、ローカルデータベースサービスの選択は、暗黙的に必ず指定されるものとしても良いし、メタデータのキャッシュ状況を鑑みて、受信装置100によって自動選択されるものであっても良い。そして、選択部102は、選択したサービスをサービス条件として上述の式1の検索式に追加して以下の式2のように更新する(ステップS106)。この検索式が共通検索クエリに相当する。
検索式:=(S1+S2+S3)*(G1+G2)*(K1+K2)*(C1+C2)…式2
 次に、選択部102は、第2生成部103へ、検索対象として選択したサービスのサービス情報と共に共通検索クエリを出力する(ステップS107)。第2生成部103は、ステップS107で出力された、式2の検索式で表される共通検索クエリとサービス情報とを用いて、サービス毎の検索クエリへ展開する。ここでは、第2生成部103は、サービス情報によって表される検索クエリフォーマットが、論理式での記述が可能であることを表す場合、式2の検索式である論理式で表現される検索クエリを共通検索クエリから生成し、検索クエリフォーマットが、論理式での記述が可能でないことを表す場合、論理式を積項展開し、各積項を用いて、複数の検索クエリを共通検索クエリから生成する。例えば、コンテンツ配信サーバ401がREST形式のWebAPIをベースとしたURLを利用した検索条件の指定のみを許容しており、コンテンツ配信サーバ402がSOAP形式のWebAPIをベースとしたHTTPリクエストボディへの論理表現を許容しない検索条件の指定のみを許容している場合、サービスS1,S2については、選択部102は、式2の検索式を積項展開して検索クエリの生成に利用する。一方、サービスS3については、選択部102は、式2の検索式をそのまま制約句として利用しての検索クエリの生成を試みる。共通検索クエリからのサービス毎の展開結果の例は以下の通りである。
WebAPIベースのコンテンツ配信サーバ401に対する検索クエリ(S1)
(S1*G1*K1*C1)
(S1*G1*K1*C2)
(S1*G1*K2*C1)
(S1*G1*K2*C2)
・・・
WebAPIベースのコンテンツ配信サーバ402に対する検索クエリ(S2)
(S2*G1*K1*C1)
(S2*G1*K1*C2)
(S2*G1*K2*C1)
(S2*G1*K2*C2)
・・・
SQLベースのローカルデータベースサービス(メタデータ蓄積管理部201)に対する検索クエリ(S3)
(S3)*(G1+G2)*(K1+K2)*(C1+C2)
 続いて、第2生成部103は、積項展開したサービスS1,S2それぞれに対応するサービス情報をサービス情報蓄積管理部203から取得して(ステップS108)、サービスS1,S2に係る共通検索条件を、サービス毎の検索クエリへ変換する。このとき、サービスS1は、ジャンルコード:G1を暗黙的にサービス属性として有しているので、実際に検索クエリに適用する検索条件は、上記の先頭の例では(K1*C1)となる。第2生成部103は、この2つの検索条件を利用して、対応するコンテンツ配信サーバ401へ送信する検索クエリを生成する(ステップS109)。サービスS1であるコンテンツ配信サーバ401がクレジット情報(C1)を検索条件として指定できる場合には、第2生成部103は、上述の展開結果から、例えば、以下のような検索クエリを生成する。
http://s1.example.com/search_api?keyword=キーワード1&credit=人物1
 コンテンツ配信サーバ401がクレジット情報(C1)を検索条件として指定できない場合には、クレジット情報をキーワードとみなして、第2生成部103は、上述の展開結果から、例えば、以下のような検索クエリを生成する。
http://s1.example.com/search_api?keyword=”キーワード1 人物1”
 又は、コンテンツ配信サーバ401がAND検索をサポートしていない場合には、第2生成部103は、上述の展開結果から、例えば、以下のような2つの検索クエリに分割して生成するようにしても良い。
http://s1.example.com/search_api?keyword=”キーワード1”
http://s1.example.com/search_api?keyword=”人物名1”
 本実施の形態では検索条件としてジャンル、キーワード、クレジットに絞って説明しているが、検索クエリの実行結果であるメタデータの取得件数を含める場合にも、上例と同様に検索クエリを分割した展開を実施する必要がある。具体的には、検索クエリの実行結果であるメタデータの取得件数が50件に暗黙的に設定されている場合に、サービスによっては、50件より少ない件数での取得しかサポートしていない場合がある。このとき、例えば、サービスS1が、取得件数の上限を25件と規定していて、検索クエリの実行の結果取得したメタデータのオフセットをfromで指定し、件数をcountで指定するインタフェースを提供している場合には、第2生成部103は、以下のような2つの検索クエリに分割して生成することになる。
http://s1.example.com/search_api?keyword=”キーワード1 人物1”&from=1&count=25
http://s1.example.com/search_api?keyword=”キーワード1 人物1”&from=26&count=25
 サービスS1に対して検索クエリを生成する方法として、ここでは3通りの方法を記載したが、これらの方法に限定されるものではない。こうした共通検索条件に該当する検索条件を持たない場合に検索クエリを展開する方法についても、サービス情報に含まれていても良い。一方、利用頻度によって選択されたサービスS2については、ジャンルが検索条件として暗黙的に適用されず、前述した共通検索クエリの展開結果の、サービスS2に係る先頭の例では、(G1*K1*C1)が、実際に検索クエリに適用される検索条件となる。サービスS2が、検索条件属性としてジャンルを有している場合、第2生成部103は、共通検索クエリを、例えば以下のようなSOAPメッセージに展開する。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
  <!-- 省略 -->
  </soap:Header>
  <soap:Body>
    <m:getContentMetadata xmlns:m="http://s2.example.com/searchAPI/">
      <m:genre>G1</m:genre>
      <m:keyword>キーワード1</m:keyword>
      <m:credit>人物1</m:credit>
    </m:ContentMetadata>
  </soap:Body>
</soap:Envelope>
 上の例では、ジャンルコードの付与体系がサービスS1と共通検索クエリとで共用できていることを前提としていたが、サービスS2が独自のジャンルコードの体系を有する場合、サービスS2のサービス情報には、ジャンルコード:G1、G2といった共通ジャンルコードを、サービスS2の体系におけるジャンルコードへ変換するための変換テーブル情報が含まれている。第2生成部103は、サービス情報蓄積管理部203に記憶されたサービス情報に含まれる変換テーブル情報を用いて、共通の体系におけるジャンルコードをサービスS2独自の体系のジャンルコードへ変換し、これを用いて検索クエリを生成する。たとえば、G1(ニュース/報道)に対応するサービスS2のジャンルコードが「News」という文字列で表現されるものである場合、第2生成部103が展開する検索クエリは以下のようになる(SOAPのBodyエレメントのみ抜粋)。
    <m:getContentMetadata xmlns:m="http://s2.example.com/searchAPI/">
      <m:genre>News</m:genre>
      <m:keyword>キーワード1</m:keyword>
      <m:credit>人物1</m:credit>
    </m:ContentMetadata>
 更に別のバリエーションとして、サービスS2がジャンルを検索条件属性に持たない場合には、第2生成部103は、キーワード生成・蓄積管理部204に記憶されているキーワード情報を利用して、ジャンルコードをキーワード群に展開する。具体的には、キーワード生成・蓄積管理部204は、取得部105が取得したメタデータから形態素解析などで抽出したキーワードを表すと共に、メタデータの取得時に指定された検索条件や、サービス情報を参照するために必要な検索対象のサービスのサービス識別子を含むキーワード情報を記憶する。これにより、ジャンルを検索条件属性にもつキーワード情報を求めることができ、かつ、ある期間における出現頻度も併せて求めることができる。具体的には、「ニュース/報道」のジャンルに含まれる最近の出現頻度の高いキーワード(たとえば、最近注目されている政治家の名前や、最近起こった事件の名前、容疑者の名前など)を抽出できる。第2生成部103は、サービスS2が、検索条件としてジャンルを指定できない場合に、ジャンルコードをキーとして、キーワード生成・蓄積管理部204に記憶されたキーワード情報及びサービス情報蓄積管理部203に記憶されたサービス情報を用いて、ジャンルの代替となるキーワードのリストである代替キーワードリストを生成する。たとえば、ここでは、ジャンルの代替となるキーワードとして“ニュースキーワードA”、“ニュースキーワードB”、“ニュースキーワードC”が取得できたとすると、第2生成部103は、これを用いて以下のSOAPメッセージを生成する(SOAPのBodyエレメントのみ抜粋)。
    <m:getContentMetadata xmlns:m="http://s2.example.com/searchAPI/">
      <m:keyword>ニュースキーワードA OR ニュースキーワードB OR ニュースキーワードC</m:keyword>
      <m:credit>人物名</m:credit>
    </m:getContentMetadata>
 なお、この例では、サービスS2のOR検索が“OR”文字列を明示的にキーワード間に指定することで実現できるものとしている。こうした検索ルールは検索クエリのフォーマットとしてサービス情報の一部に含まれている。
 また、本実施の形態においては、サービスS1を一般的なREST形式のWebAPIとし、サービスS2を一般的なSOAP形式のWebAPIとして、URLに検索クエリ情報を含める場合の具体例を記しているが、例えば、WebAPIとしてもSQL形式での検索インタフェースを提供するものが存在する。本実施の形態においては、このようなサービスについても、ローカルデータベースサービスに対する検索クエリの生成と同様にして、サポートすることができる。
 ローカルデータベースサービスであるサービスS3に対する検索クエリについては、第2生成部103は、上述の共通検索クエリの展開結果((S3)*(G1+G2)*(K1+K2)*(C1+C2))と、選択されたサービス情報とを用いて、「S3」を「S1+S2」に置換し、結果として得られた((S1+S2)*(G1+G2)*(K1+K2)*(C1+C2))から、SQL文を生成する。最も単純には、以下のようなSQL文が生成される。
select * from content_metadata_table 
where (service=’S1’ or service=’S2’) and 
      (genre=’G1’ or genre=’G2’) and
      (keyword=’K1’ or keyword=’K2’) and
(credit=’C1’ or credit=’C2’)
 上のSQL文では、keyword, creditが完全一致する制約句になっているが、これを部分一致に変更したり、タイトルや概要説明のカラムをキーワードによる検索の範囲に加えたりしても構わない。これは、形態素解析などの処理をメタデータに対して施していない場合には、コンテンツ配信サーバから提供されているキーワードが不十分である場合が多いために必要となる展開方法である。この場合、例えば、以下のようなSQL文となる。
select * from content_metadata_table 
where (service=’S1’ or service=’S2’) and 
      (genre=’G1’ or genre=’G2’) and
      (keyword=’K1’ or keyword=’K2’ or title like ‘%K1%’ or title like ‘%K2%’
or synopsis like ‘%K1%’ or synopsis like ‘%K2%’) and
(credit=’C1’ or credit=’C2’)
 上述したように、共通検索クエリが、全ての検索条件をAND連結した検索式などの複数のバリエーションを含む場合、第2生成部103は、それぞれを同様に、サービス毎の検索クエリに展開する。
 続いて、第2生成部103は、生成した検索クエリのリストを実行制御部104へ出力する(ステップS110)。実行制御部104は、ステップS110で出力された複数の検索クエリの実行順序を決定する(ステップS111)。実行順序の決定には、例えば、適用される検索条件数の多いものを優先して実行順序を上げる方法が適用できる。全ての検索条件をAND連結した場合、「再生中のコンテンツに関連するもの」を検索する際には、検索結果が少ないが、類似度が最も高いメタデータが得られることになる。又は、コンテンツ視聴・スキップ履歴蓄積管理部202に記憶された再生履歴情報やスキップ履歴情報を用いて、利用頻度の高いサービス対する検索を優先して実行順序を上げる方法を適用しても良い。又は、検索クエリ実行履歴蓄積管理部205に記憶された実行結果情報から、平均レスポンス時間や、取得できるメタデータの平均数を取得し、これを優先度として利用し、優先度が高いほど実行順序が上がるように、実行順序を決定する方法を適用するようにしても良い。本実施の形態では、実行制御部104は、適用される検索条件数に基づき、実行順序を決定する。そして、実行制御部104は、決定した実行順序に従い、検索クエリを取得部105に逐次出力していく(ステップS112)。又は、実行制御部104は、決定した実行順序を表す実行順序情報を付与した検索クエリのリストを一括で出力するようにしても良い。
 取得部105は、ステップS112で出力された検索クエリを逐次実行していく。具体的には、サービスS3に対応するローカルデータベース(メタデータ蓄積管理部201)、サービスS1に対応するコンテンツ配信サーバ401、サービスS2に対応するコンテンツ配信サーバ402へ各々検索クエリを送信する。サービスS3に対する検索は、メタデータ蓄積管理部201におけるデータベース管理システムへの接続と、検索クエリとして生成されたSQL文の発行とによって実現される(ステップS113)。ステップS1に対する検索は、URLに検索クエリを含めたHTTPリクエストを、通信部106及びネットワーク301を介してコンテンツ配信サーバ401に送信することによって実現される(ステップS115)。ステップS2に対する検索は、URLに検索クエリを含めたHTTPリクエストを、通信部106及びネットワーク301を介してコンテンツ配信サーバ402に送信することによって実現される(ステップS116)。
 メタデータ蓄積管理部201は、SQL文を実行して、該当するメタデータを取得すると、これを取得部105に返す(ステップS114)。コンテンツ配信サーバ401は、ネットワーク301を介して検索クエリを受信するとこれを実行して該当するメタデータを取得し、当該メタデータを受信装置100に対して送信する(ステップS117)。同様にコンテンツ配信サーバ402も、ネットワーク301を介して検索クエリを受信するとこれを実行して該当するメタデータを取得し、当該メタデータを受信装置100に対して送信する(ステップS118)。
 取得部105は、それぞれのサービスS1,S2,S3からメタデータを受信すると、当該メタデータに対して、必要に応じて解析処理を行う。サービスS3であるメタデータ蓄積管理部201が共通メタデータフォーマットでメタデータを取得部105に返すように構成されている場合には、サービスS3から取得したメタデータに対する解析処理は必要ない。しかし、サービスS1,S2については、各サービス独自のXML形式のメタデータフォーマットを採用しているため、これらのサービスから取得したメタデータに対しては解析処理が必要となる。取得部105は、サービスS1,S2についてそれぞれ、サービス情報蓄積管理部203に記憶されたサービス情報を取得し(ステップS119)、当該サービス情報に含まれるメタデータフォーマットに基づいて、受信したメタデータの解析処理を行い、当該メタデータを共通メタデータフォーマットのメタデータへ変換することにより、共通メタデータを生成する(ステップS120)。また、取得部105は、受信したメタデータを解析すると同時に、メタデータの特定の属性(タイトルや番組説明)を形態素解析などにより解析して、キーワードを抽出し、当該キーワードを表すと共に、メタデータの取得時に指定された検索条件や、サービス情報を参照するために必要な検索対象のサービスのサービス識別子を含むキーワード情報をキーワード生成・蓄積管理部204に記憶させる。そして、取得部105は、生成した共通メタデータを、コンテンツ・メタデータ表示部101へ出力する(ステップS121)。
 コンテンツ・メタデータ表示部101は、ステップS121で出力されたメタデータを、例えばその出力順序に従って、表示可能な件数に限定して表示部に表示させる(ステップS122)。このとき、コンテンツ・メタデータ表示部101は、コンテンツ・メタデータ表示部属性情報蓄積管理部206に記憶された表示属性情報を用いて、メタデータを表示部に表示させる。尚、メタデータの表示形式が、ティッカーの形式(たとえば右から左へ、検索結果のリストを自動スクロールさせて表示される形式)を取っている場合には、件数を限定する必要はなく、コンテンツ・メタデータ表示部101は、取得部105が出力したメタデータを逐次表示していけば良い。この結果、再生中のコンテンツに関連するメタデータや、明示的な検索指示に応じて検索されたメタデータが表示部の画面に表示されることになる。
 以上のように、本実施の形態によれば、検索対象のサービス自体が膨大に存在する環境において、コンテンツを受信する受信装置側で、ユーザからの指示を契機として、コンテンツの検索を実行する場合に生じ得る幾つかの問題を解決することができる。第1に、複数のサービス間に跨った横断的な検索をリアルタイムで受信装置が実行する際に、検索対象のサービスが多いために、発行しなければならない検索クエリの数や、受信して処理しなければならないメタデータの総数が膨大になり、横断的な検索自体の実行が実際上困難であるという問題があった。尚、受信装置側ではなくコンテンツ配信サーバ側が複数のサービスの横断的な検索を実行する場合には、各サービスが提供するWebページを巡回取得し、データベースに一旦蓄積した上で、SQL(Structured Query Language)で統一的にメタデータを利用することが一般的である。しかし、このような構成を受信装置側に適用することは非常に困難である。巡回取得した多数のサービスの全てのメタデータを蓄積するための記憶領域を受信装置上に確保することが現実的ではないからである。これに対し、本実施の形態においては、選択部102が、検索を実現可能な妥当な検索範囲に検索対象のサービスを絞り込むことにより、第1の問題を解決可能にしている。即ち、今後のコンテンツを配信するサービスの多様化、遍在化を考慮すると、本実施の形態のように受信装置でサービス自体の絞り込みを行なうことで、受信装置の処理能力の範囲内で、複数のサービス間に跨った横断的な検索を実行することが可能になる。
 第2に、検索クエリのフォーマットや、許容される検索条件などの検索形態が異なる複数のサービスに対して、所望のコンテンツを検索するための検索条件を表す元の検索式を正確に射影することが困難であり、元の検索式における検索意図を維持することが困難であったという問題があった。これに対し、共通検索クエリを用いて第2生成部103が可能な限り元の検索式に近い形でサービス毎の検索クエリに展開することで、第2の問題を解決可能にしている。即ち、従来では、各サービスが許容する検索形態における検索クエリへ変換する際に、元の検索式における検索意図が縮退してしまい、意図したコンテンツが発見し難くなる恐れがあったが、このような事態を低減することができる。
 第3に、受信装置から複数のサービスに対して検索クエリを発行する場合に、単一のサービスからメタデータを受信してこれを表示する場合と比較して、コンテンツを提示するために要する時間が非常に大きくなるという問題があった。これに対し、元検索式から展開したサービス毎の検索クエリの実行順序を制御することで、ユーザが所望するコンテンツをより効率的に提示することができ、第3の問題を解決可能にしている。
[第2の実施の形態]
 次に、受信装置の第2の実施の形態について説明する。なお、上述の第1の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
(1)構成
 図18は、本実施の形態にかかる受信装置100´の構成を示す図である。本実施の形態にかかる100´は、コンテンツ・メタデータ表示部101、選択部102、第2生成部103、実行制御部104、取得部105、通信部106、メタデータ蓄積管理部201、コンテンツ視聴・スキップ履歴蓄積管理部202、サービス情報蓄積管理部203、キーワード生成・蓄積管理部204、検索クエリ実行履歴蓄積管理部205及びコンテンツ・メタデータ表示部属性情報蓄積管理部206に加え、検出部109を有する。また、受信装置100´の通信部106には、メタデータ蓄積管理部201bが接続され、ネットワーク302を介してメタデータ蓄積管理部201cが接続され、ネットワーク301を介してコンテンツ配信サーバ401,402の他コンテンツ配信サーバ403と接続される。メタデータ蓄積管理部201bは、何らかの通信ケーブルで受信装置100´と接続された外部記憶装置上に構築されるものであり、例えば、USBケーブルで接続された外付けハードディスクドライブなどである。メタデータ蓄積管理部201cは、ネットワーク302上に存在する別デバイス上に構築されるものであり、例えば、NAS(Network Access Storage)デバイスである。ネットワーク302は、例えば、ホームネットワークを構成するLAN(Local Area Network)である。但し、メタデータ蓄積管理部201b,201cは、受信装置100からデータベース管理システムとしてアクセス可能であればどのような形態をとっていても良い。これらは、メタデータ蓄積管理部201と同様に、メタデータを管理するものであり、各々サービスの1つであるローカルデータベースサービスである。
 検出部109は、サービスの利用可否を表す利用可否フラグをサービス情報と対応付けてサービス情報蓄積管理部203に記憶させる。サービスの利用可否については、検出部109は、例えば、通信部106を介して、サービスへの定期的な接続によって検出したり、又は、サービスからの利用可否を表す利用可否情報の非同期通知によって検出したりする。なお、本実施の形態では、サービスの利用が「不可」である状況を検出する手順については触れないが、以下に記す、サービスの接続検知からサービス情報蓄積管理部203への反映までの処理手順と同等の処理手順を踏むことで実現可能である。但し、サービスの利用が「不可」であることの判断については、通信のタイムアウトや失敗時の試行回数などを判断材料として、これに何らかの閾値を設けて行なう方法を取ることになる。
 サービス情報蓄積管理部203は、上述のサービス情報を利用可否フラグと対応付けて記憶し、これらを管理する。尚、メタデータ蓄積管理部201のサービス情報と、メタデータ蓄積管理部201b,201cの各サービス情報とは親子関係を有しており、後者の各サービス情報の親サービス識別子には、メタデータ蓄積管理部201のサービス識別子がセットされている。
 次に、本実施の形態にかかる受信装置100´の行うメタデータ取得処理の手順について説明する。図19は、メタデータ取得処理において、利用可能なサービスを検出するサービス検出処理の手順を示すフローチャートである。受信装置100´は既に起動されており、通信部106を介してネットワーク301上のコンテンツ配信サーバ401~403と通信可能な状態になっていることを前提とする。ただし、本実施の形態の初期状態として、コンテンツ配信サーバ401~403は、受信装置100´からアクセス可能な状態になっているが、USBケーブルで受信装置100´に接続された外部記憶装置上のメタデータ蓄積管理部201b及びNASデバイス上のメタデータ蓄積管理部201cは、受信装置100´にまだ接続されていないものとする。
 まず、メタデータ蓄積管理部201bが構築されている外部記憶装置が、受信装置100´に接続されると(ステップS201)、通信部106が、USBケーブルの接続を検出し、新たな外部デバイスが接続されたことを検出部109へ通知する(ステップS202)。検出部109は、接続された外部記憶装置上に、メタデータ蓄積管理部201bが存在する否かを確認する(ステップS203)。これは、メタデータ蓄積管理部201bが外部記憶装置上の特定のパスに常に構築されることを前提とした上で、データベース管理システムとしてのメタデータ蓄積管理部201bの存在有無を確認することで実現しても良いし、パスを固定化せずに、新たに構築したメタデータ蓄積管理部201bを識別するためのデバイス識別子と、その際に生成したデータベースパスとをサービス情報蓄積管理部203に記憶しておき、この情報を参照することで実現しても良い。本実施の形態においては、検出部109は、メタデータ蓄積管理部201bが存在することを検出すると、メタデータ蓄積管理部201bのサービス情報と対応付けられてサービス情報蓄積管理部203に記憶されている利用可否フラグがサービスの利用が可能であることを表すよう更新する(ステップS204)。これにより、受信装置100´において、メタデータ蓄積管理部201bは利用可能なサービスとして有効化される。同様に、検出部109は、NASデバイスがネットワーク302に接続され、メタデータ蓄積管理部201cが利用可能になったことも、同様の手順で検出する(ステップS205~S208)。尚、上述したように、サービス情報蓄積管理部203に記憶されている、メタデータ蓄積管理部201b、201cに各々対応するサービス情報は、メタデータ蓄積管理部201aのサービス識別子を、親サービス識別子として各々含んでいる。
 続いて、上述の第1の実施の形態で説明した図17のステップS101~S103と同様にして、ユーザが操作入力部を介してコンテンツを検索する操作入力を行い、受信装置100のコンテンツ・メタデータ表示部101が、コンテンツ検索要求メッセージを受信すると、共通検索クエリを生成する。ここで生成される共通検索クエリは、第1の実施形態と同様に、2つのジャンル(G1、G2)、2つのキーワード(K1、K2)及び2つのクレジット(C1、C2)が検索条件として、上述の式1の論理式で表される検索式で表現されているとする。
 続いて、図17のステップS104と同様にして、選択部102は、共通検索クエリを入力として、検索対象となるサービスを選択するが、ここでは、ローカルデータベースサービス(メタデータ蓄積管理部201であり、第1の実施の形態と同様にサービスS3とする)のみを選択するものとする。そして、選択部102は、サービス情報蓄積管理部203から、メタデータ蓄積管理部201のサービス情報を取得すると共に、メタデータ蓄積管理部201のサービス識別子が親サービス識別子としてセットされているサービス情報を取得する。ここでは、メタデータ蓄積管理部201を親サービスとする従属サービスであるメタデータ蓄積管理部201b,201cの各サービス情報が取得される。そして、選択部102は、図17のステップS106と同様にして、選択したサービスをサービス条件として式1の検索式に追加して以下の式3のように更新する。この検索式が共通検索クエリに相当する。
検索式:=S3*(G1+G2)*(K1+K2)*(C1+C2)…式3
また、選択部102は、従属サービスのサービス情報を共通検索クエリに付加して、このサービス情報を共通検索クエリに付加して第2生成部103へ出力する。
 図20は、メタデータ取得処理において、サービス検出処理後に検索クエリを生成する検索クエリ生成処理の手順を示す図である。第2生成部103は、共通検索クエリに含まれるサービスS3に対応する検索クエリを生成する際に、親サービスであるメタデータ蓄積管理部201のサービス情報を取得し(ステップS211)、共通検索クエリに付加された、従属サービス(ここでは、メタデータ蓄積管理部201b,201c)のサービス情報を各々取得する(ステップS212~S213)。具体的には、第2生成部103は、まず、メタデータ蓄積管理部201b,201cの各データベース管理システムを、メタデータ蓄積管理部201のデータベース管理システムにアタッチし、統合的にアクセス可能な状態にする(ステップS214~S215)。続いて、第2生成部103は、例えば、以下のように、各データベース管理システムがUNIONで連結された統合検索用のSQL文を生成する(ステップS216)。この例では、メタデータ蓄積管理部201b,201cが、従属サービスのサービス情報として、それぞれデータベース名‘SUB_B’、‘SUB_C’を有し、この情報を利用してアタッチされている。
select * from content_metadata_table 
where (service=’S1’ or service=’S2’) and 
      (genre=’G1’ or genre=’G2’) and
      (keyword=’K1’ or keyword=’K2’) and
(credit=’C1’ or credit=’C2’)
union
select * from ‘SUB_B’.content_metadata_table 
where (service=’S1’ or service=’S2’) and 
      (genre=’G1’ or genre=’G2’) and
      (keyword=’K1’ or keyword=’K2’) and
(credit=’C1’ or credit=’C2’)
union
select * from ‘SUB_C’.content_metadata_table 
where (service=’S1’ or service=’S2’) and 
      (genre=’G1’ or genre=’G2’) and
      (keyword=’K1’ or keyword=’K2’) and
(credit=’C1’ or credit=’C2’)
 なお、上述のステップS213は、第2生成部103ではなく、検出部109が、NASデバイスがネットワーク302に接続され、メタデータ蓄積管理部201cが利用可能になったことを検出した際に、メタデータ蓄積管理部201cのサービス情報と対応付けられてサービス情報蓄積管理部203に記憶されている利用可否フラグを更新するときと同時に行なうようにしても良い。
 第2生成部103は、以上のようにして検索クエリとしてSQL文を生成する。その後、第2生成部103は、生成したSQL文を実行制御部104へ出力する(ステップS217)。実行制御部104は、複数のSQL文があった場合には、図17のステップS111~S112と同様にして、複数のSQL文の実行順序を決定して、決定した実行順序に従い、SQL文を取得部105に逐次出力していく。ここでは、SQL文は1であるとして、これが取得部105に出力される。取得部105は、第2生成部103から出力されたSQL文を実行して、メタデータ蓄積管理部201,201b,201cからメタデータを適宜受信し、図17のステップS120と同様にして、当該メタデータに対して必要に応じて解析処理を行って、共通メタデータを生成する。そして、取得部105は、図17のステップS121と同様にして、生成した共通メタデータを、コンテンツ・メタデータ表示部101へ出力する。コンテンツ・メタデータ表示部101は、図17のステップS122と同様にして、出力されたメタデータを、例えばその出力順序に従って、表示部に表示させる。
 以上のように、検索対象の複数のサービスが階層関係を有している場合においても、検出部109が、検索対象となるサービスの追加及び有効化を動的に行い、かつ、第2生成部103が、サービス間の階層関係に応じた検索クエリを生成することで、利用可能なサービスに限定して複数のサービス間に跨った横断的な検索を実現することができている。
[第3の実施の形態]
 次に、受信装置の第3の実施の形態について説明する。なお、上述の第1の実施の形態又は第2の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
 図21は、本実施の形態にかかる受信装置100″の構成を示す図である。本実施の形態にかかる100″は、コンテンツ・メタデータ表示部101、選択部102、第2生成部103、実行制御部104、取得部105、通信部106、メタデータ蓄積管理部201、コンテンツ視聴・スキップ履歴蓄積管理部202、サービス情報蓄積管理部203、キーワード生成・蓄積管理部204、検索クエリ実行履歴蓄積管理部205及びコンテンツ・メタデータ表示部属性情報蓄積管理部206に加え、フィルタ部107及び表示制御部108を有する。また、受信装置100″の通信部106には、ネットワーク301を介してコンテンツ配信サーバ401,402の他コンテンツ配信サーバ403,404と接続される。
 第2生成部103は、上述の第1の実施の形態と同様にして、検索対象の各サービスに対して検索クエリを生成してこれを実行制御部104に出力する。更に、本実施の形態では、第2生成部103は、検索対象のサービスに対して検索クエリに適用できなかった検索条件を表す未適用検索条件リストを取得部105に出力する。あるサービスが、共通検索条件に合致する検索条件属性は備えないが、共通検索条件に合致するメタデータ属性は備える場合、この共通検索条件が、検索クエリでは適用できなかった検索条件に該当する。この検索条件を表す情報が未適用検索条件リストとなる。
 取得部105は、上述の第1の実施の形態と同様にして、実行制御部104から出力される検索クエリを逐次実行して、メタデータを取得し、当該メタデータに対して解析処理を適宜行って、共通メタデータを取得する。また、取得部105は、第2生成部103から出力された未適用検索条件リストをフィルタ部107に出力する。
 フィルタ部107は、取得部105が出力した共通メタデータに対して、取得部105が出力した未適用検索条件リストによって示される、検索クエリでは適用できなかった検索条件を適用させて、共通メタデータをフィルタリングする。即ち、フィルタ部107は、取得部105が出力した共通メタデータから、検索クエリでは適用できなかった検索条件に合致するメタデータを検索し、当該検索条件に合致しないメタデータを削除することにより、共通メタデータをフィルタリングする。この結果、該当のコンテンツが絞り込まれる。
 具体例を挙げると、あるサービスにおいて、検索クエリとして年齢制限情報を指定できないが、受信したメタデータには年齢制限情報が含まれ、共通検索条件に年齢制限情報が含まれる場合、取得部105は、年齢制限情報を除いた検索クエリを当該サービスに対して実行し、適宜解析処理を行って得た共通メタデータと、適用できなかった検索条件として年齢制限情報を表す未適用検索条件リストとをフィルタ部107に出力する。フィルタ部107は、未適用検索条件リストによって示される年齢制限情報と、出力された共通メタデータに属性として含まれる年齢制限情報とを参照して、該当の共通メタデータを検索して検索の結果得られた共通メタデータがフィルタリングの結果となる。このようにして、フィルタ部107は、取得部105から出力されたメタデータをフィルタリングする。そして、フィルタ部107は、フィルタリングした結果得られた共通メタデータを表示制御部108に出力する。
 表示制御部108は、フィルタ部107から出力される共通メタデータであり、複数のサービスから各々受信した共通メタデータの集合をマージして、共通検索クエリに含まれる共通検索条件のうち、マージした共通メタデータの集合にのみ適用可能な検索条件を用いて、コンテンツ・メタデータ表示部101に表示させるメタデータを選択する。例えば、共通検索条件に整列条件が含まれている場合には、表示制御部108は、当該整列条件に従って、マージしたメタデータを整列する整列処理を行い、整列処理後のメタデータを表示部に表示させる。ここで、例えば、表示制御部108は、一定数毎に整列処理を一括して行い、このとき、整列処理の対象となる一定数のメタデータをメタデータ蓄積管理部201にキャッシュする。例えば、表示制御部108は、メタデータ蓄積管理部201と同じテーブル構成を持つオンメモリデータベース(図示せず)を有し、このオンメモリデータベースに、フィルタ部107から出力されるメタデータを逐次記憶させる。
 次に、本実施の形態にかかる受信装置100″の行うメタデータ取得処理の手順について図22~23を用いて説明する。ステップS101,S103~S104は上述の第1の実施の形態と略同様である。尚、ステップS104では、共通検索クエリは、1つのジャンル(G1)、1つのタイトル(T1)、1つのコンテンツ尺(D1)、1つの公開日時(公開/放送開始日時又は公開/放送終了日時)による整列条件(O1)が検索条件として、式4の論理式で表わされる検索式で表現されているとする。
検索式:=(G1)*(T1)*(D1)*(O1)…式4
 具体的には、G1は、ジャンルコード=「映画」を表し、T1は、映画のタイトルに含まれる何らかのキーワード(例えば「ABC」)を表しているものとする。D1は、「60分以内」といったコンテンツ尺の上限を規定しているものとする。コンテンツ尺は、その他「60分から120分」といった範囲を規定するものであっても良いし、「30分以上」といった下限を規定するものであっても良い。共通検索条件は、このような不等号による検索条件をも内包できるものであって良い。O1は、例えば「新着順」などが一般的であり、ここでも「新着順」が整列条件で指定されているものとする。
 次に、選択部102は、ステップS104で出力された共通検索クエリを入力として、上述の第1の実施の形態と同様にステップS105~S106の処理を行って、検索対象となるサービスを選択する。具体的には、本実施の形態では、ジャンルコード=「映画」であるから、映画のコンテンツ及びそのメタデータのみを検索可能に記憶しているサービスを選択しても良いし、映画のコンテンツ及びそのメタデータを多く記憶しているサービスであっても良い。この選択基準については、サービスが対象とするジャンルなどの検索条件属性を、サービス情報として、サービス情報蓄積管理部203が管理することで実現されるが、これは第1の実施の形態と説明が重複するので割愛する。ここでは、結果として、コンテンツ配信サーバ403(サービスS4とする)、コンテンツ配信サーバ404(サービスS5)が検索対象となるサービスとして選択されたものとする。この結果、式4の検索は、以下の式5のように更新される。これを共通検索クエリとして、ステップS107では、選択部102は、検索対象として選択したサービスのサービス情報と共に第2生成部103に出力する。
(S4+S5)*(G1)*(T1)*(D1)*(O1)…式5
 第2生成部103は、ステップS107で出力された、式5の検索式で表される共通検索クエリとサービス情報とを用いて、サービス毎の検索クエリへ展開する。ここでは、コンテンツ配信サーバ403,404共に、REST形式のWebAPIをベースとしたURLを利用した検索条件指定のみを許容しているものとし、SQLのような構造的な(論理表現を許容する)検索条件の記述には対応していないものとする。この場合、第2生成部103は、式5の検索式を積項展開し以下の式6,7を得る。
(S4)*(G1)*(T1)*(D1)*(O1)…式6
(S5)*(G1)*(T1)*(D1)*(O1)…式7
 そして、第2生成部103は、それぞれの式から、サービスS4であるコンテンツ配信サーバ403のサービス情報及びサービスS5であるコンテンツ配信サーバ403、405のサービス情報をサービス情報蓄積管理部203から取得して(ステップS108)、実際の検索クエリ(URL)を各々生成する(ステップS109)。尚、コンテンツ配信サーバ403では、タイトル、ジャンルは検索条件として指定可能であるが、コンテンツ尺、公開日時による整列条件は検索条件として指定できないものとする。第2生成部103は、サービス情報蓄積管理部203に記憶されたサービス情報を用いて、サポートされている検索条件属性を判断する。同時に、第2生成部103は、当該サービス情報から、サポートされているメタデータ属性を参照して、検索クエリの実行結果として得られるメタデータには、コンテンツ尺、及び公開日時の各情報が含まれていることを認識する。ここで、第2生成部103は、検索条件として指定可能なジャンル:G1とタイトル:T1を利用して、以下の検索クエリを生成する。このとき、G1のジャンル=「映画」を、コンテンツ配信サーバ403のジャンルの表記形式に則って「Movie」に変換している。
http://s4.example.com/search_api?genre=Movie&title =ABC&from=1&count=50
 一方、コンテンツ配信サーバ404は、ジャンルによる整列条件は指定可能であるが、タイトル、コンテンツ尺、公開日時による整列条件は検索条件として指定できないものとする。第2生成部103は、サービス情報蓄積管理部203上の当該サービス情報から、キーワードは検索条件として指定可能であること、検索クエリの実行結果として得られるメタデータには、コンテンツ尺、タイトル及び公開日時の各情報が含まれていることを認識する。ここで、第2生成部103は、検索条件としてタイトルをキーワードで代替し、G1とT1とを用いて以下の検索クエリを生成する。
http://s4.example.com/search_api?genre=MOVIE&keyword=ABC
&from=1&count=50
 続いて、第2生成部103は、ステップS109で生成した検索クエリのリストを実行制御部104に出力する(ステップS110)。また、更に、第2生成部103は、検索対象のサービスに対して検索クエリに適用できなかった検索条件を表す未適用検索条件リストを取得部105へ出力する。尚、検索対象のサービスに対して検索クエリに適用できなかった検索条件がなかった場合には、第2生成部103は、未適用検索条件リストを取得部105へ出力しなくても良いし、空値をセットした未適用検索条件リストを取得部105へ出力するようにしても良い。実行制御部104は、上述の第1の実施の形態と同様にステップS111~S112の処理を行い、検索クエリの実行順序を決定し、決定した実行順序に従い、検索クエリを取得部105に逐次出力していく。
 取得部105は、出力された検索クエリを逐次実行していく。ここでは、取得部105は、サービスS4に対応するコンテンツ配信サーバ403及びサービスS5に対応するコンテンツ配信サーバ404へ各々検索クエリを送信する(ステップS130~S131)。これは、URLに検索クエリを含めたHTTPリクエストを、通信部106を介して送信することによって実現される。
 コンテンツ配信サーバ403は、ネットワーク301を介して検索クエリを受信すると、当該検索クエリを実行して、該当するメタデータを取得し、当該メタデータを受信装置100″に送信する(ステップS132)。同様にコンテンツ配信サーバ404も、ネットワーク301を介して検索クエリを受信すると、当該検索クエリを実行して、該当するメタデータを取得し、当該メタデータを受信装置100″に送信する(ステップS133)。
 図23の説明に移る。取得部105は、サービスS4であるコンテンツ配信サーバ403,サービスS5であるコンテンツ配信サーバ404のそれぞれからメタデータを受信すると、当該メタデータに対して解析処理を適宜行い、それぞれから共通メタデータの集合を得て、これらをフィルタ部107へ逐次出力すると共に、第2生成部103から出力された未適用検索条件リストをフィルタ部107へ出力する(ステップS301)。
 フィルタ部107は、ステップS301で出力された共通メタデータの集合を取得すると共に、未適用検索条件リストを適宜取得すると、これらを用いてフィルタ処理を行う(ステップS302~S311)。図24は、フィルタ部107が行うフィルタ処理の詳細な手順を示すフローチャートである。図23のステップS301に続き、フィルタ部107には、取得部105が出力したメタデータが入力され、未適用検索条件リストが入力され得る(ステップS11)。ここでフィルタ部107は、ステップS11で入力された情報を解析して(ステップS12)、未適用検索条件リストが入力されたか否かを判断する(ステップS13)。上述したように、検索対象のサービスに対して検索クエリに適用できなかった検索条件がなかった場合には、未適用検索条件リストが第2生成部103から出力されない場合もあれば、第2生成部103から未適用検索条件リストは出力されるがこれには空値がセットされている場合もある。これらの場合には、フィルタ部107は、未適用検索条件リストが入力されないものと判断する。この場合(ステップS13:NO)、フィルタ部107は、フィルタ処理を行わずに、ステップS11で入力されたメタデータを表示制御部108へ出力する(ステップS17)。一方、未適用検索条件リストが入力された場合(ステップS13:YES)、フィルタ部107は、ステップS11で入力されたメタデータに対して、未適用検索条件リストによって示される検索条件を適用して、当該メタデータをフィルタリングする(ステップS14)。具体的には例えば、コンテンツ配信サーバ403については、適用できなかった検索条件は、コンテンツ尺及び公開日時による整列条件である。コンテンツ配信サーバ404については、適用できなかった検索条件は、タイトル、コンテンツ尺及び公開日時による整列条件である。
 フィルタ部107は、適用できなかったこれらの検索条件のうち、整列条件を除いた検索条件に合致する共通メタデータを共通メタデータの集合から検索することにより、フィルタリングする(ステップS14)。整列条件を除くのは、個別に入力された共通メタデータの集合をマージさせた上でしか適用できないためである。ここでの検索の例としては、例えば、コンテンツ配信サーバ404については、検索条件としてタイトルをキーワードで代替して検索したため、コンテンツ配信サーバ404上は、暗黙的に全文検索した結果を検索クエリの実行結果として返している。このため、受信装置100″が受信したメタデータの集合には、指定したキーワード「ABC」が、メタデータ属性“タイトル”に含まれるものだけでなく、メタデータ属性“概要説明”や“キーワード”にも、指定したキーワード「ABC」含まれるものも混在している。フィルタ部107は、この中から“タイトル”にのみ「ABC」が含まれるものを抽出する。更に、この中でコンテンツ尺が「60分以内」のものに絞り込むことにより、フィルタリングする。このようにしてフィルタ部107は、共通メタデータに含まれる各共通メタデータ属性の値を参照して、検索条件に合致する共通メタデータを検索する。
 そして、フィルタ部107は、検索の結果得られた共通メタデータの件数が所定の件数に達しているか否かを判断する(ステップS15)。所定の件数に満たない場合は、フィルタ部107は、取得部105に対して、メタデータの更なる取得を要求する(ステップS16)。例えば、取得部105が、コンテンツ配信サーバ404から50件のメタデータを取得したとしても、フィルタリングした結果、例えば10件未満に絞り込まれる場合がある。後段の表示制御部108での整列処理や、コンテンツ・メタデータ表示部101での表示処理に所定数のメタデータが必要である場合、ステップS16では、フィルタ部107は、取得部105へ、フィルタリングした結果をフィードバックし、メタデータの更なる取得を要求するのである。上述の検索クエリの具体例では、1件目から50件のメタデータの取得を要求しているが、取得部105は、フィードバックを受けて51件目から50件を指定しての検索クエリの再度の送信を行う。総数100件のメタデータが要求されている場合に、例えば、50件を取得してフィルタリングした結果が10件であったとすると、取得部は件数が20%に絞り込まれることを想定し、合計が250件になるように検索クエリを複数同時に発行しても良い。尚、コンテンツ配信サーバ403においても、検索クエリに適用できなかった検索条件を、フィルタ部107でのフィルタリングに利用するが、コンテンツ配信サーバ404の場合と同様であるため、説明は割愛する。そして、フィルタ部107は、ステップS14の検索の結果得られた共通メタデータ、又はステップS14及びステップS16の検索の結果得られた共通メタデータを表示制御部108へ出力する(ステップS17)。
 図23の説明に戻る。ステップS303は、上述したステップS14に該当し、ステップS304は、上述のS17に該当し、ステップS305~S306は、上述したステップS16に該当する。ステップS308~S311は、ステップS302~S305と略同様である。尚、上述したように公開日時による整列条件については、この段階まで適用されていない。
 一方、表示制御部108は、フィルタ部107から個別に出力される共通メタデータをマージして(ステップS312)、上述の整列条件に従って、マージしたメタデータを整列する整列処理を行う(ステップS313)。具体的には例えば、表示制御部108は、フィルタ部107から逐次出力されるメタデータを一定時間で区切って、その間にフィルタ部107から出力されたメタデータが、公開日時によって降順、即ち、新着順で整列するよう整列処理を一括して行う(一括処理)。
 ここで表示制御部108が行う整列処理の詳細な手順について図25を用いて説明する。表示制御部108は、コンテンツを検索することを要求する操作入力が操作入力部を介して行われたことを検出すると(ステップS21)、メタデータの一括処理を行うトリガ(検索開始トリガ)のタイマーをリセットし、タイマーをカウントさせる(ステップS22)。タイマーのカウントが、予め設定された閾値に達するまでの間(ステップS23:YES)、表示制御部108は、フィルタ部107から出力されるメタデータを、一括処理用のキャッシュ領域へ逐次記憶させていく(ステップS25)。尚、一括処理用のキャッシュ領域の実体は、オンメモリデータベースであることを想定しているが、この限りではない。そしてタイマーのカウントが閾値に達すると、表示制御部108は、一括処理用のキャッシュ領域へ記憶されたメタデータが、公開日時によって降順、即ち、新着順で整列するよう整列処理を一括して行う。
 図23の説明に戻る。ステップS313の後、表示制御部108は、この結果得られるメタデータのうち上位の所定数のメタデータを選択してこれをコンテンツ・メタデータ表示部101に対して出力する(ステップS314)。
 以上のようにして、複数のサービスから各々受信した、一部の検索条件が除外された検索クエリの実行結果であるメタデータに対して、除外された検索条件による検索をフィルタ部107が行ってフィルタリングを行い、表示制御部108が整列処理を行う。このような構成によれば、検索対象となるサービスが複数あって各サービスが有する検索インタフェースが多様である場合、所望のコンテンツを検索するための検索クエリが、各サービスの検索インタフェースに対応させることができない場合であっても、所望のコンテンツを検索するための元の検索式における検索意図を可能な限り維持した検索を実現することができる。
[変形例]
 なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除しても良い。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
 上述した各実施の形態において、受信装置100,100´,100″で各々実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
 上述した各実施の形態においては、サービス情報は、サービス情報蓄積管理部203にプリセットとして予め記憶されるようにしても良いし、該当するコンテンツ配信サーバ401,402から提供されてサービス情報蓄積管理部203に適宜記憶されるようにしても良い。また、後述するように検索クエリ実行履歴蓄積管理部205に記憶された実行結果情報に基づき、サービス情報蓄積管理部203が自動的に生成するようにしても良い。これは、例えば、あるコンテンツ配信サーバ401,402から取得するメタデータに含まれるジャンルを表すメタデータ属性が、検索条件としてジャンルコードを指定していないにも関わらず、例えば、ジャンルの細分である「ニュース」に係るコンテンツのみが得られる場合に、経験則的に得られたこの情報をサービス情報に反映させることで実現される。
 上述した各実施の形態においては、図17及び図22のステップS106では、検索対象として選択したサービスを、共通検索条件として検索式に追加したが、これに限らない。例えば、選択したサービス情報を後段の第2生成部103へ別途入力しても構わない。
 また、上述した各実施の形態においては、選択部102を介さずに、コンテンツ・メタデータ表示部101が生成した、もしくは、ユーザによって指定された検索条件が、直接、後段の第2生成部103に出力されても良い。この場合、検索対象となるサービスは固定的に、例えば、サービス情報蓄積管理部203にサービス情報が記憶されている全てのサービスであっても良い。また、検索対象とするサービスをユーザが選択するインタフェースをコンテンツ・メタデータ表示部101が備えていて、このインタフェースを介して選択されたサービスを検索対象のサービスとするようにしても良い。
 また、上述した各実施の形態においては、検索対象として選択されるサービスの上限を設けても良いし、設けなくても良い。上限を設ける場合、その上限の値として内部的に固定値を定義しても良いし、上限の値をユーザに設定させるインタフェースを受信装置100が備えていてもよい。
 上述した各実施の形態においては、受信装置は、検索クエリを実行することにより、コンテンツやコンテンツのメタデータを検索可能な状態で記憶しているコンテンツ配信サーバからメタデータを取得するようにしたが、これに限らず、少なくともコンテンツのメタデータを検索可能な状態で記憶している情報処理装置を介してメタデータを取得するようにしても良い。
 また、上述した各実施の形態においては、受信装置は、サービスからメタデータを取得した後、当該メタデータによってその属性が表されるコンテンツを、当該サービスから別途取得するようにしても良い。
 上述した第1の実施の形態においては、第2生成部103が生成した検索クエリの実行順序を実行制御部104が決定し、当該実行順序に従って取得部105が検索クエリを実行した。しかし、受信装置100は、実行制御部104を備えず、第2生成部103が生成した検索クエリをその生成順に取得部105が実行するようにしても良い。
 上述した第1の実施の形態においては、サービスS1,S2が共にネットワーク301上に存在しているが、これらが異なるネットワーク上に存在するようにしても良い。例えば、一方がインターネット上に存在し、もう一方がNGN(Next Generation Network)上に存在していても構わないし、Home Network上に存在していても構わない。このように、検索対象のサービスが異なるネットワーク上に遍在していても、通信部106が各ネットワークへのアクセシビリティを有していれば、各サービスを検索対象とすることができる。上述の第2,第3の実施の形態においても同様である。
 上述した第2の実施の形態においては、受信装置100´は、階層関係を有するサービスについて、サービス情報に含まれる検索クエリフォーマットに基づいて、階層関係情報を検索条件属性として含む1つの検索クエリ(上述の例では単一のSQL文)を生成するか、又は、階層関係情報によって階層関係が識別されるサービス毎に検索クエリを生成するかを決定する決定部を更に備えるようにしても良い。この場合、第2生成部103は、決定部の決定に従って、コンテンツ・メタデータ表示部101が生成した共通検索クエリを用いて、検索クエリを生成すれば良い。
 上述した第3の実施の形態においては、取得部105は、メタデータを解析した結果を、フィルタ部107に出力するようにしたが、フィルタ部107を介さず、表示制御部108に出力するようにしても良い。
 又は、第2生成部103は、該当するサービスにおいてメタデータ属性には含まれる共通検索条件属性であれば、受信したメタデータに対してならばフィルタとして適用できる検索条件属性であると判断し、フィルタ部107に、この共通検索条件属性を出力しても良い。
 また、上述の第3の実施の形態においては、表示制御部108が、整列処理の対象として一括処理する共通メタデータの集合を定める方法(一括処理)は、一定時間で区切るようにしているが、この方法以外にも、所定の件数で区切るようにしても良いし、検索対象としたサービス毎に所定の件数ずつ区切るようにしても良い。このように一括処理する単位の決定には、様々な方法が適用可能である。更に、表示制御部108は、コンテンツ・メタデータ表示部101へ表示するメタデータを絞り込むために、整列処理後の共通メタデータのうち上位の所定数の共通メタデータを選択するのではなく、例えば、コンテンツ視聴・スキップ履歴蓄積管理部202に記憶された再生履歴情報及びスキップ履歴情報や、キーワード生成・蓄積管理部204に記憶されたキーワード情報に基づいて、再生の頻度の高いサービスのコンテンツを優先し、当該コンテンツに対応する共通メタデータから順に選択するようにしても良い。又は、コンテンツ視聴・スキップ履歴蓄積管理部202に記憶された再生履歴情報及びスキップ履歴情報を用いて、ユーザの嗜好を解析する機能を受信装置100″が更に有し、表示制御部108は、当該ユーザの嗜好を用いて、ユーザの嗜好の度の高いコンテンツを優先し、当該コンテンツに対応する共通メタデータから順に選択するようにしても良い。又は、再生中のコンテンツに関連するコンテンツを検索する場合に、再生中のコンテンツのメタデータのメタデータ属性と、メタデータ蓄積管理部201に記憶されたメタデータのメタデータ属性との合致度からこれらの類似度を算出する機能を受信装置100″が更に有し、この類似度の高いコンテンツを優先し、当該コンテンツに対応する共通メタデータから順に選択するようにしても良い。
 また、上述の第3の実施の形態においては、表示制御部108は、例えば20件を表示部に表示させると同時に、続いて参照され得る21件目からの所定の件数の共通メタデータをメタデータ蓄積管理部201、もしくは、表示制御部108自体が有するオンメモリデータベース上にキャッシュしても良い。この場合、上述した表示するメタデータの選択と同様に、表示制御部108は、コンテンツ視聴・スキップ履歴蓄積管理部202に記憶された再生履歴情報及びスキップ履歴情報を用いて、ユーザが辿り得るメタデータの件数を記憶しておき、この件数を用いて、キャッシュする件数を定めるようにしても良い。
 また、上述の第3の実施の形態においては、表示制御部108は、フィルタ部107から出力された共通メタデータに対して、公開日時などによる整列条件などの指定された整列条件に従って、整列処理を行った。しかし、これに限らず、例えば、再生中のコンテンツとの類似度や、コンテンツ視聴・スキップ履歴蓄積管理部202に記憶された再生履歴情報及びスキップ履歴情報を用いて解析されたユーザの嗜好を用いて、フィルタ部107から出力された共通メタデータに対して整列処理を行うようにしても良い。
 また、上述の第3の実施の形態においては、未適用検索条件リストは、取得部105を介してフィルタ部107に入力されるようにしたが、第2生成部103からフィルタ部107に直接入力されるようにしても良い。
100,100´,100″ 受信装置
101 コンテンツ・メタデータ表示部
101a 第1生成部
102 選択部
103 第2生成部
104 実行制御部
105 取得部
106 通信部
107 フィルタ部
108 表示制御部
109 検出部
201,201b,201c メタデータ蓄積管理部
202 コンテンツ視聴・スキップ履歴蓄積管理部
203 サービス情報蓄積管理部
204 キーワード生成・蓄積管理部
205 検索クエリ実行履歴蓄積管理部
206 コンテンツ・メタデータ表示部属性情報蓄積管理部
301,302 ネットワーク
401,402,403,404 コンテンツ配信サーバ

Claims (10)

  1.  コンテンツの属性を表す属性情報を検索可能な状態で記憶している装置であってネットワークを介して接続可能な記憶装置における検索形態と当該記憶装置に接続するための接続方法とを表すサービス情報を記憶する記憶部と、
     コンテンツを検索するための検索条件を表す検索クエリであって、前記属性のうちいずれかを表す検索条件属性を当該受信装置において表現方法を統一した共通検索条件属性及び当該共通検索条件属性のとり得る値である共通検索属性値の対を少なくとも1つ以上含む共通検索クエリを生成する第1生成部と、
     生成された前記共通検索クエリを用いて、前記サービス情報によって示される検索形態に応じた検索クエリを生成する第2生成部と、
     生成された前記検索クエリを、前記サービス情報によって示される接続方法に基づいて、前記記憶装置へ送信する送信部と、
     前記検索クエリの実行の結果得られた前記属性情報を前記記憶装置から受信する受信部とを備える
    ことを特徴とする受信装置。
  2.  前記属性情報は、メタデータであり、
     前記サービス情報は、前記検索クエリの実行の結果として提供可能な前記メタデータによって表される属性であるメタデータ属性及び当該メタデータの記述形式であるメタデータ記述形式と、前記検索クエリに検索条件として指定可能な前記メタデータ属性を表す検索条件属性と、前記記憶装置が処理可能な前記検索クエリの記述形式である検索クエリ記述形式と、前記メタデータ属性と、前記検索条件属性と前記共通検索条件属性との対応関係を表すメタデータ属性変換テーブルとを更に表し、
     前記第2生成部は、前記メタデータ属性変換テーブルを用いて、前記共通検索クエリに含まれる前記共通検索条件属性を変換した前記検索条件属性を含み前記検索クエリ記述形式で記述された前記検索クエリを生成する
    ことを特徴とする請求項1に記載の受信装置。
  3.  前記サービス情報は、前記記憶装置毎に定義された前記検索条件属性が取り得る値である検索条件属性値と前記共通検索条件属性値との対応関係を表す属性値変換テーブル情報とを更に表し、
     前記第2生成部は、前記メタデータ属性変換テーブルを用いて、前記共通検索クエリに含まれる前記共通検索条件属性を変換した前記検索条件属性を含むと共に、前記メタデータ属性値変換テーブルを用いて、前記共通検索クエリに含まれる前記共通検索条件属性値を変換した前記検索条件属性値を含み前記検索クエリ記述形式で記述された前記検索クエリを生成する
    ことを特徴とする請求項2に記載の受信装置。
  4.  前記サービス情報は、前記共通検索条件属性のとり得る値である共通検索条件属性値が、当該サービス情報によってその接続方法が表される前記記憶装置に記憶されている前記メタデータがその属性が表されるコンテンツの全てに該当する場合に、当該共通検索条件属性及び当該共通検索条件属性値の対を更に表す
    ことを特徴とする請求項2に記載の受信装置。
  5.  前記共通検索クエリは、複数の検索条件の関係が論理式で表現され、
     前記サービス情報は、前記記憶装置が処理可能な前記検索クエリの記述形式である検索クエリ記述形式を更に表し、
     前記第2生成部は、前記サービス情報によって表される前記検索クエリ記述形式が、論理式での記述が可能であることを示す場合、前記論理式で表現される前記検索クエリを前記共通検索クエリから生成し、前記検索クエリ記述形式が、論理式での記述が可能でないことを示す場合、前記論理式を積項展開し、各積項を用いて、複数の前記検索クエリを前記共通検索クエリから生成する
    ことを特徴とする請求項1に記載の受信装置。
  6.  前記共通検索クエリは、前記サービス情報を識別するサービス識別子を共通検索条件属性に含み、複数の前記記憶装置が階層関係を有する場合、前記階層関係を識別するための階層関係情報を前記共通検索条件属性に含み、
     前記サービス情報によって表される前記検索クエリ記述形式に基づいて、前記階層関係情報を前記検索条件属性として含む1つの前記検索クエリを生成するか、又は、前記階層関係情報によって階層関係が識別される前記記憶装置毎に前記検索クエリを生成するかを決定する決定部を更に備え、
     前記第2生成部は、前記決定部の決定に従って、生成された前記共通検索クエリを用いて、前記検索クエリを生成する
    ことを特徴とする請求項2に記載の受信装置。
  7.  前記共通検索クエリに含まれる前記共通検索条件属性と前記サービス情報によって前記対応関係が示される前記共通検索条件属性との合致度に基づいて、前記サービス情報を選択し、当該サービス情報によってその接続方法が表される前記記憶装置を検索対象として選択する選択部を更に備え、
     前記第2生成部は、生成された前記共通検索クエリを用いて、選択された前記記憶装置の前記サービス情報によって表される検索形態に応じた前記検索クエリを生成する
    ことを特徴とする請求項2に記載の受信装置。
  8.  生成された複数の前記検索クエリの実行順序を制御する実行制御部を更に備える
    ことを特徴とする請求項1に記載の受信装置。
  9.  前記第2生成部は、前記サービス情報において前記検索条件属性には含まれないが提供可能な前記メタデータ属性には含まれる第1の前記共通検索条件属性が、前記共通検索クエリに含まれる場合、前記第1の共通検索条件属性及び当該第1の共通検索条件属性がとり得る値である第1の共通検索条件属性値を除いた前記共通検索クエリから前記検索クエリを生成し、
     前記第1の共通検索属性及び前記第1の共通検索属性値を用いて、受信された前記メタデータをフィルタリングするフィルタ部を更に備える
    ことを特徴とする請求項2に記載の受信装置。
  10.  受信された前記メタデータを表示部に表示させる表示制御部であって、前記サービス情報において前記検索条件属性には含まれないが提供可能な前記メタデータ属性には含まれる第1の前記共通検索条件属性が、前記共通検索クエリに含まれる場合且つ当該検索条件属性が、前記メタデータを表示させる前に、複数の前記記憶装置から各々取得した複数の前記メタデータを統合した後に適用可能な処理条件を表す場合に、受信された前記メタデータの全部又は一部を統合し、統合した前記メタデータに対して前記検索条件属性によって表される前記処理条件を適用して、当該メタデータを表示部に表示させる表示制御部を更に備える
    ことを特徴とする請求項2に記載の受信装置。
PCT/JP2009/063605 2009-07-30 2009-07-30 受信装置 WO2011013234A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011524588A JPWO2011013234A1 (ja) 2009-07-30 2009-07-30 受信装置
CN200980160685.3A CN102473180B (zh) 2009-07-30 2009-07-30 接收装置
PCT/JP2009/063605 WO2011013234A1 (ja) 2009-07-30 2009-07-30 受信装置
US13/356,708 US8862607B2 (en) 2009-07-30 2012-01-24 Content receiving apparatus with search query generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/063605 WO2011013234A1 (ja) 2009-07-30 2009-07-30 受信装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/356,708 Continuation US8862607B2 (en) 2009-07-30 2012-01-24 Content receiving apparatus with search query generator

Publications (1)

Publication Number Publication Date
WO2011013234A1 true WO2011013234A1 (ja) 2011-02-03

Family

ID=43528911

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/063605 WO2011013234A1 (ja) 2009-07-30 2009-07-30 受信装置

Country Status (4)

Country Link
US (1) US8862607B2 (ja)
JP (1) JPWO2011013234A1 (ja)
CN (1) CN102473180B (ja)
WO (1) WO2011013234A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014219767A (ja) * 2013-05-02 2014-11-20 グリー株式会社 メッセージ送受信支援システム、メッセージ送受信支援プログラム及びメッセージ送受信支援方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103069410A (zh) 2010-06-30 2013-04-24 惠普发展公司,有限责任合伙企业 用于服务推荐服务的系统和方法
WO2012002952A1 (en) * 2010-06-30 2012-01-05 Hewlett-Packard Development Company, L.P. System and method for a serialized data service
JP5552448B2 (ja) * 2011-01-28 2014-07-16 株式会社日立製作所 検索式生成装置、検索システム、検索式生成方法
CN103970777B (zh) * 2013-01-30 2017-07-18 金蝶软件(中国)有限公司 对表格数据进行批量操作的方法和装置
JP2014170491A (ja) * 2013-03-05 2014-09-18 Fuji Xerox Co Ltd 中継装置、システム及びプログラム
JP6264946B2 (ja) * 2014-03-03 2018-01-24 富士通株式会社 データ収集方法、及びデータ収集装置
US9665617B1 (en) * 2014-04-16 2017-05-30 Google Inc. Methods and systems for generating a stable identifier for nodes likely including primary content within an information resource
US9727566B2 (en) * 2014-08-26 2017-08-08 Nbcuniversal Media, Llc Selecting adaptive secondary content based on a profile of primary content
US10650085B2 (en) * 2015-03-26 2020-05-12 Microsoft Technology Licensing, Llc Providing interactive preview of content within communication
KR20170010574A (ko) * 2015-07-20 2017-02-01 삼성전자주식회사 정보처리장치, 영상처리장치 및 그들의 제어방법
JP6600203B2 (ja) * 2015-09-15 2019-10-30 キヤノン株式会社 情報処理装置、情報処理方法、コンテンツ管理システム、およびプログラム
US20180074967A1 (en) * 2016-09-09 2018-03-15 Sap Se Paging Mechanism for In-Memory Data Management System
US10241848B2 (en) 2016-09-30 2019-03-26 Microsoft Technology Licensing, Llc Personalized diagnostics, troubleshooting, recovery, and notification based on application state
US10476768B2 (en) 2016-10-03 2019-11-12 Microsoft Technology Licensing, Llc Diagnostic and recovery signals for disconnected applications in hosted service environment
US10726039B2 (en) * 2016-11-29 2020-07-28 Salesforce.Com, Inc. Systems and methods for updating database indexes
US10956419B2 (en) * 2019-04-03 2021-03-23 Salesforce.Com, Inc. Enhanced search functions against custom indexes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308335A (ja) * 2002-04-15 2003-10-31 Just Syst Corp 文書検索システム及び方法、並びにプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324578A (ja) 1992-02-26 1993-12-07 Nec Corp 分散処理型アプリケーションシステム構成方式
JP2000315206A (ja) * 1999-04-30 2000-11-14 Fujitsu Ltd 検索条件の組み合わせに基づく検索システムおよび方法
US7146362B2 (en) * 2002-08-28 2006-12-05 Bpallen Technologies Llc Method and apparatus for using faceted metadata to navigate through information resources
US7158969B2 (en) * 2003-06-12 2007-01-02 International Business Machines Corporation Iterative data analysis process via query result augmentation and result data feedback
US20060085391A1 (en) * 2004-09-24 2006-04-20 Microsoft Corporation Automatic query suggestions
US7853961B2 (en) * 2005-02-28 2010-12-14 Microsoft Corporation Platform for data services across disparate application frameworks
US7680781B1 (en) * 2005-03-04 2010-03-16 Teradata Us, Inc. Automatic search query generation and results set management
US20070067388A1 (en) * 2005-09-21 2007-03-22 Angelov Dimitar V System and method for configuration to web services descriptor
US8255376B2 (en) * 2006-04-19 2012-08-28 Google Inc. Augmenting queries with synonyms from synonyms map
JP2007328661A (ja) 2006-06-09 2007-12-20 Sony Corp 情報処理装置および方法、並びにプログラム
US7822762B2 (en) * 2006-06-28 2010-10-26 Microsoft Corporation Entity-specific search model
JP4932447B2 (ja) 2006-11-15 2012-05-16 シャープ株式会社 ユーザ端末、その制御プログラム、コンテンツ案内システムならびに制御方法
US7647338B2 (en) * 2007-02-21 2010-01-12 Microsoft Corporation Content item query formulation
JP5094168B2 (ja) 2007-03-13 2012-12-12 シャープ株式会社 コンテンツ再生装置および映像表示システム
US8224839B2 (en) * 2009-04-07 2012-07-17 Microsoft Corporation Search query extension
US20110307504A1 (en) * 2010-06-09 2011-12-15 Microsoft Corporation Combining attribute refinements and textual queries

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308335A (ja) * 2002-04-15 2003-10-31 Just Syst Corp 文書検索システム及び方法、並びにプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MATHKOUR H. ET AL: "An intelligent mediator for heterogeneous data sources", THE 9TH ASIA-PACIFIC CONFERENCE ON COMMUNICATIONS, 2003. APCC 2003, vol. 3, 22 March 2004 (2004-03-22), pages 1002 - 1006, XP010687952, DOI: doi:10.1109/APCC.2003.1274249 *
TAKEHIRO FURUDATE ET AL.: "Bunsan Object ni yoru Ishu Johogen no Togo Riyo Kankyo", IEICE TECHNICAL REPORT, vol. 98, no. 3, 14 October 1998 (1998-10-14), pages 69 - 76 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014219767A (ja) * 2013-05-02 2014-11-20 グリー株式会社 メッセージ送受信支援システム、メッセージ送受信支援プログラム及びメッセージ送受信支援方法

Also Published As

Publication number Publication date
JPWO2011013234A1 (ja) 2013-01-07
CN102473180B (zh) 2015-06-10
US20120179703A1 (en) 2012-07-12
CN102473180A (zh) 2012-05-23
US8862607B2 (en) 2014-10-14

Similar Documents

Publication Publication Date Title
WO2011013234A1 (ja) 受信装置
US8843467B2 (en) Method and system for providing relevant information to a user of a device in a local network
JP5523302B2 (ja) ネットワークでコンテンツに関連する潜在的なユーザクエリを判断して事前−プロセシングする方法およびシステム
US8782056B2 (en) Method and system for facilitating information searching on electronic devices
US8412763B2 (en) Podcast organization and usage at a computing device
KR101159726B1 (ko) 정보 액세스 시스템, 정보 제공 장치, 정보 액세스 장치,정보 제공 방법 및 정보 액세스 방법
KR101141393B1 (ko) 메타데이터 중개 서버 및 방법
US20080183681A1 (en) Method and system for facilitating information searching on electronic devices
US20120317136A1 (en) Systems and methods for domain-specific tokenization
JP4922245B2 (ja) 視聴したコンテンツに関連する広告情報を提供するサーバ、方法及びプログラム
US20090025054A1 (en) Method and system for access to content in a content space
US10133780B2 (en) Methods, systems, and computer program products for determining availability of presentable content
US20090055393A1 (en) Method and system for facilitating information searching on electronic devices based on metadata information
KR102081181B1 (ko) 디바이스 상의 결합된 활동 히스토리
JP2005056361A (ja) 情報処理装置および方法、プログラム、並びに記録媒体
JP4151486B2 (ja) 情報アクセス方法,情報提供装置,メタ情報提供装置,情報受信装置,および情報アクセス方法
JP2009289092A (ja) 情報処理装置、推薦方法、プログラム及び記録媒体
WO2010081378A1 (zh) 一种服务器、数字电视接收终端和节目信息显示系统与方法
JP5784182B2 (ja) 受信装置、クエリ生成方法、および、プログラム
JP5211091B2 (ja) 端末装置、コンテンツナビゲーションプログラム、コンテンツナビゲーションプログラムを記録した記録媒体、およびコンテンツナビゲーション方法
JP2009070210A (ja) カテゴリ別ランキング作成装置
JP2005056359A (ja) 情報処理装置および方法、プログラム、並びに記録媒体
Döller et al. Standardized Multimedia Retrieval based on Web Service technologies and the MPEG Query Format.
JP2009110291A (ja) 情報提供サーバおよび情報提供方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980160685.3

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09847825

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011524588

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09847825

Country of ref document: EP

Kind code of ref document: A1