KR100858399B1 - 물체, 화상 데이터, 화상 데이터 전송방법, 카드, 게임용매트, 카드 게임 시스템, 화상해석장치, 화상해석방법 - Google Patents

물체, 화상 데이터, 화상 데이터 전송방법, 카드, 게임용매트, 카드 게임 시스템, 화상해석장치, 화상해석방법 Download PDF

Info

Publication number
KR100858399B1
KR100858399B1 KR1020067018844A KR20067018844A KR100858399B1 KR 100858399 B1 KR100858399 B1 KR 100858399B1 KR 1020067018844 A KR1020067018844 A KR 1020067018844A KR 20067018844 A KR20067018844 A KR 20067018844A KR 100858399 B1 KR100858399 B1 KR 100858399B1
Authority
KR
South Korea
Prior art keywords
cells
corner
cell
reference cell
edge portion
Prior art date
Application number
KR1020067018844A
Other languages
English (en)
Other versions
KR20060123625A (ko
Inventor
마사노리 타카노
히로후미 오카모토
Original Assignee
가부시키가이샤 소니 컴퓨터 엔터테인먼트
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
Priority claimed from JP2004301310A external-priority patent/JP3827694B2/ja
Priority claimed from JP2005269295A external-priority patent/JP4364186B2/ja
Application filed by 가부시키가이샤 소니 컴퓨터 엔터테인먼트 filed Critical 가부시키가이샤 소니 컴퓨터 엔터테인먼트
Publication of KR20060123625A publication Critical patent/KR20060123625A/ko
Application granted granted Critical
Publication of KR100858399B1 publication Critical patent/KR100858399B1/ko

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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F1/00Card games
    • A63F1/02Cards; Special shapes of cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F1/00Card games
    • A63F1/06Card games appurtenances
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B42BOOKBINDING; ALBUMS; FILES; SPECIAL PRINTED MATTER
    • B42DBOOKS; BOOK COVERS; LOOSE LEAVES; PRINTED MATTER CHARACTERISED BY IDENTIFICATION OR SECURITY FEATURES; PRINTED MATTER OF SPECIAL FORMAT OR STYLE NOT OTHERWISE PROVIDED FOR; DEVICES FOR USE THEREWITH AND NOT OTHERWISE PROVIDED FOR; MOVABLE-STRIP WRITING OR READING APPARATUS
    • B42D25/00Information-bearing cards or sheet-like structures characterised by identification or security features; Manufacture thereof
    • B42D25/30Identification or security features, e.g. for preventing forgery
    • B42D25/305Associated digital information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F1/00Card games
    • A63F1/06Card games appurtenances
    • A63F1/067Tables or similar supporting structures
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/24Electric games; Games using electronic circuits not otherwise provided for
    • A63F2009/2401Detail of input, input devices
    • A63F2009/2411Input form cards, tapes, discs
    • A63F2009/2419Optical
    • 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/10Features 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 input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features 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 input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • A63F2300/1093Features 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 input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera using visible light
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/69Involving elements of the real world in the game world, e.g. measurement in live races, real video

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Credit Cards Or The Like (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 정밀도 좋게 인식할 수 있는 2차원 코드를 제공하는 것을 목적으로 한다.
본 발명의 구성에 따르면, 2차원 코드는 복수의 사각형 셀(106)을 2차원 배치함으로써 코드 데이터를 구성하는 코드 데이터 부분(102)과, 코드 데이터 부분(102)을 둘러싸도록 배치되는 복수의 코너 셀(104)을 구비한다. 이 코너 셀(104)은 사각형 셀(106)보다도 큰 면적을 가지고 구성된다. 이 2차원 코드가 촬상장치에 의해 촬상되면, 코너 셀(104)을 크게 인식할 수 있기 때문에, 2차원 코드의 판독 정밀도를 향상할 수 있다.
Figure R1020067018844
게임 시스템, 촬상장치, 코드 데이터 부분, 코너 셀, 사각형 셀, 카드

Description

물체, 화상 데이터, 화상 데이터 전송방법, 카드, 게임용 매트, 카드 게임 시스템, 화상해석장치, 화상해석방법{OBJECT, IMAGE DATA, IMAGE DATA TRANSMISSION METHOD, CARD, GAME MAT, CARD GAME SYSTEM, IMAGE ANALYSIS DEVICE, AND IMAGE ANALYSIS METHOD}
본 발명은 복수의 셀을 2차원 배치함으로써 코드 데이터를 표현하는 기술에 관한 것이다.
최근, 2차원 코드를 카메라로 촬상(撮像)해서 코드 데이터를 인식하고, 그 코드 데이터에 대응지어진 소정의 처리를 실행시키는 기술이 보급되어 있다. 1차원 바코드와 비교하면, 2차원 코드 쪽이 코드화할 수 있는 정보량이 많으며, 현재에 있어서는 다양한 종류의 2차원 코드가 등장하게 되어 있다. 2차원 코드의 코드 데이터는 화상 데이터로부터 효율 좋게 또한 정확하게 판독될 필요가 있다. 이러한 상황에 입각해서, 종래, 2차원 코드의 화상 인식에 관한 기술을 제안하는 것이 있다(예를 들면, 특허문헌 1 참조).
특허문헌 1: 일본국 특허공개 2000-82108호 공보
화상 데이터의 해상도가 높으면, 2차원 코드의 정보량을 많이 취득할 수 있고, 코드 데이터의 높은 인식률을 실현할 수 있다. 그러나, 카메라에 따라서는 해상도가 낮은 것도 있어, 그러한 경우라도, 코드 데이터의 인식률을 높이는 것이 바람직하다. 또한, 촬상해서 취득된 화상 데이터에는, 외부의 환경광 등의 영향이 포함되어 있기 때문에, 취득한 화상 데이터를 2치화(binarization)할 때에 그 영향을 고려해서, 2치화하는 화소값의 범위를 매우 적합하게 설정하는 것이 바람직하다.
본 발명은 2차원 코드나, 카드 등의 물체를, 정밀도 좋게 인식할 수 있는 기술을 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위해서, 본 발명의 어느 태양(態樣)은 복수의 사각형 셀을 2차원 배치함으로써 코드 데이터를 구성하는 코드 데이터 부분과, 코드 데이터 부분을 둘러싸도록 배치되는 복수의 코너 셀(corner cell)을 구비하며, 코너 셀은 사각형 셀보다도 큰 면적을 갖는 물체를 제공한다. 이 물체는 카드 등의 2차원적인 오브젝트(object)여도 좋고, 또한 3차원 오브젝트여도 좋다. 또한, 사각형 셀 및 코너 셀은 물체상에 인쇄되어 있어도 좋고, 또한 각인되어 있어도 좋다. 이들 셀은 촬상장치에 의해 촬상되는 것이 가능한 상태로 존재하면 된다.
본 발명의 다른 태양은 복수의 사각형 셀을 2차원 배치함으로써 코드 데이터를 구성하는 코드 데이터 부분과, 코드 데이터 부분을 둘러싸도록 배치된 복수의 코너 셀을 구비하며, 코너 셀은 둥근 형상을 갖는 물체를 제공한다. 이 물체는 카드 등의 2차원적인 오브젝트여도 좋고, 또한 3차원 오브젝트여도 좋다. 또한, 사각형 셀 및 코너 셀은 물체상에 인쇄되어 있어도 좋고, 또한 각인되어 있어도 좋다. 이들 셀은 촬상장치에 의해 촬상되는 것이 가능한 상태로 존재하면 된다.
본 발명의 또 다른 태양은 2차원 코드를 표시장치에 표시시키기 위한 데이터 포맷에 따라서 생성된 화상 데이터로서, 복수의 사각형 셀을 표시장치상의 소정의 좌표위치에 표시시키기 위한 데이터와, 소정의 좌표위치에 표시되는 복수의 사각형 셀을 둘러싸는 좌표위치에 복수의 코너 셀을 표시시키기 위한 데이터를 구비하고, 코너 셀이 사각형 셀보다도 크게 표시되도록, 코너 셀과 사각형 셀의 데이터가 설정되어 있는 것을 특징으로 하는 화상 데이터를 제공한다.
본 발명의 또 다른 태양은 2차원 코드를 표시장치에 표시시키기 위한 데이터 포맷에 따라서 생성된 화상 데이터로서, 복수의 사각형 셀을 표시장치상의 소정의 좌표위치에 표시시키기 위한 데이터와, 소정의 좌표위치에 표시되는 복수의 사각형 셀을 둘러싸는 좌표위치에 복수의 코너 셀을 표시시키기 위한 데이터를 구비하고, 코너 셀이 둥근 형상으로 표시되도록, 코너 셀의 데이터가 설정되어 있는 것을 특징으로 하는 화상 데이터를 제공한다.
본 발명의 또 다른 태양은 2차원 코드를 표시장치에 표시시키기 위한 데이터 포맷에 따라서 생성된 화상 데이터를 전송하는 방법으로서, 전송하는 화상 데이터가, 복수의 사각형 셀을 표시장치상의 소정의 좌표위치에 표시시키기 위한 데이터와, 소정의 좌표위치에 표시되는 복수의 사각형 셀을 둘러싸는 좌표위치에 복수의 코너 셀을 표시시키기 위한 데이터를 구비하고, 코너 셀이 사각형 셀보다도 크게 표시되도록, 코너 셀과 사각형 셀의 데이터가 설정되어 있는 것을 특징으로 하는 화상 데이터 전송방법을 제공한다.
본 발명의 또 다른 태양은 2차원 코드를 표시장치에 표시시키기 위한 데이터 포맷에 따라서 생성된 화상 데이터를 전송하는 방법으로서, 전송하는 화상 데이터가, 복수의 사각형 셀을 표시장치상의 소정의 좌표위치에 표시시키기 위한 데이터와, 소정의 좌표위치에 표시되는 복수의 사각형 셀을 둘러싸는 좌표위치에 복수의 코너 셀을 표시시키기 위한 데이터를 구비하고, 코너 셀이 둥근 형상으로 표시되도록, 코너 셀의 데이터가 설정되어 있는 것을 특징으로 하는 화상 데이터 전송방법을 제공한다.
본 발명의 또 다른 태양은 소정의 형상을 갖는 기준 셀과, 각각을 2차원 배치함으로써 코드 데이터를 구성하는 복수의 다변형 셀과, 복수의 다변형 셀이 2차원 배치되는 영역을 둘러싸도록 배치되는 복수의 코너 셀을 구비하고, 기준 셀, 다변형 셀, 코너 셀의 적어도 하나의 셀은 다른 셀과 다른 색이 칠해지는 물체를 제공한다. 이 물체는 카드 등의 2차원적인 오브젝트여도 좋고, 또한 3차원 오브젝트여도 좋다. 또한, 사각형 셀 및 코너 셀은 물체상에 인쇄되어 있어도 좋고, 또한 각인되어 있어도 좋다. 이들 셀은 촬상장치에 의해 촬상되는 것이 가능한 상태로 존재하면 된다.
본 발명의 또 다른 태양은 2차원 코드를 표시장치에 표시시키기 위한 데이터 포맷에 따라서 생성된 화상 데이터로서, 소정의 형상을 갖는 기준 셀을 표시장치상의 소정의 위치에 표시시키기 위한 데이터와, 기준 셀에 대해서 정해지는 영역의 범위 내에서 복수의 다변형 셀을 표시시키기 위한 데이터와, 영역을 둘러싸는 좌표위치에 복수의 코너 셀을 표시시키기 위한 데이터를 구비하고, 기준 셀, 다변형 셀, 코너 셀의 적어도 하나의 셀의 색이, 다른 셀의 색과 다르도록 설정되어 있는 화상 데이터를 제공한다.
본 발명의 또 다른 태양은 2차원 코드를 표시장치에 표시시키기 위한 데이터 포맷에 따라서 생성된 화상 데이터를 전송하는 방법으로서, 전송하는 화상 데이터가, 소정의 형상을 갖는 기준 셀을 표시장치상의 소정의 위치에 표시시키기 위한 데이터와, 기준 셀에 대해서 정해지는 영역의 범위 내에서 복수의 다변형 셀을 표시시키기 위한 데이터와, 영역을 둘러싸는 좌표위치에 복수의 코너 셀을 표시시키기 위한 데이터를 구비하고, 기준 셀, 다변형 셀, 코너 셀의 적어도 하나의 셀의 색이, 다른 셀의 색과 다르도록 설정되어 있는 화상 데이터 전송방법을 제공한다.
본 발명의 또 다른 태양은 프레임 화상에 포함되는 오브젝트 화상을 인식하는 화상해석장치에 관한 것이다. 당해 오브젝트 화상은 소정의 형상을 갖는 기준 셀과, 기준 셀과는 다른 색이 칠해진 복수의 코너 셀을 가지고 구성된다. 이 태양의 화상해석장치는 RGB의 화소값의 범위를 설정하고, 프레임 화상을 2진수의 비트 표현으로 변환하는 2치화 처리부와, 프레임 화상의 2치화 데이터로부터 기준 셀을 검출하는 제1 검출부와, 프레임 화상의 2치화 데이터로부터 코너 셀을 검출하는 제2 검출부를 구비한다. 2치화 처리부는 기준 셀용의 RGB의 화소값의 범위를 설정하고, 설정한 화소값의 범위 내에 있는 화소를 추출해서 프레임 화상의 2치화 처리를 행하며, 그 2치화 데이터를 기초로 제1 검출부가 기준 셀을 검출한다. 또한 2치화 처리부는 코너 셀용의 RGB의 화소값의 범위를 설정하고, 설정한 화소값의 범위 내에 있는 화소를 추출해서 프레임 화상의 2치화 처리를 행하며, 그 2치화 데이터를 기초로 제2 검출부가 코너 셀을 검출한다.
본 발명의 또 다른 태양은 프레임 화상에 포함되는 오브젝트 화상을 인식하는 방법에 관한 것이다. 당해 오브젝트 화상은 소정의 형상을 갖는 기준 셀과, 기준 셀과는 다른 색이 칠해진 복수의 코너 셀을 가지고 구성된다. 이 태양의 오브젝트 인식방법은 기준 셀용의 RGB의 화소값의 범위를 설정하고, 설정한 화소값의 범위 내에 있는 화소를 추출해서, 프레임 화상으로부터 기준 셀을 검출하는 단계와, 코너 셀용의 RGB의 화소값의 범위를 설정하고, 설정한 화소값의 범위 내에 있는 화소를 추출해서, 프레임 화상으로부터 코너 셀을 검출하는 단계를 구비한다.
본 발명의 또 다른 태양의 물체는 소정의 형상을 갖는 기준 셀과, 각각을 2차원 배치함으로써 코드 데이터를 구성하는 복수의 다변형 셀과, 동일 형상을 갖는 복수의 코너 셀을 구비한다. 코너 셀은 기준 셀 및 다변형 셀과는 다른 색이 칠해진다. 이 물체는 카드 등의 2차원적인 오브젝트여도 좋고, 또한 3차원 오브젝트여도 좋다.
본 발명의 또 다른 태양의 게임용 매트는 게임용 카드를 배치하기 위한 게임용 매트로서, 단계적으로 명도가 변화하는 그레이데이션(gradation) 영역이 형성된다.
본 발명의 또 다른 태양은 카드 게임 시스템이다. 이 카드 게임 시스템은 소정의 색을 갖는 셀을 가지는 게임용 카드와, 게임용 카드의 셀과 동일한 색상의 색에 의해 구성되며, 단계적으로 명도가 변화하는 그레이데이션 영역을 갖는 게임용 매트와, 게임용 매트와, 게임용 매트상에 놓인 게임용 카드를 촬상해서 프레임 화상을 취득하는 촬상부와, RGB의 화소값의 범위를 설정하고, 프레임 화상을 2진수의 비트 표현으로 변환하는 2치화 처리부와, 프레임 화상의 2치화 데이터에 있어서의 게임용 매트의 그레이데이션 영역을 추출하는 추출부와, 그레이데이션 영역의 2치화 데이터를 기초로, 2치화 처리부에 있어서 2치화할 때의 RGB의 화소값의 범위를 조정하는 조정부를 구비한다.
본 발명의 또 다른 태양은 화상해석장치이다. 이 장치는 소정의 색의 셀을 갖는 게임용 카드와, 게임용 카드의 셀과 동일한 색상의 색에 의해 구성되며, 단계적으로 명도가 변화하는 그레이데이션 영역을 갖는 게임용 매트를 촬상한 프레임 화상을 해석하는 화상해석장치로서, RGB의 화소값의 범위를 설정하고, 프레임 화상을 2진수의 비트 표현으로 변환하는 2치화 처리부와, 프레임 화상의 2치화 데이터로부터 게임용 매트의 그레이데이션 영역을 추출하는 추출부와, 그레이데이션 영역의 2치화 데이터를 기초로, 2치화 처리부에 있어서 2치화할 때의 RGB의 화소값의 범위를 조정하는 조정부를 구비한다.
본 발명의 또 다른 태양은 화상해석방법이다. 이 방법은 소정의 색을 갖는 셀을 가지는 게임용 카드와, 게임용 카드의 셀과 동일한 색상의 색에 의해 구성되며, 단계적으로 명도가 변화하는 그레이데이션 영역을 갖는 게임용 매트를 촬상한 프레임 화상을 해석하는 화상해석방법으로서, RGB의 화소값의 범위를 설정하고, 프레임 화상을 2진수의 비트 표현으로 변환하는 단계와, 프레임 화상의 2치화 데이터에 있어서의 게임용 매트의 그레이데이션 영역을 추출하는 단계와, 그레이데이션 영역의 2치화 데이터를 기초로, 2치화할 때의 RGB의 화소값의 범위를 조정하는 단계를 구비한다.
본 발명의 또 다른 태양은 프로그램이다. 이 프로그램은 소정의 색을 갖는 셀을 가지는 게임용 카드와, 게임용 카드의 셀과 동일한 색상의 색에 의해 구성되며 단계적으로 명도가 변화하는 그레이데이션 영역을 갖는 게임용 매트를 촬상한 프레임 화상을 해석시키는 프로그램으로서, 컴퓨터에, RGB의 화소값의 범위를 설정하고, 프레임 화상을 2진수의 비트 표현으로 변환시키는 기능과, 프레임 화상의 2치화 데이터에 있어서의 게임용 매트의 그레이데이션 영역을 추출시키는 기능과, 그레이데이션 영역의 2치화 데이터를 기초로, 2치화할 때의 RGB의 화소값의 범위를 조정시키는 기능을 컴퓨터에 실행시킨다.
또한, 이상의 구성요소의 임의의 조합, 본 발명의 표현을 방법, 장치, 시스템, 기록매체, 컴퓨터 프로그램 등의 사이에서 변환한 것도 또한, 본 발명의 태양으로서 유효하다.
<발명의 효과>
본 발명에 따르면, 정밀도 좋게 인식할 수 있는 2차원 코드를 제공할 수 있다.
도 1은 실시예에 따른 게임 시스템의 구성을 나타내는 도면이다.
도 2는 게임 카드의 표면에 인쇄한 2차원 코드를 나타내는 도면이다.
도 3은 화상해석장치의 구성을 나타내는 도면이다.
도 4는 2차원 코드의 인식처리의 처리순서를 나타내는 플로우차트이다.
도 5는 기준 셀의 검출처리를 나타내는 플로우차트이다.
도 6은 코드부의 검출처리를 나타내는 플로우차트이다.
도 7은 코드 데이터의 검증처리를 나타내는 플로우차트이다.
도 8은 게임 카드의 표면에 인쇄한 2차원 코드의 다른 예를 나타내는 도면이다.
도 9는 게임 카드의 표면에 인쇄한 2차원 코드의 또 다른 예를 나타내는 도면이다.
도 10은 게임 카드의 표면에 인쇄한 2차원 코드의 또 다른 예를 나타내는 도면이다.
도 11a∼도 11c는 코너 셀인지 아닌지를 판별하는 방법을 설명하기 위한 설명도이다.
도 12는 게임 카드의 표면에 인쇄한 2차원 코드의 또 다른 예를 나타내는 도면이다.
도 13은 게임용 카드를 배치하기 위한 게임용 매트를 나타내는 도면이다.
도 14는 그레이데이션 영역의 외관을 나타내는 도면이다.
도 15는 화상해석장치의 다른 구성을 나타내는 도면이다.
도 16a∼도 16c는 그레이데이션 영역으로서 특정된 도넛 영역을 나타내는 도면이다.
도 17은 실시예에 있어서의 화상 데이터의 전송 시스템을 나타내는 도면이다.
<부호의 설명>
1 : 게임 시스템 2 : 촬상장치
4 : 게임 카드 6 : 출력장치
7 : 디스플레이 10 : 화상처리장치
20 : 화상해석장치 30 : 게임장치
40 : 프레임 화상 취득부
42 : 실재 오브젝트 추출부(real object extractor)
44 : 상태 결정부 50 : 2치화 처리부
52 : 기준 셀 검출부 54 : 코드부 검출부
56 : 검증 처리부 60 : 영역 추출부
62 : RGB 조정부 100 : 기준 셀
102 : 코드 데이터 부분 104 : 코너 셀
106 : 사각형 셀 108 : 영역
110 : 코드부 200 : 화상 데이터 전송 시스템
201 : 화상 데이터 생성장치 202 : 단말장치
203 : 표시장치 204 : 송신국
도 1은 본 발명의 실시예에 따른 게임 시스템(1)의 구성을 나타낸다. 게임 시스템(1)은 촬상장치(2), 화상처리장치(10) 및 출력장치(6)를 구비한다. 화상처리장치(10)는 화상해석장치(20) 및 게임장치(30)를 구비한다. 화상해석장치(20) 및 게임장치(30)는 다른 장치로서 구성되어도 좋으나, 일체로 해서 구성되어도 좋다. 촬상장치(2)는 CCD 촬상소자 또는 MOS 촬상소자 등으로 구성되는 비디오 카메라이고, 예를 들면 320화소×240화소의 해상도를 갖는다. 촬상장치(2)는 실공간(real space)을 소정의 주기로 촬상하고, 주기마다의 프레임 화상을 생성한다. 촬상영역(5)은 촬상장치(2)에 의해 촬상되는 범위이며, 촬상장치(2)의 높이나 방향을 조정함으로써, 촬상영역(5)의 위치나 크기가 조정된다. 게임 플레이어는 촬상영역(5)에 있어서, 실재 오브젝트(real object)인 게임 카드(4)를 손으로 움직인다. 게임 카드(4)는 자신을 일의적으로 식별하기 위한 2차원 코드를 가지고 구성된다.
출력장치(6)는 표시장치인 디스플레이(7)를 갖는다. 출력장치(6)는 또한 스피커(도시하지 않음)를 가지고 구성되어도 좋다. 기본적으로 화상처리장치(10)는 촬상장치(2)에 의해 촬상된 프레임 화상을 디스플레이(7)에 표시시키며, 그때에, 게임 카드(4)상에 가상 오브젝트인 캐릭터를 중첩하도록 표시 제어한다. 플레이어는 디스플레이(7)를 봄으로써, 게임 카드(4)가 촬상영역(5)에 들어가 있는지 용이하게 확인할 수 있으며, 들어가 있지 않은 경우에는, 게임 카드(4)의 위치를 옮기거나, 또한 촬상장치(2)의 방향을 조정해서, 촬상장치(2)에 게임 카드(4)를 촬상시키도록 한다.
실시예의 게임 애플리케이션에서는, 플레이어가 게임 카드(4)에 대해서 소정의 조작을 행함으로써, 캐릭터를 동작시킨다. 이 게임 애플리케이션의 성질상, 플레이어에게 게임 카드(4)와 캐릭터와의 일체성을 인식시키는 것이 바람직하며, 그를 위해서, 캐릭터의 화상을, 게임 카드(4)에 겹쳐서 표시시키고 있다. 촬상영역(5) 내에서 게임 카드(4)를 천천히 이동시키면, 캐릭터는 게임 카드(4) 위에 올라 탄 상태를 유지하면서, 게임 카드(4)의 움직임에 추종해서 함께 이동한다.
이상의 캐릭터의 움직임은 화상처리장치(10)에 의해 제어된다. 우선, 화상해석장치(20)는 촬상장치(2)에 있어서 취득된 프레임 화상으로부터, 게임 카드(4)의 화상정보를 추출한다. 또한, 화상해석장치(20)는 게임 카드(4)의 화상정보로부터, 게임 카드(4)에 인쇄된 2차원 코드를 추출한다. 이때, 화상해석장치(20)는 게임 카드(4)의 2차원 코드로부터, 게임 카드(4)의 공간에 있어서의 위치정보, 방향정보, 거리정보 등을 결정한다.
후술하지만, 화상해석장치(20)는 프레임 화상 중의 게임 카드(4)의 화상에 있어서의 기준 셀 및 4모퉁이의 코너 셀을 사용해서, 촬상장치(2)와 게임 카드(4)와의 거리나 게임 카드(4)의 방향 등을 계산해서 구한다. 이것에 의해, 캐릭터는 게임 카드(4)상에서 전방을 향하도록 표시 제어된다. 또한, 2차원 코드에 있어서의 복수의 사각형 셀의 배열로부터, 게임 카드(4)의 코드 데이터를 취득한다.
도 1에서는, 게임 카드(4)가 테이블(3)에 단지 놓여 있는 상태를 나타내고 있으나, 게임 카드(4)는 예를 들면 테이블(3)에 대해서 비스듬히 경사지거나, 또한 테이블(3)보다도 위로 들어 올려지거나 해도 좋다. 화상해석장치(20)는 게임 카드(4)가 경사진 상태, 또는, 테이블(3)로부터의 높이가 변화된 상태를 화상해석에 의해 인식하는 기능을 갖는다. 화상해석장치(20)에 있어서 화상해석된 결과는 게임장치(30)에 보내진다. 또한, 촬상장치(2)에 있어서 촬상된 프레임 화상이, 게임장치(30)에 보내져서, 게임장치(30)측에서 화상해석을 행해도 좋다. 이 경우, 화상처리장치(10)는 게임장치(30)만으로 구성되게 된다.
게임장치(30)는 화상해석장치(20)에 있어서의 화상해석 결과를 기초로, 디스플레이(7)의 표시화면상에서, 캐릭터를 게임 카드(4) 위에 위치하도록 표시 제어한다. 캐릭터는 게임 카드(4)로부터 추출한 코드 데이터에 대응지어져서, 게임 신(game scene)마다 적당히 할당되어도 좋다. 이 경우, 게임 신이 전환되면, 표시되는 캐릭터도 전환되게 된다.
도 2는 게임 카드의 표면에 인쇄한 2차원 코드를 나타낸다. 게임 카드(4)의 표면에는, 복수의 소정 형상을 갖는 다각형 셀이 소정의 배열 규칙에 따라서 2차원적으로 배치되어 있다. 구체적으로, 게임 카드(4)의 2차원 코드는 촬상장치(2)에 의해 촬상된 화상 데이터로부터 게임 카드(4)의 인식처리를 행하기 위한 기준이 되는 기준 셀(100), 복수의 사각형 셀(106)을 2차원 배치함으로써 코드 데이터를 구성하는 코드 데이터 부분(102), 코드 데이터 부분(102)을 둘러싸도록 배치되는 복수의 코너 셀(104a, 104b, 104c, 104d)(이하, 총칭하는 경우는, "코너 셀(104)"이라 부름)을 구비하고 있다. 코드 데이터 부분(102) 및 코너 셀(104)은 2차원 코드에 있어서의 코드부(110)에 존재하고 있다.
기준 셀(100), 사각형 셀(106) 및 코너 셀(104)은 각각 소정의 형상을 가지고 구성된다. 도 2에 나타내는 2차원 코드에서는, 각 셀이 온통 흑색으로 칠해져서 존재하고 있다. 도 2에 있어서, 영역(108)은 복수의 사각형 셀(106)이 연결해서 구성된 것이며, 다른 사각형 셀(106)과 함께 코드 데이터를 구성하고 있다. 사각형 셀(106)은 동일 형상, 여기에서는 정사각형의 형상을 갖는다. 실시예의 게임 카드(4)가 복수 존재하는 경우에, 기준 셀(100) 및 코너 셀(104)의 배치 및 크기는 공 통으로 되며, 코드 데이터 부분(102)에 있어서의 사각형 셀(106)의 배열에 의해, 게임 카드(4)를 일의적으로 특정할 수 있다.
이하에, 본 실시예에 있어서의 2차원 코드의 상세한 것을 설명한다. 정사각형 형상의 사각형 셀(106)의 1변을 1블록으로 하면, 기준 셀(100)은 7블록분의 가로방향의 긴 변과 1.5블록분의 세로방향의 짧은 변으로 구성되는 직사각형 형상의 셀(엘리먼트)로서 구성된다. 실시예에 있어서, 세로 1블록과 가로 1블록으로 형성되는 정사각형 형상의 영역을 블록 영역이라고 부른다.
코드 데이터 부분(102)은 7블록×7블록으로 둘러싸이는 영역에 형성된다. 이 영역의 한 변은 기준 셀(100)의 긴 변에 평행하며 또한 긴 변으로부터 1블록 떨어진 위치에 배치된다. 도시와 같이, 코드부(110)는 8블록×8블록으로 둘러싸이는 영역이며, 코드 데이터 부분(102)은 코드부(110)가 형성되는 영역에 포함된다. 실제로 사각형 셀(106)이 배치되는 영역은 7블록×7블록으로 둘러싸이는 영역의 4모퉁이에 있어서의 2블록×2블록의 영역을 제외한 부분으로 한다. 즉, 4모퉁이의 2블록×2블록의 영역에는 사각형 셀(106)을 배치시키지 않는 것으로 하며, 따라서, (7×7-2×2×4)=33의 블록 영역에 사각형 셀(106)이 배치되어, 코드 데이터를 구성한다.
코너 셀(104a)은 코드부(110)의 좌측 위쪽 모퉁이의 영역에 배치된다. 이 좌측 위쪽 모퉁이의 영역은 코드 데이터 부분(102)으로서 7블록×7블록으로 둘러싸이는 영역의 좌측 위쪽 모퉁이의 2블록×2블록의 영역의 범위 내여도 좋고, 또한 그 범위 내에서 나와도 좋다. 도시의 예에서는, 코너 셀(104a)이 코드 데이터 부분 (102)에 있어서의 좌측 위쪽 모퉁이의 2블록×2블록의 영역으로부터 세로로 0.5블록분, 가로로 0.5블록분만큼 나와서 배치되어 있다. 즉, 코너 셀(104a)은 코드부(110)에 있어서 2.5블록×2.5블록으로 둘러싸이는 좌측 위쪽 모퉁이의 영역에 존재하고 있다. 마찬가지로, 코너 셀(104b)은 코드부(110)의 우측 위쪽 모퉁이의 영역에 배치되며, 코너 셀(104c)은 코드부(110)의 우측 아래쪽 모퉁이의 영역에 배치되고, 코너 셀(104d)은 코드부(110)의 좌측 아래쪽 모퉁이의 영역에 배치된다. 도시의 예에서는, 각 코너 셀(104)은 사각형으로 형성되며, 구체적으로는 1변을 1.5블록분의 길이로 하는 정사각형의 셀로서 형성되어 있다.
코드 데이터 부분(102)은 1블록 영역을 1비트로 하면, 합계로 33비트분의 정보를 코드화할 수 있다. 이 33비트 중, 9비트분은 코드 데이터가 정확한 코드 데이터인 것을 확인하기 위한 체크 데이터를 구성한다. 따라서, 코드 데이터 부분(102)에는 24비트분의 정보가 코드화되어 있다.
사각형 셀(106)은 코드 데이터를 표현하는 중요한 엘리먼트로서, 화상해석장치(20)에 있어서 정확하게 화상 인식될 필요가 있다. 그를 위해서는, 모든 사각형 셀(106)을 크게 형성하는 것이 이상적이나, 당연한 것이지만 게임 카드(4)의 크기에는 제약이 있으며, 사각형 셀(106)을 크게 하는 것은 그만큼 코드 데이터 부분(102)을 구성하는 사각형 셀(106)의 수를 줄이는 결과가 된다. 이것은 정보의 비트수를 줄이는 것에 상당하여, 바람직하지 않다.
이상의 것으로부터, 본 실시예에 있어서, 코너 셀(104)은 사각형 셀(106)보다도 큰 면적을 가지고 구성된다. 후술하지만, 본 실시예의 화상해석장치(20)에 있 어서, 4모퉁이의 코너 셀(104)은 코드 데이터 부분(102)을 검출하기 위해서 이용된다. 반대로 말하자면, 4모퉁이의 코너 셀(104)을 검출할 수 없다면, 사각형 셀(106)을 검출할 수도 없기 때문에, 이 2차원 코드에서는, 사각형 셀(106)보다도 코너 셀(104)을 우선 확실하게 인식할 필요가 있다. 4모퉁이의 코너 셀(104)을 사각형 셀(106)보다도 크게 형성함으로써, 4모퉁이의 코너 셀(104)의 인식률을 높일 수 있다.
화상해석장치(20)는 프레임 화상 중의 기준 셀(100)의 후보를 추출해서 소정의 기준을 만족시키는 것을 기준 셀(100)로서 가정하고, 그 가정한 기준 셀(100) 근방에 4개의 코너 셀(104)이 존재하고 있는지 아닌지를 판정한다. 4개의 코너 셀(104)을 인식하면, 화상해석장치(20)는 4개의 코너 셀(104)에 의해 둘러싸인 영역, 즉 코드 데이터 부분(102)에 있어서의 사각형 셀(106)의 배치를 판독하고, 코드 데이터를 취득한다. 이것에 의해, 가정한 기준 셀(100)이 진짜 기준 셀(100)이었음이 판정되어, 게임 카드(4)를 인식할 수 있다. 화상해석장치(20)는 촬상장치(2)를 기준(원점)으로 하는 게임 카드(4)의 가상 3차원 좌표계에 있어서의 위치와 방향을 계산해서 구한다.
도 3은 화상해석장치의 구성을 나타낸다. 화상해석장치(20)는 프레임 화상 취득부(40), 실재 오브젝트 추출부(42) 및 상태 결정부(44)를 구비한다. 실재 오브젝트 추출부(42)는 2치화 처리부(50), 기준 셀 검출부(52), 코드부 검출부(54), 검증 처리부(56)를 구비한다. 본 실시예에 있어서의 화상해석장치(20)의 처리기능은 CPU, 메모리, 메모리에 로드된 프로그램 등에 의해 실현되며, 여기에서는 그들의 제휴에 의해 실현되는 구성을 그리고 있다. 프로그램은 화상해석장치(20)에 내장되어 있어도 좋고, 또한 기록매체에 저장된 형태로 외부로부터 공급되는 것이어도 좋다. 따라서 이들의 기능 블록이 하드웨어만, 소프트웨어만, 또는 그들의 조합에 의해 여러 가지 형태로 실현 가능한 것은, 당업자에게 이해되는 바이다. 도시의 예에서는 화상해석장치(20)의 CPU가 프레임 화상 취득부(40), 실재 오브젝트 추출부(42), 상태 결정부(44)로서의 기능을 갖는다.
프레임 화상 취득부(40)가 촬상장치(2)로 촬상된 실공간의 프레임 화상을 취득한다. 촬상장치(2)는 주기적으로 프레임 화상을 취득하며, 매우 적합하게는 1/60초 간격으로 프레임 화상을 생성한다.
실재 오브젝트 추출부(42)는 프레임 화상으로부터 실재 오브젝트 화상, 즉 게임 카드(4)의 화상을 추출한다. 구체적으로, 2치화 처리부(50)가 프레임 화상을 2진수의 비트 표현으로 변환하여, 프레임 화상의 정보를 비트의 온과 오프로 표현한다. 기준 셀 검출부(52)는 프레임 화상의 2치화 데이터로부터, 기준 셀(100)을 검출한다. 기준 셀(100)을 검출하면, 코드부 검출부(54)가 기준 셀(100)의 위치를 기초로 코드부(110)를 검출하고, 검증 처리부(56)가 코드부(110)에 포함되는 코드 데이터의 검증 처리를 행한다.
상태 결정부(44)는 설정한 좌표계에 있어서의 실재 오브젝트의 상태를 결정하며, 구체적으로는, 게임 카드(4)의 위치, 방향 및 촬상장치(2)로부터의 거리를 결정한다. 상태 결정부(44)에 있어서 결정된 위치정보, 방향정보, 거리정보는 2차원 코드로부터 취득된 코드 데이터에 각각 관련지어져서, 게임장치(30)에 보내진 다. 또한, 복수의 게임 카드(4)가 촬상영역(5)에 존재하는 경우에는, 각각의 게임 카드(4)마다, 위치정보, 방향정보, 거리정보, 코드 데이터가 관련지어져서 게임장치(30)에 보내진다. 또한, 게임 시스템(1)에서는, 촬상장치(2)에 의해 촬상된 프레임 화상을 디스플레이(7)에 표시시키기 위해서, 프레임 화상 자체도 게임장치(30)에 보내진다. 게임장치(30)는 코드 데이터에 대응지어진 캐릭터를 읽어내어, 3차원의 가상 공간에 있어서 게임 카드(4)와 캐릭터를 중첩시켜서 표시시킨다.
도 4는 2차원 코드의 인식처리의 처리 순서를 나타내는 플로우차트이다. 2차원 코드가 촬상장치(2)에 의해 촬상되며, 그 결과 얻어진 1프레임분의 화상 데이터가 프레임 화상 취득부(40)에 의해 취득된다. 2치화 처리부(50)는 화상 데이터에 대해서 2치화 처리를 행한다(S10). 2치화 처리에서는, 소정의 역치보다 큰 휘도를 보유하는 화소의 화소값이 "0"으로 부호화되며, 표시상, 그 화소는 백색으로 된다. 이하에 있어서는, 이와 같이, 화소값이 "0"으로 부호화된 화소를, 백색 화소라고 칭한다. 한편, 역치 이하의 휘도값을 보유하는 화소의 화소값은 "1"로 부호화되며, 표시상, 그 화소는 흑색으로 된다. 이하에 있어서는, 이와 같이, 화소값이 "1"로 부호화된 화소를, 흑색 화소라고 칭한다. 2치화 처리부(50)는 흑색 화소가 연속해서 존재하는 영역을 하나의 연결영역으로서 통합하고, 추출된 복수의 흑색 화소 연결영역에 대해서, 번호를 1에서부터 순서대로 승순으로 설정(라벨링(labeling))한다(S12). 예를 들면, 라벨링의 번호는 연결영역으로서 추출한 순 즉 특정한 순으로 설정되어도 좋다. 번호는 그 좌표 데이터와 함께 RAM(도시하지 않음)에 기억시킨다. 도 2에 나타내는 2차원 코드를 이용하면, 코너 셀(104)이 사각형 셀(106)보다 도 크게 표시되어 있기 때문에, 코너 셀(104)을 흑색 화소 연결영역으로서 검출할 수 있는 확률 및 좌표위치의 정밀도를 높게 할 수 있다.
기준 셀 검출부(52)는 이번 대상으로 하는 화상 데이터보다 앞에 실행된 2차원 코드 인식처리에 있어서, 인식된 2차원 코드의 표시상의 위치, 예를 들면, 기준 셀(100)의 중앙점이, RAM에 기억되어 있는지 아닌지를 판정한다(S14). 전 프레임에 있어서의 기준 셀(100)의 중앙점이 RAM에 기억되어 있는 경우(S14의 Y), 기억되어 있는 위치를 기준 셀 검출처리의 개시점으로서 설정한다(S16). 앞의 화상 프레임에 있어서 기준 셀(100)이 검출되어 있는 경우, 이번 화상 프레임에 있어서도 게임 카드(4)의 위치는 크게 변화하고 있지 않은 경우가 많기 때문에, 전 프레임의 기준 셀(100)의 중앙점을 이용함으로써, 이번 프레임에 있어서 효율적으로 기준 셀(100)을 검출하는 것이 가능해진다. 한편, 2차원 코드의 위치가 RAM에 기억되어 있지 않은 경우(S14의 N), 기준 셀 검출부(52)는 디스플레이(7)의 표시상의 중심점을 기준 셀 검출처리의 개시점으로 설정한다(S18). 개시점을 설정한 후, 기준 셀 검출부(52)는 기준 셀(100)의 검출처리를 실행한다(S20).
도 5는 기준 셀의 검출처리를 나타내는 플로우차트이다. 또한, 본 플로우에서 나타내는 화소수는 촬상장치(2)의 해상도 등에 의존하며, 여기에서는 이해를 용이하게 하기 위해서, 일례로서의 화소수를 나타내는 것으로 한다. 우선, 기준 셀 검출부(52)는 도 4의 S12에 있어서 라벨링한 흑색 화소 연결영역의 총수(M)를 읽어내고, 카운터의 값(j)을 1로 초기 설정한다(S100). 다음으로, 도 4의 S16 또는 S18에 있어서 설정한 개시점으로부터, 디스플레이(7)의 화면상을 왼쪽으로 도는 소용 돌이의 궤적을 따라, 흑색 화소 연결영역을 탐색하고, 처음으로 검출한 흑색 화소 연결영역을 기준 셀 후보영역으로서 선택한다(S102). 기준 셀 검출부(52)는 선택한 기준 셀 후보영역의 가장자리 부분을 추출하여, 짧은 변 및 긴 변을 결정한다(S104).
기준 셀 검출부(52)는 짧은 변이 소정 화소수, 예를 들면 20화소 이상의 화소로 구성되어 있는지 아닌지를 판정한다(S106). 짧은 변은 1.5블록분의 길이로 구성되어 있으나, 짧은 변이 20화소보다 적은 화소로 구성되어 있는 기준 셀(100)인 경우, 1블록의 길이는, 더욱 적은 수의 화소로 구성되게 된다. 그 때문에, 2차원 코드에 있어서의 최소의 구성요소인 사각형 셀(106)의 한 변은 약 13화소 이하가 되어, 촬상장치(2)로 적절히 촬상할 수 없다. 이것으로부터, 짧은 변이 20화소보다 적은 화소로 구성되어 있다고 판정된 경우(S106의 N), S102에서 선택된 흑색 화소 연결영역은 기준 셀(100)이 아니라고 판단하는 것으로 하여, S116으로 진행한다.
짧은 변이 20화소 이상의 화소로 구성되어 있다고 판정된 경우(S106의 Y), 기준 셀 검출부(52)는 기준 셀 후보영역의 긴 변이 소정 화소수, 예를 들면 300화소 이하의 화소로 구성되어 있는지 아닌지를 판정한다(S108). 예를 들면, 긴 변이 300화소보다 많은 화소로 구성되어 있는 기준 셀(100)이라고 하면, 긴 변의 길이가 7에 대해서 1의 비율로 구해지는 1블록의 길이가 커져서, 기준 셀(100)로부터, 8.5블록분 떨어져서 위치하는 우측 아래쪽 코너 셀(104c) 및 좌측 아래쪽 코너 셀(104d)이, 촬상장치(2)로 촬상되지 않게 된다. 이것으로부터, 긴 변이 300화소보다 많은 화소로 구성되어 있다고 판정된 경우(S108의 N), S102에서 선택된 흑색 화소 연결영역은 기준 셀(100)이 아니라고 판단하는 것으로 하여, S116으로 진행한다.
긴 변이 300화소 이하의 화소로 구성되어 있다고 판정된 경우(S108의 Y), 기준 셀 검출부(52)는 기준 셀 후보영역의 흑색 화소의 총수가 20화소 이상 또한 1500화소 미만인지 아닌지를 판정한다(S110). 흑색 화소의 총수가 20화소 미만인 경우(S110의 N), 짧은 변이 20화소보다 적은 화소로 구성된 경우와 동일한 문제가 발생하고, 또한, 1500화소 이상인 경우(S110의 N), 긴 변이 300화소보다 많은 화소로 구성된 경우와 동일한 문제가 발생한다. 따라서, 이들의 경우에는, 기준 셀 후보영역이 기준 셀(100)일 가능성이 작다고 판단하는 것으로 하여, S116으로 진행한다.
기준 셀 후보영역의 흑색 화소의 총수가 20화소 이상 또한 1500화소 미만인 경우(S110의 Y), 기준 셀 검출부(52)가 기준 셀 후보영역의 사각형스러움을 판정한다(S112). 사각형스러움은 기술한 특허문헌 1에 기재되는 바와 같이, 기준 셀 후보영역의 모멘트를 기초로 구해진다. 사각형이 아니라고 판정하는 경우(S112의 N), 기준 셀 후보영역이 기준 셀(100)이 아니라고 판단하는 것으로 하여, S116으로 진행한다. 사각형이라고 판정되는 경우(S112의 Y), 기준 셀 검출부(52)는 기준 셀 후보영역을 기준 셀(100)로서 설정하고(S114), 기준 셀 후보영역으로 된 흑색 화소 연결영역의 라벨링 번호를, RAM에 기억시킨다. 이렇게 해서, 기준 셀(100)을 검출할 수 있다. 화상 데이터 중에 1장의 게임 카드(4)밖에 포함되어 있지 않은 경우, 기준 셀(100)을 검출한 시점에서, 기준 셀의 검출처리를 종료한다. 한편, 게임 카드(4)가 복수 포함되어 있을 가능성이 있는 경우에는 S116으로 진행한다.
기준 셀 검출부(52)는 카운트값(j)이 기준 셀 후보영역의 총수(M)와 동등한지 아닌지를 판정한다(S116). 카운트값(j)이 총수(M)에 도달하고 있지 않은 경우(S116의 N), 카운트값(j)을 1증분(increment)해서(S118), S102의 단계로 되돌아간다. 한편, 카운트값(j)이 총수(M)에 도달하면(S116의 Y), 이 기준 셀 검출처리를 종료한다.
도 4로 되돌아가서, S20의 기준 셀 검출처리에 있어서 기준 셀(100)이 검출되지 않은 경우(S22의 N), 게임 카드(4)의 존재를 확인할 수 없기 때문에, 2차원 코드의 인식처리를 종료한다. 한편, 기준 셀(100)이 검출되면(S22의 Y), 코드부 검출처리가 실행된다(S24).
도 6은 코드부의 검출처리를 나타내는 플로우차트이다. 우선, 코드부 검출부(54)는 도 5의 S114에 있어서 설정된 기준 셀(100)의 총수(N)를 읽어내고, 카운터의 값(k)을 1로 초기 설정한다(S200). 또한, S114에 있어서 설정한 기준 셀(100)에는, 설정한 순으로 번호를 매기고 있는 것으로 한다. 계속해서, 도 4의 S12에 있어서 라벨링한 흑색 화소 연결영역의 총수(M)를 읽어내고, 카운터의 값(j)을 1로 초기 설정한다(S202). 코드부 검출부(54)는 카운트값(j)에 대응하는 번호의 흑색 화소 연결영역을 검출하고, 그것을 좌측 아래쪽 모퉁이의 코너 셀 후보영역으로서 선택한다(S204).
다음으로, 코드부 검출부(54)는 선택한 좌측 아래쪽 모퉁이 코너 셀 후보영역이, 도 4의 S20에 있어서 검출하여 카운트값(k)에 대응하는 번호의 기준 셀(100)에 대해 미리 설정된 탐색 범위 내에 존재하는지 아닌지를 판정한다(S206). 기준 셀(100)과 좌측 아래쪽 모퉁이의 코너 셀(104d)과의 위치관계는 도 2에 나타내는 바와 같이 미리 정해져 있기 때문에, 기준 셀(100)의 좌표 데이터로부터, 좌측 아래쪽 모퉁이 코너 셀을 탐색하는 범위를 좁히는 것이 가능하다. 또한, 기준 셀(100)은 가로로 긴 직사각형 형상을 갖기 때문에, 긴 변측을 사이에 두고 대향하는 2개의 위치로 탐색 범위를 설정하는 것이 가능해진다. 탐색 범위 내에 존재하지 않는 경우(S206의 N), 그 흑색 화소 연결영역은 좌측 아래쪽 코너 셀(104d)이 아니라고 판단되어, S232로 진행한다. 탐색 범위 내에 존재하는 경우(S206의 Y), 그 흑색 화소 연결영역을 좌측 아래쪽 코너 셀(104d)로서 설정한다(S208).
좌측 아래쪽 코너 셀(104)을 설정한 후, 코드부 검출부(54)는 흑색 화소 연결영역의 번호를 카운트하는 다른 카운터의 값(l)을 1로 초기 설정한다(S210). 코드부 검출부(54)는 카운트값(l)에 대응하는 번호의 흑색 화소 연결영역을 검출하고, 그것을 우측 아래쪽 모퉁이의 코너 셀 후보영역으로서 선택한다(S212).
다음으로, 코드부 검출부(54)는 S208에서 설정한 좌측 아래쪽 코너 셀(104d)의 화소수(면적)와, S212에서 선택한 우측 아래쪽 코너 셀 후보영역의 화소수(면적)의 비를 산출하고, 그 비(면적비)가 예를 들면 1/6 이상 또는 6배 이하인지 아닌지를 판정한다(S214). 코너 셀(104)은 촬상장치(2)로부터의 거리에 따라서 취득되는 화소수가 변화한다. 구체적으로, 촬상장치(2)에 가까우면 큰 면적을 갖고, 멀어지면 면적은 작아진다. 그 때문에, 코너 셀끼리여도 화상 데이터 중의 면적은 다른 케이스가 상정된다. 그러나, 예를 들면 좌측 아래쪽 코너 셀과 우측 아래쪽 코너 셀의 비가 1/6보다 작고, 또는 6배보다도 커지는 케이스(S214의 N)는 통상 상정 할 수 없기 때문에, 이들은 하나의 2차원 코드에 있어서의 코너 셀이라고 간주할 수 없어, S226으로 진행한다.
면적비가 예를 들면 1/6 이상, 6배 이하인 경우(S214의 Y), 코드부 검출부(54)는 좌측 아래쪽 코너 셀(104d)의 중심점과, S212에서 선택한 우측 아래쪽 코너 셀 후보영역의 중심점의 거리가 소정의 조건을 만족시키는지 아닌지를 판정한다(S216). 여기에서 소정의 조건이란, 중심점끼리의 거리가 예를 들면 기준 셀(100)의 긴 변의 길이에 근사하고 있는 것이어도 좋다. 소정의 조건이 성립하지 않으면(S216의 N), S226으로 진행하고, 소정의 조건이 성립하면(S216의 Y), 코드부 검출부(54)는 그 흑색 화소 연결영역을 우측 아래쪽 코너 셀(104c)로서 설정한다(S218).
이상과 같이 좌측 아래쪽 코너 셀(104d), 우측 아래쪽 코너 셀(104c)을 설정하면, 코드부 검출부(54)가, 설정한 기준 셀(100), 좌측 아래쪽 코너 셀(104d), 우측 아래쪽 코너 셀(104c)을, 디스플레이(7)의 화면상의 X축방향 및 Y축방향으로 아핀(affine) 변환한다(S220). 또한, 1블록의 길이는 S20에서 설정한 기준 셀(100)의 긴 변 또는 짧은 변의 길이에 기초해서 산출된다. 코드부 검출부(54)는 아핀 변환해서 얻어진 화상으로부터, 코드부(110)의 영역에 포함되는 흑색 화소 연결영역을 셀로서 매핑하여, 코드맵(code map)을 생성한다(S222).
코드부 검출부(54)는 생성한 코드맵의 셀 중, 4모퉁이의 코너 셀(104)을 검출하고, 그 주위의 3블록 영역이 백색 화소로 되어 있는지 아닌지를 판정한다(S224). 코너 셀(104) 주위의 3블록 영역이 백색 화소로 구성되어 있는 경우(S224 의 Y), 그 코드맵을 2차원 코드의 코드부(110)로 설정하고(S230), S236으로 진행한다. 코너 셀(104) 주위의 3블록 영역이 백색 화소가 아닌 경우, S226으로 진행한다.
S226에서는, 카운트값(l)이 흑색 화소 연결영역의 총수(M)와 동등한지 아닌지를 판정하여, 카운트값(l)이 M과 동등하면(S226의 Y), S232로 진행하고, 동등하지 않으면(S226의 N), 카운트값(l)을 1증분해서(S228), S212로 되돌아간다.
S232에서는, 카운트값(j)이 흑색 화소 연결영역의 총수(M)와 동등한지 아닌지를 판정하여, 카운트값(j)이 M과 동등하면(S232의 Y), S236으로 진행하고, 동등하지 않으면(S232의 N), 카운트값(j)을 1증분해서(S234), S204로 되돌아간다.
S236에서는, 카운트값(k)이 설정한 기준 셀(100)의 총수(N)와 동등한지 아닌지를 판정하여, 카운트값(k)이 N과 동등하지 않으면(S236의 N), 카운트값(k)을 1증분해서(S238), S202로 되돌아간다. 이것에 의해, 화상 데이터에 있어서 복수의 2차원 코드를 탐색하는 것이 가능해진다. 카운트값(k)이 N과 동등해지면(S236의 Y), 이상에 의해, 코드부(110)의 검출처리가 종료한다.
도 4로 되돌아가서, S24의 코드부 검출처리에 있어서 코드부(110)가 검출되지 않는 경우(S26의 N), 2차원 코드의 존재를 확인할 수 없기 때문에, 2차원 코드의 인식처리를 종료한다. 한편, 코드부(110)가 검출되면(S26의 Y), 코드 데이터의 검증처리가 실행된다(S28).
도 7은 코드 데이터의 검증처리를 나타내는 플로우차트이다. 이미 서술한 바와 같이, 33비트의 코드 데이터 중, 소정의 알고리즘으로 생성된 9비트의 체크 데 이터와, 24비트의 정보 데이터가 존재하고, 이 처리에서는 체크 데이터를 사용해서, 코드 데이터를 검증한다. 이하에서는, 소정의 알고리즘으로 생성한 체크 데이터를, 그 알고리즘에 기초해서 코드 데이터로부터 체크 데이터를 생성하여 조합함으로써, 코드 데이터를 검증하는 처리를 행한다.
우선, 검증 처리부(56)는 다음 단계인 S304, S308에서 산출되는 기준값을, 1비트 우측방향으로 시프트하는 회수를 카운트하는 카운터의 값(p)을 1로 초기 설정한다(S300). 다음으로, 검증 처리부(56)는 코드부(110)의 코드맵으로부터, 코드 데이터 및 체크 데이터의 값을 산출한다(S302).
검증 처리부(56)는 산출한 코드 데이터의 값(비트스트림)과, OxFFFFFF와의 배타적 논리합 연산을 행하고(S304), 그 결과 얻어진 값(비트스트림)을 기준값(기준 비트스트림)으로 한다. 기준 비트스트림의 LSB(Least Significant Bit)에 "1"이 매겨져 있는지 아닌지를 판정하여(S306), "1"이 매겨져 있지 않다고 판정한 경우(S306의 N), 검증 처리부(56)는 기준값(기준 비트스트림)과, Ox8408과의 배타적 논리합 연산을 행하며(S308), 그 결과 얻어진 값(비트스트림)을 새로운 기준값(기준 비트스트림)으로 해서, S310으로 진행한다. LSB에 "1"이 매겨져 있는 경우(S306의 Y), 마찬가지로 S310으로 진행한다.
검증 처리부(56)는 S304 또는 S308에 있어서 산출한 기준값(기준 비트스트림)을 1비트만큼 우측으로 시프트시키고(S310), 카운트값(p)이 미리 정한 시프트 회수인 24와 동등한지 아닌지를 판정한다(S312). p=24가 아니라고 판정한 경우(S312의 N), 카운트값(p)을 1만큼 증분한 후(S314), S306으로 되돌아간다.
p=24라고 판정한 경우(S312의 Y), 산출된 비트스트림과, Ox1FF와의 논리곱 연산을 행한다(S316). 검증 처리부(56)는 논리곱 연산으로부터 얻어진 값이, 산출한 체크 데이터의 값과 동등한지 아닌지를 판정하여(S318), 동등하다고 판정한 경우(S318의 Y), 도 4의 S24에서 검출된 코드부(110)가 2차원 코드로서 적정한 패턴이라고 하여, 2차원 코드의 코드부(110)를 확정한다(S320). 체크 코드와 동등하지 않으면(S318의 N), 코드부(110)의 판독에 잘못이 있었음을 판정하여, 코드 데이터의 검증처리를 종료한다. 또한, 도 7에서는 하나의 코드부(110)의 검증처리만을 나타내고 있으나, 복수의 코드부(110)가 검출되어 있는 경우는, 각각에 대해서 이 검증처리를 실행한다.
도 4로 되돌아가서, S28의 코드 데이터 검출처리에 있어서 코드부(110)가 확정되지 않은 경우(S30의 N), 2차원 코드의 존재를 확인할 수 없기 때문에, 2차원 코드의 인식처리를 종료한다. 한편, 코드부(110)가 확정되면(S30의 Y), 코드 데이터의 값, 즉, 2차원 코드의 값을, 예를 들면 RAM에 기억시키고, 보유하며(S32), 2차원 코드의 인식처리를 종료한다.
이하에, 3차원 좌표계에 있어서의 게임 카드(4)의 위치 및 방향의 구하는 방식에 대해서 설명한다. 게임 카드(4)의 가상 3차원 좌표계의 위치 및 방향을 구하기 위해서, 본 실시예에서는, 촬상장치(2)의 화각, 스크린 해상도, 4개의 코너 셀(104)의 스크린 좌표위치, 실제의 코너 셀(104)간의 거리를 이용한다. 또한, 스크린이란 촬상장치(2)에 의해 촬상된 화상을 표시하는 디스플레이(7)의 화면이다.
(단계 1)
우선, 시점에서 스크린 투영면까지의 거리를 구한다. 여기에서는, 카메라의 화각과 스크린 해상도에 의해, 시점에서 스크린 투영면까지의 거리를 구한다.
카메라의 수평방향의 화각: θ
스크린의 수평방향의 해상도: W
시점에서 스크린 투영면까지의 거리: P
라고 하면, 이하의 계산식이 성립한다.
P=(W×0.5)/tan(θ×0.5)
(단계 2)
다음으로, 시점에서 각 코너 셀(104)로 연장되는 3차원 벡터를 구한다.
코너 셀의 스크린 좌표위치: SX, SY
시점에서 스크린 투영면까지의 거리: P
코너 셀로 연장되는 3차원 벡터: V
라고 하면, 이하의 계산식이 성립한다.
V=(SX, SY, P)
또한, 스크린 좌표위치는 스크린의 중앙을 원점으로 하고 있다.
(단계 3)
시점과, 서로 이웃하는 2개의 코너 셀의 3점이 형성하는 평면의 법선 벡터를 구한다. 이 법선 벡터는 합계로 4개 생성된다.
시점에서 코너 셀(104a)로 연장되는 3차원 벡터: V1
시점에서 코너 셀(104b)로 연장되는 3차원 벡터: V2
시점에서 코너 셀(104c)로 연장되는 3차원 벡터: V3
시점에서 코너 셀(104d)로 연장되는 3차원 벡터: V4
시점과 코너 셀(104a, 104b)이 형성하는 평면의 법선 벡터: S12
시점과 코너 셀(104b, 104c)이 형성하는 평면의 법선 벡터: S23
시점과 코너 셀(104c, 104d)이 형성하는 평면의 법선 벡터: S34
시점과 코너 셀(104d, 104a)이 형성하는 평면의 법선 벡터: S41
이라고 하면, 이하의 계산식이 성립한다.
S12=V1×V2
S23=V2×V3
S34=V3×V4
S41=V4×V1
또한, "×"는 외적(外積;cross product)을 가리킨다.
(단계 4)
계속해서, 게임 카드(4)의 3차원상에서의 방향(좌표축)을 구한다. 단계 3에서 구한 4개의 법선 벡터를 기초로, 카드의 좌표축이 구해진다.
카드의 로컬 좌표 X축(카드 표면에 대해서 좌우방향): VX
카드의 로컬 좌표 Y축(카드 표면에 대해서 관통하는 방향): VY
카드의 로컬 좌표 Z축(카드 표면에 대해서 상하방향): VZ
라고 하면, 이하의 계산식이 성립한다.
VX=S12×S34
VZ=S23×S41
VY=VZ×VX
(단계 5)
최후로, 게임 카드(4)의 3차원상에서의 위치를 구한다. 단계 4에서는, 게임 카드(4)의 로컬 좌표 변환 매트릭스를 구하였으나, 현실의 코너 셀간의 거리를 알 수 있다면, 카드의 위치는 용이하게 구해진다. 코너 셀(104a)의 3차원 좌표위치를 변수로서 표현하면, 그 변수를 사용해서 코너 셀(104b, 104c, 104d)의 3차원 좌표위치를 나타낼 수 있다. 4개의 코너 셀의 스크린 좌표위치는 판명되어 있기 때문에, 이들의 계산식의 연립방정식을 풀므로써, 게임 카드(4)의 3차원 좌표위치를 특정할 수 있다.
이상의 실시예에 나타낸 바와 같이, 도 2에 나타내는 2차원 코드를 이용함으로써, 코드부(110)에 있어서의 코너 셀(104)의 인식률을 높일 수 있음과 아울러, 2차원 좌표계에 있어서의 코너 셀(104)의 좌표위치를 정확하게 구하는 것이 가능해진다. 구체적으로는, 코너 셀(104)을 크게 형성함으로써, 코너 셀(104)의 중심위치를 정확하게 구할 수 있기 때문에, 게임 카드(4)의 위치를 정확하게 특정할 수 있다. 또한, 복수의 코너 셀(104)의 중심위치를 정확하게 구함으로써, 기준 셀(100)과 코너 셀(104)과의 위치관계를 정확하게 파악하여, 아핀 변환의 정밀도를 높일 수 있으며, 게임 카드(4)의 위치나 게임 카드(4)가 향해 있는 방향 등을 정확하게 특정할 수 있다.
도 8은 게임 카드의 표면에 인쇄한 2차원 코드의 다른 예를 나타낸다. 게임 카드(4)의 표면에는, 소정의 형상을 갖는 기준 셀(100) 및 코드부(110)가 배치되어 있다. 도 2의 2차원 코드와 비교하면, 도 8에 나타내는 2차원 코드에서는, 코드 데이터 부분(102)을 둘러싸는 복수의 코너 셀(104a, 104b, 104c, 104d)이 원형으로 형성되어 있다. 이미 서술한 바와 같이, 코너 셀(104)의 2차원 좌표위치는 코너 셀(104)의 중심점에 의해 특정된다. 코너 셀(104)이 둥근 형상을 가짐으로써, 촬상장치(2)에 대한 게임 카드(4)의 방향에 상관없이, 촬상장치(2)에 의해 촬상되는 코너 셀(104)의 형상은 변화하지 않는다. 그 때문에, 촬상장치(2)에 대한 방향에 의해, 코너 셀(104)의 중심점이 변하지 않으며, 따라서 안정되게 중심점을 취득하는 것이 가능해진다. 이것에 의해, 이미 서술한 바와 같이, 게임 카드(4)의 위치정보, 방향정보, 거리정보를 정확하게 구하는 것이 가능해진다. 또한, 사각형 셀(106)을 둥글게 형성해도 좋다. 또한, 코너 셀(104)을 원형으로 할 뿐만 아니라, 도 2에 관련해서 설명한 바와 같이, 사각형 셀(106)에 대해서 크게 형성함으로써, 코너 셀(104)의 좌표위치를 더욱 고정밀도로 구하는 것이 가능해진다.
도 9는 게임 카드의 표면에 인쇄한 2차원 코드의 또 다른 예를 나타낸다. 게임 카드(4)의 표면에는, 기준 셀(100) 및 코드부(110)가 배치되어 있다. 도 2의 2차원 코드와 비교하면, 도 9에 나타내는 2차원 코드에서는, 소정의 형상을 갖는 기준 셀(100), 각각 2차원 배치함으로써 코드 데이터를 구성하는 복수의 사각형 셀(106), 코드 데이터 부분(102)의 영역을 둘러싸도록 배치되는 복수의 코너 셀(104)의 적어도 하나의 셀이, 다른 셀과 다른 색이 칠해진다. 예를 들면 기준 셀(100)에 적색, 사각형 셀(106)에 녹색, 코너 셀(104)에 청색으로 각각의 셀에 다른 색을 할 당해도 좋다. 또한, 여기에서 할당하는 색은, 촬상장치(2)에 있어서 받아들이고, 소정의 휘도 역치를 기준으로 해서 2치화할 수 있는 색이면 되며, 반드시 인간의 눈에 가시(可視)인 것은 요구되지 않는다. 사용하는 촬상장치(2)의 촬상 특성을 미리 알고 있는 경우는, 그 특성에 맞춰 셀을 채색해도 좋다.
본 실시예의 2차원 코드의 인식처리에서는, 도 4의 S20에 나타내는 바와 같이, 우선 기준 셀(100)을 검출하는 것이 조건이 된다. 2차원 코드의 인식처리 전체 중에서도, 이 기준 셀 검출처리의 부하는 높으며, 따라서, 화상 데이터 중에서 기준 셀(100)을 효율적으로 추출할 수 있는 것이 바람직하다. 그래서, 복수 종류의 셀 중, 적어도 기준 셀(100)에는, 사각형 셀(106) 및 코너 셀(104)과는 다른 색을 칠하는 것이 바람직하다.
촬상장치(2)의 수광면(受光面)의 앞면에는 RGB의 컬러 필터가 배치되어 있으며, 프레임 화상마다, RGB의 각각의 화소값이 256계조(階調)로 표현된 데이터로서 기록된다. 이 예에 있어서, 2치화 처리부(50)가 2치화 처리하기 위한 RGB의 화소값의 범위를 설정하는 기능을 갖는다. 기준 셀(100)이 온통 적색으로 칠해져 있는 경우, 도 4의 S10의 2치화 처리에 있어서, 2치화 처리부(50)가 기준 셀용의 RGB의 화소값의 범위를 설정한다. 예를 들면, 2치화 처리부(50)는 적색(R)의 화소값의 범위를 200∼255, 녹색(G)의 화소값의 범위를 0∼100, 청색(B)의 화소값의 범위를 0∼100으로 설정한다. 이 설정에 기초해서, 2치화 처리부(50)는 이 범위 내에 있는 RGB의 복합 화소를 추출하고, 그 화소값을 "1"로 부호화한다. 예를 들면, R화소값이 225, G화소값이 30, B화소값이 50이 되는 복합 화소의 화소값은 "1"로 부호화되 며, 2치 화상(binary image)으로서의 색이 흑색으로 설정된다. 한편, RGB의 화소값이 이들의 범위 내에 없는 복합 화소의 화소값은 "0"으로 부호화되며, 2치 화상으로서의 색이 백색으로 설정된다. 이와 같이, 적색의 화소를 화상 데이터로부터 추출함으로써, 도 4의 S12에 있어서, 2치 화상에 있어서 흑색 화소가 되는 연결영역을 라벨링할 수 있다. 흑색 화소로서 추출하는 화소를 화상 데이터에 있어서 특정의 색, 여기에서는 적색의 것으로 한정함으로써, 추출하는 노이즈의 수를 적게 할 수 있으며, 기준 셀 검출부(52)는 프레임 화상의 2치화 데이터로부터 기준 셀(100)을 검출하는 시간을 단축할 수 있다.
또한, 화소값은 컬러 필터 특성의 영향을 받기 때문에, 컬러 필터의 특성도 가미한 화소값의 범위 설정을 행하기 위해서, 게임 카드(4)를 테이블(3)에 배치한 상태에서, 기준 셀(100)의 적색의 화소값을 조사해도 좋다. 이것에 의해, 촬상장치(2)에 있어서 취득되는 기준 셀(100)의 RGB의 화소값을 특정할 수 있으며, 특정한 화소값에 약간의 마진을 부여한 범위에서 2치화 처리를 행함으로써, 검출하는 흑색 화소 연결영역의 수를 비약적으로 적게 하는 것이 가능해진다. 특히, 게임 시스템(1)에 있어서는, 실시간으로 처리하는 것이 바람직하기 때문에, 기준 셀(100)을 효율적으로 추출할 수 있는 것에는 큰 메리트가 있다.
또한, 다른 종류의 셀, 예를 들면 코너 셀(104), 사각형 셀(106)에 채색을 행한 경우도 마찬가지이다. 코너 셀(104)을 청색으로 하는 경우, 도 4의 S10에 있어서, 2치화 처리부(50)가 코너 셀용의 RGB의 화소값의 범위를 설정한다. 예를 들면, 2치화 처리부(50)는 적색(R)의 화소값의 범위를 0∼100, 녹색(G)의 화소값의 범위를 0∼100, 청색(B)의 화소값의 범위를 200∼255로 설정한다. 이 설정에 기초해서, 2치화 처리부(50)는 이 범위 내에 있는 RGB의 복합 화소를 추출하고, 그 화소값을 "1"로 부호화한다. 예를 들면, R화소값이 20, G화소값이 30, B화소값이 240이 되는 복합 화소의 화소값은 "1"로 부호화되며, 2치 화상으로서의 색이 흑색으로 설정된다. 한편, RGB의 화소값이 이들의 범위 내에 없는 복합 화소의 화소값은 "0"으로 부호화되며, 2치 화상으로서의 색이 백색으로 설정된다. 이와 같이, 청색의 화소를 화상 데이터로부터 추출함으로써, 도 4의 S12에 있어서, 2치 화상에 있어서 흑색 화소가 되는 연결영역을 라벨링할 수 있다.
이와 같이, 청색이 강한 화상을 흑색 화상으로 변환하는 2치화 처리를 행하고 나서, S12에 있어서 흑색 화소 연결영역으로서 라벨링된 것을, 코드부 검출부(54)가 도 6의 플로우에 나타내는 코너 셀 후보영역으로서 선택하기 위해서 이용한다. 흑색 화소로서 추출하는 화소를 화상 데이터에 있어서 특정의 색, 여기에서는 청색의 것에 한정함으로써, 추출하는 노이즈의 수를 적게 할 수 있으며, 코드부 검출부(54)는 프레임 화상의 2치화 데이터로부터 코너 셀(104)을 검출하는 시간을 단축할 수 있다. 사각형 셀(106)을 녹색으로 한 경우는, 도 4의 S10에 있어서 녹색이 강한 화상을 흑색 화상으로 변환하는 2치화 처리를 행하고 나서, S12에 있어서 흑색 화소 연결영역으로서 라벨링된 것을, 도 6의 S222의 코드맵 생성처리에 이용한다. 3종류의 셀에 다른 채색을 한 경우, 2치화 처리를 하는 회수가 증가하게 되지만, 2치화 처리한 후의 연결영역을 탐색하는 처리량이 대폭으로 저감되기 때문에, 전체적인 효율화를 실현할 수 있다.
도 9에 나타낸 2차원 코드는 채색한 셀을 갖고 있으며, 채색한 셀은 크게 형성되어도 좋고, 또한 도 8에 나타내는 바와 같이, 둥글게 형성되어도 좋다.
도 10은 게임 카드의 표면에 인쇄한 2차원 코드의 또 다른 예를 나타낸다. 게임 카드(4)의 표면에는, 기준 셀(100) 및 코드부(110)가 배치되어 있다. 도 10에 나타내는 2차원 코드는 도 9에 나타낸 2차원 코드의 하나의 실시태양이다. 도 10에 나타내는 2차원 코드는 소정의 형상을 갖는 기준 셀(100), 각각 2차원 배치함으로써 코드 데이터를 구성하는 복수의 사각형 셀(106), 코드 데이터 부분(102)의 영역을 둘러싸도록 배치되는 복수의 코너 셀(104)을 구비한다. 4개의 코너 셀(104a, 104b, 104c, 104d)에는 모두 동일한 배색이 이루어지지만, 기준 셀(100) 및 사각형 셀(106)과는 다른 색이 칠해진다.
게임 카드(4)의 미관성을 향상하기 위해서, 코너 셀(104)은 게임 카드(4)의 측부 가장자리(side edge)까지 형성된다. 코너 셀(104)은 게임 카드(4)의 4모퉁이 가까이에 배치되며, 또한 사각형 셀(106)보다도 크게 형성되기 때문에, 게임 카드(4) 중에서, 4개의 코너 셀(104)은 눈에 띄는 존재가 된다. 본래, 코너 셀(104)은 사각형 셀(106)의 존재위치를 특정하기 위해서 형성되지만, 게임 카드(4)로서 사용되는 이상은 미관성도 중요하다. 그 때문에 게임 카드(4)의 가장자리를 두른 테두리 가장자리(107)를, 코너 셀(104)의 위치에서 코너 셀(104)을 둘러싸도록 내측으로 절곡해서 디자인적으로 변화를 갖게 함으로써, 코너 셀(104)에 의장성을 갖게 하는 것으로 하고 있다.
이와 같이 코너 셀(104)을 게임 카드(4)의 측부 가장자리에 형성하는 경우, 코너 셀(104)은 흑색 이외의 색이 칠해지는 것이 바람직하다. 가령 흑색을 할당한 경우, 게임 카드(4)를 촬상장치(2)로 촬상해서 2치화 처리를 행하면, 게임 카드(4)의 가장자리부에 생긴 그림자도 흑색 화소로서 변환되는 경우가 있어, 흑색 화소로 변환된 2개의 코너 셀(104)이, 게임 카드(4)의 가장자리부의 그림자로 연결되는 상황이 상정된다. 2치화 처리에 의해 2개의 코너 셀(104)이 연결되면, 연결한 흑색 화소로부터 2개의 코너 셀(104)을 분리하는 것은 어려워진다. 그 때문에, 코너 셀(104)에 흑색 이외의 색을 할당하고, 2치화할 때의 RGB의 역치, 즉 RGB의 범위를 적절하게 설정해서 2치화 처리함으로써, 게임 카드(4)의 가장자리부의 그림자에 의해 코너 셀(104)이 연결되는 사태를 회피하는 것이 가능해진다. 이와 같이, 코너 셀(104)을 게임 카드(4)의 측부 가장자리까지 형성한 경우에는, 그림자의 색 이외의 색, 즉 흑색 이외의 색을 할당함으로써, 코너 셀(104)을 적절하게 추출하는 것이 가능해진다.
또한, 도 10에 나타내는 게임 카드(4)에 있어서는, 코너 셀(104)이 삼각형상으로 구성된다. 이 형상은 정삼각형이어도 좋다. 코너 셀(104)을 정삼각형으로 함으로써, 코너 셀(104)의 인식 정밀도를 높일 수 있다.
도 11a∼도 11c는 취득한 흑색 화소가 코너 셀(104)인지 아닌지를 판별하는 방법을 설명하기 위한 설명도이다. 이미 서술한 바와 같이, 코너 셀(104)은 프레임 화상을 2치화한 후, 흑색 화소의 연결영역을 기초로 판별된다. 2치화된 프레임 화상은 2차원의 XY좌표상에 표현되기 때문에, 이 연결영역의 좌표값을 이용해서, 연결영역이 코너 셀(104)인지 아닌지를 판별할 수 있다.
도 11a는 프레임 화상으로부터 추출된 연결영역의 일례를 나타낸다. 이 연결영역(109a)은 X축방향의 폭을 H1, Y축방향의 폭을 V1으로 한다. 또한, 이 폭은 2차원 좌표상의 화소수로 카운트한다. 이 연결영역(109a)의 화소수를 C1이라고 한 경우, 이 연결영역(109a)이 코너 셀(104)의 후보인지 아닌지는 이하의 식으로 판별된다.
α×H1×V1≤C1≤β×H1×V1(α<β<1)
예를 들면 α는 0.3, β는 0.7이다.
연결영역(109a)의 화소수 C1이, 상기 식을 만족시키는 경우, 이 연결영역(109a)을 코너 셀(104)의 후보라고 판별해도 좋다. 당연한 것이지만, 상수 α, β의 값은 다른 값으로 설정해도 좋다.
도 11b는 프레임 화상으로부터 추출된 연결영역의 다른 예를 나타낸다. 이 연결영역(109b)이 코너 셀(104)의 후보인지 아닌지는, 마찬가지로 이하의 식으로 판별된다. 이 연결영역(109b)의 화소수를 C2, X축방향의 폭을 H2, Y축방향의 폭을 V2라고 한다.
α×H2×V2≤C2≤β×H2×V2(α<β<1)
도 11a 및 도 11b에 나타내는 연결영역은, 각각 판별식을 만족시키고 있으며, 코너 셀(104)의 후보라고 판별된 예이다. 도 11a 및 도 11b에 나타나는 바와 같이, 프레임 화상에 있어서, 게임 카드(4)는 여러 가지 각도로 촬상영역(5) 중에 배치되어 있을 가능성이 있으나, 상기한 판별식을 이용함으로써, 삼각형상의 코너 셀(104)을 적절하게 인식하는 것이 가능해진다.
도 11c는 프레임 화상으로부터 추출된 연결영역의 또 다른 예를 나타낸다. 이 경우, 연결영역(109c)의 화소수 C3는 α×H3(X축방향의 폭)×V3(Y축방향의 폭)보다도 작다. 즉
C3<α×H3×V3
의 관계가 성립한다. 이것은 판별식(α×H3×V3≤C3≤β×H3×V3)을 만족하는 것이 아니기 때문에, 도 11c에 나타내는 연결영역(109c)은 코너 셀(104)이 아닌 것이 판별된다.
이상과 같이, 코너 셀(104)의 형상을 삼각형으로 함으로써, 2차원 좌표상의 좌표값을 이용해서, 간단하게 코너 셀(104)의 후보를 추출할 수 있다. 또한 코너 셀(104)의 형상을 정삼각형으로 하면, 다른 삼각형상과 비교해서, 상기 판별식으로 판정할 때의 방향 의존성을 저감할 수 있기 때문에, 코너 셀(104)의 인식 정밀도를 보다 높일 수 있다.
또한, 도 10에 나타내는 게임 카드(4)에 있어서는, 사각형 셀(106)로 구성되는 코드 데이터 부분(102)을, 카드 하방의 코너 셀(104c, 104d) 사이에 배치한다. 이것에 의해, 게임 카드(4)의 중앙부분에 스페이스를 만들 수 있으며, 거기에 캐릭터의 그림 등을 인쇄하는 것이 가능해진다.
도 12는 게임 카드의 표면에 인쇄한 2차원 코드의 또 다른 예를 나타낸다. 도 12에 나타내는 게임 카드(4)에서는, 도 10에 나타내는 게임 카드(4)와 마찬가지로, 코너 셀(104)이 게임 카드(4)의 측부 가장자리로부터 형성되어 있다. 이 코너 셀(104)은 삼각형상으로 형성되며, 기준 셀(100) 및 코드 데이터 부분(102a, 102b)과는 다른 색이 칠해진다.
도 12에 나타내는 게임 카드(4)에서는, 사각형 셀(106)을 형성하는 영역이 2개로 분리된다. 여기에서는, 2개의 코드 데이터 부분(102a, 102b)이, 4개의 코너 셀(104a, 104b, 104c, 104d)에 의해 둘러싸이는 영역 이외의 부분에 배치된다. 코드 데이터 부분(102a)은 기준 셀(100)과 게임 카드(4)의 상측 가장자리 사이에 형성되며, 코드 데이터 부분(102b)은 코너 셀(104c 및 104d)을 연결한 라인과 게임 카드(4)의 하측 가장자리 사이에 형성된다. 또한, 코너 셀(104c 및 104d)을 연결하는 라인이란 카드 내향의 삼각형 정점끼리를 연결한 라인이다. 코드 데이터 부분(102a) 및 코드 데이터 부분(102b)을, 4개의 코너 셀(104)로 둘러싸이는 영역 밖에 배치함으로써, 게임 카드(4)의 중앙영역의 스페이스를 넓게 취할 수 있으며, 거기에 캐릭터의 그림 등을 인쇄하는 것이 가능해진다. 코드 데이터 부분(102a 및 102b)은 각각 12비트의 정보를 기록할 수 있으며, 따라서 합계 24비트의 정보량을 보유할 수 있다. 또한, 게임 카드(4)의 하방에 배치된 코드 데이터 부분(102b)은 기준 셀(100)로 오인식되는 것을 방지하기 위해서, 소정의 비트 길이, 예를 들면 3비트 이상 연속해서 착색되지 않도록 하는 것이 바람직하다.
도 12의 사각형 셀(106)을 인식할 때에는, 이미 기준 셀(100)과, 좌측 아래쪽 및 우측 아래쪽의 코너 셀(104d, 104c)이 검출되어 있기 때문에, 이들 근방을 탐색함으로써, 코드 데이터 부분(102a 및 102b)을 용이하게 검출할 수 있다. 즉, 코드 데이터 부분(102a)은 기준 셀(100)에 대해서 코너 셀(104c 및 104d)의 반대측에 존재하고, 코드 데이터 부분(102b)은 코너 셀(104c 및 104d)에 대해서 기준 셀(100)의 반대측에 존재한다. 기준 셀(100)과 코드 데이터 부분(102a)을 근방에 설정하고, 또한 코너 셀(104c 및 104d)과 코드 데이터 부분(102b)을 근방에 설정함으로써, 코드 데이터 부분(102)의 탐색 효율을 높이는 것이 가능해진다.
또한, 도 12의 게임 카드(4)에 있어서는, 코드 데이터 부분(102a 및 102b)이 2개로 분리한 배치를 나타내었으나, 코드 데이터 부분(102a 및 102b)은 인접해서 배치되어도 좋다. 즉, 코드 데이터 부분(102a 및 102b)은 기준 셀(100)과 게임 카드(4)의 상측 가장자리 사이에 배치되어도 좋고, 또한 코너 셀(104d 및 104c)과 게임 카드(4)의 하측 가장자리 사이에 배치되어도 좋다.
또한 이상은, 게임 카드(4)를 테이블(3)상에서 움직이고 있으나, 테이블(3)에 게임용 매트를 놓고, 그 위에서 게임 카드(4)를 움직여도 좋다.
도 13은 게임용 카드를 배치하기 위한 게임용 매트를 나타낸다. 도 1을 참조해서, 게임용 매트(300)는 촬상장치(2)의 촬상영역(5)에 들어가도록 테이블(3)에 놓여진다. 게임용 매트(300)는 펠트 생지(生地) 등의 유연한 소재로 제작되며, 사용하지 않는 동안은 콤팩트에 둥글게 해서 수납할 수 있는 것이 바람직하다.
게임용 매트(300)에는 복수의 칸막이선(304)에 의해, 9개의 매스(302a, 302b, 302c, 302d, 302e, 302f, 302g, 302h, 302i)(이하, 총칭하는 경우는 "매스(302)"라고 부름)가 형성되어 있다. 게임용 매트(300)는 게임 애플리케이션에 따라 구성되며, 각각의 매스(302)는 게임 카드(4)를 배치하는 구획을 형성한다. 1인 이상의 사용자가 게임 카드(4)를 어느 하나의 매스(302)에 놓으면, 화상해석장치(20)가, 배치된 매스(302)를 특정해서 게임 카드(4)의 2차원 코드를 인식하고, 게임장치(30)가 배치된 매스에 따른 게임 스토리를 전개해도 좋다. 도 13에 나타내는 게임용 매트(300)에서는 3×3의 매스(302)가 형성되어 있으나, 매스(302)의 수는 이것에 한하는 것은 아니다. 사용자가 게임 카드(4)를 움직여도 좋은 영역을 "플레이 에리어"라고 부르면, 도 13에 나타내는 게임용 매트(300)에 있어서는, 매스(302)가 형성된 정사각형의 영역이 플레이 에리어(306)를 형성한다. 게임용 매트(300)는 그 전체가 촬상영역(5)에 들어가도록 배치될 필요는 없으나, 적어도 플레이 에리어(306)는 촬상영역(5)에 들어가 있을 필요가 있다. 또한, 게임 카드(4)를 자유롭게 움직여도 좋은 게임 애플리케이션에 있어서는, 매스(302)는 형성되지 않아도 좋다.
게임용 매트(300)에 있어서, 플레이 에리어(306)의 4모퉁이에, 단계적으로 명도가 변화하는 그레이데이션 영역(310a, 310b, 310c, 310d)(이하, 총칭하는 경우는, "그레이데이션 영역(310)"이라고 부름)이 형성된다. 색에는, 색상, 명도, 채도의 3가지 속성이 있으나, 그레이데이션 영역(310)은 하나의 색상의 명도를 변화시킴으로써 구성되며, 채도에 대해서는 변화시키지 않아도 좋다. 그레이데이션 영역(310)의 외측 가장자리는 원형이며, 그레이데이션 영역(310)의 중심으로부터 외측 가장자리를 향하는 방향으로, 고명도에서 저명도로 명도가 동심원 형상으로 단계적으로 변화하고 있다.
도 14는 그레이데이션 영역의 외관을 나타낸다. 그레이데이션 영역(310)은 하나의 색상으로 구성되며, 그 색상에 있어서 단계적으로 명도를 변화시켜서 구성된다. 색상은 적, 녹, 청과 같은 색조의 차이를 나타내며, 명도는 밝기의 차이를 나타낸다. 여기에서는 그레이데이션 영역(310)이 색상을 가지며, 즉 유채색으로 표현되는 경우를 상정하고 있다. 또한, 백, 흑, 그레이 등의 무채색에는 색상은 존재하고 있지 않으나, 그레이데이션 영역(310)을, 백에서 흑으로 명도를 단계적으로 변화해서 구성하는 것도 가능하다. 그레이데이션 영역(310)에 있어서의 명도의 차이는 RGB 필터를 통해서 디지털화될 때, 휘도의 차이로서 취득된다.
이와 같이, 그레이데이션 영역(310)의 외측 가장자리(312)의 명도가 낮고, 중심(314)의 명도는 높게 설정된다. 즉, 이 그레이데이션 영역(310)은 외측이 짙은 유채색의 영역을 가지며, 내측이 하얗게 구성된다. 4개의 그레이데이션 영역(310)은 4개 모두를 같은 색으로 구성해도 좋지만, 적어도 하나의 색을 변경시킴으로써 게임용 매트(300)의 방향을 정하기 위한 지표로서 이용할 수 있다. 예를 들면, 3개의 그레이데이션 영역(310a, 310b, 310c)을 동일한 색상으로 구성하고, 하나의 그레이데이션 영역(310d)을 다른 색상으로 구성해도 좋다. 이때, 4개의 그레이데이션 영역(310)을 검출할 수 있다면, 그레이데이션 영역(310a, 310b, 310c)에 대한 그레이데이션(310d)의 위치가 기지(旣知)이기 때문에, 게임용 매트(300)의 방향을 특정하는 것이 가능해진다.
또한, 그레이데이션 영역(310)을 검출할 수 있다면, 상술한, 게임 카드(4)의 가상 3차원 좌표계에 있어서의 위치 및 방향을 구하는 방법과 동일한 방법에 의해, 게임용 매트(300)의 위치, 방향, 거리 등의 기하정보를 산출할 수 있다. 미리 게임 용 매트(300)의 위치나 방향 등을 파악해 둠으로써, 플레이 에리어(306)에 배치되어 있는 게임 카드(4)를 더욱 효율 좋게 인식할 수 있다. 또한, 도 1에 있어서, 촬상장치(2)에 의해 촬상된 프레임 화상을 디스플레이(7)에 표시시키고, 게임 카드(4)상에 캐릭터를 중첩 표시시키는 것을 설명하였으나, 게임용 매트(300)를 사용하고 있는 경우에는, 게임용 매트(300)의 기하정보를 취득하고, 디스플레이(7)에 표시되는 프레임 화상에 있어서의 게임용 매트(300)상에, 예를 들면 게임 카드(4)를 사용한 전투의 배경 화상 등을 중첩 표시시켜도 좋다. 이것에 의해, 게임 카드(4)를 효율 좋게 인식하기 위해서 사용되는 게임용 매트(300)를 그대로 디스플레이(7)에 표시하는 것이 아니라, 배경 화상 등을 중첩 표시시킬 수 있으므로, 연출 효과를 향상시킬 수 있다.
그레이데이션 영역(310)은 또한, 게임 카드(4)의 기준 셀(100), 코너 셀(104) 및/또는 사각형 셀(106)의 화상을 2치화해서 추출할 때의 RGB의 화소값의 역치를 결정하기 위해서 이용된다. 예를 들면, 코너 셀(104)의 색상이 녹색이고, 소정의 명도를 가지고 구성되는 것으로 한다. 이때, 그레이데이션 영역(310)의 색상을 녹색으로 설정하고, 그레이데이션의 일부에, 코너 셀(104)과 동일한 명도를 갖는 영역을 형성한다. 따라서, 코너 셀(104)과 동일한 명도를 갖는 셀 명도영역(316)이 그레이데이션 영역(310)의 중심(314)으로부터 외측 가장자리(312) 사이의 소정 위치에 설정된다. 매우 적합하게는, 셀 명도영역(316)은 중심(314)과 외측 가장자리(312)의 중간 지점에 동심원 형상으로 형성된다. 따라서, 그레이데이션 영역(310)의 반경방향에 있어서, 셀 명도영역(316)과 중심(314) 사이에는, 셀 명도영역 (316)보다도 명도가 높은 영역이 형성되며, 또한 셀 명도영역(316)과 외측 가장자리(312) 사이에는, 셀 명도영역(316)보다도 명도가 낮은 영역이 형성된다.
코너 셀(104)과, 그레이데이션 영역(310)의 셀 명도영역(316)이 동일 색상(G)이고 동일한 휘도(계조(階調))를 가지며, 환경광 등의 영향이 없는 경우에는, G필터를 통해서 취득되는 G화소값이, 예를 들면 127로 표현되는 것으로 한다. 2치화 처리부(50)는 2치화 처리하기 위해서 RGB의 화소값의 범위를 설정하지만, 코너 셀(104)의 화소값을 미리 알고 있는 경우에는, 이상적으로는, 2치화 역치를 코너 셀(104)의 화소값 근방으로 설정하고, 코너 셀(104)보다도 화소값이 낮은(즉 명도가 높은) 것을, 가능한 한 추출하지 않도록 범위 설정하는 것이 바람직하다. 이 경우, 이론적으로는, 2치화 처리부(50)가 예를 들면 역치를 120으로 하고, G화소값의 범위를 120∼255로 설정함으로써, 코너 셀(104)을 추출할 수 있으며, G화소값이 120에 미치지 않는 화상을 2치화 처리에 의해 "0"으로 변환할 수 있다. 2치화 처리시의 G화소값의 범위를 좁게 함으로써, 다른 노이즈를 저감할 수 있다.
그러나, 실제의 환경하에서는, 조명이 있거나, 또한 태양광이 들어오는 등 해서, 촬상장치(2)에 의해 취득되는 코너 셀(104)은 이론값(127)으로부터 다른 경우가 많다. 또한, "이론값"은 본 실시예를 설명하기 위해서 편의상 사용하는 용어로서, 기준이 되는 환경하에서 화상 데이터로부터 추출되는 화소값을 의미한다. 2치화하기 위해서 설정하는 화소값의 범위는 좁으면 좁을수록, 후처리의 부하를 저감할 수 있으나, 한편으로, 환경광의 영향에 의해 실제로 취득되는 화소값이 이론값과는 다르기 때문에, 2치화하는 화소값의 범위가 좁으면, 그 범위에서 벗어날 가 능성이 발생한다. 그 때문에, 본 실시예의 게임 시스템(1)에서는, 그레이데이션 영역(310)을 이용해서, 2치화할 때의 화소값 범위에 캘리브레이션을 실시하여, 환경광 등의 영향을 가미한 현실 사용 환경하에서의 화소값 범위를 설정한다.
도 15는 화상해석장치의 다른 구성을 나타낸다. 화상해석장치(20)는 프레임 화상 취득부(40) 및 실재 오브젝트 추출부(42)를 구비한다. 실재 오브젝트 추출부(42)는 2치화 처리부(50), 영역 추출부(60), RGB 조정부(62)를 구비한다. 도 3에 나타낸 블록도와는 달리, 도 15에서는 2치화할 때의 화소값의 범위를 캘리브레이션하는 구성이 나타나 있다. 이 화상해석장치(20)의 처리 기능은 CPU, 메모리, 메모리에 로드된 프로그램 등에 의해 실현되며, 여기에서는 그들의 제휴에 의해 실현되는 구성을 그리고 있다. 프로그램은 화상해석장치(20)에 내장되어 있어도 좋고, 또한 기록매체에 저장된 형태로 외부로부터 공급되는 것이어도 좋다. 따라서 이들의 기능 블록이 하드웨어만, 소프트웨어만, 또는 그들의 조합에 의해 여러 가지 형태로 실현 가능한 것은 당업자에게 이해되는 바이다. 도시의 예에서는, 화상해석장치(20)의 CPU가 프레임 화상 취득부(40), 실재 오브젝트 추출부(42)로서의 기능을 갖는다.
프레임 화상 취득부(40)가 촬상장치(2)로 촬상된 실공간의 프레임 화상을 취득한다. 촬상장치(2)는 주기적으로 프레임 화상을 취득하며, 매우 적합하게는 1/60초 간격으로 프레임 화상을 생성한다. 촬상영역(5)에는 게임용 매트(300)와, 게임용 매트(300)상에 놓인 게임 카드(4)가 배치되어 있으며, 따라서 프레임 화상은 게임용 매트(300)와 게임 카드(4)를 포함하고 있다.
실재 오브젝트 추출부(42)는 프레임 화상으로부터 실재 오브젝트 화상을 추출한다. 여기에서는, 코너 셀(104)을 2치화할 때의 RGB의 화소값의 범위를 조정하는 것을 목적으로 하기 때문에, 추출하는 실재 오브젝트 화상은 게임용 매트(300)에 있어서의 그레이데이션 영역(310)이다. 이하에서는, 코너 셀(104)이 소정의 명도를 가진 녹색으로 구성되어 있으며, 그레이데이션 영역(310)이 그 소정의 명도를 포함한 녹색의 그레이데이션으로서 형성되어 있는 경우에 대해서 설명한다.
2치화 처리부(50)는 2치화하는 RGB의 범위를 설정하고, 프레임 화상을 2진수의 비트 표현으로 변환한다. 구체적으로, 2치화 처리부(50)는 녹색의 그레이데이션이 실시된 그레이데이션 영역(310a, 310b, 310c)을 추출하기 위해서, G화소값의 범위를 120∼255, R화소값의 범위를 0∼20, B화소값의 범위를 0∼20으로 설정하고, 이 RGB의 화소값의 범위 내에 있는 RGB의 복합 화소를 추출한다. RB에 대해서 화소값의 범위를 0으로 하지 않은 것은 컬러 필터의 특성 등을 고려하기 때문이다. 2치화 처리부(50)는 설정한 RGB의 화소값의 범위 내에 있는 복합 화소를 추출하고, 그 화소값을 "1"로 한다.
영역 추출부(60)는 프레임 화상의 2치화 데이터로부터, 게임용 매트(300)의 그레이데이션 영역(310)을 추출한다. 그레이데이션 영역(310)은 중심부분의 G화소값이 낮고, 외주부분의 G화소값이 높은 그레이데이션을 형성하고 있다. 2치화 처리의 결과, 그레이데이션 영역(310)은 중심부분의 복합 화소값이 0, 외주부분의 복합 화소값이 1인 비트 표현으로 변환되며, 중심부분이 공백이 되는 도넛 형상이 된다. 그래서, 영역 추출부(60)는 2치화된 데이터 중에서 도넛 형상을 검출한다. 2치화 처리의 결과, 그레이데이션 영역(310) 이외에 도넛 형상으로 변환되는 영역은 적다고 생각되기 때문에, 그레이데이션 영역(310)을 원형으로 형성하는 것은 그레이데이션 영역(310)의 후보를 좁히는 의미에 있어서 메리트가 높다.
여기에서, 4개의 그레이데이션 영역(310)은 정사각형의 정점에 배치되어 있다. 녹색용의 2치화 처리 및 흑색용의 2치화 처리의 결과, 복수의 도넛 영역이 검출된 경우에, 그들 도넛 영역이 정사각형의 정점에 오는 관계가 되는 것을 추출하고, 그들을 그레이데이션 영역(310)으로서 특정한다. 녹색의 그레이데이션 영역(310a, 310b, 310c)으로서 특정된 도넛 영역의 형상은 2치화 역치의 캘리브레이션을 위해서 RGB 조정부(62)에 보내진다.
도 16a∼도 16c는 그레이데이션 영역으로서 특정된 도넛 영역을 나타낸다. 이하에서는, 녹색의 그레이데이션 영역(310a∼310c)을 기초로, 2치화해서 동일 색의 코너 셀(104)을 검출할 때의 G화소값의 범위를 캘리브레이션하는 방법에 대해서 설명한다. G화소값의 2치화 역치를 120으로 하고, 추출 범위를 120∼255로 한다. RGB 조정부(62)는 그레이데이션 영역(310)의 2치화 데이터를 기초로, 2치화 처리부(50)에 있어서 2치화할 때의 RGB의 화소값의 범위를 조정한다.
도 16a는 내부직경과 외부직경과의 비가 약 1:2, 정확하게는 121:256이 되는 도넛 영역을 나타낸다. 이 경우는, 촬상장치(2)에 의해 받아들인 프레임 화상에 있어서 환경광의 영향이 일체 없고, 그레이데이션 영역(310)이 이상적으로 2치화되어 있다. 이 도넛 영역에 있어서, 사각형 셀(106)과 동일 계조를 갖는 셀 명도영역(316)은 중심과 외측 가장자리를 1:1로 분할한 지점에 존재하며, 도넛 영역의 흑색 부분에 포함되어 있다. 따라서, G화소값의 역치를 120으로 설정함으로써, 코너 셀(104)을 매우 적합하게 추출하는 것이 가능해진다.
도 16b는 도넛 영역의 외부직경에 대해서 내부직경이 매우 작게 된 상태를 나타낸다. 이 경우, 중심과 외측 가장자리를 1:1로 분할한 지점에 존재하는 셀 명도영역(316)은 도넛 영역의 흑색부분에 포함되어 있으나, 그 내측의 계조가 낮은 영역까지도 검출되어 있다. 예를 들면, 환경광에 녹색광이 포함되어 있는 경우에, 녹색광과 그레이데이션 영역(310)의 녹색이 서로 겹쳐져서, 검출광의 G성분이 강해지는 경우가 있다. 이때, 도넛 영역의 화소값은 그레이데이션 영역(310)의 화소값의 이론값보다도 강한 값으로 검출되며, 그 때문에, 2치화되어 "1"로 부호화되는 영역이 필요 이상으로 증가하게 된다.
따라서, 2치화 처리부(50)가 G화소값의 범위를 120∼255로 설정해서 게임 카드(4)의 화상을 2치화하면, 코너 셀(104)을 추출할 수 있으나, 코너 셀(104)보다도 옅은 녹색의 영역도 마찬가지로 추출하게 된다. 코너 셀(104)의 후보가 증가하면, 그만큼 코너 셀(104)의 특정 처리에 시간이 걸리기 때문에, 코너 셀(104)의 후보가 적어지도록, 2치화할 때의 화소값의 범위를 설정하는 것이 바람직하다.
RGB 조정부(62)는 그레이데이션 영역(310)의 그레이데이션으로 표현되는 계조의 분포와, 코너 셀(104)과 동일한 계조가 존재하는 영역의 위치를 미리 보유하고 있다. 따라서, RGB 조정부(62)는 도 16b에 나타내는 도넛 영역의 형상을 받아들이면, 설정한 역치(120)가 낮았던 것을 판정하고, 역치를 높게 할 필요가 있음을 결정한다.
예를 들면 RGB 조정부(62)는 그레이데이션 영역(310)의 계조 분포를 기초로, 도넛 영역에 있어서의 중심에서 내부직경까지의 거리(즉, 백색영역의 반경)로부터, 그 지점에 있어서의 그레이데이션 영역(310)의 G화소값의 이론값을 구한다. 그 지점의 G화소값의 이론값은 본래 120보다도 낮은 G화소값을 취하지만, 도 16b에 나타내는 도넛 영역에서는, 그 지점의 G화소값이 120으로서 검출되어 있다. 따라서, RGB 조정부(62)는 그레이데이션 영역(310)상의 G화소값의 이론값과, 설정된 역치 120과의 차를, 환경광에 의한 상승분으로서, 역치의 상승량을 정해도 좋다. 예를 들면, 도넛 영역에 있어서의 백색영역과 흑색영역의 경계의 그레이데이션 영역(310)상의 G화소값의 이론값을 60으로 한 경우, 설정 역치 120과의 차는 60이 되기 때문에, RGB 조정부(62)는 2치화 처리에 있어서의 G화소값의 역치를 180으로 해서, 2치화 처리부(50)에 공급한다.
도 16c는 도넛 영역의 내부직경이 외부직경의 절반보다도 크게 된 상태를 나타낸다. 이 경우, 중심과 외측 가장자리를 1:1로 분할한 지점에 존재하는 셀 명도영역(316)은 도넛 영역의 백색부분에 포함되어 있으며, 따라서, 코너 셀(104)과 동일 계조의 셀 명도영역(316)은 2치화 처리에 의해 "0"으로 변환되어 있게 된다. 예를 들면, 환경이 매우 어두운 경우에, 그레이데이션 영역(310)의 이론값보다도 화소값이 낮게 검출되는 경우가 있다.
따라서, 2치화 처리부(50)가 G화소값의 범위를 120∼255로 설정해서 게임 카드(4)를 2치화하면, 코너 셀(104)을 추출할 수 없게 된다. 그 때문에, G화소값의 추출 범위를 넓혀서, 코너 셀(104)과 동일한 화소값을 갖는 셀 명도영역(316)을 추 출할 수 있도록, 2치화 처리의 G화소값의 범위를 재설정할 필요가 있다.
RGB 조정부(62)는 도 16c에 나타내는 도넛 영역의 형상을 받아들이면, 설정한 역치(120)가 높았던 것을 판정하고, 역치를 낮게 할 필요가 있음을 결정한다. 예를 들면 RGB 조정부(62)는 그레이데이션 영역(310)의 계조 분포를 기초로, 도넛 영역에 있어서의 중심에서 내부직경까지의 거리(즉, 백색영역의 반경)로부터, 그 지점에 있어서의 그레이데이션 영역(310)의 G화소값의 이론값을 구한다. 그 지점의 G화소값의 이론값은 본래 120보다도 높은 G화소값을 취하지만, 도 16c에 나타내는 도넛 영역에서는, 그 지점의 G화소값이 120으로서 검출되어 있다. 따라서, RGB 조정부(62)는 그레이데이션 영역(310)상의 G화소값의 이론값과, 설정된 역치 120과의 차를, 역치의 하강량으로 정해도 좋다. 예를 들면, 도넛 영역에 있어서의 백색영역과 흑색영역의 경계의 그레이데이션 영역(310)상의 G화소값의 이론값을 180으로 한 경우, 설정 역치 120과의 차는 60이 되기 때문에, RGB 조정부(62)는 2치화 처리에 있어서의 G화소값의 역치를 60으로 해서, 2치화 처리부(50)에 공급한다.
2치화 처리부(50)는 RGB 조정부(62)에 의해 조정된 화소값의 범위를 받아들이면, 그 범위를 기초로 프레임 화상의 2치화 처리를 실행한다. 영역 추출부(60)는 2치화된 데이터로부터, 그레이데이션 영역(310)에 대응하는 도넛 영역을 추출하고, RGB 조정부(62)에 공급한다. RGB 조정부(62)는 도넛 영역을 기초로, 2치화 처리의 역치를 조정하고, 2치화 처리부(50)에 피드백한다. 이상의 캘리브레이션 처리는 도넛 영역이 도 16a에 나타내는 바와 같은 상태가 될 때까지 실행되어도 좋다.
또한, 이상은 2치화할 때의 G화소값의 범위(역치)를 캘리브레이션하는 경우 에 대해서 설명하였으나, 그 밖에 R, B화소값에 대해서도 동일하다. 녹색의 그레이데이션 영역(310a, 310b, 310c)의 2치화 처리시의 RB화소값의 역치를 20으로 디폴트 설정하고 있으나, RGB 조정부(62)는 필요에 따라서 이 디폴트값을 조정하는 것이 바람직하다.
또한, 그레이데이션 영역(310a, 310b, 310c)은 공간적으로 다른 3점에 존재하고 있으며, 환경광 등의 영향에 의해, 그 위치에 따라 2치화 처리시의 최적의 화소값의 범위가 다른 것도 고려된다. 외부 조명의 방향에 의해, 그레이데이션 영역(310a, 310b) 부근이 밝고, 그레이데이션 영역(310c) 부근이 어두운 경우, 그레이데이션 영역(310c)에 맞춰서, 2치화할 때의 역치를 낮게 설정해도 좋다. 이것에 의해, 게임 카드(4)의 배치위치에 상관없이, 코너 셀(104)을 검출하는 것이 가능해진다.
그러나, 그레이데이션 영역(310a, 310b) 부근에서는, 2치화 역치가 낮게 설정됨으로써, 코너 셀(104) 이외의 다양한 영역을 추출할 가능성이 높아진다. 그 때문에, 각각의 그레이데이션 영역(310)의 위치에 있어서의 최적의 2치화 역치를 구하고, 이 3점의 2치화 역치로부터, 플레이 에리어(306) 중의 임의의 위치에 있어서의 2치화 역치를 도출해도 좋다. 예를 들면, 그레이데이션 영역(310b)에 있어서의 2치화 역치를 T1, 그레이데이션 영역(310c)에 있어서의 2치화 역치를 T2라고 한 경우, 그레이데이션 영역(310b 및 310c)을 연결하는 라인상에서는, 2치화 역치를 T1으로부터 T2까지 리니어로 변화시키도록 설정해도 좋다. 다른 임의의 위치에 대해서도 동일하며, 3점의 2치화 역치로부터의 거리에 따라, 각각의 위치에 있어서의 2 치화 역치가 산출되어도 좋다. 이것에 의해, 조명이 가까운 경우 등, 카드의 위치에 따라 조명 환경이 다르고, 촬상되는 코드색이 크게 다른 경우라도, 적절하게 코드를 인식하는 것이 가능해진다.
본 실시예의 캘리브레이션 처리는 정기적으로 행해지는 것이 바람직하다. 또한, 환경에 변화가 없는 경우에는, 빈번하게 캘리브레이션 처리가 행해질 필요성은 높지 않기 때문에, 환경의 변화를 검지하는 센서를 별도로 형성하고, 그 센서에 의해 환경 변화가 검지된 경우에, 캘리브레이션 처리가 행해지도록 해도 좋다. 또한, 환경 변화에는 게임용 매트(300)를 움직인 경우나, 외부 조명 등의 밝기가 변화한 경우 등이 있다.
캘리브레이션 처리의 방법으로서, 그레이데이션 영역(310)의 소정 위치에 있어서의 실제의 화소값과, 촬영의 결과 얻어지는 측정값과의 차분으로부터, 2치화 역치를 보정해도 좋고, 그레이데이션 영역(310)을 2치화했을 때의 도넛 영역의 형상이 특정의 형상이 되도록, 2치화 역치를 보정해도 좋다. 후자의 경우, 예를 들면, 도넛 영역의 대소에 따라, 2치화 역치를 증분(increment) 또는 감량(decrement)하고, 도넛 영역의 형상이 이론값에 가까워지도록 조정해도 좋다. 또한, 단지 하나의 2치화 역치를 기초로 2치화할 뿐만 아니라, 상한과 하한의 2개의 역치를 형성하고, 그 범위에 들어가는지 아닌지에 의해 2치화해도 좋다. 예를 들면, 화소값이 85 이상 170 이하이면 "0", 그 이외이면 "1"로 해서 2치화해도 좋다. 이 경우, 어느 2치화 역치의 대소에 의해 그레이데이션 영역(310)을 2치화하고, 그레이데이션 영역(310)의 외부직경을 파악하고 나서, 상한과 하한의 2개의 역치에 의해 특정되는 중간 영역의 도넛 영역의 실측 결과를 취득하며, 그 형상이 이론값에 가까워지도록 상한과 하한을 보정해도 좋다. 또한, 상술한 예와 농담이 역전해 있어도 좋으며, 그 경우, 반전 처리를 하고 나서 2치화를 행해도 좋다.
도 1에 나타낸 바와 같이, 촬상장치(2)는 비스듬한 상방(上方)에서 게임용 매트(300)를 촬상하므로, 그레이데이션 영역(310)의 형상이 진원(眞圓)이었다고 하더라도, 타원형으로서 인식될 가능성이 있다. 이 경우라도, 상술한 바와 같이, 게임용 매트(300)의 위치나 방향 등을 미리 파악하는 것이 가능하기 때문에, 이 정보를 기초로 그레이데이션 영역(310)의 인식 결과인 도넛 영역의 형상을, 아핀 변환이나 상사(相似) 변환 등에 의해 보정하고 나서, 상술한 캘리브레이션 처리를 행해도 좋다.
또한, 게임용 매트(300)가 고정적으로 설치되고 나서 캘리브레이션 처리를 행하는 것이 바람직하므로, 예를 들면, 그레이데이션 영역(310)의 인식처리를 복수 회 행하여 위치가 변하지 않는 것을 확인하고 나서, 또는, 소정 시간을 두고 다시 인식처리를 행하여 위치가 변하지 않는 것을 확인하고 나서, 캘리브레이션 처리를 개시해도 좋다. 또한, 상술한 바와 같이, 게임용 매트(300)의 기하정보를 취득하고 있는 경우에는, 게임용 매트(300)와 카드 게임(4) 사이의 거리를 산출함으로써, 게임 카드(4)가 게임용 매트(300)에 놓여 있는지(게임 카드(4)와 게임용 매트(300) 사이의 거리가 거의 0이고, 또한, 평행인 경우), 사용자의 손에 들린 상태에 있는지(게임 카드(4)와 게임용 매트(300) 사이의 거리가 떨어져 있거나, 또는 평행하지 않은 경우)를 인식할 수 있다.
도 17은 실시예에 있어서의 화상 데이터의 전송 시스템을 나타낸다. 화상 데이터 전송 시스템(200)은 화상 데이터를 생성하는 화상 데이터 생성장치(201), 화상 데이터를 송신하는 송신국(204), 송신된 화상 데이터를 수신하는 단말장치(202)를 가지고 구성된다. 단말장치(202)는 수신한 화상 데이터를 표시하기 위한 표시장치(203)를 갖는다. 화상 데이터 전송 시스템(200)은 무선통신에 의해 데이터를 전송하고 있으나, 유선통신에 의해 데이터를 전송하는 것이어도 좋다.
화상 데이터 생성장치(201)는 상술한 2차원 코드, 즉 도 2, 도 8, 도 9, 도 10 및 도 12에 관해서 설명한 2차원 코드의 화상 데이터를, 단말장치(202)의 표시장치(203)에 표시시키기 위한 데이터 포맷에 따라서 생성한다. 화상 데이터 생성장치(201)는 도 2에 나타내는 2차원 코드의 화상 데이터로서, 복수의 사각형 셀을 표시장치(203)상의 소정의 좌표위치에 표시시키기 위한 데이터와, 소정의 좌표위치에 표시되는 복수의 사각형 셀을 둘러싸는 좌표위치에 복수의 코너 셀을 표시시키기 위한 데이터를 생성해도 좋다. 화상 데이터 생성장치(201)는 표시장치(203)상에서, 코너 셀이 사각형 셀보다도 크게 표시되도록, 코너 셀과 사각형 셀의 데이터를 설정한다.
화상 데이터 생성장치(201)는 도 8에 나타내는 2차원 코드의 화상 데이터로서, 복수의 사각형 셀을 표시장치(203)상의 소정의 좌표위치에 표시시키기 위한 데이터와, 소정의 좌표위치에 표시되는 복수의 사각형 셀을 둘러싸는 좌표위치에 복수의 코너 셀을 표시시키기 위한 데이터를 생성해도 좋다. 화상 데이터 생성장치(201)는 코너 셀이 둥근 형상으로 표시되도록, 코너 셀의 데이터를 설정한다.
화상 데이터 생성장치(201)는 도 9에 나타내는 2차원 코드의 화상 데이터로서, 소정의 형상을 갖는 기준 셀을 표시장치상의 소정의 위치에 표시시키기 위한 데이터와, 기준 셀에 대해서 정해지는 영역의 범위 내에서 복수의 다변형 셀을 표시시키기 위한 데이터와, 영역을 둘러싸는 좌표위치에 복수의 코너 셀을 표시시키기 위한 데이터를 생성해도 좋다. 화상 데이터 생성장치(201)는 기준 셀, 다변형 셀, 코너 셀의 적어도 하나의 셀의 색이, 다른 셀의 색과 다르도록 설정한다. 또한 화상 데이터 생성장치(201)는 도 10, 도 12에 나타내는 2차원 코드의 화상 데이터로서, 소정의 형상을 갖는 기준 셀을 표시장치상의 소정의 위치에 표시시키기 위한 데이터와, 동일 형상을 갖는 복수의 코너 셀을 표시시키기 위한 데이터와, 소정의 영역에 복수의 코너 셀을 표시시키기 위한 데이터를 생성해도 좋다. 화상 데이터 생성장치(201)는 코너 셀의 색을, 기준 셀 및 다변형 셀과는 다른 색으로 설정한다.
송신국(204)은 화상 데이터 생성장치(201)에 의해 생성된 화상 데이터를, 단말장치(202)에 송신한다. 화상 데이터는 단말장치(202)에 있어서 해동 가능한 형식으로 압축되어 있는 것이 바람직하며, 또한 단말장치(202)에 있어서의 브라우저 기능 등에 의해 표시되는 데이터 포맷으로 작성되어 있을 필요가 있다. 송신국(204)은 예를 들면 셀마다의 화상 데이터를 표시좌표 위치에 대응지어서 송신함으로써, 데이터 송신량을 삭감하는 것이 가능해진다. 단말장치(202)는 표시장치(203)상에 2차원 코드를 표시한다. 도 1의 게임 시스템(1)에 있어서, 사용자는 표시장치(203)에 표시된 2차원 코드를, 게임 카드(4) 대신에 사용해서, 촬상장치(2)에 의해 판독 시킬 수 있다. 이것에 의해, 사용자는 게임 카드(4)를 갖고 있지 않더라도, 화상 데이터를 단말장치(202)에 다운로드함으로써, 게임 시스템(1)에 참가할 수 있다.
이상, 본 발명을 실시예를 기초로 설명하였다. 이 실시예는 예시이며, 그들의 각 구성요소나 각 처리 프로세서의 조합에 여러 가지 변형예가 가능한 것, 또한 그러한 변형예도 본 발명의 범위에 있는 것은 당업자에게 이해되는 바이다.
본 발명은 2차원 코드를 구비하는 카드 등의 물체나, 그 2차원 코드를 인식하는 장치 등에 이용할 수 있다.

Claims (34)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 프레임 화상에 포함되는 오브젝트(object) 화상을 인식하는 화상해석장치로서, 당해 오브젝트 화상은 소정의 형상을 갖는 기준 셀과, 상기 기준 셀과는 다른 색이 칠해진 복수의 코너 셀을 가지고 구성되어 있으며,
    RGB의 화소값의 범위를 설정하고, 프레임 화상을 2진수의 비트 표현으로 변환하는 2치화 처리부와,
    프레임 화상의 2치화 데이터로부터 기준 셀을 검출하는 제1 검출부와,
    프레임 화상의 2치화 데이터로부터 코너 셀을 검출하는 제2 검출부를 구비하고,
    상기 2치화 처리부는 상기 기준 셀용의 RGB의 화소값의 범위를 설정하며, 설정한 화소값의 범위 내에 있는 화소를 추출해서 프레임 화상의 2치화 처리를 행하고, 그 2치화 데이터를 기초로 제1 검출부가 기준 셀을 검출하며,
    또한 상기 2치화 처리부는 상기 코너 셀용의 RGB의 화소값의 범위를 설정하고, 설정한 화소값의 범위 내에 있는 화소를 추출해서 프레임 화상의 2치화 처리를 행하며, 그 2치화 데이터를 기초로 제2 검출부가 코너 셀을 검출하는 것을 특징으로 하는 화상해석장치.
  10. 프레임 화상에 포함되는 오브젝트 화상을 인식하는 방법으로서, 당해 오브젝트 화상은 소정의 형상을 갖는 기준 셀과, 상기 기준 셀과는 다른 색이 칠해진 복수의 코너 셀을 가지고 구성되어 있으며,
    상기 기준 셀용의 RGB의 화소값의 범위를 설정하고, 설정한 화소값의 범위 내에 있는 화소를 추출해서, 상기 프레임 화상으로부터 상기 기준 셀을 검출하는 단계와,
    상기 코너 셀용의 RGB의 화소값의 범위를 설정하고, 설정한 화소값의 범위 내에 있는 화소를 추출해서, 상기 프레임 화상으로부터 상기 코너 셀을 검출하는 단계를 구비하는 것을 특징으로 하는 오브젝트 인식방법.
  11. 컴퓨터에, 프레임 화상에 포함되는 오브젝트 화상을 인식시키는 프로그램으로서, 당해 오브젝트는 소정의 형상을 갖는 기준 셀과, 상기 기준 셀과는 다른 색이 칠해진 복수의 코너 셀을 가지고 구성되어 있으며,
    상기 기준 셀용의 RGB의 화소값의 범위를 설정시키고, 설정한 화소값의 범위 내에 있는 화소를 추출시켜서, 상기 프레임 화상으로부터 상기 기준 셀을 검출시키는 기능과,
    상기 코너 셀용의 RGB의 화소값의 범위를 설정시키고, 설정한 화소값의 범위 내에 있는 화소를 추출시켜서, 상기 프레임 화상으로부터 상기 코너 셀을 검출시키는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 소정의 형상을 갖는 기준 셀과,
    코드 데이터를 구성하는 복수의 다변형 셀과,
    동일 형상을 갖는 복수의 코너 셀을 구비한 직사각형 형상의 카드로서,
    상기 복수의 코너 셀은 모두 상기 다변형 셀보다도 큰 면적을 가지고, 당해 카드의 상대향(相對向)하는 제1 가장자리부 및 제2 가장자리부에 있어서 형성되며,
    상기 복수의 다변형 셀의 적어도 일부는 상기 제1 가장자리부 및 상기 제2 가장자리부와는 다른 제3 가장자리부 근방에 있어서, 당해 제3 가장자리부를 따라 형성되고,
    상기 복수의 코너 셀에 의해 둘러싸이는 영역에는, 상기 다변형 셀 및 상기 기준 셀이 형성되지 않는 것을 특징으로 하는 카드.
  17. 제16항에 있어서, 상기 복수의 다변형 셀의 일부가 상기 제3 가장자리부에 대향하는 제4 가장자리부 근방에 있어서, 당해 제4 가장자리부를 따라 형성되어 있으며, 상기 제3 가장자리부와 상기 제4 가장자리부를 따라 형성된 복수의 다변형 셀이, 하나의 2차원 코드를 구성하는 것을 특징으로 하는 카드.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 소정의 형상을 갖는 기준 셀과,
    코드 데이터를 구성하는 복수의 다변형 셀과,
    4개의 코너 셀을 구비한 직사각형 형상의 카드로서,
    상기 4개의 코너 셀은 모두 상기 복수의 다변형 셀보다도 큰 면적을 가지며,
    2개의 코너 셀은, 당해 카드의 제1 가장자리부 근방에 있어서, 각각 상기 제1 가장자리부를 따르도록 형성되고, 나머지 2개의 코너 셀은, 상기 제1 가장자리부에 대향하는 제2 가장자리부 근방에 있어서, 각각 상기 제2 가장자리부를 따르도록 형성되며,
    상기 복수의 다변형 셀의 일부는, 상기 제1 가장자리부 및 상기 제2 가장자리부와는 다른 제3 가장자리부 근방에 있어서 상기 제3 가장자리부를 따르도록 형성되고, 상기 복수의 다변형 셀의 나머지는, 상기 제3 가장자리부에 대향하는 제4 가장자리부의 근방에 있어서 상기 제4 가장자리부를 따르도록 형성되는 것을 특징으로 하는 카드.
  29. 제28항에 있어서, 상기 기준 셀은 직사각형 형상을 가지며,
    상기 기준 셀은, 상기 제3 가장자리부의 길이 방향을 긴 변으로 하여, 상기 제3 가장자리부 근방에 형성되는 것을 특징으로 하는 카드.
  30. 제29항에 있어서, 상기 복수의 다변형 셀의 일부는, 상기 제3 가장자리부의 길이 방향을 긴 변으로 하는 상기 기준 셀과, 상기 제3 가장자리부와의 사이에 배치되는 것을 특징으로 하는 카드.
  31. 제28항에 있어서, 상기 코너 셀은, 삼각형상을 가지며,
    2개의 코너 셀은, 각각 삼각형의 한 변이 상기 제1 가장자리부를 따르도록 형성되고, 나머지 2개의 코너 셀은, 각각 삼각형의 한 변이 상기 제2 가장자리부를 따르도록 형성되며,
    상기 복수의 다변형 셀의 나머지는, 상기 제1 가장자리부와 상기 제2 가장자리부에 있어서 대향하도록 형성된 2개의 코너 셀의 삼각형 정점끼리를 연결한 라인과, 제4 가장자리부와의 사이에 배치되는 것을 특징으로 하는 카드.
  32. 제28항에 있어서, 상기 코너 셀은, 상기 기준 셀 및 상기 다변형 셀과는 다른 색이 칠해지는 것을 특징으로 하는 카드.
  33. 제28항에 있어서, 상기 복수의 다변형 셀은, 연속해서 배치되는 수가 제한되는 것을 특징으로 하는 카드.
  34. 제28항 내지 제33항 중 어느 한 항에 있어서, 상기 복수의 다변형 셀은, 상기 4개의 코너 셀에 의해 둘러싸이는 영역 이외의 부분에 배치되는 것을 특징으로 하는 카드.
KR1020067018844A 2004-10-15 2005-10-14 물체, 화상 데이터, 화상 데이터 전송방법, 카드, 게임용매트, 카드 게임 시스템, 화상해석장치, 화상해석방법 KR100858399B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004301310A JP3827694B2 (ja) 2004-10-15 2004-10-15 物体、画像データおよび画像データ伝送方法
JPJP-P-2004-00301310 2004-10-15
JPJP-P-2005-00269295 2005-09-15
JP2005269295A JP4364186B2 (ja) 2005-09-15 2005-09-15 カード

Publications (2)

Publication Number Publication Date
KR20060123625A KR20060123625A (ko) 2006-12-01
KR100858399B1 true KR100858399B1 (ko) 2008-09-11

Family

ID=36148435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067018844A KR100858399B1 (ko) 2004-10-15 2005-10-14 물체, 화상 데이터, 화상 데이터 전송방법, 카드, 게임용매트, 카드 게임 시스템, 화상해석장치, 화상해석방법

Country Status (6)

Country Link
US (2) US7661601B2 (ko)
EP (2) EP2330536B1 (ko)
KR (1) KR100858399B1 (ko)
AT (1) ATE497219T1 (ko)
DE (1) DE602005026145D1 (ko)
WO (1) WO2006041149A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102086338B1 (ko) 2019-07-19 2020-03-09 오치현 선박 추진장치

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8020770B2 (en) * 2005-09-07 2011-09-20 International Business Machines Corporation Display method and display apparatus
JP4046754B1 (ja) * 2006-08-25 2008-02-13 株式会社コナミデジタルエンタテインメント ゲーム装置、報知方法、および、プログラム
KR100873321B1 (ko) 2006-12-13 2008-12-10 삼성전자주식회사 주변 상황을 인지하는 기기 및 방법
JP3998701B1 (ja) * 2006-12-28 2007-10-31 健治 吉田 ドットパターンが設けられたカード
JP4856585B2 (ja) * 2007-06-07 2012-01-18 株式会社ユニバーサルエンターテインメント 個人識別通信システム及び個人識別通信システムにおいて実行されるプログラム
JP4154700B1 (ja) * 2007-06-21 2008-09-24 健治 吉田 カード面の読取・命令実行方法
JP2009124510A (ja) * 2007-11-15 2009-06-04 Canon Inc 表示制御装置及びその方法、プログラム、記録媒体
US7874496B2 (en) * 2008-01-04 2011-01-25 Microsoft Corporation Optically readable tag
JP5770971B2 (ja) * 2009-12-01 2015-08-26 株式会社ユニバーサルエンターテインメント カジノテーブル
US9058535B2 (en) * 2011-04-05 2015-06-16 Franck Guigan Security barcode
JP5756322B2 (ja) * 2011-04-08 2015-07-29 任天堂株式会社 情報処理プログラム、情報処理方法、情報処理装置および情報処理システム
JP5531061B2 (ja) 2012-07-09 2014-06-25 株式会社スクウェア・エニックス ゲーム装置
CN103839164A (zh) * 2012-11-27 2014-06-04 爱申德科技有限公司 平面媒体的交互式服务方法
CN103034945A (zh) * 2012-12-03 2013-04-10 黄敏 一种基于手机二维码服装防伪方法
KR101427715B1 (ko) * 2012-12-31 2014-08-07 아주대학교산학협력단 큐알 코드 인식 장치 및 방법
JP6109347B2 (ja) 2014-02-07 2017-04-05 株式会社ソニー・インタラクティブエンタテインメント 立体物
GB2533134A (en) * 2014-12-11 2016-06-15 Sony Computer Entertainment Inc Exercise mat, entertainment device and method of interaction between them
CN104657700B (zh) * 2015-03-25 2017-07-25 广州宽度信息技术有限公司 一种二维码抗损坏解码方法
JP2017091140A (ja) * 2015-11-09 2017-05-25 三星電子株式会社Samsung Electronics Co.,Ltd. コード送受信システム、コード受信装置、コード送信装置、コード受信方法、コード送信方法、及びプログラム
WO2017082607A1 (en) * 2015-11-09 2017-05-18 Samsung Electronics Co., Ltd. Electronic device and operating method of the same
US10412353B2 (en) 2016-04-18 2019-09-10 Sony Interactive Entertainment Inc. Processing apparatus and image projecting method
KR20180040469A (ko) * 2016-10-12 2018-04-20 엘지이노텍 주식회사 이미지 정합 방법 및 장치
CN106548111B (zh) * 2016-10-26 2019-04-16 凌云光技术集团有限责任公司 一种二维码外观缺陷检测方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329172A (ja) * 1995-06-01 1996-12-13 Sharp Corp デジタル情報記録方法およびデジタル情報解読装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB479300A (en) * 1936-08-10 1938-02-03 Michael Freiman Game apparatus
JPH0338791A (ja) 1989-06-30 1991-02-19 Veritel Inc 確認用シンボルとその確認装置
JP2938338B2 (ja) 1994-03-14 1999-08-23 株式会社デンソー 二次元コード
US5726435A (en) * 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same
GB9408626D0 (en) 1994-04-29 1994-06-22 Electronic Automation Ltd Machine readable binary code
JP3716527B2 (ja) 1997-01-28 2005-11-16 株式会社デンソー 2次元コードの読取方法
JPH10320497A (ja) * 1997-05-16 1998-12-04 Olympus Optical Co Ltd コード読取記録装置
JP3207146B2 (ja) 1997-12-25 2001-09-10 ローム株式会社 半導体装置の製法
US6267296B1 (en) * 1998-05-12 2001-07-31 Denso Corporation Two-dimensional code and method of optically reading the same
JPH11353436A (ja) * 1998-06-04 1999-12-24 Toyota Central Res & Dev Lab Inc 表象コード及びそのコード化方法
JP3794463B2 (ja) 1998-06-30 2006-07-05 ソニー株式会社 多次元コード認識処理方法、多次元コード認識処理装置、および多次元コード認識処理プログラム
JP3010293B1 (ja) * 1999-01-28 2000-02-21 一男 佐藤 二次元コ―ドの形成方法
JP2001138583A (ja) 1999-11-11 2001-05-22 Seiko Epson Corp 印刷装置
JP3736440B2 (ja) * 2001-02-02 2006-01-18 株式会社セガ カード及びカードゲーム装置
JP4884591B2 (ja) * 2001-03-06 2012-02-29 株式会社ハル研究所 コード読取装置、娯楽システム及び記録媒体
JP4032776B2 (ja) * 2002-03-04 2008-01-16 ソニー株式会社 複合現実感表示装置及び方法、記憶媒体、並びにコンピュータ・プログラム
US6631905B1 (en) * 2002-04-16 2003-10-14 Sandy Slade Game apparatus and method for teaching basketball skills
US20040002387A1 (en) * 2002-06-26 2004-01-01 Grady Daniel Patrick Card reader and scanner device and methods of using same
JP2004145475A (ja) 2002-10-22 2004-05-20 Patent One Kk 識別情報発行システム及び方法、識別情報認証システム及び方法、並びにプログラム
JP3996520B2 (ja) * 2003-01-30 2007-10-24 株式会社デンソーウェーブ 二次元情報コードおよびその生成方法
US20040160005A1 (en) * 2003-02-18 2004-08-19 Krise David A. Gaming table playing surface
JP3851907B2 (ja) * 2004-02-18 2006-11-29 株式会社ソニー・コンピュータエンタテインメント 画像表示システム及びビデオゲームシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329172A (ja) * 1995-06-01 1996-12-13 Sharp Corp デジタル情報記録方法およびデジタル情報解読装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102086338B1 (ko) 2019-07-19 2020-03-09 오치현 선박 추진장치

Also Published As

Publication number Publication date
EP1801735A4 (en) 2009-09-16
EP2330536B1 (en) 2013-03-27
EP1801735B1 (en) 2011-01-26
US20070181684A1 (en) 2007-08-09
US8066195B2 (en) 2011-11-29
US20090321521A1 (en) 2009-12-31
EP2330536A2 (en) 2011-06-08
US7661601B2 (en) 2010-02-16
DE602005026145D1 (de) 2011-03-10
ATE497219T1 (de) 2011-02-15
KR20060123625A (ko) 2006-12-01
EP1801735A1 (en) 2007-06-27
EP2330536A3 (en) 2012-01-18
WO2006041149A1 (ja) 2006-04-20

Similar Documents

Publication Publication Date Title
KR100858399B1 (ko) 물체, 화상 데이터, 화상 데이터 전송방법, 카드, 게임용매트, 카드 게임 시스템, 화상해석장치, 화상해석방법
CN100393106C (zh) 检测和/或追踪图像或图像序列中颜色区域的方法和装置
US7764835B2 (en) Method and apparatus for recognizing code
CN101248454B (zh) 图像处理方法和设备、数字照相机
CN110348263B (zh) 一种基于图像识别的二维随机码图像识别与提取方法
US20020075456A1 (en) 3D image acquisition apparatus and 3D image acquisition method
EP1507232A2 (en) Method for classifying a digital image
CN107154050A (zh) 一种基于机器视觉的石材几何参数的自动获取方法
CN109993202B (zh) 一种线稿型图形相似度判断方法、电子设备及存储介质
CN111985465A (zh) 文本识别方法、装置、设备及存储介质
CN109753945B (zh) 目标主体识别方法、装置、存储介质和电子设备
CN112634262A (zh) 一种基于互联网的写字质量评价方法
CN112292688A (zh) 运动检测方法和装置、电子设备以及计算机可读存储介质
CN109948630B (zh) 靶纸图像的识别方法、装置、系统和存储介质
JP4312185B2 (ja) ゲーム用マット、カードゲームシステム、画像解析装置、画像解析方法
JP4364186B2 (ja) カード
CN112200230B (zh) 一种训练板的识别方法、装置及机器人
CN111160215A (zh) 图像标识提取装置、图像标识的亮度调节方法、装置
CN110826376B (zh) 标记物识别方法、装置、终端设备及存储介质
US20200320328A1 (en) Image processing device, control method, and control program
CN104349058A (zh) 图像处理装置、图像处理方法以及记录介质
CN108921097B (zh) 人眼视角检测方法、装置及计算机可读存储介质
KR102596670B1 (ko) Ar 마커가 인쇄된 제품을 이용한 증강 현실 컨텐츠 제공 시스템
CN112036393A (zh) 一种基于页岩气田生产单指针仪表读数的识别方法
CN112215319A (zh) 颜色标记特征图形的二维码及其识别方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120821

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140825

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170822

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190819

Year of fee payment: 12