JP6587997B6 - タイムマシン機能のためのスライディングウィンドウ管理方法およびシステム - Google Patents

タイムマシン機能のためのスライディングウィンドウ管理方法およびシステム Download PDF

Info

Publication number
JP6587997B6
JP6587997B6 JP2016208518A JP2016208518A JP6587997B6 JP 6587997 B6 JP6587997 B6 JP 6587997B6 JP 2016208518 A JP2016208518 A JP 2016208518A JP 2016208518 A JP2016208518 A JP 2016208518A JP 6587997 B6 JP6587997 B6 JP 6587997B6
Authority
JP
Japan
Prior art keywords
sliding window
streaming
piece
electronic device
live
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
JP2016208518A
Other languages
English (en)
Other versions
JP6587997B2 (ja
JP2017108386A (ja
Inventor
ジェウォン オ
ジェウォン オ
スングァン ヤン
スングァン ヤン
ビョンジョ ユン
ビョンジョ ユン
ギヨン パク
ギヨン パク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Naver Corp
Original Assignee
Naver Corp
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 Naver Corp filed Critical Naver Corp
Publication of JP2017108386A publication Critical patent/JP2017108386A/ja
Application granted granted Critical
Publication of JP6587997B2 publication Critical patent/JP6587997B2/ja
Publication of JP6587997B6 publication Critical patent/JP6587997B6/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Human Computer Interaction (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)

Description

下記の説明は、タイムマシン機能のためのスライディングウィンドウ管理方法およびシステムに関する。
ライブで提供される映像コンテンツ(一例として、放送プログラム)に対するタイムマシン機能とは、ライブ映像の少なくとも一部を一定時間が経過した後にユーザが任意で視聴できるようにする機能であって、ライブ映像を格納しておき、格納されたライブ映像を再生する方式によって提供される。例えば、特許文献1は、タイムマシン機能を備えた映像表示機器およびその制御方法を開示している。
韓国登録特許第10−1300882号公報 国際公開第2015/065001号 米国特許出願公開第2014/0019540号明細書 米国特許出願公開第2013/0332543号明細書 米国特許出願公開第2013/0260893号明細書
ストリーミングスライディングウィンドウ(steaming sliding window)を利用することにより、タイムマシン機能によって特定される再生位置のピース(piece)をダウンロードできるように管理することができる方法およびシステムを提供する。
電子機器を実現するコンピュータにスライディングウィンドウ管理方法を実行させるためのコンピュータプログラムであって、前記スライディングウィンドウ管理方法は、ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイ(virtual sliding piece array)を生成する段階、前記仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成する段階、前記ライブストリームデータに対して要求された再生位置のピースインデックスに前記ストリーミングスライディングウィンドウを移動させ、前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階、およびライブストリーミングサービスを提供するために前記電子機器にインストールされたストリーミングクライアントで、前記のダウンロードされたピースを利用して前記電子機器にインストールされたプレイヤにストリームデータをストリーミングする段階を含む、コンピュータプログラムを提供する。
コンピュータによって実現された電子機器のスライディングウィンドウ管理方法であって、ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイを生成する段階、前記仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成する段階、前記ライブストリームデータに対して要求された再生位置のピースインデックスに前記ストリーミングスライディングウィンドウを移動させ、前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階、およびライブストリーミングサービスを提供するために前記電子機器にインストールされたストリーミングクライアントで、前記のダウンロードされたピースを利用して前記電子機器にインストールされたプレイヤにストリームデータをストリーミングする段階を含む、スライディングウィンドウ管理方法を提供する。
コンピュータによって実現された電子機器のスライディングウィンドウ管理システムであって、前記コンピュータで読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイを生成する仮想スライディングピースアレイ生成部、前記仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成するストリーミングスライディングウィンドウ生成部、前記ライブストリームデータに対して要求された再生位置のピースインデックスに前記ストリーミングスライディングウィンドウを移動させ、前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードするように前記電子機器を制御するピースダウンロード制御部、およびライブストリーミングサービスを提供するために前記電子機器にインストールされたストリーミングクライアントで、前記のダウンロードされたピースを利用して前記電子機器にインストールされたプレイヤにストリームデータをストリーミングするストリーミング処理部を備える、スライディングウィンドウ管理システムを提供する。
ストリーミングスライディングウィンドウを利用することにより、タイムマシン機能によって特定される再生位置のピースをダウンロードできるように管理することができる。
本発明の一実施形態における、ネットワーク環境の例を示した図である。 本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。 本発明の一実施形態における、ライブストリーミングサービスのための全体システム環境の例を示した図である。 本発明の一実施形態における、ストリーミングのためのデータ要求優先順位を示した図である。 本発明の一実施形態における、スライディングウィンドウを説明するための図である。 本発明の一実施形態における、探索のためのスライディングウィンドウの移動を説明するための図である。 本発明の一実施形態における、デュアルスライディングウィンドウを説明するための図である。 本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示した図である。 本発明の一実施形態における、電子機器が実行することのできるスライディングウィンドウ管理方法の例を示したフローチャートである。
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、コンピュータ、ノート型パンコン、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットPCなどがある。一例として、電子機器1(110)は、無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信してよい。
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでもよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的(hierarchical)ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これに限定されることはない。
サーバ150、160それぞれは、電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。
一例として、サーバ160は、ネットワーク170を介して接続した電子機器1(110)にアプリケーションのインストールのためのファイルを提供してよい。この場合、電子機器1(110)は、サーバ160から提供されたファイルを利用してアプリケーションをインストールしてよい。また、電子機器1(110)が含むオペレーティングシステム(Operating System:OS)および少なくとも1つのプログラム(一例として、ブラウザやインストールされたアプリケーション)の制御にしたがってサーバ150に接続し、サーバ150が提供するサービスやコンテンツの提供を受けてよい。例えば、電子機器1(110)が、アプリケーションの制御にしたがってネットワーク170を介してサービス要求メッセージをサーバ150に送信すると、サーバ150は、サービス要求メッセージに対応するコードを電子機器1(110)に送信してよく、電子機器1(110)は、アプリケーションの制御にしたがってコードに基づく画面を構成して表示することにより、ユーザにコンテンツを提供してよい。他の例として、サーバ150は、メッセージングサービスのための通信セッションを設定し、設定された通信セッションを通じて複数の電子機器110、120、130、140間のメッセージ送受信をルーティングしてもよい。さらに他の例として、サーバ150は、電子機器110、120、130、140にソーシャルネットワークサービスを提供してもよい。さらに他の例として、サーバ150、160は、複数の電子機器110、120、130、140にライブストリーミングサービスを提供してもよい。
図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図2では、1つの電子機器に対する例として電子機器1(110)の内部構成を、1つのサーバに対する例としてサーバ150の内部構成を説明する。他の電子機器120、130、140やサーバ160だけでなく、図1を参照しながら説明したネットワーク環境に含まれ得るさらに他の電子機器やさらに他のサーバにも、同一または類似の内部構成要素が適用されてもよい。
電子機器1(110)とサーバ150は、メモリ211、221、プロセッサ212、222、通信モジュール213、223、および入力/出力インタフェース214、224を含んでよい。メモリ211、221は、コンピュータで読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永久大容量記憶装置(permanent mass storage device)を含んでよい。また、メモリ211、221には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電気機器1(110)にインストールされ駆動するブラウザや上述したアプリケーションなどのためのコード)が格納されてよい。このようなソフトウェア構成要素は、ドライブメカニズム(drive mechanism)を利用してメモリ211、221とは別のコンピュータで読み取り可能な記録媒体からロードされてもよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール213、223を利用してメモリ211、221にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム(一例として、上述したサーバ160)がネットワーク170を介して提供するファイルによってインストールされるプログラム(一例として、上述したアプリケーション)に基づいてメモリ211、221にロードされてもよい。
プロセッサ212、222は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ211、221または通信モジュール213、223によって、プロセッサ212、222に提供されてよい。プロセッサ212、222は、メモリ211、221のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
通信モジュール213、223は、ネットワーク170を介して電子機器1(110)とサーバ150とが互いに通信するための機能を提供してもよいし、他の電子機器(一例として、電子機器2(120))または他のサーバ(一例として、サーバ160)と通信するための機能を提供してもよい。一例として、電子機器1(110)のプロセッサ212がメモリ211のような記録装置に格納されたプログラムコードにしたがって生成した要求(一例として、コンテンツに対するストリーミングサービス要求)が、通信モジュール213の制御にしたがってネットワーク170を介してサーバ150に伝達されてもよい。これとは逆に、サーバ150のプロセッサ222の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール223とネットワーク170を経て電子機器1(110)の通信モジュール213を通じて電子機器1(110)に受信されてもよい。例えば、通信モジュール213を通じて受信されたサーバ150の制御信号や命令などは、プロセッサ212やメモリ211に伝達されてもよく、コンテンツやファイルなどは、電子機器1(110)がさらに含むことのできる格納媒体に格納されてもよい。
入力/出力インタフェース214、224は、入力/出力装置215とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、また出力装置は、アプリケーションの通信セッションを表示するためのディスプレイのような装置を含んでよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。より具体的な例として、電子機器1(110)のプロセッサ212は、メモリ211にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ150や電子機器2(120)が提供するデータを利用して構成されるサービス画面215やコンテンツが、入力/出力インタフェース214を通じてディスプレイに表示されてもよい。
また、他の実施形態において、電子機器1(110)およびサーバ150は、図2の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器1(110)は、上述した入力/出力装置215のうち少なくとも一部を含むように実現されてもよいし、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
図3は、本発明の一実施形態における、ライブストリーミングサービスのための全体システム環境の例を示した図である。図3は、メディアストリーミングサーバ310、パケット化サーバ320、デリバリサーバ330、インデックスサーバ340、電子機器350、および複数のピア360を示している。
メディアストリーミングサーバ310、パケット化サーバ320、デリバリサーバ330、およびインデックスサーバ340それぞれは、図1および図2を参照しながら説明したサーバ150と同一または類似の内部構成要素を備える装置であってよい。また、複数のピア360それぞれと電子機器350は、図1および図2を参照しながら説明した電子機器1(110)と同一または類似の内部構成要素を備える装置であってよい。図3では、メディアストリーミングサーバ310、パケット化サーバ320、デリバリサーバ330、およびインデックスサーバ340をそれぞれ1つずつ示しているが、それぞれ複数のサーバグループの形態で実現されてもよい。例えば、プロ野球の試合を生放送するにあたり4つの試合が行われる場合、4つの試合に対して4つのメディアソースのための4つのメディアストリーミングサーバのグループが存在してもよく、それぞれのメディアソースのために4つのパケット化サーバのグループが存在してもよい。これと同様に、デリバリサーバ330およびインデックスサーバ340も、必要に応じて複数のサーバグループで実現されてもよい。例えば、デリバリサーバ330およびインデックスサーバ340は、同時接続者数のような性能イシューによって求められるサーバの数が決められてもよい。
メディアストリーミングサーバ310は、ライブストリームデータを提供するエンコーダ(図示せず)を含むメディアソース装置であってよい。パケット化サーバ320は、このようなメディアストリーミングサーバ310からライブストリームデータを受信してよく、受信したライブストリームデータをP2Pサービスで提供するために、受信したライブストリームデータをピースにパケット化(またはインデクシング)してよい。ストリームデータをピースにパケット化(またはインデクシング)する方法は、周知の多様な方法のうちの1つを利用してよい。
デリバリサーバ330は、パケット化サーバ320からパケット化された(またはインデクシングされた)ピースを受信し、これをバッファリングしてよく、P2Pサービスのピア(peer)からの要求に応じ、要求されたライブストリームデータに対するピースを該当のピアに送信してよい。ここで、ピアとは、P2Pサービスを利用するライブストリーミングサービスのクライアントを意味してよく、それぞれ1つの電子機器で実現されてよい。ピアを実現する電子機器は、図3に示す電子機器350を含み、上述したように図1および図2を参照しながら説明した電子機器1(110)と同一または類似の内部構成要素を備える装置であってよい。
インデックスサーバ340は、ピアのリストを保持し、ピアの要求に応じた検索結果を提供してよい。
ピアを実現する電子機器350では、ストリーミングクライアント351のようなアプリケーションがインストールおよび駆動されてよい。ここで、電子機器350は、駆動するストリーミングクライアント351の制御にしたがい、デリバリサーバ330からピースを受信してもよいし、他のピア(図3の複数のピア360)を実現する他の電子機器からピースを受信してもよい。
また、電子機器350で駆動するストリーミングクライアント351は、電子機器350でインストールおよび駆動される他のアプリケーションであるプレイヤ352と電子機器350で内部的に通信し、プレイヤ352にライブストリームデータを送信してよい。ここで、ストリーミングクライアント351がプレイヤ352に提供するライブストリームデータは、デリバリサーバ330または複数のピア360の少なくとも一部から受信したピースに基づいて組み合わされたデータであってよい。
この場合、プレイヤ352は、ストリーミングクライアント351が提供するライブストリームデータを再生してよく、これにより、メディアストリーミングサーバ310が提供するライブストリームデータが電子機器350で再生され、電子機器350のユーザに提供されてよい。
ピアを実現する電子機器(一例として、図3の電子機器350)でインストールおよび駆動されるストリーミングクライアント(一例として、図3のストリーミングクライアント351)は、電子機器のユーザにライブストリームデータに対するタイムマシン機能を提供してよい。上述したように、従来技術では、各ストリーミングプロトコル別にタイムマシン機能のための制御セッションを実現しなければならなかったのに対し、本発明の実施形態では、タイムマシン制御プロトコルがタイムマシン機能を制御する役割だけを担い、ストリーミングクライアントとプレイヤとの間のストリーミングプロトコル(例えば、PC(Personal Computer)のフラッシュプレイヤは、ストリーミングプロトコルとしてRTMP(RealTime Messaging Protocol)を使用し、iOS(登録商標)やアンドロイド(登録商標)のプレイヤは、ストリーミングプロトコルとしてHLS(HTTP Live Streaming)プロトコルを使用する)は、プレイヤがサポートするストリーミング規格をそのまま利用できるように実現することができる。このような実施形態により、OSやプレイヤに関係なく、同じ規格を利用してタイムマシン機能を制御することができるため、ストリーミングクライアントのプレイヤに対する依存性を除去することができる。プレイヤでタイムマシン制御プロトコルがサポートされない場合、ユーザは、プレイヤを利用しながら、既存のプレイヤが使用しているストリーミングプロトコルを利用してライブ映像だけを視聴することができる。
図4は、本発明の一実施形態における、ストリーミングのためのデータ要求優先順位を示した図である。図4では、図3を参照しながら説明したデリバリサーバ330、ストリーミングクライアント351、プレイヤ352、複数のピア360を示しており、ピアがストリーミングクライアント351とプレイヤ352とを共にさらに含むことができるキャッシュ410をさらに含んでいる。
ライブストリームデータは、生放送の特性上、複数のピア360からP2P方式で提供されるデータやデリバリサーバ330から提供されるデータをストリーミングクライアント351が受信してプレイヤ352に伝達し、プレイヤ352で再生して処理するだけで、データを格納する必要性が低い。しかし、生放送に対するタイムマシン機能を提供することによって過去データをまた再生しなければならない必要性が存在するため、ストリーミングクライアント351は、ピアがメモリの他に、キャッシュ410のような別の格納場所に一定量の過去データを格納するようにピアを制御してよい。
したがって、タイムマシン機能を提供する場合、ストリーミングクライアント351は、最初にキャッシュ410のような格納場所からストリーミングのためのデータの提供を受けてよい。キャッシュ410に存在しないデータは、複数のピア360からP2P方式によって提供されてよく、複数のピア360から提供を受けることのできないデータは、デリバリサーバ330から提供を受けてよい。
図5は、本発明の一実施形態における、スライディングウィンドウを説明するための図である。ライブストリームデータに対するタイムマシン機能の提供のために、ライブストリームデータのピースは、図5に示された仮想スライディングピースアレイ510のように管理されてよい。仮想スライディングピースアレイ510とは、実際のピースのアレイを意味するのではなく、実質的には時間の順序にしたがって特定時間のピースを特定することができるように管理されるデータであってよい。例えば、電子機器1(110)は、ストリーミングクライアント351の制御に応じて、受信したピースを、時間の順序にしたがって仮想スライディングピースアレイ510のように管理してよい。例えば、仮想スライディングピースアレイ510において、「Live」側のピースであるほど最新データであってよく、「Live−タイムマシン可能時間」側のピースであるほど過去データであってよい。ここで、タイムマシン可能時間は、最新のデータ(ピース)を基準としてどのくらい過去のデータを再生できるかを示す指標であって、ミリ秒(msec)のような時間の単位で示されてよい。「Live」に該当する時間を「0」とし、タイムマシン可能時間を5分(300000ミリ秒)とするとき、「Live−タイムマシン可能時間」は、最新データを基準として5分前のデータまで戻って見ることができるということを示す。
また、ストリーミングクライアント351は、キャッシュマネージャ520を含んでよく、キャッシュマネージャ520を利用してメモリ211やローカルディスク530に格納された実際のピースを管理してよい。一例として、メモリ211に格納されたピースは、複数のピア360やデリバリサーバ330から受信したピースであってよく、ローカルディスク530に格納されたピースは、ライブストリーミングのためにプレイヤ352へのストリーミングが完了した過去データとしてのピースであってよい。言い換えれば、ストリーミングクライアント351は、メモリ211に格納されたピースを利用して生放送映像をプレイヤ352にストリーミングした後、使用済みのピースをタイムマシン機能の使用のためにローカルディスク530に格納してよい。この場合、ローカルディスク530は、図4のキャッシュ410に対応してよい。
ここで、ストリーミングスライディングウィンドウ540は、プレイヤ352に送信されなければならないピースを特定するために利用されてよい。例えば、ストリーミングクライアント351は、現在ストリーミングスライディングウィンドウ540を利用して仮想スライディングピースアレイ510により特定される複数のピースをキャッシュ410、複数のピア360、またはデリバリサーバ330を通じてダウンロードしてプレイヤ352に送信し、キャッシュ410に格納してよい。このとき、ピースは、ストリーミングクライアント351とプレイヤ352との間で利用されるストリーミングプロトコルにしたがってストリーミング方式でプレイヤ352に送信されてよい。
図6は、本発明の一実施形態における、探索のためのスライディングウィンドウの移動を説明するための図である。図6は、ストリーミングスライディングウィンドウ540が移動した例を示している。例えば、プレイヤ352からのタイムマシン機能に対する要求に応じ、ストリーミングクライアント351は、過去データをプレイヤ352に送信してよい。このとき、プレイヤ352は、過去に移動する値(一例として、ミリ秒単位の値)を、要求と共にストリーミングクライアント351に伝達してよい。
一例として、プレイヤ352からの要求と共に伝達された値が3分(180000ミリ秒)であると仮定する。この場合、ストリーミングクライアント351は、ストリーミングスライディングウィンドウ540により現在特定される位置から3分だけ過去の位置にストリーミングスライディングウィンドウ540を移動させてよい。図6は、ストリーミングスライディングウィンドウ540が探索アドレス(seek offset)に移動した例を示している。例えば、ストリーミングクライアント351は、要求された3分(180000ミリ秒)を利用して対応するピースインデックス(piece index)を計算してよく、計算されたピースインデックスの位置にストリーミングスライディングウィンドウ540を移動させてよい。
このとき、ストリーミングクライアント351は、移動したストリーミングスライディングウィンドウ540により特定されるピースを、仮想スライディングピースアレイ510で特定し、特定したピースをキャッシュ410、複数のピア360、またはデリバリサーバ330を通じてダウンロードしてプレイヤ352に送信してよい。
図7は、本発明の一実施形態における、デュアルスライディングウィンドウを説明するための図である。図7は、ストリーミングスライディングウィンドウ540の他に、ライブスライディングウィンドウ(live sliding window)710をさらに示している。ライブスライディングウィンドウ710は、移動せずに最新ライブ映像をストリーミングするための領域720に固定されて位置し、ライブ映像のためのピースのダウンロードと共有を担ってよい。
P2Pサービスでは、同じピースをより多くのピアが保有しているほど、該当のピースに対する共有率が高くなる。共有率が高いということは、該当のピースを持たないピアが、P2Pサービスにおいて他のピアを通じて該当のピースをより容易に得ることができるということを意味する。したがって、タイムマシン機能を使用するユーザが多くなるほど、最新データを保有しているピアの数が減るため、複数のピア360間のライブ映像に対するピースの共有率は低下するようになる。
本実施形態では、ユーザがタイムマシン機能を利用した場合でも全体共有率に及ぼす影響を最小化するために、ライブスライディングウィンドウ710を利用することができる。上述したように、ライブスライディングウィンドウ710は、最新ライブ映像をストリーミングするための領域720に固定されて位置し、ライブ映像のためのピースのダウンロードと共有を担ってよい。このようなライブスライディングウィンドウ710は、プレイヤ352にデータをストリーミングすることとは関係なく、最新データを共有するためだけに動作してよい。ここで、ライブスライディングウィンドウ710を通じてダウンロードされるピースは、ピースを共有するためにダウンロードされるものに過ぎず、プレイヤ352へのストリーミングとは関係ないため、積極的にピースをダウンロードする必要性は低い。したがって、ストリーミングクライアント352は、ライブスライディングウィンドウ710を通じて特定されるピースだけを他のピア(複数のピア360)からダウンロードして格納および共有してよい。
また、ユーザがタイムマシン機能を利用している途中に再びライブ映像を見ようとする場合、ストリーミングスライディングウィンドウは、ライブ映像をストリーミングするための領域720側に移動するようになる。このとき、ライブスライディングウィンドウ710を利用して最新データが予めダウンロードされているため、ストリーミングクライアント352は、最新ライブ映像のためのピースをより迅速にプレイヤ352に提供することができるようになる。
図8は、本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示した図であり、図9は、本発明の一実施形態における、電子機器が実行することのできるスライディングウィンドウ管理方法の例を示したフローチャートである。
図8に示すように、電子機器1(110)のプロセッサ212は、構成要素として、仮想スライディングピースアレイ生成部810、ストリーミングスライディングウィンドウ生成部820、ピースダウンロード制御部830、ストリーミング処理部840、およびライブスライディングウィンドウ生成部850を備えてよい。このようなプロセッサ212およびプロセッサ212の構成要素は、図9のスライディングウィンドウ管理方法に含まれる段階910〜960を実行するように電子機器1(110)を制御してよい。ここで、プロセッサ212およびプロセッサ212の構成要素は、メモリ211に含まれるオペレーティングシステムのコードと少なくとも1つのプログラムのコードとによる命令を実行するように実現されてよい。ここで、プロセッサ212の構成要素は、プロセッサ212によって実行される互いに異なる機能(different functions)の表現であってよい。例えば、プロセッサ212が上述した命令にしたがってピースをダウンロードするように電子機器1(110)を制御する動作の機能的表現としてピースダウンロード制御部830が使用されてよい。
段階910で、プロセッサ212は、スライディングウィンドウ管理方法のためのプログラムのファイルに格納されたプログラムコードをメモリ211にロードしてよい。例えば、電子機器1(110)にインストールされたプログラムが駆動される場合、プロセッサ212は、プログラムのファイルからプログラムコードをメモリ211にロードするように電子機器1(110)を制御してよい。例えば、上述したプログラムは、ストリーミングクライアント352のためのアプリケーションであってよい。
ここで、プロセッサ212およびプロセッサ212が備える仮想スライディングピースアレイ生成部810、ストリーミングスライディングウィンドウ生成部820、ピースダウンロード制御部830、ストリーミング処理部840、およびライブスライディングウィンドウ生成部850それぞれは、メモリ211にロードされたプログラムコードのうち対応する部分(対応する命令)を実行して以後の段階920〜段階960を実行してよい。段階920〜段階960の実行のために、プロセッサ212およびプロセッサ212の構成要素は、電子機器1(110)を制御してよい。例えば、プロセッサ212は、電子機器1(110)が含む通信モジュール213を制御して電子機器1(110)が他の電子機器やサーバ(一例として、サーバ150)と通信するように電子機器1(110)を制御してよい。
段階920で、仮想スライディングピースアレイ生成部810は、ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイを生成してよい。仮想スライディングピースアレイは、図5〜図7を参照しながら説明したように、時点別ピースを特定するためのデータであって、時間や時点によって区分される再生位置とピースを互いにマッチングして格納するデータ構造で実現されてよい。他の例として、仮想スライディングピースアレイは、時間とピースをマッチングして格納するデータ構造であって、特定の再生位置に対応する時間を計算して該当の時間によるピースを特定することができるデータ構造で実現されてもよい。
段階930で、ストリーミングスライディングウィンドウ生成部820は、仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成してよい。例えば、ストリーミングスライディングウィンドウの1番目のインデックスが、仮想スライディングピースアレイの対応するピースを特定してよい。また、ストリーミングスライディングウィンドウの連続するインデックスが、仮想スライディングピースアレイの対応する連続するピースを特定してよい。
段階940で、ピースダウンロード制御部830は、ライブストリームデータに対して要求された再生位置のピースインデックスにストリーミングスライディングウィンドウを移動させ、ストリーミングスライディングウィンドウを通じて仮想スライディングピースアレイにより特定されるピースをダウンロードするように電子機器1(110)を制御してよい。ここで、ピースダウンロード制御部830は、電子機器1(110)が含むキャッシュ格納場所、P2P方式によって接続する他の電子機器(一例として、電子機器2(120))、およびライブストリームデータのピースを提供するデリバリサーバ330のうち少なくとも1つから特定されるピースをダウンロードしてよい。上述したように、キャッシュ格納場所、他の電子機器、およびデリバリサーバ330の順序による優先順位でピースのダウンロードが試されてよい。
段階950で、ストリーミング処理部840は、ライブストリーミングサービスを提供するために電子機器1(110)にインストールされたストリーミングクライアントで、ダウンロードされたピースを利用して電子機器1(110)にインストールされたプレイヤにストリームデータをストリーミングしてよい。
段階960で、ライブスライディングウィンドウ生成部850は、仮想スライディングピースアレイにより特定されるピースのうち最新の予め設定された数の連続するピースを特定するためのライブスライディングウィンドウを生成してよい。ここで、段階960は、他の実施形態では、段階920以後のどこで実行されてもよい。一例として、段階960は、段階930で生成されるストリーミングスライディングウィンドウと共に、ライブスライディングウィンドウを生成するために段階930と共に実行されてもよい。
ここで、スライディングウィンドウ管理方法は、ライブスライディングウィンドウを通じて仮想スライディングピースアレイにより特定されるピースをダウンロードする段階(図示せず)をさらに含んでもよい。上述したピースダウンロード制御部830が、このように図示されていない段階を実行してもよい。
上述したように、ライブスライディングウィンドウを通じて特定されてダウンロードされたピースは、ストリーミングスライディングウィンドウを通じて特定されてダウンロードされたピースがプレイヤでストリームデータをストリーミングするために利用されることとは関係なく、ライブストリームデータの最新データを共有するために電子機器1(110)が含むキャッシュ格納場所に格納されてもよいし、ネットワークを介して他の電子機器(一例として、複数のピア360のうち少なくとも1つのピア)に送信されてもよい。
ここで、段階940で、ピースダウンロード制御部830は、ストリーミングスライディングウィンドウと前記ライブスライディングウィンドウとが互いに重複する場合(ライブストリームデータの最新データを再生しようとする場合)、ライブスライディングウィンドウを通じて特定されて電子機器1(110)のキャッシュ格納場所に格納されたピースを再活用してもよい。上述したように、過去のデータをストリーミングしている途中に最新データをストリーミングしようとする場合、ライブスライディングウィンドウを通じて予めダウンロードされたピースを再活用して使用することが可能であるため、最新ライブ映像をより迅速にプレイヤに提供することができるようになる。
ライブストリームデータに対して要求された再生位置は、ストリーミングクライアントとプレイヤとの間で設定されたタイムマシン制御セッションを通じてプレイヤからストリーミングクライアントに送信されてもよい。また、ストリーミングされるストリームデータは、ストリーミングクライアントとプレイヤとの間で設定されたストリーミングセッションを通じてストリーミングクライアントからプレイヤに送信されてもよい。この場合、ストリーミングセッションを通じたストリーミングクライアントとプレイヤとの間のデータ送信と、タイムマシン制御セッションを通じたストリーミングクライアントとプレイヤとの間のデータ送信は、互いに異なる別のプロトコル(一例として、上述したタイムマシン制御プロトコルとストリーミングプロトコル)によってそれぞれ行われてもよい。
図8および図9で省略した内容については、図1〜7を参照してよい。
このように、本発明の実施形態によると、ストリーミングスライディングウィンドウを利用することにより、タイムマシン機能によって特定される再生位置のピースをダウンロードできるように管理することができ、ストリーミングスライディングウィンドウとは別に最新ライブ映像のためのピースをダウンロードするライブスライディングウィンドウをさらに管理することができる。さらに、ストリーミングスライディングウィンドウとライブスライディングウィンドウのデュアルスライディングウィンドウを利用することにより、タイムマシン機能によって特定される再生位置のピースをダウンロードしながら同時に最新データのためのピースを共にダウンロードすることにより、タイムマシン機能の使用が最新ライブ映像のためのピースの共有率に及ぼす影響を最小化することができる。
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)および前記OS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素(processing element)および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでもよい。また、並列プロセッサ(parallel processor)のような、他の処理構成(processing configuration)も可能である。
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に(collectively)処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置(virtual equipment)、コンピュータ格納媒体または装置に永久的または一時的に具現化(embody)されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD−ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために1つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能である。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
110、120、130、140:電子機器
150、160:サーバ
170:ネットワーク

