JP6613328B2 - 画像処理プログラム、画像処理システム、画像処理装置及び画像処理方法 - Google Patents

画像処理プログラム、画像処理システム、画像処理装置及び画像処理方法 Download PDF

Info

Publication number
JP6613328B2
JP6613328B2 JP2018027012A JP2018027012A JP6613328B2 JP 6613328 B2 JP6613328 B2 JP 6613328B2 JP 2018027012 A JP2018027012 A JP 2018027012A JP 2018027012 A JP2018027012 A JP 2018027012A JP 6613328 B2 JP6613328 B2 JP 6613328B2
Authority
JP
Japan
Prior art keywords
image
conversion
pixels
pixel
color
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
JP2018027012A
Other languages
English (en)
Other versions
JP2019144739A (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.)
Nintendo Co Ltd
Original Assignee
Nintendo 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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2018027012A priority Critical patent/JP6613328B2/ja
Priority to US16/229,344 priority patent/US10748349B2/en
Publication of JP2019144739A publication Critical patent/JP2019144739A/ja
Application granted granted Critical
Publication of JP6613328B2 publication Critical patent/JP6613328B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/26Output arrangements for video game devices having at least one additional display device, e.g. on the game controller or outside a game booth
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/02Non-photorealistic rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Description

本発明は、画像処理技術に関する。
従来、ゲームプレイ画像をキャプチャする技術が知られている。また、キャプチャするゲームプレイ画像に画像処理を施して別の画像に変換する技術として、フィルタ処理が知られている(非特許文献1及び2参照)。フィルタ処理には、例えば、画面の背景をぼかす処理や、画面を白黒にする処理がある。
"スーパーマリオ オデッセイ(登録商標) ベストショットでっせい"、[online]、任天堂株式会社(登録商標)、[平成30年2月5日検索]、インターネット<URL: https://www.nintendo.co.jp/switch/aaaca/photocontest/index.html> "スーパーマリオ オデッセイ(登録商標) 世界見どころガイド"、[online]、任天堂株式会社(登録商標)、[平成30年2月5日検索]、インターネット<URL: https://www.nintendo.co.jp/switch/aaaca/guide/index.html>
本発明は、このような事情に鑑みてなされたものであり、画像内のオブジェクトの視認性が向上するように画像を変換する技術を提供することを目的とする。
上記の課題を解決するため、本発明の一実施形態に係る画像処理プログラムは、コンピュータに、デプスバッファを用いた3次元の仮想空間の描画処理を行う描画ステップと、前記描画ステップで描画された画像を変換前画像とし、当該変換前画像に対して画像変換処理を行うことで変換後画像を生成する画像変換ステップとを実行させるための画像処理プログラムであって、前記画像変換ステップは、前記変換前画像の画素のうち、デプスが周辺の第1の範囲内の画素のデプスよりも小さく、かつその差が第1の基準よりも大きい画素について、対応する前記変換後画像における画素を第1の色で描画する第1色描画ステップと、前記変換前画像の画素のうち、デプスが周辺の第2の範囲内の画素のデプスよりも大きく、かつその差が第2の基準よりも大きい画素について、対応する前記変換後画像における画素を第2の色で描画する第2色描画ステップとを含む。
上記の画像処理プログラムにおいて、前記画像変換ステップは、前記第1色描画ステップおよび前記第2色描画ステップを実行する前に、前記変換前画像の画素について、所定の条件に基づいて画素を複数種類に分類し、分類した種類に応じた色で、対応する前記変換後画像における画素を描画する階調化ステップをさらに含んでもよい。
また、前記階調化ステップは、画素の輝度に基づいて、画素を複数段階に分類し、分類した段階に応じた色で、対応する前記変換後画像における画素を描画するようにしてもよい。
上記の画像処理プログラムにおいて、前記第1色描画ステップはさらに、法線方向が周辺の第3の範囲内の画素の法線方向と異なり、かつその差が第3の基準よりも大きい画素について、対応する前記変換後画像における画素を前記第1の色で描画するようにしてもよい。
上記の画像処理プログラムにおいて、前記第1色描画ステップはさらに、画素値が周辺の第4の範囲内の画素の画素値と異なり、かつその差が第4の基準よりも大きい画素について、対応する前記変換後画像における画素を前記第1の色で描画するようにしてもよい。
上記の画像処理プログラムにおいて、前記画像変換ステップは、前記変換前画像からグレーの前記変換後画像を生成し、かつ前記第2の色は、前記第1の色よりも高い輝度であってもよい。
上記の画像処理プログラムにおいて、前記第2色描画ステップは、前記変換前画像の画素のうち、デプスが周辺の前記第2の範囲内の画素のデプスよりも大きく、かつその差が前記第2の基準よりも大きい画素であって、かつデプスが第5の基準よりも小さい画素について、対応する前記変換後画像における画素を前記第2の色で描画するようにしてもよい。
また、前記第2色描画ステップは、前記第2の範囲内の画素との距離が近い画素に関しては前記第5の基準を大きくし、前記第2の範囲内の画素との距離が遠い画素に関しては前記第5の基準を小さくして描画を行うようにしてもよい。
本発明の一実施形態に係る画像処理システムは、デプスバッファを用いた3次元の仮想空間の描画処理を行う描画部と、前記描画部により描画された画像を変換前画像とし、当該変換前画像に対して画像変換処理を行うことで変換後画像を生成する画像変換部とを備え、前記画像変換部は、前記変換前画像の画素のうち、デプスが周辺の第1の範囲内の画素のデプスよりも小さく、かつその差が第1の基準よりも大きい画素について、対応する前記変換後画像における画素を第1の色で描画する第1色描画部と、前記変換前画像の画素のうち、デプスが周辺の第2の範囲内の画素のデプスよりも大きく、かつその差が第2の基準よりも大きい画素について、対応する前記変換後画像における画素を第2の色で描画する第2色描画部とを備える。
上記の画像処理システムにおいて、前記画像変換部は、前記第1色描画部および前記第2色描画部による描画処理が実行される前に、前記変換前画像の画素について、所定の条件に基づいて画素を複数種類に分類し、分類した種類に応じた色で、対応する前記変換後画像における画素を描画する階調化部をさらに備えてもよい。
また、前記階調化部は、画素の輝度に基づいて、画素を複数段階に分類し、分類した段階に応じた色で、対応する前記変換後画像における画素を描画するようにしてもよい。
上記の画像処理システムにおいて、前記第1色描画部はさらに、法線方向が周辺の第3の範囲内の画素の法線方向と異なり、かつその差が第3の基準よりも大きい画素について、対応する前記変換後画像における画素を前記第1の色で描画するようにしてもよい。
上記の画像処理システムにおいて、前記第1色描画部はさらに、画素値が周辺の第4の範囲内の画素の画素値と異なり、かつその差が第4の基準よりも大きい画素について、対応する前記変換後画像における画素を前記第1の色で描画するようにしてもよい。
上記の画像処理システムにおいて、前記画像変換部は、前記変換前画像からグレーの前記変換後画像を生成し、かつ前記第2の色は、前記第1の色よりも高い輝度であってもよい。
上記の画像処理システムにおいて、前記第2色描画部は、前記変換前画像の画素のうち、デプスが周辺の前記第2の範囲内の画素のデプスよりも大きく、かつその差が前記第2の基準よりも大きい画素であって、かつデプスが第5の基準よりも小さい画素について、 対応する前記変換後画像における画素を前記第2の色で描画するようにしてもよい。
また、前記第2色描画部は、前記第2の範囲内の画素との距離が近い画素に関しては前記第5の基準を大きくし、前記第2の範囲内の画素との距離が遠い画素に関しては前記第5の基準を小さくして描画を行うようにしてもよい。
上記の画像処理システムにおいて、前記仮想空間内の仮想カメラの位置又は姿勢をユーザの操作に応じて制御する仮想カメラ制御部をさらに備え、前記描画部は、前記仮想カメラの位置又は姿勢に基づいて前記仮想空間の画像を描画するようにしてもよい。
本発明の一実施形態に係る画像処理装置は、デプスバッファを用いた3次元の仮想空間の描画処理を行う描画部と、前記描画部により描画された画像を変換前画像とし、当該変換前画像に対して画像変換処理を行うことで変換後画像を生成する画像変換部とを備え、前記画像変換部は、前記変換前画像の画素のうち、デプスが周辺の第1の範囲内の画素のデプスよりも小さく、かつその差が第1の基準よりも大きい画素について、対応する前記変換後画像における画素を第1の色で描画する第1色描画部と、前記変換前画像の画素のうち、デプスが周辺の第2の範囲内の画素のデプスよりも大きく、かつその差が第2の基準よりも大きい画素について、対応する前記変換後画像における画素を第2の色で描画する第2色描画部とを備える。
本発明の一実施形態に係る画像処理方法は、画像処理システムにより実行される画像処理方法であって、デプスバッファを用いた3次元の仮想空間の描画処理を行う描画ステップと、前記描画ステップで描画された画像を変換前画像とし、当該変換前画像に対して画像変換処理を行うことで変換後画像を生成する画像変換ステップとを含み、前記画像変換ステップは、前記変換前画像の画素のうち、デプスが周辺の第1の範囲内の画素のデプスよりも小さく、かつその差が第1の基準よりも大きい画素について、対応する前記変換後画像における画素を第1の色で描画する第1色描画ステップと、前記変換前画像の画素のうち、デプスが周辺の第2の範囲内の画素のデプスよりも大きく、かつその差が第2の基準よりも大きい画素について、対応する前記変換後画像における画素を第2の色で描画する第2色描画ステップとを含む。
本発明は、画像内のオブジェクトの視認性が向上するように画像を変換する技術を提供する。
ゲームシステム1の外観の一例を示す図 本体装置2の内部構成の一例を示すブロック図 左コントローラ3及び右コントローラ4の内部構成の一例を示すブロック図 ゲームプレイ中にディスプレイ211に表示される画像の一例を示す図 仮想カメラの位置及び姿勢の制御について説明するための図 漫画フィルタに係る処理を実行するための機能構成の一例を示すブロック図 参照画素と対象画素との位置関係の一例を示す図 参照画素と対象画素との位置関係の一例を示す図 参照画素と対象画素との位置関係の一例を示す図 漫画フィルタに係る処理の一例を示すフローチャート 4値化処理の一例を示すフローチャート 黒線抽出処理の一例を示すフローチャート 白線抽出処理の一例を示すフローチャート 変換前画像の一例を示す図 変換後画像の一例を示す図
1.実施形態
本発明の一実施形態に係るゲームシステム1について説明する。図1は、ゲームシステム1の外観の一例を示す図である。同図に示すように、ゲームシステム1は、本体装置2、左コントローラ3及び右コントローラ4を備える。左コントローラ3及び右コントローラ4(以下、総称して「コントローラ」と呼ぶ場合がある。)は本体装置2に対して着脱可能である。ゲームシステム1は、左コントローラ3及び右コントローラ4を本体装置2に装着した状態であっても取り外した状態であっても利用可能である。
1−1.本体装置2の構成
図2は、本体装置2の内部構成の一例を示すブロック図である。同図に示すように、本体装置2は、プロセッサ201を備える。プロセッサ201は、各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を有するSoC(System-on-a-chip)により構成されてもよい。プロセッサ201は、後述する内部記憶媒体や、スロット204に装着された外部記憶媒体に記憶されるプログラムを実行することによって、各種の情報処理を実行する。
本体装置2は、内部記憶媒体の一例として、フラッシュメモリ202及びDRAM(Dynamic Random Access Memory)203を備える。フラッシュメモリ202は、各種のデータを記憶するために用いられる不揮発性のメモリである。DRAM203は、各種のデータを一時的に記憶するために用いられる揮発性のメモリである。
本体装置2は、スロット204及びスロットインターフェース(以下、「I/F」と略記する。)205を備える。スロット204は、本体装置2のハウジングの上側面に設けられ、メモリカード等の外部記憶媒体を装着可能な形状を有する。スロットI/F205は、スロット204に装着された外部記憶媒体に対するデータの読み書きを、プロセッサ201の指示に応じて行う。
本体装置2は、ネットワーク通信部206を備える。ネットワーク通信部206は、無線LAN方式により又は赤外線通信により外部装置と無線通信を行う。
本体装置2は、コントローラ通信部207を備える。コントローラ通信部207は、Bluetooth(登録商標)等の近距離無線通信技術を用いて左コントローラ3及び右コントローラ4と無線通信を行う。
本体装置2は、左側端子208、右側端子209及び下側端子210を備える。左側端子208は、本体装置2が左コントローラ3と有線通信を行うための端子である。右側端子209は、本体装置2が右コントローラ4と有線通信を行うための端子である。下側端子210は、本体装置2がクレードルと通信を行うための端子である。本体装置2は、クレードルと接続されると、クレードルを介して外部の据置型モニタに画像や音声を出力することができる。
本体装置2は、ディスプレイ211を備える。ディスプレイ211は、液晶ディスプレイや有機ELディスプレイ等の表示装置である。
本体装置2は、タッチパネル212及びタッチパネルコントローラ213を備える。タッチパネル212は、静電容量方式等のタッチパネルであり、ディスプレイ211上に配置される。タッチパネルコントローラ213は、タッチパネル212を制御する回路である。タッチパネルコントローラ213は、タッチパネル212から出力される信号に基づいて、タッチ入力が行われた位置を示すデータを生成して、プロセッサ201に出力する。
本体装置2は、コーデック回路214、スピーカ215及び音声入出力端子216を備える。コーデック回路214は、スピーカ215および音声入出力端子216に対する音声データの入出力を制御する回路である。
本体装置2は、電力制御部217、バッテリ218及び電源ボタン219を備える。電力制御部217は、プロセッサ201からの指令に基づいて、バッテリ218から本体装置2の各部への電力供給を制御する。
1−2.コントローラの構成
図3は、左コントローラ3及び右コントローラ4の内部構成の一例を示すブロック図である。同図に示すように、左コントローラ3は、端子31を備える。端子31は、左コントローラ3が本体装置2と有線通信を行うための端子である。
左コントローラ3は、通信制御部32を備える。通信制御部32は、マイクロプロセッサにより構成され、本体装置2との間の通信を制御する。通信制御部32は、本体装置2との間で、端子31を介した有線通信と、端子31を介さない無線通信の両方が可能である。通信制御部32は、左コントローラ3が本体装置2に装着されているときには、端子31を介して本体装置2と有線通信を行う。一方、左コントローラ3が本体装置2に装着されていないときには、本体装置2との間で無線通信を行う。
左コントローラ3は、例えばフラッシュメモリ等のメモリ33を備える。通信制御部32は、メモリ33に記憶されるファームウェアを実行することにより、各種の処理を実行する。
左コントローラ3は、各種の操作ボタン34及びアナログスティック35を備える。操作ボタン34及びアナログスティック35は、自身に対して行われた操作に関するデータを、適宜、通信制御部32へ出力する。通信制御部32は、取得した操作データを本体装置2へ送信する。
左コントローラ3は、電力供給部36を備える。電力供給部36は、バッテリ及び電力制御回路を有する。
次に、右コントローラ4は、端子41を備える。端子41は、右コントローラ4が本体装置2と有線通信を行うための端子である。
右コントローラ4は、通信制御部42を備える。通信制御部42は、マイクロプロセッサにより構成され、本体装置2との間の通信を制御する。通信制御部42は、本体装置2との間で、端子41を介した有線通信と、端子41を介さない無線通信の両方が可能である。通信制御部42は、右コントローラ4が本体装置2に装着されているときには、端子41を介して本体装置2と有線通信を行う。一方、右コントローラ4が本体装置2に装着されていないときには、本体装置2との間で無線通信を行う。
右コントローラ4は、例えばフラッシュメモリ等のメモリ43を備える。通信制御部42は、メモリ43に記憶されるファームウェアを実行することにより、各種の処理を実行する。
右コントローラ4は、各種の操作ボタン44及びアナログスティック45を備える。操作ボタン44及びアナログスティック45は、自身に対して行われた操作に関するデータを、適宜、通信制御部42へ出力する。通信制御部42は、取得した操作データを本体装置2へ送信する。
右コントローラ4は、電力供給部46を備える。電力供給部46は、バッテリ及び電力制御回路を有する。
1−3.ゲームシステム1の動作概要
次に、ゲームシステム1の動作について説明する。
ゲームシステム1は、ゲームプログラムを記憶する外部記憶媒体がスロット204に装着され、プレイヤによりゲームの開始が指示されると、当該ゲームプログラムを実行する。以下の説明では、実行されるゲームとして、プレイヤが3次元の仮想空間内でキャラクタを操作するアクションゲームを想定する。ただし、アクションゲームは実行可能なゲームのあくまで一例であり、その他の種類のゲームが実行されてもよい。
図4は、ゲームプレイ中にディスプレイ211に表示される画像の一例を示す図である。同図に示すように、ゲームが開始されると3次元の仮想空間が定義され、当該仮想空間内に配置された仮想カメラに基づいて生成された画面がディスプレイ211に表示される。同図に示す仮想空間には、表示オブジェクトとして、プレイヤによって操作されるプレイヤキャラクタE1、プロセッサ201により制御されるノンプレイヤキャラクタE2及びE3、タワーオブジェクトE4、ビルオブジェクトE5及びE6が配置されている。
本ゲームには、ゲームモードと撮影モードがある。ゲームモードは、プレイヤがプレイヤキャラクタE1を操作して、課せられた課題をクリアするモードである。ゲームモードでは、プレイヤキャラクタE1はプレイヤの操作に応じて動作し、ノンプレイヤキャラクタE2及びE3は、プロセッサ201の制御に従って動作する。また、ゲーム内の時間が経過する。一方、撮影モードは、プレイヤがコントローラを操作して、ディスプレイ211に表示されている画像を静止画として保存するためのモードである。撮影モードでは、プレイヤキャラクタE1並びにノンプレイヤキャラクタE2及びE3の動作は停止し、ゲーム内の時間の経過も停止する。ゲームモードと撮影モードの切り替えは、コントローラに対する所定の操作を契機として行われる。
撮影モードにおいて、プレイヤにより撮影を指示する操作が行われると、ディスプレイ211に表示されている画像を示す画像データが、スナップショット画像としてフラッシュメモリ202に記憶される。
撮影モードにおいては、仮想空間内に配置された仮想カメラの位置及び姿勢をプレイヤの操作により制御することができる。図5は、仮想カメラの位置及び姿勢の制御について説明するための図である。同図に示すように、仮想空間には、固定のXYZ直交座標系が設定される。Y軸は仮想空間の上方向に延びる軸であり、X軸はY軸に対して垂直な軸であり、Z軸はY軸及びX軸に対して垂直な軸である。XZ平面上に地面オブジェクトE7が配置され、地面オブジェクトE7上にプレイヤキャラクタE1等が配置される。
また、仮想空間には、仮想カメラVCが配置される。仮想カメラVCには、仮想カメラVCに固定のXcYcZc直交座標系が設定される。Xc軸は、仮想カメラVCの右方向の軸であり、Yc軸は仮想カメラVCの上方向の軸であり、Zc軸は、仮想カメラVCの視線方向(撮像方向)の軸である。仮想カメラVCは、プレイヤの操作に応じてZc軸周り(ロール方向)に回転する。また、仮想カメラVCは、プレイヤの操作に応じて、仮想カメラVCの注視点をプレイヤキャラクタE1に固定したまま、Yc軸回り(ピッチ方向)に回転する。また、仮想カメラVCは、プレイヤの操作に応じて、仮想カメラVCの注視点をプレイヤキャラクタE1に固定したまま、Xc軸回り(ヨー方向)に回転する。また、仮想カメラVCは、プレイヤの操作に応じてズーム設定(言い換えると画角)を変更する。プレイヤは、仮想カメラVCに対してこのような制御を行うことにより、所望の位置及び角度から仮想空間を撮影することができる。
撮影モードにおいて、プレイヤはフィルタを選択することができる。ここでフィルタとは、ディスプレイ211に表示される画像の表示態様を変更するための画像処理である。プレイヤによりフィルタが選択されると、ディスプレイ211に表示される画像に所定の画像処理が施されて別の画像に変換され、変換後の画像が表示される。その後、プレイヤにより撮影を指示する操作が行われると、ディスプレイ211に表示されている変換後の画像を示す画像データが、スナップショット画像としてフラッシュメモリ202に記憶される。フィルタには、一例として、「ぼかし」、「セピア」、「白黒」、「漫画」等がある。
「ぼかし」フィルタは、画像をぼかす処理を行うフィルタである。「セピア」フィルタは、画像全体をセピア調に加工するためのフィルタである。「白黒」フィルタは、画像全体を白黒で表示するためのフィルタである。「漫画」フィルタは、画像を漫画的に表現するためのフィルタである。以下、この漫画フィルタに係る処理について詳述する。
1−4.漫画フィルタに係る処理
図6は、漫画フィルタに係る処理を実行するための機能構成の一例を示すブロック図である。同図に示す画像変換部55は、プロセッサ201がゲームプログラムを実行することにより実現される。第1カラーバッファ51、第2カラーバッファ52、法線バッファ53、深度バッファ54は、プロセッサ201がゲームプログラムを実行することにより、メモリ上に生成される領域である。これらのバッファは、例えば、図2のDRAM203上に生成される。なお、このゲームプログラムは、インターネット等のネットワークや非一時的な記録媒体を介して頒布可能なプログラムである。
第1カラーバッファ51は、漫画フィルタに係る処理が施される前の画像(以下、「変換前画像」と呼ぶ。)を構成する各画素の色情報を記憶するためのバッファである。この第1カラーバッファ51に色情報が記憶される変換前画像は、深度バッファ54を用いて3次元の仮想空間の描画処理が行われる結果、生成される画像である。なお、当該描画処理は、仮想カメラの位置及び姿勢に基づいて行われる。ここで、色情報とは、RGB値である。RGBの各値は、一例として、「0」から「1」までの値で表現され、(0,0,0)は黒色を表し、(1,1,1)は白色を表す。
第2カラーバッファ52は、漫画フィルタに係る処理が施された画像(以下、「変換後画像」と呼ぶ。)を構成する各画素の色情報を記憶するためのバッファである。
法線バッファ53は、変換前画像を構成する各画素の法線方向を記憶するためのバッファである。ここで法線方向は、仮想空間におけるオブジェクト表面の法線ベクトルにより表される。
深度バッファ54は、変換前画像を構成する各画素の深度値を記憶するためのバッファである。すなわち、デプスバッファである。ここで深度値とは、仮想空間における仮想カメラとオブジェクトの間の距離を表す値(デプス)である。深度値は、仮想カメラとオブジェクトの間の距離に比例して大きくなる。なお、深度値の起算点は、仮想カメラとオブジェクトのいずれであってもよい。
画像変換部55は、ディスプレイ211に表示されている画像を変換前画像とし、当該変換前画像に対して画像変換処理を行うことで変換後画像を生成する機能である。具体的には、画像変換部55は、画像変換処理として、漫画フィルタに係る処理を実行する。この画像変換部55は、階調化部551、黒線抽出部552及び白線抽出部553を備える。
階調化部551は、変換前画像の画素について、所定の条件に基づいて画素を複数種類に分類し、分類した種類に応じた色で、対応する変換後画像における画素を描画する機能である。階調化部551は、具体的には、画素の輝度に基づいて画素を4段階に分類し、分類した段階に応じた色で、対応する変換後画像における画素を描画する。ここで、画素の輝度Bは、一例として下記の式を用いて求められる。
B = 0.298912*Red + 0.586611*Green + 0.114478*Blue
また、画素が分類される4段階に対応する色とは、輝度の高い方から、白、グレー、スクリーントーン(以下、単に「トーン」と呼ぶ。)及び黒である。白は、RGB(1,1,1)により表される色に限られず、これに近似する色(例えば、アイボリー)を含んでもよい。グレーは、無彩色であり、RGBの各値が等しい色である。トーンは、例えば斜線の網掛けであり、所定のテクスチャがスクリーンに貼り付けられる。黒は、RGB(0,0,0)により表される色に限られず、これに近似する色(例えば、鉄黒)を含んでもよい。
また、変換前画像の画素に対応する、変換後画像における画素とは、画像全体に対する相対位置が前者の画素と共通する画素のことである。例えば、座標が共通する画素のことである。
黒線抽出部552は、変換前画像においてオブジェクトの輪郭を構成する画素を抽出し、対応する変換後画像における画素を黒色で描画する機能である。この機能により、オブジェクトの輪郭が明瞭になる。具体的には、黒線抽出部552は、変換前画像の画素のうち、以下の3つの条件のうちの少なくともいずれかの条件を満たす画素について、対応する変換後画像における画素を黒色で描画する。
A.周辺の所定の範囲内のいずれかの参照画素と比較して画素値が異なり、かつその差が所定の基準よりも大きい。
B.周辺の所定の範囲内のいずれかの参照画素と比較して法線方向が異なり、かつその差(ずれ角)が所定の基準よりも大きい。
C.周辺の所定の範囲内のいずれかの参照画素と比較して深度値が小さく、かつその差が所定の基準よりも大きい。
ここで、変換前画像の画素に対応する、変換後画像における画素とは、画像全体に対する相対位置が前者の画素と共通する画素のことである。例えば、座標が共通する画素のことである。また、黒色は、RGB(0,0,0)により表される色に限られず、これに近似する色(例えば、鉄黒)を含んでもよい。
条件Aに係る参照画素と処理対象の画素(以下、「対象画素」と呼ぶ。)との位置関係の一例を図7に示す。同図に示す例では、対象画素Psの上下左右及び斜め4方向に隣接する8個の画素Prが参照画素として特定される。また、条件Aに係る画素値とは、具体的にはRGBのいずれかの値である。また、条件Aに係る所定の基準とは、具体的には所定の閾値Cthである。閾値Cthは、変換後画像が所望の画像となるように予め任意に設定される。
条件Bに係る参照画素と対象画素との位置関係の一例を図8に示す。同図に示す例では、対象画素Psの上下左右に隣接する4個の画素Prが参照画素として特定される。ただし、この位置関係は、仮想カメラの画角に応じて変更される。具体的には、仮想カメラの画角が所定の閾値よりも小さくなると、図7に示す位置関係に変更される。すなわち、対象画素Psに対し、上下方向、左右方向及び斜め4方向に隣接する8個の画素Prが参照画素として特定される。条件Bに係る所定の基準とは、具体的には所定の閾値Nthである。閾値Nthは、変換後画像が所望の画像となるように予め任意に設定される。
条件Cに係る参照画素と対象画素との位置関係の一例は図7に示す通りである。条件Cに係る所定の基準とは、具体的には所定の閾値Dth1である。閾値Dth1は、変換後画像が所望の画像となるように予め任意に設定される。
白線抽出部553は、変換前画像においてオブジェクトの輪郭に隣接する画素を抽出し、対応する変換後画像における画素を白色で描画する機能である。この機能により、オブジェクトの輪郭が白線で縁取りされ、その結果、輪郭がさらに明瞭になる。具体的には、白線抽出部553は、変換前画像の画素のうち、以下の2つの条件の両方を満たす画素について、対応する変換後画像における画素を白色で描画する。
D.周辺の所定の範囲内のいずれかの参照画素と比較して深度値が大きく、かつ比較対照となっている参照画素の深度値が所定の基準よりも小さい。
E.その比較対照となっている参照画素との深度値の差が所定の基準よりも大きい。
ここで、変換前画像の画素に対応する、変換後画像における画素とは、画像全体に対する相対位置が前者の画素と共通する画素のことである。例えば、座標が共通する画素のことである。また、白色は、RGB(1,1,1)により表される色に限られず、これに近似する色(例えば、アイボリー)を含んでもよい。
条件Dに係る参照画素と対象画素との位置関係の一例を図9に示す。同図に示す例では、対象画素Psに対し、上下方向及び左右方向に連続する3個の画素Prと、斜め4方向に連続する2個の画素Prの計20個の画素Prが参照画素として特定される。また、条件Dに係る参照画素とは、正確には、所定の位置関係を有する参照画素群である。対象画素の深度値は、所定の位置関係を有する参照画素群の平均深度と比較される。また、条件Dに係る所定の基準とは、具体的には可変の閾値Dth2である。閾値Dth2は、対象画素と参照画素との距離が遠くなるにつれて小さくなるように設定される。
条件Eに係る所定の基準とは、具体的には所定の基準Dth3である。閾値Dth3は、変換後画像が所望の画像となるように予め任意に設定される。
なお、白線抽出部553は、対象画素が上記の条件D及びEを満たす場合、対象画素と参照画素の深度値の差に応じて、描画する画素の白色の濃度を変更する。具体的には、深度値の差が大きいほど白色を濃くする。
図10は、漫画フィルタに係る処理の一例を示すフローチャートである。撮影モードにおいてプレイヤにより漫画フィルタが選択されると、画像変換部55は、同図に示す処理を実行する。
同図に示すステップS1において、階調化部551は、4値化処理を実行する。図11は、4値化処理の一例を示すフローチャートである。同図に示すステップS101において、階調化部551は、変換前画像を構成する各画素を4段階に分類するための閾値を算出する。具体的には、値の大きい方から、閾値Bth1、閾値Bth2及び閾値Bth3を算出する。これらの閾値は、変換前画像の平均輝度と最大及び最小輝度に基づいて算出される。一例として、閾値Bth2は、変換前画像の平均輝度を算出することにより求められる。閾値Bth1は、変換前画像の最大輝度と最小輝度の差に所定の値(例えば「0.8」)を乗算することにより求められ、閾値Bth3は、当該差に別の所定の値(例えば「0.2」)を乗算することにより求められる。
閾値を算出すると、階調化部551は、変換前画像を構成する各画素の中から未選択の対象画素を選択する(ステップS102)。
対象画素を選択すると、階調化部551は、選択した対象画素の輝度Bを算出し、算出した輝度Bが閾値Bth1以上であるか否かを判定する(ステップS103)。この判定の結果、輝度Bが閾値Bth1以上である場合には(ステップS103のYES)、階調化部551は、変換後画像において対象画素に対応する画素を白色で描画する(ステップS104)。その後、階調化部551は、変換前画像を構成するすべての画素を対象画素として選択したか否かを判定する(ステップS105)。この判定の結果、すべての画素を対象画素として選択していない場合には(ステップS105のNO)、階調化部551は、ステップS102に戻る。一方、すべての画素を対象画素として選択した場合には(ステップS105のYES)、階調化部551は、本処理を終了する。
ステップS103の判定の結果、輝度Bが閾値Bth1未満である場合には(ステップS103のNO)、階調化部551は、輝度Bが閾値Bth2以上であるか否かを判定する(ステップS106)。この判定の結果、輝度Bが閾値Bth2以上である場合には(ステップS106のYES)、階調化部551は、変換後画像において対象画素に対応する画素をグレーで描画する(ステップS107)。その後、階調化部551は、上述したステップS105を実行する。
ステップS106の判定の結果、輝度Bが閾値Bth2未満である場合には(ステップS106のNO)、階調化部551は、輝度Bが閾値Bth3以上であるか否かを判定する(ステップS108)。この判定の結果、輝度Bが閾値Bth3以上である場合には(ステップS108のYES)、階調化部551は、変換後画像において対象画素に対応する画素をトーンで描画する(ステップS109)。その後、階調化部551は、上述したステップS105を実行する。
ステップS108の判定の結果、輝度Bが閾値Bth3未満である場合には(ステップS108のNO)、階調化部551は、変換後画像において対象画素に対応する画素を黒色で描画する(ステップS110)。その後、階調化部551は、上述したステップS105を実行する。
以上が、4値化処理についての説明である。
4値化処理が終了すると、黒線抽出部552が、黒線抽出処理を実行する(図10のステップS2)。図12は、黒線抽出処理の一例を示すフローチャートである。同図に示すステップS201において、黒線抽出部552は、変換前画像を構成する各画素の中から未選択の対象画素を選択する。
対象画素を選択すると、黒線抽出部552は、選択した対象画素の周辺の所定の範囲内に属する画素の中から未選択の参照画素を選択する(ステップS202)。
参照画素を選択すると、黒線抽出部552は、対象画素と参照画素の画素値(RGBのいずれかの値)の差Cdifが閾値Cthよりも大きいか否かを判定する(ステップS203)。この判定の結果、画素値の差Cdifが閾値Cthよりも大きい場合には(ステップS203のYES)、黒線抽出部552は、変換後画像において対象画素に対応する画素を黒色で描画する(ステップS204)。その後、黒線抽出部552は、変換前画像を構成するすべての画素を対象画素として選択したか否かを判定する(ステップS205)。この判定の結果、すべての画素を対象画素として選択していない場合には(ステップS205のNO)、黒線抽出部552は、ステップS201に戻る。一方、すべての画素を対象画素として選択した場合には(ステップS205のYES)、黒線抽出部552は、本処理を終了する。
ステップS203の判定の結果、画素値の差Cdifが閾値Cth未満である場合には(ステップS203のNO)、黒線抽出部552は、対象画素と参照画素の法線方向の差Ndifが閾値Nthよりも大きいか否かを判定する(ステップS206)。この判定の結果、法線方向の差Ndifが閾値Nthよりも大きい場合には(ステップS206のYES)、黒線抽出部552は、変換後画像において対象画素に対応する画素を黒色で描画する(ステップS204)。その後、黒線抽出部552は、上述したステップS205を実行する。
ステップS206の判定の結果、法線方向の差Ndifが閾値Nth未満である場合には(ステップS206のNO)、黒線抽出部552は、対象画素の深度値Dsが参照画素の深度値Drよりも小さいか否かを判定する(ステップS207)。この判定の結果、深度値Dsが深度値Drよりも小さい場合には(ステップS207のYES)、黒線抽出部552は、深度値Dsと深度値Drの差Ddifが閾値Dth1よりも大きいか否かを判定する(ステップS208)。この判定の結果、深度値の差Ddifが閾値Dth1よりも大きい場合には(ステップS208のYES)、黒線抽出部552は、変換後画像において対象画素に対応する画素を黒色で描画する(ステップS204)。その後、黒線抽出部552は、上述したステップS205を実行する。
ステップS207の判定の結果、深度値Dsが深度値Dr以上である場合と(ステップS207のNO)、ステップS208の判定の結果、深度値の差Ddifが閾値Dth1未満である場合は(ステップS208のNO)、黒線抽出部552は、対象画素の周辺の所定の範囲内に属するすべての画素を参照画素として選択したか否かを判定する(ステップS209)。この判定の結果、すべての画素を参照画素として選択していない場合には(ステップS209のNO)、黒線抽出部552は、ステップS202に戻る。一方、すべての画素を参照画素として選択した場合には(ステップS209のYES)、黒線抽出部552は、上述したステップS205を実行する。
以上が、黒線抽出処理についての説明である。
黒線抽出処理が終了すると、白線抽出部553が、白線抽出処理を実行する(図10のステップS3)。図13は、白線抽出処理の一例を示すフローチャートである。同図に示すステップS301において、白線抽出部553は、変換前画像を構成する各画素の中から未選択の対象画素を選択する。
対象画素を選択すると、白線抽出部553は、選択した対象画素の周辺の所定の範囲内に属する画素の中から未選択の参照画素を選択する(ステップS302)。
参照画素を選択すると、白線抽出部553は、対象画素の深度値Dsが参照画素の深度値Drよりも大きいか否かを判定する(ステップS303)。この判定の結果、深度値Dsが深度値Drよりも大きい場合には(ステップS303のYES)、白線抽出部553は、対象画素と参照画素の距離に基づいて閾値Dth2を算出する(ステップS304)。閾値Dth2を算出すると、白線抽出部553は、深度値Drが閾値Dth2よりも小さいか否かを判定する(ステップS305)。この判定の結果、深度値Drが閾値Dth2よりも小さい場合には(ステップS305のYES)、白線抽出部553は、深度値Dsと深度値Drの差Ddifが閾値Dth3よりも大きいか否かを判定する(ステップS306)。この判定の結果、深度値の差Ddifが閾値Dth3よりも大きい場合には(ステップS306のYES)、白線抽出部553は、変換後画像において対象画素に対応する画素を白色で描画する(ステップS307)。その際、白線抽出部553は、深度値の差Ddifが大きいほど白色を濃くする。その後、白線抽出部553は、変換前画像を構成するすべての画素を対象画素として選択したか否かを判定する(ステップS308)。この判定の結果、すべての画素を対象画素として選択していない場合には(ステップS308のNO)、白線抽出部553は、ステップS301に戻る。一方、すべての画素を対象画素として選択した場合には(ステップS308のYES)、白線抽出部553は、本処理を終了する。
ステップS303の判定の結果、深度値Dsが深度値Dr未満である場合と(ステップS303のNO)、ステップS305の判定の結果、深度値Drが閾値Dth2以上である場合と(ステップS305のNO)、ステップS306の判定の結果、深度値の差Ddifが閾値Dth3未満である場合は(ステップS306のNO)、白線抽出部553は、対象画素の周辺の所定の範囲内に属するすべての画素を参照画素として選択したか否かを判定する(ステップS309)。この判定の結果、すべての画素を参照画素として選択していない場合には(ステップS309のNO)、白線抽出部553は、ステップS302に戻る。一方、すべての画素を参照画素として選択した場合には(ステップS309のYES)、白線抽出部553は、上述したステップS308を実行する。
以上が、白線抽出処理についての説明である。
白線抽出処理の終了を以って、漫画フィルタに係る処理は終了する。
図14は、変換前画像の一例を示す図である。図15は、変換後画像の一例を示す図である。図15に示す変換後画像では、図14に示す変換前画像と比較して、4値化処理の結果、画像の表現が荒めになっている。また、黒線抽出処理の結果、オブジェクトE8及びE9の輪郭が黒線で描画されることで、背景との境界が明瞭になっている。また、白線抽出処理の結果、オブジェクトE8及びE9の輪郭が白線で縁取りされることで、背景との境界がより明瞭になっている。これらの加工の結果、変換後画像は、変換前画像と比較して漫画的表現となっている。
なお、変換後画像では、オブジェクトE8の輪郭を縁取る白線が、仮想カメラから離れるにつれて徐々に細くなっている(二点差線L1参照)。これは、白線抽出処理において閾値Dth2が、対象画素と参照画素との距離が遠くなるにつれて小さくなるように設定されているからである。このように仮想カメラからの距離に応じて白線の太さを変えることで、画像に奥行き感が出る。また、オブジェクトE9の輪郭を縁取る白線のうち、仮想カメラから遠いオブジェクトを背にする白線(二点差線L2参照)の方が、仮想カメラから近いオブジェクトを背にする白線(二点差線L3)よりも色が濃くなっている。これは、白線抽出処理において対象画素と参照画素の深度値の差が大きいほど白色を濃くしているからである。このように背景との距離に応じて白線の濃さを変えることで、背景が徐々にオブジェクトに近づいてくる状況において、白線が突然消えてしまうことを回避することができる。また、変換後画像の方が変換前画像と比較して画像全体が明るくなっており、オブジェクトE8及びE9の視認性が向上している。これは、4値化処理の際の閾値が変換前画像の平均輝度と最大及び最小輝度に基づいて算出されるからである。そのため、変換前画像が全体的に暗い画像であっても、4値化処理により全体的に明るい画像に変換される。
2.変形例
上記の実施形態は、以下に説明するように変形してもよい。なお、以下に説明する2以上の変形例は互いに組み合わせてもよい。
2−1.変形例1
上記の実施形態では、変換前画像を構成するすべての画素に対して漫画フィルタに係る処理が実行されているが、一部の画素に対してのみ実行するようにしてもよい。例えば、キャラクタの画素に対してのみ実行するようにしてもよい。または、プレイヤにより指定されたオブジェクトに対してのみ実行するようにしてもよい。
2−2.変形例2
上記の4値化処理では、画素の輝度に基づいて、白、グレー、トーン及び黒の4段階に画素が分類されているが、画素の輝度に代えてRGBのバランスに基づいて画素を分類するようにしてもよい。また、4段階の色の組み合わせは、白、グレー、トーン及び黒に限られず、他の色の組み合わせを採用してもよい。例えば、白、低濃度のトーン、高濃度のトーン及び黒の組み合わせを採用してもよい。また、4段階に代えて、3段階以下又は5段階以上に画素を分類するようにしてもよい。例えば、3段階に分類する場合には、白、グレー及び黒の3段階に分類するようにしてもよい。
2−3.変形例3
上記の黒線抽出処理において、参照画素が選択される所定の範囲の形状及び広さは、図7及び図8に示す例に限られず、任意に設定してよい。その際、参照画素は必ずしも対象画素に隣接しなくてもよい。また、上記の黒線抽出処理では、対象画素と参照画素の画素値(RGBのいずれかの値)の差が閾値よりも大きい場合に、画素が黒色で描画されているが、RGBのうち、2以上の所定の個数以上の値の差が閾値よりも大きい場合に、画素を黒色で描画するようにしてもよい。または、所定の個数以上のRGBの平均値の差が閾値よりも大きい場合に、画素を黒色で描画するようにしてもよい。また、上記の黒線抽出処理では、いずれかの参照画素と比較して上記の条件A、B又はCを満たす場合に、画素が黒色で描画されているが、2以上の所定の個数以上の参照画素と比較して上記の条件A、B又はCを満たす場合に、画素を黒色で描画するようにしてもよい。または、所定の個数以上の参照画素の平均値と比較して上記の条件A、B又はCを満たす場合に、画素を黒色で描画するようにしてもよい。また、ここで描画する色は、黒色と異なる色であってもよい。
2−4.変形例4
上記の白線抽出処理において、参照画素が選択される所定の範囲の形状及び広さは、図9に示す例に限られず、任意に設定してよい。その際、参照画素は必ずしも対象画素に隣接しなくてもよい。また、上記の白線抽出処理では、参照画素郡の平均深度と比較して上記の条件D及びEを満たす場合に、画素が白色で描画されているが、1以上の所定の個数以上の参照画素単体と比較して上記の条件D及びEを満たす場合に、画素を白色で描画するようにしてもよい。また、上記の白線抽出処理では、仮想カメラからの距離に応じて白線の太さを変えるために、対象画素と参照画素の距離に応じて閾値Dth2を変えているが、これに代えて、対象画素の深度値に応じて、参照画素を選択するための所定の範囲の広さを変えるようにしてもよい。具体的には、対象画素の深度値が大きくなるにつれて所定の範囲を狭くするようにしてもよい。この変形によっても、仮想カメラからの距離に応じて白線の太さを変えることができる。また、ここで描画する色は、黒線抽出部552で描画される色と識別可能な白色以外の色であってもよい。
2−5.変形例5
上記の漫画フィルタに係る処理では、先に黒線抽出処理が実行され、その後に白線抽出処理が実行されているが、実行順序を入れ替えてもよい。
2−6.変形例6
上記の黒線抽出処理では、上記の条件A、B及びCの各々について判定が行われているが、これらの条件のうちの1又は2の条件の判定を省略するようにしてもよい。例えば、条件A及びBの判定を省略するようにしてもよい。その場合、黒線抽出処理と白線抽出処理において第1カラーバッファ51は使用されなくなるため、上記の漫画フィルタに係る処理において変換後画像を、第1カラーバッファ51に格納されている変換前画像に上書きするようにしてもよい。
2−7.変形例7
上記のゲームシステム1は、上記の漫画フィルタに係る処理を実行可能な画像処理システムの一例である。当該処理は、スマートフォンやタブレット端末等の画像処理装置において実行されてもよい。また、ネットワークを介して接続された複数の情報処理装置からなる画像処理システムにおいて実行されてもよい。
1…ゲームシステム、2…本体装置、3…左コントローラ、4…右コントローラ、31…端子、32…通信制御部、33…メモリ、34…操作ボタン、35…アナログスティック、36…電力供給部、41…端子、42…通信制御部、43…メモリ、44…操作ボタン、45…アナログスティック、46…電力供給部、51…第1カラーバッファ、52…第2カラーバッファ、53…法線バッファ、54…深度バッファ、55…画像変換部、201…プロセッサ、202…フラッシュメモリ、203…DRAM、204…スロット、205…スロットI/F、206…ネットワーク通信部、207…コントローラ通信部、208…左側端子、209…右側端子、210…下側端子、211…ディスプレイ、212…タッチパネル、213…タッチパネルコントローラ、214…コーデック回路、215…スピーカ、216…音声入出力端子、217…電力制御部、218…バッテリ、219…電源ボタン、551…階調化部、552…黒線抽出部、553…白線抽出部

