JP5973409B2 - プログラム、記録媒体、情報処理装置及び制御方法 - Google Patents

プログラム、記録媒体、情報処理装置及び制御方法 Download PDF

Info

Publication number
JP5973409B2
JP5973409B2 JP2013223692A JP2013223692A JP5973409B2 JP 5973409 B2 JP5973409 B2 JP 5973409B2 JP 2013223692 A JP2013223692 A JP 2013223692A JP 2013223692 A JP2013223692 A JP 2013223692A JP 5973409 B2 JP5973409 B2 JP 5973409B2
Authority
JP
Japan
Prior art keywords
server
game content
content
moving image
cpu
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
JP2013223692A
Other languages
English (en)
Other versions
JP2014064291A (ja
JP2014064291A5 (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.)
Square Enix Holdings Co Ltd
Original Assignee
Square Enix Holdings Co Ltd
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 Square Enix Holdings Co Ltd filed Critical Square Enix Holdings Co Ltd
Priority to JP2013223692A priority Critical patent/JP5973409B2/ja
Publication of JP2014064291A publication Critical patent/JP2014064291A/ja
Publication of JP2014064291A5 publication Critical patent/JP2014064291A5/ja
Application granted granted Critical
Publication of JP5973409B2 publication Critical patent/JP5973409B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/12
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Generation (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、プログラム、記録媒体、情報処理装置及び制御方法に関し、特に通信を介したゲームコンテンツの提供を行う技術に関する。
ネットワーク接続可能なパーソナルコンピュータ(PC)等のクライアント機器が普及している。このような機器の普及により、インターネットにおけるネットワーク人口は増加している。近年では、ネットワークユーザに対する、インターネットを利用した様々なサービスが展開されており、ゲーム等のエンターテインメントサービスも提供されている。
ネットワークユーザに対するサービスの1つとして、MMORPG(Massively Multiplayer Online Role-Playing Game)等の多人数同時参加型のネットワークゲームがある。多人数同時参加型のネットワークゲームでは、ユーザは使用するクライアント機器を、ゲームを提供するサーバ機器に接続することで、該サーバ機器に接続されているクライアント機器を使用するユーザとの対戦プレイや協力プレイを行うことができる。
一般的な多人数参加型のネットワークゲームでは、クライアント機器はサーバ機器との間でゲームの描画に必要なデータの送受信を行う。クライアント機器は、受信した描画に必要なデータを用いて描画処理を実行し、生成したゲーム画面をクライアント機器に接続された表示装置に提示することで、ユーザにゲーム画面を提供する。また、ユーザが入力インタフェースを操作することで入力された情報はサーバ機器に送信され、サーバ機器における演算処理に使用されたり、サーバ機器に接続された他のクライアント機器に伝送されたりする。
しかしながら、このようなクライアント機器で描画処理を行うネットワークゲームの中には、十分な描画性能を有するPCや専用のゲーム機をユーザが使用することが必要となるものがある。このため、ネットワークゲーム(1コンテンツ)のユーザ数は、コンテンツが要求するクライアント機器の性能に依存してしまう。高性能の機器は当然高価であり、該機器を所有できるユーザも限られる。即ち、例えば美麗なグラフィックを提供するゲーム等の高い描画性能が要求されるゲームでは、ユーザ数を増加させることが困難である。
これに対し、近年ではクライアント機器の描画性能等の処理能力に依存せずに、ユーザがプレイ可能なゲームも提供されている。特許文献1のようなゲームでは、サーバ機器はクライアント機器においてなされた操作の情報を取得し、該情報を用いて描画処理を実行して得られたゲーム画面を、クライアント機器に対して提供している。
国際公開第2009/138878号明細書
上述した特許文献1のような通信を介したゲームコンテンツの提供を行う場合、提供に要するインフラ配備には所定のコストが必要となる。これは、コンテンツを提供する配信サーバの故障や接続端末数の増加に伴う提供品質の低下等のリスクを想定して、耐障害性及び耐応答性の観点で複数の配信サーバが設置されることによる。また、一般にクライアント機器に対して最も遅延が少ない、即ちレスポンスが好適なサーバは、伝送路の観点から地理的に最も近いサーバと考えられる。これらのことから、特にワールドワイドなコンテンツ提供を行う場合、提供サーバは複数の国に、さらにはタイムゾーンの存在を考えると複数のサーバを1つの国に、データセンタとして配備することが考えられる。つまり、インフラ配備には多大なコストが想定されるため、データセンタの提供はコンテンツごとに行うのではなく、複数のコンテンツでデータセンタのリソースを共用できるように設計されることが現実的である。
一方で、このようなサービスの利用に限らず、ネットワーク利用が集中する時間帯は、各国で同じような傾向にある。具体的には、日本におけるネットワーク利用のトラヒックピークは、19時から23時の間に存在する。即ち、上述のようにタイムゾーンを考慮してデータセンタを配置したとしても、トラヒックが増大する時間帯では、該タイムゾーンに存在するクライアント機器が地理的に最も近いデータセンタに集中することが考えられる。
本発明は、上述の問題点に鑑みてなされたものであり、提供するコンテンツについて要求される条件に応じた好適なデータセンタ間のロードバランシングを行うプログラム、記録媒体、情報処理装置及び制御方法を提供することを目的とする。
前述の目的を達成するために、本発明のプログラムは、複数の外部の描画装置のうちからゲームコンテンツに係る画面の描画を行う描画装置を決定するコンピュータに、ゲームコンテンツについて要求される、操作入力への応答性を取得する処理と、ゲームコンテンツに係る画面の提供先である受信装置と、複数の描画装置の各々との通信遅延量を取得する処理と、応答性と通信遅延量とに基づいて、複数の描画装置のうちの1つの描画装置を描画を行う描画装置として決定する処理と、を実行させる
このような構成により本発明によれば、提供するコンテンツについて要求される条件に応じた好適なデータセンタ間のロードバランシングを行うことが可能となる。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態1に係る動画配信システムのシステム構成を示した図 本発明の実施形態に係るPC100の機能構成を示したブロック図 本発明の実施形態に係る動画配信サーバ200の機能構成を示したブロック図 本発明の実施形態に係る動画配信サーバ200の動画配信処理を例示したフローチャート 本発明の実施形態に係る描画オブジェクトのデータ構造を例示した図 本発明の実施形態に係る動画配信サーバ200の符号化処理を例示したフローチャート 本発明の実施形態に係るPC100の動画再生処理を例示したフローチャート 本発明の実施形態に係るPC100の復号前処理を例示したフローチャート 本発明の実施形態に係る動画配信システムの全体処理を例示したフローチャート 本発明の実施形態に係る最も相関が高いと思われる領域の推定方法を説明するための図 本発明の実施形態2に係る動画配信システムのシステム構成を示した図 本発明の実施形態2に係る中央サーバの機能構成を示したブロック図 本発明の実施形態2に係るPC100の開始時処理を例示したフローチャート 本発明の実施形態2に係る中央サーバ1100の提供サーバ決定処理を例示したフローチャート
[実施形態1]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、動画配信システムの一例としての、動画再生装置であるPC100と、動画を配信する動画配信サーバ200とに本発明を適用した例を説明する。
《動画配信システムの構成》
図1は、本発明の実施形態に係る動画配信システムのシステム構成を示す図である。
図示されるように、PC100と動画配信サーバ200とはインターネット等のネットワーク300を介して接続されている。本実施形態ではPC100は、動画配信コンテンツの一例として、動画配信サーバ200において実行されるゲームコンテンツに係るゲーム画面を、符号化動画データとして受信する。本実施形態では動画配信サーバ200は、PC100においてなされた操作(ユーザ入力)を受信し、該操作に応じたゲーム画面を1フレームごとに描画する。そして動画配信サーバ200は、描画したゲーム画面を符号化し、得られた符号化動画データをPC100に配信する。またPC100は、動画配信サーバ200から符号化動画データを受信すると、該符号化動画データを復号して再生することで、ユーザに対してゲーム画面を提供することができる。
なお、本実施形態では動画配信コンテンツの一例として、ネットワーク300上の動画配信サーバ200において実行されるゲームプログラムにより描画されたゲーム画面を提供するコンテンツを説明するが、本発明の実施はこれに限られるものではない。動画配信サーバ200は、配信先に提供する動画配信コンテンツの1フレームを描画処理により描画し、各フレームについて行われた符号化処理により得られた符号化動画データを配信する構成であればよい。また、1フレームに係る画面の描画は、必ずしも動画配信サーバ200において実行される必要はなく、例えば外部の描画サーバにより実行されてもよい。
また、本実施形態では動画配信サーバ200に接続するクライアント機器として、PC100を用いて説明するが、本発明の実施はこれに限られるものではない。例えば動画配信サーバ200と接続するクライアント機器は、家庭用ゲーム機、携帯ゲーム機、携帯電話、PDA、タブレット等の、動画配信サーバ200から受信した符号化動画データを復号して再生可能な機器であればよい。
〈PC100の構成〉
図2は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
CPU101は、PC100が有する各ブロックの動作を制御する。具体的にはCPU101は、例えばROM102に記憶されている動画再生処理の動作プログラムを読み出し、RAM103に展開して実行することにより、各ブロックの動作を制御する。
ROM102は、例えば書き換え可能な不揮発性メモリである。ROM102は、動画再生処理等の動作プログラムに加え、PC100が有する各ブロックの動作に必要な定数等の情報を記憶する。
RAM103は、揮発性メモリである。RAM103は、動作プログラムの展開領域としてだけでなく、PC100が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
復号部104は、後述する通信部105が受信した符号化動画データについて復号処理を行い、1フレームに係るゲーム画面を生成する。また復号部104は、符号化動画データについての復号処理を行う前に、該復号処理に用いる参照データを準備する復号前処理を行う。復号部104において実行される復号前処理及び復号処理については、後述する動画再生処理において詳述する。
通信部105は、PC100が有する通信インタフェースである。通信部105は、ネットワーク300を介して接続した、動画配信サーバ200等の他の機器との間におけるデータ送受信を行う。データ送信時には通信部105は、ネットワーク300あるいは送信先の機器との間で定められたデータ伝送形式にデータを変換し、送信先の機器へのデータ送信を行う。またデータ受信時には通信部105は、ネットワーク300を介して受信したデータを、PC100において読み取り可能な任意のデータ形式に変換し、例えばRAM103に記憶させる。
なお、本実施形態ではPC100と動画配信サーバ200とは、ネットワーク300を介して接続されるものとして説明するが、例えばPC100と動画配信サーバ200とが直接ケーブルにより接続される形態であってもよいことは容易に想像されよう。
表示部106は、例えばLCDモニタ等のPC100に接続された表示装置である。表示部106は、入力されたゲーム画面を表示領域に表示する表示制御を行う。なお、表示部106は、ラップトップPCのようにPC100に内蔵される表示装置であってもよいし、ケーブルを用いてPC100に外部接続された表示装置であってもよい。
操作入力部107は、例えばマウス、キーボード、ゲームパッド等のPC100が有するユーザインタフェースである。操作入力部107は、ユーザによりユーザインタフェースの操作がなされたことを検出すると、該操作に対応する制御信号をCPU101に対して出力する。
〈動画配信サーバ200の構成〉
図3は、本発明の実施形態に係る動画配信サーバ200の機能構成を示すブロック図である。
サーバCPU201は、動画配信サーバ200が有する各ブロックの動作を制御する。具体的にはサーバCPU201は、例えばサーバROM202に記憶されている動画配信処理の動作プログラムを読み出し、サーバRAM203に展開して実行することにより、各ブロックの動作を制御する。
サーバROM202は、例えば書き換え可能な不揮発性メモリである。サーバROM202は、動画配信処理等の動作プログラムに加え、動画配信サーバ200が有する各ブロックの動作において必要となる定数等の情報を記憶する。
サーバRAM203は、揮発性メモリである。サーバRAM203は、動作プログラムの展開領域としてだけでなく、動画配信サーバ200が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
サーバGPU204は、PC100の表示部106に表示するゲーム画面の生成を行う。サーバGPU204には、サーバVRAM205が接続される。サーバGPU204は、サーバCPU201より描画命令及びゲーム画面の描画に用いるカメラの位置及び方向の情報(視点情報)を受信すると、該描画命令に係る描画オブジェクトを例えば後述するサーバ記録媒体207から読み出し、GPUメモリに格納する。サーバGPU204は、接続されたサーバVRAM205に対して描画を行う場合、描画オブジェクトのキャッシュメモリへの展開を行なった後、該展開後の描画オブジェクトをサーバVRAM205に書き込む。
なお、本実施形態のサーバGPU204は、ゲーム画面の生成に係る描画処理において、所謂遅延レンダリング(Deferred Rendering)という手法を用いる。
従来の描画手法は、ゲーム画面に含まれる描画オブジェクトの各々を順番に選択し、該描画オブジェクトについて
1.バーテックスシェーダによる移動・回転処理
2.ジオメトリシェーダによる頂点処理
3.ピクセルシェーダによるピクセル単位の陰影処理を含むエフェクト処理
を行って描画する。即ち、各描画オブジェクトについて、陰影処理→描画の流れを有する、所謂Forward Renderingであった。Forward Renderingでは、各オブジェクトが逐次処理されるために、ピクセルによっては1つのオブジェクトが描画された後、よりカメラに対して近い位置にある(該オブジェクトよりも手前にある)別のオブジェクトの描画により、描画内容が上書きされてしまうケースがある。この場合、後から描画されたオブジェクトにより遮蔽される、先に描画されたオブジェクトの一部の領域については、適用した陰影処理が無駄になってしまう。また例えば描画するシーンに存在する光源等は、シーンに存在するオブジェクトに対して共通であるが、Forward Renderingでは1つのオブジェクトを描画する際の共通の計算内容を、別のオブジェクトの描画のために再利用することが難しかった。このため、特に複雑な陰影処理を行うゲーム画面の描画においては、Forward Renderingは効率的ではなかった。
これに対しDeferred Renderingでは、Forward Renderingとは異なり、陰影処理に用いるジオメトリの計算を先に行い、全ての描画オブジェクトについての陰影処理を、後からまとめて行う。即ち、ジオメトリ描画→陰影処理→描画の流れを有する2段階の描画処理を行う。Deferred Renderingでは、前段の描画において、ライティングを行わずに陰影処理に用いるパラメータとともにジオメトリの描画処理を行い、陰影処理で使用される中間値を示す複数の中間値マップ(散乱マップ、深度マップ、法線マップ、反射マップ、拡散マップ等)を生成する。そして後段の描画処理において、生成された複数の中間値マップを利用しながら、光源を適用して陰影処理を行なった画面を描画する。
サーバ符号化部206は、サーバGPU204によりサーバVRAM205に生成されたゲーム画面に対する符号化処理を行う。サーバ符号化部206は、符号化対象のゲーム画面をブロックに分割し、各ブロックをイントラ符号化(フレーム内符号化)あるいはインター符号化(フレーム間符号化)する。符号化処理の詳細は後述するが、本実施形態ではサーバ符号化部206は、各ブロックをYCbCrの色チャネルごとに離散コサイン変換(DCT)した後、ランレングス符号化により圧縮する。なお、本実施形態ではゲーム画面に対する符号化処理を行うブロックとしてサーバ符号化部206が単体で存在するものとして説明するが、符号化処理はサーバGPU204が実行してもよい。
サーバ記録媒体207は、例えばHDD等の、動画配信サーバ200に着脱可能に接続される記録装置である。本実施形態ではサーバ記録媒体207には、画面の描画処理において用いられる、各描画オブジェクトのデータや、画面に表現される3次元シーンに配置された光源情報等が記録されているものとする。
サーバ通信部208は、動画配信サーバ200が有する通信インタフェースである。本実施形態ではサーバ通信部208は、ネットワーク300を介して接続したPC100等の、他の機器との間におけるデータ送受信を行う。なお、サーバ通信部208は通信部105と同様に、通信仕様に従ったデータ形式の変換を行う。
《動画配信処理》
このような構成をもつ本実施形態の動画配信システムの動画配信サーバ200において実行される動画配信処理について、図4のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、サーバCPU201が、例えばサーバROM202に記憶された対応する処理プログラムを読み出し、サーバRAM203に展開して実行することにより実現することができる。なお、本動画配信処理は、例えば動画配信サーバ200の提供するゲームコンテンツの提供要求をPC100から受信したことを、サーバCPU201が検出した際に開始され、ゲームの1フレームごとに繰り返し実行されるものとして説明する。
なお、本実施形態では動画配信サーバ200は、3次元シーンをDeferred Renderingの手法を用いて描画したゲーム画面を符号化動画データの形態でPC100に提供するものとして説明する。しかしながら、上述したように動画配信サーバ200が配信するコンテンツはこれに限られず、3次元シーンを少なくとも2段階の描画処理を行なって描画した画面を提供する任意のコンテンツであればよい。
S401で、サーバCPU201は、次に描画するゲーム画面の視点情報を更新する。具体的にはサーバCPU201は、例えばサーバ通信部208が受信した、PC100においてユーザによりなされた、ゲームに係る操作入力の情報を参照し、次に描画するゲーム画面の視点情報を更新する。視点情報の更新が生じうるユーザによる操作は、例えば視点位置及び方向の変更操作、あるいはユーザの操作対象のキャラクタの移動等が相当する。なお、ゲーム画面の描画に用いられる視点情報の更新は、PC100においてなされたユーザ操作にのみ更新されるものではなく、例えばゲームの進行状況に応じて変更されるものであってもよい。
S402で、サーバCPU201は、S401において更新した視点情報に対応するゲーム画面について、サーバGPU204に前段の描画処理を実行させ、後段の描画処理で用いる各種中間値マップを生成させる。具体的にはサーバCPU201は、描画されるゲーム画面に含まれる描画オブジェクトを特定し、各描画オブジェクトのデータを描画順に従ってサーバGPU204に伝送する。サーバGPU204は、転送された描画オブジェクトのデータをGPUメモリに格納する。描画オブジェクトのデータは、例えば図5に示されるような構成であり、本実施形態ではオブジェクト識別IDに関連付けられて、モデルデータ(あるいは頂点データ及び結線データ)、テクスチャデータ、及び位置・回転情報が含まれる。なお、テクスチャデータは3次元モデルに適用(貼り付け)される、該3次元モデルの模様等を表現する一般的な画像テクスチャ(デカルテクスチャ)だけでなく、該3次元モデルの陰影処理や質感の表現に用いられる各種マップが含まれる。
サーバGPU204は、描画命令を受けた描画オブジェクトについての位置・回転情報のパラメータに従ってGPUメモリに格納されたモデルデータを移動及び回転させた後、光源エフェクト(陰影処理、シェーディング)を適用することなく、サーバVRAM205への描画を行う。このときサーバVRAM205には、最終的にPC100に対して提供するゲーム画面に対応する、複数種類の中間値マップが生成される。該複数種類の中間値マップは、後述する後段の描画処理における陰影処理で参照されるマップであり、本実施形態では少なくとも
・散乱マップ(Albedo map)
・深度マップ(Depth map)
・法線マップ(Normal map)
・反射マップ(Specular map)
・拡散マップ(Diffuse map)
を含む。なお、深度マップ以外の中間値マップは、描画するゲーム画面に含まれる全描画オブジェクトのデータの各々に含まれる対応するテクスチャデータやモデルデータの各ポリゴンの情報等を、描画するゲーム画面の視点情報に応じて変換することで生成される。即ち、Forward Renderingでは各描画オブジェクトについて該描画オブジェクトのテクスチャデータを考慮して1つ1つに陰影処理を実行するのに対し、Deferred Renderingの前段の描画処理では、描画するゲーム画面の全体を1つの描画オブジェクトとして捉えた中間値マップを生成することで、後段の描画処理においてゲーム画面の全体を対象として陰影処理を行うことができ、演算の重複を低減することができる。
なお、深度マップについては、中間値マップの生成において各描画オブジェクトの描画時に、ピクセル単位で描画オブジェクトの前後関係による遮蔽(オクルージョン)を考慮して従来の方法で生成される。
このように前段の描画処理が完了すると、サーバCPU201は、S403乃至S408の処理と、S409乃至S412の処理とを並行して実行する。
S403で、サーバCPU201は、前段の描画処理で生成された中間値マップを、描画しているフレーム(現フレーム)を識別するフレームID、及びS401において更新した視点情報(描画視点情報)に関連づけてサーバRAM203に格納する。本実施形態の動画配信サーバ200は、PC100に提供する符号化動画データの各フレームについて、描画したゲーム画面の生成に用いられた深度マップをサーバRAM203に格納し、少なくとも次のフレームの符号化処理が完了するまで保持するものとする。
S404で、サーバCPU201は、複数種類の中間値マップのうちの深度マップを符号化判断用に選択し、所定の画素数(例えば16pixel×16pixel)のブロックに分割する。上述したように中間値マップの各々は最終的にPC100に提供するゲーム画面に対応している。このため本実施形態では、提供するゲーム画面の各ブロックの動画符号化においてフレーム間予測を行うか否かを判断するために、複数種類の中間値マップのうちの深度マップを用いる。
S405で、サーバCPU201は、深度マップの各ブロックについて現フレームの1つ前のフレーム(前フレーム)のゲーム画面に係る前段の描画処理で生成された深度マップから、最も相関が高いと思われる領域を特定する。
まずサーバCPU201は、対象ブロックの四隅の座標に描画されている描画オブジェクト(ブロック特定オブジェクト)の3次元座標を特定する。具体的にはサーバCPU201は、深度バッファから対象ブロックの四隅の座標の各々における深度値を取得する。次にサーバCPU201は、描画視点情報と対象ブロックの四隅の座標とから、ブロック特定オブジェクトへの方向を特定する。そしてサーバCPU201は、描画視点情報、特定したブロック特定オブジェクトへの方向、及び深度値から、ブロック特定オブジェクトの3次元座標を特定する。
次にサーバCPU201は、ブロック特定オブジェクトの3次元座標を、前フレームのゲーム画面の描画に用いられた視点情報(過去視点情報)を用いて、前フレームのゲーム画面におけるスクリーン座標に変換する。このようにすることで、前フレームのゲーム画面における最も相関が高いと思われる領域の四隅の座標を特定することができる。即ち、本実施形態では、図10に示されるように対象ブロックと同一の描画オブジェクトが表現されている領域、即ち相関が高い描画内容である可能性が高い領域を3次元シーンに逆変換して特定することができる。
S406で、サーバCPU201は、S305において推定された最も相関が高いと思われる領域について、相関度を算出する。具体的にはサーバCPU201は、前フレームの前段の描画処理で生成された深度マップ(過去深度マップ)をサーバRAM203から読み出す。そしてサーバCPU201は、推定された最も相関が高いと思われる領域の画像を該過去深度マップから抽出し、該画像に対して例えば過去視点情報と描画視点情報とから生成された変換マトリックスを乗ずることで、対象ブロックと同じ画素数の参照画像を生成する。そしてサーバCPU201は、例えば画像間のユークリッド距離を算出することで、該参照画像と対象ブロックの画像との相関度を算出する。
なお、本実施形態の動画配信サーバ200では後述する符号化処理においてフレーム間符号化を行う場合に現フレームの1つ前のフレームから取得した参照データを使用し、現フレームの画像と参照データとの差分画像を符号化する。このため、符号化判断も現フレームの1つ前のフレームについて行うものとして説明するが、フレーム間符号化で参照される過去のフレームは現フレームの1つ前のフレームに限らず、現フレームよりも前のフレームが用いられてよい。
S407で、サーバCPU201は、符号化判断用の深度マップの各ブロックについてフレーム内符号化を行うか、あるいはフレーム間符号化を行うかを決定する(符号化判断)。具体的にはサーバCPU201は、各ブロックと最も相関が高いと思われる過去深度マップの領域について算出された類似度(例えばユークリッド距離の逆数)が予め設定された閾値以上であるか否かを判断する。そしてサーバCPU201は、最も相関が高いと思われる領域との類似度が閾値以上であるブロックについてはフレーム間符号化を行うものとして決定し、類似度が閾値未満であるブロックについてはフレーム内符号化を行うものとして決定する。
S408で、サーバCPU201は、符号化判断用の深度マップの各ブロックのうち、フレーム間符号化を行うとして決定されたブロックについて、過去深度マップの最も相関が高いと思われる領域からの動きベクトルを算出する。そしてサーバCPU201は、該フレーム間符号化を行うとして決定されたブロックを特定する特定情報に関連付けて、該ブロックについての動きベクトルの情報をサーバ通信部208に伝送し、前処理情報としてPC100に対して送信させる。
なお、本ステップで算出される動きベクトルは、前フレームからの視点の移動方向によっては2次元の動きベクトルになるとは限らない。即ち、例えば特定の描画オブジェクトに対して近接する、あるいは遠離する方向に視点が移動した場合は、2次元のベクトルに加えて、拡大/縮小する倍率の情報が含まれていてもよい。また例えば視点がロール方向に回転した場合は、2次元のベクトルに加えて回転用のマトリックスが含まれていてもよい。また例えば視点がピッチ方向あるいはヨー方向に回転した場合は、2次元のベクトルではなく3次元のベクトルが動きベクトルとして用いられてもよい。なお、参照データとして用いる前フレーム画面の領域を特定する情報は、これに限られるものではなく、例えば直接領域の頂点座標を指定する情報等、領域を特定できる情報であればどのような形式であってもよい。
一方、サーバCPU201はS403乃至S408の処理と並行して実行する処理では、S409でサーバGPU204にS401において更新した視点情報に対応するゲーム画面についての後段の描画処理を実行させ、最終的にPC100に提供するゲーム画面(提供ゲーム画面)を生成させる。具体的にはサーバCPU201は、描画されるゲーム画面についての3次元シーンに適用される光源を特定し、該光源の属性や強度等の情報をサーバGPU204に伝送する。サーバGPU204は、前段の描画処理で生成した各種中間値マップを用いて、各種光源をまとめて陰影処理(光源エフェクトの適用)しながら、再度ゲーム画面に含まれる描画オブジェクトを描画し、提供ゲーム画面をサーバVRAM205のフレームバッファに生成する。
S410で、サーバCPU201は、S407の処理である現フレームについての符号化判断処理が完了したか否かを判断する。サーバCPU201は、符号化判断処理が完了していると判断した場合は処理をS411に移し、完了していないと判断した場合は処理を本ステップの処理を繰り返す。
S411で、サーバCPU201は、提供ゲーム画面をS404におけるブロック分割と同様にブロック分割し、符号化処理を実行して符号化動画データを生成する。
〈符号化処理〉
ここで、本実施形態の動画配信サーバ200において実行される符号化処理について、図6を参照して詳細を説明する。
S601で、サーバCPU201は、提供ゲーム画面のブロックのうち、符号化がなされていないブロックを選択する。
S602で、サーバCPU201は、符号化判断要の深度マップについて行われた符号化判断処理の結果を参照し、選択ブロックについてフレーム間符号化を行うか否かを判断する。サーバCPU201は、選択ブロックについてフレーム間符号化を行うと判断した場合は処理をS603に移し、フレーム間符号化を行わないと判断した場合は処理をS605に移す。
S603で、サーバCPU201は、現フレームの1つ前のフレームで描画されたゲーム画面(前フレーム画面)内の選択ブロックに対応する領域の画像から、フレーム間符号化に使用する参照画像(参照データ)を生成する。具体的にはサーバCPU201はまず、前フレームでPC100に提供されたゲーム画面(過去ゲーム画面)を例えばサーバRAM203から読み出す。そしてサーバCPU201は、選択ブロックについて特定された最も相関が高い領域に対応する領域の画像を、参照画像として過去ゲーム画面から抽出する。
S604で、サーバCPU201は、選択ブロックの画像と参照画像との差分を差分画像として生成し、符号化対象画像として設定する。具体的にはサーバCPU201は、選択ブロックの画像の各画素値から、参照画像の対応する画素の画素値を減算することにより差分画像(pblock)を生成する。
一方、S602においてフレーム間符号化を行わないと判断した場合、サーバCPU201はS605において、選択ブロックの画像を符号化対象画像として設定する。
S606で、サーバCPU201は、符号化対象画像をサーバ符号化部206に伝送し、DCT処理を実行させて周波数領域のデータに変換させる。またサーバCPU201は、変換により得られた周波数領域のデータに対してサーバ符号化部206にランレングス符号化を行わせることで、選択ブロックの符号化データを生成させる。
S607で、サーバCPU201は、描画されたゲーム画面の全てのブロックについてS602乃至S606の処理を実行したか否かを判断する。サーバCPU201は、まだ処理が実行されていないブロックが存在すると判断した場合は処理をS601に戻し、存在しないと判断した場合は本符号化処理を完了する。
サーバCPU201は、描画されたゲーム画面から符号化動画データを生成した後、S412で該符号化動画データをサーバ通信部208に伝送してPC100に対して送信させ、現フレームの動画配信処理を完了する。
このように、本実施形態の動画配信サーバ200では、PC100に対して提供するゲーム画面の生成が多段階の描画処理によって行われることを利用し、最終的なゲーム画面の描画が行われる後段の描画処理中に、前段の描画処理で生成された深度マップを用いて、符号化ブロックと最も相関が高いと思われる領域を、座標変換により推定することができる。このため、最終的なゲーム画面の描画を行なった後に符号化方法を決定することなく符号化処理に移行できるため、ゲーム画面のPC100への提供に要する時間を短縮することができる。また、総当り式に相関度を算出して最も相関が高いと思われる領域を特定する必要がなく、後段の描画処理中に全符号化ブロックについての相関演算に係る演算量を低減することができる。
《動画再生処理》
次に、本実施形態のPC100において実行される動画再生処理について、図7のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、CPU101が、例えばROM102に記憶された対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本動画再生処理は、例えばPC100において動画配信サーバ200の提供するゲームコンテンツを受信するアプリケーションが実行された際に開始され、ゲームの1フレームごとに繰り返し実行されるものとして説明する。
S701で、CPU101は、通信部105が動画配信サーバ200から前処理情報を受信したか否かを判断する。CPU101は、動画配信サーバ200から前処理情報を受信したと判断した場合は処理をS702に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
S702で、CPU101は、前処理情報を参照し、現フレームのゲーム画面の復号に必要な参照データを準備する復号前処理を実行する。
〈復号前処理〉
ここで、本実施形態のPC100で実行される復号前処理について、図8のフローチャートを用いて詳細を説明する。
S801で、CPU101は、現フレームで受信するゲーム画面のブロックのうち、使用された符号化方式の判定がなされていないブロックを選択する。
S802で、CPU101は前処理情報を参照し、選択ブロックについてフレーム間符号化がなされるか否かを判断する。具体的にはCPU101は、選択ブロックを特定する情報が前処理情報に含まれるか否かを判断する。CPU101は、選択ブロックについてフレーム間符号化がなされると判断した場合は処理をS803に移し、なされていないと判断した場合は処理をS804に移す。
S803で、CPU101は、現フレームの1つ前のフレームで復号したゲーム画面(前フレーム画面)から、選択ブロックについての復号に使用する参照画像(参照データ)を抽出する。具体的にはCPU101は、前処理情報に含まれる選択ブロックについて関連付けられた動きベクトルを参照し、前フレーム画面における選択ブロックの復号で参照される領域を特定し、該領域の画像を参照画像として抽出する。
S804で、CPU101は、現フレームで受信するゲーム画面の全てのブロックについてS802乃至S803の処理を実行したか否かを判断する。サーバCPU201は、まだ処理が実行されていないブロックが存在すると判断した場合は処理をS801に戻し、存在しないと判断した場合は本復号前処理を完了する。
このように本実施形態のPC100では、符号化動画データの前に受信した前処理情報を参照することで、符号化動画データの受信後に行われる復号処理に先立って、復号処理で用いられる参照データを準備することができる。
S703で、CPU101は、通信部105が動画配信サーバ200から符号化動画データを受信したか否かを判断する。CPU101は、動画配信サーバ200から符号化動画データを受信したと判断した場合は処理をS704に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
S704で、CPU101は、受信した符号化動画データを復号部104に伝送し、復号処理を実行させてゲーム画面を生成させる。具体的には復号部104は、符号化動画データの各ブロックについてランレングス符号化データ列の復号、逆DCT処理を行うことで現フレームのゲーム画面のブロックデータを生成する。またフレーム間符号化が行われたブロックについては、上述した復号前処理で生成された参照データを加算することで、復号部104は現フレームのゲーム画面を生成する。
S705で、CPU101は、S704において生成された現フレームのゲーム画面を表示部106に伝送し、対応する表示領域に表示させ、現フレームの動画再生処理を完了する。
このように、本実施形態の動画配信システムにおける動画配信サーバ200は、符号化動画データの生成が完了して配信するよりも前に、符号化方法の情報を動画再生装置であるPC100に伝えることができる。即ち、符号化動画データの受信前に参照画像を前処理として準備することができるため、符号化動画データを受信してから行われる復号処理を短縮することができる。つまり、フレーム間符号化がなされたブロックの復号に用いる参照画像を、受信した符号化動画データに含まれる動きベクトルを参照して前のフレームの画像から生成する従来の方法に比べて、本実施形態の動画配信方法は復号した動画像の再生までに要する時間を短縮することができる。
即ち、動画配信システム全体としては、図9に示されるような処理フローとなり、本発明を適用することで、動画配信サーバ200における動画符号化処理の効率化、及びPC100における動画復号処理の効率化の両方を実現することができる。
なお、上述した動画配信処理では、現フレームの画面の全てのブロックについて符号化判断を行った後に前処理情報をPC100に送信するものとして説明したが、前処理情報の送信タイミングはこれに限られないことは容易に想像されよう。即ち、各ブロックについてフレーム間符号化を行うか否かの判断結果が得られた場合に、全てのブロックについての判断結果が得られるのを待たずに、都度、サーバCPU201は該ブロックの前処理情報をPC100に送信してもよい。またこの場合、PC100のCPU101が、前処理情報を受信すると、該前処理情報で特定されるブロックの参照画像を生成するようにすることで、動画再生処理における更なる効率化が見込める。
以上説明したように、本実施形態の動画配信サーバは描画処理により得られた画面を高速かつ効率的に動画符号化することができる。具体的には動画配信サーバは、描画する画面を決定する視点情報を用いて、少なくとも2段階の描画処理により提供画面を描画する。該描画処理は、後段の描画処理において、前段の描画処理で生成された深度マップを参照して提供画面の描画がなされる。動画配信サーバは、第1の画面の後段の描画処理の実行中に深度マップを符号化判断用に選択し、設定されたブロックごとに第1の画面よりも前に描画された第2の画面について生成された深度マップを参照してフレーム間符号化を行うか否かを判断する。動画配信サーバは、第1の画面の後段の描画処理の終了後、該判断の結果に応じて符号化を行って外部装置に符号化動画データを送信する。また該判断の結果は、第1の画面の符号化動画データの生成が完了する前に外部装置に送信される。
[実施形態2]
ところで、実際に上述のような通信を介したゲームコンテンツの提供を行う場合、提供に要するインフラ配備には所定のコストが必要となる。これは、コンテンツを提供する動画配信サーバ200の故障や接続端末数の増加に伴う提供品質の低下等のリスクを想定して、耐障害性及び耐応答性の観点で複数の動画配信サーバ200が設置されることによる。また、一般にクライアント機器に対して最も遅延が少ない、即ちレスポンスが好適なサーバは、伝送路の観点から地理的に最も近いサーバと考えられる。これらのことから、特にワールドワイドなコンテンツ提供を行う場合、提供サーバは複数の国に、さらにはタイムゾーンの存在を考えると複数のサーバを1つの国に、データセンタとして配備することが考えられる。つまり、インフラ配備には多大なコストが想定されるため、データセンタの提供はコンテンツごとに行うのではなく、複数のコンテンツでデータセンタのリソースを共用できるように設計されることが現実的である。
一方で、このようなサービスの利用に限らず、ネットワーク利用が集中する時間帯は、各国で同じような傾向にある。具体的には、日本におけるネットワーク利用のトラヒックピークは、19時から23時の間に存在する。即ち、上述のようにタイムゾーンを考慮してデータセンタを配置したとしても、トラヒックが増大する時間帯では、該タイムゾーンに存在するクライアント機器が地理的に最も近いデータセンタに集中することが考えられる。
本実施形態では、提供するコンテンツについて要求されるリアルタイム性、及びコンテンツが実施形態1のような少なくとも2段階の描画処理を行うか否かに応じて、好適にデータセンタ間のロードバランシングを行う方法について説明する。
《動画配信システムの構成》
図11は、本実施形態の動画配信システムのシステム構成を示した図である。なお、本実施形態の動画配信システムにおいて、PC100及び動画配信サーバ200の各々の構成は上述した実施形態1と同様であるものとして、説明を省略するものとする。
本実施形態の動画配信システムは、中央サーバ1100を含む。中央サーバ1100は、ネットワーク300を介して少なくともPC100と通信可能に接続される。中央サーバ1100は、PC100の各々がコンテンツ提供に際して接続すべき動画配信サーバ200を決定し、該サーバの情報を対応するPC100に提供する。また本実施形態では、中央サーバ1100は接続すべきデータセンタとして1つの動画配信サーバ200を特定する情報をPC100に提供するものとして説明するが、本発明の実施はこれに限られるものではない。例えば、データセンタが複数の動画配信サーバ200を有して構成される場合は、中央サーバ1100はそのうちの1つの動画配信サーバ200を特定する情報を提供する構成であってもよいし、単にデータセンタ(同一ロケーションに存在する動画配信サーバ200を統合管理する単位)を特定する情報を提供する構成であってもよい。後者の場合、例えばデータセンタには、コンテンツ提供要求に対して提供を行うセンタ内の適切な動画配信サーバ200を割り当て、対応するPC100を接続させる管理装置を有していればよい。
〈中央サーバ1100の構成〉
図12は、本実施形態に係る中央サーバ1100の機能構成を示したブロック図である。
中央CPU1101は、中央サーバ1100が有する各ブロックの動作を制御する。具体的には中央CPU1101は、中央ROM1102に記憶されている各ブロックの動作プログラムを読み出し、中央RAM1103に展開して実行することにより各ブロックの動作を制御する。
中央ROM1102は、例えば書き換え可能な不揮発性メモリである。中央ROM1102は、中央サーバ1100が有する各ブロックの動作プログラムに加え、各ブロックの動作に必要となるパラメータ等を格納する。また本実施形態では中央ROM1102は、ネットワーク300上の動画配信サーバ200で提供可能な複数のゲームコンテンツのそれぞれについて、少なくとも
・コンテンツについて要求される、ユーザの操作入力に対するレスポンス性能の情報
・コンテンツの描画においてDeferred Renderingが使用されるか否かの情報
を管理情報として記憶する。中央RAM1103は、揮発性メモリである。中央RAM1103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を一時的に格納する格納領域としても用いられる。
中央通信部1104は、中央サーバ1100が有する通信インタフェースである。中央通信部1104は、ネットワーク300を介して接続した、PC100等の他の機器との間でデータの送受信を行う。通信部105及びサーバ通信部208と同様に、中央通信部1104は、データの送受信時に必要なデータ変換等を行う。
《開始時処理》
以下、ゲームコンテンツの提供要求を開始する際に、本実施形態のPC100において実行される開始時処理について、図13のフローチャートを参照して詳細を説明する。なお、本開始時処理は、例えばPC100において複数のゲームコンテンツのサービス提供を受けることが可能なポータルアプリケーションが実行された際に開始されるものとして説明する。
S1301で、CPU101は、ゲームコンテンツを提供している動画配信サーバ200に接続するための情報である接続先情報を中央サーバ1100に要求する。接続先情報は、例えばサービス提供を行なっている動画配信サーバ200のIPアドレスリストであってよく、予め中央サーバ1100が中央ROM1102に保持している保持している情報であってよい。
S1302で、CPU101は、接続先情報の提供要求に応じて受信した接続先情報を参照し、ネットワーク300上に存在する複数の動画配信サーバ200の各々に対して接続テストを実行する。接続テストでは、CPU101は対象の動画配信サーバ200との通信において生じる通信遅延量を計測し、該サーバの識別情報に関連付けて通信遅延量の情報をリストとしてRAM103に記憶する。CPU101は、接続先情報に含まれる動画配信サーバ200について通信遅延量の計測が終了すると、処理をS1303に移す。
S1303で、CPU101は、提供要求を開始するゲームコンテンツの選択がなされたか否かを判断する。具体的にはCPU101は、ユーザが提供を所望するゲームコンテンツを選択したことにより出力される制御信号を操作入力部107から受信したか否かにより判断を行う。CPU101は、提供要求を開始するゲームコンテンツの選択がなされたと判断した場合は処理をS1304に移し、なされていないと判断した場合は本ステップの処理を繰り返す。
S1304で、CPU101は、提供要求するゲームコンテンツを指定する情報と、S1302において生成した動画配信サーバ200ごとの通信遅延量のリストとを中央サーバ1100に送信する。
S1305で、CPU101は、中央サーバ1100からゲームコンテンツの提供を行う動画配信サーバ200を指定するサーバ指定情報を受信したか否かを判断する。サーバ指定情報は、中央サーバ1100において後述の提供サーバ決定処理が実行されることにより生成される。CPU101は、指定情報を受信したと判断した場合は処理をS1306に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
S1306で、CPU101は、サーバ指定情報により指定される動画配信サーバ200に対し、選択されたゲームコンテンツの提供要求を送信することで、動画配信処理を動画配信サーバ200に開始させることができる。
《提供サーバ決定処理》
次に、本実施形態の中央サーバ1100で実行される、PC100において指定されたゲームコンテンツを提供する動画配信サーバ200を決定する提供サーバ決定処理について、図14のフローチャートを参照して詳細を説明する。なお、本提供サーバ決定処理は、中央サーバ1100が起動された際に開始されるものとして説明する。
S1401で、中央CPU1101は、ネットワーク300上のPC100から、提供要求するゲームコンテンツを指定する情報(コンテンツ指定情報)と、該PC100と各動画配信サーバ200との通信遅延量のリストとを受信したか否かを判断する。中央CPU1101は、コンテンツ指定情報及び通信遅延量リストを受信したと判断した場合、該情報を送信したPC100(対象PC)を識別する情報とともに中央RAM1103に格納し、処理をS1402に移す。情報を送信したPC100を識別する情報は、例えば該PCのIPアドレスであってよい。また中央CPU1101は、コンテンツ指定情報及び通信遅延量リストを受信していないと判断した場合は本ステップの処理を繰り返す。
S1402で、中央CPU1101は、コンテンツ指定情報により指定されるコンテンツ(指定コンテンツ)が、ユーザの操作入力に対してレスポンスが高いことが要求されるリアルタイム性の高いコンテンツとして指定されているか否かを判断する。具体的には中央CPU1101は、中央ROM1102に記憶されている管理情報を参照し、指定コンテンツがリアルタイム性の高いコンテンツとして指定されているか否かを判断する。中央CPU1101は、指定コンテンツがリアルタイム性の高いコンテンツとして指定されていると判断した場合は処理をS1403に移し、指定されていないと判断した場合は処理をS1406に移す。
S1403で、中央CPU1101は管理情報を参照し、指定コンテンツがDeferred Renderingを使用して提供画面を描画するコンテンツであるか否かを判断する。中央CPU1101は、指定コンテンツがDeferred Renderingを使用して提供画面を描画するコンテンツであると判断した場合は処理をS1405に移し、使用せずに提供画面を描画するコンテンツであると判断した場合は処理をS1404に移す。
S1404で、中央CPU1101は受信した通信遅延量リストを参照し、対象PCとのデータ通信における通信遅延量が所定の閾値(第1の閾値)よりも低い1つの動画配信サーバ200を選択する。そして中央CPU1101は、選択した動画配信サーバ200を特定する情報を指定情報として対象PCに送信し、処理をS1401に戻す。
一方、S1403において指定コンテンツがDeferred Renderingを使用して提供画面を描画するコンテンツであると判断した場合、中央CPU1101はS1405で、受信した通信遅延量リストを参照し、通信遅延量が所定の閾値(第2の閾値)よりも低く、第1の閾値よりも高い1つの動画配信サーバ200を選択する。これは、影響画面の生成にDeferred Renderingが使用される場合は、実施形態1で説明したように前段の描画処理で生成された深度バッファを利用することで符号化及び復号に要する処理時間を短縮することができることによる。即ち、リアルタイム性が要求されるコンテンツであっても、少なくとも2段階の描画処理を行なって提供画面が生成される場合は処理の短縮が見込めるため、1段階の描画処理を行うコンテンツよりは通信遅延量を許容することができる。中央CPU1101は、このようにして選択した動画配信サーバ200を特定する情報を指定情報として対象PCに送信し、処理をS1401に戻す。
またS1402において指定コンテンツがリアルタイム性の高いコンテンツとして指定されていないと判断した場合、中央CPU1101はS1406で、受信した通信遅延量リストを参照し、通信遅延量が所定の閾値(第3の閾値)よりも低く、第2の閾値よりも大きい1つの動画配信サーバ200を選択する。そして中央CPU1101は、選択した動画配信サーバ200を特定する情報を指定情報として対象PCに送信し、処理をS1401に戻す。
なお、第1の閾値及び第2の閾値はコンテンツについて要求されるリアルタイム性を満たすように、また第3の閾値は許容可能な通信遅延量に基づいて決定される。3つの閾値は、コンテンツごとに定められるものであってもよいし、コンテンツによらず共通に定められるものであってもよい。また3つの閾値は、対象PCの存在する地理的な位置に応じて定められるものであってもよい。
このように、本実施形態の動画配信システムでは、PC100において選択されたコンテンツを提供する動画配信サーバ200を、サーバとの通信遅延量及びコンテンツに要求されるリアルタイム性に応じて決定することができる。またさらに、コンテンツが少なくとも2段階の描画処理によって提供画面を生成するコンテンツであるか否かに応じて、好適な動画配信サーバ200を選択することで、効率よくロードバランシングを行うことができる。
なお、本実施形態ではサーバとの通信遅延量及びコンテンツに要求されるリアルタイム性に応じて、コンテンツを提供するサーバを決定するものとして説明したが、本発明の実施はこれに限られるものではない。例えば、コンテンツの提供要求を送信したクライアント機器及びサーバの地理的な位置に応じて絞り込みを行う等、複合的な条件をさらに組み合わせて動画配信サーバ200の決定を行う構成であってもよい。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
本願は、2012年4月12日提出の日本国特許出願特願2012−091357を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。

Claims (8)

  1. 複数の外部の描画装置のうちからゲームコンテンツに係る画面の描画を行う描画装置を決定するコンピュータに、
    ゲームコンテンツについて要求される、操作入力への応答性を取得する処理と、
    ゲームコンテンツに係る画面の提供先である受信装置と、前記複数の描画装置の各々との通信遅延量を取得する処理と、
    前記応答性と前記通信遅延量とに基づいて、前記複数の描画装置のうちの1つの描画装置を前記描画を行う描画装置として決定する処理と、
    を実行させるプログラム。
  2. 前記決定する処理は、ゲームコンテンツが要求される前記応答性が高いと定められたコンテンツである場合に、前記複数の描画装置のうちの前記通信遅延量が第1の閾値以下の描画装置を前記描画を行う描画装置として決定する請求項1に記載のプログラム。
  3. 前記プログラムは、
    前記受信装置から提供を要求されたゲームコンテンツを特定する処理と、
    前記要求されたゲームコンテンツが、該ゲームコンテンツに係る画面の描画において少なくとも2段階の描画処理であって、前段の描画処理の結果を用いて後段の描画処理を行って該ゲームコンテンツに係る画面を描画するゲームコンテンツであるかを判断する処理と、を前記コンピュータにさらに実行させ、
    前記決定する処理は、前記要求されたゲームコンテンツが前記少なくとも2段階の描画処理を行って該ゲームコンテンツに係る画面を描画するゲームコンテンツである場合に、前記複数の描画装置のうちの前記通信遅延量が前記第1の閾値より大きい第2の閾値以下の描画装置を前記描画を行う描画装置として決定する請求項2に記載のプログラム。
  4. 前記決定する処理は、前記要求されたゲームコンテンツが前記応答性が高いと定められたコンテンツであり、かつ前記少なくとも2段階の描画処理を行って該ゲームコンテンツに係る画面を描画するゲームコンテンツである場合に、前記複数の描画装置のうちの前記通信遅延量が前記第1の閾値より大きい前記第2の閾値以下の描画装置を前記描画を行う描画装置として決定する請求項3に記載のプログラム。
  5. 前記決定する処理は、ゲームコンテンツが要求される前記応答性が高いコンテンツではない場合に、前記複数の描画装置のうちの前記通信遅延量が前記第の閾値より大きい第3の閾値以下の描画装置を前記描画を行う描画装置として決定する請求項3または4に記載のプログラム。
  6. 請求項1乃至のいずれか1項に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
  7. 複数の外部の描画装置のうちからゲームコンテンツに係る画面の描画を行う描画装置を決定する情報処理装置であって、
    ゲームコンテンツについて要求される、操作入力への応答性を取得する第1の取得手段と、
    ゲームコンテンツに係る画面の提供先である受信装置と、前記複数の描画装置の各々との通信遅延量を取得する第2の取得手段と、
    前記第1の取得手段により取得された前記応答性と前記第2の取得手段により取得された前記通信遅延量とに基づいて、前記複数の描画装置のうちの1つの描画装置を前記描画を行う描画装置として決定する決定手段と、
    を有する情報処理装置。
  8. 複数の外部の描画装置のうちからゲームコンテンツに係る画面の描画を行う描画装置を決定する情報処理装置の制御方法であって、
    ゲームコンテンツについて要求される、操作入力への応答性を取得する第1の取得工程と、
    ゲームコンテンツに係る画面の提供先である受信装置と、前記複数の描画装置の各々との通信遅延量を取得する第2の取得工程と、
    前記第1の取得工程において取得された前記応答性と前記第2の取得工程において取得された前記通信遅延量とに基づいて、前記複数の描画装置のうちの1つの描画装置を前記描画を行う描画装置として決定する決定工程と、
    を有する情報処理装置の制御方法。
JP2013223692A 2012-04-12 2013-10-28 プログラム、記録媒体、情報処理装置及び制御方法 Active JP5973409B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013223692A JP5973409B2 (ja) 2012-04-12 2013-10-28 プログラム、記録媒体、情報処理装置及び制御方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012091357 2012-04-12
JP2012091357 2012-04-12
JP2013223692A JP5973409B2 (ja) 2012-04-12 2013-10-28 プログラム、記録媒体、情報処理装置及び制御方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013526674A Division JP5404971B1 (ja) 2012-04-12 2013-04-04 動画配信サーバ、制御方法、プログラム、及び動画配信システム

Publications (3)

Publication Number Publication Date
JP2014064291A JP2014064291A (ja) 2014-04-10
JP2014064291A5 JP2014064291A5 (ja) 2015-01-15
JP5973409B2 true JP5973409B2 (ja) 2016-08-23

Family

ID=49327372

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013526674A Active JP5404971B1 (ja) 2012-04-12 2013-04-04 動画配信サーバ、制御方法、プログラム、及び動画配信システム
JP2013223692A Active JP5973409B2 (ja) 2012-04-12 2013-10-28 プログラム、記録媒体、情報処理装置及び制御方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013526674A Active JP5404971B1 (ja) 2012-04-12 2013-04-04 動画配信サーバ、制御方法、プログラム、及び動画配信システム

Country Status (7)

Country Link
US (3) US8897373B2 (ja)
EP (1) EP2674916B1 (ja)
JP (2) JP5404971B1 (ja)
KR (2) KR101536501B1 (ja)
CN (1) CN103650001B (ja)
CA (1) CA2828359C (ja)
WO (1) WO2013153787A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5155462B2 (ja) 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
CN103392189B (zh) 2012-02-23 2017-10-31 史克威尔·艾尼克斯控股公司 动态图像传输服务器、动态图像播放装置以及控制方法
KR101536501B1 (ko) 2012-04-12 2015-07-13 신라 테크놀로지스, 인크. 동화상 배포 서버, 동화상 재생 장치, 제어 방법, 기록 매체, 및 동화상 배포 시스템
WO2015097726A1 (ja) * 2013-12-26 2015-07-02 株式会社スクウェア・エニックス 描画システム、制御方法、プログラム、及び記録媒体
US20150338648A1 (en) * 2014-01-09 2015-11-26 Square Enix Holdings Co., Ltd., Methods and systems for efficient rendering of game screens for multi-player video game
JP5952403B2 (ja) * 2014-01-09 2016-07-13 株式会社スクウェア・エニックス・ホールディングス 共有描画を用いるオンラインゲームサーバ構造
US20150339275A1 (en) * 2014-05-20 2015-11-26 Yahoo! Inc. Rendering of on-line content
EP3029940B1 (en) * 2014-12-04 2017-03-15 Axis AB Method and device for post processing of a video stream
JP2019149122A (ja) * 2018-02-28 2019-09-05 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP7278850B2 (ja) * 2018-05-04 2023-05-22 株式会社ユビタス ビデオランダムアクセスメモリにおけるマルチソースメディアをオーバーレイするシステム及び方法
CN110870976B (zh) * 2018-09-03 2023-04-07 网易(杭州)网络有限公司 一种数据处理的方法及装置
US20210275908A1 (en) * 2020-03-05 2021-09-09 Advanced Micro Devices, Inc. Adapting encoder resource allocation based on scene engagement information

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2821792B2 (ja) 1990-04-04 1998-11-05 鹿島建設株式会社 型枠装置
JP2676975B2 (ja) 1990-04-20 1997-11-17 株式会社豊田自動織機製作所 無人車の運行制御装置
CA2144253C (en) * 1994-04-01 1999-09-21 Bruce F. Naylor System and method of generating compressed video graphics images
JP3287977B2 (ja) 1995-04-28 2002-06-04 松下電器産業株式会社 動きベクトル検出方法および装置と動画像符号化方法および装置
US6167088A (en) 1998-04-03 2000-12-26 Sarnoff Corporation Method and apparatus for performing adaptive encoding rate control of a video information stream including 3:2 pull-down video information
US6257982B1 (en) * 1999-06-01 2001-07-10 Mark Rider Motion picture theater interactive gaming system
US20020154157A1 (en) 2000-04-07 2002-10-24 Sherr Scott Jeffrey Website system and process for selection and delivery of electronic information on a network
US7024466B2 (en) 2000-04-07 2006-04-04 Movielink, Llc Network configured for delivery of content for download to a recipient
US7155415B2 (en) 2000-04-07 2006-12-26 Movielink Llc Secure digital content licensing system and method
US20020073033A1 (en) 2000-04-07 2002-06-13 Sherr Scott Jeffrey Online digital video signal transfer apparatus and method
WO2001078304A1 (en) * 2000-04-07 2001-10-18 Movielink, Llc Website system and process for selection and delivery of electronic information on a network
US20020032905A1 (en) 2000-04-07 2002-03-14 Sherr Scott Jeffrey Online digital video signal transfer apparatus and method
US6868191B2 (en) * 2000-06-28 2005-03-15 Telefonaktiebolaget Lm Ericsson (Publ) System and method for median fusion of depth maps
FI109633B (fi) 2001-01-24 2002-09-13 Gamecluster Ltd Oy Menetelmä videokuvan pakkauksen nopeuttamiseksi ja/tai sen laadun parantamiseksi
US6741259B2 (en) * 2001-03-30 2004-05-25 Webtv Networks, Inc. Applying multiple texture maps to objects in three-dimensional imaging processes
JP2002369205A (ja) 2001-06-06 2002-12-20 Matsushita Electric Ind Co Ltd 動画像生成装置
US20040012600A1 (en) * 2002-03-22 2004-01-22 Deering Michael F. Scalable high performance 3d graphics
US6975329B2 (en) * 2002-12-09 2005-12-13 Nvidia Corporation Depth-of-field effects using texture lookup
AU2003292490A1 (en) * 2003-01-17 2004-08-13 Koninklijke Philips Electronics N.V. Full depth map acquisition
GB2406184B (en) 2003-09-17 2006-03-15 Advanced Risc Mach Ltd Data processing system
US20090027383A1 (en) * 2003-11-19 2009-01-29 Lucid Information Technology, Ltd. Computing system parallelizing the operation of multiple graphics processing pipelines (GPPLs) and supporting depth-less based image recomposition
JP4242318B2 (ja) 2004-04-26 2009-03-25 任天堂株式会社 3次元画像生成装置および3次元画像生成プログラム
US7558428B2 (en) 2004-09-13 2009-07-07 Microsoft Corporation Accelerated video encoding using a graphics processing unit
JP2007251543A (ja) * 2006-03-15 2007-09-27 Seiko Epson Corp 表示制御装置、その制御方法、情報再生装置及び電子機器
JP4735471B2 (ja) 2006-08-16 2011-07-27 ソニー株式会社 復号処理装置及び復号処理方法並びに復号処理プログラム
JP2008182411A (ja) * 2007-01-24 2008-08-07 Fujitsu Ltd 情報配信プログラム、情報配信装置、情報配信方法
JP4357537B2 (ja) * 2007-02-26 2009-11-04 富士通株式会社 配信経路制御装置
JP4931223B2 (ja) 2007-03-30 2012-05-16 株式会社バンダイナムコゲームス 動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステム
KR100918862B1 (ko) 2007-10-19 2009-09-28 광주과학기술원 참조영상을 이용한 깊이영상 생성방법 및 그 장치, 생성된깊이영상을 부호화/복호화하는 방법 및 이를 위한인코더/디코더, 그리고 상기 방법에 따라 생성되는 영상을기록하는 기록매체
WO2009058600A1 (en) * 2007-11-02 2009-05-07 Symbol Technologies, Inc. Efficient encoding and decoding of mixed data strings in rfid tags and other media
US8264493B2 (en) 2008-05-12 2012-09-11 Playcast Media Systems, Ltd. Method and system for optimized streaming game server
EP2364190B1 (en) * 2008-05-12 2018-11-21 GameFly Israel Ltd. Centralized streaming game server
US8154553B2 (en) 2008-05-22 2012-04-10 Playcast Media System, Ltd. Centralized streaming game server
CN101291415B (zh) 2008-05-30 2010-07-21 华为终端有限公司 一种三维视频通信的方法、装置及系统
CN102257818B (zh) * 2008-10-17 2014-10-29 诺基亚公司 3d视频编码中运动向量的共享
EP2184713A1 (en) * 2008-11-04 2010-05-12 Koninklijke Philips Electronics N.V. Method and device for generating a depth map
JP2010157867A (ja) * 2008-12-26 2010-07-15 Visionere Corp 動画再生コード生成装置、動画配信システム、実行形式プログラム、同プログラムを記録した記録媒体、サーバー、及び動画再生コード生成方法
US8429269B2 (en) * 2009-12-09 2013-04-23 Sony Computer Entertainment Inc. Server-side rendering
EP2384001A1 (en) * 2010-04-29 2011-11-02 Alcatel Lucent Providing of encoded video applications in a network environment
JP5841540B2 (ja) 2010-11-26 2016-01-13 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、プログラム、及び集積回路
CN105100822B (zh) * 2011-01-28 2018-05-11 华为技术有限公司 辅助视频补充信息承载方法、处理方法、装置与系统
US9565449B2 (en) * 2011-03-10 2017-02-07 Qualcomm Incorporated Coding multiview video plus depth content
CN102246468A (zh) * 2011-05-18 2011-11-16 华为终端有限公司 一种联网方法、服务端设备、客户端设备及网络系统
JP5076132B1 (ja) 2011-05-25 2012-11-21 株式会社スクウェア・エニックス・ホールディングス 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム
CA3208227A1 (en) 2011-06-24 2012-12-27 Mitsubishi Electric Corporation Intra prediction of a processing block using a predicted value which is proportional to the amount of change in the horizontal direction of the signal value of a pixel adjacent to the left of the processing block
US9044677B2 (en) 2011-07-11 2015-06-02 Roblox Corporation System for optimizing processing capacity for a group of gaming appliances engaged in play of an online game
JP5155462B2 (ja) * 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
US8838086B2 (en) * 2011-08-29 2014-09-16 Qualcomm Incorporated Systems and methods for management of background application events
TW201320716A (zh) 2011-11-01 2013-05-16 Acer Inc 動態景深調整裝置及其方法
US9014190B2 (en) * 2011-11-11 2015-04-21 Itron, Inc. Routing communications based on node availability
WO2013072484A1 (en) 2011-11-18 2013-05-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Multi-view coding with efficient residual handling
US8797378B1 (en) * 2012-01-17 2014-08-05 Google Inc. Distributed communications
WO2013107931A1 (en) 2012-01-19 2013-07-25 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding
CN103392189B (zh) 2012-02-23 2017-10-31 史克威尔·艾尼克斯控股公司 动态图像传输服务器、动态图像播放装置以及控制方法
KR101536501B1 (ko) 2012-04-12 2015-07-13 신라 테크놀로지스, 인크. 동화상 배포 서버, 동화상 재생 장치, 제어 방법, 기록 매체, 및 동화상 배포 시스템
WO2014044908A1 (en) 2012-09-21 2014-03-27 Nokia Corporation Method and apparatus for video coding
US9838286B2 (en) * 2014-11-20 2017-12-05 Telefonaktiebolaget L M Ericsson (Publ) Passive performance measurement for inline service chaining

Also Published As

Publication number Publication date
US20130335523A1 (en) 2013-12-19
EP2674916A1 (en) 2013-12-18
EP2674916A4 (en) 2014-09-17
US10004983B2 (en) 2018-06-26
KR20130138824A (ko) 2013-12-19
US20150045120A1 (en) 2015-02-12
CA2828359A1 (en) 2013-10-12
WO2013153787A1 (ja) 2013-10-17
KR101536501B1 (ko) 2015-07-13
EP2674916B1 (en) 2018-06-27
KR20150003406A (ko) 2015-01-08
US20180099221A1 (en) 2018-04-12
JPWO2013153787A1 (ja) 2015-12-17
CN103650001B (zh) 2017-04-26
US9868060B2 (en) 2018-01-16
US8897373B2 (en) 2014-11-25
CN103650001A (zh) 2014-03-19
JP5404971B1 (ja) 2014-02-05
JP2014064291A (ja) 2014-04-10
CA2828359C (en) 2016-05-24

Similar Documents

Publication Publication Date Title
JP5973409B2 (ja) プログラム、記録媒体、情報処理装置及び制御方法
JP5155462B2 (ja) 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
JP5833599B2 (ja) プログラム、記録媒体及び符号化方式決定方法
CA2853212C (en) System, server, and control method for rendering an object on a screen
TWI532005B (zh) An animation distribution server, an animation reproduction apparatus, a control method, a program, and a recording medium
TWI523673B (zh) 動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141121

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160714

R150 Certificate of patent or registration of utility model

Ref document number: 5973409

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250