JP7139314B2 - 利用可能な記憶スペースの関数として連続番組録画を管理するためのシステムおよび方法 - Google Patents

利用可能な記憶スペースの関数として連続番組録画を管理するためのシステムおよび方法 Download PDF

Info

Publication number
JP7139314B2
JP7139314B2 JP2019511598A JP2019511598A JP7139314B2 JP 7139314 B2 JP7139314 B2 JP 7139314B2 JP 2019511598 A JP2019511598 A JP 2019511598A JP 2019511598 A JP2019511598 A JP 2019511598A JP 7139314 B2 JP7139314 B2 JP 7139314B2
Authority
JP
Japan
Prior art keywords
user
series
media guidance
episodes
viewing progress
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2019511598A
Other languages
English (en)
Other versions
JP2019530305A (ja
JP2019530305A5 (ja
Inventor
デイビッド ジェラルド ウィットケ,
Original Assignee
ロヴィ ガイズ, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ロヴィ ガイズ, インコーポレイテッド filed Critical ロヴィ ガイズ, インコーポレイテッド
Publication of JP2019530305A publication Critical patent/JP2019530305A/ja
Publication of JP2019530305A5 publication Critical patent/JP2019530305A5/ja
Application granted granted Critical
Publication of JP7139314B2 publication Critical patent/JP7139314B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • G06F16/743Browsing; Visualisation therefor a collection of video files or sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • 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/4334Recording operations
    • 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/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • 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/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • 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/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • 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/47214End-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 content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • 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/47217End-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 controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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/482End-user interface for program selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Business, Economics & Management (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Description

現代のテレビ消費者に利用可能な大量のメディアを考慮すると、ユーザは、多くの場合、関心がある全てのメディアアセットが生放送されているとき、それらを視聴することはできない。多くのユーザは、独立型デバイスであるか、またはセットトップボックス(「STB」)に統合され得るデジタルビデオレコーダ(「DVR」)を利用し、後の消費のためにメディアアセットを録画する。ユーザを補助するために、多くのセットトップボックスは、メディアアセットに関連する情報を視覚的に提示するメディアガイドアプリケーションを実装する。多くのメディアガイドアプリケーションに共通する1つの特定の機能は、連続番組録画機能である。ユーザによる特定の連続番組の連続番組録画機能の選択時、メディアガイドアプリケーションは、連続番組の一部であると識別されるエピソードを録画する命令を記憶する。メディアガイドアプリケーションが(例えば、コンテンツプロバイダから)更新されたメディアアセットリスト項目を受信すると、メディアガイドアプリケーションは、連続番組のエピソードとして検出されるメディアアセットを自動的にスケジュールし、適切な時間にそれらを録画する。
便利であるが、連続番組録画は、DVRの記憶容量に迅速に到達することにつながり得る。これは、ユーザが多数のメディアアセットを調べ、新しいメディアアセットを記憶するために削除すべきものを手動で決定する必要があり得るので、ユーザを苛立たせ得る。記憶された閾値時間量後、またはユーザがメディアアセットを鑑賞した後、メディアアセットを自動的に削除すること等のこの問題の種々の解決策が提案されている。DVRが記憶容量に到達することにつながる多数の連続番組録画命令の問題に対処するために、考慮される1つの以前に提案された解決策は、ユーザによって鑑賞された連続番組のエピソードの数を決定し、ユーザが閾値数のエピソードを視聴していないことに基づいて、連続番組録画命令を削除することであった。しかしながら、この解決策は、ユーザが閾値数のエピソードを鑑賞していないことが、連続番組に関心がないことを意味すると仮定する画一的なアプローチであるという点で問題である。一部のユーザは、シーズンの全エピソードが録画されるまで、連続番組を視聴することを待つことを好み得るか、または、一部のユーザは、ユーザのDVRが満杯でなければ即時にエピソードを鑑賞することを気にかけないこともある。
故に、システムおよび方法が、利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正するために提示される。例えば、メディアガイドアプリケーション(例えば、セットトップボックス上で実行される)は、連続番組のすでに記憶されたエピソードの視聴進捗と記憶デバイス上に残っている利用可能な記憶スペースの量との両方を監視する。そして、メディアガイドアプリケーションは、利用可能な記憶スペースの現在の量(例えば、20%利用可能)を利用可能な記憶スペースの関数に入力することによって、閾値視聴進捗(例えば、50%)を計算する。そして、メディアガイドアプリケーションは、連続番組のエピソードを通したユーザの視聴進捗から、ユーザが計算された閾値視聴進捗を満たした(例えば、ユーザが記憶されたエピソードの50%を鑑賞した)かどうかを決定する。閾値視聴進捗が満たされていない場合、メディアガイドアプリケーションは、連続番組録画命令を修正する(例えば、連続番組録画をキャンセルする)。利用可能な記憶スペースの量に基づいて、連続番組録画命令を修正するときの可変閾値を利用することによって、システムおよび方法は、連続番組録画命令が時期尚早に削除されないことを確実にすることに役立ち、記憶デバイス上の利用可能な有限量のスペースをより効率的に管理することに役立ち得る。
いくつかの側面では、メディアガイドアプリケーションは、連続番組を記憶するためのユーザ要求を受信する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェース(例えば、リモートコントロール)を介して、連続番組のエピソードのための録画オプションのユーザ選択を受信し得る。そして、メディアガイドアプリケーションは、連続番組の他のエピソードを録画するための選択可能オプションを含む追加のオプションをユーザに提供し得る。代替として、または加えて、メディアガイドアプリケーションは、ユーザが、ユーザ入力インターフェース(例えば、タッチスクリーン)を介して単一の入力を用いて選択し得る複数の人気連続番組を伴う連続番組録画オプション画面を提供し得る。
そして、メディアガイドアプリケーションは、スケジュールデータ構造の中に連続番組のエピソードを記憶するための命令を記憶する。例えば、メディアガイドアプリケーションは、メモリの中にローカルで、またはメディアガイドデータソースにおいて遠隔で記憶装置の中に記憶されたスケジュールデータ構造を維持し得る。スケジュールデータ構造は、各命令が、異なる行に記憶され、命令に関連付けられたパラメータ(例えば、録画する開始時間、終了時間、および/またはソース)が行のフィールドの中に記憶されるテーブルとして編成され得る。代替として、または加えて、スケジュールデータ構造は、C++等のオブジェクト指向プログラミング言語に特有であるように、クラスのオブジェクトとして構造化され得る。この場合、クラスは、ユーザからメディアガイドアプリケーションによって受信される各スケジュール選択に対してメモリの中に記憶される変数および定数の一般的テンプレートを作成する「スケジュールされたアイテム」クラスであり得る。連続番組を記憶するための命令に対して、メディアガイドアプリケーションは、各エピソードを記憶する別個の命令を生成し得るか、または、特定の連続番組に対応する全エピソードが記憶されるべきことを規定する単一の命令を生成し得る。
メディアガイドアプリケーションは、連続番組のエピソードを記憶するための命令に基づいて、記憶デバイス上に連続番組の複数のエピソードを記憶する。例えば、メディアガイドアプリケーションは、クロック時間を種々のスケジュールイベントのためのスケジュールデータベースの中に記憶された開始時間と比較するプログラムスクリプトを実行し得る。クロック時間がスケジュールイベントの開始時間に対応するとき、メディアガイドアプリケーションは、適切なアクションをとり得る(例えば、スケジュールデータ構造において定義されるような特定のソースからデータを受信し、データを記憶する)。
メディアガイドアプリケーションは、ユーザに対応するユーザプロファイルの中にユーザによる複数のエピソードの視聴進捗を記憶する。例えば、メディアガイドアプリケーションは、データ構造内でユーザプロファイルを維持し得る。ユーザプロファイルは、ユーザ毎(例えば、ユーザがログイン証明情報に基づいてメディアガイドアプリケーションによって識別され、ユーザ毎の別個の視聴進捗が維持される)、またはデバイス毎(例えば、たとえデバイスがメディアアセットを視聴する複数のユーザを有しても、単一の視聴進捗のみがメディアガイドアプリケーションによって記憶される)であり得る。ユーザプロファイルを記憶するデータ構造は、上で説明されるスケジュールデータ構造と同様に編成され得る。例えば、メディアガイドアプリケーションは、ユーザが消費した各メディアアセットが異なる行に記憶され、メディアアセットに関連付けられたパラメータ(例えば、ユーザの視聴進捗および/またはメディアアセットが最後にアクセスされた時間ならびに日付)が行のフィールドの中に記憶されるテーブルとして、ユーザプロファイルを編成し得る。ユーザが特定のメディアアセットにアクセスする度に、メディアガイドアプリケーションは、ユーザプロファイルにクエリを行い、メディアアセットがユーザによって以前にアクセスされているかどうかを決定し、メディアアセットに対応するエントリに対して視聴進捗を更新し得る。ユーザが以前にメディアアセットを視聴していない場合、メディアガイドアプリケーションは、ユーザプロファイルの中に新しいエントリを作成し得る。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが複数のエピソードのうちの第1のエピソードを選択したことを決定する。例えば、メディアガイドアプリケーションは、(例えば、メディアガイドデータソースから受信される)「The Winds of Winter」に関連付けられたメタデータに基づいて、ユーザが連続番組「Game of Thrones」の第1のエピソード「The Winds of Winter」を選択したことを決定し得る。そして、メディアガイドアプリケーションは、第1のエピソードに対して、ユーザの現在の再生位置を監視する。例えば、メディアガイドアプリケーションは、「The Winds of Winter」を視聴するユーザの視聴進捗を監視し、ユーザがエピソードの15分を視聴したことを決定し得る。メディアガイドアプリケーションは、ユーザプロファイルの視聴進捗データ構造内のエントリとして、第1のエピソードに対するユーザの現在の再生位置を記憶する。例えば、メディアガイドアプリケーションは、周期的に、または、メディアガイドアプリケーションがユーザがもはやメディアアセットを視聴していないことを決定すると、エピソードのためのユーザプロファイルの中の視聴進捗に対応するフィールドを更新し得る。
ユーザプロファイルの視聴進捗データ構造内のエントリとして、第1のエピソードに対するユーザの現在の再生位置を記憶するために、メディアガイドアプリケーションは、第1のエピソードの持続時間およびユーザの現在の再生位置に基づいて、ユーザによって視聴される第1のエピソードの割合を計算し得る。例えば、メディアガイドアプリケーションは、ユーザによる連続番組「Game of Thrones」のエピソード「The Winds of Winter」に対して現在の再生進捗(例えば、15分)を読み出し得る。そして、メディアガイドアプリケーションは、(例えば、メディアガイドデータソースから)60分としてエピソードの全持続時間を読み出すことに基づいて、ユーザによって視聴された「The Winds of Winter」の割合を1/4として計算し得る。そして、メディアガイドアプリケーションは、メモリの中に記憶された閾値割合視聴進捗を読み出す。例えば、メディアガイドアプリケーションは、ユーザプロファイルの中のフィールドから、1/2として閾値割合視聴進捗の値を読み出し得る。閾値割合視聴進捗の値は、ユーザまたはデバイス特定であり得る。メディアガイドアプリケーションは、ユーザによって視聴された第1のエピソードの割合を、閾値割合視聴進捗と比較する。例えば、メディアガイドアプリケーションは、閾値割合視聴進捗の値(例えば、1/2)を、ユーザによって視聴された第1のエピソードの割合(例えば、1/4)と比較し、大きい方を決定し得る。メディアガイドアプリケーションは、ユーザによって視聴された第1のエピソードの割合が割合視聴進捗を満たすことを決定することに応答して、第1のエピソードがユーザによって完全に視聴されたという指示をエントリとともに記憶する。例えば、ユーザが閾値を上回って視聴したことを決定すると、メディアガイドアプリケーションは、ユーザがエピソードを視聴したかどうかに対応するブール値を「真」に設定し得る。代替として、または加えて、メディアガイドアプリケーションは、一部のユーザが1つ以上のエピソードの部分のみを視聴することを所望し得るが、依然として、連続番組に関心があるので、ユーザが、(例えば、ユーザ入力インターフェースを介して)一部のユーザが視聴したエピソードと見なすものに対して閾値割合視聴進捗をカスタマイズすることを可能にし得る。
メディアガイドアプリケーションは、記憶デバイス上に残っている利用可能な記憶スペースの量を決定する。例えば、メディアガイドアプリケーションは、空いており、メディアアセットを記憶するために利用可能であるメモリのブロックの数を決定し得る。メディアガイドアプリケーションは、以下に説明されるように、連続番組視聴関数に入力されることができるように、利用可能な記憶スペースの量を処理し得る。例えば、メディアガイドアプリケーションは、メモリの全フリーブロックをメモリの全ブロックで除算し、新しいメディアアセットを記憶するために利用可能なスペースの割合(例えば、5%利用可能)を決定し得る。
メディアガイドアプリケーションは、連続番組視聴関数を用いて利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算する。例えば、メディアガイドアプリケーションは、利用可能な記憶スペースの量を閾値視聴進捗に関連付ける、数学関数を記憶し得る。数学関数は、連続的、不連続的、および/または一価であり得る。具体的例として、メディアガイドアプリケーションは、記憶デバイスの記憶スペースの10%のみが利用可能であることを決定し、これを数学関数に入力し、数学関数は、7/8の出力を返し得る。この例では、メディアガイドアプリケーションは、非常に少ない記憶空間が利用可能であるので、高閾値視聴進捗を計算する。いくつかの実施形態では、メディアガイドアプリケーションは、利用可能な記憶スペースの量の第1の値を読み出す。上で説明されるように、メディアガイドアプリケーションは、空いており、メディアアセットを記憶するために利用可能なメモリのブロックの値を読み出し得る。そして、メディアガイドアプリケーションは、プログラムスクリプトを実行し、第1の値は、利用可能な記憶スペースの量のための値を閾値視聴進捗にマッピングする数学関数に入力される。例えば、メディアガイドアプリケーションは、上で説明されるように、数学関数への入力として利用可能なメモリの量を用いて、プログラムスクリプト(例えば、C++プログラム)を実行し得る。メディアガイドアプリケーションは、プログラムスクリプトの出力として、閾値視聴進捗を受信する。例えば、プログラムスクリプトは、入力される利用可能な記憶スペースの量に基づいて閾値視聴進捗を返し、終了し得る。
メディアガイドアプリケーションは、複数の記憶されたエピソードの間での集合的視聴進捗を表す集計された視聴進捗を算出する。例えば、メディアガイドアプリケーションは、SQLスクリプト等のデータベースクエリ言語スクリプトを実行し、ユーザが視聴した特定のメディアアセットに対する視聴進捗(例えば、ユーザプロファイルの中のテーブル内のエントリ)を読み出し得る。そして、メディアガイドアプリケーションは、各エピソードに対する視聴進捗を合計し、連続番組に対してユーザによる集計された視聴進捗を決定し得る。
いくつかの実施形態では、メディアガイドアプリケーションは、連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの持続時間を合計することによって、連続番組の記憶されたエピソードの集計された持続時間を計算する。例えば、メディアガイドアプリケーションは、ユーザプロファイル内のフィールドから、またはメディアガイドデータソースから、各エピソードの全持続時間(例えば、実行時間)を読み出し得る。後者の場合、メディアガイドアプリケーションは、パラメータとしてエピソードの識別子を用いてプログラムスクリプトを実行することによって、エピソードの全持続時間に対して、遠隔に位置し、通信ネットワークを介してアクセス可能であり得るメディアガイドデータソースにクエリを行い得る。具体的例として、メディアガイドアプリケーションは、ユーザが連続番組の6つのエピソードおよびエピソードの組み合わせた360分(例えば、集計された持続時間)を記憶したことを決定し得る。
記憶されたエピソードの集計された持続時間を計算することに加えて、メディアガイドアプリケーションは、連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードのユーザの現在の再生進捗を合計することによって、集合的視聴進捗も計算する。例えば、メディアガイドアプリケーションは、SQLスクリプト等のデータベースクエリ言語スクリプトを実行し、連続番組の一部であるユーザが視聴した特定のメディアアセットの視聴進捗(例えば、ユーザプロファイルの中のテーブル内のエントリ)を読み出し得る。この例では、メディアガイドアプリケーションは、ユーザによって視聴される全持続時間を表す整数変数または一連の変数を維持し、メディアガイドアプリケーションによって読み出される連続番組に対応するユーザプロファイルの中に各エントリの視聴進捗を追加することによって、それを更新し得る。具体的例として、メディアガイドアプリケーションは、ユーザが連続番組の5つのエピソードおよびエピソードの組み合わせた120分を視聴したこと(例えば、集合的視聴進捗)を決定し得る。そして、メディアガイドアプリケーションは、集合的視聴進捗を記憶されたエピソードの集計された持続時間で除算することによって、集計された視聴進捗を計算する。例えば、メディアガイドアプリケーションは、メモリから、計算される集計された持続時間および集合的視聴進捗の値を読み出し、2つの値を除算することによって集計された視聴進捗を算出し得る。具体的例として、メディアガイドアプリケーションは、33%の集計された視聴進捗に関して、ユーザによって視聴された120分を、記憶デバイスのメモリの中に記憶された連続番組の合計360分で除算し得る。
メディアガイドアプリケーションは、集計された視聴進捗が閾値視聴進捗を超えるかどうかを決定する。例えば、メディアガイドアプリケーションは、集計された視聴進捗および閾値視聴進捗の値を比較し、(例えば、他方から一方の値を減算し、返される結果が正、負、またはゼロであるかどうかを決定することによって)集計された視聴進捗が閾値を超えるかどうかを決定し得る。具体的例として、メディアガイドアプリケーションは、上で説明されるように、集計された視聴進捗が、記憶デバイス上で利用可能な記憶スペースの量から計算された50%の閾値を満たさない、33%であることを決定し得る。
メディアガイドアプリケーションは、集計された視聴進捗が閾値視聴進捗を超えないことを決定することに応答して、連続番組のエピソードを記憶するための命令を修正する。例えば、メディアガイドアプリケーションは、以下の種々の実施形態で説明されるように、スケジュールデータ構造にアクセスし、(例えば、プログラムスクリプトを実行することによって)より少ないエピソードを記憶するか、または連続番組のエピソードを記憶するための命令を完全に削除する新しい命令を書き込み得る。
メディアガイドアプリケーションは、種々の方法で連続番組のエピソードを記憶するための命令を修正し得る。いくつかの実施形態では、メディアガイドアプリケーションは、スケジュールデータ構造にアクセスする。例えば、メディアガイドアプリケーションは、メモリの中にローカルで、またはメディアガイドデータソースにおいて遠隔で記憶されたスケジュールデータ構造にアクセスし得る。メディアガイドアプリケーションは、スケジュールデータ構造にアクセスするために、ユーザ入力から取得され得る承認コードを伝送することを要求され得る。そして、メディアガイドアプリケーションは、連続番組の複数のエピソードの一部を記憶する追加の命令を記憶する。例えば、メディアガイドアプリケーションは、連続番組を記憶する特定の命令のためのスケジュールデータ構造の中の行のフィールドに、エピソードの一部を記憶する追加の命令を書き込むプログラムスクリプトを実行し得る。一部は、1つおきのエピソード、新しいエピソードのみ、高解像度エピソードのみ、またはメディアガイドアプリケーションによって受信される連続番組の全エピソードを含まない任意の他のグループであり得る。
他の実施形態では、メディアガイドアプリケーションは、スケジュールデータ構造にアクセスする。例えば、上で説明されるように、メディアガイドアプリケーションは、メモリの中にローカルで、またはメディアガイドデータソースにおいて遠隔で記憶されたスケジュールデータ構造にアクセスし得る。そして、メディアガイドアプリケーションは、連続番組のエピソードを記憶するための命令を削除する。例えば、メディアガイドアプリケーションは、連続番組を記憶する具体的命令のためのスケジュールデータ構造の中の行を削除するプログラムスクリプトを実行し得る。
連続番組のエピソードを記憶するための命令を削除した後、メディアガイドアプリケーションは、加えて、ユーザプロファイルの視聴進捗データ構造から、複数の記憶されたエピソードのうちの各記憶されたエピソードに対する現在の再生進捗を読み出し得る。例えば、メディアガイドアプリケーションは、(例えば、テーブルに配列される)複数のメディアアセットに対するユーザの視聴進捗を含むユーザプロファイルの中のデータ構造にアクセスし、(例えば、エピソードの連続番組識別子をリストアップする連続番組フィールドから)連続番組の一部として識別される各エピソードに対する再生進捗を読み出し得る。
そして、メディアガイドアプリケーションは、各記憶されたエピソードの読み出された現在の再生進捗に基づいて、複数の記憶されたエピソードをランク付けする。例えば、メディアガイドアプリケーションが、(例えば、「forループ」を利用するプログラムスクリプトを実行し、テーブル内の各連続行のコンテンツをチェックして、それが連続番組のエピソードであるかどうかを確認することによって)各エピソードに対する再生進捗を読み出すと、メディアガイドアプリケーションは、連続番組のエピソードのみを伴うデータ構造(例えば、アレイ、リスト、テーブル等)の中に各エピソードに対して読み出された視聴進捗を記憶し得る。連続番組のエピソードに対する視聴進捗を読み出している間、または読み出した後、メディアガイドアプリケーションは、各エピソードにおける視聴者の進捗に基づいて順序付けられる(例えば、ユーザがその10分を鑑賞したエピソードが、ユーザが完了したエピソードよりも高くランク付けされるであろう)ように、任意のソートアルゴリズム(例えば、「マージソート」)を使用して、連続番組のエピソードのみを伴うデータ構造のコンテンツをソートし得る。そして、メディアガイドアプリケーションは、ランク付けすることに基づいて、第1の記憶されたエピソードを削除する。例えば、メディアガイドアプリケーションは、視聴進捗がランク付けされた方法に応じて、連続番組のエピソードのみを含むランク付けされたデータ構造の最初または最後のエントリに対応するエピソードを削除し得る。このようにして、メディアガイドアプリケーションは、記憶デバイスから、ユーザによって最も多くまたは少なく視聴されたエピソードを選択的に削除することができる。
加えて、メディアガイドアプリケーションは、第1の記憶されたエピソードを削除することに基づいて、記憶デバイス上に残っている利用可能な記憶スペースの新しい量を計算し得る。例えば、上で説明されるように、メディアガイドアプリケーションは、空いており、メディアアセットを記憶するために利用可能であるメモリのブロックの数を決定し得る。そして、メディアガイドアプリケーションは、連続番組視聴関数を用いて利用可能な記憶スペースの新しい量を処理することによって、第2の閾値視聴進捗を計算し得る。例えば、上で説明されるように、メディアガイドアプリケーションは、利用可能な記憶スペースの量を閾値視聴進捗に関連付ける数学関数を記憶し得る。メディアガイドアプリケーションは、プログラムスクリプトに利用可能な記憶スペースの新しい量を入力し得、プログラムスクリプトは、数学関数を用いて入力に動作し、第2の閾値視聴進捗を返す。そして、メディアガイドアプリケーションは、集計された視聴進捗が第2の閾値視聴進捗を超えるかどうかを決定し得る。例えば、上で説明されるように、メディアガイドアプリケーションは、集計された視聴進捗および第2の閾値視聴進捗の値を比較し、(例えば、他方から一方の値を減算し、返される結果が正、負、またはゼロであるかどうかを決定することによって)集計された視聴進捗が第2の閾値を超えるかどうかを決定し得る。そして、メディアガイドアプリケーションは、集計された視聴進捗が第2の閾値視聴進捗を超えないことを決定することに応答して、ランキングに基づいて第2の記憶されたエピソードを削除し得る。例えば、メディアガイドアプリケーションは、視聴進捗がランク付けされた方法に応じて、連続番組のエピソードのみを含むランク付けされたデータ構造の最初または最後のエントリに対応する第2のエピソードを削除し得る。いくつかの実施形態では、メディアガイドアプリケーションは、メディアガイドアプリケーションが、集計された視聴進捗が計算された閾値を超えることを決定するまで、ランク付けされたリストに基づいて、記憶からエピソードを削除し続け得る。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザの集計された視聴進捗を示す通知を表示のために生成し、通知は、連続番組のエピソードを記憶するための命令を修正するためのオプションを含む。例えば、メディアガイドアプリケーションは、テレビ上に表示するために、ユーザが特定の連続番組のエピソードの25%のみを視聴したことを生成し得、加えて、命令を修正するためのオプションを提示し得る。命令を修正するためのオプションは、上で説明されるように、連続番組のエピソードを記憶するための命令を削除するためのオプション、ユーザが鑑賞した(例えば、ある割合を鑑賞したか、もしくはアクセスしたかのいずれかである)エピソードを削除するためのオプション、および/または、連続番組の一部のみを記憶するためのオプションを含み得る。メディアガイドアプリケーションは、オプションのユーザによるユーザ選択を受信する。例えば、メディアガイドアプリケーションは、連続番組のエピソードを記憶するための命令を削除するためのオプションのユーザ入力インターフェースを介したユーザ選択を受信し得る。いくつかの実施形態では、ユーザは、記憶デバイス上の有限量の記憶スペースが使用される方法において、より優れた融通性を可能にするための複数のオプションを選択することができる。例えば、ユーザは、そのうちの50%を鑑賞したエピソードを削除することと、連続番組の新しいエピソードのみを記憶することとを選択し得る。そして、メディアガイドアプリケーションは、受信されたユーザ選択に基づいて、連続番組のエピソードを記憶するための命令を修正する。例えば、上で説明されるように、メディアガイドアプリケーションは、スケジュールデータ構造にアクセスし、受信されたユーザ選択に基づいて、(例えば、プログラムスクリプトを実行することによって)新しい命令を(例えば、既存の命令のための行のフィールドに)書き込み得る。
上で説明されるシステムおよび/または方法は、他のシステム、方法、および/または装置に適用されるか、またはそれに従って使用され得ることに留意されたい。
本発明はさらに、例えば、以下を提供する。
(項目1)
利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正する方法であって、前記方法は、
スケジュールデータ構造の中に前記連続番組のエピソードを記憶するための命令を記憶することと、
ユーザに対応するユーザプロファイルの中に前記ユーザによる前記連続番組の複数の記憶されたエピソードの視聴進捗を記憶することと、
連続番組視聴関数を用いて利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算することと、
前記ユーザによる前記複数の記憶されたエピソードの間での集合的視聴進捗を表す集計された視聴進捗を算出することと、
前記集計された視聴進捗が前記閾値視聴進捗を超えないことを決定することに応答して、前記連続番組のエピソードを記憶するための前記命令を修正することと
を含む、方法。
(項目2)
利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正する方法であって、前記方法は、
連続番組を記憶するためのユーザ要求を受信することと、
スケジュールデータ構造の中に前記連続番組のエピソードを記憶するための命令を記憶することと、
前記連続番組のエピソードを記憶するための前記命令に基づいて、記憶デバイス上に前記連続番組の複数のエピソードを記憶することと、
ユーザに対応するユーザプロファイルの中に前記ユーザによる前記複数のエピソードの視聴進捗を記憶することと、
前記記憶デバイス上に残っている利用可能な記憶スペースの量を決定することと、
連続番組視聴関数を用いて前記利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算することと、
前記複数の記憶されたエピソードの間での集合的視聴進捗を表す集計された視聴進捗を算出することと、
前記集計された視聴進捗が前記閾値視聴進捗を超えるかどうかを決定することと、
前記集計された視聴進捗が前記閾値視聴進捗を超えないことを決定することに応答して、 前記連続番組のエピソードを記憶するための前記命令を修正することと
を含む、方法。
(項目3)
前記ユーザプロファイルの中に前記ユーザによる前記複数のエピソードの前記視聴進捗を記憶することは、
前記ユーザが前記複数のエピソードのうちの第1のエピソードを選択したことを決定することと、
前記第1のエピソードに対して、前記ユーザの現在の再生位置を監視することと、
前記ユーザプロファイルの視聴進捗データ構造内のエントリとして、前記第1のエピソードに対する前記ユーザの前記現在の再生位置を記憶することと
を含む、項目2に記載の方法。
(項目4)
前記ユーザプロファイルの前記視聴進捗データ構造内の前記エントリとして、前記第1のエピソードに対する前記ユーザの前記現在の再生位置を記憶することは、
前記第1のエピソードの持続時間と前記ユーザの前記現在の再生位置とに基づいて、前記ユーザによって視聴された前記第1のエピソードの割合を計算することと、
メモリの中に記憶された閾値割合視聴進捗を読み出すことと、
前記ユーザによって視聴された前記第1のエピソードの割合を前記閾値割合視聴進捗と比較することと、
前記ユーザによって視聴された前記第1のエピソードの割合が前記割合視聴進捗を満たすことを決定することに応答して、前記第1のエピソードが前記ユーザによって完全に視聴されたという指示を前記エントリとともに記憶することと
を含む、項目3に記載の方法。
(項目5)
前記連続番組視聴関数を用いて前記利用可能な記憶スペースの量を処理することによって、前記閾値視聴進捗を計算することは、
前記利用可能な記憶スペースの量の第1の値を読み出すことと、
プログラムスクリプトを実行することであって、前記第1の値は、前記利用可能な記憶スペースの量のための値を閾値視聴進捗にマッピングする数学関数に入力される、ことと、
前記プログラムスクリプトの出力として、前記閾値視聴進捗を受信することと
を含む、項目2に記載の方法。
(項目6)
前記複数の記憶されたエピソードの間での前記集合的視聴進捗を表す前記集計された視聴進捗を算出することは、
前記連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの持続時間を合計することによって、前記連続番組の記憶されたエピソードの集計された持続時間を計算することと、
前記連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの前記ユーザの現在の再生進捗を合計することによって、前記集合的視聴進捗を計算することと、
前記集合的視聴進捗を記憶されたエピソードの前記集計された持続時間で除算することによって、前記集計された視聴進捗を計算することと
を含む、項目2に記載の方法。
(項目7)
前記連続番組のエピソードを記憶するための前記命令を修正することは、
前記スケジュールデータ構造にアクセスすることと、
前記連続番組のエピソードを記憶するための前記命令を削除することと
を含む、項目2に記載の方法。
(項目8)
前記ユーザプロファイルの視聴進捗データ構造から、前記複数の記憶されたエピソードのうちの各記憶されたエピソードに対する前記現在の再生進捗を読み出すことと、
各記憶されたエピソードの前記読み出された現在の再生進捗に基づいて、前記複数の記憶されたエピソードをランク付けすることと、
前記ランク付けすることに基づいて、第1の記憶されたエピソードを削除することと
をさらに含む、項目7に記載の方法。
(項目9)
前記第1の記憶されたエピソードを削除することに基づいて、前記記憶デバイス上に残っている利用可能な記憶スペースの新しい量を計算することと、
前記連続番組視聴関数を用いて前記利用可能な記憶スペースの新しい量を処理することによって、第2の閾値視聴進捗を計算することと、
前記集計された視聴進捗が前記第2の閾値視聴進捗を超えるかどうかを決定することと、
前記集計された視聴進捗が前記第2の閾値視聴進捗を超えないことを決定することに応答して、前記ランク付けすることに基づいて、第2の記憶されたエピソードを削除することと
をさらに含む、項目8に記載の方法。
(項目10)
前記連続番組のエピソードを記憶するための前記命令を修正することは、
前記スケジュールデータ構造にアクセスすることと、
前記連続番組の複数のエピソードの一部を記憶する追加の命令を記憶することと
を含む、項目2に記載の方法。
(項目11)
前記ユーザの前記集計された視聴進捗を示す通知を表示のために生成することであって、前記通知は、前記連続番組のエピソードを記憶するための前記命令を修正するためのオプションを含む、ことと、
前記オプションの前記ユーザによるユーザ選択を受信することと、
前記受信されたユーザ選択に基づいて、前記連続番組のエピソードを記憶するための前記命令を修正することと
をさらに含む、項目2に記載の方法。
(項目12)
利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正するためのシステムであって、前記システムは、
記憶回路であって、前記記憶回路は、
スケジュールデータ構造の中に連続番組のエピソードを記憶するための命令を記憶することと、
ユーザに対応するユーザプロファイルの中に前記ユーザによる前記連続番組の複数の記憶されたエピソードの視聴進捗を記憶することと、
前記連続番組のエピソードを記憶するための前記命令に基づいて、記憶デバイス上に前記連続番組の複数のエピソードを記憶することと
を行うように構成されている、記憶回路と、
制御回路と
を備え
前記制御回路は、
前記連続番組を記憶するためのユーザ要求を受信することと、
前記記憶デバイス上に残っている利用可能な記憶スペースの量を決定することと、
連続番組視聴関数を用いて前記利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算することと、
前記複数の記憶されたエピソードの間での集合的視聴進捗を表す集計された視聴進捗を算出することと、
前記集計された視聴進捗が前記閾値視聴進捗を超えるかどうかを決定することと、
前記集計された視聴進捗が前記閾値視聴進捗を超えないことを決定することに応答して、前記連続番組のエピソードを記憶するための前記命令を修正することと
を行うように構成されている、システム。
(項目13)
前記制御回路は、
前記ユーザが前記複数のエピソードのうちの第1のエピソードを選択したことを決定することと、
前記第1のエピソードに対して、前記ユーザの現在の再生位置を監視することと、
前記ユーザプロファイルの視聴進捗データ構造内のエントリとして、前記第1のエピソードに対する前記ユーザの前記現在の再生位置を記憶することと
を行うようにさらに構成されている、項目12に記載のシステム。
(項目14)
前記ユーザプロファイルの前記視聴進捗データ構造内の前記エントリとして、前記第1のエピソードに対する前記ユーザの前記現在の再生位置を記憶するように構成されている前記制御回路は、
前記第1のエピソードの持続時間と前記ユーザの前記現在の再生位置とに基づいて、前記ユーザによって視聴された前記第1のエピソードの割合を計算することと、
メモリの中に記憶された閾値割合視聴進捗を読み出すことと、
前記ユーザによって視聴された前記第1のエピソードの割合を前記閾値割合視聴進捗と比較することと、
前記ユーザによって視聴された前記第1のエピソードの割合が前記割合視聴進捗を満たすことを決定することに応答して、前記第1のエピソードが前記ユーザによって完全に視聴されたという指示を前記エントリとともに記憶することと
を行うようにさらに構成されている、項目13に記載のシステム。
(項目15)
前記連続番組視聴関数を用いて前記利用可能な記憶スペースの量を処理することによって、前記閾値視聴進捗を計算するように構成されている前記制御回路は、
前記利用可能な記憶スペースの量の第1の値を読み出すことと、
プログラムスクリプトを実行することであって、前記第1の値は、前記利用可能な記憶スペースの量のための値を閾値視聴進捗にマッピングする数学関数に入力される、ことと、
前記プログラムスクリプトの出力として、前記閾値視聴進捗を受信することと
を行うようにさらに構成されている、項目12に記載のシステム。
(項目16)
前記複数の記憶されたエピソードの間での前記集合的視聴進捗を表す前記集計された視聴進捗を算出するように構成されている前記制御回路は、
前記連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの持続時間を合計することによって、前記連続番組の記憶されたエピソードの集計された持続時間を計算することと、
前記連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの前記ユーザの現在の再生進捗を合計することによって、前記集合的視聴進捗を計算することと、
前記集合的視聴進捗を記憶されたエピソードの前記集計された持続時間で除算することによって、前記集計された視聴進捗を計算することと
を行うようにさらに構成されている、項目12に記載のシステム。
(項目17)
前記連続番組のエピソードを記憶するための前記命令を修正するように構成されている前記制御回路は、
前記スケジュールデータ構造にアクセスすることと、
前記連続番組のエピソードを記憶するための前記命令を削除することと
を行うようにさらに構成されている、項目12に記載のシステム。
(項目18)
前記制御回路は、
前記ユーザプロファイルの視聴進捗データ構造から、前記複数の記憶されたエピソードのうちの各記憶されたエピソードに対する前記現在の再生進捗を読み出すことと、
各記憶されたエピソードの前記読み出された現在の再生進捗に基づいて、前記複数の記憶されたエピソードをランク付けすることと、
前記ランク付けすることに基づいて、第1の記憶されたエピソードを削除することと
を行うようにさらに構成されている、項目17に記載のシステム。
(項目19)
前記制御回路は、
前記第1の記憶されたエピソードを削除することに基づいて、前記記憶デバイス上に残っている利用可能な記憶スペースの新しい量を計算することと、
前記連続番組視聴関数を用いて前記利用可能な記憶スペースの新しい量を処理することによって、第2の閾値視聴進捗を計算することと、
前記集計された視聴進捗が前記第2の閾値視聴進捗を超えるかどうかを決定することと、
前記集計された視聴進捗が前記第2の閾値視聴進捗を超えないことを決定することに応答して、前記ランク付けすることに基づいて、第2の記憶されたエピソードを削除することと
を行うようにさらに構成されている、項目18に記載のシステム。
(項目20)
前記連続番組のエピソードを記憶するための前記命令を修正するように構成されている前記制御回路は、
前記スケジュールデータ構造にアクセスすることと、
前記連続番組の複数のエピソードの一部を記憶する追加の命令を記憶することと
を行うようにさらに構成されている、項目12に記載のシステム。
(項目21)
前記制御回路は、
前記ユーザの前記集計された視聴進捗を示す通知を表示のために生成することであって、前記通知は、前記連続番組のエピソードを記憶するための前記命令を修正するためのオプションを含む、ことと、
前記オプションの前記ユーザによるユーザ選択を受信することと、
前記受信されたユーザ選択に基づいて、前記連続番組のエピソードを記憶するための前記命令を修正することと
を行うようにさらに構成されている、項目12に記載のシステム。
(項目22)
利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正するためのシステムであって、前記システムは、
連続番組を記憶するためのユーザ要求を受信する手段と、
スケジュールデータ構造の中に前記連続番組のエピソードを記憶するための命令を記憶する手段と、
前記連続番組のエピソードを記憶するための前記命令に基づいて、記憶デバイス上に前記連続番組の複数のエピソードを記憶する手段と、
ユーザに対応するユーザプロファイルの中に前記ユーザによる前記複数のエピソードの視聴進捗を記憶する手段と、
前記記憶デバイス上に残っている利用可能な記憶スペースの量を決定する手段と、
連続番組視聴関数を用いて前記利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算する手段と、
前記複数の記憶されたエピソードの間での集合的視聴進捗を表す集計された視聴進捗を算出する手段と、
前記集計された視聴進捗が前記閾値視聴進捗を超えるかどうかを決定する手段と、
前記集計された視聴進捗が前記閾値視聴進捗を超えないことを決定することに応答して、前記連続番組のエピソードを記憶するための前記命令を修正する手段と
を備えている、システム。
(項目23)
前記ユーザプロファイルの中に前記ユーザによる前記複数のエピソードの前記視聴進捗を記憶する前記手段は、
前記ユーザが前記複数のエピソードのうちの第1のエピソードを選択したことを決定する手段と、
前記第1のエピソードに対して、前記ユーザの現在の再生位置を監視する手段と、
前記ユーザプロファイルの視聴進捗データ構造内のエントリとして、前記第1のエピソードに対する前記ユーザの前記現在の再生位置を記憶する手段と
を備えている、項目22に記載のシステム。
(項目24)
前記ユーザプロファイルの前記視聴進捗データ構造内の前記エントリとして、前記第1のエピソードに対する前記ユーザの前記現在の再生位置を記憶する前記手段は、
前記第1のエピソードの持続時間と前記ユーザの前記現在の再生位置とに基づいて、前記ユーザによって視聴された前記第1のエピソードの割合を計算する手段と、
メモリの中に記憶された閾値割合視聴進捗を読み出す手段と、
前記ユーザによって視聴された前記第1のエピソードの割合を前記閾値割合視聴進捗と比較する手段と、
前記ユーザによって視聴された前記第1のエピソードの割合が前記割合視聴進捗を満たすことを決定することに応答して、前記第1のエピソードが前記ユーザによって完全に視聴されたという指示を前記エントリとともに記憶する手段と
を備えている、項目23に記載のシステム。
(項目25)
前記連続番組視聴関数を用いて前記利用可能な記憶スペースの量を処理することによって、前記閾値視聴進捗を計算する前記手段は、
前記利用可能な記憶スペースの量の第1の値を読み出す手段と、
プログラムスクリプトを実行する手段であって、前記第1の値は、前記利用可能な記憶スペースの量のための値を閾値視聴進捗にマッピングする数学関数に入力される、手段と、
前記プログラムスクリプトの出力として、前記閾値視聴進捗を受信する手段と
を備えている、項目22に記載のシステム。
(項目26)
前記複数の記憶されたエピソードの間での前記集合的視聴進捗を表す前記集計された視聴進捗を算出する前記手段は、
前記連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの持続時間を合計することによって、前記連続番組の記憶されたエピソードの集計された持続時間を計算する手段と、
前記連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの前記ユーザの現在の再生進捗を合計することによって、前記集合的視聴進捗を計算する手段と、
前記集合的視聴進捗を記憶されたエピソードの前記集計された持続時間で除算することによって、前記集計された視聴進捗を計算する手段と
を備えている、項目22に記載のシステム。
(項目27)
前記連続番組のエピソードを記憶するための前記命令を修正する前記手段は、
前記スケジュールデータ構造にアクセスする手段と、
前記連続番組のエピソードを記憶するための前記命令を削除する手段と
を備えている、項目22に記載のシステム。
(項目28)
前記ユーザプロファイルの視聴進捗データ構造から、前記複数の記憶されたエピソードのうちの各記憶されたエピソードに対する前記現在の再生進捗を読み出す手段と、
各記憶されたエピソードの前記読み出された現在の再生進捗に基づいて、前記複数の記憶されたエピソードをランク付けする手段と、
前記ランク付けすることに基づいて、第1の記憶されたエピソードを削除する手段と
をさらに備えている、項目27に記載のシステム。
(項目29)
前記第1の記憶されたエピソードを削除することに基づいて、前記記憶デバイス上に残っている利用可能な記憶スペースの新しい量を計算する手段と、
前記連続番組視聴関数を用いて前記利用可能な記憶スペースの新しい量を処理することによって、第2の閾値視聴進捗を計算する手段と、
前記集計された視聴進捗が前記第2の閾値視聴進捗を超えるかどうかを決定する手段と、
前記集計された視聴進捗が前記第2の閾値視聴進捗を超えないことを決定することに応答して、前記ランク付けすることに基づいて、第2の記憶されたエピソードを削除する手段と
をさらに備えている、項目28に記載のシステム。
(項目30)
前記連続番組のエピソードを記憶するための前記命令を修正する前記手段は、
前記スケジュールデータ構造にアクセスする手段と、
前記連続番組の複数のエピソードの一部を記憶する追加の命令を記憶する手段と
を備えている、項目22に記載のシステム。
(項目31)
前記ユーザの前記集計された視聴進捗を示す通知を表示のために生成する手段であって、前記通知は、前記連続番組のエピソードを記憶するための前記命令を修正するためのオプションを含む、手段と、
前記オプションの前記ユーザによるユーザ選択を受信する手段と、
前記受信されたユーザ選択に基づいて、前記連続番組のエピソードを記憶するための前記命令を修正する手段と
をさらに備えている、項目22に記載のシステム。
(項目32)
利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正するためのエンコードされた命令を有する非一過性のコンピュータ読み取り可能な媒体であって、前記命令は、
連続番組を記憶するためのユーザ要求を受信するための命令と、
スケジュールデータ構造の中に前記連続番組のエピソードを記憶するための命令を記憶するための命令と、
前記連続番組のエピソードを記憶するための前記命令に基づいて、記憶デバイス上に前記連続番組の複数のエピソードを記憶するための命令と、
ユーザに対応するユーザプロファイルの中に前記ユーザによる前記複数のエピソードの視聴進捗を記憶するための命令と、
前記記憶デバイス上に残っている利用可能な記憶スペースの量を決定するための命令と、
連続番組視聴関数を用いて前記利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算するための命令と、
前記複数の記憶されたエピソードの間での集合的視聴進捗を表す集計された視聴進捗を算出するための命令と、
前記集計された視聴進捗が前記閾値視聴進捗を超えるかどうかを決定するための命令と、
前記集計された視聴進捗が前記閾値視聴進捗を超えないことを決定することに応答して、前記連続番組のエピソードを記憶するための前記命令を修正するための命令と
を備えている、非一過性のコンピュータ読み取り可能な媒体。
(項目33)
前記ユーザプロファイルの中に前記ユーザによる前記複数のエピソードの前記視聴進捗を記憶するための前記命令は、
前記ユーザが前記複数のエピソードのうちの第1のエピソードを選択したことを決定するための命令と、
前記第1のエピソードに対して、前記ユーザの現在の再生位置を監視するための命令と、
前記ユーザプロファイルの視聴進捗データ構造内のエントリとして、前記第1のエピソードに対する前記ユーザの前記現在の再生位置を記憶するための命令と、
を備えている、項目32に記載の非一過性のコンピュータ読み取り可能な媒体。
(項目34)
前記ユーザプロファイルの前記視聴進捗データ構造内の前記エントリとして、前記第1のエピソードに対する前記ユーザの前記現在の再生位置を記憶するための前記命令は、
前記第1のエピソードの持続時間と前記ユーザの前記現在の再生位置とに基づいて、前記ユーザによって視聴された前記第1のエピソードの割合を計算することと、
メモリの中に記憶された閾値割合視聴進捗を読み出すことと、
前記ユーザによって視聴された前記第1のエピソードの割合を前記閾値割合視聴進捗と比較することと、
前記ユーザによって視聴された前記第1のエピソードの割合が前記割合視聴進捗を満たすことを決定することに応答して、前記第1のエピソードが前記ユーザによって完全に視聴されたという指示を前記エントリとともに記憶することと
を含む、項目33に記載の非一過性のコンピュータ読み取り可能な媒体。
(項目35)
前記連続番組視聴関数を用いて前記利用可能な記憶スペースの量を処理することによって、前記閾値視聴進捗を計算するための前記命令は、
前記利用可能な記憶スペースの量の第1の値を読み出すことと、
プログラムスクリプトを実行することであって、前記第1の値は、前記利用可能な記憶スペースの量のための値を閾値視聴進捗にマッピングする数学関数に入力される、ことと、
前記プログラムスクリプトの出力として、前記閾値視聴進捗を受信することと
を含む、項目32に記載の非一過性のコンピュータ読み取り可能な媒体。
(項目36)
前記複数の記憶されたエピソードの間での前記集合的視聴進捗を表す前記集計された視聴進捗を算出するための前記命令は、
前記連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの持続時間を合計することによって、前記連続番組の記憶されたエピソードの集計された持続時間を計算することと、
前記連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの前記ユーザの現在の再生進捗を合計することによって、前記集合的視聴進捗を計算することと、
前記集合的視聴進捗を記憶されたエピソードの前記集計された持続時間で除算することによって、前記集計された視聴進捗を計算することと
を含む、項目32に記載の非一過性のコンピュータ読み取り可能な媒体。
(項目37)
前記連続番組のエピソードを記憶するための前記命令を修正するための前記命令は、
前記スケジュールデータ構造にアクセスすることと、
前記連続番組のエピソードを記憶するための前記命令を削除することと
を含む、項目32に記載の非一過性のコンピュータ読み取り可能な媒体。
(項目38)
前記命令は、
前記ユーザプロファイルの視聴進捗データ構造から、前記複数の記憶されたエピソードのうちの各記憶されたエピソードに対する前記現在の再生進捗を読み出すことと、
各記憶されたエピソードの前記読み出された現在の再生進捗に基づいて、前記複数の記憶されたエピソードをランク付けすることと、
前記ランク付けすることに基づいて、第1の記憶されたエピソードを削除することと
をさらに含む、項目37に記載の非一過性のコンピュータ読み取り可能な媒体。
(項目39)
前記命令は、
前記第1の記憶されたエピソードを削除することに基づいて、前記記憶デバイス上に残っている利用可能な記憶スペースの新しい量を計算することと、
前記連続番組視聴関数を用いて前記利用可能な記憶スペースの新しい量を処理することによって、第2の閾値視聴進捗を計算することと、
前記集計された視聴進捗が前記第2の閾値視聴進捗を超えるかどうかを決定することと、
前記集計された視聴進捗が前記第2の閾値視聴進捗を超えないことを決定することに応答して、前記ランク付けすることに基づいて、第2の記憶されたエピソードを削除することと
をさらに含む、項目38に記載の非一過性のコンピュータ読み取り可能な媒体。
(項目40)
前記連続番組のエピソードを記憶するための前記命令を修正するための前記命令は、
前記スケジュールデータ構造にアクセスすることと、
前記連続番組の複数のエピソードの一部を記憶する追加の命令を記憶することと
を含む、項目32に記載の非一過性のコンピュータ読み取り可能な媒体。
(項目41)
前記命令は、
前記ユーザの前記集計された視聴進捗を示す通知を表示のために生成することであって、前記通知は、前記連続番組のエピソードを記憶するための前記命令を修正するためのオプションを含む、ことと、
前記オプションの前記ユーザによるユーザ選択を受信することと、
前記受信されたユーザ選択に基づいて、前記連続番組のエピソードを記憶するための前記命令を修正することと
をさらに含む、項目32に記載の非一過性のコンピュータ読み取り可能な媒体。
(項目42)
利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正する方法であって、前記方法は、
連続番組を記憶するためのユーザ要求を受信することと、
前記連続番組のエピソードを記憶するための命令を記憶することと、
前記連続番組のエピソードを記憶するための前記命令に基づいて、記憶デバイス上に前記連続番組の複数のエピソードを記憶することと、
ユーザによる前記複数のエピソードの視聴進捗を記憶することと、
前記記憶デバイス上に残っている利用可能な記憶スペースの量を決定することと、
連続番組視聴関数を用いて前記利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算することと、
前記複数の記憶されたエピソードの間での集合的視聴進捗を表す集計された視聴進捗を算出することと、
前記集計された視聴進捗が前記閾値視聴進捗を超えるかどうかを決定することと、
前記集計された視聴進捗が前記閾値視聴進捗を超えないことを決定することに応答して、 前記連続番組のエピソードを記憶するための前記命令を修正することと
を含む、方法。
(項目43)
前記ユーザが前記複数のエピソードのうちの第1のエピソードを選択したことを決定することと、
前記第1のエピソードに対して、前記ユーザの現在の再生位置を監視することと、
前記第1のエピソードに対する前記ユーザの前記現在の再生位置を記憶することと
をさらに含む、項目42に記載の方法。
(項目44)
前記第1のエピソードの持続時間と前記ユーザの前記現在の再生位置とに基づいて、前記ユーザによって視聴された前記第1のエピソードの割合を計算することと、
閾値割合視聴進捗を読み出すことと、
前記ユーザによって視聴された前記第1のエピソードの割合を前記閾値割合視聴進捗と比較することと、
前記ユーザによって視聴された前記第1のエピソードの割合が前記割合視聴進捗を満たすことを決定することに応答して、前記第1のエピソードが前記ユーザによって完全に視聴されたという指示を記憶することと
をさらに含む、項目43に記載の方法。
(項目45)
前記利用可能な記憶スペースの量の第1の値を読み出すことと、
プログラムスクリプトを実行することであって、前記第1の値は、前記利用可能な記憶スペースの量のための値を閾値視聴進捗にマッピングする数学関数に入力される、ことと、
前記プログラムスクリプトの出力として、前記閾値視聴進捗を受信することと
をさらに含む、項目42-44のいずれかに記載の方法。
(項目46)
前記連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの持続時間を合計することによって、前記連続番組の記憶されたエピソードの集計された持続時間を計算することと、
前記連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの前記ユーザの現在の再生進捗を合計することによって、前記集合的視聴進捗を計算することと、
前記集合的視聴進捗を記憶されたエピソードの前記集計された持続時間で除算することによって、前記集計された視聴進捗を計算することと
をさらに含む、項目42-45のいずれかに記載の方法。
(項目47)
前記スケジュールデータ構造にアクセスすることと、
前記連続番組のエピソードを記憶するための前記命令を削除することと
をさらに含む、項目42-46のいずれかに記載の方法。
(項目48)
前記複数の記憶されたエピソードのうちの各記憶されたエピソードに対する前記現在の再生進捗を読み出すことと、
各記憶されたエピソードの前記読み出された現在の再生進捗に基づいて、前記複数の記憶されたエピソードをランク付けすることと、
前記ランク付けすることに基づいて、第1の記憶されたエピソードを削除することと
をさらに含む、項目47に記載の方法。
(項目49)
前記第1の記憶されたエピソードを削除することに基づいて、前記記憶デバイス上に残っている利用可能な記憶スペースの新しい量を計算することと、
前記連続番組視聴関数を用いて前記利用可能な記憶スペースの新しい量を処理することによって、第2の閾値視聴進捗を計算することと、
前記集計された視聴進捗が前記第2の閾値視聴進捗を超えるかどうかを決定することと、
前記集計された視聴進捗が前記第2の閾値視聴進捗を超えないことを決定することに応答して、前記ランク付けすることに基づいて、第2の記憶されたエピソードを削除することと
をさらに含む、項目48に記載の方法。
(項目50)
前記スケジュールデータ構造にアクセスすることと、
前記連続番組の複数のエピソードの一部を記憶する追加の命令を記憶することと
をさらに含む、項目42-49のいずれかに記載の方法。
(項目51)
前記ユーザの前記集計された視聴進捗を示す通知を表示のために生成することであって、前記通知は、前記連続番組のエピソードを記憶するための前記命令を修正するためのオプションを含む、ことと、
前記オプションの前記ユーザによるユーザ選択を受信することと、
前記受信されたユーザ選択に基づいて、前記連続番組のエピソードを記憶するための前記命令を修正することと
をさらに含む、項目42-50のいずれかに記載の方法。
本開示の上記および他の目的ならびに利点は、同様の参照文字が全体を通して同様の部分を指す、添付の図面と併せて考慮される以下の発明を実施するための形態の検討から明白となるであろう。
図1は、本開示のいくつかの実施形態による利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正するための例証的ステップのフローチャートである。 図2は、本開示のいくつかの実施形態による利用可能な記憶スペースを閾値視聴進捗にマッピングするための連続番組視聴関数の例証的例を示す。 図3は、本開示のいくつかの実施形態による連続番組のエピソードを記憶するための命令を修正するためのオプションを提示する表示画面の例証的例を示す。 図4は、本開示のいくつかの実施形態によるメディアコンテンツにアクセスすることにおいて使用するための表示画面の例証的例を示す。 図5は、本開示のいくつかの実施形態によるメディアコンテンツにアクセスすることにおいて使用するための表示画面の別の例証的例を示す。 図6は、本開示のいくつかの実施形態による例証的ユーザ機器デバイスのブロック図である。 図7は、本開示のいくつかの実施形態による例証的メディアシステムのブロック図である。 図8は、本開示のいくつかの実施形態による利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正するための別の例証的ステップのフローチャートである。 図9は、本開示のいくつかの実施形態による連続番組のエピソードを記憶するための命令を記憶するための例証的ステップのフローチャートである。 図10は、本開示のいくつかの実施形態によるユーザによる複数の記憶されたエピソードの視聴進捗を記憶するための例証的ステップのフローチャートである。 図11は、本開示のいくつかの実施形態による連続番組視聴関数を用いて利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算するための例証的ステップのフローチャートである。 図12は、本開示のいくつかの実施形態による複数の記憶されたエピソードの間の集計された視聴進捗を算出するための例証的ステップのフローチャートである。 図13は、本開示のいくつかの実施形態による連続番組のエピソードを記憶するための命令を修正するための例証的ステップのフローチャートである。
利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正するためのシステムおよび方法が、提示される。例えば、メディアガイドアプリケーション(例えば、セットトップボックス上で実行される)は、連続番組の前もって記憶されたエピソードの視聴進捗と記憶デバイス上に残っている利用可能な記憶スペースの量との両方を監視する。そして、メディアガイドアプリケーションは、利用可能な記憶スペースの現在の量(例えば、20%利用可能)を利用可能な記憶スペースの関数に入力することによって、閾値視聴進捗(例えば、50%)を計算する。そして、メディアガイドアプリケーションは、連続番組のエピソードを通したユーザの視聴進捗から、ユーザが計算された閾値視聴進捗を満たした(例えば、ユーザが記憶されたエピソードの50%を鑑賞した)かどうかを決定する。閾値視聴進捗が満たされていない場合、メディアガイドアプリケーションは、連続番組録画命令を修正する(例えば、連続番組録画をキャンセルする)。利用可能な記憶スペースの量に基づく連続番組録画命令を修正すべきときのための可変閾値を利用することによって、システムおよび方法は、連続番組録画命令が時期尚早に削除されないことを確実にすることに役立ち、記憶デバイス上の利用可能な有限量のスペースをより効率的に管理することに役立ち得る。
本明細書で参照されるように、「メディアガイドアプリケーション」または「双方向メディアガイドアプリケーション」、もしくはある時は「メディアガイドアプリケーション」または「ガイドアプリケーション」は、ユーザがメディアアセットを消費すること、および/または、それにナビゲートすることを可能にするアプリケーションである。いくつかの実施形態では、メディアガイドアプリケーションは、オンラインアプリケーションとして(すなわち、ウェブサイト上で提供される)、または、サーバ、ユーザデバイス等の上の独立型アプリケーションとして提供され得る。いくつかの実施形態では、メディアガイドアプリケーションは、第1のデバイスおよび第2のデバイス上で同時に、いずれかのデバイスから遠隔の場所(例えば、遠隔サーバ)で、または任意の好適な組み合わせで実行され得る。いくつかの実施形態では、種々のデバイスおよびプラットフォーム上にインストールされた制御回路が、以下でさらに詳細に説明されるように、メディアガイドアプリケーションを実行し得る。いくつかの実施形態では、本明細書で議論される実施形態のうちのいずれかを実施するためのメディアガイドアプリケーションおよび/または任意の命令は、コンピュータ読み取り可能な媒体上にエンコードされ得る。コンピュータ読み取り可能な媒体は、データを記憶することが可能な任意の媒体を含む。コンピュータ読み取り可能な媒体は、限定されないが、伝搬する電気もしくは電磁信号を含む一過性のものであり得るか、または、限定されないが、ハードディスク、フロッピー(登録商標)ディスク、USBドライブ、DVD、CD、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ(「RAM」)等の揮発性および不揮発性コンピュータメモリもしくは記憶デバイスを含む非一過性のものであり得る。
いくつかの実施形態では、メディアガイドアプリケーションは、連続番組のエピソードを記憶するためのオプションのユーザ選択を受信する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェース(例えば、メリモートコントロール)を介して、連続番組「Game of Thrones」のエピソードのための録画オプションのユーザ選択を受信し得る。そして、メディアガイドアプリケーションは、スケジュールデータ構造の中に連続番組のエピソードを記憶するための命令を記憶する。例えば、メディアガイドアプリケーションは、メモリの中にローカルで、またはメディアガイドデータソースにおいて遠隔で、記憶装置の中に記憶されたスケジュールデータ構造を維持し得る。スケジュールデータ構造は、テーブルとして編成され得、各命令は、異なる行に記憶され、命令に関連付けられたパラメータ(例えば、録画する開始時間、終了時間、および/またはソース)は、その行のフィールドの中に記憶される。
そして、メディアガイドアプリケーションは、連続番組の他のエピソードを記憶するために、記憶された命令に対してスケジュールデータ構造にクエリを行う。例えば、ユーザは、各エピソードに対して1つ、スケジュールデータ構造内の5つの異なるエントリによって反映されるような、過去5週間にわたって毎週、「Game of Thrones」の個々のエピソードを記憶することを要求していることもある。命令は、上で説明されるように、スケジュールデータ構造の別個の行に記憶され得る。
メディアガイドアプリケーションは、ユーザがエピソードを記憶することを選択した連続番組の識別子を、スケジュールデータ構造内のエントリのための連続番組識別子と比較し、いくつかの類似スケジュール命令を識別する。例えば、新たに受信された要求の識別子は、連続番組タイトル「Game of Thrones」であり得、スケジュールデータ構造の中に記憶された他の連続番組タイトルと比較され得る。別の例として、識別子は、時間・チャネル組み合わせ(例えば、ユーザが、チャネル7で午後5時に放送される異なるメディアアセットの多くの録画を設定している)、ジャンル(例えば、ドラマ)、文字の一意の組み合わせ(例えば、「AHDL1820」等の連続番組を識別するメディアアセットシリアル番号)であり得るか、または、スケジュールデータ構造内のエントリのメタデータを新たに選択されたエピソードと比較する任意の他の方法。メディアガイドアプリケーションは、それが反復するカウンタを維持し、スケジュール命令のメタデータを新たにスケジュールされる命令と比較し、連続番組の識別子がスケジュールデータ構造内の記憶されたエントリの識別子に合致するとき、カウンタをインクリメントし得る。
類似スケジュール命令の数が閾値数を超えることを決定することに基づいて、メディアガイドアプリケーションは、連続番組のエピソードを記憶するための命令を、連続番組の複数のエピソードを記憶するための命令に修正する。例えば、メディアガイドアプリケーションは、ユーザが「Game of Thrones」のための5つの個々のエピソード記憶命令を設定しているので、ユーザが「Game of Thrones」の全エピソードを録画することに関心がある(例えば、5つの記憶命令が閾値数を超える)と決定し得る。そして、メディアガイドアプリケーションは、「Game of Thrones」のエピソードを記憶するためのスケジュールデータ構造内のエントリにアクセスし、それを連続番組記憶命令に変換し得る(例えば、「連続番組」フラグを「真」に設定することによって)。いくつかの実施形態では、メディアガイドアプリケーションは、連続番組を記憶するための新しい命令を作成することによって、命令を修正し得る。他の実施形態では、メディアガイドアプリケーションは、連続番組のエピソードの一部のみを記憶することによって、命令を修正し得る。例えば、メディアガイドアプリケーションは、「高解像度」エピソードのみを録画し得る。別の例として、メディアガイドアプリケーションは、パターン(例えば、ユーザが隔週に夜勤をするので、メディアアセットを隔週に録画する)を識別し、識別されたパターンに基づいて命令を修正し得る。
図1は、本開示のいくつかの実施形態による利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス100は、制御回路604(図6)によって実行され得る。プロセス100またはその任意のステップは、図6-7に示されるデバイスのうちのいずれかの上で実施され得るか、もしくはそれによって提供され得ることに留意されたい。
プロセス100は、102から開始し、メディアガイドアプリケーションは、連続番組を記憶するためのユーザ要求を受信する(例えば、制御回路604(図6)を介して)。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザ入力インターフェースを介して(例えば、ユーザ入力インターフェース610(図6)を介して)番組連続番組「Game of Thrones」の全ての新しいエピソードを記憶するためのオプションのユーザ選択を受信し得る。ユーザは、モバイルデバイス、または記憶されるべき番組を選択するための任意の他の方法を使用して、セットトップボックスから遠隔で、Game of Thronesのための連続番組録画オプションを通して、番組リスト項目画面内(例えば、グリッドガイド(図4-5)内)の連続番組を記憶するためのオプションを選択し得る。
本明細書で参照されるように、「連続番組」が、一般的基準によって関連付けられ、グループ化される任意の複数のメディアアセットを意味することを理解されたい。基準は、俳優、エピソードタイトル、連続番組タイトル、ジャンル、公開日、キーワード、ディレクタ、ライタ、スタジオ、および/またはプロデューサのうちのいずれかもしくは複数を備え得る。いくつかの実施形態では、連続番組は、順序付けられた複数のエピソードを備え得る。例えば、連続番組「Game of Thrones」のエピソードは、それらがある順序で視聴されるように放映され、書かれているという点で連続である。他の実施形態では、連続番組は、複数の独立型エピソードを備え得る。本明細書で参照されるように、「エピソード」が、連続番組の一部である任意の単数メディアアセットを意味することを理解されたい。いくつかの実施形態では、エピソードは、コンテンツソースから定期的に特定の時間にスケジュールされるメディアアセットを指し得る。例えば、連続番組「Game of Thrones」のエピソードは、毎週同じコンテンツソースから午後9時に放送され得る。
プロセス100は、104に続き、メディアガイドアプリケーションは、連続番組のエピソードを記憶するための命令を記憶する(例えば、制御回路604(図6)を介して)。例えば、メディアガイドアプリケーションは、記憶装置(例えば、記憶装置608)の中に記憶されたスケジュールデータ構造、または、通信ネットワーク(例えば、通信ネットワーク714)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース718)において遠隔で記憶されたスケジュールデータ構造を維持し得る。スケジュールデータ構造は、各命令が、異なる行に記憶され、命令に関連付けられたパラメータ(例えば、録画する開始時間、終了時間、および/またはソース)が、行のフィールドの中に記憶されるテーブルとして編成され得る。具体的例として、メディアガイドアプリケーションは、ユーザが連続番組「Game of Thrones」を記憶することを選択することに応答して、スケジュールデータ構造に新しいエントリを書き込むためのプログラムスクリプトを実行し得る(例えば、制御回路604(図6)を介して)。新しいエントリは、「タイプ=連続番組」、「ソース=HBO」、「開始時間=午後9時」、および/または「終了時間=午後10時」等の「Game of Thrones」のエピソードを記憶するための命令に関連付けられたパラメータを伴う別個のフィールドを含み得る。
プロセス100は、106に続き、メディアガイドアプリケーションは、記憶デバイス上に連続番組の複数のエピソードを記憶する(例えば、制御回路604(図6)を介して)。例えば、メディアガイドアプリケーションは、クロック時間を種々のスケジュールイベントのためのスケジュールデータベースの中に記憶された開始時間と比較するプログラムスクリプトを実行し得る(例えば、制御回路604(図6)を介して)。クロック時間がスケジュールイベントの開始時間に対応するとき、メディアガイドアプリケーションは、適切なアクションをとり得る(例えば、スケジュールデータ構造において定義されるような特定のソースからデータを受信し、データを記憶する)。本明細書で参照されるように、「記憶する」が、ユーザがその最初の伝送後にメディアアセットにアクセスすることができるようにメディアアセットを持続的に保存するための任意の方法またはシステムを意味することを理解されたい。いくつかの実施形態では、メディアアセットを記憶することは、メディアアセットを伝送するコンテンツソースからメディアアセットを録画するセットトップボックスまたは他のユーザ機器によって、実施され得る。他の実施形態では、メディアアセットを記憶することは、通信ネットワークを介して遠隔サーバからメディアアセットのコピーをダウンロードすることによって、実施され得る。
プロセス100は、110に続き、メディアガイドアプリケーションは、記憶デバイス上の利用可能な記憶スペースの量を決定する(例えば、制御回路604(図6)を介して)。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)空いており(例えば、データを記憶するために現在使用されていない)、したがって、メディアアセットを記憶するために利用可能であるメモリのブロックの数を決定し得る。メディアガイドアプリケーションは、以下に説明されるように、それが連続番組視聴関数に入力されることができるように、利用可能な記憶スペースの量を処理し得る(例えば、制御回路604(図6)を介して)。例えば、メディアガイドアプリケーションは、メモリの全フリーブロックをメモリの全ブロックで除算し、新しいメディアアセットを記憶するために利用可能なスペースの割合(例えば、5%利用可能)を決定し得る。
プロセス100は、112に続き、メディアガイドアプリケーションは、連続番組視聴関数を用いて利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算する(例えば、制御回路604(図6)を介して)。例えば、メディアガイドアプリケーションは、記憶装置(例えば、記憶装置608)の中に、または通信ネットワーク(例えば、通信ネットワーク714)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース718)に遠隔で、利用可能な記憶スペースの量を閾値視聴進捗に関連付ける数学関数(例えば、図2に関して以下に説明されるような)を記憶し得る。数学関数は、連続的、不連続的、および/または一価であり得る。具体的例として、メディアガイドアプリケーションは、記憶デバイスの記憶スペースの10%のみが利用可能であることを決定し、これを数学関数に入力し、数学関数は、7/8の出力を返し得る(例えば、制御回路604(図6)を介して)。この例では、メディアガイドアプリケーションは、非常に少ない記憶空間が利用可能であるので、高閾値視聴進捗を計算する。
プロセス100は、114に続き、メディアガイドアプリケーションは、集計された視聴進捗が閾値視聴進捗を超えるかどうかを決定する(例えば、制御回路604(図6)を介して)。例えば、メディアガイドアプリケーションは、集計された視聴進捗の値と閾値視聴進捗の値とを比較し、(例えば、他方から一方の値を減算し、返される結果が正、負、またはゼロであるかどうかを決定することによって)集計された視聴進捗が閾値を超えるかどうかを決定し得る(例えば、制御回路604(図6)を介して)。具体的例として、メディアガイドアプリケーションは、上で説明されるように、集計された視聴進捗が、記憶デバイス上で利用可能な記憶スペースの量から計算された50%の閾値を満たさない33%であることを決定し得る(例えば、制御回路604(図6)を介して)。本明細書で参照されるように、「集計された視聴進捗」が、連続番組のエピソードを通したユーザの視聴進捗を意味することを理解されたい。いくつかの実施形態では、集計された視聴進捗は、ユーザプロファイルで反映されるように、記憶装置からすでに削除されているが、ユーザによって視聴されたエピソードを含む。別の実施形態では、集計された視聴進捗は、同じユーザ機器デバイス上のエピソードにアクセスする複数のユーザの視聴進捗を含む。
メディアガイドアプリケーションが集計された視聴進捗が閾値視聴進捗を超えることを決定する場合(例えば、制御回路604(図6)を介して)、プロセス100は、116に続き、メディアガイドアプリケーションは、連続番組のエピソードを記憶するための命令を修正しないことを決定する(例えば、制御回路604(図6)を介して)。例えば、連続番組視聴関数を使用して計算される閾値視聴進捗が80%であり(すなわち、連続番組の80%が、連続番組のエピソードを記憶するための命令を調節しないために視聴される必要がある)、ユーザが10個の記憶されたエピソードのうちの9つを最後まで視聴した(例えば、集計された視聴進捗が90%である)場合、メディアガイドアプリケーションは、連続番組のエピソードを記憶するための命令を修正しないこともある。
メディアガイドアプリケーションが集計された視聴進捗が閾値視聴進捗を超えないことを決定する場合(例えば、制御回路604(図6)を介して)、プロセス100は、118に続き、メディアガイドアプリケーションは連続番組のエピソードを記憶するための命令を修正する(例えば、制御回路604(図6)を介して)。例えば、連続番組視聴関数を使用して計算される閾値視聴進捗が80%であり(すなわち、連続番組の80%が、連続番組のエピソードを記憶するための命令を調節しないために視聴される必要がある)、ユーザが10個の記憶されたエピソードのうちの4つを最後まで視聴した(例えば、集計された視聴進捗が40%である)場合、メディアガイドアプリケーションは、連続番組のエピソードを記憶するための命令を修正し得る。
図2は、本開示のいくつかの実施形態による利用可能な記憶スペースを閾値視聴進捗にマッピングするための連続番組視聴関数の例証的例を示す。例えば、図2は、利用可能な記憶スペース202の関数として閾値視聴進捗204を算出するための数学関数(例えば、関数206、208、210、および212)のグラフ描写を示す。例えば、記憶デバイス上に残っている利用可能な記憶スペース202に対して読み出される全ての値は、対応する閾値視聴進捗204を有し、閾値視聴進捗204は、図1および8で議論されるように、連続番組を記憶するための命令を修正するかどうかを決定するために使用される。閾値視聴進捗204と利用可能な記憶スペース202とのための軸は、任意の単位(例えば、割合の代わりにメモリのブロック)であり得るが、好ましくは、割合または比率として表される。
図2は、利用可能な記憶スペース202と閾値視聴進捗204との間の線形マッピングである関数206を示す。関数206では、記憶スペースの67%が利用可能である場合、閾値視聴進捗は、33%であり得る。線の傾斜は、100%よりも低い閾値視聴進捗が最大であるように異なり得る。例えば、100%が最大である(例えば、集計された視聴進捗は、命令が修正されないために100%である必要があろう)代わりに、80%のようなより低い割合が、最大であり得る。その状況では、たとえいかなるスペースも記憶デバイス上で利用可能ではなくても、連続番組視聴命令を修正することに、ある程度の許容がある。
関数208は、利用可能な記憶スペース202と閾値視聴進捗204との間の「積極的修正」マッピングを表す。関数208では、記憶スペースの67%が利用可能である場合、閾値視聴進捗は、70%であり得る。このマッピングは、エピソードが記憶されるとすぐに連続番組を迅速に完全に鑑賞するか、またはそれらについて完全に忘れるかのいずれかの傾向があるユーザに有用であり得る。関数210は、反対の状況を表し、代わりに、利用可能な記憶スペース202と閾値視聴進捗204との間の「最小修正」マッピングである。関数210では、記憶スペースの67%が利用可能である場合、閾値視聴進捗は、15%であり得る。このマッピングは、番組が記憶されることを待ち、次いで、それらを後ですぐに視聴する(例えば、「一気に鑑賞する」)ユーザに有用であり得る。関数208を使用すると、連続番組のエピソードを録画する命令は、この視聴習慣を有するユーザがエピソードを鑑賞するかどうかを決定する前に修正され得、したがって、ユーザは、後ですぐにエピソードを視聴するとき、鑑賞することを所望したエピソードを見逃し得る。関数210は、利用可能な記憶スペース202と閾値視聴進捗204との間のステップ関数マッピングを表す。このマッピングは、類似マッピングを上で議論される関数のうちのいずれかに提供するようにカスタマイズされ得るが、連続関数の代わりに離散レベルを含むので、閾値視聴進捗のより速く、より効率的な処理および決定につながり得る。
いくつかの実施形態では、メディアガイドアプリケーションは、利用可能な記憶スペースの量の第1の値を読み出す。上で説明されるように、メディアガイドアプリケーションは、メディアアセットを記憶するために空いており、利用可能なメモリのブロックの値を読み出し得る。そして、メディアガイドアプリケーションは、プログラムスクリプトを実行し、第1の値は、利用可能な記憶スペース202の量の値を閾値視聴進捗204にマッピングする数学関数(例えば、関数206、208、210、および212のうちの1つ)に入力される。例えば、メディアガイドアプリケーションは、上で説明されるように、数学関数への入力として利用可能なメモリの量を用いて、プログラムスクリプト(例えば、C++プログラム)を実行し得る。メディアガイドアプリケーションは、プログラムスクリプトの出力として、閾値視聴進捗を受信する。例えば、プログラムスクリプトは、入力される利用可能な記憶スペースの量に基づいて閾値視聴進捗を返し、終了し得る。
他の実施形態では、メディアガイドアプリケーションは、ユーザがマッピング中に使用する数学関数または数学関数のタイプを選択することを可能にするオプションを表示のために生成し得る。上で議論されるように、異なるユーザは、異なる視聴習慣を有し、利用可能な記憶スペースの量に応じて、命令を異なって修正することを好み得る。例えば、シーズン全体が記憶された後に連続番組のエピソードをすぐに視聴することを好むユーザは、たとえほとんどのエピソードがまだ視聴されていなくても、エピソードが依然として記憶されている(例えば、命令が修正されない)ように、関数210を好み得る。メディアガイドアプリケーションは、ユーザは閾値視聴進捗の計算中に使用される関数を選定することを選択することができる、関数を説明する選択可能なオプションを表示のために生成し得、代替として、または加えて、メディアガイドアプリケーションは、関数をグラフで表示し得る。
図3は、本開示のいくつかの実施形態による連続番組のエピソードを記憶するための命令を修正するためのオプションを提示する表示画面の例証的例を示す。例えば、図3は、連続番組を記憶するための命令を修正するためのオプション304、306、308、および310、ならびに連続番組を記憶するための命令を修正しないためのオプション312を伴う表示300上の通知302を示す。
図3は、記憶されるようにスケジュールされた特定の連続番組(例えば、「Game of Thrones」)のユーザの視聴進捗が閾値視聴進捗を超えないことをユーザに通知する通知302を含む。いくつかの実施形態では、通知302は、集計された視聴進捗が閾値視聴進捗を上回るが、依然として、それに近い(例えば、集計された視聴進捗が82%であり、閾値視聴進捗が80%である)場合に表示され得る。通知302は、随意に、通知302に参照される連続番組からの画像および/またはビデオを含み得、それは、番組の内容をユーザに思い出させ、ユーザが命令を修正する方法についてより情報に基づく選択を行うことを可能にすることに役立ち得る。
通知302は、連続番組のエピソードを記憶するための命令を削除するためのオプション304を含む。例えば、オプション304のユーザ選択を受信すること(例えば、図6でさらに説明されるようなユーザ入力インターフェースを介した)に基づいて、メディアガイドアプリケーションは、スケジュールデータベースにアクセスし、連続番組のエピソードを記憶するための命令を削除するプログラムスクリプトを実行し得る。通知302は、新しいエピソードのみを記憶するためのオプション306も含む。例えば、オプション306のユーザ選択を受信すること(例えば、図6でさらに説明されるようなユーザ入力インターフェースを介した)に基づいて、メディアガイドアプリケーションは、スケジュールデータベースにアクセスし、連続番組のエピソードを記憶するための命令の中の新しいエピソードフィールドを修正するプログラムスクリプトを実行し得る。新しいエピソードフィールドは、ブールであり得、真に設定されたとき、メディアガイドアプリケーションが新しいエピソードのみを記憶し、偽に設定されたとき、メディアガイドアプリケーションが全てのエピソードを記憶するであろう。
通知302は、高解像度のみを記憶するためのオプション308を含む。オプション308は、メディアアセットの出力に関連する任意の他のパラメータ(例えば、アスペクト比)であり得、高解像度は、純粋に例証的目的のために選定される。例えば、オプション308のユーザ選択を受信すること(例えば、図6でさらに説明されるようなユーザ入力インターフェースを介した)に基づいて、メディアガイドアプリケーションは、スケジュールデータベースにアクセスし、連続番組のエピソードを記憶するための命令の中の要件フィールドを修正するプログラムスクリプトを実行し得る。要件フィールドは、各文字が高解像度等の出力パラメータの一意の組み合わせを表す単一の文字であり得る。例えば、「H」が、メディアガイドアプリケーションに高解像度エピソードのみを記憶する一方で、「S」は、メディアガイドアプリケーションに標準解像度エピソードのみを記憶することにつながり得る。
通知302は、鑑賞していないエピソードを削除するためのオプション310を含む。例えば、オプション310のユーザ選択を受信すること(例えば、図6でさらに説明されるようなユーザ入力インターフェースを介した)に基づいて、メディアガイドアプリケーションは、連続番組のエピソードの各々に対してユーザプロファイルから視聴進捗を読み出し、ユーザが視聴していないエピソードを削除し得る。いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが閾値エピソード視聴進捗(例えば、20%)を下回って視聴したエピソードを削除する。通知302は、命令を修正しないためのオプション312を含む。例えば、オプション312のユーザ選択を受信すること(例えば、図6でさらに説明されるようなユーザ入力インターフェースを介した)に基づいて、メディアガイドアプリケーションは、通知302を閉じ、スケジュールデータ構造の中に記憶されたスケジュール命令を修正しないこともある。
いくつかの実施形態では、ユーザは、記憶デバイス上の有限量の記憶スペースが使用される方法においてより優れた融通性を可能にするための複数のオプションを選択することができる。例えば、ユーザは、そのうちの50%を鑑賞したエピソードを削除することと、連続番組の新しいエピソードのみを記憶することとを行うためのオプションを選択し得る。そして、メディアガイドアプリケーションは、受信されたユーザ選択に基づいて、連続番組のエピソードを記憶するための命令を修正する。例えば、上で説明されるように、メディアガイドアプリケーションは、スケジュールデータ構造にアクセスし、受信されたユーザ選択に基づいて、新しい命令を(例えば、既存の命令のための行のフィールドに)書き込み得る(例えば、プログラムスクリプトを実行することによって)。
任意の所与のコンテンツ配信システムにおけるユーザに利用可能なコンテンツの量は、膨大であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、所望し得るコンテンツを容易に識別することを可能にするインターフェースを通したメディアガイドの形態を所望する。そのようなガイドを提供するアプリケーションは、本明細書では、双方向メディアガイドアプリケーションと称されるが、時として、メディアガイドアプリケーションまたはガイドアプリケーションと称されることもある。
双方向メディアガイドアプリケーションは、それらがガイドを提供するコンテンツに応じて、種々の形態をとり得る。1つの典型的なタイプのメディアガイドアプリケーションは、双方向テレビ番組ガイドである。双方向テレビ番組ガイド(時として、電子番組ガイドと称される)は、とりわけ、ユーザが、多くのタイプのコンテンツまたはメディアアセット間をナビゲートし、それを見つけることを可能にする周知のガイドアプリケーションである。双方向メディアガイドアプリケーションは、ユーザが、コンテンツ間をナビゲートし、それを見つけ、選択することを可能にするグラフィカルユーザインターフェース画面を生成し得る。本明細書で参照されるように、用語「メディアアセット」および「コンテンツ」は、例えば、テレビ番組、ならびに有料番組、オンデマンド番組(ビデオオンデマンド(VOD)システムにおけるような)、インターネットコンテンツ(例えば、ストリーミングコンテンツ、ダウンロード可能コンテンツ、ウェブキャスト等)、ビデオクリップ、オーディオ、コンテンツ情報、写真、回転画像、ドキュメント、再生リスト項目、ウェブサイト、記事、書籍、電子書籍、ブログ、チャットセッション、ソーシャルメディア、アプリケーション、ゲーム、および/または任意の他のメディアもしくはマルチメディア、および/またはそれらの組み合わせ等の電子的に消費可能なユーザアセットを意味することを理解されたい。ガイドアプリケーションは、ユーザが、コンテンツ間をナビゲートし、それを見つけることも可能にする。本明細書で参照されるように、用語「マルチメディア」とは、上で説明される少なくとも2つの異なるコンテンツ形態、例えば、テキスト、オーディオ、画像、ビデオ、または双方向コンテンツ形態を利用するコンテンツを意味することを理解されたい。コンテンツは、ユーザ機器デバイスによって、録画、再生、表示、またはアクセスされ得るが、それは、ライブパーフォーマンスの一部であることもできる。
本明細書で議論される実施形態のいずれかを行うためのメディアガイドアプリケーションおよび/または任意の命令は、コンピュータ読み取り可能な媒体上にエンコードされ得る。コンピュータ読み取り可能な媒体は、データを記憶することが可能な任意のメディアを含む。コンピュータ読み取り可能な媒体は、限定ではないが、電気もしくは電磁信号の伝搬を含む一過性のものであり得るか、または限定ではないが、ハードディスク、フロッピー(登録商標)ディスク、USBドライブ、DVD、CD、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ(「RAM」)等の揮発性および不揮発性コンピュータメモリもしくは記憶デバイスを含む非一過性のものであり得る。
インターネット、モバイルコンピューティング、および高速無線ネットワークの出現に伴って、ユーザは、従来は使用しなかったユーザ機器デバイス上でメディアにアクセスするようになっている。本明細書で参照されるように、語句「ユーザ機器デバイス」、「ユーザ機器」、「ユーザデバイス」、「電子デバイス」、「電子機器」、「メディア機器デバイス」、または「メディアデバイス」が、テレビ、スマートTV、セットトップボックス、衛星テレビに対応するための統合型受信機デコーダ(IRD)、デジタル記憶デバイス、デジタルメディア受信機(DMR)、デジタルメディアアダプタ(DMA)、ストリーミングメディアデバイス、DVDプレーヤ、DVDレコーダ、接続型DVD、ローカルメディアサーバ、BLU-RAY(登録商標)プレーヤ、BLU-RAY(登録商標)レコーダ、パーソナルコンピュータ(PC)、ラップトップコンピュータ、タブレットコンピュータ、ウェブTVボックス、パーソナルコンピュータテレビ(PC/TV)、PCメディアサーバ、PCメディアセンター、ハンドヘルドコンピュータ、固定電話、携帯情報端末(PDA)、携帯電話、ポータブルビデオプレーヤ、ポータブル音楽プレーヤ、ポータブルゲーム機、スマートフォン、または任意の他のテレビ機器、コンピューティング機器、もしくは無線デバイス、および/またはそれらの組み合わせ等の上で説明されるコンテンツにアクセスするための任意のデバイスを意味することを理解されたい。いくつかの実施形態では、ユーザ機器デバイスは、正面画面および裏面画面、複数の正面画面、または複数の角度付き画面を有し得る。いくつかの実施形態では、ユーザ機器デバイスは、正面カメラおよび/または裏面カメラを有し得る。これらのユーザ機器デバイス上で、ユーザは、テレビを通して利用可能な同じコンテンツ間をナビゲートし、それを見つけることが可能であり得る。その結果として、メディアガイドは、これらのデバイス上でも利用可能であり得る。提供されるガイドは、テレビのみを通して利用可能なコンテンツ、他のタイプのユーザ機器デバイスのうちの1つ以上のもののみを通して利用可能なコンテンツ、もしくはテレビおよび他のタイプのユーザ機器デバイスのうちの1つ以上のものの両方を通して利用可能なコンテンツのためのものであり得る。メディアガイドアプリケーションは、ユーザ機器デバイス上で、オンラインアプリケーション(すなわち、ウェブサイト上で提供される)として、または独立型アプリケーションもしくはクライアントとして提供され得る。メディアガイドアプリケーションを実装し得る種々のデバイスおよびプラットフォームは、以下でさらに詳細に説明される。
メディアガイドアプリケーションの機能のうちの1つは、メディアガイドデータをユーザに提供することである。本明細書で参照されるように、語句「メディアガイドデータ」または「ガイドデータ」が、コンテンツに関連する任意のデータもしくはガイドアプリケーションを動作させることにおいて使用されるデータを意味することを理解されたい。例えば、ガイドデータは、番組情報、ガイドアプリケーション設定、ユーザ選好、ユーザプロファイル情報、メディアリスト項目、メディア関連情報(例えば、放送時間、放送チャネル、タイトル、内容、評価情報(例えば、ペアレンタルコントロール評価、批評家の評価等)、ジャンルまたはカテゴリ情報、俳優情報、放送会社またはプロバイダのロゴのロゴデータ等)、メディア形式(例えば、標準解像度、高解像度、3D等)、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを見つけるために役立つ任意の他のタイプのガイドデータを含み得る。
図4-5は、メディアガイドデータを提供するために使用され得る例証的表示画面を示す。図4-5に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装され得る。図4-5の表示は、フル画面表示として図示されているが、それらは、表示されているコンテンツ上に完全または部分的にオーバーレイされ得る。ユーザは、表示画面に提供された選択可能なオプション(例えば、メニューオプション、リスト項目オプション、アイコン、ハイパーリンク等)を選択することによって、またはリモートコントロールもしくは他のユーザ入力インターフェースまたはデバイス上の専用ボタン(例えば、「ガイド」ボタン)を押すことによって、コンテンツ情報にアクセスする要望を示し得る。ユーザの指示 に応答して、メディアガイドアプリケーションは、グリッド内の時間およびチャネル別、時間別、チャネル別、ソース別、コンテンツタイプ別、カテゴリ別(例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ)、または他の所定、ユーザ定義、もしくは他の編成基準等のいくつかの方法のうちの1つにおいて編成されたメディアガイドデータを表示画面に提供し得る。
図4は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする時間およびチャネル別に配列された番組リスト項目表示400の例証的グリッドを示す。表示400は、以下を伴うグリッド402を含み得る:(1)各チャネル/コンテンツタイプ識別子(列内のセル)が利用可能な異なるチャネルまたはコンテンツのタイプを識別するチャネル/コンテンツタイプ識別子404の列、および、(2)各時間識別子(行のセル)が番組の時間帯を識別する時間識別子406の行。グリッド402は、番組リスト項目408等の番組リスト項目のセルも含み、各リスト項目は、リスト項目の関連チャネルおよび時間の上に提供される番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域410を移動させることによって番組リスト項目を選択することができる。ハイライト領域410によって選択される番組リスト項目に関連する情報が、番組情報領域412内に提供され得る。領域412は、例えば、番組タイトル、番組内容、番組が提供される時間(該当する場合)、番組が放送されるチャネル(該当する場合)、番組の評価、および他の所望の情報を含み得る。
線形番組(例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジュールされ、スケジュールに従って提供されるコンテンツ)にアクセスを提供することに加えて、メディアガイドアプリケーションは、非線形番組(例えば、任意の時間においてユーザ機器デバイスにアクセス可能であり、スケジュールに従って提供されないコンテンツ)へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ(例えば、VOD)、インターネットコンテンツ(例えば、ストリーミングメディア、ダウンロード可能メディア等)、ローカルで記憶されたコンテンツ(例えば、上で説明される任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ)、または時間的制約のない他のコンテンツを含む異なるコンテンツソースからのコンテンツを含み得る。オンデマンドコンテンツは、特定のコンテンツプロバイダ(例えば、「The Sopranos」や「Curb Your Enthusiasm」を提供するHBO On Demand)によって提供される映画または任意の他のコンテンツを含み得る。HBO ON DEMANDは、Time Warner Company L.P.らによって所有されるサービスマークであり、THE SOPRANOSおよびCURB YOUR ENTHUSIASMは、Home Box Office,Inc.によって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、もしくはインターネットウェブサイトまたは他のインターネットアクセス(例えば、FTP)を通して、ストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含み得る。
グリッド402は、オンデマンドリスト項目414、録画コンテンツリスト項目416、およびインターネットコンテンツリスト項目418を含む非線形番組のメディアガイドデータを提供し得る。異なるタイプのコンテンツソースからのコンテンツのためのメディアガイドデータを組み合わせる表示は、時として、「混合メディア」表示と称されることもある。表示400とは異なる表示され得るメディアガイドデータのタイプの種々の順列は、ユーザ選択またはガイドアプリケーション定義に基づき得る(例えば、録画および放送リスト項目のみの表示、オンデマンドおよび放送リスト項目のみの表示等)。例証されるように、リスト項目414、416、および418は、これらのリスト項目の選択が、それぞれ、オンデマンドリスト項目、録画リスト項目、またはインターネットリスト項目専用の表示へのアクセスを提供し得ることを示すように、グリッド402内に表示される時間帯全体に及ぶものとして示されている。いくつかの実施形態では、これらのコンテンツタイプのリスト項目は、グリッド402に直接含まれ得る。ユーザがナビゲーションアイコン420のうちの1つを選択することに応答して、追加のメディアガイドデータが表示され得る(ユーザ入力デバイス上の矢印キーを押すことは、ナビゲーションアイコン420を選択することと同様に表示に影響を及ぼし得る)。
表示400は、ビデオ領域422、およびオプション領域426も含み得る。ビデオ領域422は、ユーザが、現在利用可能である、今後利用可能となる、またはユーザに利用可能であった番組を視聴および/またはプレビューすることを可能にし得る。ビデオ領域422のコンテンツは、グリッド402に表示されるリスト項目のうちの1つに対応するか、またはそれから独立し得る。ビデオ領域を含むグリッド表示は、時として、ピクチャインガイド(PIG)表示と称されることもある。PIG表示およびそれらの機能性は、参照することによってその全体として本明細書に組み込まれる、2003年5月13日発行のSatterfieldらの米国特許第6,564,378号、および2001年5月29日発行のYuenらの米国特許第6,239,794号でさらに詳細に説明されている。PIG表示は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれ得る。
オプション領域426は、ユーザが、異なるタイプのコンテンツ、メディアガイドアプリケーション表示、および/またはメディアガイドアプリケーション特徴にアクセスすることを可能にし得る。オプション領域426は、表示400(および本明細書に説明される他の表示画面)の一部であり得るか、または画面上のオプションを選択すること、もしくはユーザ入力デバイス上の専用または割り当て可能ボタンを押すことによって、ユーザによって呼び出され得る。オプション領域426内の選択可能オプションは、グリッド402内の番組リスト項目に関連する特徴に関し得るか、またはメインメニュー表示から利用可能なオプションを含み得る。番組リスト項目に関連する特徴は、他の放送時間または番組の受信方法の検索、番組の録画、番組の連続番組録画の有効化、番組および/またはチャネルのお気に入りとしての設定、番組の購入、もしくは他の特徴を含み得る。メインメニュー表示から利用可能なオプションは、検索オプション、VODオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第2の画面デバイスオプション、種々のタイプのメディアガイドデータ表示にアクセスするオプション、プレミアムサービスをサブスクライブするオプション、ユーザのプロファイルを編集するオプション、ブラウザオーバーレイにアクセスするオプション、または他のオプションを含み得る。
メディアガイドアプリケーションは、ユーザの選好に基づいて個人化され得る。個人化されたメディアガイドアプリケーションは、ユーザが、メディアガイドアプリケーションを用いて個人化された「体験」を生成するように、表示および特徴をカスタマイズすることを可能にする。この個人化された体験は、ユーザがこれらのカスタマイズを入力することを可能にすることによって、および/または種々のユーザ選好を決定するようにメディアガイドアプリケーションがユーザアクティビティを監視することによって、生成され得る。ユーザは、ログインすることによって、または別様にガイドアプリケーションに対して自らを識別することによって、それらの個人化されたガイドアプリケーションにアクセスし得る。メディアガイドアプリケーションのカスタマイズは、ユーザプロファイルに従って作成され得る。カスタマイズは、提示方式(例えば、表示の色方式、テキストのフォントサイズ等)、表示されるコンテンツリスト項目の側面(例えば、HDTV番組のみまたは3D番組のみ、お気に入りチャネル選択に基づいたユーザ指定の放送チャネル、チャネルの表示の並び替え、推奨コンテンツ等)、所望の録画特徴(例えば、特定のユーザに対する録画または連続番組録画、録画品質等)、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示(例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示)、および他の所望のカスタマイズを変更することを含み得る。
メディアガイドアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にし得るか、またはユーザプロファイル情報を自動的にコンパイルし得る。メディアガイドアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および/またはユーザがガイドアプリケーションと行い得る他の相互作用を監視し得る。加えて、メディアガイドアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を取得し(例えば、www.allrovi.com等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイドアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから等)、および/またはメディアガイドアプリケーションがアクセスし得る他のソースから、ユーザについての情報を取得し得る。結果として、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイドアプリケーション体験をユーザに提供することができる。このタイプのユーザ体験は、図7に関連して、以下でさらに詳細に説明される。追加の個人化されたメディアガイドアプリケーション特徴は、参照することによってその全体として本明細書に組み込まれる、2005年7月11日出願のEllisらの米国特許出願第2005/0251827号、2007年1月16日出願のBoyerらの米国特許出願第7,165,098号、および2002年2月21日出願のEllisらの米国特許出願第2002/0174430号でさらに詳細に説明されている。
メディアガイドを提供するための別の表示配列が、図5に示されている。ビデオモザイク表示500は、コンテンツのタイプ、ジャンル、および/または他の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション502を含む。表示500では、テレビリスト項目オプション504が、選択され、したがって、リスト項目506、508、510、および512を放送番組リスト項目として提供する。表示500では、リスト項目は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、またはリスト項目中のメディアガイドデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含む、グラフィック画像を提供し得る。グラフィックリスト項目の各々は、リスト項目に関連付けられたコンテンツに関するさらなる情報を提供するように、テキストも伴い得る。例えば、リスト項目508は、メディア部分514およびテキスト部分516を含む、2つ以上の部分を含み得る。メディア部分514および/またはテキスト部分516は、コンテンツをフル画面で視聴するために、またはメディア部分514に表示されるコンテンツに関連する情報を閲覧するために(例えば、ビデオが表示されるチャネルのリスト項目を閲覧するために)、選択可能であり得る。
表示500中のリスト項目は、異なるサイズである(すなわち、リスト項目506は、リスト項目508、510、および512より大きい)が、所望に応じて、全てのリスト項目が同じサイズであり得る。リスト項目は、コンテンツプロバイダの所望に応じて、またはユーザ選好に基づいて、ユーザの関心の程度を示すために、またはあるコンテンツを強調するために、異なるサイズであるか、またはグラフィック的に強調され得る。コンテンツリスト項目をグラフィック的に強調するための種々のシステムおよび方法は、例えば、参照することによってその全体として本明細書に組み込まれる、2009年11月12日に出願されたYatesの米国特許出願公開第2010/0153885号で議論されている。
ユーザは、そのユーザ機器デバイスのうちの1つ以上のものから、コンテンツおよびメディアガイドアプリケーション(ならびに上および下で説明されるその表示画面)にアクセスし得る。図6は、例証的ユーザ機器デバイス600の汎用実施形態を示す。ユーザ機器デバイスのより具体的な実装は、図7に関連して以下で議論される。ユーザ機器デバイス600は、入出力(以下「I/O」)パス602を介して、コンテンツおよびデータを受信し得る。I/Oパス602は、処理回路606および記憶装置608を含む制御回路604に、コンテンツ(例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を経由して利用可能なコンテンツ、および/または他のコンテンツ)およびデータを提供し得る。制御回路604は、I/Oパス602を使用して、コマンド、要求、および他の好適なデータを送受信するために使用され得る。I/Oパス602は、制御回路604(具体的には、処理回路606)を1つ以上の通信パス(以下で説明される)に接続し得る。I/O機能は、これらの通信パスのうちの1つ以上のものによって提供され得るが、図面が複雑になり過ぎることを回避するために、図6では単一パスとして示されている。
制御回路604は、処理回路606等の任意の好適な処理回路に基づき得る。本明細書で参照されるように、処理回路とは、1つ以上のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等に基づく回路を意味し、マルチコアプロセッサ(例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア)またはスーパーコンピュータを含み得ることを理解されたい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同じタイプの処理ユニット(例えば、2つのIntel Core i7プロセッサ)または複数の異なるプロセッサ(例えば、Intel Core i5プロセッサおよびIntel Core i7プロセッサ)にわたって分散され得る。いくつかの実施形態では、制御回路604は、メモリ(すなわち、記憶装置608)に記憶されたメディアガイドアプリケーションに対する命令を実行する。具体的には、制御回路604は、メディアガイドアプリケーションによって、上および下で議論される機能を果たすように命令され得る。例えば、メディアガイドアプリケーションは、制御回路604に、メディアガイド表示を生成するための命令を提供し得る。いくつかの実装では、制御回路604によって実施される任意のアクションは、メディアガイドアプリケーションから受信される命令に基づき得る。
クライアントサーバベースの実施形態では、制御回路604は、ガイドアプリケーションサーバもしくは他のネットワークまたはサーバと通信するための好適な通信回路を含み得る。上で述べられる機能性を実施するための命令は、ガイドアプリケーションサーバ上に記憶され得る。通信回路は、ケーブルモデム、総合デジタル通信網(ISDN)モデム、デジタルサブスクライバ回線(DSL)モデム、電話モデム、イーサネット(登録商標)カード、または他の機器との通信用の無線モデム、もしくは任意の他の好適な通信回路を含み得る。そのような通信は、インターネットもしくは任意の他の好適な通信ネットワークまたはパスを伴い得る(図7に関連してさらに詳細に説明される)。加えて、通信回路は、ユーザ機器デバイスのピアツーピア通信、または互いから遠隔の場所にあるユーザ機器デバイスの通信を可能にする回路を含み得る(以下でさらに詳細に説明される)。
メモリは、制御回路604の一部である記憶装置608として提供される、電子記憶デバイスであり得る。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」が、ランダムアクセスメモリ、読み取り専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク(DVD)レコーダ、コンパクトディスク(CD)レコーダ、BLU-RAY(登録商標)ディスク(BD)レコーダ、BLU-RAY(登録商標) 3Dディスクレコーダ、デジタルビデオレコーダ(DVR、または時として、パーソナルビデオレコーダ(PVR)と呼ばれる場合もある)、ソリッドステートデバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、もしくは任意の他の好適な固定またはリムーバブル記憶デバイス、および/またはそれらの任意の組み合わせ等の電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味することを理解されたい。記憶装置608は、本明細書に説明される種々のタイプのコンテンツ、ならびに上で説明されるメディアガイドデータを記憶するために使用され得る。不揮発性メモリも、(例えば、ブートアップルーチンおよび他の命令を起動するために)使用され得る。図7に関連して説明される、クラウドベースの記憶装置が、記憶装置608を補完するために使用されるか、または記憶装置608の代わりに使用され得る。
制御回路604は、1つ以上のアナログチューナ、1つ以上のMPEG-2デコーダ、もしくは他のデジタルデコード回路、高解像度チューナ、または任意の他の好適な同調もしくはビデオ回路、もしくはそのような回路の組み合わせ等のビデオ生成回路および同調回路を含み得る。(例えば、記憶するために、無線、アナログ、またはデジタル信号をMPEG信号に変換するための)エンコード回路も、提供され得る。制御回路604は、コンテンツをユーザ機器600の好ましい出力形式に上方変換および下方変換するためのスケーリング回路も含み得る。回路604は、デジタル信号とアナログ信号との間で変換するためのデジタル/アナログ変換回路ならびにアナログ/デジタル変換回路も含み得る。同調およびエンコード回路は、コンテンツを受信して表示し、再生し、または録画するために、ユーザ機器デバイスによって使用され得る。同調およびエンコード回路も、ガイドデータを受信するために使用され得る。例えば、同調、ビデオ生成、エンコード、デコード、暗号化、解読、スケーリング、およびアナログ/デジタル回路を含む本明細書に説明される回路は、1つ以上の汎用もしくは特殊プロセッサ上で起動するソフトウェアを使用して実装され得る。複数のチューナが、同時同調機能(例えば、視聴および録画機能、ピクチャインピクチャ(PIP)機能、多重チューナ録画機能等)に対処するために提供され得る。記憶装置608が、ユーザ機器600とは別のデバイスとして提供される場合、同調およびエンコード回路(複数のチューナを含む)は、記憶装置608に関連付けられ得る。
ユーザは、ユーザ入力インターフェース610を使用して、命令を制御回路604に送信し得る。ユーザ入力インターフェース610は、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチスクリーン、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等の任意の好適なユーザインターフェースであり得る。ディスプレイ612は、独立型デバイスとして提供されるか、またはユーザ機器デバイス600の他の要素と統合され得る。例えば、ディスプレイ612は、タッチスクリーンまたはタッチセンサ式ディスプレイであり得る。そのような状況では、ユーザ入力インターフェース610は、ディスプレイ612と統合されるか、または組み合わせられ得る。ディスプレイ612は、モニタ、テレビ、モバイルデバイス用液晶ディスプレイ(LCD)、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマディスプレイパネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ(SED)、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの1つ以上のものであり得る。いくつかの実施形態では、ディスプレイ612は、HDTV対応型であり得る。いくつかの実施形態では、ディスプレイ612は、3Dディスプレイであり得、双方向メディアガイドアプリケーションおよび任意の好適なコンテンツは、3Dで表示され得る。ビデオカードまたはグラフィックカードは、ディスプレイ612への出力を生成し得る。ビデオカードは、3Dシーンおよび2Dグラフィックのレンダリング加速、MPEG-2/MPEG-4デコード、TV出力、または複数のモニタを接続する能力等の種々の機能を提供し得る。ビデオカードは、制御回路604に関連する上で説明される任意の処理回路であり得る。ビデオカードは、制御回路604と統合され得る。スピーカ614は、ユーザ機器デバイス600の他の要素と統合されたものとして提供され得るか、または独立型ユニットであり得る。ディスプレイ612上に表示されるビデオおよび他のコンテンツのオーディオコンポーネントは、スピーカ614を通して再生され得る。いくつかの実施形態では、オーディオは、スピーカ614を介して音声を処理および出力する受信機(図示せず)に配信され得る。
ガイドアプリケーションは、任意の好適なアーキテクチャを使用して実装され得る。例えば、それは、ユーザ機器デバイス600上で完全に実装される独立型アプリケーションであり得る。そのようなアプローチでは、アプリケーションの命令は、ローカルで(例えば、記憶装置608内)記憶され、アプリケーションによって使用するためのデータは、周期的にダウンロードされる(例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して)。制御回路604は、記憶装置608からアプリケーションの命令を読み出し、本明細書で議論される表示のうちのいずれかを生成するための命令を処理し得る。処理された命令に基づいて、制御回路604は、入力が入力インターフェース610から受信されるときに実施するアクションを決定し得る。例えば、表示上のカーソルの上/下への移動は、入力インターフェース610が上/下ボタンが選択されたことを示すとき、処理された命令によって示され得る。
いくつかの実施形態では、メディアガイドアプリケーションは、クライアントサーバベースのアプリケーションである。ユーザ機器デバイス600上に実装される、シックまたはシンクライアントによって使用するためのデータは、ユーザ機器デバイス600の遠隔にあるサーバに要求を発行することによって、オンデマンドで読み出される。クライアントサーバベースのガイドアプリケーションの一例では、制御回路604は、遠隔サーバによって提供されるウェブページを解釈するウェブブラウザを起動する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶し得る。遠隔サーバは、回路(例えば、制御回路604)を使用して、記憶された命令を処理し、上および下で議論される表示を生成し得る。クライアントデバイスは、遠隔サーバによって生成される表示を受信し得、表示のコンテンツを機器デバイス600上でローカルで表示し得る。このように、命令の処理が、サーバによって遠隔で実施される一方、結果として生じる表示は、機器デバイス600上にローカルで提供される。機器デバイス600は、入力インターフェース610を介して、ユーザからの入力を受信し、対応する表示を処理および生成するために、それらの入力を遠隔サーバに伝送し得る。例えば、機器デバイス600は、上/下ボタンが入力インターフェース610を介して選択されたことを示す通信を遠隔サーバに伝送し得る。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示を生成し得る(例えば、カーソルを上/下に移動させる表示)。そして、生成された表示は、ユーザへの提示のために、機器デバイス600に伝送される。
いくつかの実施形態では、メディアガイドアプリケーションは、インタープリタまたは仮想マシン(制御回路604によって起動される)によって、ダウンロードされ、解釈または別様に起動される。いくつかの実施形態では、ガイドアプリケーションは、ETVバイナリ交換形式(ETV Binary Interchange Format/EBIF)でエンコードされ、好適なフィードの一部として制御回路604によって受信され、制御回路604上で起動するユーザエージェントによって解釈され得る。例えば、ガイドアプリケーションは、EBIFアプリケーションであり得る。いくつかの実施形態では、ガイドアプリケーションは、制御回路604によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信および起動される、一連のJAVA(登録商標)ベースのファイルによって定義され得る。そのような実施形態のうちのいくつか(例えば、MPEG-2または他のデジタルメディアエンコードスキームを採用するもの)では、ガイドアプリケーションは、例えば、番組のMPEGオーディオおよびビデオパケットを用いたMPEG-2オブジェクトカルーセルにおいてエンコードおよび伝送され得る。
図6のユーザ機器デバイス600は、図7のシステム700では、ユーザテレビ機器702、ユーザコンピュータ機器704、無線ユーザ通信デバイス706、または非携帯用ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として実装されることができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称され得、上で説明されるユーザ機器デバイスに実質的に類似し得る。メディアガイドアプリケーションが実装され得るユーザ機器デバイスは、独立型デバイスとして機能し得るか、またはデバイスのネットワークの一部であり得る。デバイスの種々のネットワーク構成が実装され得、以下でさらに詳細に議論される。
図6に関連して上で説明されるシステム特徴のうちの少なくともいくつかを利用するユーザ機器デバイスは、単独で、テレビ機器702、ユーザコンピュータ機器704、または無線ユーザ通信デバイス706として分類されないこともある。例えば、ユーザテレビ機器702は、いくつかのユーザコンピュータ機器704のように、インターネットコンテンツへのアクセスを可能にするインターネット対応型であり得る一方で、ユーザコンピュータ機器704は、あるテレビ機器702のように、テレビ番組へのアクセスを可能にするチューナを含み得る。メディアガイドアプリケーションは、種々の異なるタイプのユーザ機器上で同じレイアウトを有し得るか、またはユーザ機器の表示能力に合わせられ得る。例えば、ユーザコンピュータ機器704上では、ガイドアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供され得る。別の例では、ガイドアプリケーションは、無線ユーザ通信デバイス706用に縮小され得る。
システム700では、典型的には、各タイプのユーザ機器デバイスが2つ以上存在するが、図面が複雑になり過ぎることを回避するように、各々の1つのみが図7に示されている。加えて、各ユーザは、2つ以上のタイプのユーザ機器デバイスを利用し、各タイプのユーザ機器デバイスのうちの2つ以上のものも利用し得る。
いくつかの実施形態では、ユーザ機器デバイス(例えば、ユーザテレビ機器702、ユーザコンピュータ機器704、無線ユーザ通信デバイス706)は、「第2の画面デバイス」と称され得る。例えば、第2の画面デバイスは、第1のユーザ機器デバイス上に提示されるコンテンツを補完し得る。第2の画面デバイス上に提示されるコンテンツは、第1のデバイス上に提示されるコンテンツを補完する任意の好適なコンテンツであり得る。いくつかの実施形態では、第2の画面デバイスは、第1のデバイスの設定および表示選好を調節するためのインターフェースを提供する。いくつかの実施形態では、第2の画面デバイスは、他の第2の画面デバイスと相互作用するために、またはソーシャルネットワークと相互作用するために構成されている。第2の画面デバイスは、第1のデバイスと同じ部屋内に、第1のデバイスと異なる部屋であるが、同じ家または建物内に、もしくは第1のデバイスと異なる建物内に位置することができる。
ユーザは、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイドアプリケーション設定を維持するようにも種々の設定を設定し得る。設定は、本明細書に説明されるもの、ならびにお気に入りのチャネルおよび番組、番組を推奨するためにガイドアプリケーションが利用する番組選好、表示選好、および他の望ましいガイド設定を含む。例えば、ユーザが、そのオフィスのパーソナルコンピュータ上、例えば、ウェブサイトwww.allrovi.comの上で、チャネルをお気に入りとして設定した場合、同じチャネルが、ユーザの家庭内デバイス(例えば、ユーザテレビ機器およびユーザコンピュータ機器)上で、ならびに所望に応じて、ユーザのモバイルデバイス上でお気に入りとして表示されるであろう。したがって、同じまたは異なるタイプのユーザ機器デバイスであるかどうかにかかわらず、1つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイド体験を変更することができる。加えて、行われる変更は、ユーザによって入力される設定、ならびにガイドアプリケーションによって監視されるユーザアクティビティに基づき得る。
ユーザ機器デバイスは、通信ネットワーク714に結合され得る。すなわち、ユーザテレビ機器702、ユーザコンピュータ機器704、および無線ユーザ通信デバイス706は、それぞれ、通信パス708、710、および712を介して、通信ネットワーク714に結合される。通信ネットワーク714は、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク(例えば、4GまたはLTEネットワーク))、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、もしくは通信ネットワークの組み合わせを含む1つ以上のネットワークであり得る。パス708、710、712、および712は、別個または一緒に、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス(例えば、IPTV)、フリースペース接続(例えば、放送または他の無線信号用)、もしくは任意の他の好適な有線または無線通信パス、もしくはそのようなパスの組み合わせ等の1つ以上の通信パスを含み得る。パス712は、図7に示される例示的実施形態では、無線パスであることを示すように破線で描かれ、パス708および710は、有線パスであることを示すように実線として描かれている(しかし、これらのパスは、所望に応じて、無線パスであり得る)。ユーザ機器デバイスとの通信は、これらの通信パスのうちの1つ以上のものによって提供され得るが、図7では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、パス708、710、および712に関連して上で説明されるもの、ならびにUSBケーブル、IEEE 1394ケーブル、無線パス(例えば、Bluetooth(登録商標)、赤外線、IEEE 802-11x等)等の他の短距離ポイントツーポイント通信パス、もしくは有線または無線パスを介した他の短距離通信等の通信パス等を介して、互いに直接通信し得る。BLUETOOTH(登録商標)は、Bluetooth(登録商標)SIG,INC.によって所有される認証マークである。ユーザ機器デバイスは、通信ネットワーク714を介した間接パスを通して、互いに直接通信し得る。
システム700は、通信パス720および722を介して、通信ネットワーク714にそれぞれ結合される、コンテンツソース716およびメディアガイドデータソース718を含む。パス720および722は、パス708、710、および712に関連して上で説明される通信パスのうちのいずれかを含み得る。コンテンツソース716およびメディアガイドデータソース718との通信は、1つ以上の通信パスを介して交信され得るが、図7では、図面が複雑になり過ぎることを回避するように、単一パスとして示される。加えて、コンテンツソース716およびメディアガイドデータソース718の各々が2つ以上存在し得るが、図7では、図面が複雑になり過ぎることを回避するように、各々の1つのみが示されている。(異なるタイプのこれらのソースの各々が以下で議論される)。所望に応じて、コンテンツソース716およびメディアガイドデータソース718は、1つのソースデバイスとして統合され得る。ソース716および718と、ユーザ機器デバイス702、704、および706との間の通信は、通信ネットワーク714を通したものとして示されるが、いくつかの実施形態では、ソース716および718は、パス708、710、および712に関連して上で説明されるもの等の通信パス(図示せず)を介して、ユーザ機器デバイス702、704、および706と直接通信し得る。
コンテンツソース716は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース(例えば、NBC、ABC、HBO等のテレビ放送会社)、中間配信施設および/またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ、および他のコンテンツプロバイダを含む1つ以上のタイプのコンテンツ配信機器を含み得る。NBCは、National Broadcasting Company,Inc.によって所有される商標であり、ABCは、American Broadcasting Company,INC.によって所有される商標であり、HBOは、Home Box Office,Inc.によって所有される商標である。コンテンツソース716は、コンテンツの発信元であり得(例えば、テレビ放送会社、ウェブキャストプロバイダ等)、またはコンテンツの発信元でないこともある(例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等)。コンテンツソース716は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、または他のコンテンツのプロバイダを含み得る。コンテンツソース716は、ユーザ機器デバイスのうちのいずれかから遠隔の場所にある異なるタイプのコンテンツ(ユーザによって選択されるビデオコンテンツを含む)を記憶するために使用される遠隔メディアサーバも含み得る。コンテンツの遠隔記憶のため、および遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、参照することによってその全体として本明細書に組み込まれる、2010年7月20日出願のEllisらの米国特許出願第7,761,892号に関連して、さらに詳細に議論されている。
メディアガイドデータソース718は、上で説明されるメディアガイドデータ等のメディアガイドデータを提供し得る。メディアガイドデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供され得る。いくつかの実施形態では、ガイドアプリケーションは、データフィード(例えば、継続フィードまたはトリクルフィード)を介して、番組ガイドデータを受信する独立型双方向テレビ番組ガイドであり得る。番組スケジュールデータおよび他のガイドデータは、テレビチャネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供され得る。番組スケジュールデータおよび他のメディアガイドデータは、複数のアナログまたはデジタルテレビチャネル上でユーザ機器に提供され得る。
いくつかの実施形態では、メディアガイドデータソース718からのガイドデータは、クライアントサーバアプローチを使用して、ユーザの機器に提供され得る。例えば、ユーザ機器デバイスは、メディアガイドデータをサーバからプルし得るか、または、サーバは、メディアガイドデータをユーザ機器デバイスにプッシュし得る。いくつかの実施形態では、ユーザの機器上に常駐するガイドアプリケーションクライアントは、必要に応じて、例えば、ガイドデータが古くなっているとき、または、ユーザ機器デバイスがデータを受信する要求をユーザから受信するとき、ソース718とセッションを開始し、ガイドデータを取得し得る。メディアガイドは、任意の好適な頻度で(例えば、継続的に、毎日、ユーザ規定期間で、システム規定期間で、ユーザ機器からの要求に応答して等)ユーザ機器に提供され得る。メディアガイドデータソース718は、ユーザ機器デバイス702、704、および706に、メディアガイドアプリケーション自体、またはメディアガイドアプリケーションのソフトウェア更新を提供し得る。
いくつかの実施形態では、メディアガイドデータは、視聴者データを含み得る。例えば、視聴者データは、現在および/または履歴ユーザアクティビティ情報(例えば、ユーザが典型的に鑑賞するコンテンツ、ユーザがコンテンツを鑑賞する時刻、ユーザがソーシャルネットワークと相互作用するかどうか、ユーザがソーシャルネットワークと相互作用し、情報をポストする時間、ユーザが典型的に鑑賞するコンテンツのタイプ(例えば、有料TVまたは無料TV)、気分、脳の活動情報等)を含み得る。メディアガイドデータは、サブスクリプションデータも含み得る。例えば、サブスクリプションデータは、所与のユーザがサブスクライブするソースもしくはサービスおよび/または所与のユーザが以前にサブスクライブしていたが、後にアクセスを打ち切ったソースもしくはサービス(例えば、ユーザがプレミアムチャネルをサブスクライブしているかどうか、ユーザがプレミアムレベルのサービスを追加したかどうか、ユーザがインターネット速度を加速させたかどうか)を識別し得る。いくつかの実施形態では、視聴者データおよび/またはサブスクリプションデータは、1年を上回る期間の間の所与のユーザのパターンを識別し得る。メディアガイドデータは、所与のユーザがサービス/ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用される、モデル(例えば、残存者モデル)を含み得る。例えば、メディアガイドアプリケーションは、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るであろうかどうかの可能性を示す、値またはスコアを生成するためのモデルを使用して、サブスクリプションデータとともに視聴者データを処理し得る。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るであろうより高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイドアプリケーションは、ユーザがアクセスを打ち切る可能性が高いであろうものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝を生成し得る。
メディアガイドアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであり得る。例えば、メディアガイドアプリケーションは、記憶装置608内に記憶され、ユーザ機器デバイス600の制御回路604によって実行され得るソフトウェアまたは実行可能命令の組として実装され得る。いくつかの実施形態では、メディアガイドアプリケーションは、クライアント-サーバアプリケーションであり得、その場合、クライアントアプリケーションのみが、ユーザ機器デバイス上に常駐し、サーバアプリケーションは、遠隔サーバ上に常駐する。例えば、メディアガイドアプリケーションは、部分的に、ユーザ機器デバイス600の制御回路604上のクライアントアプリケーションとして、および遠隔サーバの制御回路上で起動するサーバアプリケーション(例えば、メディアガイドデータソース718)として部分的に遠隔サーバ上で、実装され得る。遠隔サーバの制御回路(メディアガイドデータソース718等)によって実行されると、メディアガイドアプリケーションは、制御回路に、ガイドアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように命令し得る。サーバアプリケーションは、メディアガイドデータソース718の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令し得る。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイドアプリケーション表示を生成するように命令し得る。
ユーザ機器デバイス702、704、および706に配信されるコンテンツおよび/またはメディアガイドデータは、オーバーザトップ(OTT)コンテンツであり得る。OTTコンテンツ配信は、上で説明される任意のユーザ機器デバイスを含むインターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を経由して受信されるコンテンツに加えて、上で説明される任意のコンテンツを含むインターネットを経由して転送されるコンテンツを受信することを可能にする。OTTコンテンツは、インターネットサービスプロバイダ(ISP)によって提供されるインターネット接続を介して配信されるが、第三者も、コンテンツを配信する。ISPは、視聴能力、著作権、またはコンテンツの再配信に責任がないこともあり、OTTコンテンツプロバイダによって提供されるIPパケットのみを転送し得る。OTTコンテンツプロバイダの例は、IPパケットを介して、オーディオおよびビデオを提供するYOUTUBE(登録商標)、NETFLIX、ならびにHULUを含む。Youtubeは、Google Inc.によって所有される商標であり、Ntflixは、Ntflix,Inc.によって所有される商標であり、Huluは、Hulu,LLC.によって所有される商標である。OTTコンテンツプロバイダは、加えて、または代替として、上で説明されるメディアガイドデータを提供し得る。コンテンツおよび/またはメディアガイドデータに加えて、OTTコンテンツのプロバイダは、メディアガイドアプリケーション(例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション)を配信することができるか、またはコンテンツは、ユーザ機器デバイス上に記憶されたメディアガイドアプリケーションによって表示されることができる。
メディアガイドシステム700は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、それによって、ユーザ機器デバイスならびにコンテンツおよびガイドデータのソースは、コンテンツにアクセスし、メディアガイドを提供する目的のために、互いに通信し得る。本明細書に説明される実施形態は、これらのアプローチのうちのいずれか1つまたは一部において、もしくはコンテンツを配信し、メディアガイドを提供するための他のアプローチを採用するシステムにおいて、適用され得る。以下の4つのアプローチは、図7の汎用例の具体的例証を提供する。
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で互いに通信し得る。ユーザ機器デバイスは、上で説明される短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、もしくは通信ネットワーク714を介して、互いに直接通信することができる。1つの家庭内の複数の個人の各々が、ホームネットワーク上の異なるユーザ機器デバイスを動作させ得る。結果として、種々のメディアガイド情報または設定が、異なるユーザ機器デバイスの間で通信されることが望ましくあり得る。例えば、2005年7月11日出願のEllisらの米国特許公開第2005/0251827号でさらに詳細に説明されるように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイドアプリケーション設定を維持することが望ましくあり得る。ホームネットワーク内の異なるタイプのユーザ機器デバイスも、互いに通信し、コンテンツを伝送し得る。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送し得る。
第2のアプローチでは、ユーザは、複数のタイプのユーザ機器を有し得、それによって、コンテンツにアクセスし、メディアガイドを取得する。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有し得る。ユーザは、遠隔デバイス上に実装されるメディアガイドアプリケーションを介して、家庭内デバイスを制御し得る。例えば、ユーザは、そのオフィスのパーソナルコンピュータ、もしくはPDAまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイドアプリケーションにアクセスし得る。ユーザは、オンラインガイドアプリケーション上で種々の設定(例えば、録画、リマインダ、または他の設定)を設定して、ユーザの家庭内機器を制御し得る。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイドアプリケーションと通信することによって、ユーザの機器を制御し得る。ユーザ機器デバイスが互いから遠隔の場所にあるユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、参照することによってその全体として本明細書に組み込まれる、Ellisらの2011年10月25日発行の米国特許第8,046,801号で議論されている。
第3のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、コンテンツソース716と直接通信し、コンテンツにアクセスするために、そのメディアガイドアプリケーションを使用することができる。具体的には、家庭内では、ユーザテレビ機器702およびユーザコンピュータ機器704のユーザは、メディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを見つけ得る。ユーザは、無線ユーザ通信デバイス706を使用して、家庭外のメディアガイドアプリケーションにもアクセスし、所望のコンテンツ間をナビゲートし、それを見つけ得る。
第4のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で動作し、クラウドサービスにアクセスし得る。クラウドコンピューティング環境では、コンテンツ共有、記憶、または配信のための種々のタイプのコンピューティングサービス(例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト)が、「クラウド」と称されるネットワーク-アクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、例えば、通信ネットワーク714を介したインターネット等のネットワークを介して接続される種々のタイプのユーザおよびデバイスにクラウドベースのサービスを提供する中央または分散場所に位置し得るサーバコンピューティングデバイスの集合を含むことができる。これらのクラウドリソースは、1つ以上のコンテンツソース716および1つ以上のメディアガイドデータソース718を含み得る。加えて、または代替として、遠隔コンピューティングサイトは、ユーザテレビ機器702、ユーザコンピュータ機器704、および無線ユーザ通信デバイス706等の他のユーザ機器デバイスを含み得る。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミングされたビデオへのアクセスを提供し得る。そのような実施形態では、ユーザ機器デバイスは、中央サーバと通信することなく、ピアツーピア様式で動作し得る。
クラウドは、ユーザ機器デバイスのために、他の例の中でもとりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、ならびに上で説明される任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、それを介して、ユーザ供給コンテンツは、接続されたデバイス上で他者によって視聴するために配信される。これらのクラウドベースのサービスは、ユーザ機器デバイスが、コンテンツをローカルで記憶し、ローカルで記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にし得る。
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用して、コンテンツを録画し得る。ユーザは、直接、例えば、ユーザコンピュータ機器704から、またはコンテンツ捕捉特徴を有する無線ユーザ通信デバイス706からのいずれかにおいて、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。代替として、ユーザは、最初に、コンテンツをユーザコンピュータ機器704等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク714上のデータ伝送サービスを使用して、コンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体が、クラウドリソースであり、他のユーザ機器デバイスは、直接、ユーザがコンテンツを記憶したユーザ機器デバイスから、コンテンツにアクセスすることができる。
クラウドリソースは、例えば、ウェブブラウザ、メディアガイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および/またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされ得る。ユーザ機器デバイスは、アプリケーション配信のために、クラウドコンピューティングに依拠するクラウドクライアントであり得るか、またはユーザ機器デバイスは、クラウドリソースにアクセスすることなく、ある機能性を有し得る。例えば、ユーザ機器デバイス上で起動するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを経由して、サービスとして配信されるアプリケーションであり得る一方で、他のアプリケーションは、ユーザ機器デバイス上に記憶され、起動され得る。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信し得る。例えば、ユーザデバイスは、オーディオを1つのクラウドリソースからストリーミングする一方で、コンテンツを第2のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的なダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、図6に関連して説明される処理回路によって実施される処理動作等の処理動作のために、クラウドリソースを使用することができる。
本明細書で参照されるように、用語「~に応答して」は、「~の結果として開始される」ことを指す。例えば、第2のアクションに応答して実施されている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含み得る。本明細書で参照されるように、用語「~に直接応答して」は、「~によって引き起こされる」ことを指す。例えば、第2のアクションに直接応答して実施されている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含まないこともある。
図8は、本開示のいくつかの実施形態による利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス800は、制御回路604(図6)によって実行され得る。プロセス800またはその任意のステップは、図6-7に示されるデバイスのうちのいずれかの上で実施され得るか、もしくはそれによって提供され得ることに留意されたい。
プロセス800は、802から開始し、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組を記憶するためのユーザ要求を受信する。例えば、以下の図9でさらに説明されるように、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザ入力インターフェースを介して(例えば、ユーザ入力インターフェース610(図6)を介して)番組連続番組「Game of Thrones」の全ての新しいエピソードを記憶するためのオプションのユーザ選択を受信し得る。ユーザは、モバイルデバイス、または記憶されるべき番組を選択するための任意の他の方法を使用して、セットトップボックスから遠隔で、Game of Thronesのための連続番組録画オプションを通して、番組リスト項目画面内(例えば、グリッドガイド(図4-5)内)の連続番組を記憶するためのオプションを選択し得る。
プロセス800は、804に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造の中に連続番組のエピソードを記憶するための命令を記憶する。例えば、図1に対して上で議論されるように、メディアガイドアプリケーションは、記憶装置(例えば、記憶装置608)の中に、または通信ネットワーク(例えば、通信ネットワーク714)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース718)において遠隔で記憶されたスケジュールデータ構造を維持し得る。スケジュールデータ構造は、各命令が、異なる行に記憶され、命令に関連付けられたパラメータ(例えば、録画する開始時間、終了時間、および/またはソース)が、その行のフィールドの中に記憶されるテーブルとして編成され得る。具体的例として、メディアガイドアプリケーションは、ユーザが連続番組「Game of Thrones」を記憶することを選択することに応答して、スケジュールデータ構造に新しいエントリを書き込むためのプログラムスクリプトを実行し得る(例えば、制御回路604(図6)を介して)。新しいエントリは、「タイプ=連続番組」、「ソース=HBO」、「開始時間=午後9時」、および/または「終了時間=午後10時」等の「Game of Thrones」のエピソードを記憶するための命令に関連付けられたパラメータを伴う別個のフィールドを含み得る。
プロセス800は、806に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)記憶デバイス上に連続番組の複数のエピソードを記憶する。例えば、図1に対して上で議論されるように、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)クロック時間を種々のスケジュールイベントのためのスケジュールデータベースの中に記憶された開始時間と比較するプログラムスクリプトを実行し得る。クロック時間がスケジュールイベントの開始時間に対応するとき、メディアガイドアプリケーションは、適切なアクションをとり得る(例えば、スケジュールデータ構造において定義されるような特定のソースからデータを受信し、データを記憶する)。
プロセス800は、808に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザに対応するユーザプロファイルの中にユーザによる複数のエピソードの視聴進捗を記憶する。例えば、図10において以下でさらに説明されるように、メディアガイドアプリケーションは、データ構造の中にユーザプロファイルを維持し得、データ構造は、記憶装置(例えば、記憶装置608)の中に記憶され得るか、または、通信ネットワーク(例えば、通信ネットワーク714)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース718)において遠隔で記憶され得る。ユーザプロファイルは、ユーザ毎(例えば、ユーザがログイン証明情報に基づいてメディアガイドアプリケーションによって識別され、ユーザ毎の別個の視聴進捗が維持される)、またはデバイス毎(例えば、たとえデバイスがメディアアセットを視聴する複数のユーザを有しても、単一の視聴進捗のみがメディアガイドアプリケーションによって記憶される)であり得る。ユーザプロファイルを記憶するデータ構造は、上で説明されるスケジュールデータ構造と同様に編成され得る。例えば、メディアガイドアプリケーションは、ユーザが消費した各メディアアセットが、異なる行に記憶され、メディアアセットに関連付けられたパラメータ(例えば、ユーザの視聴進捗および/またはメディアアセットが最後にアクセスされた時間ならびに日付)が、その行のフィールドの中に記憶されるテーブルとして、(例えば、制御回路604(図6)を介して)ユーザプロファイルを編成し得る。ユーザが特定のメディアアセットにアクセスする度に、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザプロファイルにクエリを行い、メディアアセットがユーザによって以前にアクセスされているかどうかを決定し、メディアアセットに対応するエントリに対して視聴進捗を更新し得る。ユーザが以前にメディアアセットを視聴していない場合、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザプロファイルの中に新しいエントリを生成し得る。
プロセス800は、810に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)記憶デバイス上に残っている利用可能な記憶スペースの量を決定する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)空いており(例えば、データを記憶するために現在使用されていない)、したがって、メディアアセットを記憶するために利用可能であるメモリのブロックの数を決定し得る。メディアガイドアプリケーションは、以下に説明されるように、(例えば、制御回路604(図6)を介して)それが連続番組視聴関数に入力されることができるように、利用可能な記憶スペースの量を処理し得る。例えば、メディアガイドアプリケーションは、メモリの全フリーブロックをメモリの全ブロックで除算し、新しいメディアアセットを記憶するために利用可能なスペースの割合(例えば、5%利用可能)を決定し得る。
プロセス800は、812に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組視聴関数を用いて利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算する。例えば、図11において以下で説明されるように、メディアガイドアプリケーションは、記憶装置(例えば、記憶装置608)の中に、または通信ネットワーク(例えば、通信ネットワーク714)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース718)に遠隔で、利用可能な記憶スペースの量を閾値視聴進捗に関連付ける数学関数(例えば、図2に関して以下に説明されるような)を記憶し得る。数学関数は、連続的、不連続的、および/または一価であり得る。具体的例として、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)記憶デバイスの記憶スペースの10%のみが利用可能であることを決定し、これを数学関数に入力し、数学関数は、87.5%の出力を返し得る。この例では、メディアガイドアプリケーションは、非常に少ない記憶空間が利用可能であるので、高閾値視聴進捗を計算する。
プロセス800は、814に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)複数の記憶されたエピソードの間での集合的視聴進捗を表す集計された視聴進捗を算出する。例えば、図12において以下で説明されるように、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)SQLスクリプト等のデータベースクエリ言語スクリプトを実行し、ユーザが視聴した特定のメディアアセットに対する視聴進捗(例えば、ユーザプロファイルの中のテーブル内のエントリ)を読み出し得る。そして、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)各エピソードに対する視聴進捗を合計し、連続番組に対するユーザによる集計された視聴進捗を決定し得る。
プロセス800は、816に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)集計された視聴進捗が閾値視聴進捗を超えるかどうかを決定する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)集計された視聴進捗と閾値視聴進捗との値を比較し、(例えば、他方から一方の値を減算し、返される結果が正、負、またはゼロであるかどうかを決定することによって)集計された視聴進捗が閾値を超えるかどうかを決定し得る。具体的例として、メディアガイドアプリケーションは、上で説明されるように、(例えば、制御回路604(図6)を介して)集計された視聴進捗が、記憶デバイス上で利用可能な記憶スペースの量から計算された50%の閾値を満たさない、33%であることを決定し得る。
メディアガイドアプリケーションが(例えば、制御回路604(図6)を介して)集計された視聴進捗が閾値視聴進捗を超えることを決定する場合、プロセス800は、818に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組のエピソードを記憶するための命令を修正しないことを決定する。例えば、連続番組視聴関数を使用して計算される閾値視聴進捗が80%であり(すなわち、連続番組の80%が、連続番組のエピソードを記憶するための命令を調節しないために視聴される必要がある)、ユーザが10個の記憶されたエピソードのうちの9つを最後まで視聴した(例えば、集計された視聴進捗が90%である)場合、メディアガイドアプリケーションは、連続番組のエピソードを記憶するための命令を修正しないこともある。
メディアガイドアプリケーションが、(例えば、制御回路604(図6)を介して)集計された視聴進捗が閾値視聴進捗を超えないことを決定する場合、プロセス800は、820に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組のエピソードを記憶するための命令を修正する。例えば、連続番組視聴関数を使用して計算される閾値視聴進捗が80%であり(すなわち、連続番組の80%が、連続番組のエピソードを記憶するための命令を調節しないために視聴される必要がある)、ユーザが10個の記憶されたエピソードのうちの4つを最後まで視聴した(例えば、集計された視聴進捗が40%である)場合、メディアガイドアプリケーションは、図13でさらに説明されるように、連続番組のエピソードを記憶するための命令を修正し得る。
図9は、本開示のいくつかの実施形態による連続番組のエピソードを記憶するための命令を記憶するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス900は、制御回路604(図6)によって実行され得る。プロセス900またはその任意のステップは、図6-7に示されるデバイスのうちのいずれかの上で実施され得るか、もしくはそれによって提供され得ることに留意されたい。プロセス900は、902から開始し、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造の中に連続番組のエピソードを記憶するための命令を記憶するためのプロセスを開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、(例えば、制御回路604(図6)を介して)プロセス900を実行するための特定の方法を呼び出すプログラムスクリプトを実行し得る。
プロセス900は、904に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造にアクセスする。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)(例えば、メモリ(例えば、記憶装置508)の中にローカルで、または通信ネットワーク(例えば、通信ネットワーク714)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース718)において遠隔で記憶された)メモリの中のスケジュールデータ構造にアクセスし得る。
プロセス900は、906に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造のコンテンツを読み取るためのプログラムスクリプトを実行する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造の連続エントリ(例えば、各々がスケジュール命令を含む行)を通して反復し、各エントリから命令のコンテンツ(例えば、メディアアセット連続番組の一意の識別子またはタイトル)を読み出すプログラムスクリプトを実行し得る。
プロセス900は、908に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組のエピソードを記憶するための命令がスケジュールデータ構造の中にすでに含まれているかどうかを決定する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造から読み出されるエントリのコンテンツ(例えば、特定のエントリにおける記憶されるようにスケジュールされたメディアアセットの識別子)をユーザ要求からの連続番組の識別子と比較し得る。
連続番組のエピソードを記憶するための命令がデータ構造の中に含まれていない場合、プロセス900は、910に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組のエピソードを記憶するための命令をスケジュールデータ構造のエントリに書き込む。例えば、図1および8において上で説明されるように、メディアガイドアプリケーションは、ユーザが連続番組「Game of Thrones」を記憶することを選択することに応答して、(例えば、制御回路604(図6)を介して)スケジュールデータ構造に新しいエントリを書き込むためのプログラムスクリプトを実行し得る。新しいエントリは、「タイプ=連続番組」、「ソース=HBO」、「開始時間=午後9時」、および/または「終了時間=午後10時」等の「Game of Thrones」のエピソードを記憶するための命令に関連付けられたパラメータを伴う別個のフィールドを含み得る。
連続番組のエピソードを記憶するための命令がデータ構造の中にすでに含まれている場合、プロセス900は、912に続き、メディアガイドアプリケーションが、(例えば、制御回路604(図6)を介して)連続番組のエピソードを記憶するための命令がスケジュールデータ構造の中にすでに記憶されていることを返す。例えば、メディアガイドアプリケーションが、(例えば、制御回路604(図6)を介して)連続番組「Game of Thrones」を記憶するための命令がスケジュールデータ構造の中にすでに記憶されていることを決定する場合、新しい命令は、必要とされないこともある。いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)「Game of Thrones」の単一のエピソードがスケジュールされていることを決定し得、(例えば、「タイプ=エピソード」のためのフラグを「タイプ=連続番組」に変更することによって)(例えば、制御回路604(図6)を介して)命令を連続番組命令に変換し得る。
図10は、本開示のいくつかの実施形態によるユーザによる複数の記憶されたエピソードの視聴進捗を記憶するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス1000は、制御回路604(図6)によって実行され得る。プロセス1000またはその任意のステップは、図6-7に示されるデバイスのうちのいずれかの上で実施され得るか、もしくはそれによって提供され得ることに留意されたい。プロセス1000は、1002から開始し、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザに対応するユーザプロファイルの中にユーザによる連続番組の複数の記憶されたエピソードの視聴進捗を記憶するためのプロセスを開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、(例えば、制御回路604(図6)を介して)プロセス1000を実行するための特定の方法を呼び出すプログラムスクリプトを実行し得る。
プロセス1000は、1004に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザが複数のエピソードのうちの第1のエピソードを選択したことを決定する。例えば、メディアガイドアプリケーションは、(例えば、メディアガイドデータソースから受信される)「The Winds of Winter」に関連付けられたメタデータに基づいて、(例えば、制御回路604(図6)を介して)ユーザが連続番組「Game of Thrones」の第1のエピソード「The Winds of Winter」を選択したことを決定し得る。
プロセス1000は、1006に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)第1のエピソードに対して、ユーザの現在の再生位置を監視する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)「The Winds of Winter」を視聴するユーザの視聴進捗を監視し、ユーザがエピソードの15分を視聴したことを決定し得る。いくつかの実施形態では、メディアガイドアプリケーションは、メディアアセット「The Winds of Winter」とともに受信されるデータパケットから時間コードを読み出し、メディアアセットにおける再生の現在の時間およびフレームを識別することによって、視聴進捗を監視し得る。
プロセス1000は、1008に続き。メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザに対応するユーザプロファイルの中の視聴進捗データ構造にアクセスする。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)(例えば、メモリ(例えば、記憶装置508)の中にローカルで、または通信ネットワーク(例えば、通信ネットワーク714)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース718)において遠隔で記憶された)視聴進捗データ構造にアクセスし得る。いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、ユーザ入力インターフェース610を介した)ユーザからの入力に応答して生成または受信され得る認証キーを伝送し、ユーザプロファイルにアクセスする。
プロセス1000は、1010に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)第1のエピソードに対するユーザの前の再生位置が視聴進捗データ構造の中に記憶されているかどうかを決定する。例えば、メディアガイドアプリケーションは、連続番組を記憶するための命令がスケジュールデータ構造の中にすでに含まれているかどうかを決定するための図9において上で説明されるものと同様に、(例えば、制御回路604(図6)を介して)第1のエピソードの識別子に基づいて、前の再生位置を含む第1のエピソードに対して、エントリが視聴進捗データ構造の中に存在するかどうかを決定し得る。
メディアガイドアプリケーションが第1のエピソードに対するユーザの前の再生位置が記憶されていないことを決定する場合、プロセス1000は、1012に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザプロファイルの視聴進捗データ構造内のエントリとして、第1のエピソードに対するユーザの現在の再生位置を記憶する。例えば、メディアガイドアプリケーションは、第1のエピソードのためのエントリがないことを決定することに応答して、(例えば、制御回路604(図6)を介して)視聴進捗データ構造に新しいエントリを書き込むためのプログラムスクリプトを実行し得る。新しいエントリ(例えば、テーブル内の行)は、エピソードのタイトルと、時間、分、秒、フレームのための別個の変数における整数として記憶される再生進捗等のパラメータを伴う別個のフィールドを含み得る。
メディアガイドアプリケーションが第1のエピソードに対するユーザの前の再生位置がすでに記憶されていることを決定する場合、プロセス1000は、1012に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)第1のエピソードに対するユーザの前の再生位置を現在の再生位置に更新する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)現在の再生位置を前の再生位置を含む視聴進捗データ構造内の第1のエピソードのためのエントリのフィールドに書き込むためのプログラムスクリプトを実行し得る。
ユーザプロファイルの視聴進捗データ構造内のエントリとして第1のエピソードに対するユーザの現在の再生位置を記憶するために、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)第1のエピソードの持続時間とユーザの現在の再生位置とに基づいて、ユーザによって視聴された第1のエピソードの割合を計算し得る。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザプロファイルから、上で議論されるように、ユーザによる連続番組「Game of Thrones」のエピソード「The Winds of Winter」に対する現在の再生進捗(例えば、15分)を読み出し得る。そして、メディアガイドアプリケーションは、(例えば、メディアガイドデータソース718から)60分としてエピソードの全持続時間を読み出すことに基づいて、(例えば、制御回路604(図6)を介して)ユーザによって視聴された「The Winds of Winter」の割合を1/4として計算し得る。そして、メディアガイドアプリケーションは、メモリの中に記憶された閾値割合視聴進捗を読み出す。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザプロファイルの中のフィールドから、1/2として閾値割合視聴進捗の値を読み出し得る。閾値割合視聴進捗の値は、ユーザまたはデバイス特定であり得る。
メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザによって視聴された第1のエピソードの割合を閾値割合視聴進捗と比較する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)閾値割合視聴進捗の値(例えば、1/2)を、ユーザによって視聴された第1のエピソードの割合(例えば、1/4)と比較し、大きい方を決定し得る。メディアガイドアプリケーションは、ユーザによって視聴された第1のエピソードの割合が割合視聴進捗を満たすことを決定することに応答して、(例えば、制御回路604(図6)を介して)第1のエピソードがユーザによって完全に視聴されたという指示をエントリとともに記憶する。例えば、ユーザが閾値を上回って視聴したことを決定すると、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザがエピソードを視聴したかどうかに対応するブール値を「真」に設定し得る。代替として、または加えて、メディアガイドアプリケーションは、一部のユーザが1つ以上のエピソードの部分のみを視聴することを所望し得るが、依然として連続番組に関心があるので、ユーザが、(例えば、ユーザ入力インターフェース610を介して)視聴したエピソードであると考えるものに対して閾値割合視聴進捗をカスタマイズすることを可能にし得る。
図11は、本開示のいくつかの実施形態による連続番組視聴関数を用いて利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス1100は、制御回路604(図6)によって実行され得る。プロセス1100またはその任意のステップは、図6-7に示されるデバイスのうちのいずれかの上で実施され得るか、もしくはそれによって提供され得ることに留意されたい。プロセス1100は、1102から開始し、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組視聴関数を用いて利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算するためのプロセスを開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、(例えば、制御回路604(図6)を介して)プロセス1100を実行するための特定の方法を呼び出すプログラムスクリプトを実行し得る。
プロセス1100は、1104に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)利用可能な記憶スペースの量の第1の値を読み出す。例えば、メディアガイドアプリケーションは、図1および8においてさらに説明されるように、(例えば、制御回路604(図6)を介して)記憶デバイス上に残っている利用可能な記憶スペースの決定された量に対して、メモリ(例えば、記憶装置608)の中に記憶された値を読み出す。
プロセス1100は、1106に続き。メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)第1の値が連続番組視聴関数のための正しい単位であるかどうかを決定する。例えば、メディアガイドアプリケーションは、第1の値を連続番組視聴関数のための境界条件と比較することによって、(例えば、制御回路604(図6)を介して)読み出された第1の値が正しい単位であるかどうかを決定し得る。具体的例として、連続番組視聴関数が、割合であるように関数を要求する(例えば、境界条件が0~1である)場合、メモリのフリーブロックの総数(例えば、100,000)は、境界条件外であろうため、メディアガイドアプリケーションは、この例では、(例えば、制御回路604(図6)を介して)値が変換される必要があることを決定するであろう。いくつかの実施形態では、単位の識別子は、「単位」変数の中に第1の値とともに記憶され、メディアガイドアプリケーションが、(例えば、制御回路604(図6)を介して)変換が必要とされるかどうかを迅速に決定することを可能にする。
第1の値が正しい単位ではない場合、プロセス1100は、1108に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組視聴関数のための正しい単位であるように第1の値を変換する。例えば、図1および8において上で議論されるように、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)第1の値の単位を決定し、適切なアクションをとり、単位を連続番組視聴関数に必要とされる標的単位に変換し得る。具体的例として、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)メモリのフリーブロックの数をメモリの全ブロックの数で除算し、メディアアセットを記憶するために利用可能である割合を取得し得る。第1の値を正しい単位に変換した後、プロセス1100は、1110に続く。
第1の値が正しい単位である場合、プロセス1100は、1110に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)プログラムスクリプトを実行し、第1の値は、利用可能な記憶スペースの量に対する値を閾値視聴進捗にマッピングする数学関数に入力される。例えば、メディアガイドアプリケーションは、記憶装置(例えば、記憶装置608)の中に、または通信ネットワーク(例えば、通信ネットワーク714)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース718)において遠隔で、利用可能な記憶スペースの量を閾値視聴進捗に関連付ける数学関数(例えば、図2に関して以下に説明されるような)を記憶し得る。数学関数は、連続的、不連続的、および/または一価であり得る。具体的例として、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)記憶デバイスの記憶スペースの10%のみが利用可能であることを決定し、これを、数学関数に入力し、数学関数は、7/8の出力を返し得る。この例では、メディアガイドアプリケーションは、非常に少ない記憶空間が利用可能であるので、高閾値視聴進捗を計算する。
プロセス1100は、1112に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)プログラムスクリプトの出力として、閾値視聴進捗を受信する。例えば、上で議論されるように、メディアガイドアプリケーションは、プログラムスクリプトの出力として、閾値視聴進捗の値(例えば、80%)を受信し得る。
図12は、本開示のいくつかの実施形態による複数の記憶されたエピソードの間の集計された視聴進捗を算出するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス1200は、制御回路604(図6)によって実行され得る。プロセス1200またはその任意のステップは、図6-7に示されるデバイスのうちのいずれかの上で実施され得るか、もしくはそれによって提供され得ることに留意されたい。プロセス1200は、1202から開始し、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)複数の記憶されたエピソードの間の集計された視聴進捗を算出するためのプロセスを開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、(例えば、制御回路604(図6)を介して)プロセス1200を実行するための特定の方法を呼び出すプログラムスクリプトを実行し得る。
プロセス1200は、1204に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザプロファイルの視聴進捗データ構造にアクセスする。例えば、図10に説明されるように、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)(例えば、メモリ(例えば、記憶装置508)の中にローカルで、または通信ネットワーク(例えば、通信ネットワーク714)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース718)において遠隔で記憶された)視聴進捗データ構造にアクセスし得る。いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、ユーザ入力インターフェース610を介した)ユーザからの入力に応答して生成または受信され得る認証キーを伝送し、ユーザプロファイルにアクセスする。
プロセス1200は、1206に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴された合計分の変数および記憶された全長の変数を初期化する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴された合計分および記憶された全長の変数の各々のための整数変数を生成し、初期値を0分に設定し得る。そして、メディアガイドアプリケーションは、以下に説明されるように、(例えば、制御回路604(図6)を介して)視聴進捗データ構造から読み出されるデータに基づいて変数を更新し得る。
プロセス1200は、1208に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴進捗データ構造からエントリを読み出す。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴進捗データ構造の連続するエントリ(例えば、各々がユーザによって消費される異なるメディアアセットに対する再生進捗を含む行)を通して反復し、各エントリのコンテンツ(例えば、メディアアセット連続番組の一意の識別子またはタイトル)を読み出すプログラムスクリプトを実行し得る。
プロセス1200は、1210に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)一連の識別子から、エントリが連続番組のエピソードに対する視聴進捗を含むかどうかを決定する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造から読み出されるエントリのコンテンツ(例えば、その特定のエントリの中に記憶されるようにスケジュールされたメディアアセットの識別子)を、クエリを行われている連続番組の識別と比較し、エントリがクエリを行われている連続番組に関連するかどうかを決定し得る。
エントリが連続番組のエピソードに対する視聴進捗を含まない場合、プロセス1200は、1220に続き、メディアガイドアプリケーションは、以下でさらに説明されるように、(例えば、制御回路604(図6)を介して)視聴進捗データ構造内に任意の追加のエントリがあるかどうかを決定する。エントリが連続番組のエピソードに対する視聴進捗を含む場合、プロセス1200は、1212に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴進捗データ構造の再生位置フィールドからユーザによって視聴されたエピソードの分数を読み出す。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザの再生進捗を含むフィールドから、ユーザによって視聴されたエピソードのための分の整数値を抽出し得る。いくつかの実施形態では、再生進捗は、時間コード(例えば、時間:分:秒:フレーム)として記憶され得、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)時間コードを単一の整数に変換し、最も近い分に丸め得る。
プロセス1200は、1214に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ユーザによって視聴されたエピソードの分数を視聴された合計分の変数に加算する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)再生進捗によって反映されるようなユーザによって視聴されたエピソードの分数を記憶された視聴された合計分に加算し、(例えば、記憶装置608の中に)新しい値を記憶する。
プロセス1200は、1216に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴進捗データ構造の全持続時間フィールドから、記憶されるエピソードの分数を読み出す。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴進捗データ構造内のエントリの中のフィールドから、メモリの中に記憶されたエピソードの全持続時間の(例えば、分単位の、または最も近い分に丸められた)値を読み出し得る。代替として、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)メディアガイドデータソース718からエピソードの全持続時間を読み出し得る。
プロセス1200は、1218に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)記憶されたエピソードの分数を記憶された全長の変数に加算する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)エピソードの分単位の全持続時間を記憶された全長に加算し、(例えば、記憶装置608の中に)新しい値を記憶する。
プロセス1200は、1220に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴進捗データ構造内に任意の追加のエントリがあるかどうかを決定する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴進捗データ構造内の全てのエントリを反復して処理し、全てのエントリがチェックされたときに終了する「for」ループを含むプログラムスクリプトを実行し得る。代替として、または加えて、メディアガイドアプリケーションは、読み出されたエントリのリストを(例えば、記憶装置608の中に)維持し、視聴進捗データ構造内の任意の他のエントリがまだ読み出されていないかどうかを決定し得る。
メディアガイドアプリケーションが視聴進捗データ構造内に追加のエントリがあることを決定する場合、プロセス1200は、1208に戻り、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴進捗データ構造からエントリを読み出す。例えば、上で議論されるように、メディアガイドアプリケーションは、連続番組のエピソードに対する視聴進捗を含むかどうかを確認するために、各エントリがチェックされるまで、(例えば、制御回路604(図6)を介して)エントリを読み出し続け得る。
メディアガイドアプリケーションが視聴進捗データ構造内に追加のエントリがないことを決定する場合、プロセス1200は、1222に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴された合計分の変数の中に記憶された値を、記憶された全長の変数の中に記憶された値で除算することによって、集計された視聴進捗を計算する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組のユーザによって視聴された合計分が550分であり、記憶された全長が1,000分であることを決定し得る。この例では、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)55%の集計された視聴進捗を計算する。
図13は、本開示のいくつかの実施形態による連続番組のエピソードを記憶するための命令を修正するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス1300は、制御回路604(図6)によって実行され得る。プロセス1300またはその任意のステップは、図6-7に示されるデバイスのうちのいずれかの上で実施され得るか、もしくはそれによって提供され得ることに留意されたい。プロセス1300は、1302から開始し、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組のエピソードを記憶するための命令を修正するためのプロセスを開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、(例えば、制御回路604(図6)を介して)プロセス1300を実行するための特定の方法を呼び出すプログラムスクリプトを実行し得る。
プロセス1300は、1304に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造にアクセスする。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)(例えば、メモリ(例えば、記憶装置508)の中にローカルで、または通信ネットワーク(例えば、通信ネットワーク714)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース718)において遠隔で記憶された)メモリの中のスケジュールデータ構造にアクセスし得る。
プロセス1300は、1306に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造から連続番組のためのエントリを読み出す。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組のためのスケジュールデータ構造内のエントリ(例えば、連続番組を記憶するための命令を含む行)を選択して読み出すプログラムスクリプトを実行し得る。
プロセス1300は、1308に続き、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組を記憶するための命令を含むエントリのフィールドを修正する。例えば、メディアガイドアプリケーションは、以下でさらに説明されるように、記憶されるエピソードを狭める(例えば、「新しいエピソードのみ」)追加の命令を書き込むことによって、または連続番組のエピソードを記憶するための命令を削除することによって、命令を修正し得る。
いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造にアクセスする。例えば、メディアガイドアプリケーションは、記憶装置(例えば、記憶装置608)の中にローカルで、または通信ネットワーク(例えば、通信ネットワーク714)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース718)において遠隔で記憶されたスケジュールデータ構造にアクセスし得る。メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造にアクセスするために、ユーザ入力から取得され得る承認コードを伝送することを要求され得る。そして、メディアガイドアプリケーションは、連続番組の複数のエピソードの一部を記憶する追加の命令を(例えば、記憶装置608の中に)記憶する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組のエピソードを記憶する具体的命令のためのスケジュールデータ構造内の行の中のフィールドにエピソードの一部を記憶する追加の命令を書き込むプログラムスクリプトを実行し得る。一部は、1つおきのエピソード、新しいエピソードのみ、高解像度エピソードのみ、またはメディアガイドアプリケーションによって受信される連続番組の全エピソードを含まない任意の他のグループであり得る。
他の実施形態では、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造にアクセスする。例えば、上で説明されるように、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)メモリの中にローカルで、またはメディアガイドデータソースにおいて遠隔で記憶されたスケジュールデータ構造にアクセスし得る。そして、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組のエピソードを記憶するための命令を削除する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組のエピソードを記憶する特定の命令のためのスケジュールデータ構造の中の行を削除するプログラムスクリプトを実行し得る。
連続番組のエピソードを記憶するための命令を削除した後、メディアガイドアプリケーションは、加えて、(例えば、制御回路604(図6)を介して)ユーザプロファイルの視聴進捗データ構造から、複数の記憶されたエピソードのうちの各記憶されたエピソードに対する現在の再生進捗を読み出し得る。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)(例えば、テーブルに配列される)複数のメディアアセットに対するユーザの視聴進捗を含むユーザプロファイルの中のデータ構造にアクセスし、(例えば、エピソードの連続番組識別子をリストアップする連続番組フィールドから)連続番組の一部として識別される各エピソードに対する再生進捗を読み出し得る。
そして、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)各記憶されたエピソードの読み出された現在の再生進捗に基づいて、複数の記憶されたエピソードをランク付けする。例えば、メディアガイドアプリケーションが(例えば、制御回路604(図6)を介して)(例えば、「forループ」を利用するプログラムスクリプトを実行し、テーブル内の各連続行のコンテンツをチェックして、それが連続番組のエピソードであるかどうかを確認することによって)各エピソードに対する再生進捗を読み出すと、メディアガイドアプリケーションは、連続番組のエピソードのみを伴うデータ構造(例えば、アレイ、リスト、テーブル等)の中に各エピソードに対して読み出された視聴進捗を(例えば、記憶装置608内に)記憶し得る。連続番組のエピソードに対する視聴進捗を読み出している間、または読み出した後、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)任意のソートアルゴリズム(例えば、「マージソート」)を使用して、連続番組のエピソードのみを伴うデータ構造のコンテンツをソートし得、それによって、コンテンツは、各エピソードにおける視聴者の進捗に基づいて順序付けられる(例えば、ユーザがその10分を鑑賞したエピソードが、ユーザが完了したエピソードよりも高くランク付けされるであろう)。そして、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)ランキングに基づいて、第1の記憶されたエピソードを削除する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴進捗がランク付けされた方法に応じて、連続番組のエピソードのみを含むランク付けされたデータ構造の最初または最後のエントリに対応するエピソードを削除し得る。このようにして、メディアガイドアプリケーションは、記憶デバイスから、ユーザによって最も多くまたは少なくのいずれかで視聴されたエピソードを選択的に削除することができる。
加えて、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)第1の記憶されたエピソードを削除することに基づいて、記憶デバイス上に残っている利用可能な記憶スペースの新しい量を計算し得る。例えば、上で説明されるように、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)空いており、メディアアセットを記憶するために利用可能であるメモリのブロックの数を決定し得る。そして、メディアガイドアプリケーションは、連続番組視聴関数を用いて利用可能な記憶スペースの新しい量を処理することによって、第2の閾値視聴進捗を計算し得る。例えば、上で説明されるように、メディアガイドアプリケーションは、利用可能な記憶スペースの量を閾値視聴進捗に関連付ける数学関数を(例えば、記憶装置608の中に)記憶し得る。メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)利用可能な記憶スペースの新しい量を数学関数に入力し得、数学関数は、入力に動作し、第2の閾値視聴進捗を返す。そして、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)集計された視聴進捗が第2の閾値視聴進捗を超えるかどうかを決定し得る。例えば、上で説明されるように、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)集計された視聴進捗と第2の閾値視聴進捗との値を比較し、(例えば、他方から一方の値を減算し、返される結果が正、負、またはゼロであるかどうかを決定することによって)集計された視聴進捗が第2の閾値を超えるかどうかを決定し得る。そして、メディアガイドアプリケーションは、集計された視聴進捗が第2の閾値視聴進捗を超えないことを決定することに応答して、(例えば、制御回路604(図6)を介して)ランキングに基づいて第2の記憶されたエピソードを削除し得る。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)視聴進捗がランク付けされた方法に応じて、連続番組のエピソードのみを含むランク付けされたデータ構造の最初または最後のエントリに対応する第2のエピソードを削除し得る。いくつかの実施形態では、メディアガイドアプリケーションは、メディアガイドアプリケーションが、(例えば、制御回路604(図6)を介して)集計された視聴進捗が計算された閾値を超えることを決定するまで、ランク付けされたリストに基づいて、記憶からエピソードを削除し続け得る。
いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)連続番組のエピソードを記憶するための命令を修正するためのオプションを含むユーザの集計された視聴進捗を示す通知を表示のために生成する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)テレビ上に表示するために、ユーザが特定の連続番組のエピソードの25%のみを視聴したことを生成し得、加えて、命令を修正するためのオプションを提示し得る。命令を修正するためのオプションは、上で説明されるように、連続番組のエピソードを記憶するための命令を削除するためのオプション、ユーザが鑑賞した(例えば、ある割合を鑑賞したか、もしくはアクセスしたかのいずれかである)エピソードを削除するためのオプション、および/または、連続番組の一部のみを記憶するためのオプションを含み得る。メディアガイドアプリケーションは、オプションのユーザによるユーザ選択を受信する。例えば、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)命令を削除するためのオプションのユーザ入力インターフェース610を介したユーザ選択を受信し得る。いくつかの実施形態では、ユーザは、記憶デバイス上の有限量の記憶スペースが使用される方法において、より優れた融通性を可能にするための複数のオプションを選択することができる。例えば、ユーザは、そのうちの50%を鑑賞したエピソードを削除することと、連続番組の新しいエピソードのみを記憶することとを選択し得る。そして、メディアガイドアプリケーションは、受信されたユーザ選択に基づいて、連続番組のエピソードを記憶するための命令を修正する。例えば、上で説明されるように、メディアガイドアプリケーションは、(例えば、制御回路604(図6)を介して)スケジュールデータ構造にアクセスし、受信されたユーザ選択に基づいて、(例えば、プログラムスクリプトを実行することによって)新しい命令を(例えば、既存の命令のための行のフィールドに)書き込み得る。
図1および8-13のそれぞれのステップまたは説明は、本開示の任意の他の実施形態と併用され得ることが考慮される。加えて、図1および8-13に関連して説明されるステップおよび説明は、本開示の目的を促すために、代替順序で、または並行して、行われ得る。例えば、これらのステップの各々は、システムまたは方法の遅延を低減もしくは速度を加速させるために、任意の順序で、または並行して、もしくは実質的に同時に実施され得る。さらに、図2-7に関連して議論されるデバイスまたは機器のうちのいずれかは、図1および8-13のステップのうちの1つ以上のものを実施するために使用され得ることに留意されたい。
上で議論されるプロセスは例証であって、限定を意図するものではない。当業者は、本明細書で議論されるプロセスのステップが、本発明の範囲から逸脱することなく、省略される、修正される、組み合わせられる、および/または再配列され得、任意の追加のステップが、実施され得ることを理解するであろう。より一般的には、上記の開示は、例示であって、限定を意図するものではない。続く請求項のみが、本発明が含むものに関する境界を設定することが意図される。さらに、いずれか1つの実施形態で説明される特徴および限定は、本明細書の任意の他の実施形態に適用され得、一実施形態に関するフローチャートまたは例は、好適な様式で任意の他の実施形態と組み合わせられ、異なる順序で行われ、または並行して行われ得ることに留意されたい。加えて、本明細書で説明されるシステムおよび方法は、リアルタイムで実施され得る。また、上で説明されるシステムおよび/または方法は、他のシステムおよび/または方法に適用されるか、またはそれらに従って使用され得ることにも留意されたい。