Claims (19)

  1. コンピュータに、
    デプスバッファを用いた3次元の仮想空間の描画処理を行う描画ステップと、
    前記描画ステップで描画された画像を変換前画像とし、当該変換前画像に対して画像変換処理を行うことで変換後画像を生成する画像変換ステップと
    を実行させるための画像処理プログラムであって、
    前記画像変換ステップは、
    前記変換前画像の画素のうち、デプスが周辺の第1の範囲内の画素のデプスよりも小さく、かつその差が第1の基準よりも大きい画素について、対応する前記変換後画像における画素を第1の色で描画する第1色描画ステップと、
    前記変換前画像の画素のうち、デプスが周辺の第2の範囲内の画素のデプスよりも大きく、かつその差が第2の基準よりも大きい画素について、対応する前記変換後画像における画素を第2の色で描画する第2色描画ステップと
    を含む画像処理プログラム。
  2. 前記画像変換ステップは、前記第1色描画ステップおよび前記第2色描画ステップを実行する前に、前記変換前画像の画素について、所定の条件に基づいて画素を複数種類に分類し、分類した種類に応じた色で、対応する前記変換後画像における画素を描画する階調化ステップをさらに含む、請求項1記載の画像処理プログラム。
  3. 前記階調化ステップは、画素の輝度に基づいて、画素を複数段階に分類し、分類した段階に応じた色で、対応する前記変換後画像における画素を描画する、請求項2記載の画像処理プログラム。
  4. 前記第1色描画ステップはさらに、法線方向が周辺の第3の範囲内の画素の法線方向と異なり、かつその差が第3の基準よりも大きい画素について、対応する前記変換後画像における画素を前記第1の色で描画する、請求項1から3のいずれか1項に記載の画像処理プログラム。
  5. 前記第1色描画ステップはさらに、画素値が周辺の第4の範囲内の画素の画素値と異なり、かつその差が第4の基準よりも大きい画素について、対応する前記変換後画像における画素を前記第1の色で描画する、請求項1から4のいずれか1項に記載の画像処理プログラム。
  6. 前記画像変換ステップは、前記変換前画像からグレーの前記変換後画像を生成し、かつ前記第2の色は、前記第1の色よりも高い輝度である、請求項1から5のいずれか1項に記載の画像処理プログラム。
  7. 前記第2色描画ステップは、前記変換前画像の画素のうち、デプスが周辺の前記第2の範囲内の画素のデプスよりも大きく、かつその差が前記第2の基準よりも大きい画素であって、かつデプスが第5の基準よりも小さい画素について、対応する前記変換後画像における画素を前記第2の色で描画する、請求項1から6のいずれか1項に記載の画像処理プログラム。
  8. 前記第2色描画ステップは、前記第2の範囲内の画素との距離が近い画素に関しては前記第5の基準を大きくし、前記第2の範囲内の画素との距離が遠い画素に関しては前記第5の基準を小さくして描画を行う、請求項7に記載の画像処理プログラム。
  9. デプスバッファを用いた3次元の仮想空間の描画処理を行う描画部と、
    前記描画部により描画された画像を変換前画像とし、当該変換前画像に対して画像変換処理を行うことで変換後画像を生成する画像変換部と
    を備え、
    前記画像変換部は、
    前記変換前画像の画素のうち、デプスが周辺の第1の範囲内の画素のデプスよりも小さく、かつその差が第1の基準よりも大きい画素について、対応する前記変換後画像における画素を第1の色で描画する第1色描画部と、
    前記変換前画像の画素のうち、デプスが周辺の第2の範囲内の画素のデプスよりも大きく、かつその差が第2の基準よりも大きい画素について、対応する前記変換後画像における画素を第2の色で描画する第2色描画部と
    を備える画像処理システム。
  10. 前記画像変換部は、前記第1色描画部および前記第2色描画部による描画処理が実行される前に、前記変換前画像の画素について、所定の条件に基づいて画素を複数種類に分類し、分類した種類に応じた色で、対応する前記変換後画像における画素を描画する階調化部をさらに備える、請求項9記載の画像処理システム。
  11. 前記階調化部は、画素の輝度に基づいて、画素を複数段階に分類し、分類した段階に応じた色で、対応する前記変換後画像における画素を描画する、請求項10記載の画像処理システム。
  12. 前記第1色描画部はさらに、法線方向が周辺の第3の範囲内の画素の法線方向と異なり、かつその差が第3の基準よりも大きい画素について、対応する前記変換後画像における画素を前記第1の色で描画する、請求項9から11のいずれか1項に記載の画像処理システム。
  13. 前記第1色描画部はさらに、画素値が周辺の第4の範囲内の画素の画素値と異なり、かつその差が第4の基準よりも大きい画素について、対応する前記変換後画像における画素を前記第1の色で描画する、請求項9から12のいずれか1項に記載の画像処理システム。
  14. 前記画像変換部は、前記変換前画像からグレーの前記変換後画像を生成し、かつ前記第2の色は、前記第1の色よりも高い輝度である、請求項9から13のいずれか1項に記載の画像処理システム。
  15. 前記第2色描画部は、前記変換前画像の画素のうち、デプスが周辺の前記第2の範囲内の画素のデプスよりも大きく、かつその差が前記第2の基準よりも大きい画素であって、かつデプスが第5の基準よりも小さい画素について、 対応する前記変換後画像における画素を前記第2の色で描画する、請求項9から14のいずれか1項に記載の画像処理システム。
  16. 前記第2色描画部は、前記第2の範囲内の画素との距離が近い画素に関しては前記第5の基準を大きくし、前記第2の範囲内の画素との距離が遠い画素に関しては前記第5の基準を小さくして描画を行う、請求項15に記載の画像処理システム。
  17. 前記仮想空間内の仮想カメラの位置又は姿勢をユーザの操作に応じて制御する仮想カメラ制御部をさらに備え、
    前記描画部は、前記仮想カメラの位置又は姿勢に基づいて前記仮想空間の画像を描画する、請求項9から16のいずれか1項に記載の画像処理システム。
  18. デプスバッファを用いた3次元の仮想空間の描画処理を行う描画部と、
    前記描画部により描画された画像を変換前画像とし、当該変換前画像に対して画像変換処理を行うことで変換後画像を生成する画像変換部と
    を備え、
    前記画像変換部は、
    前記変換前画像の画素のうち、デプスが周辺の第1の範囲内の画素のデプスよりも小さく、かつその差が第1の基準よりも大きい画素について、対応する前記変換後画像における画素を第1の色で描画する第1色描画部と、
    前記変換前画像の画素のうち、デプスが周辺の第2の範囲内の画素のデプスよりも大きく、かつその差が第2の基準よりも大きい画素について、対応する前記変換後画像における画素を第2の色で描画する第2色描画部と
    を備える画像処理装置。
  19. 画像処理システムにより実行される画像処理方法であって、
    デプスバッファを用いた3次元の仮想空間の描画処理を行う描画ステップと、
    前記描画ステップで描画された画像を変換前画像とし、当該変換前画像に対して画像変換処理を行うことで変換後画像を生成する画像変換ステップと
    を含み、
    前記画像変換ステップは、
    前記変換前画像の画素のうち、デプスが周辺の第1の範囲内の画素のデプスよりも小さく、かつその差が第1の基準よりも大きい画素について、対応する前記変換後画像における画素を第1の色で描画する第1色描画ステップと、
    前記変換前画像の画素のうち、デプスが周辺の第2の範囲内の画素のデプスよりも大きく、かつその差が第2の基準よりも大きい画素について、対応する前記変換後画像における画素を第2の色で描画する第2色描画ステップと
    を含む画像処理方法。