Claims (13)

  1. 電子機器を実現するコンピュータにスライディングウィンドウ管理方法を実行させるためのコンピュータプログラムであって、
    前記スライディングウィンドウ管理方法は、
    ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイを生成する段階、
    前記仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成する段階、
    前記ライブストリームデータに対して要求された再生位置のピースインデックスに前記ストリーミングスライディングウィンドウを移動させ、前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階、および
    ライブストリーミングサービスを提供するために前記電子機器にインストールされたストリーミングクライアントで、前記のダウンロードされたピースを利用して前記電子機器にインストールされたプレイヤにストリームデータをストリーミングする段階
    を含
    前記スライディングウィンドウ管理方法は、
    前記仮想スライディングピースアレイにより特定されるピースのうち最新の予め設定された数の連続するピースを特定するためのライブスライディングウィンドウを生成する段階、および
    前記ライブスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階
    をさらに含む、コンピュータプログラム。
  2. 前記ライブスライディングウィンドウを通じて特定されてダウンロードされたピースは、前記ストリーミングスライディングウィンドウを通じて特定されてダウンロードされたピースが前記プレイヤにストリームデータをストリーミングするために利用されることとは関係なく、前記ライブストリームデータの最新データを共有するために前記電子機器が含むキャッシュ格納場所に格納されるか、またはネットワークを介して他の電子機器に送信される、請求項に記載のコンピュータプログラム。
  3. 前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階は、
    前記ストリーミングスライディングウィンドウと前記ライブスライディングウィンドウとが互いに重複する場合、前記ライブスライディングウィンドウを通じて特定されて前記電子機器のキャッシュ格納場所に格納されたピースを再活用する、請求項に記載のコンピュータプログラム。
  4. 前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階は、
    前記電子機器が含むキャッシュ格納場所、P2P方式によって接続する他の電子機器、および前記ライブストリームデータのピースを提供するデリバリサーバのうち少なくとも1つから前記特定されるピースをダウンロードし、
    前記キャッシュ格納場所、前記他の電子機器、および前記デリバリサーバの順序による優先順位で前記ピースのダウンロードが試される、請求項1に記載のコンピュータプログラム。
  5. 前記ライブストリームデータに対して要求された再生位置は、前記ストリーミングクライアントと前記プレイヤとの間で設定されたタイムマシン制御セッションを通じて前記プレイヤから前記ストリーミングクライアントに送信され、
    前記のストリーミングされるストリームデータは、前記ストリーミングクライアントと前記プレイヤとの間で設定されたストリーミングセッションを通じて前記ストリーミングクライアントから前記プレイヤに送信される、請求項1に記載のコンピュータプログラム。
  6. 前記ストリーミングセッションを通じた前記ストリーミングクライアントと前記プレイヤとの間のデータ送信と、前記タイムマシン制御セッションを通じた前記ストリーミングクライアントと前記プレイヤとの間のデータ送信は、互いに異なる別のプロトコルによってそれぞれ行われる、請求項に記載のコンピュータプログラム。
  7. コンピュータによって実現された電子機器のスライディングウィンドウ管理方法であって、
    ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイを生成する段階、
    前記仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成する段階、
    前記ライブストリームデータに対して要求された再生位置のピースインデックスに前記ストリーミングスライディングウィンドウを移動させ、前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階、および
    ライブストリーミングサービスを提供するために前記電子機器にインストールされたストリーミングクライアントで、前記のダウンロードされたピースを利用して前記電子機器にインストールされたプレイヤにストリームデータをストリーミングする段階
    を含
    前記仮想スライディングピースアレイにより特定されるピースのうち最新の予め設定された数の連続するピースを特定するためのライブスライディングウィンドウを生成する段階、および
    前記ライブスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階
    をさらに含む、スライディングウィンドウ管理方法。
  8. 前記ライブスライディングウィンドウを通じて特定されてダウンロードされたピースは、前記ストリーミングスライディングウィンドウを通じて特定されてダウンロードされたピースが前記プレイヤにストリームデータをストリーミングするために利用されることとは関係なく、前記ライブストリームデータの最新データを共有するために前記電子機器が含むキャッシュ格納場所に格納されるか、またはネットワークを介して他の電子機器に送信される、請求項に記載のスライディングウィンドウ管理方法。
  9. 前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階は、
    前記ストリーミングスライディングウィンドウと前記ライブスライディングウィンドウとが互いに重複する場合、前記ライブスライディングウィンドウを通じて特定されて前記電子機器のキャッシュ格納場所に格納されたピースを再活用する、請求項に記載のスライディングウィンドウ管理方法。
  10. 前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階は、
    前記電子機器が含むキャッシュ格納場所、P2P方式によって接続する他の電子機器、および前記ライブストリームデータのピースを提供するデリバリサーバのうち少なくとも1つから前記特定されるピースをダウンロードし、
    前記キャッシュ格納場所、前記他の電子機器、および前記デリバリサーバの順序による優先順位で前記ピースのダウンロードが試される、請求項に記載のスライディングウィンドウ管理方法。
  11. コンピュータによって実現された電子機器のスライディングウィンドウ管理システムであって、
    前記コンピュータで読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサ
    を含み、
    前記少なくとも1つのプロセッサは、
    ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイを生成する仮想スライディングピースアレイ生成部、
    前記仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成するストリーミングスライディングウィンドウ生成部、
    前記ライブストリームデータに対して要求された再生位置のピースインデックスに前記ストリーミングスライディングウィンドウを移動させ、前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードするように前記電子機器を制御するピースダウンロード制御部、および
    ライブストリーミングサービスを提供するために前記電子機器にインストールされたストリーミングクライアントで、前記のダウンロードされたピースを利用して前記電子機器にインストールされたプレイヤにストリームデータをストリーミングするストリーミング処理部
    を備え、
    前記少なくとも1つのプロセッサは、
    前記仮想スライディングピースアレイにより特定されるピースのうち最新の予め設定された数の連続するピースを特定するためのライブスライディングウィンドウを生成するライブスライディングウィンドウ生成部
    をさらに備え、
    前記ピースダウンロード制御部は、
    前記ライブスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードするように前記電子機器を制御する、スライディングウィンドウ管理システム。
  12. 前記ライブスライディングウィンドウを通じて特定されてダウンロードされたピースは、前記ストリーミングスライディングウィンドウを通じて特定されてダウンロードされたピースが前記プレイヤにストリームデータをストリーミングするために利用されることとは関係なく、前記ライブストリームデータの最新データを共有するために前記電子機器が含むキャッシュ格納場所に格納されるか、またはネットワークを介して他の電子機器に送信される、請求項11に記載のスライディングウィンドウ管理システム。
  13. 前記ピースダウンロード制御部は、
    前記電子機器が含むキャッシュ格納場所、P2P方式によって接続する他の電子機器、および前記ライブストリームデータのピースを提供するデリバリサーバのうち少なくとも1つから前記特定されるピースをダウンロードし、
    前記キャッシュ格納場所、前記他の電子機器、および前記デリバリサーバの順序による優先順位で前記ピースのダウンロードが試される、請求項11に記載のスライディングウィンドウ管理システム。
