WO2008003818A2 - Method and arrangement for digital content delivery - Google Patents

Method and arrangement for digital content delivery Download PDF

Info

Publication number
WO2008003818A2
WO2008003818A2 PCT/FI2007/000186 FI2007000186W WO2008003818A2 WO 2008003818 A2 WO2008003818 A2 WO 2008003818A2 FI 2007000186 W FI2007000186 W FI 2007000186W WO 2008003818 A2 WO2008003818 A2 WO 2008003818A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
meta
segment
segments
content
Prior art date
Application number
PCT/FI2007/000186
Other languages
French (fr)
Other versions
WO2008003818A3 (en
Inventor
Timo Hotti
Original Assignee
Iprbox Oy
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
Priority claimed from FI20060655A external-priority patent/FI20060655A0/en
Priority claimed from FI20060677A external-priority patent/FI20060677A0/en
Application filed by Iprbox Oy filed Critical Iprbox Oy
Publication of WO2008003818A2 publication Critical patent/WO2008003818A2/en
Publication of WO2008003818A3 publication Critical patent/WO2008003818A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • H04N21/44224Monitoring of user activity on external systems, e.g. Internet browsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Computer Graphics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention concerns method for making segments of at least one digital multimedia stream available to a terminal device according to a subscription. The invention is characterized in that the method comprises steps of associating at least one segment with at least one meta-data item, determining a set of segments available for subscription, establishing a subscribed set of segments from the set of segments available for subscription using at least one data selection rule and meta-data item of at least one segment and making at least one segment of the subscribed set of segments available to at least one subscriber and/or terminal device. An arrangement capable of executing the method is also disclosed.

Description

METHOD AND ARRANGEMENT FOR DIGITAL CONTENT DELIVERY
TECHNICAL FIELD OF INVENTION
The invention relates to a method and arrangement for delivering digital content to terminal devices.
BACKGROUND OF THE INVENTION
There are a multitude of techniques known by prior art to deliver digital content to users.
A Video on Demand (VoD) system typically consists of an array of video servers from where users may search and stream or download video streams for viewing. To find a video, the user of the system may browse directory listings or search for available videos using keyword searches. An advanced VoD system may also maintain usage history of the user to learn about the habits of the user and suggest content that might be of interest to the user. A VoD system may also provide user an option to pay for the content by viewing commercial advertisements or use money as payment.
Some systems provide a notification mechanism to inform users about new content, such as news items, that may be of interest to the user. For example, some news web sites allow specifying an alert whenever a news item containing a specified keyword enters the content delivery system. The alert typically contains a Uniform Resource Locator (URL) that points to the HTML page or other source of content that contains the news item.
Some photo sharing services such as Flickr™ allow users to create "tags" on content that has been made available on the web site. Tags are pieces of meta- data that can be used for describing the content. Content can also be searched based on the tags.
Some other photo sharing services such as FilmLoop™ allow grouping a set of photos into a package that is made downloadable to the users of the service. Pictures may be added to or removed from an existing package and local copies of the package downloaded to users' terminals are updated accordingly. Users may enter comments about the pictures and the service distributes the comments to other users of the service who have downloaded the package.
For facilitating scalable content delivery services to millions of concurrent users, some companies like Akamai™ host a network of distribution servers to which multiple copies of the digital content may be stored. When a user wants to access some content, the service directs the request to nearest and/or least busy server that has a copy of the content.
Implementing computer software that deal with complex data often requires advanced data management capabilities such as strong data modeling, querying and transaction management capabilities from the software. Relational databases are known in the prior art for such capabilities. Relational databases may also share data with each other using messaging or data synchronization techniques.
Patent application WO 03/079220 discloses a method and system for creation, delivery and presentation of time-synchronized multimedia presentations.
Patent application US 2005/0141542 discloses a personalization module for interactive digital television system.
Patent application WO 01/82597 discloses a method and system for viewer selectable advertising. Patent application US 2005/0034151 discloses a system and method of integrating video content with interactive elements.
Patent US 5926624 discloses a digital information library and delivery system with logic for generating files targeted to the playback device.
Patent application US 2004/0068532 teaches a system for supporting production, management and delivery of media content for wireless devices.
The prior art does not properly teach methods and systems for providing filtered and enriched fine-grained content feed including additional features. User may have number of different terminals to which he/she wants to have content that is relevant to his/her needs and usable in the particular terminal. The different terminals often have different capabilities and user interfaces. A method and arrangement that takes this kind of aspects into consideration in a digital content delivery system would be beneficial.
OBJECT OF THE INVENTION
The object of the present invention is to provide a method and system for providing streaming multimedia content to a number of subscribers' terminals that may have different capabilities.
SUMMARY OF THE INVENTION
Digital multimedia content, e.g. streaming video of a content delivery system of the present invention is stored in a streaming server. The content may be stored in the server in a manner that allows any part of the content stream, i.e. a content segment, to be identified, accessed and downloaded to a rendering terminal in an efficient manner. In a large system, there may be any number of streaming servers and copies of the same video stream may reside in one or multiple servers.
In the present invention, the streaming data is enhanced by defining separately accessible and/or downloadable segments of the stream and characterizing the segments by attaching any amount of meta-data to the segment. An identifiable default set of segments that is available for subscription is called a channel. A segment may have one or multiple properties that may be used for determining whether the segment belongs to the channel or not.
The segmenting data and meta-data according to the present invention may e.g. for scalability reasons reside advantageously in a different (set of) computer(s) than the streaming data to which the segments refer. The streaming data may be stored in the server and/or terminal devices of the system as a plurality of separately accessible and/or downloadable pieces ("slices").
The segmenting and annotation of streaming data, e.g. a video stream makes the streaming data more usable and relevant to the individuals viewing the video. To segment a stream, a user ("editor user") may for example download the stream from a streaming server and create segmenting data items about the stream using a content editing and annotation tool. The editor user may also use an already existing set of segments of the stream as the starting point of the editing work. The segmenting tool program may be runnable in a personal computer or in a set-top box, for example. Typically, each created segmenting data item comprises or is associated with data that can be used for identifying begin and/or end point of the segment in the stream. Generally, a data item may be represented by one or multiple rows in one or multiple tables of a relational database, for example. Additionally, the segmenting data item may contain other data fields such as a name of the segment, creator of the segment, creation time of the segment, expiration date of the segment or identifier of the channel to which the segment belongs to. The expiration date may represent a date after which the segment does not belong to the default set of segments of the channel any more. Any of these exemplary data fields may be associated with the segment data item as separate meta-data items instead.
To further enhance the content, the editor user may in the present invention associate meta-data items with the segmenting data. Meta-data is data that is used to describe some other data. The data being described in this context may be streaming data, a segmenting data item or another meta-data item that may be described, characterized, classified, rated or enriched by the meta-data item.
The meta-data items may use an ontology that may be shared e.g. within the channel. Different channels may use different ontology data or they may share at least part of a common set of ontology data. Ontology is a specification of a conceptualization of a knowledge domain. Ontology is a controlled vocabulary that describes objects and the relations between them in a formal way, and may have a grammar for using the vocabulary terms to express something meaningful within a specified domain of interest. The vocabulary can be used to make queries and assertions. Ontological commitments are agreements to use the vocabulary in a consistent way for knowledge sharing. Sharing the ontology data within a channel provides thus a way to develop a common language within the channel. The common language can be used in characterizing the content (i.e. as enumerated meta-data) and searching the content. Ontology data may also be used for facilitating inter-personal communication within the channel. Copies of the ontology data may advantageously be distributed to the various devices of the subscribers of the channel.
An ontology may be maintained by the subscribers of the channel itself or it may be maintained by some third party. A channel may also copy initial ontology data from some other channel but choose to maintain at least part of the ontology data itself.
The segmenting data items along with the related meta-data items are stored in a server called segmenting server from which they can be made available to other members of a television channel that wants to share the same edited and enriched content. An identifiable set of streaming data segments along with the streaming data associable with the segments form the content of a channel that the members of the channel may subscribe to. The viewers subscribing to the channel may view the segment data as well as the streaming content related to the segments and possibly also contribute to the channel by adding new metadata to the segments or updating existing meta-data of the channel. Such additional meta-data may for example be viewer's rating of a segment or viewer's written or spoken comment about the segment or about a comment of another viewer.
The channel may also comprise sub-channels where a subset of subscribers of the main channel participates and maintain their own, supplementary set of meta-data. For example, a main channel may have very large number, e.g. 10 million subscribers but there may be a very large number, e.g. one million, sub- channels who all share the same common segmenting data and meta-data of the main channel but each sub-channel has its own discussions among a group of 10 members on average, for example. The supplementary meta-data created in the sub-channels may be stored in different servers than the meta-data of the main channel. The server serving a sub-channel may maintain a copy of the segmenting data and meta-data created for the main channel. Data synchronization between relational databases is one possible way to maintain for example copies of the meta-data of the main channel in different servers. This provides a way to scale up the system to support even large number of channels and users.
All content and/or meta-data included into a channel by the editor(s) may not necessarily be relevant to all subscribers of the channel. Moreover, all content and/or meta-data may not be practical to be viewed in all terminal devices as the capabilities of the terminals vary. The present invention discloses a filtering method and arrangement to improve the relevance of the content and meta-data of a channel to the subscriber. To filter out irrelevant content and/or meta-data from the channel, a subscriber of the channel may specify rules in his subscription to exclude some segments and/or meta-data items of the channel from being available for viewing at one or multiple terminals of the subscriber. Similarly, subscriber may use rules to include additional content segments to be available at one or multiple terminals of the subscriber as part of the subscription of the channel. The rules use the meta-data items for determining, which content segments match with the rule. For example, a subscriber may filter out segments that cover the game of cricket from a channel that contains sports as the subscriber is generally not interested in such content. Further, a subscriber may e.g. filter out all but segments ranked as "important" from a channel when the content is directed to a mobile terminal. It may also be impractical to have e.g. meta-data related to discussions made available at limited-capability devices, e.g. mobile terminals through which the user may not be able to participate in the discussion in any practical manner. The filtering is advantageously based on the meta-data of the content. The ontology data of the channel may be utilized when specifying the filters and the meta-data. The rules may reside and they may be executed either in a server device or in a terminal device of the system. Similarly, segmenting data and meta-data being used by the rules may reside in server devices, terminal devices or both.
In addition to the abovementioned filtering rules that exclude content from the default set of content of the channel, there may also be rules that make additional content available to the user's terminal on top of the default content of the channel. For example, there may be a rule that maintains in the subscriber's terminal always the Top-10 home runs of current baseball season even if the segments have already been excluded from the default content of the channel because of e.g. expiration. Which home runs belong to the top-10 list may be voted by the subscribers of the channel. Segment-specific meta-data of the invention may be used as the means to implement such voting mechanism.
The subscribers of the channel may access the segmenting data and meta-data items from the segmenting server on-line or local copies of the data items may be downloaded to a local server, e.g. a home server or rendering device such as set-top box, mobile terminal or PC of the subscriber. Further, the subscriber of the channel may download and store a local copy of the streaming data prior to rendering the data or stream the data on-line. A "local copy" here means a copy of data stored in a local storage device of e.g. a terminal device. The selection of the streaming data to be downloaded or streamed may be done according to the segmenting data. Streaming data may be accessed from a streaming server that hosts a copy of at least part of the content stream specified by the segmenting data. For a channel having a large subscriber base, there may be multiple segmenting servers and/or streaming servers serving the channel to enable proper scalability of the system.
In addition to viewing the content stream associated with a segment, the subscribers may also access and use the meta-data related to the segment. The subscribers may also create new meta-data items that are associated with one or multiple segments of the stream. For example, a subscriber may indicate through a meta-data item that he/she has viewed the stream of the segment. A segment's meta-data item may comprise any data type, including a multimedia stream such as voice or video stream or a piece of computer executable program code.
The user-generated meta-data may also act as the means of inter-personal communication within the channel. For example, a subscriber of a channel may create a voice stream containing speech and attach that into a content segment as a meta-data item. The meta-data item may for example contain person's opinion (e.g. grade, text comment or spoken opinion) about a home run of a baseball game. The inter-personal communication may also utilize the ontology that is being used within the channel.
In addition to being associated with a segment, a meta-data item may also be associated with e.g. another meta-data item, a terminal or a subscriber. Thus, for example the meta-data items created by the subscribers and associated with a content segment may also be organized in a hierarchical manner, forming discussion threads. The hierarchy of meta-data items can be achieved for example by linking a meta-data item to another meta-data item, instead of (or in addition to) a segmenting data item. A subscriber may thus create for example a response to a voice stream created by another subscriber of the channel. Like the original meta-data item to which the subscriber responded, the response meta-data item may be of any data type.
A meta-data item may be addressable to at least one identifiable subscriber or subscriber group of the system. Thus, a meta-data item of segment may also act for example as feedback information to the channel's editor(s). For example, if the channel has been specializing in kids' programming, a parent may send feedback to the editor if some segment has content that is not deemed appropriate by the parent. The editor may then act accordingly to maintain viewer satisfaction within the channel.
Further, a meta-data item may contain information for example about rating of the segment. If the viewer of a channel is e.g. under 13 years old, such segments of a movie that contain violence, may be automatically filtered out from the movie, should that be desired by the subscriber of the channel.
A meta-data item may also contain instructions to manipulate, e.g. scramble a part of the spatial area of the video image or audio stream of a segment.
A segment may also have pricing information attached to it, advantageously as a (set of) meta-data item(s). The "price tag" of a segment may be a positive or negative one. Positive price tag means that viewing the segment costs user money. Negative price tag means that viewing a segment credits money to user's account. For example, a minute of highlights of a baseball game may require one credit. On the other hand, viewing a 10 second commercial advertisement may give the user one credit. Each credit may be worth some amount of money. This way, the user may choose whether to pay for the content with money or by viewing commercials. A channel may also for example contain premium content such as highlights of baseball games of the last week as well as commercials. The premium content may have been chosen by the editor member(s) of the channel who created segmenting data and meta-data about the video streams of the week's baseball games. The editor members of the channel may decide which commercials are most probably of interest among the subscribers of the channel and choose those commercials to be included into the content channels as content segments. The price the advertiser pays for the commercial may at least partially be dependent on how popular the commercial becomes within the viewer communities. If the editor is successful in selecting attractive commercials for the channel, the editor may gain a share of the fee surplus as a reward. Advertisement segments may be by default included in the channel but they may be filtered out, should the user prefer paying for the content.
The effectiveness of commercials may be measured in multiple different ways. A user may attach a feedback meta-data tag to the segment containing the commercial or the user may request additional info about the product/service. The additional info may be delivered as an URL that is sent for example to a web-based "work queue" of the subscriber. Info about viewer feedback and info requests may be channeled back to the advertisers' systems.
When an editor user creates a new content channel, he/she may advertise the channel to the potential subscribers allowing anyone join the channel. Alternatively, the creator of the channel may invite only selected individuals to join the channel.
Any of the streaming servers and segmenting servers of an arrangement of the invention may be made highly available by maintaining an exact, transactionally consistent copy of all the data of the primary server in another server computer called secondary server. The servers may be for example relational database servers. The servers should advantageously be capable of managing efficiently data of any data type, including streaming data. Transactional consistency means that all data of a transaction is stored in the server in an atomic, consistent and durable manner. In case of an error in the primary server, the secondary server takes over the responsibilities of the primary server. When the original primary server comes back available, its data is synchronized with the new primary server and the original primary server continues serving as a new secondary server.
The invention concerns a method for making at least one segment of at least one digital multimedia stream available to a terminal device according to a subscription, the at least one segment being associated with at least one meta- data item. The invention is characterized in that the method comprises steps of determining a default set of segments available for subscription, establishing and/or maintaining a subscribed set of segments from the set of segments available for subscription using at least one data selection rule and meta-data item of at least one segment and maintaining a local copy of streaming data associated with at least one segment of the subscribed set of segments in at least one terminal device.
The stream corresponding to the segment may be separately maintainable in the terminal device.
The maintaining of a local copy of streaming data may comprise add, update and/or delete operations of streaming data.
The method of the invention may further be characterized in that the subscribed set of segments is established and/or maintained by doing at least one of the following: exclude at least one segment and/or at least one meta-data item from the default set of segments and meta-data items available for subscription and include at least one additional segment and/or at least one meta-data item to the subscribed set of segments and meta-data items.
Segment of a subscribed channel and/or streaming data related to the segment may be automatically deleted from a local terminal when the segment e.g. expires or is otherwise removed from the default set of segments available for subscription.
The method of the invention may further be characterized in that said terminal device stores a local copy of at least one segmenting data item and/or meta-data item that has been made available to said terminal device.
The method of the invention may further be characterized in that a data value of the data selection rule is compared with a data value of at least one meta-data item of said content segment to determine a match between the rule and the meta-data item and/or the segmenting data item.
The method of the invention may further be characterized in that at least one meta-data item is further associated with at least one of the following: at least one subscriber, at least one terminal device or at least one second meta-data item.
The method of the invention may further be characterized in that the meta-data item and/or segmenting data item is created in said terminal device and sent to a computer server for further delivery to at least one second terminal device.
The method of the invention may further be characterized in that the meta-data item or segmenting data item comprises information related to the cost of rendering the streaming data associated with said segmenting data item.
The method of the invention may further be characterized in that the multimedia content stream is stored in a server computer and/or terminal device as a plurality of separately accessible and/or downloadable slices.
The method of the invention may further be characterized in that the segments and/or meta-data items are stored in a first server and the multimedia content stream is stored in a second server. The method of the invention may further be characterized in that a segment is associated with a plurality of stream slices.
The method of the invention may further be characterized in that a segment is associated with a plurality of stream slices in an approximate manner.
The method of the invention may further be characterized in that a plurality of slices is streamed or downloaded to a terminal device based on the information of at least one segment.
The method of the invention may further be characterized in that a meta-data item and a data selection rule share common ontology data.
The invention also concerns an arrangement that implements the method disclosed herein.
The invention also concerns a terminal device that is characterized in that the terminal device is arranged to maintain local copy of at least some streaming data made available to the terminal device according to method of the invention.
The invention further concerns a computer readable medium comprising program code implementing the method disclosed herein.
The best mode of the invention presently contemplated by the inventor applies the disclosure set forth herein to the delivery of digital streaming content to subscribers by defining channels whose content is refinable by the subscribers utilizing channel refinement rules and meta-data of the content.
Some embodiments of the invention are described herein, and further applications and adaptations of the invention will be apparent to those of ordinary skill in the art.
BRIEF DESCRIPTION OF DRAWINGS In the following, the invention is described in greater detail with reference to the accompanying drawings in which
Figure 1 shows an exemplary topology of the server and device arrangement of an embodiment of the present invention.
Figure 2a shows an exemplary entity-relationship model about the data of an embodiment of the present invention.
Figure 2b shows an exemplary multimedia data stream and one of its segments according to an embodiment of the present invention.
Figure 3 shows an exemplary user interface window for subscribing to a channel according to an embodiment of the present invention.
Figure 4 shows an exemplary device rendering content delivered to the device using the method and arrangement of an embodiment of the present invention.
Figures 5a-g show flow diagrams of exemplary sequences of steps to implement the method of some embodiments of the present invention.
Figure 6 illustrates a flow chart about steps to implement inter-personal communication according to an embodiment of the present invention.
DETAILED DESCRIPTION OF THE DRAWINGS
Figure 1 shows an exemplary simple arrangement for delivering digital content and accompanying meta-data to terminal devices. The arrangement contains terminal devices 103, each advantageously having a local data storage device. The terminal device exchanges content channel and segment information with a segmenting server 102 over network communication connection 105. The terminal device downloads or streams on-line the digital content related to the channel and segment information from streaming server 101 over network communication connection 104. In some embodiments, the streaming server 101 may use a digital broadcast network, e.g. DVB-T, DVB-C or DVB-H for delivering at least some of the streaming data content to a terminal device 103. A segmenting server 102 and streaming server 101 may exchange information between themselves using network connection 106. The network connections 104, 105, 106 may be wireline or wireless network connections. The network connection 104 between streaming server and terminal device may in some embodiments comprise a broadcast network, e.g. DVB-T, DVB-C, or DVB-H instead of or in addition to e.g. a bi-directional connection-based network such as wireless or wireline TCP/IP network. It should be noted that the arrangement shown in figure 1 is a simplified exemplary illustration and there may be number of different variations of the basic arrangement. For example, there may be any number of terminal devices 103, segmenting servers 102 and streaming servers 101 in various embodiments. The tasks of each of the servers or devices may also be split between multiple servers. For example, a streaming server may in some embodiments be a cluster of servers. Further, the streaming server 101 and segmenting server 102 functionality may reside in the same server computer. Yet further, a terminal device 103 may comprise at least some of the functionality of a streaming server and/or a segmenting server.
Figure 2a shows an exemplary high-level entity-relationship diagram that may be used for implementing the method and arrangement of an embodiment of the present invention. Each content stream 200 is characterized with a plurality of content segmenting data items 201. Each content segment 201 identifies a part of a content stream (or if the stream is a short one, the entire stream) 200. Advantageously, the content segment information comprises the begin and/or end point of the segment within a content stream. The content segment data item itself may contain information related to the content segment or it may be associated (e.g. joined in a relational database) with a plurality of other data items such as meta-data items 202 who contain the information about the segment. Generally, the content segments 201 may be described using any amount of content segment meta-data 202. The meta-data items may for example describe what the part of a content stream 200 that a content segment 201 identifies contains. In addition to being associated with a content segment of a multimedia stream, a meta-data item may also be associated with a content channel (i.e. an identifiable set of content segments), subscriber or a terminal device. Thus a meta-data item may for example contain information about what a specific subscriber of a channel thinks about a piece of stream identified by a content segment. A meta-data item associated with a terminal device may be used for expressing whether and when a content segment has been rendered in that particular device. Further, meta-data items may be used for expressing what kind of capabilities are recommended for or required from the terminal to render the piece of content related to the meta-data item.
According to an embodiment of the present invention, a subscriber 206 of the system may subscribe to channels by defining one or plurality of channel subscriptions 205. In one embodiment, a subscription is associated with one channel. A channel in an embodiment of the present invention is an identifiable set of content segments 201 from a single content stream 200 or multiple content streams 200. In a preferred embodiment, a channel comprises plurality of content segments that a subscriber may subscribe to using a subscription. The identifiable set of content segments of the channel may evolve over time. New content may be added to the channel and old content may expire from the channel, for example. The identifiable set of content segments (i.e. a set available to subscription) may be defined using content channel info 203 and a set of data items that associate, the channel with content segments, for example. The identifiable default set of content segments may also be defined using channel definition rules 204 and meta-data 202 of which at least some items are specific to the content channel 203. In some embodiments, the content of the channel is advantageously determined and/or maintained by an editor user (or plurality of editor users) of the system who search(es) and select(s) the content data for the channel from the internet, for example. The set of content segments within the channel that are of interest to the subscriber can advantageously further be refined using channel refinement rules 204. The channel subscription 205 of an embodiment of the present invention thus comprises an identifiable default set of content segments that is refined using rules that have access to the meta-data of the content and/or channel. The subscription may further be associable with at least one subscriber 206 and/or terminal. The channel refinement rules 204 use the content segment meta-data 202 to determine which content data (and/or meta-data) from the default content set of the channel should be excluded from the subscribed content or which additional content and/or meta-data should be added to the subscribed content. The channel refinement rules 204 and content segment meta-data 202 may share a common ontology 207 that may be at least partially specific to a channel. In one embodiment, the data model described herein (figure 2b) is employed in a database of a segmenting server (102 in figure 1). The database may be for example a relational database. In some embodiments, a (partial) copy of the data may be stored in a database of a terminal device (103 of figure 1).
Figure 2b shows a multimedia data stream 210 such as MPEG video. According to one embodiment of the invention, the stream may be stored in a data storage e.g. a relational database as a number of separately accessible and downloadable "stream slices" 211. Each of the slices contains a relatively small portion of the entire stream. A slice may for example be of size of 100 kB, 1 MB or 100MB or a single slice may represent e.g. 0.1%, 1% or 10% of the entire stream. This may reduce the download time of streaming data in cases if only a (small) portion of the overall stream is needed in the terminal for rendering the segments of the subscription. The slices may be stored in a relational database table as rows comprising Binary Large Objects (BLObs), for example. In addition to the slice data (BLOb), the row may comprise columns for e.g. identifying the stream to which the slice belongs to, sequence number of the slice within the stream, begin position of data of the stored slice and end position of data of the stored slice.
It should be noted that in prior art, extracting a segment for delivery from a larger stream has been typically performed by generating a new stream file from the original stream file. This may be a resource consuming operation. The use of separately accessible and downloadable slices of an embodiment of the invention obsoletes the step of generating new streams and thus improves the efficiency of the streaming and/or download operations. Also the disk storage requirements of a server may be reduced.
In some data storage (e.g. 102 of figure 1) of an embodiment of the present invention there is also a plurality of content segment data items 212 of which each is associated with one or multiple slices 211 of the stream 210. The exemplary content segment data item 212 comprises data fields 213 (in relational database, columns of a row in a table) for stream id, sequence number of the segment within the stream, name of the segment and the begin and end positions (e.g. bytes from the beginning of the stream) of the segment within the stream. When the streaming data corresponding to the defined segment needs to be downloaded from a streaming server 101 to a multimedia terminal 103, only those slices 214, 215 of the stream are downloaded that are needed to render the specified content segment 212. The information about which slices of the stream are needed can be computed using the information, such as the begin and/or end position within the stream, available in the content segment data item 212. In the shown example, two slices 214 from the beginning of the stream (e.g. stream's internal header data) as well as four slices from the middle of the stream are needed to render the segment 212 in a multimedia terminal (e.g. 103 of figure 1). The mapping between segments and stream slices may be either exact or "approximate". Exact mapping means that the begin position of a segment corresponds exactly with the begin point of a stream slice and the end position of a segment corresponds exactly with the end point of the same or a different stream slice. Approximate mapping means that the boundaries of the stream slices may not match exactly the begin and/or end positions of a segment. For example, a segment may indicate that its begin point in the stream is 12131000 and end point is 14431200. The approximately corresponding three stream slices may contain data from position 12000001 to 13000000, from 13000001 to 14000000 and from 14000001 to 15000000. Thus, some data from first and third needed slices is not necessarily used for the rendering. The benefit of approximate mapping is that one set of stream slices may be used by any number of different sets of content segments.
Further, a content segment 201 , 212 may be associated with any number of meta-data items that may be stored e.g. in the data storage of a segmenting server (102 of figure 1). A meta-data item of a content segment (segmenting data item) may be of any data type or structure. For example, a meta-data item may be a name-value pair, e.g. "CHANNEL = 10", "IMPORTANCE = HIGH" or "IMPORTANCE = LOW". Respectively, the data of a channel refinement rule should advantageously be constructed so that the rule can easily be used to select a set of meta-data items from all meta-data of the channel and/or content. For example, to identify content segments of a channel (i.e. to associate number of segments with a channel), a following kind of rule (pseudo-code) may be used: "RULE 'Channel #10' SELECT segments WHERE meta_data CONTAINS 'CHANNEL = 10' ". In an embodiment of the present invention, the rules are used to further refine the content of a channel for a subscriber and/or terminal. For example, pseudo-code for a rule that includes all segments of a channel that have meta-data item "IMPORTANCE = HIGH" could for example be as follows: "RULE 'Important content only' SELECT segments WHERE meta_data CONTAINS 'IMPORTANCE=HIGH' ". By combining the rules "Channel #10" that specifies a channel and "Important content only" that specifies a subscription of the channel, subscriber is provided at the specified terminal(s) only those segments of the streams of the channel #10 who have "IMPORTANCE = HIGH" meta-data tag associated with them. The default content of a channel is thus refined according to user's preferences using a data selection rule associated with the subscription.
In the above example, the results comprise only segments that meet the data selection criteria of two rules. In other words, the logical operator between rules of the subscription is "AND". The rules may also be combined using "OR" operators or combination of "AND" and "OR" operators or any other way known to a person skilled in the art. To exclude content from the results, also NOT operator may be used. For example, there may be a following kind of rule to select football-related content: "RULE 'football' SELECT segments WHERE meta_data CONTAINS 'GAME=FOOTBALL'. There may also be a following kind of rule to select cricket-related content: "RULE 'cricket' SELECT segments WHERE meta_data CONTAINS 'GAME=CRICKET' A subscription may contain three rules arranged in the following way: Channel #10 AND (important content only OR football). Thus, all important content and all football coverage of channel #10 would be delivered to the subscriber's terminal. The following subscription provides all important content segments of channel #10 excluding cricket: Channel #10 AND important content only AND NOT cricket.
Figure 3 shows a simple exemplary user interface window for creating a subscription for a channel. The window 300 shows the name of the basic channel on the title bar 301. In the shown example, there is a channel called "Daily Sports by Joe" to which subscribers may subscribe. The content of the basic channel is determined in this example by person ("Editor user") called "Joe" who maintains the channel content (segments of video streams) and possibly also some metadata of the segments in the system for this channel. The default channel content may comprise for example segments of the streams published by the editor user during a certain time frame, e.g. the last 7 days. The meta-data of the segments is advantageously used by the rules that are available for refining the content of the channel for a subscriber and/or a terminal. A subscriber who wants to subscribe to this channel, may refine the content of the channel to match his/her exact needs by specifying and/or using rules that apply to the subscription. The rules available on this exemplary channel are shown on list 302. To refine the content of the channel for a single device or a plurality of devices, the subscriber may use the existing rules ("template rules") defined by the editor user(s) of the channel or the subscriber may specify new rules of his/her own by pressing the "NEW" button on the window. The subscription data may also take into account that the user may have different terminals that should receive different subsets of the content or the channel. The terminals of the subscriber are shown on list 303. The subscriber can maintain the subscription data (shown on list 304) by selecting an item from the Rules list 302 and Terminals list 303 and pressing ADD button 307 to add new item to the subscription data list 304. Removing an item from the subscription data list 304 may be done by pressing the DEL button 306 of the window. The content refinement step for different terminals is often essential as different terminals have different capabilities and they are used in different situations. For example, having all content of the channel downloaded to a cell phone may not be practical because of limitations in storage capacity, display size and bandwidth. Instead, the subscriber may want to have only the highlights of the daily sports events sent to his/her cell phone whereas it is acceptable to have all content of the channel (with the exception of cricket in the shown example) available in the family room TV of the subscriber. Pressing the OK button 308 in the exemplary user interface window commits the subscription data into a database of the system and the subscriber starts receiving the specified content to the terminals specified in the subscription.
In one embodiment of the present invention, the terminals of the subscriber contain a local copy of at least some of the content (e.g. segmenting data and/or streaming data) that is associated with the subscriber and/or terminal. This means that the subscriber has always the content easily available that matches his/her preferences and current needs as well as the capabilities of the terminal device. The subscriber doesn't have to search for content as the suitable content is pushed to the terminal or is made available to the terminal by some other means using the channel definitions, meta-data and channel refinement rules of the subscription. This is a significant advantage on devices that have a limited set of means for implementing user interface. For example, many video playing devices are lacking proper keyboard or other data input means. Figure 4 shows an exemplary simple user interface on a cellular phone 400 that shows the content available on the device as well as controls needed to render the content. The channel is shown in field 401 and the content segments selected from that channel to the device using rules of the subscription data is shown on list 402. To render the content, the subscriber may navigate through the list of segments 402 using cursor button 405 and press the "Play" button 403. The device may have content from multiple channels. The subscriber may change the channel to another subscribed one using button 404. Advantageously, to keep the list of relevant content as short as possible for maximum ease of use, the content is automatically removed from the list 402 once the content has been completely rendered or the content segment is otherwise expired. The information about viewed segments is advantageously passed as subscriber-specific meta-data items to other terminals of the subscriber that subscribe to the same channel. To enable this, each meta-data item may have subscriber and/or terminal identification data as optional data field(s) or there may be another method to associate a meta-data item to a specified subscriber and/or terminal or a plurality of subscribers and/or terminals.
To implement the method that keeps only subscribed data in the terminals of the subscriber the segmenting servers of the system should advantageously maintain information about which segments need to be delivered to which terminals. In one embodiment of the present invention, this information is maintained utilizing the content channel information 203 and channel refinement rules 204 that together form the channel subscription 205 to a specified subscriber and/or device. The content channel information 203 along with at least some meta-data 202 of the content segments 201 is advantageously maintained by one or multiple "editor users" and possibly also subscribers of the system. The editor users may search content from the web that they think is of interest to the subscribers of the channel and, include the content segments into the channel and advantageously create meta-data to the segments or update existing metadata of the segments to make the content of the channel refinable using the channel refinement rules 204.
Figure 5a shows an exemplary method 500 to create a new content channel according to one embodiment of the present invention. The new channel that comprises a set of content segments needs to be identifiable among the available channels in the content delivery system. For that purpose, some data item(s) need to be created 501 and stored into a storage, for example as rows of a table in a relational database. Each channel may have a number of template rules that the subscribers may use for personalizing the content of the channel for their terminals when subscribing to the channel. For example, the rules list 302 may by default show the template rules of the channel. Once the channel identifying data and template rules have been defined, the new channel may be published to the potential subscribers 503. The publishing step may use a number of different methods including a web-page, e-mail message or SMS message to communicate the availability of the new channel to the target audience.
Figure 5b shows an exemplary method to maintain 510 (add, modify or delete) content of an existing content channel according to one embodiment of the present invention. An editor user of the system searches 511 available video content from various sources in the network, including servers of the content delivery network. The editor user may search for already segmented content through segmenting servers or the user may search unsegmented video streams, i.e. streams that have not been split into segments by any editor user, from streaming servers available in the internet. Unsegmented content must be segmented, i.e. segmenting data related to the content stream needs to be created, before adding it to the channel. In some embodiments, the streaming data needs to be stored in slices in one or multiple servers of the system. In addition to adding relevant content segments to the channel 512, the editor user may add new meta-data to the new or already existing segments of the channel. The meta-data may be associated with the content data only or it may be associated with both content and channel. The editor users may also update existing content segments and meta-data of the channel 513 and delete content and/or meta-data from the channel 514. Once the updates have been completed, the segmenting server(s) affected may notify the subscribing terminals that they should refresh their content from the segmenting and streaming servers 514.
Figure 5c shows an exemplary method to subscribe to a channel 520 according to one embodiment of the present invention. The subscriber identifies a channel to which he/she wants to subscribe. For identification of the channel, the subscriber may use for example a web URL found from a web site or received via e-mail. As part of the subscription process, the subscriber selects content rules 522 from the list of template rules that refine the content of the channel in a manner that is applicable to his/her preferences. The subscriber may also define new personal content refinement rules 523 if template rules don't provide sufficient means for refining the content for the terminals and preferences of the subscriber. Once the subscription data has been completed, it is committed in a data storage such as a database of a system 524. Advantageously, a copy of the subscription data resides in the segmenting server(s) that provide the content segments of the channel.
Figure 5d shows an exemplary method for maintaining data for a subscriber's terminal using the channel and subscription data 530 including rules according to one embodiment of the present invention. First, the content segments and metadata belonging to the channel in general are identified 531. Then, from this set of content segments and meta-data, those data items that don't pass the filters of the subscriber's subscription data for a terminal are excluded 532. The rules of the subscription may also be used for including additional segments and metadata to the data set of the subscriber's terminal 533. Finally, the resulting content and meta-data items are assigned to the terminal 534. The assignment is advantageously done by maintaining segment assignment data items that link (if relational databases are used, join) together the assigned data (content segments and/or meta-data) with data identifying the terminal for which or in which a copy of the data should be maintained. The maintenance process 530 shown here is a simplified and exemplary one and its main purpose is to show the basic steps, i.e. identification of content segments forming a channel and use of rules for refining the content of the channel for a terminal, needed to determine relevant content for a terminal. In some embodiments, the maintenance process of the content data in terminals occurs advantageously periodically whereas in some other embodiments it occurs on as-needed basis. The maintenance process of content data in terminals may in some embodiments occur also in a real-time fashion. For efficiency and system performance reasons, the process should advantageously be an incremental one, i.e. only changed data is taken into account in the process. In other words, when new content is added to the channel, the maintenance process 530 of content assignment data should handle only the added content. Or alternatively, when content or its meta-data is updated, only the updates should be processed using the method 530. In some embodiments, instead of filtering the segmenting data in a segmenting server and maintaining assignment data for each terminal, all segmenting data of a channel may be downloaded to the terminal device and filtered there using e.g. locally runnable rules before making the segmenting data available to the user.
In some embodiments, at least some of the streaming data of a channel may be broadcast to a terminal device and the terminal device may store locally the broadcast data. The terminal device may then use segmenting data, meta-data and rules to filter out parts of the received and locally stored streaming data that are not relevant to the subscriber of the channel.
Figure 5e shows an exemplary sequence of steps for refreshing content segments of a channel in a subscriber's terminal 540. First, the terminal requests a content refresh package from segmenting server 541. The refresh package contains data that is needed to synchronize the terminal's data with the part of the server's data that has been assigned to the terminal. This step is optional as the segmenting server may push refresh packages to the terminal also on as- needed basis or periodically without a separate refresh request. Next, the program logic in the segmenting server adds to the refresh package new and modified data items that belong to the terminal according to the assignment data maintained in the segmenting server 542. Then the program logic in the segmenting server adds data deletion instructions to the refresh package about data items that need to be deleted from the terminal 543 as the assignment data for those segmenting data items has been removed from the segmenting server. Once the refresh package is complete, the segmenting server sends the refresh package to the terminal device 544 and the terminal device processes the contents of the refresh package 545 and updates the locally stored data according to the instructions of the refresh package.
The refresh package that the terminal device receives from the segmenting server contains the segmenting data as well as at least some meta-data of the video streams but it does not necessarily contain the streaming data of the segments as the streaming data may be hosted in a separate (set of) server computer(s). Once the refresh operation of segmenting data of the terminal has been completed, the terminal needs to download also the streaming data related to the new segments if the user of the terminal actually wants to view the part(s) of the stream identified by the segments. Figure 5f shows an exemplary sequence of steps for performing the stream download operation 550. The terminal device or a segmenting server prepares a download request that is sent to the streaming server 551. The download request contains information about which parts of which streams are needed in the terminal. It is often enough to download only a part of the stream instead of the whole stream. Downloading only the parts of the stream that are needed to render the specified segment(s) of the stream is a very efficient way to improve the bandwidth efficiency of the content delivery system. Based on the download request, the streaming server creates stream assignment data items for terminal 552. The assignment data items establish a data link between (a part of) the stream and the terminal to which the data needs to be sent. Maintaining the assignment data items makes it possible to keep track in streaming server about what streams have been sent to which terminals. Once the assignment data items have been created and committed in the database, the streaming server creates a package about all undelivered assigned data items 553 and sends the package to the terminal 554. The terminal processes the content of the package 555 which makes the streams available for rendering in the terminal.
In some preferred embodiments, assembling a refresh package comprising segmenting and/or streaming data in a server computer occurs in one database transaction. Similarly, applying such refresh package in a terminal device may advantageously occur in one database transaction. This way, the data consistency of relatively complex data models of the embodiments of the invention may be enforced in both server and terminal databases even when the database is subject to concurrent data read and write operations.
In some embodiments, synchronization techniques of e.g. relational databases may be used for refreshing the content segments and/or streams of a terminal device. One advantage of utilizing such technique for transfer of data is that the potentially complex transactional content delivery functionality may be at least partially provided by the data management and synchronization engines of the relational databases.
In some embodiments, video stream slices of segments that are not needed any more in the terminal or that have otherwise expired, e.g. because the expiration date of the segment has passed, should be deleted from the terminal. In the method and arrangement of an embodiment of the present invention, this can be done for example using steps of figure 5g. The streaming server receives a purge request 561 from the terminal or from a segmenting server. Following instructions of the purge request, the streaming server deletes the related assignment data items of the terminal 562 and creates a content refresh package that contains delete instructions of streaming data for the terminal 563. The assembled refresh package is then sent to the terminal 564 which processes the package and deletes the corresponding stream parts from the local storage (e.g. database) of the terminal device 565. Note that although the content download and purge operations are illustrated here as separate sequences of steps, they may be also combined so that a single refresh package may contain instructions to add, modify and delete data in the terminal.
According to an embodiment of the present invention, meta-data that is associated with a segment of a video stream may be used as a means of communication between subscribers of the channel. Figure 6 shows an exemplary sequence of steps about how to facilitate such communication 600. A subscriber who wants to discuss with other subscribers of the channel about a certain segment of the video of a channel, may create a meta-data item and associate it with an existing segment 601 or the subscriber may create a new segment to which he/she attaches the new meta-data item. The meta-data item may also be associated with at least one subscriber or terminal. The user may also update or delete an existing meta-data item of a content segment. Optionally, the new meta-data item may also be associated with other meta-data items of the segment, e.g. with a comment of another subscriber. The meta-data item may be of any type, including enumerated types, free text, voice stream, still pictures and video stream. The meta-data item and possibly created new segment data item are then sent to the segmenting server 602 which determines using the subscription data of the subscribers of the channel which terminals should have a copy of the new meta-data item and the possibly created new segment data item. The segmenting server may now notify those terminals about the new meta-data 603. The terminals then request a content refresh package from segmenting server 604. The new meta-data item and possibly created new segment data item are downloaded to the terminal in the content refresh package and the terminal stores the new meta-data item and possibly created new segment data item in the local storage (e.g. relational database) 605. Finally, the terminal may render the new meta-data item 606. The "communication-through-meta-data" feature of the embodiment described above may not be practical on all terminals and not preferred by all subscribers. Therefore, it may be an optional feature for the subscribers. The channel refinement rules 204, 302 of an embodiment of the present invention are one possible way to include the "chat meta-data" into the channel for those terminals where such meta-data is practical and desired.
To a person skilled in the art, the foregoing exemplary embodiments illustrate the model presented in this application whereby it is possible to design different methods and arrangements, which in obvious ways to the expert, utilize the inventive idea presented in this application.

Claims

1. A method for making at least one segment of at least one digital multimedia stream available to a terminal device according to a subscription, the at least one segment being associated with at least one meta-data item, characterized in that the method comprises steps of: a. determining a default set of segments available for subscription, b. establishing and/or maintaining a subscribed set of segments from the default set of segments available for subscription using at least one data selection rule and meta-data item of at least one segment and c. maintaining a local copy of streaming data associated with at least one segment of the subscribed set of segments in at least one terminal device.
2. A method according to claim 1 , characterized in that said multimedia content stream is stored in a server computer as a plurality of separately accessible and/or downloadable slices.
3. A method according to claim 2, characterized in that said segments and/or meta-data items are stored in a first server and said slices of said multimedia content stream is stored in a second server.
4. A method according to claim 2, characterized in that at least one of said segments is associated with a plurality of said slices.
5. A method according to claim 2, characterized in that a plurality of said slices is streamed or downloaded to said terminal device based on the information of at least one said segment.
6. A method according to claim 2, characterized in that said segment is associated with a plurality of said stream slices in an approximate manner.
7. A method according to claim 1 , characterized in that said subscribed set of segments is established and/or maintained by doing at least one of the following: a. exclude at least one segment and/or at least one meta-data item from said default set of segments and meta-data items available for subscription and b. include at least one additional segment and/or at least one meta-data item to said subscribed set of segments and meta-data items.
8. A method according to claim 1 , characterized in that said terminal device stores a local copy of at least one segment and/or meta-data item that has been made available to said terminal device.
9. A method according to claim 1 , characterized in that at least a part of said stream is made available to said subscriber and/or terminal based on information of said at least one segment and/or meta-data item.
10. A method according to claim 1 , characterized in that a data value of said data selection rule is compared with a data value of at least one said metadata items of said content segment to determine a match between said rule and said meta-data item and/or said segment.
11. A method according to claim 1 , characterized in that at least one said metadata item is further associated with at least one of the following: at least one subscriber, at least one terminal device or at least one second meta-data item.
12.A method according to claim 1 , characterized in that said meta-data item and/or segment is created in said terminal device and sent to a computer server for further delivery to at least one second terminal device.
13. A method according to claim 1 , characterized in that said meta-data item or segment comprises information related to the cost of rendering the streaming data associated with said segment.
14. A method according to claim 1 , characterized in that said meta-data item and said data selection rule share common ontology data.
15.An arrangement for making at least one segment of at least one digital multimedia stream available to a terminal device according to a subscription, the at least one segment being associated with at least one meta-data item, characterized in that the arrangement is arranged to: a. determine a default set of segments available for subscription, b. establish and/or maintain a subscribed set of segments from the default set of segments available for subscription using at least one data selection rule and meta-data item of at least one segment and c. maintain a local copy of streaming data associated with at least one segment of the subscribed set of segments in at least one terminal device.
16.An arrangement according to claim 15, characterized in that the arrangement further is arranged to store said multimedia content stream in a server computer as a plurality of separately accessible and/or downloadable slices.
17.An arrangement according to claim 16, characterized in that said arrangement is further arranged to store said segments and/or said meta-data items in at least one first server and said slices of said multimedia content stream in at least one second server.
18.An arrangement according to claim 16, characterized in that said arrangement is further arranged to associate said segment with a plurality of said slices.
19.An arrangement according to claim 16, characterized in that said arrangement is further arranged to download or stream a plurality of said slices to said terminal device based on the information of at least one said segment.
20.An arrangement according to claim 16, characterized in that the arrangement is further arranged to associate said segment with a plurality of said stream slices in an approximate manner.
21.An arrangement according to claim 15, characterized in that said arrangement is further arranged to establish and/or maintain said subscribed set of segments by doing at least one of the following: a. exclude at least one segment and/or at least one meta-data item from said default set of segments and meta-data items available for subscription and b. include at least one additional segment and/or at least one meta-data item to said subscribed set of segments and meta-data items.
22.An arrangement according to claim 15, characterized in that the arrangement is further arranged to store in said terminal device a local copy of at least one segment and/or meta-data item that has been made available to said terminal device.
23.An arrangement according to claim 15, characterized in that the arrangement is further arranged to make at least part of said stream available to said subscriber and/or terminal based on information of said at least one segment and/or meta-data item.
24.An arrangement according to claim 15, characterized in that the arrangement is further arranged to compare a data value of said data selection rule with a data value of at least one said meta-data items of said segment to determine a match between said rule and said meta-data item and/or said segment.
25.An arrangement according to claim 15, characterized in that the arrangement is further arranged to associate at least one said meta-data item with at least one of the following: at least one subscriber, at least one said terminal device or at least one second meta-data item.
26.An arrangement according to claim 15, characterized in that the arrangement is further arranged to create said meta-data item and/or segment in said terminal device and sent to a computer server for further delivery to at least one second terminal device.
27.An arrangement according to claim 15, characterized in that said meta-data item or segment is arranged to comprise information related to the cost of rendering the streaming data associated with said segmenting data item.
28.An arrangement according to claim 15, characterized in that said arrangement is further arranged to share common ontology data between said meta-data item and said data selection rule.
29.A terminal device, characterized in that the terminal device is arranged to maintain a local copy of data made available to the terminal device according to method of claim 1.
30. A computer readable medium comprising program code implementing the method of claim 1.
PCT/FI2007/000186 2006-07-05 2007-07-03 Method and arrangement for digital content delivery WO2008003818A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FI20060655 2006-07-05
FI20060655A FI20060655A0 (en) 2006-07-05 2006-07-05 Method and Arrangement for Distribution of Digital Content
FI20060677A FI20060677A0 (en) 2006-07-12 2006-07-12 Procedure and arrangement for the delivery of digital content
FI20060677 2006-07-12

Publications (2)

Publication Number Publication Date
WO2008003818A2 true WO2008003818A2 (en) 2008-01-10
WO2008003818A3 WO2008003818A3 (en) 2008-06-05

Family

ID=38894921

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FI2007/000186 WO2008003818A2 (en) 2006-07-05 2007-07-03 Method and arrangement for digital content delivery

Country Status (1)

Country Link
WO (1) WO2008003818A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012047400A1 (en) * 2010-09-27 2012-04-12 Motorola Mobility, Inc. Selectively receiving media content

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003047257A1 (en) * 2001-11-26 2003-06-05 Nds Limited Online television messenger
US20040068532A1 (en) * 2002-09-13 2004-04-08 Dewing Shane R. System for supporting production, management and delivery of media content for wireless devices
US20050289151A1 (en) * 2002-10-31 2005-12-29 Trevor Burker Technology Limited Method and apparatus for programme generation and classification
US20060143653A1 (en) * 2004-12-24 2006-06-29 Lg Electronics Inc. Broadcasting receiver with functions of recommending broadcasting program and reservation-recording recommended program on network, and method for performing the functions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003047257A1 (en) * 2001-11-26 2003-06-05 Nds Limited Online television messenger
US20040068532A1 (en) * 2002-09-13 2004-04-08 Dewing Shane R. System for supporting production, management and delivery of media content for wireless devices
US20050289151A1 (en) * 2002-10-31 2005-12-29 Trevor Burker Technology Limited Method and apparatus for programme generation and classification
US20060143653A1 (en) * 2004-12-24 2006-06-29 Lg Electronics Inc. Broadcasting receiver with functions of recommending broadcasting program and reservation-recording recommended program on network, and method for performing the functions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012047400A1 (en) * 2010-09-27 2012-04-12 Motorola Mobility, Inc. Selectively receiving media content

Also Published As

Publication number Publication date
WO2008003818A3 (en) 2008-06-05

Similar Documents

Publication Publication Date Title
US10437896B2 (en) Singular, collective, and automated creation of a media guide for online content
US7962937B2 (en) Media content catalog service
US9232248B2 (en) Publishing key frames of a video content item being viewed by a first user to one or more second viewers
US9361373B1 (en) Content aggregation and presentation
JP5810455B2 (en) Multi-source and multi-destination media discovery and management platform
US20070299870A1 (en) Dynamic insertion of supplemental video based on metadata
US20030167449A1 (en) Method and system for producing enhanced story packages
CN110402438A (en) Music from focus inquiry is recommended
CN101022353A (en) Directional stream media advertisement insert-cut system
AU2010298031A1 (en) Method for presenting user-defined menu of digital content choices, organized as ring of icons surrounding preview pane
WO2009053260A1 (en) A method, and system for selecting a program item
CA2508411A1 (en) Strategies for consuming resource items based on a resource item list
US20030236708A1 (en) Electronic program guides utilizing demographic stereotypes
CN101833552A (en) Method for marking and recommending streaming media
US20170223419A1 (en) System and Method for Digital Content Aggregation, Curation, and Delivery
US20040025191A1 (en) System and method for creating and presenting content packages
WO2008003818A2 (en) Method and arrangement for digital content delivery
Yoon et al. TV-Anytime based personalized bi-directional metadata service system
Argyriou et al. Using media related user profiles to personalize multimedia access over social networks
Royer et al. Automatic generation of explicitly embedded advertisement for interactive TV: concept and system architecture
Evain et al. TV‐anytime phase 1 and MPEG‐7

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 07788728

Country of ref document: EP

Kind code of ref document: A2