JP2018027012A 2018-02-19 2018-02-19 画像処理プログラム、画像処理システム、画像処理装置及び画像処理方法 Active JP6613328B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018027012A JP6613328B2 (ja) 2018-02-19 2018-02-19 画像処理プログラム、画像処理システム、画像処理装置及び画像処理方法
US16/229,344 US10748349B2 (en) 2018-02-19 2018-12-21 Storage medium, image-processing system, image-processing device, and image-processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018027012A JP6613328B2 (ja) 2018-02-19 2018-02-19 画像処理プログラム、画像処理システム、画像処理装置及び画像処理方法

Publications (2)

Publication Number Publication Date
JP2019144739A JP2019144739A (ja) 2019-08-29
JP6613328B2 true JP6613328B2 (ja) 2019-11-27

Family

ID=67618038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018027012A Active JP6613328B2 (ja) 2018-02-19 2018-02-19 画像処理プログラム、画像処理システム、画像処理装置及び画像処理方法

Country Status (2)

Country Link
US (1) US10748349B2 (ja)
JP (1) JP6613328B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6747642B1 (en) * 1999-01-29 2004-06-08 Nintendo Co., Ltd. Method and apparatus for providing non-photorealistic cartoon outlining within a 3D videographics system
US10438400B2 (en) * 2016-03-08 2019-10-08 Nvidia Corporation Perceptually-based foveated rendering using a contrast-enhancing filter

