JP2013232231A - 描画サーバ、センタサーバ、符号化装置、制御方法、符号化方法、プログラム、及び記録媒体 - Google Patents

描画サーバ、センタサーバ、符号化装置、制御方法、符号化方法、プログラム、及び記録媒体 Download PDF

Info

Publication number
JP2013232231A
JP2013232231A JP2013154920A JP2013154920A JP2013232231A JP 2013232231 A JP2013232231 A JP 2013232231A JP 2013154920 A JP2013154920 A JP 2013154920A JP 2013154920 A JP2013154920 A JP 2013154920A JP 2013232231 A JP2013232231 A JP 2013232231A
Authority
JP
Japan
Prior art keywords
gpu
server
data
encoding
writing
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.)
Granted
Application number
JP2013154920A
Other languages
English (en)
Other versions
JP2013232231A5 (ja
JP5792773B2 (ja
Inventor
Tetsushi Iwasaki
哲史 岩崎
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
Publication of JP2013232231A publication Critical patent/JP2013232231A/ja
Publication of JP2013232231A5 publication Critical patent/JP2013232231A5/ja
Application granted granted Critical
Publication of JP5792773B2 publication Critical patent/JP5792773B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2017Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】符号化処理を利用した効率的なメモリ検査を行う。
【解決手段】検査対象のメモリについてパリティ情報を付加したデータをメモリに書き込んだ後、該データをメモリから読み出してランレングス符号化処理を行って符号化データを生成する。符号化装置は、書き込まれたデータについてビット列を参照して符号化データを生成する際に、該ビット列と付加されているパリティ情報とを比較してビット反転エラーを検出する。
【選択図】図5

Description

本発明は、描画サーバ、センタサーバ、符号化装置、制御方法、符号化方法、プログラム、及び記録媒体に関し、特に動画符号化処理を利用したGPUメモリの検査方法に関する。
ネットワーク接続可能なパーソナルコンピュータ(PC)等のクライアント機器が普及している。このような機器の普及により、インターネットにおけるネットワーク人口は増加している。近年では、ネットワークユーザに対する、インターネットを利用した様々なサービスが展開されており、ゲーム等のエンターテインメントサービスも提供されている。
ネットワークユーザに対するサービスの1つとして、MMORPG(Massively Multiplayer Online Role-Playing Game)等の多人数同時参加型のネットワークゲームがある。多人数同時参加型のネットワークゲームでは、ユーザは使用するクライアント機器を、ゲームを提供するサーバ機器に接続することで、該サーバ機器に接続されているクライアント機器を使用するユーザとの対戦プレイや協力プレイを行うことができる。
一般的な多人数参加型のネットワークゲームでは、クライアント機器はサーバ機器との間でゲームの描画に必要なデータの送受信を行う。クライアント機器は、受信した描画に必要なデータを用いて描画処理を実行し、生成したゲーム画面をクライアント機器に接続された表示装置に提示することで、ユーザにゲーム画面を提供する。また、ユーザが入力インタフェースを操作することで入力された情報はサーバ機器に送信され、サーバ機器における演算処理に使用されたり、サーバ機器に接続された他のクライアント機器に伝送されたりする。
しかしながら、このようなクライアント機器で描画処理を行うネットワークゲームの中には、十分な描画性能を有するPCや専用のゲーム機をユーザが使用する必要があるものがある。このため、ネットワークゲーム(1コンテンツ)のユーザ数は、コンテンツに要求される性能を満足する機器の所有ユーザの数に依存してしまう。即ち、例えば美麗なグラフィックを提供するゲーム等の高い描画性能が要求されるゲームでは、ユーザ数を増加させることが困難である。
これに対し、近年ではクライアント機器の描画性能等の処理能力に依存せずに、ユーザがプレイ可能なゲームも提供されている。特許文献1のようなゲームでは、サーバ機器はクライアント機器においてなされた操作の情報を取得し、該情報を用いて描画処理を実行して得られたゲーム画面を、クライアント機器に対して提供している。
国際公開第2009/138878号パンフレット
上述のような描画処理を行う機器の描画性能は、該機器に設けられたGPUの処理能力に依存する。GPUの金銭的な導入コストは、該GPUの処理能力にもよるが、該GPUが有するGPUメモリの信頼性によっても異なる。即ち、特許文献1のように、クライアント機器に提供する画面の描画を描画サーバが行う場合、採用するGPUのメモリの信頼性が高いほど、描画サーバの導入コストが上昇することになる。これに対し、コスト低減を図るために信頼性の低いGPUメモリを有するGPUを使用することが考えられるが、この場合、GPUメモリのエラーチェックを行う処理の定期的な実行が必要となる。
しかしながら、特許文献1のように提供する画面の描画処理等のメイン処理をマイフレーム行うGPUに対して、メモリのチェック処理を並行して行うことは演算量の増加につながり、提供するサービス品質が低減する可能性がある。
本発明は、上述の問題点に鑑みてなされたものであり、符号化処理を利用した効率的なメモリ検査を行う描画サーバ、センタサーバ、符号化装置、制御方法、符号化方法、プログラム、及び記録媒体を提供することを目的とする。
前述の目的を達成するために、本発明の描画サーバは、以下の構成を備える。
符号化した画像データを出力する描画サーバであって、GPUを使用して画像を描画する描画手段と、描画手段により描画された画像をGPUが有するGPUメモリに書き込む書き込み手段と、書き込み手段によりGPUメモリに書き込まれた画像を読み出してランレングス符号化処理を行なって符号化した画像データを生成する符号化手段と、を有し、書き込み手段は、画像をGPUメモリに書き込む際に、該画像にパリティ情報を付加して書き込み、符号化手段は、GPUメモリから読み出した画像について、ビット列を参照して符号化した画像データを生成する際に、該ビット列と書き込み手段により付加されたパリティ情報とを比較してビット反転エラーを検出することを特徴とする。
前述の目的を達成するために、本発明の符号化装置は、以下の構成を備える。
パリティ情報を付加したデータをメモリに書き込む書き込み手段と、書き込み手段により書き込まれたデータをメモリから読み出してランレングス符号化処理を行って符号化データを生成する符号化手段と、を有し、符号化手段は、書き込まれたデータについてビット列を参照して符号化データを生成する際に、該ビット列と付加されているパリティ情報とを比較してビット反転エラーを検出することを特徴とする。
このような構成により本発明によれば、符号化処理を利用した効率的なメモリ検査を行うことが可能となる。
本発明の実施形態に係る描画システムのシステム構成を示した図 本発明の実施形態に係る描画サーバ100の機能構成を示したブロック図 本発明の実施形態に係るセンタサーバ200の機能構成を示したブロック図 本発明の実施形態に係る画面提供処理を例示したフローチャート 本発明の実施形態に係る画面生成処理を例示したフローチャート
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、描画システムの一例としての、1以上のクライアント機器の接続を受け付け可能なセンタサーバと、1以上のクライアント機器の各々に提供する画面を同時に生成可能な描画サーバとに、本発明を適用した例を説明する。しかし、本発明は、1以上のクライアント機器に提供する画面(画像データ)を同時に作成することが可能な任意の機器及びシステムに適用可能である。
なお、本明細書においてセンタサーバがクライアント機器に対して提供する画面は、ゲーム処理の実行により生成されるゲーム画面であり、描画サーバにおいて毎フレームの画面が描画されたのち符号化されて提供されるものとする。しかしながら本発明の実施はゲーム画面の生成に限られるものではなく、クライアントに対して符号化した画像データを提供するものであればよい。
<描画システムの構成>
図1は、本発明の実施形態に係る描画システムのシステム構成を示す図である。
図示されるように、サービス提供を受けるクライアント機器300a乃至eと、サービス提供を行うセンタサーバ200とは、インターネット等のネットワーク400を介して接続されている。また同様にクライアント機器300に対して提供する画面を描画する描画サーバ100は、ネットワーク400を介してセンタサーバ200に接続されている。なお、以下の説明では特に指定のない限り「クライアント機器300」と称した場合は、クライアント機器300a乃至eの全てを指すものとする。
クライアント機器300は、例えばPC、家庭用ゲーム機、携帯ゲーム機に限らず、携帯電話、PDF、タブレット等の機器であってよい。本実施形態の描画システムは、クライアント機器においてなされた操作入力に応じたゲーム画面を描画サーバ100が生成し、センタサーバ200がクライアント機器300に配信する。このため、クライアント機器300はゲーム画面の生成を行う描画機能を有するものでなくてよい。即ち、クライアント機器300は、操作入力を行うユーザインタフェース及び画面の表示を行う表示装置を有する機器、あるいは該ユーザインタフェース及び表示装置が接続可能な機器であって、受信したゲーム画面を復号し、表示装置を用いて表示可能な機器であればよい。
センタサーバ200は、ゲーム処理プログラムの実行及び管理、描画サーバ100への描画処理命令、クライアント機器300とのデータ送受信を行う。具体的にはセンタサーバ200では、クライアント機器300に対して提供するゲームに係るゲーム処理が実行される。
センタサーバ200は、例えば各クライアント機器のユーザが操作するキャラクタのマップ上の位置や方向、各キャラクタに対して提供するイベント等の情報を管理する。そしてセンタサーバ200は、管理しているキャラクタの状態に応じたゲーム画面の生成を描画サーバ100に実行させる。例えばセンタサーバ200に対して、接続されている各クライアント機器においてなされたユーザの操作入力の情報がネットワーク400を介して入力されると、センタサーバ200では該情報を管理しているキャラクタの情報に反映させる処理が実行される。そしてセンタサーバ200は、操作入力の情報が反映されたキャラクタの情報に基づいてゲーム画面に係る描画パラメータを決定し、描画サーバ100が有するGPUのいずれかに対して描画命令を行う。なお、描画パラメータにはカメラ(視点)の位置及び方向や描画範囲に含まれる描画オブジェクトの情報等が含まれる。
描画サーバ100は、描画処理の実行を担うサーバであり、本実施形態では後述するように4つのGPUを有する。描画サーバ100は、センタサーバ200より受けた描画命令に応じてゲーム画面の描画を行い、生成したゲーム画面をセンタサーバ200に出力する。なお、描画サーバ100は、複数のゲーム画面を同時に作成可能であるものとする。描画サーバ100は、各ゲーム画面についてセンタサーバ200から受信した、ゲーム画面に係る描画パラメータに基づいて、指定されたGPUでゲーム画面の描画処理を実行する。
センタサーバ200は、送信した描画オブジェクトの識別情報及び詳細情報を含む描画命令に応じて描画サーバ100から受信したゲーム画面を、符号化した動画データの1フレームの画像データとして対応するクライアント機器に対して配信する。このようにすることで、本実施形態の描画システムはクライアント機器においてなされた操作入力に応じたゲーム画面を生成し、クライアント機器の表示装置を介してユーザにゲーム画面を提供することができる。
なお、本実施形態では描画システムは、1つの描画サーバ100と1つのセンタサーバ200とで構成されるものとして説明するが、本発明の実施はこれに限られない。例えば、複数のセンタサーバ200に対して1つの描画サーバ100が割り当てられている構成であってもよいし、複数のセンタサーバ200に対して複数の描画サーバ100が割り当てられている構成であってもよい。
<描画サーバ100の構成>
図2は、本発明の実施形態に係る描画サーバ100の機能構成を示すブロック図である。
CPU101は、描画サーバ100が有する各ブロックの動作を制御する。具体的にはCPU101は、例えばROM102や記録媒体104に記憶されている描画処理の動作プログラムを読み出し、RAM103に展開して実行することにより、各ブロックの動作を制御する。
ROM102は、例えば書き換え可能な不揮発性メモリである。ROM102は、描画処理の動作プログラムに加え、他の動作プログラムや描画サーバ100が有する各ブロックの動作において必要となる定数等の情報を記憶する。
RAM103は、揮発性メモリである。RAM103は、動作プログラムの展開領域としてだけでなく、描画サーバ100が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
記録媒体104は、例えばHDD等の、描画サーバ100に着脱可能に接続される記録装置である。本実施形態では記録媒体104には、描画処理において画面の生成に用いる、以下のデータが記憶されているものとする。
・モデルデータ
・テクスチャデータ
・描画用プログラム
・描画用プログラムで用いられる演算用データ
通信部113は、描画サーバ100が備える通信インタフェースである。通信部113は、ネットワーク400を介して接続したセンタサーバ200等の、他の機器間でのデータ送受信を行う。データ送信時には通信部113は、ネットワーク400あるいは送信先の機器との間で定められたデータ伝送形式にデータを変換し、送信先の機器へのデータ送信を行う。またデータ受信時には通信部113は、ネットワーク400を介して受信したデータを、描画サーバ100において読み取り可能な任意のデータ形式に変換し、例えばRAM103に記憶させる。
第1GPU105、第2GPU106、第3GPU107、及び第4GPU108は、描画処理においてクライアント機器300に対して提供するゲーム画面の生成を行う。GPUの各々は、ゲーム画面の描画領域としてビデオメモリ(第1VRAM109、第2VRAM110、第3VRAM111、及び第4VRAM112)が接続されている。また各GPUは作業用領域としてのGPUメモリを有している。各GPUは、接続されたVRAMに対して描画を行う場合、描画オブジェクトのGPUメモリへの展開を行なった後、該展開後の描画オブジェクトを対応するVRAMに描画する。なお、本実施形態では1つのGPUに対して1つのビデオメモリが接続されるものとして説明するが、本発明の実施はこれに限られない。即ち、GPUに対して接続されるビデオメモリの数は、任意の数であってよい。
<センタサーバ200の構成>
また、本実施形態のセンタサーバ200の機能構成について説明する。図3は、本発明の実施形態に係るセンタサーバ200の機能構成を示すブロック図である。
センタCPU201は、センタサーバ200が有する各ブロックの動作を制御する。具体的にはセンタCPU201は、例えばセンタROM202やセンタ記録媒体204からゲーム処理のプログラムを読み出し、センタRAM203に展開して実行することにより各ブロックの動作を制御する。
センタROM202は、例えば書き換え可能な不揮発性メモリである。センタROM202は、ゲーム処理のプログラムに限らず他のプログラムが記憶されていてもよい。またセンタROM202は、センタサーバ200が有する各ブロックの動作において必要となる定数等の情報を記憶する。
センタRAM203は、揮発性メモリである。センタRAM203は、ゲーム処理のプログラムの展開領域としてだけでなく、センタサーバ200が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
センタ記録媒体204は、例えばHDD等の、センタサーバ200に着脱可能に接続される記録装置である。本実施形態ではセンタ記録媒体204は、ゲームを利用するユーザやクライアント機器を管理するデータベース、接続された各クライアント機器に提供するゲーム画面の生成に必要となるゲーム上の各種情報を管理するデータベース等として用いられる。
センタ通信部205は、センタサーバ200が備える通信インタフェースである。センタ通信部205は、ネットワーク400を介して接続した描画サーバ100やクライアント機器300との間で、データ送受信を行う。なお、センタ通信部205は通信部113と同様に、通信仕様に従ったデータ形式の変換を行う。
<画面提供処理>
このような構成をもつ本実施形態のセンタサーバ200の画面提供処理について、図4のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、センタCPU201が、例えばセンタROM202に記憶されている対応する処理プログラムを読み出し、センタRAM203に展開して実行することにより実現することができる。
なお、本画面提供処理は、例えばクライアント機器との接続が完了し、該クライアント機器に対してゲームを提供する準備処理が完了した際に開始され、ゲームの毎フレームについて実行されるものとして説明する。また以下の説明では簡単のため、1つのクライアント機器300がセンタサーバ200に接続されている場合について説明するが、本発明の実施はこれに限られるものではない。上述したシステム構成のようにセンタサーバ200に複数のクライアント機器300が接続されている場合は、各クライアント機器300について本画面提供処理を実行すればよい。
S401で、センタCPU201は、データ反映処理を実行し、接続されているクライアント機器300に提供するゲーム画面に係る描画パラメータを決定する。データ反映処理は、クライアント機器においてなされた入力(キャラクタの移動指示、カメラ移動指示、ウィンドウ表示指示等)や、ゲーム処理で状態を管理する描画オブジェクトの状態変更等を反映し、該クライアント機器に対して提供するゲーム画面の描画内容を特定する処理である。具体的にはセンタCPU201は、センタ通信部205を介してクライアント機器300においてなされた入力を受信し、前フレームのゲーム画面に用いた描画パラメータを更新する。またゲーム処理で状態を管理する描画オブジェクトは、例えばNPC(Non Player Character)と呼ばれるユーザの操作非対象のキャラクタ、地形等の背景オブジェクト等である。ゲームで状態を管理する描画オブジェクトは、時間経過やユーザの操作対象のキャラクタの動作によって変化する。センタCPU201は、ゲーム処理を実行することにより、時間経過やクライアント機器においてなされた入力に応じて、ゲーム処理で状態を管理する描画オブジェクトについての前フレームの描画パラメータを更新する。
S402で、センタCPU201は、ゲーム画面の描画を行わせるGPUを、描画サーバ100が有する描画可能なGPUのうちから決定する。本実施形態ではセンタサーバ200に接続されている描画サーバ100には、第1GPU105、第2GPU106、第3GPU107、及び第4GPU108の4つのGPUが設けられている。センタCPU201は、センタサーバ200に接続されているクライアント機器の各々に対して提供するゲーム画面の生成を、描画サーバ100の有する4つのGPUのいずれかに描画させることを決定する。描画を行わせるGPUの決定は、例えば同時に描画要求を行うゲーム画面についての描画オブジェクト数や必要処理コスト等を考慮して、選択対象のGPUの中から負荷分散するように決定すればよい。なお、本ステップで選択対象となるGPUは、後述する描画サーバ100におけるメモリ検査結果に応じて変化する。
S403で、センタCPU201は、S402で決定した、ゲーム画面の描画を行わせるGPUに対しての描画命令を送信する。具体的にはセンタCPU201は、S401のゲーム処理で更新された現フレームのゲーム画面に係る描画パラメータに描画命令を関連付けてセンタ通信部205に伝送し、描画サーバ100に送信させる。なお、描画命令には、ゲーム画面の描画を行わせるGPUを示す情報及び提供するクライアント機器300の識別情報が含まれるものとする。
S404で、センタCPU201は、接続されているクライアント機器300に提供するゲーム画面を、描画サーバ100から受信したか否かを判断する。具体的にはセンタCPU201は、ゲーム画面を提供するクライアント機器300の識別情報を有するゲーム画面のデータをセンタ通信部205が受信したか否かを判断する。なお、本実施形態ではクライアント機器300に提供するゲーム画面は、ゲームのフレームごとにクライアント機器300に送信するため、転送量削減を考慮して動画符号化データの1フレームに対応する、符号化された画像データであるものとする。センタCPU201は、センタ通信部205が描画サーバ100からデータを受信した場合、該情報のヘッダ情報を参照し、該データが接続されているクライアント機器300に提供するゲーム画面に対応した符号化された画像データであるか否か否かを判断する。センタCPU201は、接続されているクライアント機器300に提供するゲーム画面を受信したと判断した場合は処理をS405に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
S405で、センタCPU201は、受信したゲーム画面を接続されているクライアント機器300に送信する。具体的にはセンタCPU201は、受信したゲーム画面をセンタ通信部205に伝送し、接続されているクライアント機器300に対して送信させる。
S406で、センタCPU201は、第1GPU105、第2GPU106、第3GPU107、及び第4GPU108のいずれかについて、GPUメモリのビット反転エラーが検出された回数が閾値を超えたか否かを判断する。本実施形態では、後述する画面生成処理で説明するように、描画サーバ100のCPU101は、各GPUのGPUメモリにおいてビット反転エラーが発生した場合に、ビット反転エラー数の情報を、発生したGPUを識別する情報を関連付けてセンタサーバ200に通知する。このためセンタCPU201は、本ステップにおいてまず描画サーバ100からビット反転エラー数の情報をセンタ通信部205が受信したか否かを判断する。またセンタCPU201は、ビット反転エラー数の情報を受信したと判断した場合、さらに該ビット反転エラー数が閾値を超えるか否かを判断する。なお、閾値は、GPUメモリの信頼性が低下したと判断する値として予め設定される値であり、例えばセンタROM202に記憶されているものとする。センタCPU201は、描画サーバ100が有するGPUのいずれかにおいて、GPUメモリのビット反転エラーが検出された回数が閾値を超えたと判断した場合は処理をS407に移し、超えていないと判断した場合は本画面提供処理を完了する。
S407で、センタCPU201は、ビット反転エラー数が閾値を超えたGPUメモリを有するGPUを次フレームのゲーム画面の描画を割り当てる選択対象から外す。具体的にはセンタCPU201は、例えば該GPUの識別情報に対して描画を割り当てる選択対象から除外する旨を示す論理型の情報を関連付けてセンタROM202に記憶する。この情報は、S402においてゲーム画面の描画を割り当てるGPUを選択する際に参照される。
なお、本実施形態ではセンタCPU201は、ビット反転エラー数が閾値を超えるか否かによってGPUメモリの信頼性を判断するものとして説明するが、本発明の実施はこれに限られなくてもよい。センタCPU201は、例えばビット反転エラーが発生したメモリアドレスの分布の情報を取得し、所定のアドレス範囲におけるビット反転エラー数に応じてGPUメモリの信頼性を評価する形態であってもよい。
<画面生成処理>
次に、本実施形態に係る描画サーバ100における、クライアント機器に提供するゲーム画面(符号化された画像データ)を生成する画面生成処理について、図5のフローチャートを参照して詳細を説明する。該フローチャートに対応する処理は、CPU101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本画面提供処理は、例えばセンタサーバ200からゲーム画面の描画命令を通信部113が受信したとCPU101が判断した場合に開始されるものとして説明する。
S501で、CPU101は、受信したゲーム画面に係る描画パラメータに基づいて、ゲーム画面の描画を行う。具体的にはCPU101は、まず通信部113において受信された描画命令、及び該描画命令に関連付けられている現フレームのゲーム画面に係る描画パラメータをRAM103に格納する。そしてCPU101は、描画命令に含まれる、ゲーム画面の描画を行わせるGPUを示す情報を参照し、該情報により特定されるGPU(対象GPU)に、描画パラメータに対応するゲーム画面を該対象GPUに接続されたVRAMに描画させる。
S502で、CPU101は、S501でVRAMに描画されたゲーム画面について、対象GPUに離散コサイン変換(DCT)処理を実行させる。具体的には対象GPUは、ゲーム画面を所定の画素数のブロックに分解し、各ブロックについてDCT処理を実行し、周波数領域のデータに変換する。周波数領域に変換されたゲーム画面は、対象GPUにより量子化されて該対象GPUのGPUメモリに書き込まれる。このとき対象GPUは、量子化されたデータについて所定データ長のビット列ごとにパリティビット(パリティ情報)を付加してGPUメモリに書き込むものとする。なお、本実施形態ではゲーム画面について直接DCT処理を実行するものとして説明するが、上述したようにゲーム画面は動画符号化データの1フレームに対応するデータであるため、ゲーム画面から生成された画像データについてDCT処理を実行するものであってもよい。例えば、動画符号化形式がMPEG形式である場合、対象GPUは前フレームのゲーム画面から動き補償により生成された画像データと、現フレームで生成したゲーム画面との差分画像を生成し、該差分画像についてDCT処理を実行してもよい。
S503で、CPU101は、周波数領域に変換されたゲーム画面(量子化ゲーム画面)に対してランレングス符号化処理を実行し、最終的にクライアント機器に提供するゲーム画面のデータを生成する。このとき、CPU101はランレングス符号化を実行するために、対象GPUのGPUメモリから量子化ゲーム画面を読み出してRAM103に格納する。GPUメモリにおいてビット反転エラーが発生した場合、RAM103に格納された量子化ゲーム画面ではパリティ情報との齟齬が発生していることになる。
一方、ランレングス符号化処理は、連続するデータのビット列において、同一の値が連続する長さを調査してデータ圧縮を行う処理である。即ち、RAM103に格納された量子化ゲーム画面についてランレングス符号化処理を行う場合、CPU101は所定数のビット列内に含まれる全ての値を参照するため、パリティビット間のデータ列について例えば1が登場した数を把握することができる。つまり、本発明ではCPU101はランレングス符号化におけるビット列における並びの調査を利用し、パリティチェックを行うことができる。
本ステップではCPU101は、上述のようにランレングス符号化処理を実行して最終的に提供するゲーム画面の符号化データを生成するとともに、パリティチェックを行い、対象GPUのGPUメモリについてビット反転エラーの発生を検出する。なお、CPU101は、対象GPUのGPUメモリについてビット反転エラーを検出した回数を計数するものとする。
S504で、CPU101は、S503で生成した最終的に提供するゲーム画面の符号化データと、対象GPUのGPUメモリについてビット反転エラーを検出した回数を示す情報とを、通信部113に伝送してセンタサーバ200に送信させる。なお、このとき最終的に提供するゲーム画面の符号化データは、描画命令に含まれていたゲーム画面を提供するクライアント機器300の識別情報が関連付けられて送信されるものとする。またビット反転エラーを検出した回数を示す情報は、描画命令に含まれていたゲーム画面を描画するGPUの識別情報が関連付けられて送信されるものとする。
このようにすることで、GPUメモリについて専用のチェックプログラムを実行することなく、符号化処理を利用してビット反転エラーの発生を検出することができる。なお、本実施形態では、パリティ情報を付加した量子化ゲーム画面をGPUメモリに書き込むものとして説明したが、GPUメモリに書き込まれるデータはこれに限られるものではない。即ち、本発明におけるGPUメモリのエラーチェックは、ランレングス符号化を適用する直前のデータがパリティ情報を付加された状態でGPUメモリに書き込まれればよい。つまり本発明は、ランレングス符号化の前処理が適用されたデータが、パリティ情報を付加された状態でGPUメモリに書き込まれ、該データを読み出してランレングス符号化を行う形態であれば適用可能である。
なお、本実施形態ではGPUメモリを例にとって説明したが、本発明はGPUメモリに限らず、一般的なメモリについても、そのエラーチェックを行う手法として適用可能である。
また本実施形態では、描画サーバが複数のGPUを有している例について説明したが、本発明の実施はこの構成に限られない。例えばそれぞれ1つのGPUを有する描画サーバが複数センタサーバに接続される場合、センタサーバはビット反転エラー数が閾値を超えたGPUを有する描画サーバを、ゲーム画面の描画を行う描画サーバの対象から除外する構成であってもよい。また、センタサーバを設けず、クライアント機器300が直接描画サーバ100と接続する構成であってもよい。この場合、CPU101が、ビット反転エラー数が閾値を超えるか否かを判断し、閾値を超えたGPUを、ゲーム画面を描画するGPUの割り当て対象から除外してもよい。
なお、上述した実施形態では、GPUメモリのビット反転エラー数が閾値を超えた場合、該GPUメモリを有するGPUに次のフレームのゲーム画面の描画は割り当てないものとして説明したが、GPUの除外方法はこれに限られない。例えば、ビット反転エラー数が閾値を超えた回数をさらに計数し、該閾値を超えた回数が所定回数以上で除外してもよいし、サーバメンテナンス時間に入った際に、ビット反転エラー数が閾値以上のGPUを除外してもよい。
以上説明したように、本実施形態の符号化装置は、符号化処理を利用した効率的なメモリ検査を行うことができる。具体的には符号化装置は、検査対象のメモリについてパリティ情報を付加したデータをメモリに書き込んだ後、該データをメモリから読み出してランレングス符号化処理を行って符号化データを生成する。符号化装置は、書き込まれたデータについてビット列を参照して符号化データを生成する際に、該ビット列と付加されているパリティ情報とを比較してビット反転エラーを検出する。
このようにすることで、ランレングス符号化処理を行う際に、同時にメモリの信頼性をチェックすることができるため、専用のチェックプログラムをスケジューリングする必要なく、信頼性の低いメモリを検出できる。また上述したような形態の描画システムにおいて、効率のよく自動化されたフォールトトレランスを実現することが可能である。

Claims (16)

  1. 符号化した画像データを出力する描画サーバであって、
    GPUを使用して画像を描画する描画手段と、
    前記描画手段により描画された前記画像を前記GPUが有するGPUメモリに書き込む書き込み手段と、
    前記書き込み手段により前記GPUメモリに書き込まれた前記画像を読み出してランレングス符号化処理を行なって前記符号化した画像データを生成する符号化手段と、を有し、
    前記書き込み手段は、前記画像を前記GPUメモリに書き込む際に、該画像にパリティ情報を付加して書き込み、
    前記符号化手段は、前記GPUメモリから読み出した前記画像について、ビット列を参照して前記符号化した画像データを生成する際に、該ビット列と前記書き込み手段により付加されたパリティ情報とを比較してビット反転エラーを検出する
    ことを特徴とする描画サーバ。
  2. 前記書き込み手段は、前記描画手段により描画された前記画像に対して、符号化前処理を適用して前記GPUメモリに書き込むことを特徴とする請求項1に記載の描画サーバ。
  3. 前記符号化前処理は、離散コサイン変換処理を含むことを特徴とする請求項2に記載の描画サーバ。
  4. 前記符号化した画像データは、動画符号化データの1フレームに対応するデータであることを特徴とする請求項1乃至3のいずれか1項に記載の描画サーバ。
  5. 前記符号化手段によりビット反転エラーが検出された回数を計数する計数手段と、
    前記計数手段により計数されたビット反転エラーが検出された回数を、該ビット反転エラーが検出されたGPUを示す情報を関連付けて外部装置に通知する通知手段と、
    をさらに有することを特徴とする請求項1乃至4のいずれか1項に記載の描画サーバ。
  6. 請求項5に記載の描画サーバが1以上接続されたセンタサーバであって、
    クライアント機器が接続されたことを検出する検出手段と、
    前記検出手段により検出されたクライアント機器に対して提供する符号化した画像データの生成を、前記1以上の描画サーバが有するGPUのうちのいずれかに割り当てる割り当て手段と、
    前記割り当て手段により接続されているクライアント機器に対して割り当てられたGPUを有する描画サーバから、前記符号化した画像データを受信して該クライアント機器に送信する送信手段と、を有し、
    前記割り当て手段は、前記符号化した画像データの生成を割り当てたGPUについてビット反転エラーが検出された回数を該GPUを有する描画サーバから受信し、該回数が閾値を超える場合は、該GPUを前記符号化した画像データの生成を割り当てるGPUから除外する
    ことを特徴とするセンタサーバ。
  7. パリティ情報を付加したデータをメモリに書き込む書き込み手段と、
    前記書き込み手段により書き込まれたデータを前記メモリから読み出してランレングス符号化処理を行って符号化データを生成する符号化手段と、を有し、
    前記符号化手段は、前記書き込まれたデータについてビット列を参照して前記符号化データを生成する際に、該ビット列と付加されているパリティ情報とを比較してビット反転エラーを検出する
    ことを特徴とする符号化装置。
  8. 符号化した画像データを出力する描画サーバの制御方法であって、
    前記描画サーバの描画手段が、GPUを使用して画像を描画する描画工程と、
    前記描画サーバの書き込み手段が、前記描画工程において描画された前記画像を前記GPUが有するGPUメモリに書き込む書き込み工程と、
    前記描画サーバの符号化手段が、前記書き込み工程において前記GPUメモリに書き込まれた前記画像を読み出してランレングス符号化処理を行なって前記符号化した画像データを生成する符号化工程と、を有し、
    前記書き込み手段は前記書き込み工程において、前記画像を前記GPUメモリに書き込む際に、該画像にパリティ情報を付加して書き込み、
    前記符号化手段は前記符号化工程において、前記GPUメモリから読み出した前記画像について、ビット列を参照して前記符号化した画像データを生成する際に、該ビット列と前記書き込み工程において付加されたパリティ情報とを比較してビット反転エラーを検出する
    ことを特徴とする描画サーバの制御方法。
  9. 請求項5に記載の描画サーバが複数接続されたセンタサーバの制御方法であって、
    前記センタサーバの検出手段が、クライアント機器が接続されたことを検出する検出工程と、
    前記センタサーバの割り当て手段が、前記検出工程において検出されたクライアント機器に対して提供する符号化した画像データの生成を、前記複数の描画サーバが有するGPUのうちのいずれかに割り当てる割り当て工程と、
    前記センタサーバの送信手段が、前記割り当て工程において接続されているクライアント機器に対して割り当てられたGPUを有する描画サーバから、前記符号化した画像データを受信して該クライアント機器に送信する送信工程と、を有し、
    前記割り当て手段は前記割り当て工程において、前記符号化した画像データの生成を割り当てたGPUについてビット反転エラーが検出された回数を該GPUを有する描画サーバから受信し、該回数が閾値を超える場合は、該GPUを前記符号化した画像データの生成を割り当てるGPUから除外する
    ことを特徴とするセンタサーバの制御方法。
  10. 書き込み手段が、パリティ情報を付加したデータをメモリに書き込む書き込み工程と、
    符号化手段が、前記書き込み工程において書き込まれたデータを前記メモリから読み出してランレングス符号化処理を行って符号化データを生成する符号化工程と、を有し、
    前記符号化手段は前記符号化工程において、前記書き込まれたデータについてビット列を参照して前記符号化データを生成する際に、該ビット列と付加されているパリティ情報とを比較してビット反転エラーを検出する
    ことを特徴とする符号化方法。
  11. コンピュータを、請求項1乃至5のいずれか1項に記載の描画サーバの各手段として機能させるためのプログラム。
  12. コンピュータを、請求項1乃至5のいずれか1項に記載の描画サーバの各手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  13. コンピュータを、請求項6に記載のセンタサーバの各手段として機能させるためのプログラム。
  14. コンピュータを、請求項6に記載のセンタサーバの各手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  15. コンピュータを、請求項7に記載の符号化装置の各手段として機能させるためのプログラム。
  16. コンピュータを、請求項7に記載の符号化装置の各手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2013154920A 2011-11-07 2013-07-25 プログラム、情報処理装置及び制御方法 Active JP5792773B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161556554P 2011-11-07 2011-11-07
US61/556554 2011-11-07

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011277628A Division JP5331192B2 (ja) 2011-11-07 2011-12-19 描画サーバ、センタサーバ、符号化装置、制御方法、符号化方法、プログラム、及び記録媒体

Publications (3)

Publication Number Publication Date
JP2013232231A true JP2013232231A (ja) 2013-11-14
JP2013232231A5 JP2013232231A5 (ja) 2014-11-13
JP5792773B2 JP5792773B2 (ja) 2015-10-14

Family

ID=48622126

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011277628A Active JP5331192B2 (ja) 2011-11-07 2011-12-19 描画サーバ、センタサーバ、符号化装置、制御方法、符号化方法、プログラム、及び記録媒体
JP2013154920A Active JP5792773B2 (ja) 2011-11-07 2013-07-25 プログラム、情報処理装置及び制御方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011277628A Active JP5331192B2 (ja) 2011-11-07 2011-12-19 描画サーバ、センタサーバ、符号化装置、制御方法、符号化方法、プログラム、及び記録媒体

Country Status (7)

Country Link
US (1) US20130335432A1 (ja)
EP (1) EP2678780A4 (ja)
JP (2) JP5331192B2 (ja)
KR (1) KR20140075644A (ja)
CN (1) CN103874989A (ja)
CA (1) CA2828199A1 (ja)
WO (1) WO2013069651A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016157329A1 (ja) * 2015-03-27 2016-10-06 三菱電機株式会社 クライアント装置及び通信システム及び描画処理制御方法及び描画処理制御プログラム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6412708B2 (ja) 2014-04-01 2018-10-24 株式会社ソニー・インタラクティブエンタテインメント プロセッシングシステムおよびマルチプロセッシングシステム
JP6373620B2 (ja) * 2014-04-01 2018-08-15 株式会社ソニー・インタラクティブエンタテインメント ゲーム提供システム
US10853177B2 (en) * 2017-07-27 2020-12-01 United States Of America As Represented By The Secretary Of The Air Force Performant process for salvaging renderable content from digital data sources
US10523947B2 (en) 2017-09-29 2019-12-31 Ati Technologies Ulc Server-based encoding of adjustable frame rate content
US10594901B2 (en) * 2017-11-17 2020-03-17 Ati Technologies Ulc Game engine application direct to video encoder rendering
CN107992392B (zh) * 2017-11-21 2021-03-23 国家超级计算深圳中心(深圳云计算中心) 一种用于云渲染系统的自动监控修复系统和方法
US11290515B2 (en) 2017-12-07 2022-03-29 Advanced Micro Devices, Inc. Real-time and low latency packetization protocol for live compressed video data
CN109213793A (zh) * 2018-08-07 2019-01-15 泾县麦蓝网络技术服务有限公司 一种流式数据处理方法和系统
KR102141158B1 (ko) * 2018-11-13 2020-08-04 인하대학교 산학협력단 분산 스토리지 어플리케이션의 저전력 gpu 스케줄링 방법
US11100604B2 (en) 2019-01-31 2021-08-24 Advanced Micro Devices, Inc. Multiple application cooperative frame-based GPU scheduling
US11418797B2 (en) 2019-03-28 2022-08-16 Advanced Micro Devices, Inc. Multi-plane transmission
CN112691363A (zh) * 2019-10-22 2021-04-23 上海华为技术有限公司 一种云游戏跨终端切换的方法和相关装置
CN110933449B (zh) * 2019-12-20 2021-10-22 北京奇艺世纪科技有限公司 一种外部数据与视频画面的同步方法、系统及装置
US11488328B2 (en) 2020-09-25 2022-11-01 Advanced Micro Devices, Inc. Automatic data format detection

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1141603A (ja) * 1997-07-17 1999-02-12 Toshiba Corp 画像処理装置および画像処理方法
JPH1139229A (ja) * 1997-07-15 1999-02-12 Fuji Photo Film Co Ltd 画像処理装置
JP2001061034A (ja) * 1999-06-17 2001-03-06 Murata Mach Ltd 画像処理装置
US20090160865A1 (en) * 2007-12-19 2009-06-25 Advance Micro Devices, Inc. Efficient Video Decoding Migration For Multiple Graphics Processor Systems
JP2011065565A (ja) * 2009-09-18 2011-03-31 Toshiba Corp キャッシュシステム及びマルチプロセッサシステム
JP2011514565A (ja) * 2007-12-05 2011-05-06 オンライブ インコーポレイテッド クライアントの要求をサーバーセンターにインテリジェントに割り当てるシステム及び方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4992926A (en) * 1988-04-11 1991-02-12 Square D Company Peer-to-peer register exchange controller for industrial programmable controllers
JPH03185540A (ja) * 1989-12-14 1991-08-13 Nec Eng Ltd 記憶装置
US5289377A (en) * 1991-08-12 1994-02-22 Trw Inc. Fault-tolerant solid-state flight data recorder
JPH08153045A (ja) * 1994-11-30 1996-06-11 Nec Corp メモリ制御回路
US6216157B1 (en) * 1997-11-14 2001-04-10 Yahoo! Inc. Method and apparatus for a client-server system with heterogeneous clients
JP4208596B2 (ja) * 2003-02-14 2009-01-14 キヤノン株式会社 操作端末装置、そのカメラ設定方法およびプログラム
US7663633B1 (en) * 2004-06-25 2010-02-16 Nvidia Corporation Multiple GPU graphics system for implementing cooperative graphics instruction execution
DE102005016050A1 (de) * 2005-04-07 2006-10-12 Infineon Technologies Ag Speicherfehlererkennungsvorrichtung und Verfahren zum Erkennen eines Speicherfehlers
US9275430B2 (en) * 2006-12-31 2016-03-01 Lucidlogix Technologies, Ltd. Computing system employing a multi-GPU graphics processing and display subsystem supporting single-GPU non-parallel (multi-threading) and multi-GPU application-division parallel modes of graphics processing operation
US7971124B2 (en) * 2007-06-01 2011-06-28 International Business Machines Corporation Apparatus and method for distinguishing single bit errors in memory modules
US8019151B2 (en) * 2007-06-11 2011-09-13 Visualization Sciences Group, Inc. Methods and apparatus for image compression and decompression using graphics processing unit (GPU)
US8358313B2 (en) * 2008-04-08 2013-01-22 Avid Technology, Inc. Framework to integrate and abstract processing of multiple hardware domains, data types and format
EP2364190B1 (en) * 2008-05-12 2018-11-21 GameFly Israel Ltd. Centralized streaming game server
US8140945B2 (en) 2008-05-23 2012-03-20 Oracle America, Inc. Hard component failure detection and correction
US8310488B2 (en) * 2009-04-02 2012-11-13 Sony Computer Intertainment America, Inc. Dynamic context switching between architecturally distinct graphics processors
US8803892B2 (en) * 2010-06-10 2014-08-12 Otoy, Inc. Allocation of GPU resources across multiple clients

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139229A (ja) * 1997-07-15 1999-02-12 Fuji Photo Film Co Ltd 画像処理装置
JPH1141603A (ja) * 1997-07-17 1999-02-12 Toshiba Corp 画像処理装置および画像処理方法
JP2001061034A (ja) * 1999-06-17 2001-03-06 Murata Mach Ltd 画像処理装置
JP2011514565A (ja) * 2007-12-05 2011-05-06 オンライブ インコーポレイテッド クライアントの要求をサーバーセンターにインテリジェントに割り当てるシステム及び方法
US20090160865A1 (en) * 2007-12-19 2009-06-25 Advance Micro Devices, Inc. Efficient Video Decoding Migration For Multiple Graphics Processor Systems
JP2011065565A (ja) * 2009-09-18 2011-03-31 Toshiba Corp キャッシュシステム及びマルチプロセッサシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6015017835; 大澤 清: '打順最適化問題の高速化手法' 情報処理学会論文誌 第48巻 第3号, 20070315, pp. 1443-1454, 社団法人情報処理学会 *
JPN6015017838; 'モバイル・ゲーム新ステージへ ソニーの賭け、任天堂のこだわり' 日経エレクトロニクス 第1056号, 20110516, pp. 46-51, 日経BP社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016157329A1 (ja) * 2015-03-27 2016-10-06 三菱電機株式会社 クライアント装置及び通信システム及び描画処理制御方法及び描画処理制御プログラム

Also Published As

Publication number Publication date
JP5792773B2 (ja) 2015-10-14
JP2013101580A (ja) 2013-05-23
JP5331192B2 (ja) 2013-10-30
EP2678780A4 (en) 2016-07-13
KR20140075644A (ko) 2014-06-19
CN103874989A (zh) 2014-06-18
CA2828199A1 (en) 2013-05-16
WO2013069651A1 (en) 2013-05-16
US20130335432A1 (en) 2013-12-19
EP2678780A1 (en) 2014-01-01

Similar Documents

Publication Publication Date Title
JP5331192B2 (ja) 描画サーバ、センタサーバ、符号化装置、制御方法、符号化方法、プログラム、及び記録媒体
US10230565B2 (en) Allocation of GPU resources across multiple clients
US11909984B2 (en) Video encoding and decoding for cloud gaming
US9052959B2 (en) Load balancing between general purpose processors and graphics processors
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
EP2672452B1 (en) Moving image distribution server, moving image playback device, control method, program, and recording medium
US20130093779A1 (en) Graphics processing unit memory usage reduction
US8888592B1 (en) Voice overlay
US8860720B1 (en) System and method for delivering graphics over network
JP6379107B2 (ja) 情報処理装置並びにその制御方法、及びプログラム
EP2954495B1 (en) Information processing apparatus, method of controlling the same, program, and storage medium
CN113327303B (zh) 图像处理方法、装置、计算机设备及存储介质
WO2014123127A1 (en) Image processing apparatus, method of controlling the same, program and storage medium
JP6265337B2 (ja) プログラム、記録媒体及び描画装置決定方法
US9465738B2 (en) Information processing system, control method, program, and recording medium
US20210308570A1 (en) Method and apparatus for game streaming
CN117896534A (zh) 屏幕图像的编码方法、装置、设备和计算机可读存储介质
CN115731324A (zh) 处理数据的方法、装置、系统及介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141001

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150623

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150806

R150 Certificate of patent or registration of utility model

Ref document number: 5792773

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250