Users, of user devices, have a growing array of sources, networks, and/or content providers from which to obtain video content and/or services. The users may use video client devices (e.g., a set top box, etc.) to obtain free broadcast television video content (e.g., from Fox, ABC, CBS, etc.), on-demand video content (e.g., Video On-Demand (VOD), pay-per-view (PPV), etc.), and/or pay television video content (e.g., from HBO, Cinemax, etc.) from cable television operators (e.g., Comcast, Time Warner, etc.) and/or satellite television operators (e.g., DirectTV, Dish Network, etc.). The users may use computer devices, wireless mobile devices, etc. to obtain other video content from on-line content providers, such as television operators (e.g., ABC, Fox, CBS, etc.), over-the-top (OTT) content providers (e.g., Hulu, Veoh, Jaman, YouTube, etc.), and/or other commercial content providers (e.g., Apple Computer's iTunes, Netflix, Blockbuster, etc.).
Unfortunately, the users use different types of user devices to access and/or obtain video content from the array of sources, networks, and/or content providers. Pricing, availability, and/or accessibility for the video content is usually unique depending on a particular source, network, and/or content provider from which the video content is obtained. Additionally, the pricing, availability, and/or accessibility usually depends on the particular type of user device for which the services are obtained and/or via which type of network (e.g., cable television, satellite television, Internet, wireless service provider, etc.) the video content downloaded.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
Systems and/or methods, described herein, may enable video content to be formatted for and/or provisioned to various types of user devices over various types of networks. The systems and/or methods may enable the video content to be provisioned with a uniform price, availability, and/or accessibility, regardless of a type of network via which the video content is being provisioned and/or a type of user device for which the video content is obtained. Thus, video content may be provisioned for computer devices (e.g., desktop computers, laptop computers, and tablet computers), wireless handheld devices (e.g., mobile phones, smart phones, personal digital assistants (PDAs), and tablet computers), and set top boxes.
The video content may be provisioned to the computer devices, wireless handheld devices, and/or set top boxes via a federated network environment that includes a number of different types of networks, such as, for example, a wired network, a wireless network, a broadband network, a cellular telephone network, a television network, etc., and/or some combination thereof. For example, video content may be provisioned to a set top box via a managed television network that transmits the video content (e.g., via a video stream) to the set top box. The managed television network may stream the video content using, for example, a conditional access encryption technique. The managed television network may provide the video content to the set top box in a manner that conforms to a particular quality of service (QoS) level, data rate, etc.
In another example, the video content may be provisioned to a computer device, associated with a user of the set top box, via a broadband network (e.g., via progressive download, adaptive bit rate streaming, etc.), such as, for example, the Internet. The video content, in this example, may be encrypted using another encryption technique (e.g., based on digital rights management and/or some other technique) and/or another QoS level (e.g., best efforts and/or some other QoS level) associated with the broadband network. In yet another example, the video content may be provisioned to a wireless handheld device, associated with the user, via a wireless network (e.g., via progressive download, adaptive bit rate streaming, etc.). The video content, in this example, may be encrypted using a further encryption technique (e.g., based on digital rights management and/or some other technique) and/or a further QoS level (e.g., best efforts or some other QoS level) associated with the wireless network and/or a type of wireless handheld device.
The term video content, as used herein, may include one or more video assets, metadata associated with the video assets, and/or information associated with digital rights management (DRM) that corresponds to the video assets. The video assets may include Video On-Demand (VOD) video content, pay-per-view (PPV) video content, rented video content, free television content (e.g., from free television broadcasters, etc.), paid for television content (e.g., from pay television content providers), on-line video content (e.g., on-line television programs, movies, videos, etc.), advertising, games, music videos, promotional information (e.g., such as previews, trailers, etc.), etc. The information associated with the DRM may include license information that identifies terms and/or conditions for handling, promoting, distributing, and/or using the video assets and/or enables video assets to be encrypted and/or decrypted (e.g., based on keys associated with the license information).
The metadata may enable the video assets to be identified, managed, merchandized, and/or distributed to a user device. The metadata may, for example, include an identifier associated with a video asset (e.g., a number, a name, a title, etc.); a genre of the video asset (e.g., horror, comedy, adult, etc.); a category of the video asset (e.g., VOD asset, a PPV asset, etc.); a text description of the video asset; and/or information associated with artists associated with the video asset (e.g., names of actors, directors, producers, etc.). The metadata may also, or alternatively, include information associated with a type of video asset (e.g., a movie, music video, a game, etc.); a rating associated with the video asset (e.g., general audience (G), parental guidance (PG), PG-13, restricted (R), mature audience (MA), etc.); user reviews associated with the video asset; a price associated with the video asset (e.g., a sale price, a rental price per day, a pay-per-view price, etc.); and/or an availability period associated with the video asset (e.g., release dates, restriction periods, blackout periods, etc.). The metadata may also, or alternatively, include information associated with a storage location (e.g., a uniform resource locator (URL)) corresponding to the video asset; a format associated with the video asset (e.g., a resolution level, compression/decompression (CODEC) information, a screen size, a frame size, a frame refresh rate, a bit rate, etc.); and/or types of user devices supported by each format, etc.
The VPS may process video assets, obtained from the ingested video content, in a manner that is supported (e.g., can be received, processed, stored, played and/or rendered for display) by each of the different user devices. For example, the VPS may generate copies of the video assets based on one or more video profiles. The video profiles may identify a type of user device 210 for which the video asset is intended (e.g., a set top box, a computer device, a wireless handheld device, a gaming device, etc.), type of format (e.g., a bit rate, a resolution level, a frame refresh rate, a CODEC, etc.) supported by user device 210, an encryption technique, etc. The VPS may convert each of the copies of the video assets into different formats based on the video profiles. A copy of a video asset may be generated based on one video profile that is supported by the set top box. Another copy of the video asset may be generated based on another video profile that is supported by the computer device. A further copy of the video asset may be generated based on a further video profile that is supported by the wireless mobile handset and/or another type of user device. The VPS may store the copies of the video assets within a memory, storage device, and/or content distribution network associated with the VPS.
The VPS may process metadata obtained from the ingested video content and may publish the processed metadata to a catalog. The processed metadata may include cover art, descriptions of the video assets, prices (e.g., a purchase price, a rental price, a pay-per-view (PPV) price, a subscription price, etc.), etc. that are converted to formats that the user devices can process and/or display. The VPS may use the metadata to manage the availability of the video assets and may establish the one or more prices to ensure settlement costs (e.g., associated with content providers, etc.), operating costs, expenses, profit, etc. are covered by the prices. The catalog may establish bundled offerings (e.g., offerings that include one or more video assets, services, etc.) for a bundled price usually for a limited period of time.
The VPS may publish a portion of the processed metadata, that corresponds to available video assets, to a VPS store front. The VPS store front may be a portal (e.g., a webpage, user interface, an interactive media guide (IMG), etc.) that enables each of the different user devices to access a common list of titles, prices, etc. associated with the video assets that are available to be obtained by a user device.
A user device (e.g., the set top box) may access the store front and may select metadata associated with a video asset (e.g., a title, an identifier, etc.). The VPS may retrieve a copy of the video asset, associated with a format that is supported by the user device, and may transmit the copy of the video asset to the user device. The VPS store front may process payment information for the video asset (e.g., as a purchase, rental, pay-per-view, etc.) and/or may cause the selection of the video asset to be added to a bill associated with the user device. Another user device (e.g., the computer device), associated with a user of the user device, may access the store front and may select the video asset. The VPS may retrieve another copy of the video asset, associated with another format that is supported by the other user device, and may transmit the other copy of the video asset to the other user device at no additional cost. The VPS may also, or alternatively, maintain a bookmark for the video asset. The bookmark may identify a point at which the user device stopped playing the copy of the video asset before the copy of the video asset was finished playing on the user device. The VPS may use the bookmark to provide the other copy of the video asset, at another point that corresponds to the point at which the user device stopped the copy of the video asset, to the other user device. Thus, the other user device may resume playing of the video asset at the exact point where the playing of the video asset, by the user device, was stopped.
Also, in some implementations, one or more of the devices of environment 200 may perform one or more functions described as being performed by another one or more of the devices of environment 200. Devices, systems, and/or networks of environment 200 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
User device 210 may include a computation or communication device that is capable of communicating with service provider network 240. For example, user device 210 may include a radiotelephone, a personal communications system (PCS) terminal (e.g., that may combine a cellular radiotelephone with data processing and data communications capabilities), a personal digital assistant (PDA) (e.g., that can include a radiotelephone, a pager, Internet/intranet access, etc.), a laptop computer, a tablet computer, a set top box, a digital video recorder (DVR), a personal gaming system, a smart phone, or another type of computation or communication device.
User device 210 may host a media manager application (hereinafter referred to as “media application”) that enables user device 210 to communicate with VPS 220 and/or to perform certain operations to obtain video content from VPS 220. For example, the media application may enable user device 210 to access a portal (e.g., a website, a user interface, an IMG, etc.) associated with VPS 220, to browse, search, select, and/or obtain a video asset in exchange for payment (e.g., as a purchase, rental, pay-per-view, subscription, etc.). The media application may manage information associated with DRM with respect to the video asset and may use license information, obtained from VPS 220, to decrypt the video asset for playing on user device 210. The media application may bookmark a location at which user device 210 stopped playing the video asset and may transmit the bookmarked location to VPS 220. Another user device 210, associated with the user, may obtain a copy of the video asset from VPS 220 and may resume playing the video asset based on the bookmarked location obtained from VPS 220.
The media application may permit a particular type of user device 210 (e.g., a wireless mobile handset device associated with user device 210-J) to obtain the video asset from another type of computer device 210 (e.g., a computer device associated with user device 210-3) via a side loading operation (e.g., via a wired and/or wireless connection) instead of, or in addition to, obtaining the video asset from VPS 220.
VPS 220 may include one or more devices that gather, process, search, store, and/or provide information in a manner similar to that described herein. VPS 220 may be capable of communicating with content providers 230 via network 250 and/or user devices 210 via service provider network 240. VPS 220 may perform operations associated with video content ingestion, processing, and distribution for one or more types of user devices 210, associated with a user, within environment 200.
Content provider 230 may include any type or form of content provider. For example, content provider 230 may include free television broadcast providers (e.g., local broadcast providers, such as NBC, CBS, ABC, and/or Fox), for-pay television broadcast providers (e.g., TNT, ESPN, HBO, Cinemax, CNN, etc.), and/or Internet-based content providers (e.g., Youtube, Vimeo, Netflix, Hulu, Veoh, etc.) that stream content from web sites and/or permit content to be downloaded (e.g., via progressive download, etc.). Content provider 230 may include on-demand content providers (e.g., VOD, PPV, etc.). A media stream, as used herein, may refer to a stream of content that includes video content (e.g., a video stream), audio content (e.g., an audio stream), and/or textual content (e.g., a textual stream).
Service provider network 240 may include one or more wired and/or wireless networks via which user devices 210 communicate with and/or receive video content from VPS 220. For example, service provider network 240 may include a cellular network, the Public Land Mobile Network (PLMN), a second generation (2G) network, a third generation (3G) network, a fourth generation (4G) network (e.g., a long term evolution (LTE) network), a fifth generation (5G) network, and/or another network. Additionally, or alternatively, service provider network 240 may include a code division multiple access (CDMA) network, a global system for mobile communications (GSM) network, a general packet radio services (GPRS) network, or a combination of CDMA, GSM, and/or GPRS networks. Additionally, or alternatively, service provider network 240 may include a wide area network (WAN), a metropolitan area network (MAN), an ad hoc network, an intranet, a fiber optic-based network (e.g., a fiber optic service (FiOS) network), a television network, and/or a combination of these or other types of networks.
Network 250 may include one or more wired and/or wireless networks. For example, network 250 may include a cellular network, the PLMN, a 2G network, a 3G network, a 4G network (e.g., an LTE network), a 5G network, and/or another network. Additionally, or alternatively, network 250 may include a WAN, a MAN, a telephone network (e.g., the Public Switched Telephone Network (PSTN)), an ad hoc network, an intranet, the Internet, a fiber optic-based network, and/or a combination of these or other types of networks.
In the description below, VOD server 325 is described as provisioning video services for a type of user device 210 (i.e., a set top box) and CDN server 330 is described as provisioning video services for another other type of user device 210 (i.e., a computer device, a wireless mobile device, etc.) for explanatory purposes. In another implementation, the video services may be provisioned for the set top box and/or the other types of user devices in a number of ways. For example, VOD server 325 and/or CDN server 330 may be combined into a single device that provisions the video services for each type of user device 210. In another example, the video services may be provisioned, for each type of user device 210, by another device and/or network instead of, or in combination with, VOD server 325 and/or CDN server 330. Additionally, IMG server 320 is described as providing an a store front portal (i.e., via an IMG), that can be accessed by the set top box, and application server 315 is described as providing another store front portal (e.g., via a web page, a user interface, an interactive program guide, etc.), that can be accessed by the other types of user devices, for explanatory purposes. In another implementation, the store front portal may be provisioned for the set top box and/or the other types of user devices in a number of ways. For example, IMG server 320 and/or application server 315 may be combined into a single device that provisions the store front portal for each type of user device 210. In another example, the store front portal may be provisioned, for each type of user device 210, by another device and/or network instead of, or in combination with, IMG server 320 and/or application server 315. Thus, the examples below are provided for explanatory purposes only.
Application server 315 may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner similar to that described herein. Application server 315 may receive metadata that has been published by catalog server 335. The metadata may be associated with video assets that are to be made available and/or offered (e.g., for sale, rent, subscription, etc.) to user devices 210. Application server 315 may host a portal (e.g., a VPS store front), such as a private website (e.g., for subscribing user devices 210), a public website (e.g., for non-subscribing user devices 210), a user interface (UI) (e.g., that is accessible by wireless mobile handset-type user devices 210, etc.), an interactive program guide (e.g., an IMG for set top box-type user devices 210) and/or other types of user interfaces. The portal may enable single sign-on (SSO) portal access, to a user of one or more user devices 210, based on the same login credentials (e.g., username, password, personal identification number (PIN), etc.). Application server 315 may publish all or a portion of the metadata to the portal that permits any of user devices 210 to browse, perform searches, process payment, etc. for video assets based on the metadata that is published to the portal.
Application server 315 may perform a session management operation that authenticates user device 210 when user device 210 attempts to access the store front portal. Application server 315 may retrieve, from profile server 345, information relating to a profile associated with a user of one or more user devices 210. Application server 315 may obtain, from the information associated with the profile, information associated with a type of user device 210, a video format (e.g., screen size, bit rate, frame size, a frame reset rate, etc.) supported by user device 210, parental controls specified by the user, a transaction history associated with the user, a bookmark associated with a video asset, etc.
Application server 315 may permit user device 210 to browse and/or search video assets provided by VPS 220. Application server 315 may permit user device 210 to preview a trailer associated with a video asset and/or to select a video asset via the portal. Application server 315 may store information associated with the selected video asset in a logical shopping cart and/or electronic invoice. Application server 315 may recommend other video assets based on information associated with the transaction history and/or the parental controls. Application server 315 may perform an electronic transaction that permits user device 210 to purchase, rent, etc. a selected video asset (e.g., that was stored in the logical shopping cart), purchase a subscription for one or more video assets, bundles, etc. Application server 315 may, in one example, process payment information obtained from the information associated with the profile. Application server 315 may, in another example, send a notification, to billing server 350, that includes information associated with the transaction and which enables billing server 350 to include a cost of the transaction in an account associated with user device 210.
Application server 315 may send a notification to catalog server 335 that identifies the selected video content. The notification may include an indication of the type of user device 210 and/or information associated with the video format that user device 210 supports. Application server 315 may send an indication, to profile server 345, that the transaction associated with the selected video content was executed. The indication may enable other user devices 210, associated with the user, to obtain a copy of the selected video (e.g., in a video format supported by the other user devices 210) content at no additional cost to the user.
IMG server 320 may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner similar to that described herein. IMG server 320 may, for example, process metadata, that has been published by catalog server 335 and/or VOD server 325, in a manner similar to that described above (e.g., with respect to application server 315). The metadata may be associated with video content that may be obtained by a particular type of user device 210, such as a set top box user device 210.
IMG server 320 may publish all or a portion of the metadata to an IMG user interface (UI) that the set top box user device 210, associated with the user, may render for display on a video display device. IMG server 320 may permit the set top box user device 210 to access information associated with video assets, stored by VOD server 325, and access the actual video assets. IMG server 320 may, in another example implementation, communicate with application server 315, which may permit the set top box user device 210 to access the metadata associated video assets that are stored in CDN server 330.
IMG server 320 may receive a selection of a video asset (e.g., via the IMG) and may communicate with application server 315 in order to perform a session management operation, an electronic transaction, and/or a billing operation in a manner similar to that described above. IMG server 320 may communicate with VOD server 325 that causes the selected video asset to be transmitted (e.g., as a video stream) to the set top box user device 210. IMG server 320 may send an indication, to profile server 345, that the transaction associated with the selected video content was executed. The indication may enable other user devices 210, associated with the user, to obtain a copy of the selected video asset (e.g., in a video format supported by the other user devices 210) at, for example, no additional cost to the user.
VOD server 325 may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner similar to that described herein. VOD server 325 may, for example, perform operations to receive, store, process, and/or distribute video content in a format that is supported by set top box user devices 210.
VOD server 325 may receive published video assets and/or metadata from VCM server 340. VOD server 325 may store the published video assets in a memory associated with VOD server 325. VOD server 325 may manage a catalog that includes metadata associated with video assets received from VCM server 340. VOD server 325 may publish a portion of the metadata, associated with video assets (e.g., that are available for release and/or not subject to a blackout, etc.), to IMG server 320 that enables the catalog to be accessed, via the IMG, by set top box user devices 210.
VOD server 325 may respond to requests for selected video assets. VOD server 325 may receive, from IMG 320, an indication that a set top box user device 210 has selected a video asset via the IMG. VOD server 325 may, in response to the indication, forward information associated with the selected video asset, such as, for example, an identifier associated with the selected video asset (e.g., a title asset identifier (PAID)), information associated with content provider 230 (e.g., a provider identifier (PID)) from which the selected video asset was obtained, etc., to the set top box user device 210 via IMG server 320. VOD server 325 may receive, from the set top box user device 210, a request for the selected video asset and may transmit (e.g., via streaming video) the selected video asset to the set top box user device 210. The request may include the information associated with the selected video asset, the information associated with content provider 230, etc. The selected video asset may be encrypted (e.g., based on CAS-based encryption techniques) as the VOD server 325 is streaming the selected video asset to the set top box. The selected asset may be transmitted to the set top box in a manner that conforms to a particular QoS.
CDN server 330 may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner similar to that described herein. CDN server 330 may, for example, perform operations to receive, store, process, and/or distribute video content in a format that is supported by one or more types of user devices 210 (e.g., a computer device, a wireless mobile device, a gaming device, etc.) other than, or in addition to, a set top box user device 210. CDN server 330 may actually represent a content delivery network that includes multiple routing and/or storage devices.
CDN server 330 may receive published video assets in multiple video formats from VCM server 340. CDN server 330 may store the published video assets in a memory associated with CDN server 330. CDN server 330 may identify a respective storage location and/or URL for each format of each video asset that are stored within the memory and may send information associated with the storage locations and/or the URLs to catalog server 335.
CDN server 330 may respond to requests for selected video assets. CDN server 330 may receive, from user device 210, a request for a video asset based on a URL associated with the request. CDN server 330 may retrieve the video asset that is based on a particular video format that corresponds to the URL and may transmit the retrieved video asset to user device 210. CDN server 330 may transmit the video asset, that has been pre-encrypted by VCM server 340 (e.g., based on DRM-based encryption techniques), to user device 210. The selected asset may be transmitted (e.g., based on a progressive download protocol, adaptive bit rate streaming protocol, and/or some other protocol) to user device 210 in a manner that conforms to another QoS (e.g., best efforts).
Catalog server 335 may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner similar to that described herein. Catalog server 335 may, for example, receive, from VCM server 340, published metadata associated with video content that has been published to VOD server 325 and/or CDN server 330. Catalog server 335 may process and/or package the metadata in order to merchandize the video content to which the metadata corresponds.
Catalog server 335 may, for example, obtain metadata for a video asset that includes, for the video asset, an identifier (e.g., a title, etc.), a description, a genre, casting information (e.g., actors, directors, producer, etc.), ratings, reviews, etc. Catalog server 335 may merchandize the video asset by associating one or more prices to the metadata for the video asset. The prices may include a rental price (e.g., a price per single viewing, a price per day, per week, etc.), a sale price, a subscription price, etc. Catalog server 335 may associate the metadata, for the video asset, with other metadata, for other video assets, to create a service bundle (e.g., that includes the video asset and one or more other video assets and/or services) and may associate another price for the sale, rental, subscription, etc. of the service bundle. Catalog server 335 may identify a price to cover costs associated with the video asset (e.g., a settlement cost to be paid to content provider 230 who provided the video asset, costs associated with service provider network 240, expected profit, etc.).
Catalog server 335 may identify, from the metadata, information associated with the availability of the video asset based on a date on which the video asset is released, blacked out, etc. Catalog server 335 may publish the metadata, associated with the merchandized video assets, to the store front portal associated with VPS application 315. Catalog server 335 may not publish metadata associated with video assets that are identified as not yet being available. Catalog server 335 may publish other metadata associated with service bundles, promotions, recommendations, etc. to the store front portal.
Catalog server 335 may associate information associated with DRM with the metadata associated with the merchandized assets. For example, catalog server 335 may associate information associated with a license and/or a key (e.g., a private key, a public key, a CODEC, etc.) with the metadata for the merchandized video asset and may store the information associated with the license and/or the key in a memory associated with catalog server 335. The key may enable the video asset to be decrypted (e.g., by user device 210) when the information associated with the license indicates that the video asset can be decrypted and/or is otherwise available. Catalog server 335 may store the metadata for the video asset in the memory. Catalog server 335 may include, with the metadata, a URL associated with a location at which the video asset is stored within CDN server 330.
VCM server 340 may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner similar to that described herein. VCM server 340 may, for example, communicate with content providers 230 to ingest video content to be processed by VPS 220. VCM server 340 may ingest high quality video content (e.g., associated with a resolution level and/or bit rate that is greater than a threshold). The video content may include one or more video assets, metadata associated with the video assets, and/or information associated with DRM that corresponds to the video assets.
VCM server 340 may process the high quality video content using one or more video profiles, in order to generate one or more copies of the video content. The video profiles may identify a type of user device 210 for which the video asset is intended (e.g., a set top box, a computer device, a wireless handheld device, a gaming device, etc.), type of format supported by user device 210 (e.g., a bit rate, a resolution level, a frame refresh rate, a CODEC, etc.), an encryption technique, etc. The copies may correspond to one or more formats that are supported by one or more types of user devices 210. VCM server 340 may, for example, use a video profile to generate a video format associated with a frame rate, a resolution level, a screen size, a frame refresh rate, a bit rate, etc. that enables user device 210 (such as, for example, a smart phone) to receive, process, display, and/or store the video asset. In another example, VCM 340 may use another video profile to generate another video format associated with another frame rate, another resolution level, a different screen size, another frame refresh rate, another bit rate, etc. that enables another user device 210 (e.g., a computer device) to receive, process, display, and/or store the video asset.
VCM server 340 may perform a quality control operation (e.g., by reducing periods of black screen, within the video assets, that are greater than a threshold, etc.) on the formatted video assets to ensure that the formatted video asset can be transmitted to and/or played on user device 210 at a QoS that is greater than a threshold. VCM server 340 may encrypt the one or more formats and/or may publish the one or more formats, associated with the processed video assets, to VOD server 325 and/or CDN server 330.
VCM server 340 may process the metadata associated with the video assets to ensure that the metadata is supported by different types of user devices 210. For example, VCM server 340 may adapt image sizes (e.g., associated with cover art of a video asset, etc.) to one or more sizes that can be supported by the different types of user devices 210. VCM server 340 may publish the processed metadata and/or the information associated with the DRM to catalog server 335.
Profile server 345 may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner similar to that described herein. Profile server 345 may, for example, store information associated with a profile that includes information regarding the user and each user device 210 with which the user has registered with VPS 220. For example, information associated with the profile may further include information associated with the user (e.g., a username, password, PIN, etc.), information associated with each user device 210, such as a respective identifier (e.g., a mobile directory number (MDN), an Internet protocol (IP) address, a media access control (MAC) address, a CODEC identifier, etc.), and/or information associated with a type of user device 210, such as a computer device (e.g., a lap top computer, a tablet computer, etc.), a wireless mobile device (e.g., a Droid®, a Blackberry®, an iPhone®, etc.), a set top box, a gaming device, etc.
The information associated with the profile may also include a respective user history (e.g., prior purchases, prior URLs accessed, prior downloads, etc.) associated with each user device 210; information associated with services for which user device 210 has subscribed; information associated with a location (e.g., an address, a zip code, a city, etc.) of the user and/or user device 210; information associated user account limits, restrictions, etc.; information associated with a language spoken by the user; etc.
The information associated with the profile may include a bookmark that identifies a location at which user device 210 stopped a video asset. The bookmark may permit another user device 210, associated with the user, to resume playing the video asset (e.g., that has been downloaded on the other user device 210) at the location at which the video asset was stopped by user device 210.
Billing server 350 may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner similar to that described herein. Billing server 350 may, for example, perform billing operations associated with accounts that correspond to each user device 210 associated with a user. For example, billing server 350 may receive an indication that user device 210 (e.g., a computer device), associated with the user, downloaded a video asset (e.g., via a broadband service associated with service provider network 240) as a result of a transaction via the store front portal. Billing server 350 may generate billing information that identifies the video asset, the type of transaction (e.g., a purchase, rental, subscription, etc.), a price associated with the transaction, a time at which the transaction occurred, etc. Billing server 350 may associate the billing information with an account that corresponds to the user and/or user device 210. Billing server 350 may generate other billing information regarding another transaction with another user device 210 (e.g., a set top box) with which the user is associated. Billing server 350 may associate the other billing information with another account that corresponds to the user and/or the other user device 210. In yet another example, billing server 350 may process payment information (e.g., based on credit card information, debit card information, etc.) associated with a transaction with a further user device 210 to purchase, rent, subscribe to, etc. another video asset.
Bus 410 may include a path that permits communication among the components of device 400. Processor 420 may include a processor, microprocessor, or processing logic that may interpret and execute instructions. Memory 430 may include any type of dynamic storage device that may store information and instructions, for execution by processor 420, and/or any type of non-volatile storage device that may store information for use by processor 420.
Input component 440 may include a mechanism that permits a user to input information to device 400, such as a keyboard, a keypad, a button, a switch, etc. Output component 450 may include a mechanism that outputs information to the user, such as a display, a speaker, one or more light emitting diodes (LEDs), etc. Communication interface 460 may include any transceiver-like mechanism that enables device 400 to communicate with other devices and/or systems via wireless communications (e.g., radio frequency, infrared, and/or visual optics, etc.), wired communications (e.g., conductive wire, twisted pair cable, coaxial cable, transmission line, fiber optic cable, and/or waveguide, etc.), or a combination of wireless and wired communications. For example, communication interface 460 may include mechanisms for communicating with another device or system via a network, such as service provider network 240 and/or network 250. In one alternative implementation, communication interface 460 may be a logical component that includes input and output ports, input and output systems, and/or other input and output components that facilitate the transmission of data to other devices.
As will be described in detail below, device 400 may perform certain operations relating to video content provisioning. Device 400 may perform these operations in response to processor 420 executing software instructions contained in a computer-readable medium, such as memory 430. A computer-readable medium may be defined as a non-transitory memory device. A memory device may include space within a single physical memory device or spread across multiple physical memory devices. The software instructions may be read into memory 430 from another computer-readable medium or from another device. The software instructions contained in memory 430 may cause processor 420 to perform processes described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
Video asset ID field 505 may store a unique identifier (e.g., one or more sequences of characters, etc.) associated with a particular video asset and/or information associated with a particular content provider 230 from which the particular asset was received. Title field 510 may store a title associated with the particular video asset. Genre field 515 may store information associated with a genre that corresponds to the particular video asset. Description field 520 may store a description associated with the particular video asset, such as a summary of a move when the particular video asset corresponds to the movie). Cast info field 525 may store information associated with an actor, a director, a producer, and/or other individuals associated with the particular video asset.
Rating field 530 may store information associated with a rating (e.g., general audience (G), parental guidance (PG), PG-13, restricted (R), mature audience (MA), etc.) that corresponds to the particular video asset. Price field 535 may store information, associated with one or more prices, that corresponds to the particular video asset. For example, one price may correspond to a sale price for the particular video asset. Another price may correspond to a rental price (e.g., a cost per viewing, per day, per week, etc.). One or more further prices may correspond to a price associated with a bundle of video assets and/or services that include the particular video asset, etc. Availability field 540 may store information associated with an availability of the particular asset. For example, availability field 540 store information that identifies when the particular video asset may be released to users of user devices 210 and when the particular asset is no longer available to users of user devices 210. In another example, availability field 540 may store information associated with a blackout period from a time when the particular asset is not to be released to another time when the particular asset may be released.
DRM field 545 may store license information associated with the particular asset and/or one or more keys that are used to encrypt the particular video asset. Category field 550 may store information associated with a category that corresponds to the particular video asset. The information, associated with the category, may include, for example, an indication that the particular video asset is a movie, a television program, a video game, etc. Reviews field 555 may include information associated with reviews, by users associated with VPS 220 and possibly users not associated with VPS 220, of the particular video asset. Cover art field 560 may include one or more images associated with the particular asset.
Storage location field 565 may store information associated with a location, within a memory associated with VOD server 325 and/or CDN server 330, that the particular video asset is stored. Format field 570 may store information associated with a video format that corresponds to the particular video asset. For example, format field 570 may store information associated with a bit rate, a screen size, a resolution level, a frame rate, a frame refresh rate, etc. that corresponds to the particular video asset. Bundle field 575 may store information, associated with a bundle, that identifies other services and/or other video assets, obtained from the ingested video content, that are associated with the particular video content. The bundle may be associated with a price identified in price field 535.
As shown in
VCM server 340 may use the high quality video content to generate copies of the video assets associated with one or more other resolution levels that are approximately equal to or less than the resolution level associated with the high quality video content. For example, VCM server 340 may generate a copy of a video asset and may perform an operation to transcode the video asset into a format that can be supported (e.g., received, processed, stored, played, etc.) by a type of user device 210 (e.g., a computer device) and/or some other format (e.g., a high definition format, etc.). The format of the transcoded video asset may be associated with a frame size, frame refresh rate, resolution level, a bit rate, etc. Additionally, or alternatively, the format may be associated with a level of compression that corresponds to the type of user device 210 (e.g., based on a CODEC that corresponds to user device 210). VCM server 340 may obtain, from the video content, DRM information associated with the video asset. VCM server 340 may use the DRM information to generate a key and/or license information associated with each format and/or copy of the video asset. VCM server 340 may use a respective key to encrypt each copy of the video asset. VCM server 340 may generate other encrypted copies of the video asset based on other formats that are supported by other types of user devices 210.
VCM server 340 may process metadata associated with the video asset. For example, VPS 220 obtain metadata, associated with the video asset, from the video content. VCM server 340 may format images (e.g., cover art), descriptions of the video asset, etc. associated with the video asset in a manner that is supported by user device 210. VCM server 340 may generate other encrypted copies of the metadata based on other formats that are supported by other types of user devices 210. VCM server 340 may process other metadata associated with other video assets obtained from the video content.
As also shown in
In another example, VCM server 340 may transmit another portion of the copies of the video asset to CDN server 330. The other portion of the copies of the video assets may be based on one or more formats that are supported by types of user devices (e.g., a computer device, a wireless mobile device, a portable gaming device, etc.) other than, or in addition to, the set top box user device 210. CDN server 330 may receive the other portion of the copies of the video asset and may store the other portion of the copies of the video asset in a memory associated with CDN server 330. CDN server 330 may transmit, to VCM server 340, information associated with a respective storage location (e.g., respective URLs, etc.), within the memory associated with CDN server 330, that each of the other portion of the copies of the video asset are stored.
VCM server 340 may transmit the processed metadata and/or copies of the key and/or license information, associated with the video asset, to VOD server 325 and/or catalog server 335. The processed metadata may include the information associated with one or more storage locations within CDN server 330. For example, VCM server 340 may send, to VOD server 325, a portion of the processed metadata that corresponds to the copies of the video assets that are formatted for the set top box user device 210. VCM server 340 may send the portion of the processed metadata and/or another portion of the processed metadata, which is formatted for the type of user device 210 other than the set top box user device 210, to catalog server 335.
As further shown in
In another example, catalog server 335 may combine two or more video assets and/or services to generate bundles of services and/or video assets. Catalog server 335 may generate a price associated with the bundle. Catalog server 335 may associate, with the published metadata, information associated with advertising and/or promotional information (e.g., discounts on prices, subscriptions, etc. for a period of time, during a particular season, etc.).
Catalog server 335 may store the merchandized metadata, the DRM information, and/or the information associated with the storage locations (e.g., URLs associated with CDN server 330) associated with the video asset in a data structure (e.g., data structure 500 of
In another example implementation, catalog server 335 may merchandize published metadata associated with free video assets (e.g., associated with free broadcast video assets, free on-line video assets, etc). For example, catalog server 335 may combine two or more free video assets and/or services to generate bundles of free video assets and/or services. Catalog server 335 may associated, with the published metadata, the information associated with advertising and/or the promotional information. Catalog server 335 may not, in this example, generate a price structure associated with the free video assets nor assign one or more prices to the free video assets and/or bundles of free video assets.
As yet further shown in
Application server 315 may receive all or the portion of the merchandized metadata and may publish the received merchandized metadata to the electronic store front, such as, for example, a webpage that can be accessed by a type of user device 210 (e.g., a computer device, a wireless mobile device, etc.) via service provider network 240 (e.g., a broadband network, such as the Internet, etc.). In another example, the electronic store front may include a data structure from which information is transmitted, via a service provider network 240 (e.g., a wireless telephone network, etc.), to another type of user device 210 (e.g., a wireless mobile device) for display via a user interface.
In another example, VOD server 325 may, in a manner similar to that described above, transmit all or a portion of the merchandized metadata, associated with the video asset that is formatted for the set top box user device 210, to IMG server 320. IMG server 320 may receive the merchandized metadata and may publish the merchandized metadata to another electronic store front, associated with VPS 220. The other electronic store front may include, for example, an interactive program guide via which a set top box user device 210 can view and/or select the video asset.
As shown in
Application server 315 may retrieve, from a memory associated with application server 315, a client application and may send the client application to user device 210. User device 210 may receive the client application and may install and/or execute the client application. User device 210 may use the client application to register user device 210 with application server 315. In another example implementation, the user may register user device 210 in a manner that does not include installing the client application. For example, user device 210 may access a web page (e.g., via the Internet), hosted by application server 315, and may send the information, associated with user device 210, to application server 315, via the web page.
As also shown in
As further shown in
As yet further shown in
The user may register one or more other user devices 210 in a manner similar to that described above. The other user device(s) 210 may be the same type or a different type of user device 210 relative to user device 210. In this way, a user may provide information regarding a number of user devices 210 with which the user is associated.
As shown in
Application server 315 may compare the information associated with the user and/or user device 210, received with the access request, to the retrieved information associated with the user and/or user device 210. Application server 315 may, based on the comparison, determine whether the received information, associated with the user and/or user device 210, matches the retrieved information associated with the user and/or user device 210. Application server 315 may not authenticate user device 210 based on a determination that the received information does not match the retrieved information. Application server 315 may determine that the received information matches the retrieved information and may compare confirmation information, obtained from the access request, to the retrieved confirmation information to determine whether the confirmation information matches the retrieved confirmation information. Application server 315 may not authenticate user device 210 based on a determination that the confirmation information does not match the retrieved confirmation information. Application server 315 may authenticate user device 210 based on a determination that the confirmation information matches the retrieved confirmation information.
As also shown in
Additionally, or alternatively, application server 315 may obtain, from the profile, information associated with a video profile that identifies a type of user device 210, a format supported by user device 210, encryption techniques supported by user device 210, etc. Application server 315 may use the information, associated with the video profile, to identify particular copies of a selected asset to transmit to user device 210.
As further shown in
As yet further shown in
As still further shown in
Based on the determination that the selected asset was previously downloaded to the other user device 210 and/or that the license, associated with the previously downloaded asset, is valid, application server 315 may, in one example, obtain a URL from metadata associated with the selected asset. Application server 315 may use information, associated with the video profile that corresponds to user device 210, to select a URL associated with the video content. The URL may be associated with a storage location from which the selected asset, that is formatted in a manner that can be supported by user device 210 (e.g., based on the video profile), can be retrieved by user device 210. In another example, application server 315 may retrieve, from VOD server 325 and based on the video profile, information associated with the selected video asset (e.g., a PAID) and/or content provider 230 (e.g., PID) from which the selected video asset was obtained. Also, or alternatively, application server 315 may retrieve a bookmark, associated with the selected asset, from profile server 345 that enables user device 210 to resume playing the selected asset at a location at which the other user device 210 stopped playing the downloaded asset at a previous point in time. Application server 315 may transmit the URL, the information associated with the video asset and/or content provider 230, and/or the bookmark to user device 210.
As also shown in
In a further example, the client application may use the information associated with the selected video asset (e.g., a PAID) and/or content provider 230 (e.g., a PID) to send a request for the selected video asset from VOD server 325. VOD server 325 may receive the request and may, for example, retrieve a copy of the selected asset from a memory associated with VOD server 3325 based on the information associated with the selected video asset and/or content provider 230. In another example, CDN server 330 may determine that the selected video asset is not stored in the memory associated with VOD server 325 and may retrieve a copy of the selected video asset from content provider 230. The selected asset, retrieved from content provider 230, may, in a manner similar to that described above (e.g., with respect to
As further shown in
As yet further shown in
Application server 315 may, based on the determination that the selected video asset was not previously downloaded and/or that a license, associated with the previously downloaded video asset, has expired, perform an electronic transaction associated with the selected asset. For example, application server 315 may send an indication, to billing server 350, indicating that information regarding an electronic transaction is to be associated with an account corresponding to user device 210. The indication may include a value associated with a price for the selected video asset, information associated with user device 210, information associated with the selected video asset (e.g., an identifier associated with the selected video asset), and/or and information associated with content provider 230 (e.g., an identifier associated content provider 230) from which the selected video asset was received. The price may correspond to a type of electronic transaction, such as a purchase, rental, subscription, bundle, etc.
Billing server 350 may receive the indication and may store the information regarding the electronic transaction in a data structure relating to the account. Billing server 350 may perform settlement operation by storing a portion of the price in another data structure relating to another account associated with content provider 230.
Application server 315 may send an electronic receipt, to user device 210, that includes the information associated with the electronic transaction. Application server 315 may update the transaction history, associated with user device 210, based on the information associated with the electronic transaction. Application server 210 may communicate with user device 210 to transmit the selected video asset and/or a license, associated with the selected video asset, in a manner similar to that described above (e.g., with respect to blocks 835-845).
As shown in
As shown in
In addition, while the previous example described a situation where the video asset is first played on set top box 900, systems and/or methods, described herein, are not so limited. In fact, the user may interact with VPS 220 to initiate playing of the video asset on any of these user devices, stop the playing of the video asset, and resume the playing of the video asset on the same or any other one of these user devices.
Systems and/or methods, described herein, may enable video content to be processed in a manner that enables the video content to be provisioned to various types of user devices, associated with a user, over various types of networks. The systems and/or methods may enable the video content to be provisioned, to each type of user device, for a uniform price and/or with respect to the same availability and/or accessibility. The systems and/or methods may enable copies of the video content to be formatted in a manner that is supported by each type of user device. The systems and/or methods may enable a catalog to store metadata associated with video content that can be accessed by each type of user device. The systems and/or methods may enable a transaction history to store information regarding each transaction, associated with each type of user device, to obtain video content. The systems and/or methods may enable each type of user device to use uniform login credentials to access a store front portal via which video content is obtained from the catalog. The systems and/or methods may permit video content to be played on one of the user devices, paused, and resumed on another one of the user devices.
The foregoing description provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the embodiments.
While series of blocks have been described with regard to
It will be apparent that systems and/or methods, as described above, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement these systems and methods is not limiting of the embodiments. Thus, the operation and behavior of the systems and methods were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement the systems and methods based on the description herein.
Further, certain portions, described above, may be implemented as a component that performs one or more functions. A component, as used herein, may include hardware, such as a processor, an ASIC, or a FPGA, or a combination of hardware and software (e.g., a processor executing software).
It should be emphasized that the terms “comprises”/“comprising” when used in this specification are taken to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of the embodiments. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one other claim, the disclosure of the embodiments includes each dependent claim in combination with every other claim in the claim set.
No element, act, or instruction used in the present application should be construed as critical or essential to the embodiments unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
This application claims priority to U.S. Provisional Patent Application No. 61/387,939, filed Sep. 29, 2010, the entire contents of the provisional application being incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61387939 | Sep 2010 | US |