Claims (10)

  1. 利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正する方法であって、前記方法は、
    スケジュールデータ構造の中に前記連続番組のエピソードを記憶するための命令を記憶することと、
    ユーザに対応するユーザプロファイルの中に前記ユーザによる前記連続番組の複数の記憶されたエピソードの視聴進捗を記憶することと、
    連続番組視聴関数を用いて利用可能な記憶スペースの量を処理することによって、閾値視聴進捗を計算することと、
    前記連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの持続時間を合計することによって、前記連続番組の記憶されたエピソードの集計された持続時間を計算することと、
    前記連続番組の複数の記憶されたエピソードのうちの各記憶されたエピソードの前記ユーザの現在の再生進捗を合計することによって、集合的視聴進捗を計算することと、
    前記集合的視聴進捗を記憶されたエピソードの前記集計された持続時間で除算することによって、集計された視聴進捗を計算することと、
    前記集計された視聴進捗が前記閾値視聴進捗を超えないことを決定することに応答して、前記連続番組のエピソードを記憶するための前記命令を削除することによって、前記連続番組の複数のエピソードの一部を記憶するための追加の命令を記憶することによって、または、前記連続番組の複数のエピソードの一部を削除するための追加の命令を記憶することによって、前記連続番組のエピソードを記憶するための前記命令を修正することと
    を含む、方法。
  2. 前記ユーザプロファイルの中に前記ユーザによる前記複数のエピソードの前記視聴進捗を記憶することは、
    前記ユーザが前記複数のエピソードのうちの第1のエピソードを選択したことを決定することと、
    前記第1のエピソードに対して、前記ユーザの現在の再生位置を監視することと、
    前記ユーザプロファイルの視聴進捗データ構造内のエントリとして、前記第1のエピソードに対する前記ユーザの前記現在の再生位置を記憶することと
    を含む、請求項1に記載の方法。
  3. 前記ユーザプロファイルの前記視聴進捗データ構造内の前記エントリとして、前記第1のエピソードに対する前記ユーザの前記現在の再生位置を記憶することは、
    前記第1のエピソードの持続時間と前記ユーザの前記現在の再生位置とに基づいて、前記ユーザによって視聴された前記第1のエピソードの割合を計算することと、
    メモリの中に記憶された閾値割合視聴進捗を読み出すことと、
    前記ユーザによって視聴された前記第1のエピソードの割合を前記閾値割合視聴進捗と比較することと、
    前記ユーザによって視聴された前記第1のエピソードの割合が前記閾値割合視聴進捗を満たすことを決定することに応答して、前記第1のエピソードが前記ユーザによって完全に視聴されたという指示を前記エントリとともに記憶することと
    を含む、請求項2に記載の方法。
  4. 前記連続番組視聴関数を用いて前記利用可能な記憶スペースの量を処理することによって、前記閾値視聴進捗を計算することは、
    前記利用可能な記憶スペースの量の第1の値を読み出すことと、
    プログラムスクリプトを実行することであって、前記第1の値は、前記利用可能な記憶スペースの量のための値を閾値視聴進捗にマッピングする数学関数に入力される、ことと、
    前記プログラムスクリプトの出力として、前記閾値視聴進捗を受信することと
    を含む、請求項1に記載の方法。
  5. 前記連続番組のエピソードを記憶するための前記命令を修正することは、
    前記スケジュールデータ構造にアクセスすることと、
    前記連続番組のエピソードを記憶するための前記命令を削除することと
    を含む、請求項1に記載の方法。
  6. 前記ユーザプロファイルの視聴進捗データ構造から、前記複数の記憶されたエピソードのうちの各記憶されたエピソードに対する前記現在の再生進捗を読み出すことと、
    各記憶されたエピソードの前記読み出された現在の再生進捗に基づいて、前記複数の記憶されたエピソードをランク付けすることと、
    前記ランク付けすることに基づいて、第1の記憶されたエピソードを削除することと
    をさらに含む、請求項5に記載の方法。
  7. 前記第1の記憶されたエピソードを削除することに基づいて、利用可能な記憶スペースの新しい量を計算することと、
    前記連続番組視聴関数を用いて前記利用可能な記憶スペースの新しい量を処理することによって、第2の閾値視聴進捗を計算することと、
    前記集計された視聴進捗が前記第2の閾値視聴進捗を超えるかどうかを決定することと、
    前記集計された視聴進捗が前記第2の閾値視聴進捗を超えないことを決定することに応答して、前記ランク付けすることに基づいて、第2の記憶されたエピソードを削除することと
    をさらに含む、請求項6に記載の方法。
  8. 前記連続番組のエピソードを記憶するための前記命令を修正することは、
    前記スケジュールデータ構造にアクセスすることと、
    前記連続番組の複数のエピソードの一部を記憶するための追加の命令を記憶することと
    を含む、請求項1に記載の方法。
  9. 利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正するためのシステムであって、前記システムは、請求項1~8のいずれかに記載の方法を実行するように構成された制御回路を備える、システム。
  10. 利用可能な記憶スペースの関数として連続番組のスケジュールされる記憶スペースを修正するためのエンコードされた非一過性のコンピュータ読み取り可能な命令を有する非一過性のコンピュータ読み取り可能な媒体であって、前記非一過性のコンピュータ読み取り可能な命令は、制御回路によって実行されると、前記制御回路に請求項1~8のいずれかに記載の方法を実施させる、非一過性のコンピュータ読み取り可能な媒体。