JP2016208518A 2015-12-08 2016-10-25 タイムマシン機能のためのスライディングウィンドウ管理方法およびシステム Active JP6587997B6 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150174139A KR101998303B1 (ko) 2015-12-08 2015-12-08 타임머신 기능을 위한 슬라이딩 윈도우 관리 방법 및 시스템
KR10-2015-0174139 2015-12-08

Publications (3)

Publication Number Publication Date
JP2017108386A JP2017108386A (ja) 2017-06-15
JP6587997B2 JP6587997B2 (ja) 2019-10-09
JP6587997B6 true JP6587997B6 (ja) 2019-12-11

Family

ID=58800480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016208518A Active JP6587997B6 (ja) 2015-12-08 2016-10-25 タイムマシン機能のためのスライディングウィンドウ管理方法およびシステム

Country Status (3)

Country Link
US (1) US10313762B2 (ja)
JP (1) JP6587997B6 (ja)
KR (1) KR101998303B1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109688473B (zh) * 2018-12-07 2020-12-22 广州市百果园信息技术有限公司 多视频播放方法及存储介质、计算机设备
US11063708B1 (en) * 2020-02-28 2021-07-13 Rovi Guides, Inc. Optimized kernel for concurrent streaming sessions
US20230217086A1 (en) * 2021-12-30 2023-07-06 Interwise Ltd. Providing and Using a Branching Narrative Content Service
CN115174483B (zh) * 2022-04-25 2023-10-13 平安付科技服务有限公司 基于时间窗口的限流方法、装置、服务器和存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2127347A1 (en) * 1993-07-07 1995-01-08 Donald F. Hooper Segmented video on-demand system
JP4322378B2 (ja) * 1999-12-14 2009-08-26 パナソニック株式会社 テレビジョン受像装置及びプログラム記録媒体
KR20020057837A (ko) * 2002-03-29 2002-07-12 문의선 스트리밍 서비스 방법 및 장치
US7099389B1 (en) * 2002-12-10 2006-08-29 Tut Systems, Inc. Rate control with picture-based lookahead window
WO2004057865A2 (en) * 2002-12-20 2004-07-08 Koninklijke Philips Electronics N.V. More user friendly time-shift buffer
US20070130597A1 (en) * 2005-12-02 2007-06-07 Alcatel Network based instant replay and time shifted playback
KR101300882B1 (ko) 2006-10-27 2013-08-27 엘지전자 주식회사 타임머신 기능을 가지는 영상표시기기 및 그 제어 방법
KR20080044066A (ko) * 2006-11-15 2008-05-20 삼성전자주식회사 영상기기 및 그의 정지화상 추출방법
JP2009111709A (ja) * 2007-10-30 2009-05-21 Nec Corp 電子機器、その放送データ再生方法、プログラム、及びコンピュータ読み取り可能な記録媒体
US9538142B2 (en) * 2009-02-04 2017-01-03 Google Inc. Server-side support for seamless rewind and playback of video streaming
US20120265853A1 (en) * 2010-12-17 2012-10-18 Akamai Technologies, Inc. Format-agnostic streaming architecture using an http network for streaming
GB2483125B (en) * 2011-02-25 2012-09-26 British Sky Broadcasting Ltd Media system
JP5350506B2 (ja) * 2012-02-27 2013-11-27 シャープ株式会社 再生装置、テレビジョン受像機、再生方法、再生プログラムおよび記録媒体
JP5706868B2 (ja) 2012-03-30 2015-04-22 Line株式会社 メッセンジャープラットフォームでアバタ/ゲーム/エンターテイメント機能を提供するシステムおよび方法
KR101685226B1 (ko) 2012-06-12 2016-12-20 라인 가부시키가이샤 메신저 플랫폼의 인간 관계를 기반으로 하는 소셜 그래프를 활용한 메신저 연계 서비스 시스템 및 방법
KR20140009778A (ko) 2012-07-13 2014-01-23 라인 가부시키가이샤 메신저 플랫폼의 사용자 관계정보에 기반하여 다양한 서비스를 제공하는 방법 및 시스템
DE202013006341U1 (de) * 2012-07-27 2013-08-08 Magine Holding AB System zur Wiedergabe eines Medieninhalts aus dem World Wide Web
WO2014075087A2 (en) * 2012-11-12 2014-05-15 Moontunes, Inc. Systems and methods for communicating a live event to users using the internet
WO2015065001A1 (ko) 2013-10-31 2015-05-07 라인 가부시키가이샤 다양한 캐릭터를 이용하여 리듬 게임 서비스를 제공하기 위한 방법 및 시스템

