JP7472286B2 - メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体 - Google Patents

メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体 Download PDF

Info

Publication number
JP7472286B2
JP7472286B2 JP2022535648A JP2022535648A JP7472286B2 JP 7472286 B2 JP7472286 B2 JP 7472286B2 JP 2022535648 A JP2022535648 A JP 2022535648A JP 2022535648 A JP2022535648 A JP 2022535648A JP 7472286 B2 JP7472286 B2 JP 7472286B2
Authority
JP
Japan
Prior art keywords
video content
content item
format
user device
server
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
JP2022535648A
Other languages
English (en)
Other versions
JP2023506003A (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2023506003A publication Critical patent/JP2023506003A/ja
Priority to JP2024062621A priority Critical patent/JP2024109558A/ja
Application granted granted Critical
Publication of JP7472286B2 publication Critical patent/JP7472286B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/252Processing of multiple end-users' preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25825Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • H04N21/4665Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms involving classification methods, e.g. Decision trees
    • 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/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • H04N21/4666Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms using neural networks, e.g. processing the feedback provided by the user
    • 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
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

開示される主題は、メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体に関する。
ユーザは、メディアコンテンツストリーミングサービスから、ビデオコンテンツ(たとえば、ビデオ、映画、テレビ番組、ミュージックビデオなど)を頻繁にストリーミングする。ユーザデバイスは、サーバからビデオコンテンツ項目がストリーミングされるときにユーザデバイスにビデオコンテンツ項目の異なる品質を要求させ得る適応型ビットレートストリーミングを使う場合があり、それによって、ユーザデバイスは、ビデオコンテンツ項目をストリーミングするのに使われるネットワーク接続の品質が変わったとしても、ビデオコンテンツ項目を提示し続けることができる。たとえば、ユーザデバイスは、第1の、比較的高い解像度を有するビデオコンテンツ項目のセグメントを提示し始める場合があり、続いて、ネットワーク接続が劣化したと判断したことに応答して、ユーザデバイスは、第2の、より低い解像度を有するビデオコンテンツ項目のセグメントをサーバに対して要求する場合がある。ただし、サーバに対して要求されるべき最適フォーマットをユーザデバイスが判断するのは、多大なリソースを必要とする。さらに、ユーザデバイスは、サーバにとって利用可能なリソースにかかわらず、特定のフォーマットを要求する場合がある。

したがって、メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための新しい方法、システム、および媒体を提供することが望ましい。
メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体が提供される。
開示される主題のいくつかの実施形態によると、メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法が提供され、この方法は、サーバにおいてユーザデバイスから、ユーザデバイス上でビデオコンテンツ項目をストリーミングし始めるための要求を受信するステップと、ビデオコンテンツ項目をストリーミングするのに使われる通信ネットワークへのユーザデバイスのネットワーク接続の品質を示すネットワーク情報、およびユーザデバイスに関連したデバイス情報を、ユーザデバイスから受信するステップと、サーバによって、ビデオコンテンツ項目用の第1のフォーマットを選択するステップであって、第1のフォーマットは、ネットワーク情報およびデバイス情報に基づく、複数の解像度のうちの第1の解像度を含む、ステップと、サーバから、第1のフォーマットを有するビデオコンテンツ項目の第1の部分をユーザデバイスへ送信するステップと、サーバにおいてユーザデバイスから、更新されたネットワーク情報および更新されたデバイス情報を受信するステップと、サーバによって、ビデオコンテンツ項目用の第2のフォーマットを選択するステップであって、第2のフォーマットは、更新されたネットワーク情報および更新されたデバイス情報に基づく、複数の解像度のうちの第2の解像度を含む、ステップと、サーバから、第2のフォーマットを有するビデオコンテンツ項目の第2の部分をユーザデバイスへ送信するステップとを含む。
いくつかの実施形態では、ビデオコンテンツ項目用の第1のフォーマットを選択するステップは、ユーザデバイスのユーザによって選択される見込みがあるフォーマットを、サーバによって予測するステップを含む。
いくつかの実施形態では、ビデオコンテンツ項目用の第1のフォーマットを選択するステップは、ユーザデバイスのユーザがビデオコンテンツ項目をストリーミングする予測持続時間を最大にするフォーマットを、サーバによって識別するステップを含む。
いくつかの実施形態では、更新されたデバイス情報は、ビデオコンテンツ項目が提示されているユーザデバイス上で実行するビデオプレーヤウィンドウのビューポートのサイズが変化したという指示を含む。
いくつかの実施形態では、更新されたデバイス情報は、ビューポートのサイズが縮小したことを示し、第2の解像度は第1の解像度よりも低い。
いくつかの実施形態では、ビデオコンテンツ項目用の第1のフォーマットは、ビデオコンテンツ項目のジャンルに基づいて選択される。
いくつかの実施形態では、ビデオコンテンツ項目用の第1のフォーマットは、サーバから他のビデオコンテンツ項目をストリーミングするために、ユーザデバイスのユーザがあらかじめ選択したフォーマットに基づいて選択される。
開示される主題のいくつかの実施形態によると、メディアコンテンツ項目をストリーミングするためのフォーマットを選択するためのシステムが提供され、このシステムは、メモリとハードウェアプロセッサとを備え、ハードウェアプロセッサは、メモリに記憶されたコンピュータ実行可能命令を実行すると、サーバにおいてユーザデバイスから、ユーザデバイス上でビデオコンテンツ項目をストリーミングし始めるための要求を受信することと、ビデオコンテンツ項目をストリーミングするのに使われる通信ネットワークへのユーザデバイスのネットワーク接続の品質を示すネットワーク情報、およびユーザデバイスに関連したデバイス情報を、ユーザデバイスから受信することと、サーバによって、ビデオコンテンツ項目用の第1のフォーマットを選択することであって、第1のフォーマットは、ネットワーク情報およびデバイス情報に基づく、複数の解像度のうちの第1の解像度を含む、ことと、サーバから、第1のフォーマットを有するビデオコンテンツ項目の第1の部分をユーザデバイスへ送信することと、サーバにおいてユーザデバイスから、更新されたネットワーク情報および更新されたデバイス情報を受信することと、サーバによって、ビデオコンテンツ項目用の第2のフォーマットを選択することであって、第2のフォーマットは、更新されたネットワーク情報および更新されたデバイス情報に基づく、複数の解像度のうちの第2の解像度を含む、ことと、サーバから、第2のフォーマットを有するビデオコンテンツ項目の第2の部分をユーザデバイスへ送信することとを行うように構成される。
開示される主題のいくつかの実施形態によると、コンピュータ実行可能命令を含む非一時的コンピュータ可読媒体であって、命令は、プロセッサによって実行されると、プロセッサに、メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法を実施させる、非一時的コンピュータ可読媒体が提供され、方法は、サーバにおいてユーザデバイスから、ユーザデバイス上でビデオコンテンツ項目をストリーミングし始めるための要求を受信するステップと、ビデオコンテンツ項目をストリーミングするのに使われる通信ネットワークへのユーザデバイスのネットワーク接続の品質を示すネットワーク情報、およびユーザデバイスに関連したデバイス情報を、ユーザデバイスから受信するステップと、サーバによって、ビデオコンテンツ項目用の第1のフォーマットを選択するステップであって、第1のフォーマットは、ネットワーク情報およびデバイス情報に基づく、複数の解像度のうちの第1の解像度を含む、ステップと、サーバから、第1のフォーマットを有するビデオコンテンツ項目の第1の部分をユーザデバイスへ送信するステップと、サーバにおいてユーザデバイスから、更新されたネットワーク情報および更新されたデバイス情報を受信するステップと、サーバによって、ビデオコンテンツ項目用の第2のフォーマットを選択するステップであって、第2のフォーマットは、更新されたネットワーク情報および更新されたデバイス情報に基づく、複数の解像度のうちの第2の解像度を含む、ステップと、サーバから、第2のフォーマットを有するビデオコンテンツ項目の第2の部分をユーザデバイスへ送信するステップとを含む。
開示される主題のいくつかの実施形態によると、メディアコンテンツ項目をストリーミングするためのフォーマットを選択するためのシステムが提供され、このシステムは、サーバにおいてユーザデバイスから、ユーザデバイス上でビデオコンテンツ項目をストリーミングし始めるための要求を受信するための手段と、ビデオコンテンツ項目をストリーミングするのに使われる通信ネットワークへのユーザデバイスのネットワーク接続の品質を示すネットワーク情報、およびユーザデバイスに関連したデバイス情報を、ユーザデバイスから受信するための手段と、サーバによって、ビデオコンテンツ項目用の第1のフォーマットを選択するための手段であって、第1のフォーマットは、ネットワーク情報およびデバイス情報に基づく、複数の解像度のうちの第1の解像度を含む、手段と、サーバから、第1のフォーマットを有するビデオコンテンツ項目の第1の部分をユーザデバイスへ送信するための手段と、サーバにおいてユーザデバイスから、更新されたネットワーク情報および更新されたデバイス情報を受信するための手段と、サーバによって、ビデオコンテンツ項目用の第2のフォーマットを選択するための手段であって、第2のフォーマットは、更新されたネットワーク情報および更新されたデバイス情報に基づく、複数の解像度のうちの第2の解像度を含む、手段と、サーバから、第2のフォーマットを有するビデオコンテンツ項目の第2の部分をユーザデバイスへ送信するための手段とを備える。
開示される主題の様々な目的、特徴、および利点は、同様の参照番号が同様の要素を特定する以下の図面に関連して検討されると、開示される主題の以下の詳細な説明を参照してより完全に理解され得る。
開示される主題のいくつかの実施形態による、ビデオコンテンツ項目のフォーマットを選択するためのプロセスの、説明のための例を示す図である。 開示される主題のいくつかの実施形態による、あらかじめ選択されたフォーマットに基づいてビデオコンテンツ項目のフォーマットを選択するようにモデルをトレーニングするためのプロセスの、説明のための例を示す図である。 開示される主題のいくつかの実施形態による、異なるフォーマットをもつビデオコンテンツ項目のストリーミングに関連付けられた品質スコアに基づいてビデオコンテンツ項目のフォーマットを選択するようにモデルをトレーニングするためのプロセスの、説明のための例を示す図である。 開示される主題のいくつかの実施形態による、メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための、本明細書に記載する機構の実装に適した、説明のためのシステムの概略図である。 開示される主題のいくつかの実施形態による、図4のサーバおよび/またはユーザデバイスにおいて使用され得るハードウェアの詳細な例を示す図である。
様々な実施形態によると、メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための機構(方法、システム、および媒体を含み得る)が提供される。
いくつかの実施形態では、本明細書に記載する機構は、サーバによって、ユーザデバイスにストリーミングされるべきビデオコンテンツ項目のフォーマット(たとえば、特定の解像度、および/または任意の他の好適なフォーマット)を、ビデオコンテンツ項目をストリーミングするためにユーザデバイスによって使われるネットワーク接続の現在の品質もしくはタイプ、ユーザデバイスに関連付けられたデバイスのタイプ、ユーザデバイスのユーザによってあらかじめ選択されたビデオコンテンツフォーマットなどの情報、および/または任意の他の適切な情報に基づいて選択することができる。いくつかの実施形態では、サーバは次いで、選択されたフォーマットで、ビデオコンテンツ項目をユーザデバイスにストリーミングし始めてよい。いくつかの実施形態では、サーバは、ネットワーク接続の品質の変化など、いかなる適切な変化も示す更新された情報を、ユーザデバイスから受信し得る。いくつかの実施形態では、サーバは次いで、更新された情報に基づいて異なるフォーマットを選択してよく、選択された異なるフォーマットでの、ビデオコンテンツ項目のストリーミングに切り替えてよい。
たとえば、いくつかの実施形態では、サーバは、ネットワーク情報、デバイス情報、および/または任意の他の適切な情報に基づいて選択された第1の解像度(たとえば、360ピクセル×640ピクセル、および/または任意の他の適切な第1の解像度)で、ビデオコンテンツ項目をユーザデバイスにストリーミングし始めてよい。この例を続けると、いくつかの実施形態では、サーバは、ユーザデバイスから、ビデオコンテンツ項目のストリーミングの状態の変化を示す情報を受信し得る。たとえば、サーバは、ネットワーク接続の品質の変化、ユーザデバイス上で実行するビデオプレーヤウィンドウのビューポートのサイズの変化、および/またはどの他の適切な変化も示す情報を受信し得る。この例をさらに続けると、いくつかの実施形態では、サーバは次いで、ビデオコンテンツ項目のストリーミングの状態の変化に基づいて、第2の解像度を選択してよい。たとえば、ネットワーク接続の品質が低下したことを示す情報をサーバが受信する事例では、サーバは、第1の解像度よりも低い解像度でのビデオコンテンツ項目のストリーミングに切り替えてよい。逆に、ネットワーク接続の品質が向上したことを示す情報をサーバが受信する事例では、サーバは、第1の解像度よりも高い解像度でのビデオコンテンツ項目のストリーミングに切り替えてよい。別の例として、ビデオプレーヤウィンドウのビューポートのサイズが拡大したことを示す情報をサーバが受信する事例では、サーバは、第1の解像度よりも高い解像度でのビデオコンテンツ項目のストリーミングに切り替えてよい。逆に、ビューポートのサイズが縮小したことを示す情報をサーバが受信する事例では、サーバは、第1の解像度よりも低い解像度でのビデオコンテンツ項目のストリーミングに切り替えてよい。
いくつかの実施形態では、サーバは、どの適切な技法または技法の組合せを使って、フォーマットを選択してもよい。たとえば、いくつかの実施形態では、サーバは、同様のネットワーク条件下で、および/または同様のユーザデバイスを使って、ビデオコンテンツ項目をストリーミングするとき、ユーザによって手動で選択されることになるフォーマットであると予測されるフォーマットを選択してよい。より具体的な例として、いくつかの実施形態では、サーバは、ストリーミングされたビデオコンテンツ項目に各々が対応するトレーニングサンプルを使ってトレーニングされたトレーニング済みモデル(たとえば、トレーニング済み決定ツリー、トレーニング済みニューラルネットワーク、および/または任意の他の適切なモデル)を使うことができ、各トレーニングサンプルは、図2に示し、それに関連して以下で説明するように、任意の適切な入力特徴(たとえば、ビデオコンテンツ項目がストリーミングされたネットワーク条件、ビデオコンテンツ項目をストリーミングしたユーザデバイスに関連した情報、ビデオコンテンツ項目についての情報、および/または任意の他の適切な情報)、ならびに対応するユーザ選択フォーマットを含む。別の例として、いくつかの実施形態では、サーバは、特定の条件下での、ビデオコンテンツ項目の、ユーザデバイスへのストリーミングの品質を予測する、いかなる適切な品質スコアも最大にすることが予測されるフォーマットを選択してよい。より具体的な例として、いくつかの実施形態では、サーバは、ストリーミングされたビデオコンテンツ項目に各々が対応するトレーニングサンプルを使ってトレーニングされたトレーニング済みモデル(たとえば、トレーニング済み決定ツリー、トレーニング済みニューラルネットワーク、および/または任意の他の適切なモデル)を使うことができ、各トレーニングサンプルは、図3に示し、それに関連して以下で説明するように、任意の適切な入力特徴(たとえば、ビデオコンテンツ項目がストリーミングされたネットワーク条件、ビデオコンテンツ項目をストリーミングしたユーザデバイスに関連した情報、ビデオコンテンツ項目についての情報、および/または任意の他の適切な情報)、ならびに対応する品質スコアを含む。いくつかの実施形態では、品質スコアは、任意の適切なメトリックもしくはメトリックの組合せ、たとえば、ビデオコンテンツ閲覧セッション中に、トレーニングサンプルに関連付けられたビデオコンテンツ項目を含むビデオコンテンツ項目をユーザが視聴した持続時間、トレーニングサンプルに関連付けられたビデオコンテンツ項目をユーザが視聴した持続時間、2つのビデオコンテンツ項目のストリーミングの間にユーザが経験した待ち時間、および/または任意の他の適切なメトリックもしくはメトリックの組合せに基づいてよいことに留意されたい。
いくつかの実施形態では、ストリーミングされるべきビデオコンテンツ項目のフォーマットを選択するのに、トレーニング済みモデルを使うことによって、本明細書に記載する機構により、サーバが、任意の適切な目標物を最適化するフォーマットを選択すること、たとえば、ビデオコンテンツ項目をストリーミングするユーザデバイスのユーザによって手動で選択される見込みがあるフォーマット、ユーザデバイスのユーザがビデオコンテンツ項目を閲覧する持続時間を最大にするフォーマット、および/または任意の他の適切な目標物を選択することができるようになり得る。さらに、いくつかの実施形態では、機構により、サーバは、ビデオデバイスのストリーミング中に、任意の適切な変化、たとえば、ネットワーク条件の変化、ビデオコンテンツ項目を提示するのに使われるビデオプレーヤウィンドウのビューポートのサイズの変化、および/または任意の他の適切な変化に基づいて、ユーザデバイスにストリーミングされるビデオコンテンツ項目のフォーマットを変えることができるようになり得る。いくつかの実施形態では、ビデオコンテンツ項目のストリーミング中にビデオコンテンツ項目のフォーマットを変えることによって、機構は、ストリーミング条件が変わる間に、どの適切な目標物も最適化され続けるように、ビデオコンテンツ項目のフォーマットを動的に適応させることができる。
本明細書に記載する機構は概して、ビデオコンテンツ項目の特定のフォーマットまたは解像度を選択することによって、ユーザデバイスにストリーミングされるべきビデオコンテンツ項目の特定の品質をサーバが選択することに関するが、いくつかの実施形態では、ビデオコンテンツの品質は、任意の適切な他のメトリック、たとえばビデオ多方法評価融合(VMAF:Video Multimethod Assessment Fusion)、および/または任意の他の適切なメトリックを使って示されてもよいことに留意されたい。
図1に移ると、ビデオコンテンツ項目のフォーマットを選択するためのプロセスの、説明のための例100が、開示される主題のいくつかの実施形態に従って示されている。いくつかの実施形態では、プロセス100のブロックは、任意の適切なデバイスによって実行されてよい。たとえば、いくつかの実施形態では、プロセス100のブロックは、ビデオコンテンツストリーミングサービスに関連付けられたサーバによって実行されてよい。
プロセス100は始めに、102において、サーバにおいてユーザデバイスから、ユーザデバイス上でビデオコンテンツ項目をストリーミングし始めるための要求を受信し得る。上述したように、いくつかの実施形態では、サーバは、任意の適切なエンティティもしくはサービス、たとえば、ビデオコンテンツストリーミングサービス、ソーシャルネットワーキングサービス、および/または任意の他の適切なエンティティもしくはサービスに関連付けられている場合がある。いくつかの実施形態では、サーバは、任意の適切なやり方でビデオコンテンツ項目をストリーミングし始めるための要求を受信し得る。たとえば、いくつかの実施形態では、サーバは、ビデオコンテンツ項目の指示(たとえば、ビデオコンテンツ項目をブラウズするためのページに提示され、かつ/または任意の他の適切なやり方で選択された指示)をユーザデバイスのユーザが選択したと判断したことに応答して、ユーザデバイスから要求を受信し得る。別の例として、いくつかの実施形態では、サーバは、ビデオコンテンツ項目は、ユーザデバイス上で続けて提示されるべきであるビデオコンテンツ項目のプレイリストの中の後続ビデオコンテンツ項目であるという指示を受信し得る。
104において、プロセス100は、ユーザデバイスから、ネットワーク情報およびデバイス情報を受信し得る。いくつかの実施形態では、ネットワーク情報は、ユーザデバイスによって、サーバからのビデオコンテンツ項目をストリーミングするのに使われる通信ネットワークへのユーザデバイスの接続の品質を示す、どの適切なメトリックも、および/または使われるネットワークのタイプについてのどの適切な情報も含み得る。たとえば、いくつかの実施形態では、ネットワーク情報は、接続の帯域幅、接続のスループット、接続のグッドプット、接続の待ち時間、使われる接続のタイプ(たとえば、イーサネット接続、3G接続、4G接続、Wi-Fi接続、および/もしくは任意の他の適切なタイプのネットワーク)、使われる通信プロトコルのタイプ(たとえば、HTTP、および/もしくは任意の他の適切なタイプのプロトコル)、任意の適切なネットワーク識別子(たとえば、自律システム番号(ASN)、および/もしくは任意の他の適切な識別子)、ならびに/または任意の他の適切なネットワーク情報を含み得る。いくつかの実施形態では、デバイス情報は、ユーザデバイスについての任意の適切な情報、またはユーザデバイスがビデオコンテンツ項目をストリーミングするための方式についての情報を含み得る。たとえば、いくつかの実施形態では、デバイス情報は、ユーザデバイスのタイプもしくはモデル、ユーザデバイスによって使われるオペレーティングシステム、ユーザデバイスの現在の地理的ロケーション(たとえば、ユーザデバイスに関連付けられたIPアドレスによって示され、ユーザデバイスに関連付けられた現在のGPS座標によって示され、かつ/もしくは任意の他の適切なやり方で示される)、ユーザデバイスによってビデオコンテンツ項目をストリーミングするのに使われるインターフェース(たとえば、ウェブブラウザ、ユーザデバイス上で実行する特定のメディアコンテンツストリーミングアプリケーション、および/もしくは任意の他の適切なインターフェース情報)、ユーザデバイスに関連付けられたディスプレイのスクリーンサイズもしくは解像度、ユーザデバイス上でビデオコンテンツ項目が提示されるべきであるビデオプレーヤウィンドウに関連付けられたビューポートのサイズ、ならびに/または任意の他の適切な情報を含み得る。
106において、プロセス100は、トレーニング済みモデルと、ブロック104において受信されたネットワークおよび/またはデバイス情報とを使って、ビデオコンテンツ項目用の好適なフォーマットを予測することができる。いくつかの実施形態では、フォーマットは、任意の適切な情報、たとえば、ビデオコンテンツ項目のフレームの解像度(たとえば、144ピクセル×256ピクセル、240ピクセル×426ピクセル、360ピクセル×640ピクセル、480ピクセル×854ピクセル、720ピクセル×1280ピクセル、1080ピクセル×1920ピクセル、および/または任意の他の適切な解像度)を含み得る。
いくつかの実施形態では、プロセス100は、任意の適切なやり方で、ビデオコンテンツ項目用の好適なフォーマットを予測することができる。たとえば、いくつかの実施形態では、プロセス100は、図2に示し、それに関連して以下で説明するように、異なるユーザデバイスでビデオコンテンツ項目をストリーミングするとき、および/または異なるネットワーク条件下で、ユーザ選択フォーマットを指示するトレーニングデータを使ってトレーニングされたモデルを使って、ユーザデバイスによるストリーミングのための、ビデオコンテンツ項目用の好適なフォーマットを予測することができる。図2に示し、それに関連して以下で説明するように、いくつかの実施形態では、そのようなモデルは、入力として、ユーザデバイス情報およびネットワーク情報をとればよく、入力されたユーザデバイス情報およびネットワーク情報が与えられると、出力として、ユーザによって選択される見込みがあるフォーマットを予測することができる。
別の例として、いくつかの実施形態では、プロセス100は、図3に示し、それに関連して以下で説明するように、異なるユーザデバイス用の特定のフォーマットを使って、および/または異なるネットワーク条件下で、ビデオコンテンツ項目をストリーミングすることに関連付けられた品質メトリックを指示するトレーニングデータを使ってトレーニングされたモデルを使って、ユーザデバイスによるストリーミングのために、ビデオコンテンツ項目用の好適なフォーマットを予測することができる。図3に示し、それに関連して以下で説明するように、いくつかの実施形態では、そのようなモデルは、入力として、デバイス情報、ネットワーク情報、およびビデオコンテンツ項目フォーマットをとればよく、出力として、ビデオコンテンツ項目フォーマットをもつビデオコンテンツ項目を、デバイス情報およびネットワーク情報に関連付けられたユーザデバイスにストリーミングすることに関連付けられた予測品質スコアを予測することができる。いくつかのそのような実施形態では、モデルは次いで、品質スコアを最大にする見込みがあるフォーマットを予測するのに使われてよい。いくつかの実施形態では、品質スコアは、ビデオコンテンツ項目のストリーミングの品質を示す、どの適切なメトリックも含み得ることに留意されたい。たとえば、図3に関連して以下でより詳しく説明するように、いくつかの実施形態では、品質スコアは視聴時間メトリックを含んでよく、これは、ビデオコンテンツ項目の提示が停止される前にビデオコンテンツ項目が視聴される平均持続時間を指示し得る。別の例として、図3に関連して以下でより詳しく説明するように、いくつかの実施形態では、品質スコアは占有メトリックを含んでよく、これは、(次のビデオコンテンツ項目の経過視聴時間)/(次のビデオコンテンツ項目の経過視聴時間+現在のビデオコンテンツ項目と次のビデオコンテンツ項目との提示の間の待ち時間)として定義され得る。
いくつかの実施形態では、図2および図3に関連して以下でより詳しく説明するように、トレーニング済みモデルは、ネットワーク情報またはデバイス情報に関連したもの以外の、任意の適切な特徴を、ビデオコンテンツ項目用の好適なフォーマットを予測するのに使ってよいことに留意されたい。たとえば、いくつかの実施形態では、トレーニング済みモデルは、以前のユーザアクションに関連した入力特徴(たとえば、ユーザデバイスのユーザによる、あらかじめ選択されたフォーマット、および/もしくは任意の他の適切なユーザアクション)、ビデオコンテンツをストリーミングするのに使われる、ユーザのユーザアカウントに関連した情報(たとえば、ビデオコンテンツストリーミングサービスへの、ユーザによるサブスクリプションに関連した情報、ビデオコンテンツストリーミングサービスへのサブスクリプションの支払いのための課金周期に関連した情報、および/もしくは任意の他の適切なユーザアカウント情報)、ビデオコンテンツ項目に関連した情報(たとえば、ビデオコンテンツ項目のジャンルもしくはトピック、ビデオコンテンツ項目の長さ、ビデオコンテンツ項目の人気、および/もしくは任意の他の適切なビデオコンテンツ項目情報)、ならびに/または任意の他の適切な情報を使い得る。
108において、プロセス100は、ビデオコンテンツ項目用の予測される好適なフォーマットに基づいて、ビデオコンテンツ項目用のフォーマットを選択することができる。いくつかの実施形態では、プロセス100は、任意の適切なやり方で、ビデオコンテンツ項目用のフォーマットを選択することができる。たとえば、いくつかの実施形態では、プロセス100は、ビデオコンテンツ項目用のフォーマットを、予測される好適なフォーマットと同じになるように選択すればよい。より具体的な例として、いくつかの実施形態では、プロセス100が好適なフォーマットを特定の解像度として予測する事例において、プロセス100は、フォーマットを特定の解像度として選択すればよい。別の例として、いくつかの実施形態では、プロセス100は、予測される好適なフォーマットに基づく、および任意の適切な規則または基準の対象である、ビデオコンテンツ項目用のフォーマットを選択すればよい。より具体的な例として、いくつかの実施形態では、プロセス100は、ユーザデバイスによって使われるビデオプレーヤウィンドウの現在のビューポートサイズに基づいて使われ得る、最大解像度を指示する規則の対象であるビデオコンテンツ項目用のフォーマットを選択すればよい。具体例として、予測される好適なフォーマットが特定の解像度(たとえば、720ピクセル×1280ピクセル)であり、ブロック104において受信されたユーザデバイス情報が、ビューポートの現在のサイズが比較的小さいことを示す事例では、プロセス100は、予測される好適なフォーマットに関連付けられた解像度よりも低い解像度(たとえば、360ピクセル×640ピクセル、240ピクセル×426ピクセル、および/または任意の他の適切なより低い解像度)として、フォーマットを選択すればよい。別のより具体的な例として、いくつかの実施形態では、プロセス100は、特定のタイプのビデオコンテンツ(たとえば、ミュージックビデオ、講演、ドキュメンタリーなど)用の最大解像度を指示する規則の対象である、ビデオコンテンツ項目用のフォーマットを選択すればよい。具体例として、予測される好適なフォーマットが特定の解像度(たとえば、720ピクセル×1280ピクセル)であり、ビデオコンテンツ項目がミュージックビデオであると判断される事例では、プロセス100は、予測される好適なフォーマットに関連付けられた解像度よりも低い解像度(たとえば、360ピクセル×640ピクセル、240ピクセル×426ピクセル、および/または任意の他の適切なより低い解像度)として、フォーマットを選択すればよい。さらに別のより具体的な例として、いくつかの実施形態では、プロセス100は、異なる解像度のビデオコンテンツ項目のロケーションに基づいて、ビデオコンテンツ項目用のフォーマットを選択してよい。具体例として、予測される好適なフォーマットが特定の解像度(たとえば、720ピクセル×1280ピクセル)であり、予測される好適なフォーマットを有するビデオコンテンツ項目がリモートキャッシュ(たとえば、ローカルキャッシュよりも、アクセスするのにコストがかかる)に記憶される事例では、プロセス100は、ローカルキャッシュに記憶されたビデオコンテンツ項目のバージョンに対応するフォーマットを選択すればよい。いくつかの実施形態では、プロセス100は、たとえば、任意の条件(たとえば、ネットワーク条件、デバイス条件、ユーザサブスクリプション条件、異なるタイプのビデオコンテンツに関連した条件、および/または任意の他の適切なタイプの条件)に関連付けられた最大または最小解像度を指示する任意の適切な規則に基づいて、ビデオコンテンツ項目用のフォーマットを選択してよいことに留意されたい。
110において、プロセス100は、選択されたフォーマットを有するビデオコンテンツ項目の第1の部分をユーザデバイスへ送信し得る。いくつかの実施形態では、ビデオコンテンツ項目の第1の部分は、任意の適切なサイズ(たとえば、特定のキロバイトもしくはメガバイト数、および/または任意の他の適切なサイズ)を有してよく、かつ/あるいはビデオコンテンツ項目の任意の適切な長さ(たとえば、5秒、10秒、および/または任意の他の適切な長さ)に関連付けられてよいことに留意されたい。いくつかの実施形態では、プロセス100は、ビデオコンテンツ項目の第1の部分のサイズまたは長さを、任意の適切なやり方で、たとえば、ビデオコンテンツ項目のストリーミング中にユーザデバイスによってビデオコンテンツ項目を記憶するのに使われるバッファサイズに基づいて算出することができる。いくつかの実施形態では、プロセス100は、ビデオコンテンツ項目の第1の部分を、任意の適切なやり方で送信することができる。たとえば、いくつかの実施形態では、プロセス100は、任意の適切なストリーミングプロトコルを、ビデオコンテンツ項目の第1の部分を送信するのに使ってよい。別の例として、いくつかの実施形態では、プロセス100は、ユーザデバイスがビデオコンテンツ項目の追加部分をサーバに対して要求するべきである条件の指示に関連して、ビデオコンテンツ項目の第1の部分を送信してよい。より具体的な例として、いくつかの実施形態では、プロセス100は、ユーザデバイスがビデオコンテンツ項目の追加部分を要求するべき最小バッファ量に関連して、ビデオコンテンツ項目の第1の部分を送信してよい。さらに別の例として、いくつかの実施形態では、プロセス100は、ネットワーク接続の品質の変化(たとえば、ネットワーク接続の帯域幅が変化したこと、ネットワーク接続のスループットもしくはグッドプットが変化したこと、および/または任意の他の適切なネットワーク接続変化)あるいはデバイスの状態の変化(たとえば、ビデオコンテンツ項目を提示するビデオプレーヤウィンドウのビューポートのサイズの変化、および/または任意の他の適切なデバイス状態変化)を検出したことに応答して、ユーザデバイスからサーバへ情報を送信するための命令に関連して、ビデオコンテンツ項目の第1の部分を送信してよい。
いくつかの実施形態では、プロセス100はブロック104に戻ってよく、ユーザデバイスから、更新されたネットワーク情報(たとえば、ネットワーク接続の品質が向上したこと、ネットワーク接続の品質が低下したこと、および/もしくは任意の他の適切な更新されたネットワーク情報)ならびに/または更新されたデバイス情報(たとえば、ユーザデバイスによってビデオコンテンツ項目を提示するのに使われるビデオプレーヤウィンドウのビューポートのサイズが変化したこと、および/もしくは任意の他の適切なデバイス情報)を受信し得る。いくつかのそのような実施形態では、プロセス100は、ブロック104~110をループすればよく、更新されたネットワーク情報およびデバイス情報に基づいて、更新された好適なフォーマットを予測し、予測される更新された好適なフォーマットに基づいて、更新されたフォーマットを選択することができ、選択された更新済みフォーマットを有するビデオコンテンツ項目の第2の部分をユーザデバイスへ送信すればよい。いくつかの実施形態では、プロセス100は、任意の適切な情報に応答して、および/または任意の適切な頻度で、ブロック104にループバックしてよい。たとえば、いくつかの実施形態では、プロセス100は、ビデオコンテンツ項目の追加部分が所定の頻度でユーザデバイスへ送信されるように、任意の適切な設定された頻度で、ブロック104~110をループしてよい。別の例として、いくつかの実施形態では、プロセス100は、ビデオコンテンツ項目の追加部分についての要求(たとえば、ユーザデバイスのバッファの中に残っているビデオコンテンツ項目の量が所定の閾を下回るとユーザデバイスが判断したことに応答して、ユーザデバイスから送信された要求、および/または任意の他の適切な情報に応答してユーザデバイスから送信された要求)をユーザデバイスから受信したことに応答して、ブロック104にループバックしてよい。さらに別の例として、いくつかの実施形態では、プロセス100は、ビデオコンテンツ項目をストリーミングする状態の変化を示す情報をユーザデバイスから受信したことに応答して、ブロック104にループバックしてよい。いくつかの実施形態では、ブロック104~110をループすることによって、プロセス100は、ビデオコンテンツ項目のフォーマットを、ユーザデバイスによるビデオコンテンツ項目の提示の間に複数回変えさせることができることに留意されたい。
図2に移ると、あらかじめ選択されたフォーマットに基づいてビデオコンテンツ項目フォーマットを予測するようにモデルをトレーニングするためのプロセスの、説明のための例200が、開示される主題のいくつかの実施形態に従って示されている。いくつかの実施形態では、プロセス200のブロックは、ユーザデバイスにビデオコンテンツ項目を記憶および/またはストリーミングするサーバ(たとえば、ビデオコンテンツ共有サービスに関連付けられたサーバ、ソーシャルネットワーキングサービスに関連付けられたサーバ、および/または任意の他の適切なサーバ)など、任意の適切なデバイスによって実行され得る。
プロセス200は始めに、202において、以前ストリーミングされたビデオコンテンツ項目からトレーニングセットを生成することができ、ここで、トレーニングセットの中の各トレーニングサンプルは、対応するビデオコンテンツ項目用のユーザ選択フォーマットを指示する。いくつかの実施形態では、各トレーニングサンプルは、特定のユーザデバイスにストリーミングされるビデオコンテンツ項目に対応し得る。いくつかの実施形態では、各トレーニングサンプルは、どの適切な情報も含み得る。たとえば、いくつかの実施形態では、トレーニングサンプルは、ビデオコンテンツ項目がユーザデバイスにストリーミングされたネットワーク接続に関連付けられた際のネットワーク条件を示す情報(たとえば、接続のスループット、接続のグッドプット、接続の帯域幅、接続のタイプ、接続のラウンドトリップ時間(RTT)、ネットワーク識別子(たとえば、ASN、および/もしくは任意の他の適切な識別子)、ビデオコンテンツ項目をストリーミングするために使われるビットレート、ユーザデバイスに関連付けられたインターネットサービスプロバイダ(ISP)、ならびに/または任意の他の適切なネットワーク情報)を含み得る。別の例として、いくつかの実施形態では、トレーニングサンプルは、メディアコンテンツ項目をストリーミングするのに使われるユーザデバイスに関連付けられたデバイス情報(たとえば、ユーザデバイスのモデルもしくはタイプ、ユーザデバイスのディスプレイに関連付けられたディスプレイサイズもしくは解像度、ユーザデバイスの地理的ロケーション、ユーザデバイスによって使われるオペレーティングシステム、ビデオコンテンツ項目を提示するのに使われるビデオプレーヤウィンドウのビューポートのサイズ、および/または任意の他の適切なデバイス情報)を含み得る。さらに別の例として、いくつかの実施形態では、トレーニングサンプルは、ストリーミングされるビデオコンテンツ項目に関連した情報(たとえば、ビデオコンテンツ項目のジャンルもしくはカテゴリ、ビデオコンテンツ項目の長さ、ビデオコンテンツ項目がサーバにアップロードされた際の解像度、ビデオコンテンツ項目のための最も高い利用可能解像度、および/またはビデオコンテンツ項目に関連した任意の他の適切な情報)を含み得る。さらに別の例として、いくつかの実施形態では、トレーニングサンプルは、ユーザデバイスのユーザに関連した情報(たとえば、ユーザによって使われるデータプランについての情報、ユーザによって購入されたビデオストリーミングサブスクリプション向けの課金周期についての情報、任意の適切な持続時間にわたる、ユーザによるビデオコンテンツ視聴の平均もしくは総持続時間、任意の適切な持続時間にわたる、ユーザによるビデオコンテンツ項目再生の総回数、および/または任意の他の適切なユーザ情報)を含み得る。
いくつかの実施形態では、各トレーニングサンプルは、ビデオコンテンツ項目のストリーミング中にユーザによって手動で選択された、ビデオコンテンツ項目用の対応するフォーマットを含み得る。たとえば、いくつかの実施形態では、対応するフォーマットは、ビデオコンテンツ項目のストリーミング用にユーザによって選択された解像度を含み得る。いくつかの実施形態では、ビデオコンテンツ項目のストリーミング中にユーザデバイスのユーザがビデオコンテンツ項目の解像度を変えた事例において、フォーマットは、たとえば、各解像度が使われた持続時間によって重み付けされた、ビデオコンテンツ項目が提示された異なる解像度の平均解像度を示す重み付き解像度に対応し得ることに留意されたい。さらに、ビデオコンテンツ項目のストリーミング中にユーザデバイスのユーザがビデオコンテンツ項目の解像度を変えた事例では、トレーニングサンプルは、ビデオコンテンツ項目用のユーザ選択解像度の履歴を含み得ることに留意されたい。
204において、プロセス200は、トレーニングセットの中のトレーニングサンプルを使って、ビデオコンテンツ項目用の選択されたフォーマットを出力として生じるモデルをトレーニングすることができる。つまり、いくつかの実施形態では、モデルは、各トレーニングサンプル用に、トレーニングサンプルに対応するビデオコンテンツ項目をストリーミングするためにユーザによって手動で選択されたフォーマットを予測するようにトレーニングされてよい。いくつかの実施形態では、トレーニング済みモデルは、任意の適切なやり方で、選択されたフォーマットを生成してよいことに留意されたい。たとえば、いくつかの実施形態では、モデルは、選択されたフォーマットに関連付けられた特定の解像度に対応する分類を出力するようにトレーニングされてよい。別の例として、いくつかの実施形態では、モデルは、目標解像度に対応する連続値を出力するようにトレーニングされてよく、モデルは次いで、目標解像度値を利用可能解像度に量子化することによって、選択されたフォーマットを続いて生成してよい。いくつかの実施形態では、特定の出力解像度に対応する分類を生成するモデルをプロセス200がトレーニングする事例において、モデルは、可能解像度(たとえば、144ピクセル×256ピクセル、240ピクセル×426ピクセル、360ピクセル×640ピクセル、480ピクセル×854ピクセル、720ピクセル×1280ピクセル、1080ピクセル×1920ピクセル、および/または任意の他の適切な解像度)の任意の適切なグループから分類を生成し得ることに留意されたい。
いくつかの実施形態では、プロセス200は、任意の適切なアーキテクチャをもつモデルをトレーニングすることができる。たとえば、いくつかの実施形態では、プロセス200は、決定ツリーをトレーニングすることができる。より具体的な例として、いくつかの実施形態では、プロセス200は、使われるべき解像度の分類を生成するように、分類ツリーをトレーニングすることができる。別の例として、いくつかの実施形態では、プロセス200は、目標解像度を示す連続値を生成する回帰ツリーをトレーニングすることができ、連続値は次いで、ビデオコンテンツ項目用の利用可能解像度を生成するように量子化され得る。いくつかの実施形態では、プロセス200は、任意の適切な技法または技法の組合せを使って任意の適切な特徴に基づいてトレーニングセットデータを区分する決定ツリーモデルを生成する。たとえば、いくつかの実施形態では、プロセス200は、ツリーの分岐がそれに沿って形成されるべき入力特徴を、情報利得、ジニ不純度に基づいて、および/または任意の他の適切なメトリックに基づいて識別する任意の適切なアルゴリズムを使うことができる。別の例として、いくつかの実施形態では、プロセス200は、ニューラルネットワークをトレーニングすることができる。より具体的な例として、いくつかの実施形態では、プロセス200は、使われるべき解像度の分類を生成するマルチクラスパーセプトロンをトレーニングすることができる。別のより具体的な例として、いくつかの実施形態では、プロセス200は、目標解像度の連続値を出力するように、ニューラルネットワークをトレーニングすることができ、連続値は次いで、ビデオコンテンツ項目用の利用可能解像度を生成するように量子化され得る。いくつかのそのような実施形態では、任意の適切なパラメータが、任意の適切な学習率などのようなモデルをトレーニングするためにプロセス200によって使われてよいことに留意されたい。さらに、いくつかの実施形態では、ブロック202において生成されたトレーニングセットはトレーニングセットおよび検証セットに分割されてよく、これらのセットは、モデルを精製するのに使われ得ることに留意されたい。
いくつかの実施形態では、モデルは、任意の適切な入力特徴、ならびに任意の適切な数の入力特徴(たとえば、2、3、5、10、20、および/または任意の他の適切な数)を使ってよいことに留意されたい。たとえば、いくつかの実施形態では、モデルは、特定のネットワーク品質メトリックに対応する入力特徴(たとえば、ネットワーク接続の帯域幅、ネットワーク接続のスループットもしくはグッドプット、ネットワーク接続の待ち時間、および/または任意の他の適切なネットワーク品質メトリック)、ネットワークタイプに対応する特徴(たとえば、Wi-Fi、3G、4G、イーサネット、および/または任意の他の適切なタイプ)、デバイス情報に対応する特徴(たとえば、ディスプレイ解像度、デバイスタイプもしくはモデル、デバイスオペレーティングシステム、デバイス地理的ロケーション、ビューポートサイズ、および/または任意の他の適切なデバイス情報)、ユーザ情報に対応する特徴(たとえば、ユーザサブスクリプション情報、あらかじめ選択されたフォーマット、および/または任意の他の適切なユーザ情報)、ならびに/あるいはビデオコンテンツ情報に対応する特徴(たとえば、ビデオコンテンツ項目長さ、ビデオコンテンツ項目人気、ビデオコンテンツ項目トピックまたはジャンル)を使うことができる。さらに、いくつかの実施形態では、入力特徴は、任意の適切なやり方で、および任意の適切な技法を使って選択されてよいことに留意されたい。
206において、プロセス200は、ビデオコンテンツ項目をストリーミングすることを要求したユーザデバイスに関連付けられたネットワーク情報およびデバイス情報を受信し得る。いくつかの実施形態では、ユーザデバイスは、上述したようにブロック202において生成されたトレーニングセットで表されても、表されなくてもよいことに留意されたい。図1のブロック104に関連して上述したように、いくつかの実施形態では、ネットワーク情報は、ビデオコンテンツ項目をストリーミングするためにユーザデバイスによって使われるネットワーク接続に関連した任意の適切な情報、たとえば、接続の帯域幅、接続の待ち時間、接続のスループットおよび/もしくはグッドプット、接続のタイプ(たとえば、3G、4G、Wi-Fi、イーサネット、および/もしくは任意の他の適切なタイプの接続)、ならびに/または任意の他の適切なネットワーク情報を含み得る。図1のブロック104に関連して上述したように、いくつかの実施形態では、デバイス情報は、ユーザデバイスに関連した任意の適切な情報、たとえば、ユーザデバイスのモデルもしくはタイプ、ユーザデバイスによって使われるオペレーティングシステム、ユーザデバイスに関連付けられたディスプレイのサイズもしくは解像度、ビデオコンテンツ項目が提示されるべきであるビデオプレーヤウィンドウのビューポートのサイズ、および/または任意の他の適切なデバイス情報を含み得る。さらに、いくつかの実施形態では、プロセス200は、ビデオコンテンツ項目に関連した任意の適切な情報(たとえば、ビデオコンテンツ項目に関連付けられたトピックもしくはジャンル、ビデオコンテンツ項目の長さ、ビデオコンテンツ項目の人気、および/または任意の他の適切なビデオコンテンツ項目情報)、ユーザデバイスのユーザに関連した情報(たとえば、ユーザに関連付けられた課金情報、ビデオコンテンツ項目を提供するビデオコンテンツストリーミングサービスへのユーザのサブスクリプションに関連した情報、ユーザの以前の再生履歴を示す情報、および/または任意の他の適切なユーザ情報)、ならびに/あるいは他のビデオコンテンツ項目をストリーミングするために、ユーザデバイスのユーザによってあらかじめ選択されたビデオコンテンツ項目のフォーマットまたは解像度を示す情報を受信し得る。
208において、プロセス200は、トレーニング済みモデルを使って、ビデオコンテンツ項目をストリーミングするためのフォーマットを選択し得る。いくつかの実施形態では、プロセス200は、トレーニング済みモデルを、どの適切なやり方で使ってもよい。たとえば、いくつかの実施形態では、プロセス200は、トレーニング済みモデルによって使われる入力特徴に対応する、また、プロセス200によってブロック206において受信されたネットワークおよびデバイス情報に基づく入力を生成してよく、生成された入力を使って、ビデオコンテンツ項目の解像度を示す出力を生成してよい。より具体的な例として、トレーニング済みモデルが、入力として、ネットワーク接続のスループット、ユーザデバイスの地理的ロケーション、ユーザデバイス上で提示されるビデオプレーヤウィンドウのビューポートのサイズ、およびユーザデバイスのオペレーティングシステムをとる事例では、プロセス200は、トレーニング済みモデルによって求められる入力情報を含む入力ベクトルを生成してよい。この例を続けると、プロセス200は次いで、入力ベクトルによって示される条件下でビデオコンテンツ項目をストリーミングするときにユーザによって選択される見込みがあるフォーマットを表す目標解像度を出力として生成するのに、トレーニング済みモデルを使えばよい。
目標解像度に対応する連続値(たとえば、目標解像度の高さおよび/または幅を表す連続値)をトレーニング済みモデルが生成する事例では、プロセス200は、ビデオコンテンツ項目の利用可能解像度に対応するように連続値を量子化してよいことに留意されたい。たとえば、いくつかの実施形態では、プロセス200は、トレーニング済みモデルによって生成された連続値に最も近い、ビデオコンテンツ項目の利用可能解像度を選択し得る。より具体的な例として、トレーニング済みモデルが718ピクセル×1278ピクセルの目標解像度を生成する事例では、プロセス200は、最も近い利用可能解像度が720ピクセル×1280ピクセルであると判断し得る。
図3に移ると、特定のフォーマットをもつビデオコンテンツ項目のストリーミングに関連付けられた品質スコアを予測するようにモデルをトレーニングするためのプロセスの、説明のための例300が、開示される主題のいくつかの実施形態に従って示されている。いくつかの実施形態では、プロセス300のブロックは、ユーザデバイスにビデオコンテンツ項目を記憶および/またはストリーミングするサーバ(たとえば、ビデオコンテンツ共有サービスに関連付けられたサーバ、ソーシャルネットワーキングサービスに関連付けられたサーバ、および/または任意の他の適切なサーバ)など、任意の適切なデバイスによって実行され得る。
プロセス300は始めに、302において、以前ストリーミングされたビデオコンテンツ項目からトレーニングセットを生成すればよく、ここで、各トレーニングサンプルは、特定のフォーマットをもつビデオコンテンツ項目のストリーミングの品質を表す品質スコアに関連付けられる。いくつかの実施形態では、各トレーニングサンプルは、特定のユーザデバイスにストリーミングされるビデオコンテンツ項目に対応し得る。いくつかの実施形態では、各トレーニングサンプルは、どの適切な情報も含み得る。たとえば、いくつかの実施形態では、トレーニングサンプルは、ビデオコンテンツ項目がユーザデバイスにストリーミングされた際のネットワーク接続に関連付けられたネットワーク条件を示す情報(たとえば、接続のスループット、接続のグッドプット、接続の帯域幅、接続のタイプ、接続のラウンドトリップ時間(RTT)、ネットワーク識別子(たとえば、ASN、および/もしくは任意の他の適切な識別子)、ビデオコンテンツ項目をストリーミングするために使われるビットレート、接続に関連付けられたインターネットサービスプロバイダ(ISP)、ならびに/または任意の他の適切なネットワーク情報)を含み得る。別の例として、いくつかの実施形態では、トレーニングサンプルは、メディアコンテンツ項目をストリーミングするのに使われるユーザデバイスに関連付けられたデバイス情報(たとえば、ユーザデバイスのモデルもしくはタイプ、ユーザデバイスのディスプレイに関連付けられたディスプレイ解像度、ユーザデバイスの地理的ロケーション、ユーザデバイスによって使われるオペレーティングシステム、ビデオコンテンツ項目が提示されるユーザデバイス上のビデオプレーヤウィンドウのビューポートのサイズ、および/または任意の他の適切なデバイス情報)を含み得る。さらに別の例として、いくつかの実施形態では、トレーニングサンプルは、ストリーミングされるビデオコンテンツ項目に関連した情報(たとえば、ビデオコンテンツ項目のジャンルもしくはカテゴリ、ビデオコンテンツ項目の長さ、ビデオコンテンツ項目がサーバにアップロードされた際の解像度、ビデオコンテンツ項目のための最も高い利用可能解像度、および/またはビデオコンテンツ項目に関連した任意の他の適切な情報)を含み得る。さらに別の例として、いくつかの実施形態では、トレーニングサンプルは、ユーザデバイスのユーザに関連した情報(たとえば、ユーザによって使われるデータプランについての情報、ユーザによって購入されたビデオストリーミングサブスクリプション向けの課金周期についての情報、任意の適切な持続時間にわたる、ユーザによるビデオコンテンツ視聴の平均もしくは総持続時間、任意の適切な持続時間にわたる、ユーザによるビデオコンテンツ項目再生の総回数、および/または任意の他の適切なユーザ情報)を含み得る。
いくつかの実施形態では、各トレーニングサンプルは、ビデオコンテンツ項目がユーザデバイスにストリーミングされた際のフォーマットを含み得る。たとえば、いくつかの実施形態では、フォーマットは、ビデオコンテンツ項目がユーザデバイスにストリーミングされた際のビデオコンテンツ項目の解像度を含み得る。ビデオコンテンツ項目の提示中にビデオコンテンツ項目の解像度が変えられた事例では、解像度は、各解像度が使われた持続時間によって重み付けされた、ビデオコンテンツ項目の異なる解像度の平均に対応する重み付き解像度であってよいことに留意されたい。
いくつかの実施形態では、各トレーニングサンプルは、トレーニングサンプル中で指示される解像度(または重み付き解像度)でビデオコンテンツ項目をストリーミングする品質を示す、対応する品質スコアに関連付けられてよい。いくつかの実施形態では、品質スコアは、どの適切なやり方で算出されてもよい。たとえば、いくつかの実施形態では、品質スコアは、ビデオコンテンツ項目が視聴された持続時間を示す視聴時間に基づいて算出されてよい。より具体的な例として、いくつかの実施形態では、品質スコアは、トレーニングサンプルのビデオコンテンツ項目がストリーミングされたビデオコンテンツストリーミングセッション中にビデオコンテンツ項目が視聴された総持続時間に基づいてよい。具体例として、30分間続いたビデオコンテンツストリーミングセッション中にトレーニングサンプルのビデオコンテンツ項目がストリーミングされた事例では、品質スコアは、30分間のセッション視聴持続時間に基づいてよい。別のより具体的な例として、いくつかの実施形態では、品質スコアは、トレーニングサンプルのビデオコンテンツ項目が視聴された持続時間またはビデオコンテンツ項目の提示を停止するのに先立って視聴されたビデオコンテンツ項目の割合に基づいてよい。具体例として、ビデオコンテンツ項目の提示を停止するのに先立って、ユーザデバイスのユーザによってトレーニングサンプルのビデオコンテンツ項目の50%が視聴された事例では、品質スコアは、視聴されるビデオコンテンツ項目の50%に基づいてよい。
別の例として、いくつかの実施形態では、品質スコアは、2つのビデオコンテンツ項目の提示の間の待ち時間の長さの影響を指示する占有スコアに基づいて算出され得る。いくつかの実施形態では、品質スコアを算出するのに使われ得る占有スコアの例は、占有スコア=(次のビデオコンテンツ項目の経過視聴時間)/(次のビデオコンテンツ項目の経過視聴時間+現在のビデオコンテンツ項目と次のビデオコンテンツ項目との間の待ち時間または間隔)である。いくつかの実施形態では、トレーニングサンプルに対応するビデオコンテンツ項目は、占有スコアメトリックにおいて参照される現在のビデオコンテンツ項目または占有スコアメトリックにおいて参照される次のビデオコンテンツ項目のいずれかであってよいことに留意されたい。
いくつかの実施形態では、品質スコアは、視聴時間メトリックの関数(たとえば、ビデオコンテンツ項目が視聴された持続時間、視聴されたビデオコンテンツ項目の割合、ビデオコンテンツストリーミングセッション中にビデオコンテンツ項目が視聴された持続時間、および/もしくは任意の他の適切な視聴時間メトリック)または占有メトリックの関数であってよいことに留意されたい。いくつかの実施形態では、関数は、どの適切な関数であってもよい。たとえば、いくつかの実施形態では、関数は、任意の適切な飽和関数(たとえば、シグモイド関数、ロジスティック関数、および/または任意の他の適切な飽和関数)であってよい。
304において、プロセス300は、トレーニングセットを使って、ネットワーク情報、デバイス情報、ユーザ情報、および/またはビデオコンテンツ情報に基づいて品質スコアを予測するモデルをトレーニングすることができる。図2のブロック204に関連して上述したのと同様に、いくつかの実施形態では、プロセス300は、どの適切なアーキテクチャをもつモデルもトレーニングすることができる。たとえば、いくつかの実施形態では、プロセス300は、決定ツリーをトレーニングすることができる。より具体的な例として、いくつかの実施形態では、プロセス300は、品質スコアが特定の範囲(たとえば、0~0.2以内、0.21~0.4以内、および/または任意の他の適切な範囲)内である分類を生成するように、分類ツリーをトレーニングすることができる。別の例として、いくつかの実施形態では、プロセス300は、予測品質スコアを指示する連続値を生成する回帰ツリーをトレーニングすることができる。いくつかの実施形態では、プロセス300は、任意の適切な技法または技法の組合せを使って任意の適切な特徴に基づいてトレーニングセットデータを区分する決定ツリーモデルを生成することができる。たとえば、いくつかの実施形態では、プロセス300は、ツリーの分岐がそれに沿って形成されるべき入力特徴を、情報利得、ジニ不純度に基づいて、および/または任意の他の適切なメトリックに基づいて識別する任意の適切なアルゴリズムを使うことができる。
別の例として、いくつかの実施形態では、プロセス300は、ニューラルネットワークをトレーニングすることができる。より具体的な例として、いくつかの実施形態では、プロセス300は、上述したように、特定の範囲内であるものとして品質スコアの分類を生成するマルチクラスパーセプトロンをトレーニングすることができる。別のより具体的な例として、いくつかの実施形態では、プロセス300は、予測品質スコアの連続値を出力するように、ニューラルネットワークをトレーニングすることができる。いくつかのそのような実施形態では、任意の適切なパラメータが、任意の適切な学習率などのようなモデルをトレーニングするためにプロセス300によって使われてよいことに留意されたい。さらに、いくつかの実施形態では、ブロック302において生成されたトレーニングセットはトレーニングセットおよび検証セットに分割されてよく、これらのセットは、モデルを精製するのに使われ得ることに留意されたい。
306において、プロセス300は、ビデオコンテンツ項目をストリーミングすることを要求したユーザデバイスに関連付けられたネットワーク情報およびデバイス情報を受信し得る。いくつかの実施形態では、ユーザデバイスは、上述したようにブロック302において生成されたトレーニングセットで表されても、表されなくてもよいことに留意されたい。図1のブロック104に関連して上述したように、いくつかの実施形態では、ネットワーク情報は、ビデオコンテンツ項目をストリーミングするためにユーザデバイスによって使われるネットワーク接続に関連した任意の適切な情報、たとえば、接続の帯域幅、接続の待ち時間、接続のスループットおよび/もしくはグッドプット、接続のタイプ(たとえば、3G、4G、Wi-Fi、イーサネット、および/もしくは任意の他の適切なタイプの接続)、ならびに/または任意の他の適切なネットワーク情報を含み得る。図1のブロック104に関連して上述したように、いくつかの実施形態では、デバイス情報は、ユーザデバイスに関連した任意の適切な情報、たとえば、ユーザデバイスのモデルもしくはタイプ、ユーザデバイスによって使われるオペレーティングシステム、ユーザデバイスに関連付けられたディスプレイのサイズもしくは解像度、ビデオコンテンツ項目を提示するのに使われるべきであるユーザデバイス上のビデオプレーヤウィンドウのビューポートのサイズ、および/または任意の他の適切なデバイス情報を含み得る。さらに、いくつかの実施形態では、プロセス300は、ビデオコンテンツ項目に関連した任意の適切な情報(たとえば、ビデオコンテンツ項目に関連付けられたトピックもしくはジャンル、ビデオコンテンツ項目の長さ、ビデオコンテンツ項目の人気、および/または任意の他の適切なビデオコンテンツ項目情報)、ユーザデバイスのユーザに関連した情報(たとえば、ユーザに関連付けられた課金情報、ビデオコンテンツ項目を提供するビデオコンテンツストリーミングサービスへのユーザのサブスクリプションに関連した情報、ユーザの以前の再生履歴を示す情報、および/または任意の他の適切なユーザ情報)、ならびに/あるいは他のビデオコンテンツ項目をストリーミングするために、ユーザデバイスのユーザによってあらかじめ選択されたビデオコンテンツ項目のフォーマットまたは解像度を示す情報を受信し得る。
308において、プロセス300は、ネットワーク情報、デバイス情報、ユーザ情報、および/またはビデオコンテンツ項目情報を使ってトレーニング済みモデルを評価して、可能フォーマットのグループ中の異なるフォーマットに対応する予測品質スコアのグループを算出すればよい。いくつかの実施形態では、可能フォーマットのグループは、ビデオコンテンツ項目の異なる利用可能解像度(たとえば、144ピクセル×256ピクセル、240ピクセル×426ピクセル、360ピクセル×640ピクセル、480ピクセル×854ピクセル、720ピクセル×1280ピクセル、1080ピクセル×1920ピクセル、および/または任意の他の適切な解像度)など、任意の好適なフォーマットを含み得ることに留意されたい。いくつかの実施形態では、可能フォーマットのグループは、任意の適切な数(たとえば、1、2、3、5、10、および/またはどの他の適切な数)の可能フォーマットを含み得ることに留意されたい。可能フォーマットのグループに対応する予測品質スコアのグループの具体例は、360ピクセル×640ピクセルの解像度に対応するフォーマットについての最も高い予測品質スコアを示す、[144ピクセル×256ピクセル、0.2;240ピクセル×426ピクセル、0.4;360ピクセル×640ピクセル、0.7;480ピクセル×854ピクセル、0.5;720ピクセル×1280ピクセル、0.2;1080ピクセル×1920ピクセル、0.1]であってよい。
いくつかの実施形態では、プロセス300は、入力特徴の任意の適切な組合せを使って、トレーニング済みモデルを評価してよいことに留意されたい。たとえば、いくつかの実施形態では、トレーニング済みモデルは、任意の適切なネットワーク品質メトリック(たとえば、ネットワーク接続の帯域幅、ネットワーク接続の待ち時間、ネットワーク接続のスループットもしくはグッドプット、および/または任意の他の適切なネットワーク品質メトリック)、デバイス情報(たとえば、ユーザデバイスのタイプもしくはモデル、ユーザデバイスによって使われるオペレーティングシステム、ユーザデバイスに関連付けられたディスプレイのディスプレイサイズまたは解像度、ビデオコンテンツ項目を提示するのに使われるビデオプレーヤウィンドウのビューポートサイズ、ユーザデバイスの地理的ロケーション、および/または任意の他の適切なデバイス情報)、ユーザ情報(たとえば、あらかじめ選択されたフォーマット、ユーザデバイスのユーザによって購入されたサブスクリプションを示す情報、および/または任意の他の適切なユーザ情報)、ならびに/あるいはビデオコンテンツ項目情報(たとえば、ビデオコンテンツ項目のジャンルまたはトピック、ビデオコンテンツ項目の長さ、ビデオコンテンツ項目の人気、および/または任意の他の適切なビデオコンテンツ項目情報)を含む入力特徴の任意の組合せを使ってよい。いくつかの実施形態では、トレーニング済みモデルが決定ツリーである事例では、プロセス300は、決定ツリーのトレーニング中に選択された入力特徴を使って、トレーニング済みモデルを評価することができる。より具体的な例として、入力特徴のグループは、ユーザデバイスによって使われるネットワーク接続、ユーザデバイスによって使われるオペレーティングシステム、およびユーザデバイスによって使われる現在の地理的ロケーションの現在のグッドプットを含み得る。
310において、プロセス300は、各可能フォーマットについての予測品質スコアに基づいて、対応する可能フォーマットのグループのうちのフォーマットを選択し得る。たとえば、いくつかの実施形態では、プロセス300は、最も高い予測品質スコアに対応する、可能フォーマットのグループのうちのフォーマットを選択し得る。より具体的な例として、[144ピクセル×256ピクセル、0.2;240ピクセル×426ピクセル、0.4;360ピクセル×640ピクセル、0.7;480ピクセル×854ピクセル、0.5;720ピクセル×1280ピクセル、0.2;1080ピクセル×1920ピクセル、0.1]という、可能フォーマットおよび対応する予測品質スコアの、上に挙げた例を続けると、プロセス300は、360ピクセル×640ピクセルの解像度に対応するフォーマットを選択すればよい。
図4に移ると、開示される主題のいくつかの実施形態に従って使われ得る、メディアコンテンツ項目をストリーミングするためのフォーマットを選択するためのハードウェアの、説明のための例400が示されている。示されるように、ハードウェア400は、サーバ402、通信ネットワーク404、ならびに/または、ユーザデバイス408および410など、1つもしくは複数のユーザデバイス406を含み得る。
サーバ402は、情報、データ、プログラム、メディアコンテンツ、および/または任意の他の適切なコンテンツを記憶するための任意の適切なサーバであり得る。いくつかの実施形態では、サーバ402は、任意の適切な機能を実施し得る。たとえば、いくつかの実施形態では、サーバ402は、図1に示し、記載したように、最適ビデオコンテンツ項目フォーマットを予測するトレーニング済みモデルを使って、ユーザデバイスにストリーミングされるべきビデオコンテンツ項目用のフォーマットを選択すればよい。いくつかの実施形態では、サーバ402は、図2および図3に示し、それらに関連して以下で説明するように、最適ビデオコンテンツ項目フォーマットを予測するモデルをトレーニングすればよい。たとえば、図2に示し、それに関連して以下で説明するように、サーバ402は、ユーザによってあらかじめ選択されたフォーマットに基づいて、最適ビデオコンテンツ項目フォーマットを予測するモデルをトレーニングしてよい。別の例として、図3に示し、それに関連して以下で説明するように、サーバ402は、異なるフォーマットでビデオコンテンツ項目のストリーミングに関連付けられた品質スコアに基づいて、最適ビデオコンテンツ項目フォーマットを予測するモデルをトレーニングしてよい。
通信ネットワーク404は、いくつかの実施形態では、1つまたは複数のワイヤードおよび/またはワイヤレスネットワークの任意の適切な組合せであり得る。たとえば、通信ネットワーク404は、インターネット、イントラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、ワイヤレスネットワーク、デジタル加入者線(DSL)ネットワーク、フレームリレーネットワーク、非同期トランスファーモード(ATM)ネットワーク、仮想プライベートネットワーク(VPN)、および/または任意の他の適切な通信ネットワークのうちの任意の1つまたは複数を含み得る。ユーザデバイス406は、1つまたは複数の通信リンク(たとえば、通信リンク414)を介してサーバ402にリンクされ得る通信ネットワーク404に、1つまたは複数の通信リンク(たとえば、通信リンク412)によって接続され得る。通信リンクは、ネットワークリンク、ダイヤルアップリンク、ワイヤレスリンク、ハードワイヤードリンク、任意の他の適切な通信リンク、またはそのようなリンクの任意の適切な組合せなどの、ユーザデバイス406とサーバ402との間でデータを通信するのに適した任意の通信リンクであり得る。
ユーザデバイス406は、メディアコンテンツをストリーミングするのに適した任意の1つまたは複数のユーザデバイスを含み得る。いくつかの実施形態では、ユーザデバイス406は、モバイルフォン、タブレットコンピュータ、ウェアラブルコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、スマートテレビジョン、メディアプレーヤ、ゲームコンソール、車両情報および/もしくはエンターテインメントシステム、ならびに/または任意の他の適切なタイプのユーザデバイスなど、任意の適切なタイプのユーザデバイスも含み得る。
サーバ402は1つのデバイスとして示されているが、サーバ402によって実施される機能は、いくつかの実施形態では任意の適切な数のデバイスを使用して実施され得る。たとえば、いくつかの実施形態では、複数のデバイスが、サーバ402により実施される機能を実装するために使用され得る。
図を過剰に複雑にするのを避けるために、2つのユーザデバイス408および410が図4に示されているが、いくつかの実施形態では、任意の適切な数のユーザデバイス、および/または任意の適切なタイプのユーザデバイスが使用され得る。
いくつかの実施形態では、サーバ402およびユーザデバイス406は、任意の適切なハードウェアを使用して実装され得る。たとえば、いくつかの実施形態では、デバイス402および406は、任意の適切な汎用コンピュータまたは専用コンピュータを使用して実装され得る。たとえば、モバイルフォンは、専用コンピュータを使用して実装され得る。任意のそのような汎用コンピュータまたは専用コンピュータが、任意の適切なハードウェアを含み得る。たとえば、図5の例示的なハードウェア500において示されるように、そのようなハードウェアは、ハードウェアプロセッサ502、メモリおよび/またはストレージ504、入力デバイスコントローラ506、入力デバイス508、ディスプレイ/オーディオドライバ510、ディスプレイおよびオーディオ出力回路構成512、通信インターフェース514、アンテナ516、ならびにバス518を含み得る。
ハードウェアプロセッサ502は、いくつかの実施形態では、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、専用論理、および/または、汎用コンピュータもしくは専用コンピュータの機能を制御するための任意の他の適切な回路構成など、任意の適切なハードウェアプロセッサを含み得る。いくつかの実施形態では、ハードウェアプロセッサ502は、サーバ402などのサーバのメモリおよび/またはストレージに記憶されるサーバプログラムによって制御され得る。いくつかの実施形態では、ハードウェアプロセッサ502は、ユーザデバイス406のメモリおよび/またはストレージ504に記憶されているコンピュータプログラムによって制御され得る。
メモリおよび/またはストレージ504は、いくつかの実施形態では、プログラム、データ、および/または任意の他の適切な情報を記憶するための、任意の適切なメモリおよび/またはストレージであり得る。たとえば、メモリおよび/またはストレージ504は、ランダムアクセスメモリ、読取り専用メモリ、フラッシュメモリ、ハードディスクストレージ、光学メディア、および/または任意の適切なメモリを含み得る。
入力デバイスコントローラ506は、いくつかの実施形態では、1つまたは複数の入力デバイス508を制御してそれらから入力を受けるための任意の適切な回路構成であり得る。たとえば、入力デバイスコントローラ506は、タッチスクリーンから、キーボードから、1つまたは複数のボタンから、音声認識回路から、マイクロフォンから、カメラから、光学センサから、加速度計から、温度センサから、近距離センサから、圧力センサから、エンコーダから、および/または任意の他のタイプの入力デバイスから、入力を受けるための回路構成であり得る。
ディスプレイ/オーディオドライバ510は、いくつかの実施形態では、1つまたは複数のディスプレイ/オーディオ出力デバイス512を制御してそれへの出力を駆動するための任意の適切な回路構成であり得る。たとえば、ディスプレイ/オーディオドライバ510は、タッチスクリーン、フラットパネルディスプレイ、陰極線管ディスプレイ、プロジェクタ、1つもしくは複数のスピーカ、ならびに/または任意の他の適切なディスプレイおよび/もしくは提示デバイスを駆動するための回路構成であり得る。
通信インターフェース514は、1つまたは複数の通信ネットワーク(たとえば、コンピュータネットワーク404)とインターフェースをとるための任意の適切な回路構成であり得る。たとえば、インターフェース514は、ネットワークインターフェースカード回路構成、ワイヤレス通信回路構成、および/または任意の他の適切なタイプの通信ネットワーク回路構成を含み得る。
アンテナ516は、いくつかの実施形態では、通信ネットワーク(たとえば、通信ネットワーク404)とワイヤレスに通信するための任意の適切な1つまたは複数のアンテナであり得る。いくつかの実施形態では、アンテナ516は省略され得る。
バス518は、いくつかの実施形態では、2つ以上の構成要素502、504、506、510、および514の間で通信するための任意の適切な機構であり得る。
いくつかの実施形態に従って、任意の他の適切な構成要素がハードウェア500に含まれ得る。
いくつかの実施形態では、図1~図3のプロセスの、上で説明されたブロックの少なくともいくつかは、図において示され図に関連して説明される順序および順列に限定されない、任意の順序または順列で実行または実施され得る。また、図1~図3の上記のブロックのいくつかは、適切な場合には実質的に同時に、またはレイテンシおよび処理時間を減らすために並列に、実行または実施され得る。追加または代替として、図1~図3のプロセスの、上で説明されたブロックのいくつかは省略されてよい。
いくつかの実施形態では、本明細書における機能および/またはプロセスを実施するための命令を記憶するために、任意の適切なコンピュータ可読媒体が使用され得る。たとえば、いくつかの実施形態では、コンピュータ可読媒体は、一時的または非一時的であり得る。たとえば、非一時的コンピュータ可読媒体は、非一時的な形態の磁気媒体(ハードディスク、フロッピーディスク、および/もしくは任意の他の適切な磁気媒体など)、非一時的な形態の光学媒体(コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、および/もしくは任意の他の適切な光学媒体など)、非一時的な形態の半導体媒体(フラッシュメモリ、電気的プログラム可能読取り専用メモリ(EPROM)、電気的消去可能プログラム可能読取り専用メモリ(EEPROM)、および/もしくは任意の他の適切な半導体媒体など)、一過性でなく、もしくは送信の間に見かけ上の永続性を失うことのない任意の適切な媒体、ならびに/または任意の適切な有形媒体などの媒体を含み得る。別の例として、一時的コンピュータ可読媒体は、ネットワーク上の、配線中の、導体中の、光ファイバ中の、回路中の、一過性であり、また送信の間にあらゆる見かけ上の永続性を失う任意の適切な媒体中の、および/または任意の適切な非有形媒体中の信号を含み得る。
したがって、メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体が提供される。
本発明は、前述の説明のための実施形態において説明され示されているが、本開示は、単なる例として行われるものであり、本発明の実装形態の詳細における多数の変更が、以下の特許請求の範囲だけによって限定される本発明の趣旨および範囲から逸脱することなく行われ得ることが理解される。開示される実施形態の特徴は、様々な方法で組み合わされて並べ替えられ得る。
400 ハードウェア
402 サーバ
404 通信ネットワーク、コンピュータネットワーク
406 ユーザデバイス
408 ユーザデバイス
410 ユーザデバイス
412 通信リンク
414 通信リンク
500 ハードウェア
502 ハードウェアプロセッサ、構成要素
504 メモリおよび/またはストレージ、構成要素
506 入力デバイスコントローラ、構成要素
508 入力デバイス
510 ディスプレイ/オーディオドライバ、構成要素
512 ディスプレイおよびオーディオ出力回路構成、ディスプレイ/オーディオ出力デバイス
514 通信インターフェース、インターフェース、構成要素
516 アンテナ
518 バス

Claims (18)

  1. ビデオコンテンツ項目をストリーミングするためのフォーマットを選択するための方法であって、
    ユーザデバイス上でビデオコンテンツ項目をストリーミングし始めるための前記ユーザデバイスからの要求を、サーバにおいて受信するステップと、
    前記ビデオコンテンツ項目をストリーミングするのに使われる通信ネットワークへの前記ユーザデバイスのネットワーク接続の品質を示すネットワーク情報、および前記ユーザデバイスに関連したデバイス情報を、前記ユーザデバイスから受信するステップと、
    前記サーバによって、前記ビデオコンテンツ項目用の第1のフォーマットを選択するステップであって、前記ユーザデバイスのユーザがビデオコンテンツ項目をストリーミングする持続時間を最大にするフォーマットを、前記サーバによって識別するステップを含み、前記第1のフォーマットは、前記ネットワーク情報および前記デバイス情報に基づく、複数の解像度のうちの第1の解像度を含む、ステップと、
    前記サーバから、前記第1のフォーマットを有する前記ビデオコンテンツ項目の第1の部分を前記ユーザデバイスへ送信するステップと、
    前記サーバにおいて前記ユーザデバイスから、更新されたネットワーク情報および更新されたデバイス情報を受信するステップと、
    前記サーバによって、前記ビデオコンテンツ項目用の第2のフォーマットを選択するステップであって、前記第2のフォーマットは、前記更新されたネットワーク情報および前記更新されたデバイス情報に基づく、前記複数の解像度のうちの第2の解像度を含む、ステップと、
    前記サーバから、前記第2のフォーマットを有する前記ビデオコンテンツ項目の第2の部分を前記ユーザデバイスへ送信するステップとを含む方法。
  2. 前記ビデオコンテンツ項目用の前記第1のフォーマットを選択するステップは、前記ユーザデバイスのユーザによって選択される見込みがあるフォーマットを、前記サーバによって予測するステップをさらに含む、請求項1に記載の方法
  3. 記更新されたデバイス情報は、前記ビデオコンテンツ項目が提示されている前記ユーザデバイス上で実行するビデオプレーヤウィンドウのビューポートのサイズが変化したという指示を含む、請求項1に記載の方法。
  4. 前記更新されたデバイス情報は、前記ビューポートの前記サイズが縮小したことを示し、前記第2の解像度は前記第1の解像度よりも低い、請求項3に記載の方法。
  5. 前記ビデオコンテンツ項目用の前記第1のフォーマットは、前記ビデオコンテンツ項目のジャンルに基づいて選択される、請求項1に記載の方法。
  6. 前記ビデオコンテンツ項目用の前記第1のフォーマットは、前記サーバから他のビデオコンテンツ項目をストリーミングするために、前記ユーザデバイスのユーザがあらかじめ選択したフォーマットに基づいて選択される、請求項1に記載の方法。
  7. ビデオコンテンツ項目をストリーミングするためのフォーマットを選択するためのシステムであって、
    メモリと、
    ハードウェアプロセッサとを備え、前記ハードウェアプロセッサは、前記メモリに記憶されているコンピュータ実行可能命令を実行すると、
    ーザデバイス上でビデオコンテンツ項目をストリーミングし始めるための前記ユーザデバイスからの要求を、サーバにおいて受信することと、
    前記ビデオコンテンツ項目をストリーミングするのに使われる通信ネットワークへの前記ユーザデバイスのネットワーク接続の品質を示すネットワーク情報、および前記ユーザデバイスに関連したデバイス情報を、前記ユーザデバイスから受信することと、
    前記サーバによって、前記ビデオコンテンツ項目用の第1のフォーマットを選択することであって、前記ユーザデバイスのユーザがビデオコンテンツ項目をストリーミングする持続時間を最大にするフォーマットを、前記サーバによって識別することを含み、前記第1のフォーマットは、前記ネットワーク情報および前記デバイス情報に基づく、複数の解像度のうちの第1の解像度を含む、ことと、
    前記サーバから、前記第1のフォーマットを有する前記ビデオコンテンツ項目の第1の部分を前記ユーザデバイスへ送信することと、
    前記サーバにおいて前記ユーザデバイスから、更新されたネットワーク情報および更新されたデバイス情報を受信することと、
    前記サーバによって、前記ビデオコンテンツ項目用の第2のフォーマットを選択することであって、前記第2のフォーマットは、前記更新されたネットワーク情報および前記更新されたデバイス情報に基づく、前記複数の解像度のうちの第2の解像度を含む、ことと、
    前記サーバから、前記第2のフォーマットを有する前記ビデオコンテンツ項目の第2の部分を前記ユーザデバイスへ送信することとを行うように構成される、システム。
  8. 前記ビデオコンテンツ項目用の前記第1のフォーマットを選択することは、前記ユーザデバイスのユーザによって選択される見込みがあるフォーマットを、前記サーバによって予測することをさらに含む、請求項7に記載のシステム
  9. 記更新されたデバイス情報は、前記ビデオコンテンツ項目が提示されている前記ユーザデバイス上で実行するビデオプレーヤウィンドウのビューポートのサイズが変化したという指示を含む、請求項7に記載のシステム。
  10. 前記更新されたデバイス情報は、前記ビューポートの前記サイズが縮小したことを示し、前記第2の解像度は前記第1の解像度よりも低い、請求項9に記載のシステム。
  11. 前記ビデオコンテンツ項目用の前記第1のフォーマットは、前記ビデオコンテンツ項目のジャンルに基づいて選択される、請求項7に記載のシステム。
  12. 前記ビデオコンテンツ項目用の前記第1のフォーマットは、前記サーバから他のビデオコンテンツ項目をストリーミングするために、前記ユーザデバイスのユーザがあらかじめ選択したフォーマットに基づいて選択される、請求項7に記載のシステム。
  13. コンピュータ実行可能命令を含むコンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、ビデオコンテンツ項目をストリーミングするためのフォーマットを選択するための方法を実施させ、前記方法は
    ーザデバイス上でビデオコンテンツ項目をストリーミングし始めるための前記ユーザデバイスからの要求を、サーバにおいて受信するステップと、
    前記ビデオコンテンツ項目をストリーミングするのに使われる通信ネットワークへの前記ユーザデバイスのネットワーク接続の品質を示すネットワーク情報、および前記ユーザデバイスに関連したデバイス情報を、前記ユーザデバイスから受信するステップと、
    前記サーバによって、前記ビデオコンテンツ項目用の第1のフォーマットを選択するステップであって、前記ユーザデバイスのユーザがビデオコンテンツ項目をストリーミングする持続時間を最大にするフォーマットを、前記サーバによって識別するステップを含み、前記第1のフォーマットは、前記ネットワーク情報および前記デバイス情報に基づく、複数の解像度のうちの第1の解像度を含む、ステップと、
    前記サーバから、前記第1のフォーマットを有する前記ビデオコンテンツ項目の第1の部分を前記ユーザデバイスへ送信するステップと、
    前記サーバにおいて前記ユーザデバイスから、更新されたネットワーク情報および更新されたデバイス情報を受信するステップと、
    前記サーバによって、前記ビデオコンテンツ項目用の第2のフォーマットを選択するステップであって、前記第2のフォーマットは、前記更新されたネットワーク情報および前記更新されたデバイス情報に基づく、前記複数の解像度のうちの第2の解像度を含む、ステップと、
    前記サーバから、前記第2のフォーマットを有する前記ビデオコンテンツ項目の第2の部分を前記ユーザデバイスへ送信するステップとを含む、コンピュータ可読記憶媒体。
  14. 前記ビデオコンテンツ項目用の前記第1のフォーマットを選択するステップは、前記ユーザデバイスのユーザによって選択される見込みがあるフォーマットを、前記サーバによって予測するステップをさらに含む、請求項13に記載のコンピュータ可読記憶媒体
  15. 記更新されたデバイス情報は、前記ビデオコンテンツ項目が提示されている前記ユーザデバイス上で実行するビデオプレーヤウィンドウのビューポートのサイズが変化したという指示を含む、請求項13に記載のコンピュータ可読記憶媒体。
  16. 前記更新されたデバイス情報は、前記ビューポートの前記サイズが縮小したことを示し、前記第2の解像度は前記第1の解像度よりも低い、請求項15に記載のコンピュータ可読記憶媒体。
  17. 前記ビデオコンテンツ項目用の前記第1のフォーマットは、前記ビデオコンテンツ項目のジャンルに基づいて選択される、請求項13に記載のコンピュータ可読記憶媒体。
  18. 前記ビデオコンテンツ項目用の前記第1のフォーマットは、前記サーバから他のビデオコンテンツ項目をストリーミングするために、前記ユーザデバイスのユーザがあらかじめ選択したフォーマットに基づいて選択される、請求項13に記載のコンピュータ可読記憶媒体。
JP2022535648A 2019-12-11 2019-12-11 メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体 Active JP7472286B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024062621A JP2024109558A (ja) 2019-12-11 2024-04-09 メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/065681 WO2021118557A1 (en) 2019-12-11 2019-12-11 Methods, systems, and media for selecting formats for streaming media content items

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024062621A Division JP2024109558A (ja) 2019-12-11 2024-04-09 メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体

Publications (2)

Publication Number Publication Date
JP2023506003A JP2023506003A (ja) 2023-02-14
JP7472286B2 true JP7472286B2 (ja) 2024-04-22

Family

ID=69160311

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022535648A Active JP7472286B2 (ja) 2019-12-11 2019-12-11 メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体
JP2024062621A Pending JP2024109558A (ja) 2019-12-11 2024-04-09 メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024062621A Pending JP2024109558A (ja) 2019-12-11 2024-04-09 メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体

Country Status (6)

Country Link
US (1) US20230011528A1 (ja)
EP (1) EP4074058A1 (ja)
JP (2) JP7472286B2 (ja)
KR (1) KR20220110286A (ja)
CN (2) CN118075517A (ja)
WO (1) WO2021118557A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11985363B2 (en) 2021-08-27 2024-05-14 Google Llc Automatically determining parameter values
CN117714790A (zh) * 2023-12-13 2024-03-15 北京曜志科技有限公司 一种基于终端设备环境的自适应视频转码方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007151078A (ja) 2005-10-28 2007-06-14 Canon Inc 映像配信システム、クライアント端末及びその制御方法
JP2009290691A (ja) 2008-05-30 2009-12-10 Sony Corp 送信装置、送信方法および受信装置
JP2015523805A (ja) 2012-06-12 2015-08-13 コーヒレント・ロジックス・インコーポレーテッド ビデオコンテンツの符号化及び配信のための分散アーキテクチャ
JP2016511954A (ja) 2013-01-16 2016-04-21 華為技術有限公司Huawei Technologies Co.,Ltd. 適応型ストリーミングにおけるurlパラメータ挿入及び追加
JP2017157903A (ja) 2016-02-29 2017-09-07 富士ゼロックス株式会社 情報処理装置
US20180124146A1 (en) 2016-10-28 2018-05-03 Google Inc. Bitrate optimization for multi-representation encoding using playback statistics

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3873405B2 (ja) * 1997-10-21 2007-01-24 ソニー株式会社 データ配信システム及びデータ配信装置
US20020071052A1 (en) * 2000-12-07 2002-06-13 Tomoaki Itoh Transmission rate control method
JP4702397B2 (ja) * 2008-05-23 2011-06-15 ソニー株式会社 コンテンツサーバ、情報処理装置、ネットワーク機器、コンテンツ配信方法、情報処理方法およびコンテンツ配信システム
US9615098B1 (en) * 2009-11-30 2017-04-04 Google Inc. Adaptive resolution transcoding for optimal visual quality
CN102149005A (zh) * 2011-04-29 2011-08-10 四川长虹电器股份有限公司 自适应带宽控制网络视频质量的方法
US9615126B2 (en) * 2011-06-24 2017-04-04 Google Technology Holdings LLC Intelligent buffering of media streams delivered over internet
US9451306B2 (en) * 2012-01-03 2016-09-20 Google Inc. Selecting content formats for additional content to be presented along with video content to a user based on predicted likelihood of abandonment
US9462021B2 (en) * 2012-09-24 2016-10-04 Google Technology Holdings LLC Methods and devices for efficient adaptive bitrate streaming
US9167311B2 (en) * 2013-09-25 2015-10-20 Verizon Patent And Licensing Inc. Variant playlist optimization
EP2999187B1 (en) * 2014-09-18 2017-11-15 Alcatel Lucent Method, computer program product and server for streaming media content from a server to a client
US10200725B2 (en) * 2015-06-15 2019-02-05 Intel Corporation Adaptive data streaming based on virtual screen size
CN105407107A (zh) * 2015-12-24 2016-03-16 成都信息工程大学 一种流媒体数据的传输方法及装置
US10958695B2 (en) * 2016-06-21 2021-03-23 Google Llc Methods, systems, and media for recommending content based on network conditions
CN107734356B (zh) * 2017-10-30 2020-01-14 Oppo广东移动通信有限公司 视频画质调整方法、装置、终端设备及存储介质
US11115695B2 (en) * 2017-11-16 2021-09-07 Google Llc Using machine learning and other models to determine a user preference to cancel a stream or download
KR101898822B1 (ko) * 2017-12-12 2018-09-13 가천대학교 산학협력단 뷰포트 정보 시그널링을 이용한 가상 현실 비디오 스트리밍
CN108833995B (zh) * 2018-06-08 2020-10-27 西安交通大学 一种无线网络环境中自适应流媒体的传输方法
US11477502B2 (en) * 2018-11-08 2022-10-18 Nippon Telegraph And Telephone Corporation Distribution design support method, distribution design support apparatus and program
US11521386B2 (en) * 2019-07-26 2022-12-06 Meta Platforms, Inc. Systems and methods for predicting video quality based on objectives of video producer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007151078A (ja) 2005-10-28 2007-06-14 Canon Inc 映像配信システム、クライアント端末及びその制御方法
JP2009290691A (ja) 2008-05-30 2009-12-10 Sony Corp 送信装置、送信方法および受信装置
JP2015523805A (ja) 2012-06-12 2015-08-13 コーヒレント・ロジックス・インコーポレーテッド ビデオコンテンツの符号化及び配信のための分散アーキテクチャ
JP2016511954A (ja) 2013-01-16 2016-04-21 華為技術有限公司Huawei Technologies Co.,Ltd. 適応型ストリーミングにおけるurlパラメータ挿入及び追加
JP2017157903A (ja) 2016-02-29 2017-09-07 富士ゼロックス株式会社 情報処理装置
US20180124146A1 (en) 2016-10-28 2018-05-03 Google Inc. Bitrate optimization for multi-representation encoding using playback statistics

Also Published As

Publication number Publication date
US20230011528A1 (en) 2023-01-12
JP2023506003A (ja) 2023-02-14
JP2024109558A (ja) 2024-08-14
CN118075517A (zh) 2024-05-24
KR20220110286A (ko) 2022-08-05
CN114747225B (zh) 2024-03-01
EP4074058A1 (en) 2022-10-19
WO2021118557A1 (en) 2021-06-17
CN114747225A (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
JP2024109558A (ja) メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体
CN108781300B (zh) 用于基于网络状况推荐内容的方法、系统以及介质
US20220174357A1 (en) Simulating audience feedback in remote broadcast events
US11019393B2 (en) Video motion augmentation
Fu et al. 360SRL: A sequential reinforcement learning approach for ABR tile-based 360 video streaming
CN107454446A (zh) 基于体验质量分析的视频帧管理方法及其装置
US9819715B2 (en) Client side control of adaptive streaming
CN107135411B (zh) 一种调整视频码率的方法及电子设备
CN111327865A (zh) 视频传输方法、装置及设备
US20240340507A1 (en) Methods, systems, and media for streaming video content using adaptive buffers
US20240214443A1 (en) Methods, systems, and media for selecting video formats for adaptive video streaming
Shalala et al. Video QoE prediction based on user profile
Li et al. Improving adaptive real-time video communication via cross-layer optimization
Zhang et al. Anableps: Adapting Bitrate for Real-Time Communication Using VBR-encoded Video
Zhang et al. A QOE-driven approach to rate adaptation for dynamic adaptive streaming over http
Lu et al. Deep-reinforcement-learning-based user-preference-aware rate adaptation for video streaming
Mori et al. An HTTP Adaptive Streaming Method Considering Motion Intensity
WO2023181205A1 (en) Video player, video playback method, and program
Feng et al. Adaptive 360-Degree Video Streaming with Multi-window and Stochastic Viewport Prediction
KR20230008323A (ko) 엣지 캐싱 시스템
CN118555395A (zh) 云游戏的数据处理方法、装置、设备、介质及产品
CN116582717A (zh) 一种初始视频档位设置方法、系统、设备及存储介质
Jalloul Dynamic adaptation for video streaming over mobile devices.(c2013)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220809

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231010

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240119

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: 20240311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240410

R150 Certificate of patent or registration of utility model

Ref document number: 7472286

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150