JP2019511598A 2016-08-30 2017-08-30 利用可能な記憶スペースの関数として連続番組録画を管理するためのシステムおよび方法 Active JP7139314B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/251,827 US10433009B2 (en) 2016-08-30 2016-08-30 Systems and methods for managing series recordings as a function of storage
US15/251,827 2016-08-30
PCT/US2017/049459 WO2018045082A1 (en) 2016-08-30 2017-08-30 System and method for managing series recordings as a function of available storage

Publications (3)

Publication Number Publication Date
JP2019530305A JP2019530305A (ja) 2019-10-17
JP2019530305A5 JP2019530305A5 (ja) 2020-10-08
JP7139314B2 true JP7139314B2 (ja) 2022-09-20

Family

ID=59856632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019511598A Active JP7139314B2 (ja) 2016-08-30 2017-08-30 利用可能な記憶スペースの関数として連続番組録画を管理するためのシステムおよび方法

Country Status (10)

Country Link
US (1) US10433009B2 (ja)
EP (1) EP3507989B1 (ja)
JP (1) JP7139314B2 (ja)
KR (1) KR102406817B1 (ja)
CN (1) CN109804637B (ja)
AU (1) AU2017319511C1 (ja)
BR (1) BR112019003886A2 (ja)
CA (1) CA3034013A1 (ja)
MX (1) MX2019002306A (ja)
WO (1) WO2018045082A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9912980B2 (en) * 2016-01-28 2018-03-06 Nagravision S.A. Method and apparatus to create intuitive favorites for users
US10170116B1 (en) * 2016-09-21 2019-01-01 Amazon Technologies, Inc. Maintaining context for voice processes
US10585686B2 (en) * 2017-01-02 2020-03-10 Microsoft Technology Licensing, Llc Context aware guided scenarios
US10038929B1 (en) 2017-03-31 2018-07-31 Rovi Guides, Inc. Systems and methods for creating a virtual channel for binge watching
US11941412B1 (en) * 2017-12-20 2024-03-26 Intuit Inc. Computer software program modularization and personalization
US10897642B2 (en) 2019-03-27 2021-01-19 Rovi Guides, Inc. Systems and methods for media content navigation and filtering
KR20210141310A (ko) * 2019-03-27 2021-11-23 로비 가이드스, 인크. 미디어 컨텐츠 내비게이션 및 필터링을 위한 시스템들 및 방법들
US10924776B2 (en) 2019-03-27 2021-02-16 Rovi Guides, Inc. Systems and methods for media content navigation and filtering
US11172245B2 (en) 2019-10-04 2021-11-09 Dish Network L.L.C. Unified program listing of content transmitted using different distribution types
US11392983B2 (en) * 2020-04-22 2022-07-19 At&T Intellectual Property I, L.P. Apparatuses and methods for identifying content distribution opportunities in accordance with advertising performance
CN112040283B (zh) * 2020-11-04 2021-02-05 北京爱奇艺智能科技有限公司 一种拆分视频海量选集列表的方法和系统
US20220174345A1 (en) * 2020-12-01 2022-06-02 Rovi Guides, Inc. Systems and methods for storing content items based on consumption history

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000013708A (ja) 1998-06-26 2000-01-14 Hitachi Ltd 番組選択支援装置
JP2013106274A (ja) 2011-11-15 2013-05-30 Buffalo Inc 録画制御システム、録画装置、録画制御方法、及び録画制御プログラム
US20140233923A1 (en) 2013-02-21 2014-08-21 Comcast Cable Communications, Llc Managing Stored Content

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6239794B1 (en) 1994-08-31 2001-05-29 E Guide, Inc. Method and system for simultaneously displaying a television program and information about the program
US6564378B1 (en) 1997-12-08 2003-05-13 United Video Properties, Inc. Program guide system with browsing display
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
AR020608A1 (es) 1998-07-17 2002-05-22 United Video Properties Inc Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto
EP1986425B2 (en) 1998-07-17 2019-01-30 Rovi Guides, Inc. Interactive television program guide system having multiple devices within a household
US7165098B1 (en) 1998-11-10 2007-01-16 United Video Properties, Inc. On-line schedule system with personalization features
JP4863540B2 (ja) 2000-07-31 2012-01-25 ソニー株式会社 録画再生装置およびコンテンツ管理方法
AU2002250350B2 (en) * 2001-02-21 2007-12-20 Rovi Guides, Inc. Systems and methods for interactive program guides with personal video recording features
US7402185B2 (en) * 2002-04-24 2008-07-22 Afton Chemical Intangibles, Llc Additives for fuel compositions to reduce formation of combustion chamber deposits
US8086093B2 (en) * 2002-12-05 2011-12-27 At&T Ip I, Lp DSL video service with memory manager
US20050050578A1 (en) * 2003-08-29 2005-03-03 Sony Corporation And Sony Electronics Inc. Preference based program deletion in a PVR
JP2005312006A (ja) * 2004-03-26 2005-11-04 Denon Ltd 映像記録再生装置及び方法
US7490775B2 (en) * 2004-12-30 2009-02-17 Aol Llc, A Deleware Limited Liability Company Intelligent identification of multimedia content for synchronization
US7188675B2 (en) * 2005-01-14 2007-03-13 M-I L.L.C. Finger boot basket
US7524206B2 (en) * 2005-03-23 2009-04-28 Pulse Engineering, Inc. Power-enabled connector assembly with heat dissipation apparatus and method of manufacturing
WO2007001943A2 (en) * 2005-06-20 2007-01-04 The Regents Of The University Of California Prefoldin 4 in the treatment and diagnosis of cancer
JP2007104577A (ja) * 2005-10-07 2007-04-19 Sony Corp コンテンツ転送装置、コンテンツ転送方法及びコンテンツ転送プログラム
US9015736B2 (en) * 2005-12-29 2015-04-21 Rovi Guides, Inc. Systems and methods for episode tracking in an interactive media environment
US20100153885A1 (en) 2005-12-29 2010-06-17 Rovi Technologies Corporation Systems and methods for interacting with advanced displays provided by an interactive media guidance application
US20070154163A1 (en) * 2005-12-29 2007-07-05 United Video Properties, Inc. Systems and methods for creating aggregations of episodes of series programming in order
US7877765B2 (en) 2006-10-26 2011-01-25 International Business Machines Corporation Viewing pattern data collection
WO2010022274A1 (en) * 2008-08-20 2010-02-25 Esther Finale LLC Data packet generator for generating passcodes
US9131116B2 (en) * 2009-10-30 2015-09-08 Sony Corporation Information processing apparatus, tuner, and information processing method
US9172990B2 (en) * 2011-06-24 2015-10-27 Google Technology Holdings LLC Method and device for optimizing storage of recorded video programs
CN105049926B (zh) * 2015-06-26 2019-02-05 Oppo广东移动通信有限公司 一种收藏、播放多媒体片段的方法及终端、播放设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000013708A (ja) 1998-06-26 2000-01-14 Hitachi Ltd 番組選択支援装置
JP2013106274A (ja) 2011-11-15 2013-05-30 Buffalo Inc 録画制御システム、録画装置、録画制御方法、及び録画制御プログラム
US20140233923A1 (en) 2013-02-21 2014-08-21 Comcast Cable Communications, Llc Managing Stored Content