Also Published As

Publication number Publication date
US20170164069A1 (en) 2017-06-08
US10313762B2 (en) 2019-06-04
JP6587997B2 (ja) 2019-10-09
KR20170067448A (ko) 2017-06-16
JP2017108386A (ja) 2017-06-15
KR101998303B1 (ko) 2019-10-01

Similar Documents

Publication Publication Date Title
JP6490654B2 (ja) 生放送でタイムマシン機能を提供する方法およびシステム
CN102572557B (zh) 当前设备定位广告分发的方法及系统
JP6587997B6 (ja) タイムマシン機能のためのスライディングウィンドウ管理方法およびシステム
CN111277869B (zh) 视频播放方法、装置、设备和存储介质
JP2015201243A (ja) マルチトラックビデオコンテンツを提供するためのマルチトラックビデオコンテンツサービス方法およびシステム
US20200029114A1 (en) Method, system, and non-transitory computer-readable record medium for synchronization of real-time live video and event data
JP6342526B2 (ja) 生中継データを共有する方法およびシステム
KR20200090435A (ko) 메신저 내 플랫폼에 추가된 애플리케이션을 이용하여 대화방에서 정보를 공유하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
JP2017021800A (ja) 通信費用の節減のためのコンテンツストリーミングサービス方法およびシステム
KR102602698B1 (ko) 영상과 응원봉 제어 신호의 연동 방법 및 그 장치
KR102134250B1 (ko) 스트리밍 콘텐츠의 재생 방법 및 시스템
US20140344283A1 (en) Method of server-based application hosting and streaming of video output of the application
CN112637626A (zh) 推流方法、系统、装置、电子设备及存储介质
US10417279B1 (en) Customized cross fades for continuous and seamless playback
KR102327910B1 (ko) 클라우드 기반 하이브리드 스마트 tv를 제공하는 장치 및 방법
JP6285579B2 (ja) ロングポーリング処理方法およびシステム、並びに記録媒体
CN115543409A (zh) 应用的安装来源确定方法、装置、可读介质及电子设备
US20200396287A1 (en) Distributed global object storage
KR102432376B1 (ko) 콘텐츠 재생 방법 및 시스템
KR102228375B1 (ko) 다수의 스트리밍 콘텐츠들을 재생하는 방법 및 시스템
US11507424B2 (en) Optimization of resource usage in cross-reality sessions
US11496537B2 (en) Method and apparatus for reverse address mapping when using content preparation in 5G networks
KR102376295B1 (ko) 트래픽 제어 정보를 이용하여 미디어를 재생하는 방법과 시스템 및 컴퓨터 판독가능한 기록 매체
KR101657366B1 (ko) 멀티미디어 공유 방법 및 이를 수행할 수 있는 네트워크 브리지 시스템
JP2021520694A (ja) ユーザフィードバックが可能なボットに基づいて映像を制作する方法、システム、および非一時的なコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180730

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180808

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180928

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190911

R150 Certificate of patent or registration of utility model

Ref document number: 6587997

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250