Also Published As

Publication number Publication date
US10748349B2 (en) 2020-08-18
US20190259217A1 (en) 2019-08-22
JP2019144739A (ja) 2019-08-29

Similar Documents

Publication Publication Date Title
US8212813B2 (en) Image generating apparatus, method of generating image, program, and recording medium
KR100865004B1 (ko) 화상생성장치, 라이트배치방법 및 프로그램을 기록한 기록매체
US20190209923A1 (en) Image processing method and apparatus
US10621761B2 (en) Computer-readable recording medium, computer apparatus, and computer processing method for placing object in virtual space and displaying placed object according to display mode
US7391417B2 (en) Program and image processing system for rendering polygons distributed throughout a game space
JP4079378B2 (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
WO2013038979A1 (ja) ゲームプログラム、ゲーム装置、及び、ゲームプログラムを記録した記録媒体
JP6980913B2 (ja) 学習装置、画像生成装置、学習方法、画像生成方法及びプログラム
US8319786B2 (en) Image processing device, control method for image processing device and information recording medium
CN113069761B (zh) 游戏场景中虚拟角色的显示方法、装置及电子设备
JP3502796B2 (ja) ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2003150146A (ja) 画像処理装置および画像処理プログラム
JP6613328B2 (ja) 画像処理プログラム、画像処理システム、画像処理装置及び画像処理方法
WO2020036214A1 (ja) 画像生成装置、画像生成方法及びプログラム
US20120252575A1 (en) Game device, game device control method, and information storage medium
JP4967064B2 (ja) 三次元アニメーションの表示装置及びその表示装置を実現するためのプログラム
US20210038984A1 (en) Information -processing device, storage medium, information-processing system, and information-processing method
JP2000093654A (ja) ゲーム装置、ゲーム方法および情報記録媒体
CN112370786A (zh) 游戏中的妆容绘制方法、装置和电子设备
JP2020115981A (ja) ビデオゲーム処理プログラム、ビデオゲーム処理装置、ビデオゲーム処理方法及び学習用プログラム
JP7307362B2 (ja) ゲームプログラム及びゲーム装置
JP2023178520A (ja) ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法
WO2020241209A1 (ja) 情報処理プログラム、情報処理方法および情報処理装置
US20220165236A1 (en) Display controller and image display method
JP2024048913A (ja) プログラム及び情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191010

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191101

R150 Certificate of patent or registration of utility model

Ref document number: 6613328

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