Also Published As

Publication number Publication date
CN109804637B (zh) 2021-12-17
JP2019530305A (ja) 2019-10-17
EP3507989B1 (en) 2023-12-20
KR20190043151A (ko) 2019-04-25
US20180063580A1 (en) 2018-03-01
WO2018045082A1 (en) 2018-03-08
AU2017319511A1 (en) 2019-03-07
KR102406817B1 (ko) 2022-06-13
MX2019002306A (es) 2019-07-08
BR112019003886A2 (pt) 2019-05-21
CN109804637A (zh) 2019-05-24
AU2017319511C1 (en) 2023-08-03
AU2017319511B2 (en) 2022-10-20
US10433009B2 (en) 2019-10-01
EP3507989A1 (en) 2019-07-10
CA3034013A1 (en) 2018-03-08

Similar Documents

Publication Publication Date Title
JP7139314B2 (ja) 利用可能な記憶スペースの関数として連続番組録画を管理するためのシステムおよび方法
EP3566457B1 (en) Systems and methods for predicting viewing behavior
US11889141B2 (en) Systems and methods for creating a virtual channel for binge watching
CN109416789B (zh) 基于第二用户的查看活动向第一用户推荐媒体资产以包括在第二用户的播放列表中的方法和系统
US11375276B2 (en) Methods and systems for recommending media assets based on the geographic location at which the media assets are frequently consumed
US11600304B2 (en) Systems and methods for determining playback points in media assets
US10104439B2 (en) Systems and methods for navigation of groups of media assets
US11223875B2 (en) Systems and methods for performing an action based on viewing positions of other users
US20230370688A1 (en) Systems and methods for sorting favorite content sources
US20240015356A1 (en) Systems and methods for retrieving segmented media guidance data
US11540006B2 (en) System and method for classifying recorded content for deletion
US11206463B2 (en) Systems and methods for identifying whether to use a tailored playlist

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200828

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211004

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220331

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220907

R150 Certificate of patent or registration of utility model

Ref document number: 7139314

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150