KR102427514B1 - 머신 판독 물품들을 위한 폐색 탄성 광학 코드들 - Google Patents

머신 판독 물품들을 위한 폐색 탄성 광학 코드들 Download PDF

Info

Publication number
KR102427514B1
KR102427514B1 KR1020197012034A KR20197012034A KR102427514B1 KR 102427514 B1 KR102427514 B1 KR 102427514B1 KR 1020197012034 A KR1020197012034 A KR 1020197012034A KR 20197012034 A KR20197012034 A KR 20197012034A KR 102427514 B1 KR102427514 B1 KR 102427514B1
Authority
KR
South Korea
Prior art keywords
optical elements
optical
code
subset
edge
Prior art date
Application number
KR1020197012034A
Other languages
English (en)
Other versions
KR20190059942A (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
Application filed by 쓰리엠 이노베이티브 프로퍼티즈 캄파니 filed Critical 쓰리엠 이노베이티브 프로퍼티즈 캄파니
Publication of KR20190059942A publication Critical patent/KR20190059942A/ko
Application granted granted Critical
Publication of KR102427514B1 publication Critical patent/KR102427514B1/ko

Links

Images

Classifications

    • 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
    • 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/06046Constructional details
    • G06K19/06056Constructional details the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized coding
    • 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/06046Constructional details
    • G06K19/06075Constructional details the marking containing means for error correction
    • 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/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • 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/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1473Methods for optical code recognition the method including quality enhancement steps error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)
  • Image Processing (AREA)

Abstract

일부 예들에서, 물품은 기판, 및 기판 상에 구현되는 복수의 광학 요소 세트들을 포함하고, 각각의 광학 요소 세트는 복수의 광학 요소들을 포함하고, 각자의 광학 요소 각각은 인코딩된 값들의 세트 내의 인코딩된 값을 표현하고, 인코딩된 값들의 세트는 각자의 광학 요소들의 시각적 구별가능성에 기초하여 구별가능하고, 각자의 광학 요소 세트 각각은 복수의 광학 요소 세트들 중 하나 이상의 광학 요소 세트들이 시각적으로 폐색되는 경우에 메시지의 적어도 일부분 또는 메시지를 디코딩하기 위한 에러 정정 데이터를 표현하고, 메시지 및 에러 정정 데이터에 대한 광학 요소 세트들은, 시각적으로 폐색되는 매트릭스의 적어도 하나의 완전한 에지 내에 광학 요소들이 위치됨이 없이 메시지가 기판으로부터 디코딩가능하도록 매트릭스에서의 물리적 표면에 공간적으로 구성된다.

Description

머신 판독 물품들을 위한 폐색 탄성 광학 코드들
본 발명은 물품의 물리적 표면 상의 정보를 인코딩하는 것, 및 그러한 정보를 인코딩 및 디코딩하기 위한 시스템들에 관한 것이다.
바코드는 일반적으로 데이터 또는 정보의 광학 머신 판독가능 표현이다. 일부 바코드는 평행선들의 폭과 간격을 체계적으로 다르게 함으로써 데이터를 표현하였다. 이러한 유형의 바코드는 통상적으로 선형 또는 1차원(1D) 바코드로 지칭된다. 바코드에 인코딩된 데이터 또는 정보는 바코드가 부착되는 물체에 관한 것일 수 있다.
이후, 2차원(2D) 바코드가 개발되었다. 이러한 바코드들은 데이터를 인코딩하기 위해 2차원의 기하학적 패턴을 사용하였다. 일반적인 유형의 2D 바코드는 정사각형 형상의 매트릭스 유형 코드인 QR(quick response) 코드이다. QR 코드는 종종 코드의 경계 및 배향을 정의하는 그것의 모서리들에 있는 3개의 독특한 정사각형과, 크기, 배향, 및 시야각에 대해 이미지를 정규화하는 데 사용되는 제4 모서리 부근에 있는 더 작은 정사각형을 포함한다.
정보는 8 비트 문자를 사용하여 QR 코드에 인코딩되며, 여기서 각각의 비트는 백색 또는 흑색 정사각형에 의해 표현된다. 비트들은 기본 매트릭스 또는 그리드 패턴으로 배열되며, 여기서 각각의 비트는 동일한 크기의 정사각형이다. 매트릭스가 생성될 때, 코드워드는 오른쪽 아래 모서리로부터 코드에서 오른쪽에서 왼쪽으로 위아래로 지그재그(zig-zag)로 나아가고 코드들의 다른 요소들 주위로 내비게이션하는 2 픽셀 폭 스트립들을 따른다. QR 코드에서, 인코딩된 정보는 전형적으로 디코딩 디바이스가 인코딩된 정보를 신뢰성 있게 검색할 수 있게 하기 위해 표준화된 레이아웃 스킴(standardized layout scheme)을 따른다. QR 코드에 인코딩될 수 있는 문자의 수는 각각의 비트의 크기, QR 코드 자체의 크기, 문자의 알파벳의 크기, 및 사용된 오류 정정의 레벨에 의존한다. 일반적으로, 에러 정정 레벨이 높을수록 저장 용량이 더 작다. 바코드와 관련된 기존 기술을 고려하더라도, 바코드 및 그러한 바코드를 포함하는 표지판 또는 다른 물품에 다양한 결점이 존재한다.
본 발명의 물품들, 기법들, 및 시스템들은 메시지를 인코딩하는 폐색-저항성, 머신 판독가능 코드에 관한 것이며, 여기서 머신 판독가능 코드는 물품 상에 구현되고 코드의 이미지를 수신하는 컴퓨팅 디바이스에 의해 디코딩가능하다. 머신 판독가능 코드는 광학 요소들의 매트릭스로서 구조화될 수 있으며, 여기서 각각의 광학 요소는 광학 요소의 시각적 외관에 기초하여 메시지의 인코딩된 값(예컨대, 이진 인코딩에서의 '1' 또는 '0')을 표현한다. QR 코드들과는 달리, 본 발명의 머신 판독가능 코드들은, 시각적으로 폐색되는 매트릭스의 적어도 하나의 완전한 에지 내에 광학 요소들이 위치된 것에 의존함이 없이 디코딩가능하도록 매트릭스 내에 공간적으로 구성될 수 있다. 이러한 방식으로, 머신 판독가능 코드들은, 교통 표지판의 전체 에지가 건물, 차량, 또는 수평선에 의해 시각적으로 폐색될 수 있는 교통 표지판들과 같은 물품들의 에지 폐색들에 대해 특히 탄성적이다. 본 발명의 계산 기법들은 폐색될 가능성이 있는 또는 폐색될 표지판의 알려진 구역들 또는 영역들을 나타내는 데이터에 기초하여 매트릭스 내의 광학 요소들의 세트들을 공간적으로 배열할 수 있다. 그러한 계산 기법들은 메시지에 대한 인코딩된 값들을 갖는 하나 이상의 광학 요소들이 폐색되는 경우에 메시지를 재구성하기 위해 메시지 및 에러 정정 데이터에 대한 각자의 인코딩된 값들을 포함하는 광학 요소들의 상이한 세트들을 공간적으로 배열할 수 있다. 이러한 방식으로, 메시지의 인코딩된 값들을 표현하는 광학 요소들을 갖는 매트릭스의 에지가 시각적으로 폐색되는 경우, 컴퓨팅 디바이스는 여전히 메시지의 인코딩된 값들을 표현하는 다른 비-폐색된 광학 요소들과 함께 에러 정정 데이터를 사용하여 메시지를 디코딩할 수 있다.
일부 예들에서, 물품은 물리적 표면을 갖는 기판; 및 물리적 표면 상에 구현되는 복수의 광학 요소 세트들을 포함하며, 복수의 광학 요소 세트들의 각각의 광학 요소 세트는 복수의 광학 요소들을 포함하고, 각자의 광학 요소 각각은 인코딩된 값들의 세트 내의 인코딩된 값을 표현하고, 인코딩된 값들의 세트는 각자의 광학 요소들의 시각적 구별가능성에 기초하여 구별가능하고, 각자의 광학 요소 세트 각각은 복수의 광학 요소 세트들 중 하나 이상의 광학 요소 세트들이 시각적으로 폐색되는 경우에 메시지의 적어도 일부분 또는 메시지를 디코딩하기 위한 에러 정정 데이터를 표현하고, 메시지 및 에러 정정 데이터에 대한 광학 요소 세트들은, 시각적으로 폐색되는 매트릭스의 적어도 하나의 완전한 에지 내에 광학 요소들이 위치됨이 없이 메시지가 기판으로부터 디코딩가능하도록 매트릭스에서의 물리적 표면에 공간적으로 구성된다.
일부 예들에서, 방법은, 컴퓨팅 디바이스에 의해, 물리적 표면을 포함하는 기판을 갖는 물품의 이미지를 수신하는 단계 - 복수의 광학 요소 세트들이 물리적 표면 상에 구현되고, 복수의 광학 요소 세트들의 각각의 광학 요소 세트는 복수의 광학 요소들을 포함하고, 각자의 광학 요소 각각은 인코딩된 값들의 세트 내의 인코딩된 값을 표현하고, 인코딩된 값들의 세트는 각자의 광학 요소들의 시각적 구별가능성에 기초하여 구별가능하고, 각자의 광학 요소 세트 각각은 복수의 광학 요소 세트들 중 하나 이상의 광학 요소 세트들이 시각적으로 폐색되는 경우에 메시지의 적어도 일부분 또는 메시지를 디코딩하기 위한 에러 정정 데이터를 표현하고, 메시지 및 에러 정정 데이터에 대한 광학 요소 세트들은, 시각적으로 폐색되는 매트릭스의 적어도 하나의 완전한 에지 내에 광학 요소들이 위치됨이 없이 메시지가 기판으로부터 디코딩가능하도록 매트릭스에서의 물리적 표면에 공간적으로 구성됨 -, 및 컴퓨팅 디바이스에 의해, 매트릭스의 적어도 하나의 완전한 에지가 시각적으로 폐색되는 이미지로부터의 에러 정정 데이터에 적어도 부분적으로 기초하여 메시지를 디코딩하는 단계를 포함한다.
일부 예들에서, 시스템은 이미지 캡처 디바이스; 및 이미지 캡처 디바이스에 통신가능하게 커플링되는 컴퓨팅 디바이스를 포함하고, 컴퓨팅 디바이스는 하나 이상의 컴퓨터 프로세서들 및 메모리를 포함하고, 메모리는, 하나 이상의 컴퓨터 프로세서들에 의해 실행될 때, 하나 이상의 컴퓨터 프로세서들로 하여금, 물리적 표면을 포함하는 기판을 갖는 물품의 이미지를 수신하게 하고 - 복수의 광학 요소 세트들이 물리적 표면 상에 구현되고, 복수의 광학 요소 세트들의 각각의 광학 요소 세트는 복수의 광학 요소들을 포함하고, 각자의 광학 요소 각각은 인코딩된 값들의 세트 내의 인코딩된 값을 표현하고, 인코딩된 값들의 세트는 각자의 광학 요소들의 시각적 구별가능성에 기초하여 구별가능하고, 각자의 광학 요소 세트 각각은 복수의 광학 요소 세트들 중 하나 이상의 광학 요소 세트들이 시각적으로 폐색되는 경우에 메시지의 적어도 일부분 또는 메시지를 디코딩하기 위한 에러 정정 데이터를 표현하고, 메시지 및 에러 정정 데이터에 대한 광학 요소 세트들은, 시각적으로 폐색되는 매트릭스의 적어도 하나의 완전한 에지 내에 광학 요소들이 위치됨이 없이 메시지가 기판으로부터 디코딩가능하도록 매트릭스에서의 물리적 표면에 공간적으로 구성됨 -, 및 매트릭스의 적어도 하나의 완전한 에지가 시각적으로 폐색되는 이미지로부터의 에러 정정 데이터에 적어도 부분적으로 기초하여 메시지를 디코딩하게 하는 명령어들을 포함한다.
하나 이상의 예들의 상세사항들이 아래의 설명과 첨부 도면에 기재된다. 본 발명의 다른 특징, 목적 및 이점이 설명 및 도면으로부터, 그리고 청구범위로부터 명백할 것이다.
도 1a 내지 도 1d는 도로 표지판들을 갖는 폐색 시나리오들을 도시한다.
도 2a는 폐색을 위해 최적화된 행들 및 열들을 갖는 머신 판독가능 광학 코드이다.
도 2b는 폐색을 갖는 도 2a의 머신 판독가능 광학 코드이다.
도 3a는 머신 판독가능 광학 코드의 일례이다.
도 3b는 데이터 페이로드를 갖는 머신 판독가능 광학 코드의 일례이다.
도 3c는 우측으로부터 부분적으로 복구불가능한 폐색을 갖는 도 3a의 머신 판독가능 광학 코드의 일례이다.
도 3d는 우측으로부터 복구가능한 폐색을 갖는 도 3a의 머신 판독가능 광학 코드의 일례이다.
도 3e는 저부로부터 부분적으로 복구불가능한 폐색을 갖는 도 3a의 머신 판독가능 광학 코드의 일례이다.
도 3f는 저부로부터 복구가능한 폐색을 갖는 도 3a의 머신 판독가능 광학 코드의 일례이다.
도 4는 본 발명과 일치하는 예시적인 표지판 구성이다.
도 5는 다차원 머신 판독가능 광학 코드를 판독하기 위한 시스템의 일례이다.
도 6은 다차원 머신 판독가능 광학 코드를 판독하기 위한 시스템에서의 사용을 위한 컴퓨팅 디바이스의 일례이다.
도 7a는 네스트(nest)된 콘텐츠 광학 요소들을 갖는 머신 판독가능 광학 코드이다.
도 7b 및 도 7c는 네스트된 콘텐츠 광학 요소들을 갖는 머신 판독가능 광학 코드들의 섹션들을 도시한다.
도 8은 본 발명의 하나 이상의 기법들에 따른, 컴퓨팅 디바이스에 의해 수행되는 예시적인 동작들을 포함하는 흐름도를 도시한다.
도 9는 본 발명의 기법들에 따른, 재귀반사성 물품 및 예시적인 요(yaw), 피치, 및 롤 축들을 도시한다.
도 10은 본 발명의 기법들에 따른 광학 코드의 예시적인 구조를 도시한다.
도 11은 본 발명의 기법들에 따른 단일 해상도 광학 코드를 도시한다.
도 12는 본 발명의 기법들에 따른 다중 해상도 광학 코드를 도시한다.
도 13 및 도 14는 본 발명의 기법들에 따른 상이한 클로킹 패턴들을 도시한다.
도 15는 본 발명의 하나 이상의 기법들에 따른, 광학 코드 내에 포함될 수 있는 순환(repeating) 또는 반복(repetition) 비트들을 도시한다.
도 16은 본 발명의 기법들에 따른 기준 디코드 알고리즘을 도시한다.
도 17 및 도 18은 본 발명의 기법들에 따른, 물품들 상에 구현된 광학 코드들에 대한 모듈 클리어런스(clearance)들을 도시한다.
도 19는 본 발명의 기법들에 따른, 고정 패턴 정보를 갖는 광학 코드를 도시한다.
도 1a 내지 도 1d는 본 발명의 물품들 및 기법들에 따른, 도로 표지판들을 갖는 폐색 시나리오들을 도시한다. 도 1a 내지 도 1d에 도시된 시나리오들은 차량들의 운전자들에 의해 보편적으로 경험되는 시나리오들이다. 본 발명의 목적들 중 하나는, 표지판의 일부분이 폐색될 때에도, 교통 표지판으로부터 정확하게 검출되고 디코딩될 수 있는 머신 판독가능 광학 코드를 제공하는 것을 포함한다. 본 발명의 머신 판독가능 광학 코드들은 QR 코드들이 아니며, 본 개시내용으로부터 명백한 바와 같이 QR 코드들에 비해 하나 이상의 이점들을 제공할 수 있다. 도 1a는, 정지 표지판(110)이 언덕(114)의 산마루 뒤에 위치되어 표지판(110)의 전체 뷰가 도로(112) 상의 차량의 관점에서 언덕(114)에 의해 부분적으로 차단될 것임을 도시한다. 도 1b는, 전방 도로 작업 안내 표지판(road work ahead sign)(120)이 나무(122)에 의해 부분적으로 가려지거나 폐색될 수 있어서 도로(124) 상의 차량이 전체 표지판(120)을 볼 수 없을 것임을 도시한다. 도 1c는 속도 제한 표지판(130)이 곡선부(134)에 의해 부분적으로 가려져서 도로(132) 상의 차량이 전체 표지판(130)을 볼 수 없을 것임을 도시한다. 도 1d는 횡단보도 표지판(140)이 집(144)에 의해 부분적으로 가려져서 도로(142) 상의 차량이 전체 표지판(140)을 볼 수 없을 것임을 도시한다. 일부 예들에서, 표지판들(110, 120, 130, 140) 중 하나 이상은 본 발명의 기법들에 따라 그 위에 인코딩된 정보를 포함할 수 있다. 본 발명의 물품들, 시스템들 및 기법들이 교통 표지판들과 관련하여 기술되지만, 다른 물품들은 번호판, 의복, 또는 데칼(decal)을 포함할 수 있다.
도 2a는, 시각적 폐색에 탄성이어서, 도 1a 내지 도 1d에 기술된 시나리오들에서와 같이 코드(200)의 일부분이 가려진다 하더라도 코드(200) 내에 인코딩된 정보가 정확하게 판독되거나 디코딩될 수 있도록 구성된 행들 및 열들을 갖는 머신 판독가능 광학 코드(200)(또는 "코드(200)")를 도시한다. 본 명세서에 기술되는 바와 같이, 머신 판독가능 코드는 이진 또는 n-(n-ary) 정보를 나타낼 수 있고, 판독가능하지 않을 수 있고/있거나 인간에게 의미있는 정보를 포함할 수 있다. 예를 들어, n-항 정보는 베이스-n 문자 또는 숫자 시스템을 사용하여 표현될 수 있다. 코드(200)는 행들 및 열들을 포함하는 구성으로 배향된 정사각형들 또는 광학 요소들로 구성된 다차원 데이터 매트릭스이다. 일부 예들에서, 용어들 "광학 요소" 및 "모듈"은 상호교환가능하게 사용될 수 있다.
도 2a에 도시된 바와 같이, 코드(200)는, 일부 광학 요소들이 데이터의 비트를 표현하고 백색 또는 흑색 중 어느 하나이며, 이때 백색 및 흑색의 컬러들이 코드 내에 머신 판독가능 정보를 인코딩하기 위한 "0" 및 "1"에 각각 대응한다는 점에서 이진 코드를 표현할 수 있다. 전술한 예에서의 이진법과 같은 임의의 가능한 인코딩 스킴이 이용될 수 있다. 보다 일반적으로, 광학 요소는, 그의 시각적 외관(예컨대, 그래디언트 값)에 기초하여, 인코딩된 값들의 세트 내의 인코딩된 값을 표현할 수 있는데, 여기서 인코딩된 값들의 세트의 크기는 특정 광학 요소에 할당될 수 있는 다수의 상이한 가능한 그래디언트 값들에 대응한다. 알파벳 문자들, 숫자 문자들, 또는 임의의 다른 심볼들과 같은 인코딩된 값들의 임의의 수의 상이한 세트들이 사용될 수 있다. 도 2에 도시된 바와 같이, 인코딩된 값들은 각자의 광학 요소들의 시각적 구별가능성에 기초하여 구별가능하다. 예시를 위해, 도 2a에 도시된 정사각형들은 코드(100) 내의 상이한 인코딩된 값들을 n-항 인코딩된 값들로서 설명하기 위한 음영의 n-항 그래디언트들을 포함한다.
일부 예들에서, 인코딩된 값들의 세트는 N개의 인코딩된 값들을 포함한다. 광학 요소 세트는 M개의 광학 요소들을 포함할 수 있으며, 여기서 광학 요소 세트는 광학 요소 세트의 각자의 광학 요소들에 할당된 각자의 시각적 그래디언트 값들에 적어도 부분적으로 기초하여 인코딩된 값들의 NM개 조합들의 세트의 인코딩된 값들의 조합을 표현한다. 일부 예들에서, 각자의 그래디언트 값들은 각각 M개의 시각적으로 구별가능한 그래디언트 값들의 세트에 포함된다.
일부 예들에서, 각자의 광학 요소 세트(또는 "블록") 각각은 복수의 광학 요소 세트들 중 하나 이상의 광학 요소 세트들이 시각적으로 폐색되는 경우에 메시지의 적어도 일부분을 표현하거나, 또는 그 메시지를 디코딩하기 위한 에러 정정 데이터를 표현한다. 메시지가, 예를 들어 원시 메시지로부터 인코딩된 메시지로 인코딩될 때, 인코딩된 메시지는, 본 명세서에서 추가로 기술되는 바와 같이, 광학 요소들이 시각적으로 폐색된 매트릭스의 적어도 하나의 완전한 에지 내에 위치됨이 없이 원시 메시지가 기판으로부터 디코딩가능하도록 상이한 광학 요소 세트들로 분할될 수 있다. 도 2a의 광학 요소들이 정사각형들로 도시되어 있지만, 본 발명과 일치하는 광학 요소들은 임의의 형상의 것일 수 있다.
일부 예들에서, 코드(200)는 3개의 일반적인 타입의 광학 요소들 중 하나 이상을 포함할 수 있다: 파인더 광학 요소들, 컨텍스트 광학 요소들, 및 콘텐츠 광학 요소들. 도 2a의 파인더 광학 요소들은 행(D) 및 열(4)에 있는 광학 요소들(총 13개의 광학 요소들)이다. 구체적으로, 광학 요소들(A4, D1, D4, D7, G4)은 "0의 것들"이고, 파인더 광학 요소들의 나머지는 "1의 것들"이다. 파인더 광학 요소들은 머신 비전 시스템이 이미지 내의 2D 바코드를 인식하는 것, 또는 코드(200)의 외측 에지들을 포함하는 이미지 내에서 광학 코드의 위치를 확인(localize)하는 것을 가능하게 할 수 있다.
파인더 코드들 또는 광학 요소들은 머신 또는 머신 비전 시스템이 광학 코드가 공간적으로 시작되고 종료되는 곳을 판정하기 위해 이미지에 나타나는 다양한 라인들 및 다른 시각적 특징부들을 살펴보는 것을 가능하게 한다. 파인더 코드들 또는 광학 요소들은, 전형적으로, 제자리에 고정되고 충분히 시각적으로 특이하거나 복잡하므로, 이들은 보통은 사실상 발생하지 않을 것이다. 이러한 방식으로 파인더 코드들 또는 광학 요소들을 설계하는 것은 머신 비전이 그것이 디코딩해야 하는 2D 코드를 식별했다는 합리적인 확실성을 갖는 것을 허용한다. 더 복잡한 파인더 코드는 머신 비전 시스템이 2D 코드를 찾아서 디코딩할 가능성을 증가시킨다. 더 시각적으로 복잡한 파인더 코드들은 코드를 구현하는 데 필요한 더 많은 수의 파인더 광학 요소들을 요구할 수 있고, 더 작은 광학 요소 크기(광학 요소 폐색 및 오판독의 가능성을 증가시킬 수 있음), 및 데이터 또는 정보를 인코딩하기 위해 사용할 더 적은 수의 나머지 광학 요소들을 초래할 수 있다.
일부 구성예들에서, 파인더 광학 요소들은 머신 비전 시스템이 2D 바코드의 배향을 판정하는 것을 가능하게 한다. 그러나, 다른 응용예들에서, 2D 바코드의 배향은 컴퓨팅 디바이스가 2D 바코드의 이미지를 프로세싱하는 것에 의해(예컨대, 2D 바코드가 표지판 또는 고정 상태 물체 상에 있을 때) 추정될 수 있다. 이러한 응용예들에서, 더 적은 파인더 광학 요소들(및 정보의 비트들)이 요구되는데, 그 이유는 배향 정보가 인코딩될 컴퓨팅 디바이스에 의해 요구되지 않기 때문이다. 코드(200)에 도시된 바와 같은 파인더 광학 요소는 래스터 스캔(raster scan)을 통해 신속하게 식별될 수 있다. 하나의 경우에, 본 발명과 일치하는 광학 코드는 36개 미만의 파인더 광학 요소들을 포함한다. 다른 경우에, 본 발명과 일치하는 광학 코드는, 예를 들어 25, 23, 21, 19, 17, 15 또는 13개 미만의 파인더 광학 요소들을 포함한다.
아래의 표는 파인더 광학 요소들, 컨텍스트 광학 요소들, 콘텐츠 광학 요소들, 총 광학 요소들, 및 본 발명과 일치하는 다양한 크기의 광학 코드들 내에 인코딩될 수 있는 데이터의 비트들의 수를 보여준다. 이들은 코드 크기의 예들이지만, 본 발명과 일치하는 다양한 크기의 다른 코드들이 아래의 광학 요소 정보를 외삽하여 생성될 수 있다. 아래의 표에서, 파인더 광학 요소들의 수는 파인더 광학 요소들에 대한 교차된 중심 패턴에 기초한다. 사용되는 패턴에 따라 더 많은 또는 더 적은 파인더 광학 요소들이 있을 수 있다. 추가로, 열거된 콘텐츠 광학 요소들의 수는 콘텐츠 광학 요소들이 표준 또는 컨텍스트 광학 요소의 면적의 25%임을 가정한다. 코드는 원하는 응용예의 필요에 따라 더 많은 또는 더 적은 컨텍스트 또는 콘텐츠 광학 요소들을 갖도록 설계될 수 있다. 인코딩된 데이터 비트들의 수는 콘텐츠 광학 요소들과 컨텍스트 광학 요소들 사이의 가변성을 보상하며, 각각의 표준 비트 크기가 (파인더 광학 요소들을 제외하고서) 1 비트의 데이터를 인코딩함을 가정한다.
[표 1]
Figure 112019042817747-pct00001
파인더 광학 요소들은 광학 코드(200)에서 다양한 방식으로 배열될 수 있다. 파인더 광학 요소들이 코드(200) 내에 중심 교차된 패턴으로 배열되지만, 파인더 광학 요소들에 대한 다른 배치들 또는 구성들은 각각의 코너에 3개의 백색 광학 요소들을 배치하는 것을 포함한다. 이들의 추가 변형은 인접 코너 광학 요소들 사이의 하나 이상의 에지들을 따라 교번하는 클로킹 픽셀들(백색, 흑색)을 포함한다. 본 발명과 일치하는 코드 내의 파인더 광학 요소들에 대한 다른 위치들은 본 명세서를 읽을 시에 당업자에게 명백할 것이다.
컨텍스트 광학 요소들은 코드(200)가 구현되는 물품 또는 물체, 또는 물품 또는 물체의 위치 또는 환경과 관련된 머신 판독가능 데이터 또는 정보를 인코딩하는 비트들 또는 요소들을 표현할 수 있다. 하나의 경우에, 컨텍스트 광학 요소들은 파인더 광학 요소들과 동일한 크기이고, 제1 거리로부터 머신 비전 시스템에 의해 검출가능하며, 이와 동일한 거리에서 파인더 광학 요소들이 검출가능하다. 그러한 거리는 2D 코드의 크기, 2D 코드 내의 광학 요소들의 수, 각각의 광학 요소의 크기, 및 2D 코드를 검출하는 머신 비전 시스템의 해상도에 의존적이다. 컨텍스트 광학 요소들에서 인코딩된 데이터의 예들은 하기를 포함한다: 물품 또는 물체의 위치, 물품 또는 물체에 관련된 제조 정보, 코드가 있는 교통 표지판의 분류, 특정 영역에 적용가능한 법률 또는 다른 운전 제약들, 시간, 날짜, 또는 기상 조건들, 표지판이 적용되는 차선들. 다른 타입의 정보는 본 명세서를 읽을 시에 당업자에게 자명할 것이다. 도 2a에서, 광학 요소들(A2, A3, B2, B3, B5, B6, B7, C2, C3, C5, C6, C7, E1, E2, E3, E5, E6, F1, F2, F3, F5, F6, G5, G6)은 모두 컨텍스트 광학 요소들이다. 이러한 광학 요소들 중에서, 단지 예시를 위해, 광학 요소들(A2, B2, B5, B6, B7, C2, E6, F1, F2, F3, F6, G6)은 "1의 것들"에 대응하고 컨텍스트 광학 요소들의 나머지는 "0의 것들"인데, 그 이유는 1의 것들에 대한 그래디언트 컬러 또는 음영 사이의 맵핑이 광학 요소들(A2, B2, B5, B6, B7, C2, E6, F1, F2, F3, F6, G6)에 대한 그래디언트 컬러 또는 음영에 대응하기 때문이다.
다양한 코딩 기법들이 정보를 코드(200) 내에 인코딩하는 데 이용될 수 있다. 하나의 그러한 예시적인 기법은 Reed-Solomon 코드이며, 이는 당업자에 의해 이해될 것이고, http://downloads.bbc.co.uk/rd/pubs/whp/whp-pdf-files/WHP031.pdf에서 입수가능하고 본 명세서에 참고로 포함되는 문헌["Reed-Solomon Error Correction by C.K.P. Clarke, R&D White Paper WHP031, July 2002]에서 설명되는 바와 같다. 본 발명과 일치하여 사용될 수 있는 다른 타입의 에러 정정 코드들은 Golay 코드, 저밀도 패리티 체크 코드, 및 Turbo 코드를 포함한다. 다른 타입의 코드가 당업자에게 자명할 것이다. 코드(200)에서, 베이스-3 확장된 Reed-Solomon 코드를 사용하여, 컨텍스트 광학 요소들은 24개의 총 컨텍스트 광학 요소들 내에 12 비트들의 정보를 임베드할 수 있다. 최대 2개의 광학 요소들이 폐색 또는 손실될 수 있고, 컨텍스트 광학 요소들에서 인코딩된 데이터는 여전히 복구가능하다. 본 명세서에 기술된 코드(200)에 대한 인코딩을 사용하면, 컨텍스트 광학 요소들이 표지판의 타입을 표현하는 경우, 최대 4096개의 고유 표지판들이 분류될 수 있다.
코드(200)는, 또한, 36개의 콘텐츠 광학 요소들을 포함하고, 각각의 콘텐츠 광학 요소들 중 4개의 콘텐츠 광학 요소들이 더 큰 광학 요소들(A1, B1, C1, E7, F7, G1, G2, G3, G7)에 있다. 일부 예들에서, 콘텐츠 광학 요소들은 머신 비전 시스템에 의해 제2 거리로부터 검출가능하며(그러나 제1 거리에서는 머신 비전 시스템에 의해 검출가능하지 않음), 제2 거리는 제1 거리보다 작다. 예를 들어, 콘텐츠 광학 요소들의 크기로 인해, 그러한 콘텐츠 광학 요소들은 임계 거리보다 큰 이미지 캡처 디바이스와 코드 사이의 거리들에서 개별적으로 디코딩가능하지 않을 수도 있다. 콘텐츠 광학 요소들은 코드(200)가 구현되는 물품 또는 물체, 또는 물품 또는 물체의 위치 및 환경과 관련된 머신 판독가능 데이터 또는 정보를 인코딩하는 비트들 또는 요소들을 표현할 수 있다. 콘텐츠 광학 요소들은 컨텍스트 광학 요소들에서 인코딩된 정보를 확장하는 데 사용될 수 있다. 예를 들어, 컨텍스트 광학 요소가 물품이 속도 제한 표지판임을 나타내는 경우, 콘텐츠 광학 요소들은 표지판이 위치된 구역에서 속도 한도가 시간당 55 마일임을 나타내는 데 사용될 수 있다. 콘텐츠 광학 요소들이 머신 비전 시스템에 의해 판독될 수 있는 거리는 코드(200)의 크기, 코드(200) 내의 광학 요소들의 수, 각각의 광학 요소의 크기, 및 머신 비전 시스템의 해상도에 의존적일 수 있다.
A1, B1, C1, E7, F7, G1, G2, G3 및 G7 내의 콘텐츠 광학 요소들은 속도 한도, 교육용 정보, GPS 좌표들, 또는 자산 번호와 같은, 표지판에 특정적인 정보를 포함한 다양한 타입의 정보를 인코딩할 수 있다. 콘텐츠 광학 요소들은, 또한, 컨텍스트 광학 요소들에 대한 추가 에러 정정으로서 동작하는 데 사용될 수 있다.
데이터는 다양한 방식들로 또는 다양한 알고리즘들을 사용하여 콘텐츠 광학 요소들에서 인코딩될 수 있다. 하나의 그러한 알고리즘은 베이스-6 Reed-Solomon 코드인데, 이는 12 비트들의 데이터가 콘텐츠 광학 요소들에서 인코딩되는 것을 허용한다. 콘텐츠 코드들이 일반적으로 컨텍스트 코드들보다 더 작기 때문에, 콘텐츠 광학 요소가 오판독되거나 머신 비전 시스템의 시야(field of vision)로부터 폐색될 가능성은 다른 더 큰 크기의 광학 요소들보다 더 높을 수 있다. 베이스-6 Reed-Solomon 인코딩 스킴을 이용하는 것은, 컨텍스트 광학 요소들에 대한 베이스-3 Reed-Solomon 코드와 비교하여 추가 리던던시 또는 에러 체킹을 제공할 수 있다. 최대 12개의 인접 콘텐츠 광학 요소들이 이러한 특정 구성에서 폐색될 수 있고, 콘텐츠 광학 요소들로부터의 데이터가 정확하게 판독될 수 있다.
광학 요소들(A5, A6, A7)은 설치 시에 표지판에 맞춤 데이터를 추가하는 데 사용될 수 있다. 하나의 경우에, 이들은 모두 백색으로 보일 수 있고, 표지판이 적용되는 차선과 같은 정보는 원하는 광학 요소들 위에 IR 차단 재료를 추가함으로써 설치자에 의해 표시될 수 있다.
코드(200)가 파인더 광학 요소들의 크기에 의해 결정되는 바와 같이 7×7 매트릭스로서 도시되어 있지만, 다른 코드들이 본 발명의 범주 내에 있다. 예를 들어, 코드는 8×8, 9×9, 10×10, 11×11, 12×12, 13×13, N×N, 또는 N×M일 수 있다. 일부 구성예들에서, 본 발명과 일치하는 코드는 정사각형 매트릭스가 아닐 수도 있다. 광학 코드는 원형, 삼각형, 다각형, 직사각형, 또는 임의의 원하는 불규칙적인 형상일 수 있다. 그러한 광학 코드의 크기는, 단일 광학 요소의 표준 크기를 결정하기 위해 파인더 광학 요소의 크기를 사용하여 표준 광학 요소들의 총 수를 계산함으로써 결정될 수 있다.
도 2b는 트럭(210) 형태의 폐색을 갖는 도 2a의 머신 판독가능 광학 코드이다. 임의의 폐색은 광이 소스로부터 관찰자(인간 또는 비인간(예컨대, 이미지 캡처 디바이스) 중 어느 하나)로 지나는 것을 방지하는 임의의 장애물일 수 있다. 위에서 논의된 바와 같이, 컨텍스트 광학 요소들은 Reed-Solomon 알고리즘을 이용할 때 12 비트들의 정보를 인코딩한다. 데이터는 컨텍스트 광학 요소들이 4개의 6-비트 블록들(또는 "광학 요소 세트들")로 그룹화되도록 컨텍스트 광학 요소들에서 인코딩된다. 구체적으로, 컨텍스트 광학 요소들은 다음과 같이 그룹화된다:
컨텍스트 광학 요소 블록 1: A2, A3, B2, B3, C2, C3
컨텍스트 광학 요소 블록 2: B5, B6, B7, C5, C6, C7
컨텍스트 광학 요소 블록 3: E1, E2, E3, F1, F2, F3
컨텍스트 광학 요소 블록 4: E5, E6, F5, F6, G5, G6
컨텍스트 광학 요소 블록들 중 2개는 데이터를 인코딩하기 위해(또는 데이터 페이로드로서) 사용되고, 2개의 블록들은 에러 정정을 위해 사용된다. 도시된 코드에서, 상부 행, 저부 행, 좌측 열 또는 우측 열 중 어느 하나가 폐색되는 경우, 머신 비전 시스템은 여전히 콘텐츠 광학 요소들의 적어도 2개의 완전한 블록들을 검출하여, 데이터 페이로드(예컨대, 인코딩된 메시지 또는 인코딩된 메시지를 표현하는 인코딩된 값들)에 전용되는 적어도 하나의 완전한 컨텍스트 광학 요소 블록 및 에러 정정에 전용되는 적어도 하나의 완전한 컨텍스트 광학 요소 블록을 남길 수 있다. 이 경우에, 전체 행 또는 열이 폐색되었다 하더라도, 이어서, 컨텍스트 광학 요소들에서 인코딩된 데이터는 완전히 복구가능하다.
도 2b에 도시된 바와 같이, 트럭(210)은 컨텍스트 광학 요소들(B7, C7)을 포함하는 열 7의 대부분을 폐색한다. 전술된 바와 같이, 컨텍스트 광학 요소들(B7, C7)이 폐색된다 하더라도, 컨텍스트 광학 요소 데이터 페이로드는 완전히 복구가능한데, 그 이유는 컨텍스트 광학 요소 블록들(1, 3, 4)이 폐색되지 않기 때문이며, 폐색되지 않은 블록들은 인코딩된 데이터, 및 데이터 페이로드를 재구성하기 위한 대응하는 에러 정정 데이터를 포함한다.
도 2b는 정사각형 내의 콘텐츠 광학 요소들을 포함한다: A1, B1, C1, E7, F7, G1, G2, G3 및 G7. "정사각형"으로 지칭되는 부모(parent) 광학 요소는, 일부 예들에서, 하나 이상의 자식(child) 광학 요소들을 포함할 수 있다. 예를 들어, 부모 광학 요소는 도 1에 도시된 바와 같은 4개의 자식 광학 요소들을 포함할 수 있다. 콘텐츠 광학 요소들은 6개의 6-비트 블록들로 그룹화되는데, 여기서 블록들 중 2개가 데이터 페이로드를 위해 사용되고 블록들 중 4개가 에러 정정을 위해 사용된다.
Reed-Solomon 에러 정정을 사용하면, 손상된 판독으로 인해 복구될 수 있는 블록들의 수는 에러 정정 블록들의 총 수를 2로 나눈 것과 동일하다. 본 발명의 일부 예들에서, 블록들은, 코드의 전체 에지가 폐색되는 경우, 그것이 최소 개수의 블록들을 폐색하는 결과를 초래하여 더 큰 복구를 허용하도록 배열된다. 따라서, 코드(200)에서, 2개의 에러 정정 컨텍스트 블록들이 있기 때문에, 최대 하나의 손상된 컨텍스트 블록이 복구될 수 있다. 좌측 열 또는 하부 행 중 어느 하나가 완전히 폐색된다 하더라도, 머신 비전 시스템은 여전히 완전한 데이터 페이로드 블록 및 완전한 에러 정정 블록을 판독할 수 있어서, 콘텐츠 광학 요소들에서 인코딩된 데이터의 완전한 복구를 초래한다. 일부 예들에서, 메시지 및 에러 정정 데이터를 위한 광학 요소 세트들은, 시각적으로 폐색되는 매트릭스의 적어도 하나의 완전한 에지 내에 광학 요소들이 위치됨이 없이 메시지가 기판으로부터 디코딩가능하도록 매트릭스에서의 물리적 표면에 공간적으로 구성된다.
일부 예들에서, 적어도 하나의 완전한 에지의 50% 초과가 폐색된다. 일부 예들에서, 적어도 하나의 완전한 에지의 75% 초과가 폐색된다. 일부 예들에서, 적어도 하나의 에지에서의 폐색의 양은 폐색된 50 내지 100% 범위 내에 있다. 일부 예들에서, 적어도 하나의 에지는 완전히 폐색된다. 일부 예들에서, 적어도 하나의 에지에 인접한 추가 에지가 폐색된다. 일부 예들에서, 다수의 인접 에지들이 폐색된다. 일부 예들에서, 하나 이상의 다수의 인접 에지들 각각은 50% 초과, 75% 초과로 폐색되거나, 50 내지 100% 범위 내의 폐색량을 포함했다.
일부 예들에서, 적어도 하나의 완전한 에지는 적어도 매트릭스의 수평 또는 수직 차원의 최저 차수 인덱스로부터 최고 차수 인덱스까지의 1차원 어레이를 포함한다. 예를 들어, 도 2a의 에지는 행(A)의 모든 요소들, 행(G)의 모든 요소들, 열(1)의 모든 요소들, 또는 열(7)의 모든 요소들일 수 있다.
도 3a는 머신 판독가능 광학 코드(300)의 일례이다. 광학 코드(300)는 광학 코드(300)의 코너들에 위치된 12개의 파인더 광학 요소들을 포함한다: A1, A2, A6, A7, B1, B7, F1, F7, G1, G2, G6 및 G7. 파인더 광학 요소들의 그룹들 또는 블록들이 도 3a에서 "F"로 표시되어 있다. 컨텍스트 광학 요소들은 일반적으로 광학 코드(300)의 중심 근처에 위치되고, 컨텍스트 광학 요소들의 블록들은 1 내지 5로 번호매김된다. 컨텍스트 광학 요소 블록들은 하기의 광학 요소들을 포함한다:
컨텍스트 블록 1: A4, B4, C4, D4, E4;
컨텍스트 블록 2: B5, B6, C5, C6, D5;
컨텍스트 블록 3: B2, B3, C2, C3, D2;
컨텍스트 블록 4: D3, E3, E4, F3, F4; 및
컨텍스트 블록 5: D6, E5, E6, F5, F6.
컨텍스트 블록들은, 컨텍스트 블록 1이 데이터 페이로드 블록이고 컨텍스트 블록들 2 내지 5가 각각 Reed-Solomon 에러 정정에 전용되도록 사용된다. 이는 최대 2개의 부정확하게 판독된 컨텍스트 블록들의 정정을 허용한다. 콘텐츠 블록 1이 5개의 광학 요소들 또는 비트들을 갖기 때문에, 그것은 최대 25(또는 32)개의 값들 또는 차량의 클래스들(또는 임의의 원하는 분류 세트)을 표현할 수 있다. 다시 말해, 좌측 또는 우측으로부터의 최대 3개의 열들(1, 2, 3, 또는 5, 6, 7)이 완전히 폐색될 수 있거나, 또는 하부 상의 최대 2개의 행들(F, G)이 완전히 폐색될 수 있고, 컨텍스트 데이터가 여전히 정확하게 디코딩될 수 있다. 폐색된 데이터를 디코딩 및 복구하는 것과 연관된 확실성은 사용되는 특정 타입의 인코딩 알고리즘에 기초한다.
도 3a는 콘텐츠 광학 요소들의 8개의 블록들을 포함하며, 이때 각각의 블록은 6개의 광학 요소들을 포함한다. 콘텐츠 광학 요소 블록들은 도 3a에서 D1 내지 D8로 표시된다. 예시적인 광학 요소 블록(302)은 콘텐츠 광학 요소 블록 D1을 표현한다. 예시적인 광학 요소 블록(304)은 컨텍스트 광학 요소 블록 1을 표현한다. 도 3a에 도시된 바와 같이, 콘텐츠 광학 요소 블록들(D7, D8)은 광학 코드(300)의 하나 초과의 인접 구역에 걸쳐서 분포된다. 각각의 콘텐츠 광학 요소 블록 내의 광학 요소들은 다음과 같다:
콘텐츠 블록 D1: C1, 및 D1의 상측 반부
콘텐츠 블록 D2: D1의 하측 반부 및 E1
콘텐츠 블록 D3: C7, 및 D7의 상측 반부
콘텐츠 블록 D4: D7의 하측 반부 및 E7
콘텐츠 블록 D5: G3, 및 G4의 좌측 반부
콘텐츠 블록 D6: G4의 우측 반부 및 G5
콘텐츠 블록 D7: A3의 상측 반부 및 F4; 및
콘텐츠 블록 D8: A3의 하측 반부 및 A5.
8개의 콘텐츠 블록들 중에서, 4개의 콘텐츠 블록들(D1 내지 D4)이 데이터 페이로드를 위해 사용되고 4개의 콘텐츠 블록들(D5 내지 D8)이 Reed-Solomon 에러 정정을 위해 사용되므로, 본 발명의 머신 비전 시스템은 코드(300)를 판독할 때 최대 2개의 콘텐츠 블록 에러들을 정정할 수 있다. 4개의 콘텐츠 블록들이 데이터 페이로드를 위해 사용되면, 콘텐츠 블록들은 최대 224(또는 16,777,216)개의 고유 코드들을 인코딩할 수 있다.
도 3a는 표준 광학 요소 크기를 결정하는 데 파인더 광학 요소들의 크기를 사용하는, 7×7 광학 요소 크기의 광학 코드에 대한 구성을 도시한다. 광학 코드(300)는, 12개의 파인더 광학 요소들만을 요구하지만, 본 명세서에서 논의되는 바와 같이 상당한 폐색을 견디면서 컨텍스트 광학 요소들에서의 32개의 고유 값들 및 컨텍스트 광학 요소들에서의 16,777,216개의 고유 값들을 인코딩할 수 있다.
도 3b는 데이터 페이로드를 갖는 머신 판독가능 광학 코드의 일례이다. 도 3b는 도 3a에 도시된 바와 같은 파인더 광학 요소, 콘텐츠 광학 요소 및 컨텍스트 광학 요소의 동일한 배열을 갖지만, 도 3b는 (콘텐츠 광학 요소들을 제외한) 각각의 광학 요소의 수치 표현 또는 비트 상태를 추가로 도시한다. 예를 들어, 12개의 파인더 광학 요소들(A1, A2, A6, A7, B1, B7, F1, F7, G1, G2, G6 및 G7) 모두는 "1"의 비트 상태를 갖는다(그리고 그에 따라서 도 3b에서 백색으로 도시됨). 도 3b의 광학 코드는 반사성 시팅(sheeting)의 층을 갖는 팔각형 정지 표지판 상에 배치되도록 설계된다. 광학 코드는, 코드의 이미지가 캡처될 때 파인더 광학 요소들이 코드 주위에 흑색 배경을 갖는 선명한 콘트라스트를 생성하도록, 비트들이 "0"이거나 흑색인 영역들에서 그리고 광학 코드의 경계 주위에서 정지 표지판의 재귀반사성 기판 위에 다른 흑화 재료 또는 물질을 놓거나 흑색 적외선 잉크를 프린팅함으로써 형성될 수 있다.
도 3b의 광학 코드가 정지 표지판에 적용되도록 설계되기 때문에, 컨텍스트 광학 요소들은 정지 표지판에 대한 분류 정보를 제공하도록 기록된다. 예시를 위해, 예시적인 분류 시스템에서, 정지 표지판은 "클래스 28" 표지판이며, 이는 컨텍스트 블록 1의 비트들이 숫자 "28"(또는 이진법의 "11100")을 판독하도록 설정됨을 표시하기 위한 것이다. 따라서, 컨텍스트 광학 요소 블록 1 내의 비트들은 다음과 같다:
광학 요소 1.0: 비트 0,
광학 요소 1.1: 비트 0,
광학 요소 1.2: 비트 1,
광학 요소 1.3: 비트 1, 및
광학 요소 1.4: 비트 1.
컨텍스트 블록들 2 내지 5의 나머지는 Reed-Solomon 에러 정정 데이터로 인코딩된다. 에러 정정 데이터는 인코딩된 메시지 내에 인코딩되는 원시 메시지에 대한 에러 정정 함수의 적용에 기초한다. Reed-Solomon 에러 정정 및 알고리즘들이 예시를 위해 이용되지만, 다른 알고리즘들 및 에러 정정 기법들이 본 명세서를 읽을 시에 당업자에게 명백할 것이다.
도 3c는 우측으로부터의 폐색(트럭(310))을 갖는 도 3a의 머신 판독가능 광학 코드(300)의 일례이다. 도시된 예에서, 상부 우측 및 하부 우측의 파인더 광학 요소 블록들, 컨텍스트 광학 요소 블록들(2, 5), 및 콘텐츠 광학 요소 블록들(D3, D4, D6, D8)을 포함하는, 코드(300)의 큰 부분이 폐색된다. 이 예에서, 어떠한 콘텐츠 정보도 판독가능한 것으로 간주되지 않는데, 그 이유는 폐색되는 콘텐츠 광학 요소들의 수가, 콘텐츠 광학 요소들에서 인코딩되는 정보의 재구성이 더 이상 가능하지 않게 되기 전에 폐색될 수 있는 콘텐츠 광학 요소들의 수를 초과하기 때문이다. 그러나, 컨텍스트 광학 요소들은 컨텍스트 광학 요소들 중 2개의 컨텍스트 광학 요소들(2, 5)만이 폐색되기 때문에 디코딩될 수 있다.
도 3d는 우측으로부터 트럭(310)의 형태의 폐색을 갖는 도 3a의 머신 판독가능 광학 코드(300)의 일례이다. 도시된 예에서, 컨텍스트 광학 요소 블록들(2, 5), 상부 및 하부 우측의 파인더 광학 요소 블록들, 및 콘텐츠 광학 요소 블록들(D3, D4) 모두를 포함하는, 코드(300)의 일부분이 폐색되었다. 2개의 컨텍스트 광학 요소 블록들(2, 5) 및 단지 2개의 콘텐츠 광학 요소 블록들(D3, D4)만이 폐색되었기 때문에, 컨텍스트 데이터(5 비트) 및 콘텐츠 데이터(24 비트) 양측 모두가 디코딩될 수 있다.
도 3e는 광학 코드(300)의 하부에 트럭(310)의 형태의 폐색을 갖는 도 3a의 머신 판독가능 광학 코드(300)의 일례이다. 도시된 예에서, 코드(300)의 하부의 일부분이 폐색된다. 양측 하부 코너들 모두에서의 파인더 광학 요소들이 폐색되고, 컨텍스트 광학 요소 블록들(4, 5)이 폐색되고, 콘텐츠 광학 요소 블록들(D5, D6, D7)이 폐색된다. 컨텍스트 데이터는 복구가능하여, 5개의 컨텍스트 비트들의 신뢰성있는 디코딩을 허용한다. 그러나, 코드(300)가 에러 정정에 전용되는 4개의 콘텐츠 광학 요소 블록들만을 포함하기 때문에 콘텐츠 데이터가 손상되는데, 이는 단지 2개의 콘텐츠 광학 요소 블록들만이 손상된 판독의 이벤트에서 복구될 수 있음을 의미한다. 2개 초과의 콘텐츠 광학 요소 블록들이 손상되었기 때문에, 콘텐츠 데이터 중 어느 것도 신뢰성있게 디코딩될 수 없다.
도 3f는 광학 코드(200)의 하부에 트럭(310)의 형태의 폐색을 갖는 도 3a의 머신 판독가능 광학 코드의 일례이다. 이 예에서, 양측 하부 코너들 모두에서의 파인더 광학 요소 블록들이 폐색된다. 어떠한 컨텍스트 광학 요소들도 폐색되지 않는다. 그리고 콘텐츠 광학 요소 블록들(D5, D6)이 폐색된다. 어떠한 컨텍스트 광학 요소 블록들도 폐색되지 않기 때문에, 콘텐츠 데이터는 신뢰성있게 판독될 수 있거나 또는 달리 디코딩될 수 있다. 2개의 콘텐츠 광학 요소 블록들만이 폐색되기 때문에, 콘텐츠 광학 요소 데이터는 에러 정정을 통해 복구될 수 있고, 모든 24-비트들의 콘텐츠 데이터가 또한 신뢰성있게 판독 또는 디코딩될 수 있다.
3a 내지 3f의 이미지들이 다양한 폐색 시나리오들을 보여주고, 그러한 시나리오들에서의 폐색된 데이터의 복구가능성을 설명하지만, 데이터를 복구하는 것에 대한 한계는 Reed-Solomon 인코딩 기법들에 기초하여 예시적인 것이다. 다른 인코딩 기법들 또는 알고리즘들은 데이터의 복구가능성에 대해 다른 결과들을 야기할 수 있다.
도 4는 본 발명과 일치하는 예시적인 표지판 구성(400)을 도시한다. 본 발명과 일치하는 광학 코드는 이동성이든 고정 상태이든 임의의 물품에 적용될 수 있지만, 도 4는 재귀반사성 시팅이 그 상에 구현된 표지판에 광학 코드가 적용되는 일 실시예를 도시한다. 도 4는 본 명세서에 기술된 바와 같은 다수의 층들, 재귀반사성 시팅 및 광학 코드를 갖는 그러한 표지판의 단면을 도시한다. 층(410)은 기판일 수 있다. 전형적으로, 기판(410)은 금속과 같은 강성 또는 비가요성의 내구성있는 재료이다. 하나의 그러한 적합한 금속이 알루미늄이다. 다른 실시예들에서, 기판(410)은 임의의 강성, 반강성, 또는 가요성의 물리적 표면이거나 이를 포함할 수 있다.
재귀반사성 시트(420)는 본 발명에서 기술된 바와 같은 재귀반사성 시트일 수 있다. 접착제의 층(도시되지 않음)이 재귀반사성 시트(420)와 기판(410) 사이에 배치되어 재귀반사성 시트(420)를 기판(410)에 접착시킬 수 있다. 본 발명과 일치하여 사용될 수 있는 재귀반사성 시팅의 일례는 미국 미네소타주 세인트 폴 소재의 3M Company로부터 입수가능한 3M Diamond Grade™ DG3 반사성 시팅 시리즈 4000이다.
층(430)은, 전형적으로 층(420) 상에 프린팅된 메시지 또는 이미지를 포함한다. 층(430)은 도 1a 내지 도 1d에 도시된 정지 표지판과 같은 교통 표지판 이미지일 수 있다. 층(430)은 가시광 스펙트럼 내의 임의의 메시지 또는 이미지, 또는 층(440) 내의 광학 코드 이외의 파장에서 가시적인 메시지 또는 이미지를 포함할 수 있다. 단일 표지판, 번호판, 또는 다른 기판에 상이한 파장들에서의 가시적인 정보 또는 이미지들을 포함하는 예들이 미국 특허 제8,865,293호에 더 상세하게 기재되어 있으며, 이는 그 전체가 본 명세서에 참고로 명확히 포함된다.
층(440)은 도 2a 내지 도 3f에 도시된 광학 코드들과 같은, 본 발명과 일치하는 광학 코드를 포함한다. 층(440) 내의 광학 코드는 다양한 방식들로 형성될 수 있다. 예를 들어, 광학 코드(440)가 가시광 스펙트럼에서 가시적이도록 설계되는 경우, 그것은 밝은(또는 백색) 기판 상에 어두운 컬러(예컨대, 흑색)로 프린팅될 수 있다. 층(440) 내의 광학 코드가 IR 스펙트럼(전형적으로 700 내지 1000 nm의 범위 내에 있지만, 일부 경우에, 850 nm 또는 900 nm와 같은 파장이 사용될 수 있음)에서 가시적이도록 설계되는 경우, 층(440) 내의 광학 코드는 다양한 방식들로 생성될 수 있다. 구체적으로, 층(440) 아래의 재귀반사성 층(420)에 의해, 적외선 스펙트럼에서 재귀반사를 흡수하거나 산란시키거나 또는 달리 억제하는 재료 또는 물질로 커버되지 않는 층(420)의 임의의 부분은 백색으로 또는 밝게 보일 것이다. 따라서, 적외선 스펙트럼에서 재귀반사를 흡수하거나 산란시키거나 또는 달리 없애는 재료를 적용하는 것은 층(440)에서 광학 코드 주위에 경계 및 흑색 광학 요소들을 생성하는 데 이용될 수 있다.
사용될 수 있는 재료들의 예들은 IR-흡수 흑색 잉크를 사용하여 흑색이 되거나 어두워지도록 요구되는 표지판의 프린팅 부분들을 포함한다. 다른 경우에, 백색이 되도록 요구되는 표지판의 임의의 부분들이 제거되도록 IR 흡수 다층 광학 필름(multi-layer optical film, MOF)이 선택적으로 절단될 수 있고, 그 필름은 층(430) 상에 오버레이된다. 적외선 스펙트럼에서 볼 때, 필름은 백색이 되도록 의도된 광학 코드의 영역들에서만 재귀반사를 허용할 것이다. 적외선(IR) 스펙트럼이 본 명세서에서 논의되지만, 근적외선 스펙트럼(대략 950 nm의 파장들을 갖는 광)과 같은 다른 스펙트럼들이 사용될 수 있다. 층(440) 내의 광학 코드가 950 nm 광 흡수 필름을 생성할 때, 950 nm에서의 광이 광학 코드를 조명할 때, 흑색 프린팅된 섹션들은 광을 흡수하여 머신 비전 시스템에 대해 흑색으로 보일 것이고, 프린팅되지 않은 섹션들은 밝게 또는 백색으로 보일 것이다.
표지판(400)은, 선택적으로, 층(440) 위에 형성되거나 접착되는 오버라미네이트(overlaminate)(440)를 포함할 수 있다. 오버라미네이트(450)는 다층 광학 필름과 같은, 그러나 이로 제한되지 않는, 가시적으로 투명한 적외선 투명 재료로 구성될 수 있다.
표지판(400)의 구성에서의 재귀반사성 층의 사용은 여러 개의 이점들을 제공할 수 있다. 예를 들어, 정보가 주로 적외선 스펙트럼에서 캡처되고, 이미지 내의 유일한 가시적 영역들이 재귀반사성 시팅(420)으로부터 반사된 광에 의해 생성되는 밝은 또는 백색의 광학 요소들일 때, 카메라로 반환되는 조명 조건들은 이미지 캡처 디바이스 및/또는 컴퓨팅 디바이스가 이미지에서 IR 재귀반사성이 아닌 임의의 물체들을 식별하기 위한 어려움을 생성할 수 있다. 이는 표지판 또는 광학 코드 주위의 배경, 및 개인의 얼굴, 이미지, 또는 다른 식별 정보와 같은 다른 개인 정보를 포함한다.
또한, 광학 코드의 백색 또는 밝은 부분들을 생성하는 층(440)으로부터의 재귀반사된 광은, 광학 코드와 주변 이미지 사이의 자연적인 경계 또는 전이를 포함하는, 이미지 내의 흑색 영역들 사이에 극명한 콘트라스트를 갖는 이미지를 생성할 수 있다. 일부 기존의 QR 코드들에서, 흑색 광학 요소들은 QR 코드가 시작되고 끝나는 머신 비전 시스템에 대해 서술하기 위해 코드의 경계의 전체 또는 일부 주위에 필요할 수 있다. 대조적으로, 표지판(400) 상의 광학 코드를 둘러싸는 영역이 IR 스펙트럼에서 흑색으로 보일 것이기 때문에, 어떠한 추가 경계 광학 요소들도 요구되지 않아서, 더 큰 인코딩 효율을 허용한다.
도 5는 다차원 머신 판독가능 광학 코드를 판독하기 위한 시스템의 일례이다. 시스템(500)은 표지판(520)을 포함한다. 표지판 앞면(522)은 가시광 스펙트럼에서 보일 수 있는 이미지, 정지 이미지(522), 및 가시광 스펙트럼 밖의 가시광 스펙트럼에서 보일 수 있는 머신 판독가능 광학 코드(530)를 포함한다. 표지판(500)은 기판을 가지며, 또한, 광학 코드(530) 뒤에 재귀반사성 시팅의 층을 포함할 수 있다.
광학 코드(530)는, 소정 패턴으로 배열되고 제1 거리로부터 차량(510) 상에 장착된 머신 비전 시스템(512)에 의해 검출가능한 복수의 파인더 광학 요소들을 포함한다. 광학 코드(530)는, 또한, 컨텍스트 정보를 표현하는 복수의 컨텍스트 광학 요소들을 포함하며, 여기서 컨텍스트 광학 요소들은 머신 비전 시스템에 의해 제1 거리로부터 검출가능하다. 광학 코드(530)는, 또한, 콘텐츠 정보를 나타내는 복수의 콘텐츠 광학 요소들을 포함하며, 여기서 콘텐츠 광학 요소들은 머신 비전 시스템에 의해 제1 거리에서 검출가능한 것이 아니라, 머신 비전 시스템에 의해 제2 거리로부터 검출가능하고, 제2 거리는 제1 거리보다 작다.
차량(510)이 표지판(520)에 접근함에 따라, 머신 비전 시스템(512)은 머신 판독가능 광학 코드를 검출하고 프로세싱한다. 도 5에서 머신 비전 시스템(512)이 이동성으로 도시되고 차량(510)에 장착되지만, 머신 비전 시스템은 고정 상태일 수 있거나 또는 다른 장비 또는 디바이스들에 장착될 수 있다. 머신 비전 시스템(512)은 이미지 센서 및 광원을 포함하는 적외선 카메라일 수 있다. 일부 경우에, 머신 비전 시스템은 IR 스펙트럼에 대한 이미지 센서의 감도를 증가시키기 위한 필터를 포함할 것이다. 다른 타입의 머신 비전 시스템들이 본 명세서를 읽을 시에 당업자에게 자명할 것이다.
머신 비전 시스템(512)은 네트워크를 필요로 하지 않는 유선 또는 무선 연결을 통해 컴퓨팅 디바이스(540)와 직접 연결되도록 하는 컴퓨팅 디바이스(540)를 포함할 수 있다. 다른 경우에, 머신 비전 시스템(512)은 하나 이상의 통신 링크들(550A, 550B)을 사용하여 컴퓨팅 디바이스(540)와 통신가능하게 커플링될 수 있다. 컴퓨팅 디바이스(540)가 네트워크(552)에 의해 차량(510)에 연결된 것으로 예시되지만, 다른 예들에서, 컴퓨팅 디바이스(540)는 직접적으로 차량(510)에 또는 그 내부에서 연결될 수 있고, 차량의 내부 네트워크 또는 직접 통신을 통해 차량 컴포넌트들과 통신할 수 있다.
머신 비전 시스템(512)은 광학 코드들의 이미지들을 컴퓨팅 디바이스(540)로 전송할 수 있다. 통신 링크들(550A, 550B)은 유선 또는 무선 연결을 표현할 수 있다. 예를 들어, 통신 링크들(550A, 550B)은 WiFi 프로토콜을 이용하는 무선 이더넷 연결일 수 있고/있거나, 카테고리 5 또는 카테고리 6 케이블을 사용하는 유선 이더넷 연결일 수 있다. 임의의 적합한 통신 링크들이 가능하다. 일부 예들에서, 머신 비전 시스템(512)은 네트워크(552)에 의해 컴퓨팅 디바이스(540)에 통신가능하게 커플링된다. 네트워크(552)는 패킷 및/또는 프레임 기반 데이터의 전달을 제공하는 라우터, 스위치, 허브, 및 상호연결 통신 링크를 포함하지만 이들로 제한되지 않는 임의의 수의 하나 이상의 네트워크 연결형 디바이스들을 표현할 수 있다. 예를 들어, 네트워크(552)는 인터넷, 서비스 제공자 네트워크, 고객 네트워크, 또는 임의의 다른 적합한 네트워크를 표현할 수 있다. 다른 예들에서, 머신 비전 시스템(512)은 범용 직렬 버스(Universal Serial Bus, USB) 링크와 같은 직접 연결에 의해 컴퓨팅 디바이스(540)에 통신가능하게 커플링된다.
컴퓨팅 디바이스(540)는 머신 비전 시스템(512)과 정보를 전송 및 수신할 수 있는 하나 이상의 데스크톱 컴퓨터, 랩톱 컴퓨터, 메인프레임, 서버, 클라우드 컴퓨팅 시스템 등과 같은, 머신 비전 시스템(512)을 갖는 또는 그로부터 원거리에 있는 단일 디바이스일 수 있는 임의의 적합한 컴퓨팅 시스템을 표현한다. 일부 예들에서, 컴퓨팅 디바이스(540)는 본 발명의 기법들을 구현한다.
도 5의 예에서, 컴퓨팅 디바이스(540)는 코딩 컴포넌트(542), 데이터 계층(626), 서비스 컴포넌트(546) 및 사용자 인터페이스(UI) 컴포넌트(548)를 포함한다. 코딩 컴포넌트(542)는 광학 코드(530) 상의 데이터에 필요한 데이터 인코딩 스킴 또는 알고리즘을 적용함으로써 광학 코드(530) 내에 인코딩된 데이터를 검출할 수 있다. 코딩 컴포넌트(542)는 광학 코드(530)로부터의 검출된 이진 코드를 머신 판독가능 정보로 변환하도록 데이터 계층(626)에 질의할 수 있다.
서비스 컴포넌트(546)는 하나 이상의 동작들을 수행함으로써 임의의 수의 서비스들을 제공할 수 있다. 예를 들어, 서비스 컴포넌트(546)는, 광학 코드로부터 판독된 데이터를 수신할 시에, 차량(510) 상의 자동 구동 컴포넌트를 포함하는 하나 이상의 다른 컴퓨팅 디바이스들로 전송되는 하나 이상의 경고, 보고, 또는 다른 통신을 생성할 수 있다. 그러한 경고는 전자 메일, 문자 메시지, 목록, 전화 통화, 또는 임의의 다른 적합한 통신을 포함할 수 있지만 이로 제한되지 않는다. 일부 예들에서, 사용자 인터페이스(UI) 컴포넌트(548)는 컴퓨팅 디바이스(540)의 다양한 컴포넌트들 사이의 중개자로서의 역할을 하여 입력 디바이스들에 의해 검출된 입력을 프로세싱하여 다른 컴포넌트들로 전송할 수 있고, 하나 이상의 출력 디바이스들에서 제시될 수 있는 다른 컴포넌트들로부터의 출력을 생성할 수 있다. 예를 들어, UI 컴포넌트(548)는 경고, 보고, 또는 다른 통신의 데이터 및/또는 그래픽 표현을 포함할 수 있는, 디스플레이를 위한 하나 이상의 사용자 인터페이스들을 생성할 수 있다.
컴포넌트들(542, 626, 546, 548)은 컴퓨팅 디바이스(540) 내에 그리고/또는 하나 이상의 다른 원격 컴퓨팅 디바이스들에 상주하고 이들 상에서 실행되는 소프트웨어, 하드웨어, 펌웨어, 또는 하드웨어, 소프트웨어, 및 펌웨어 모두의 혼합을 이용하여 본 명세서에 기술된 동작들을 수행할 수 있다. 일부 예들에서, 컴포넌트들(542, 626, 546)은 하드웨어, 소프트웨어, 및/또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다. 컴퓨팅 디바이스(540)는 하나 이상의 프로세서들로 컴포넌트들(626, 546, 548)을 실행시킬 수 있다. 컴퓨팅 디바이스(540)는 기본 하드웨어 상에서 실행되는 가상 머신으로서 또는 그 내에서 컴포넌트들(542, 626, 546 또는 548) 중 임의의 것을 실행시킬 수 있다. 컴포넌트들(542, 626, 546, 548)은 다양한 방식들로 구현될 수 있다. 예를 들어, 컴포넌트들(542, 626, 546 또는 548) 중 임의의 것이 다운로드가능한 또는 사전설치된 애플리케이션 또는 "앱(app)"으로서 구현될 수 있다. 다른 예에서, 컴포넌트들(542, 626, 546 또는 548) 중 임의의 것이 컴퓨팅 디바이스(540)의 운영 체제의 일부로서 구현될 수 있다.
예시적인 목적을 위해, 도 5에서, 머신 비전 시스템은 차량(510)의 일부로서 또는 그에 장착된 것으로 도시되어 있다. 차량(510)은 자동차, 오토바이, 비행기, 수상 선박, 군사 장비, 자전거, 기차, 또는 임의의 다른 수송 차량일 수 있다. 다른 예들에서, 머신 비전 시스템(512)은, 몇 개만 예를 들면, 문서, 의류, 착용가능 장비, 건물, 고정 상태 장비, 또는 임의의 다른 물체에 부착될 수 있거나, 그 내에 포함 또는 임베드될 수 있거나, 또는 달리 이를 포함할 수 있다.
광학 코드(530)는 도 5에서 표지판으로 포함된 것으로 도시되어 있지만, 광학 코드는, 몇 개만 예를 들면, 문서, 의류, 착용가능 장비, 건물, 고정 상태 장비, 또는 임의의 다른 물체 상에 장착될 수 있거나 그에 부착될 수 있거나, 그 내에 포함 또는 임베드될 수 있다.
일부 예들에서, 광학 코드(530) 또는 광학 코드(530)가 부착되는 물품은 베이스 표면(base surface)에 적용되는 반사성, 비반사성, 및/또는 재귀반사성 시트를 포함할 수 있다. 문자, 이미지, 및/또는 임의의 다른 정보와 같은, 그러나 이들로 제한되지 않는 가시적 메시지가 광학 코드(530)의 물품 상에 프린팅, 형성, 또는 달리 구현될 수 있다. 반사성, 비반사성, 및/또는 재귀반사성 시트는 기계적 접합, 열 접합, 화학적 접합, 또는 재귀반사성 시트를 베이스 표면에 부착하기 위한 임의의 다른 적합한 기법을 포함하지만 이로 제한되지 않는 하나 이상의 기법들 및/또는 재료들을 이용하여 베이스 표면에 적용될 수 있다. 베이스 표면은 반사성, 비반사성, 및/또는 재귀반사성 시트가 부착될 수 있는 물체(위에 설명된 바와 같은, 예컨대 알루미늄 판)의 임의의 표면을 포함할 수 있다. 물품 메시지는 잉크, 염료, 열전사 리본, 착색제, 안료, 및/또는 접착제 코팅된 필름 중 임의의 하나 이상을 사용하여 시팅 상에 프린팅, 형성, 또는 달리 구현될 수 있다. 일부 예들에서, 콘텐츠는 다층 광학 필름, 광학 활성 안료 또는 염료를 포함하는 재료, 또는 광학 활성 안료 또는 염료로부터 형성되거나, 또는 이를 포함한다.
광학 코드(530)를 초기에 제조하거나 달리 생성하기 위해, 구성 디바이스(570)가, 구성 디바이스(570)의 동작을 제어하는 컴퓨팅 디바이스(560)와 함께 사용될 수 있다. 일부 예들에서, 구성 디바이스(570)는 광학 코드(530) 및/또는 표지판(520)을 프린팅, 배치, 또는 달리 형성하는 임의의 디바이스일 수 있다. 구성 디바이스(138)의 예들은 니들 다이, 그라비어 프린터, 스크린 프린터, 열 용량 전사 프린터, 레이저 프린터/인장기(engraver), 라미네이터(laminator), 플렉소그래픽 프린터(flexographic printer), 잉크젯 프린터, 적외선 잉크 프린터를 포함하지만 이들로 제한되지 않는다. 일부 예들에서, 광학 코드(530)는 구성 디바이스(570)에 의해 구성된 재귀반사성 시팅 또는 적외선 흡수 또는 산란 필름에 의해 인에이블될 수 있으며, 일부 경우에 컴퓨팅 디바이스(560)와는 상이한 조작자들 또는 엔티티들에 의해 동작되는 별개의 구성 프로세스 또는 디바이스가 물품 메시지를 시팅에 그리고/또는 시팅을 베이스 층(예컨대, 알루미늄 판)에 적용할 수 있다.
구성 디바이스(570)는 통신 링크(550D)에 의해 컴퓨팅 디바이스(560)에 통신가능하게 커플링될 수 있다. 컴퓨팅 디바이스(560)는 구성 디바이스(570)의 동작을 제어할 수 있다. 예를 들어, 컴퓨팅 디바이스(560)는 하나 이상의 프린팅 사양들을 포함할 수 있다. 프린팅 사양은 가시적 표지판 앞면(522) 및 광학 코드(530)의 속성들(예컨대, 위치, 형상, 크기, 패턴, 구성 또는 다른 공간적 특성)을 정의하는 데이터를 포함할 수 있다. 일부 예들에서, 프린팅 사양은 인간 조작자에 의해 또는 머신에 의해 생성될 수 있다. 어떠한 경우에도, 구성 컴포넌트(562)는 구성 디바이스(570)가 프린터 사양에 따라 가시적 이미지 또는 메시지 및 광학 코드를 프린팅하게 하는 데이터를 구성 디바이스(570)로 전송할 수 있다.
일부 예들에서, 구성 컴포넌트(562)는 시각적으로 폐색될 가능성이 있는 표지판의 하나 이상의 개연성있는 구역들 또는 영역들을 결정할 수 있다. 그러한 구역들 또는 영역들은, 적어도 잠재적인 시각적 폐색 또는 폐색의 표현을 포함하는 하나 이상의 이미지들에 기초하여, 사용자에 의해 정의될 수 있거나, 또는 구성 컴포넌트(562)에 의해 하드-코딩 또는 결정될 수 있다. 일부 예들에서, 구성 컴포넌트(562)는 사용자가 시각적으로 폐색될 수 있는 특정 표지판의 상이한 구역들 또는 영역들을 특정할 수 있는 그래픽 사용자 인터페이스를 출력할 수 있다. 시각적으로 폐색될 수 있는 구역들 또는 영역들을 결정하는 것에 기초하여, 구성 컴포넌트(562)는, 잠재적인 시각적 폐색의 하나 이상의 구역들 또는 영역들이 폐색되는 경우, 광학 요소 세트들에서 인코딩된 메시지가 여전히 컴퓨팅 디바이스에 의해 디코딩가능하게 될 가능성을 개선하도록 물품 상의 블록 형상, 크기 및/또는 위치를 구성할 수 있다. 일례로서, 광학 코드의 상부 우측 사분면 내의 구역 또는 영역이 시각적으로 폐색될 가능성이 있는 경우, 구성 컴포넌트(562)는 상부 우측 코너 이외의 위치들에 메시지를 표현하는 광학 요소 세트들을 위치시킬 수 있지만, 여전히, 상부 우측 사분면의 구역 또는 영역에 위치된 광학 요소 세트들 내에 에러 정정 데이터를 포함할 수 있다. 머신 판독가능 코드에 대한 시각적 폐색의 알려진 또는 개연성있는 영역들에 기초하여 광학 요소들의 크기, 형상, 및 위치의 임의의 수의 다른 가능한 분포들이 가능하다.
일부 예들에서, 머신 판독가능 코드 내의 메시지를 디코딩하기 위해, 코딩 컴포넌트(542)는, 이미지 내의 각자의 광학 요소들의 각자의 사전정의된 위치들을 표시하는 광학 요소 세트 위치 데이터에 적어도 부분적으로 기초하여, 광학 요소 세트를 결정할 수 있다. 즉, 광학 요소 세트의 위치 데이터는 상이한 광학 요소 세트들 및/또는 개별 광학 요소들에 맵핑되는 좌표들 또는 다른 위치 값들을 표시할 수 있다. 코딩 컴포넌트(542)는, 광학 요소 세트 내의 각자의 광학 요소들의 각자의 사전정의된 위치들을 표시하는 광학 요소 위치 데이터에 적어도 부분적으로 기초하여, 각자의 광학 요소들 각각에 대한 각자의 그래디언트 값들을 결정할 수 있다. 예를 들어, 이미지의 사전정의된 위치와 광학 요소 사이의 알려진 맵핑이 주어지면, 코딩 컴포넌트는 그 사전정의된 위치에 대한 그래디언트 값(일부 예들에서, 이는 단일 포인트 또는 픽셀들에 대응하는 포인트들의 세트일 수 있음)을 측정하거나 달리 결정할 수 있다. 코딩 컴포넌트(542)는, 그래디언트 값들과 인코딩된 값들 사이의 맵핑들에 적어도 부분적으로 기초하여, 메시지의 적어도 일부분을 결정할 수 있다. 예를 들어, 코딩 컴포넌트(542)는 그래디언트 값들과 인코딩된 값들 사이의 하나 이상의 저장된 맵핑들에 액세스하며, 광학 요소들에 대한 검출된 그래디언트 값들에 기초하여, 메시지의 일부분을 표현하는 디코딩된 값들의 스트링을 재구성한다.
도 6은 다차원 머신 판독가능 광학 코드를 판독하기 위한 시스템에서의 사용을 위한 컴퓨팅 디바이스의 일례이다. 도 6은 도 5에 도시된 바와 같은 컴퓨팅 디바이스(540)의 단지 하나의 특정 예를 도시한다. 컴퓨팅 디바이스(540)의 많은 다른 예들이 다른 경우들에서 사용될 수 있고, 예시적인 컴퓨팅 디바이스(540)에 포함된 컴포넌트들의 서브세트를 포함할 수 있거나 또는 도 6의 예시적인 컴퓨팅 디바이스(540) 내에 도시되지 않은 추가 컴포넌트들을 포함할 수 있다. 일부 예들에서, 컴퓨팅 디바이스(540)는 서버, 태블릿 컴퓨팅 디바이스, 스마트폰, 손목 또는 머리 착용 컴퓨팅 디바이스, 랩톱, 데스크톱 컴퓨팅 디바이스, 또는 애플리케이션(620)에 포함된 기능의 세트, 서브세트 또는 슈퍼세트를 실행시킬 수 있는 임의의 다른 컴퓨팅 디바이스일 수 있다.
도 6의 예에 도시된 바와 같이, 컴퓨팅 디바이스(540)는 사용자 공간(602), 커널 공간(604), 및 하드웨어(606)로 논리적으로 분할될 수 있다. 하드웨어(606)는 사용자 공간(602) 및 커널 공간(604)에서 실행 중인 컴포넌트들에 대한 동작 환경을 제공하는 하나 이상의 하드웨어 컴포넌트들을 포함할 수 있다. 사용자 공간(602) 및 커널 공간(604)은 메모리의 상이한 섹션들 또는 세그먼테이션들을 표현할 수 있는데, 여기서 커널 공간(604)은 프로세스들 및 스레드들에 대해 사용자 공간(602)보다 더 높은 특권들을 제공한다. 예를 들어, 커널 공간(604)은 사용자 공간(602)에서 실행 중인 컴포넌트들보다 더 높은 특권들로 동작하는 운영 체제(620)를 포함할 수 있다.
도 6에 도시된 바와 같이, 하드웨어(606)는 하나 이상의 프로세서들(608), 입력 컴포넌트들(610), 저장 디바이스들(612), 통신 유닛들(614) 및 출력 컴포넌트들(616)을 포함한다. 프로세서들(608), 입력 컴포넌트들(610), 저장 디바이스들(612), 통신 유닛들(614), 및 출력 컴포넌트들(616)은 각각 하나 이상의 통신 채널들(618)에 의해 상호연결될 수 있다. 통신 채널들(618)은 컴포넌트간 통신을 위해 컴포넌트들(608, 610, 612, 614, 616) 각각을 (물리적으로, 통신가능하게, 그리고/또는 동작가능하게) 상호연결시킬 수 있다. 일부 예들에서, 통신 채널들(618)은 하드웨어 버스, 네트워크 연결, 하나 이상의 프로세스간 통신 데이터 구조, 또는 하드웨어 및/또는 소프트웨어 사이에서 데이터를 통신하기 위한 임의의 다른 컴포넌트들을 포함할 수 있다.
하나 이상의 프로세서들(608)은 컴퓨팅 디바이스(540) 내에서 기능을 구현할 수 있고/있거나, 명령어들을 실행시킬 수 있다. 예를 들어, 컴퓨팅 디바이스(540) 상의 프로세서들(608)은 커널 공간(604) 및 사용자 공간(602)에 포함된 컴포넌트들의 기능을 제공하는 저장 디바이스들(612)에 의해 저장된 명령어들을 수신하고 실행시킬 수 있다. 프로세서들(608)에 의해 실행되는 이러한 명령어들은 컴퓨팅 디바이스(616)가 프로그램 실행 동안 저장 디바이스들(612) 내에 정보를 저장하고/하거나 수정하게 할 수 있다. 프로세서들(608)은 본 발명의 기법들에 따른 하나 이상의 동작들을 수행하도록 커널 공간(604) 및 사용자 공간(602) 내의 컴포넌트들의 명령어들을 실행시킬 수 있다. 즉, 사용자 공간(602) 및 커널 공간(604)에 포함된 컴포넌트들은 본 명세서에 기술된 다양한 기능들을 수행하도록 프로세서들(208)에 의해 동작가능할 수 있다.
컴퓨팅 디바이스(540)의 하나 이상의 입력 컴포넌트들(642)은 입력을 수신할 수 있다. 입력의 예들은, 몇 개만 예를 들면, 촉각적, 오디오, 운동, 및 광학 입력이다. 컴퓨팅 디바이스(616)의 입력 컴포넌트들(642)은, 일례에서, 마우스, 키보드, 음성 응답 시스템, 비디오 카메라, 버튼, 제어 패드, 마이크로폰, 또는 인간 또는 머신으로부터의 입력을 검출하기 위한 임의의 다른 타입의 디바이스를 포함한다. 일부 예들에서, 입력 컴포넌트(642)는 존재 감지 스크린, 터치 감지 스크린 등을 포함할 수 있는 존재 감지 입력 컴포넌트일 수 있다.
컴퓨팅 디바이스(616)의 하나 이상의 출력 컴포넌트들(616)은 출력을 생성할 수 있다. 출력의 예들은 촉각적, 오디오, 및 비디오 출력이다. 컴퓨팅 디바이스(540)의 출력 컴포넌트들(616)은, 일부 예들에서, 존재 감지 스크린, 사운드 카드, 비디오 그래픽 어댑터 카드, 스피커, 음극선관(CRT) 모니터, 액정 디스플레이(LCD), 인간 또는 머신에 대해 출력을 생성하기 위한 임의의 다른 타입의 디바이스를 포함한다. 출력 컴포넌트들은 음극선관(CRT) 모니터, 액정 디스플레이(LCD), 발광 다이오드(LED), 또는 촉각적, 오디오 및/또는 시각적 출력을 생성하기 위한 임의의 다른 타입의 디바이스와 같은 디스플레이 컴포넌트들을 포함할 수 있다. 출력 컴포넌트들(616)은 일부 예들에서 컴퓨팅 디바이스(540)와 통합될 수 있다. 다른 예들에서, 출력 컴포넌트들(616)은 컴퓨팅 디바이스(540)에 대해 물리적으로 외부에 있고 그로부터 분리될 수 있지만, 유선 또는 무선 통신을 통해 컴퓨팅 디바이스(540)에 동작가능하게 커플링될 수 있다. 출력 컴포넌트는, 컴퓨팅 디바이스(540)의 외부 패키징 내에 위치되고 그에 물리적으로 연결된 컴퓨팅 디바이스(540)의 빌트인 컴포넌트(예컨대, 모바일 폰 상의 스크린)일 수 있다. 다른 예에서, 존재 감지 디스플레이(602)는, 컴퓨팅 디바이스(540)의 패키징 외부에 위치되고 그로부터 물리적으로 분리된 컴퓨팅 디바이스(540)의 외부 컴포넌트(예컨대, 태블릿 컴퓨터와 유선 및/또는 무선 데이터 경로를 공유하는 모니터, 프로젝터 등)일 수 있다.
컴퓨팅 디바이스(540)의 하나 이상의 통신 유닛들(614)은 데이터를 송신하고/하거나 수신함으로써 외부 디바이스들과 통신할 수 있다. 예를 들어, 컴퓨팅 디바이스(540)는 통신 유닛들(614)을 사용하여 셀룰러 무선 네트워크와 같은 무선 네트워크 상에서 무선 신호들을 송신하고/하거나 수신할 수 있다. 일부 예들에서, 통신 유닛들(614)은 글로벌 포지셔닝 시스템(GPS) 네트워크와 같은 위성 네트워크 상에서 위성 신호들을 송신하고/하거나 수신할 수 있다. 통신 유닛들(614)의 예들은 네트워크 인터페이스 카드(예컨대, 이를테면, 이더넷 카드), 광학 송수신기, 무선 주파수 송수신기, GPS 수신기, 또는 정보를 전송하고/하거나 수신할 수 있는 임의의 다른 타입의 디바이스를 포함한다. 통신 유닛들(614)의 다른 예들은 모바일 디바이스들에서 발견되는 Bluetooth®, GPS, 3G, 4G, 및 Wi-Fi® 무선통신장치뿐만 아니라 범용 직렬 버스(USB) 제어기 등을 포함할 수 있다.
컴퓨팅 디바이스(540) 내의 하나 이상의 저장 디바이스들(612)은 컴퓨팅 디바이스(540)의 동작 동안 프로세싱하기 위한 정보를 저장할 수 있다. 일부 예들에서, 저장 디바이스(612)는 일시적 메모리이며, 이는 저장 디바이스(612)의 주요 목적이 장기간 저장이 아니라는 것을 의미한다. 컴퓨팅 디바이스(540) 상의 저장 디바이스들(612)은 정보의 단기간 저장을 위해 휘발성 메모리로서 구성되고, 이에 따라, 비활성화되면, 저장된 콘텐츠들을 보유하지 않을 수도 있다. 휘발성 메모리들의 예들은 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 및 당업계에 공지된 다른 형태의 휘발성 메모리들을 포함한다.
저장 디바이스들(612)은, 일부 예들에서, 또한, 하나 이상의 컴퓨터 판독가능 저장 매체들을 포함한다. 저장 디바이스들(612)은 휘발성 메모리보다 더 많은 양의 정보를 저장하도록 구성될 수 있다. 저장 디바이스들(612)은, 또한, 정보의 장기간 저장을 위해 비휘발성 메모리 공간으로서 구성되고, 활성화/오프 사이클 후에 정보를 보유할 수 있다. 비휘발성 메모리들의 예들은 자기 하드 디스크, 광디스크, 플로피 디스크, 플래시 메모리, 또는 전기적 프로그래밍가능 메모리(EPROM) 또는 전기적 소거가능 및 프로그래밍가능 메모리(EEPROM)의 형태를 포함한다. 저장 디바이스들(212)은 사용자 공간(602) 및/또는 커널 공간(604)에 포함된 컴포넌트들과 연관된 프로그램 명령어들 및/또는 데이터를 저장할 수 있다.
도 6에 도시된 바와 같이, 애플리케이션(628)은 컴퓨팅 디바이스(540)의 사용자 공간(602)에서 실행된다. 애플리케이션(628)은 프레젠테이션 계층(622), 애플리케이션 계층(624), 및 데이터 계층(626)으로 논리적으로 분할될 수 있다. 프레젠테이션 계층(622)은, 애플리케이션(628)의 사용자 인터페이스들을 생성하고 렌더링하는 사용자 인터페이스(UI) 컴포넌트(548)를 포함할 수 있다. 애플리케이션(228)은 UI 컴포넌트(548), 알고리즘 코딩 컴포넌트(542), 데이터 계층(626), 및 하나 이상의 서비스 컴포넌트들(546)을 포함할 수 있지만, 이들로 제한되지 않는다. 프레젠테이션 계층(622)은 UI 컴포넌트(548)를 포함할 수 있다.
데이터 계층(626)은 하나 이상의 데이터 저장소들을 포함할 수 있다. 데이터 저장소는 데이터를 구조화된 또는 구조화되지 않은 형태로 저장할 수 있다. 예시적인 데이터 저장소들은 관계형 데이터베이스 관리 시스템, 온라인 분석 프로세싱 데이터베이스, 테이블, 또는 데이터를 저장하기 위한 임의의 다른 적합한 구조 중 임의의 하나 이상일 수 있다. 콘텐츠 데이터 저장소(634)는 콘텐츠 광학 요소들로부터의 페이로드로 이루어진 일련의 비트들 및 그러한 일련의 비트들과 연관된 정보를 포함할 수 있다. 일부 예들에서, 콘텐츠 데이터 저장소(634)는 인코딩된 또는 디코딩된 형태의 메시지들을 포함할 수 있다. 컨텍스트 데이터 저장소(636)는 컨텍스트 광학 요소들로부터의 페이로드로 이루어진 일련의 비트들 및 그러한 일련의 비트들과 연관된 정보를 포함할 수 있다. 일부 예들에서, 컨텍스트 데이터 저장소(634)는 인코딩된 또는 디코딩된 형태의 메시지들을 포함할 수 있다. 에러 정정 데이터(632)는 콘텐츠 광학 요소들 및 컨텍스트 광학 요소들에서 발견되는 페이로드 데이터의 재구성 및 검증을 돕는 에러 정정 알고리즘에 의해 구성된 코드워드들을 형성하는 일련의 비트들을 포함할 수 있다. 서비스 데이터(638)는 서비스 컴포넌트(546)의 서비스를 제공하고/하거나 서비스를 제공한 것으로부터 생성된 임의의 데이터를 포함할 수 있다. 예를 들어, 서비스 데이터는 광학 활성 물품들에 관한 정보(예컨대, 차량 등록 정보), 사용자 정보, 또는 임의의 다른 정보를 포함할 수 있다.
머신 비전 시스템(510)은, 이미지를 캡처할 수 있고, 광학 코드(530)가 파인더 광학 요소들을 사용하여 이미지에 존재한다고 결정할 수 있고, 이를 UI 컴포넌트(548) 또는 통신 채널들(550A, 550B)을 통해 컴퓨팅 디바이스(540)로 통신할 수 있다. 이미지를 수신한 것에 응답하여, 코딩 컴포넌트(542)는 이미지의 특정 이미지 구역이 광학 코드를 표현한다고 결정할 수 있다. Reed-Solomon 디코딩 또는 에러 검출 기법과 같은 하나 이상의 디코딩 기법들을 적용함으로써, 코딩 컴포넌트(542)는, 콘텐츠 데이터 저장소(636) 및 컨텍스트 데이터 저장소(634)와의 통신을 통해, 이미지 내의 광학 코드가 속도 제한 표지판이 앞에 있음을 표시하는 일련의 데이터를 표현하고 표지판 상의 속도 제한이 시간당 50 킬로미터라고 결정할 수 있다.
서비스 컴포넌트(546)는 코딩 컴포넌트(542)에 의해 생성된 데이터에 기초하여 하나 이상의 동작들, 예컨대 UI 컴포넌트(548)가 디스플레이에 대한 경고를 생성하게 하는 데이터를 UI 컴포넌트(548)로 전송하는 것을 수행할 수 있다. 일부 예들에서, 서비스 컴포넌트(546)는 차량의 동작을 수정할 수 있다. 예를 들어, 서비스 컴포넌트(546)는 차량의 속도, 가속도, 방향, 서스펜션, 브레이크, 또는 임의의 다른 기능을 변경할 수 있다. UI 컴포넌트(548)는 출력 컴포넌트가 경고를 디스플레이하게 하는 데이터를 출력 컴포넌트들(616) 중의 출력 컴포넌트에 전송할 수 있다. 컴퓨팅 시스템의 하나의 특정 구현예가 본 명세서에 기술되지만, 본 발명과 일치하고 그의 범주 내에 있는 컴퓨팅 시스템들의 다른 구성들 및 실시예들은 본 명세서를 읽을 시에 당업자에게 자명할 것이다.
일부 예들에서, 작업 구역들과 같은 동적 환경들은 자율 또는 반자율 차량들에 대해 더 어려움을 제공할 수 있다. 예를 들어, 향상된 맵들 및 GPS에 의존하는 것은 제한들을 가질 수 있는데, 그 이유는 장애물 또는 작업자들이 분 단위로 또는 시간 단위로 동적으로 재위치될 수 있기 때문이다. 컴퓨팅 디바이스(540)는, 자율, 반자율, 또는 시야-보조 차량과 같은 차량에서 구현될 때, 코드의 부분들이 그 영역들 내의 다른 물체들 또는 폐색들에 의해 시각적으로 폐색된다 하더라도, 그러한 차량들이 사람 및 디바이스들을 신뢰성있게 위치확인하고 그러한 영역들을 지나는 것을 허용하는 본 발명에 기술된 바와 같은 코드들을 갖는 실시간 내비게이션 마커들을 제공할 수 있다. 일부 예들에서, 본 발명에 기술된 바와 같이, 코드들은 사람의 눈에 비가시적이만, 상업적으로 입수가능한 머신 센서들에는 광의 특정 파장들에서 가시적이다. 작업 구역 디바이스들에 부착될 수 있는 이러한 고유의 머신 판독가능 코드들은 자율, 반자율, 또는 시야-보조 내비게이션을 가능하게 하기 위해 정밀한 물체 검출 및 신속한 프로세싱을 제공할 수 있다. 이와 같이, 본 발명에 기술된 것과 같은 컴퓨팅 디바이스 및 이미지 캡처 디바이스를 포함하는 차량은 하나 이상의 코드들 내에 인코딩된 정보를 결정한 것에 응답하여 그의 동작을 변경할 수 있다.
일부 예들에서, 본 발명에서 그러한 코드들을 판독하기 위한 머신 판독가능 광학 코드들 및 시스템들은 기존의 MUTCD(Manual on Uniform Traffic Control Device) 규칙들 및/또는 종래의 작업 구역 자료들과 호환가능하다. 일부 예들에서, 본 발명의 머신 판독가능 광학 코드들은 차량들을 내비게이팅하기 위한 다른 양상(modality)들(예컨대, GPS, 맵들 등)보다 차량들에 의한 더 빠른 그리고/또는 더 정확한 검출 및 프로세싱을 위한 정보를 제공할 수 있다. 일부 예들에서, 범용 머신 판독가능 광학 코드들은 코드가 구현된 각각의 특정 타입의 물품에 대해 표준화될 수 있거나 일정할 수 있다. 일부 예들에서, 별개의 머신 판독가능 코드들이 특정 작업 구역들 또는 다른 경계지어진 구역 또는 영역에서 상이한 타입의 물품들에 대해 사용될 수 있다. 일부 예들에서, 머신 판독가능 코드는 광학 요소들의 고유한 공간적 구성 및/또는 그 안에 인코딩된, 인간 또는 작업자를 표현하는 정보를 포함할 수 있다. 일부 예들에서, 위치확인 데이터는, 머신 판독가능 코드 내에 인코딩될 수 있고(여기서 그러한 위치확인 정보는 물품 또는 물품의 주변 영역에 관한 장소(locality) 특정 정보를 나타냄), 일부 예들에서, 코드가 위치되는 동적으로 변화하는 환경 때문에 GPS 또는 맵들에서 이용가능하지 않을 수도 있다.
표지판들의 분류 및 데이터 품질을 개선하는 것에 더하여, 사회 기반 시설 물품들은 고정밀 맵핑(high definition mapping)에 의해 제공되는 위치 데이터를 보완할 기회를 제공할 수 있다. 맵핑 회사들은 운전자들 및 자동화된 차량 계획 루트들을 돕기 위해 그리고 차량을 도로 상에 적절하게 위치시키기 위해 극도로 상세한 동적 맵들을 생성하고 있다. 현재의 고정밀(HD) 맵핑은 위치확인을 제공하도록 SIFT(Scale Invariant Feature Transform) 특징부들의 연속적인 분석에 의존한다. 신뢰성있는 특징부들을 개발하기 위해, 데이터 조밀 맵핑이 발생할 수 있고, 참조할 차량에 의해 액세스가능한 방식으로 저장될 수 있다. 일부 경우들에서, 이는 (경제적인 면 및 계산적인 면 양측 모두에서) 시간 소모적이고 고가이다. 일부 경우들에서, SIFT 특징부들로서 사용되는 랜드마크들이 변할 것이어서, 차량의 SLAM(Simultaneous Localization and Mapping)을 수행하려고 시도하고 있는 동안 차량을 환기시키는 것이 또한 가능하다.
본 발명의 기법들은 정밀한 GPS 정보를 제공할 수 있는 사이니지(signage) 내에 정보를 임베딩함으로써 계산 비용을 경감시킬 수 있을 뿐만 아니라, SIFT 특징부들을 포인트 클라우드 데이터와 매칭시키는 모호성 또는 에러가 발생하기 쉬운(error-prone) 액션을 감소시킬 수 있다.
일부 광학 코드들은 고정밀 GPS 좌표들뿐만 아니라 표지판 고유 식별자(unique-to-the-sign identifier)를 포함할 수 있다. 광학 코드 상의 파인더 모듈 및 타이밍 모듈은 평면 자세 추정 기법들을 이용하여 정확한 판독 거리 벡터 결정을 허용할 수 있다. 이러한 거리 벡터와 디코딩된 GPS 좌표들을 조합한 컴퓨팅 디바이스는, (예를 들어) GPS 데이터가 신뢰할 수 없을 수도 있는 어번 캐니언(urban canyon)에서도, 현재 GPS 좌표들을 비교하기 위한 기준 위치를 특정하여, 오프셋/드리프트/에러 정정 및 그에 따른 위치확인을 제공한다.
일례로서, 차량 머신 비전 시스템은 적외선 광 내에서 표지판의 이미지를 캡처하여 그의 임베딩된 광학 코드를 노출시킨다. 파인더 모듈 크기 및 스큐(skew)는 컴퓨팅 디바이스에 의해 그 이미지를 다시 정사각형으로 정규화하는 것을 허용한다. 모듈의 크기는 2개의 분리된 파인더 모듈들 사이에 분산된 다수의 픽셀들에 의해 측정될 수 있다. 이러한 픽셀 카운트는, 거리에 비례하여 이미지의 스큐된 상태(skewedness)의 크기에 기초한 컴퓨팅 디바이스에 의한 벡터 결정을 허용하는 픽셀 크기, 및 표지판에 대한 특정 거리 및 방향을 말하는 픽셀 크기와 상관된다. 표지판 위치의 고정밀 GPS 좌표, 및 카메라가 있는 곳에 대한 정확한 투사로, 차량이, 카메라가 차량 상에서 어디에 위치되는지를 알고 있는 한, 차량의 GPS 위치는 제공된 표지판 GPS 및 적절한 변환 벡터로부터 컴퓨팅 디바이스에 의해 이제 결정될 수 있다.
고유하게 식별된 도로 표지판들 또는 위치확인을 위한 다른 물품들을 사용하는 것은 SIFT 특징부들에 대한 의존성보다 선호될 수 있는데, 그 이유는 표지판이 좌표 위치 및 표지판 ID를 능동적으로 확인하여 그것이 부정확한 또는 허위 매칭이 발생할 가능성을 더 낮게 만들 수 있기 때문이다. 포인트 클라우드 데이터 또는 스케일 불변 특징부 리스트들은 실제로 형상 자체 이외의 임의의 고유 식별자들을 갖지 않을 수도 있다. 이는, 종종, 차량이 합리적으로 확신을 하게 두지만, 지구 상의 특정 장소와 상관시키기 위해 특징부 또는 포인트들의 세트를 선택했는지는 확실하지가 않다. 그 의미는, 차량이 아마도 그의 식별에서는 정확하였지만 부정확할 것이고 차량은 그것이 부정확하게 위치확인했기 때문에 예상된 특징부들을 이제 놓치기 시작할 때까지는 모를 것이라는 것이다. 위치확인을 위해 광학 코드들을 사용하는 본 발명의 기법들은 개선된 신뢰도 및/또는 확실성을 제공할 수 있다.
고유 ID뿐만 아니라 고정밀 위치확인을 갖는 표지판 또는 다른 물품을 사용하는 것은, 정확한 표지판이 식별되었고 그의 위치가 검증된다는 확인 또는 추가 신뢰도 정보를 제공할 수 있다. 차량이 표지판의 저장된 GPS 좌표들을 사용할 필요가 없는 경우라 하더라도, 차량은 GPS 좌표들을 예상된 SIFT 특징부와 매칭시킬 수 있다. 이는 그 SIFT 특징부에 대한 포지티브 ID를 제공할 수 있는데, 이는 그 연관성에서 증가된 레벨의 신뢰도를 가능하게 할 수 있다. 일부 예들에서, 특정 표지판이 그것이 말하는 정확한 표지판이고 도용(spoof)되거나 달리 무효하지 않은 것임을 증명하기 위해 보안 요소가 도입될 수 있다.
일부 예들에서, 광학 코드들은 다른 시스템들 또는 모델들을 트레이닝하기 위한 지상 실측 자료(ground truth)의 소스로서 사용될 수 있다. 예시적인 모델들은 신경망, SVM 분류자, 또는 임의의 다른 감독되는 학습 모델을 포함할 수 있다. 광학 코드 내에 인코딩된 데이터는 그러한 모델들을 변환하기 위한 지상 실측 자료 정보로서 사용될 수 있다. 일례로서, 위치확인 데이터와 같은, 광학 코드로부터의 데이터는 임의의 다른 특징부들과 함께 특징부 벡터에서 구조화될 수 있고, 예를 들어 이미지 데이터를 분류하는 데 사용될 수 있다. 예시적인 분류는 이미지 데이터가 특정 도로 표지판을 표시하는지의 여부를 분류하는 것을 포함할 수 있다. 모델에 적용되는 특징부 벡터에 지상 실측 자료 정보를 포함시킴으로써, 모델은 특정 도로 표지판을 포함하는 것으로서 이미지 데이터를 보다 정확하게 분류할 수 있다. 비-디지털식의 특정 데이터(예컨대, 불량하게 분해된 이미지 데이터)와 함께 사용되는 디지털식의 특정 데이터(예컨대, 일부 ECC를 갖는 광학 코드 데이터)는 비-디지털식의 특정 데이터의 분류를 개선시킬 수 있다. 도로 표지판에 대한 이미지 데이터를 분류하는 맥락에서 설명되지만, 광학 코드로부터의 지상 실측 자료를 이용하는 기법들은, 보다 일반적으로, 디지털식의 특정 데이터를 사용하여 비-디지털식의 특정 데이터에 대한 분류자를 더 정확하게 만드는 임의의 시나리오에 적용될 수 있다. 이러한 기법들은 분류자에 대한 추가 신호를 제공할 수 있거나, 또는 분류자의 결과가 정확하다는 것을 입증하는 체크로서 동작할 수 있다.
일부 예들에서, 본 발명의 머신 판독가능 코드들은 레이더(radar), LIDAR(Light Detection and Ranging), 근적외선 및 원적외선, 또는 임의의 다른 적합한 기술들과 같은 하나 이상의 센서들과 호환가능할 수 있다. 일부 예들에서, 본 발명의 기법들을 구현하는 하나 이상의 차량들은 V2X 또는 다른 적합한 무선 기술들을 이용하여 본 발명의 머신 판독가능 코드들로부터 디코딩된 정보를 교환할 수 있다. 일부 예들에서, 본 발명의 머신 판독가능 코드들은 물품 구성 동안 물품 상에 직접 구현될 수 있거나, 또는 그것들에게는 나중에 기존의 물품에 적용되는 데칼 또는 다른 층이 나중에 개장될 수 있다.
도 7a는 네스트된 콘텐츠 광학 요소들을 갖는 머신 판독가능 광학 코드(700)를 도시한다. 일부 예들에서, 네스트된 또는 "자식" 광학 요소가 부모 광학 요소 내에 포함될 수 있다. 예를 들어, 부모 광학 요소 세트(702)는 적어도 하나의 부모 광학 요소(706)를 포함할 수 있고, 여기서 부모 광학 요소(706)는 자식 광학 요소 세트(예컨대, 도 7a의 셀[A, 1] 내에 4개의 광학 요소들을 포함함)를 더 포함하며, 자식 광학 요소 세트는 자식 광학 요소(706)와 같은 광학 요소들의 각자의 세트를 포함한다.
일부 예들에서, 부모 광학 요소의 적어도 하나의 광학 요소에 대응하는 제1 인코딩된 값은 임계 거리 이상인 이미지 캡처 디바이스와 물품 사이의 특정 거리에서 디코딩가능하다. 자식 광학 요소 세트 내의 광학 요소들의 세트에 각각 대응하는 자식 인코딩된 값들은 이미지 캡처 디바이스와 물품 사이의 특정 거리에서 디코딩가능하지 않을 수도 있다. 일부 예들에서, 특정 거리는 제1 거리이고, 여기서 자식 광학 요소 세트 내의 광학 요소들의 세트에 각각 대응하는 자식 인코딩된 값들은 이미지 캡처 디바이스와 물품 사이의 제2 거리에서 디코딩가능하며, 제2 거리는 제1 거리보다 작다. 일부 예들에서, 임계 거리는 이미지 캡처 디바이스에 의해 캡처된 이미지의 해상도가 시각적으로 상이한 자식 광학 요소 세트의 하나 이상의 광학 요소들을 시각적으로 구별하지 않는, 구별가능성 임계치를 초과하는 거리이다. 일부 예들에서, 구별가능성 임계치는 사용자-정의, 하드-코딩, 또는 머신-생성될 수 있다.
네스트된 콘텐츠 및 컨텍스트 광학 요소들은 이전 도면들에 도시된 코드들 중 임의의 것에 적용될 수 있다. 일부 실시예들에서, 광학 코드는 콘텐츠 광학 요소들 및 컨텍스트 광학 요소들 양측 모두를 포함할 수 있다. 네스트된 콘텐츠 광학 요소들은, 데이터의 비트로서 각각 개별적으로 판독될 수 있거나 단일 컨텍스트 광학 요소로서 함께 판독될 수 있는 4개의 콘텐츠 광학 요소들의 블록이다. 제1 거리로부터, 광학 코드(700)는 행들(A 내지 B, C 내지 D, E 내지 F, G 내지 H, I 내지 J, K 내지 L, M 내지 N) 및 열들(1 내지 2, 3 내지 4, 5 내지 6, 7 내지 8, 9 내지 10, 11 내지 12, 13 내지 14)을 갖는 7×7 코드로서 나타난다. 도 2a에 도시된 이미지와 유사하게, 행(G 내지 H) 및 열(7 내지 8) 내의 광학 요소들은 파인더 광학 요소들이다. 도 7a의 머신 판독가능 광학 코드는, 그것이 네스트된 콘텐츠 광학 요소들을 허용하는 광학 요소들 내에서의 그래디언트들의 사용을 도시한다는 점에서 도 2a와는 상이하다.
도 7b 및 도 7c는 네스트된 콘텐츠 광학 요소들을 갖는 머신 판독가능 광학 코드들의 섹션들을 도시한다. 많은 머신 비전 시스템들에서, 시스템은 이미지에서 가장 밝은 톤 및 이미지에서 가장 어두운 톤을 검출함으로써 광학 요소가 "백색"인지 아니면 "흑색"인지를 판정한다. 이어서, 머신은 검출된 백색과 흑색 사이의 중간인 톤보다 더 어두운 어떤 것이 흑색인 것으로 결정된다고 판정함으로써 이미지를 "이진화한다". 중간(또는 50%) 톤보다 더 밝은 어떤 것이 백색인 것으로 결정된다. 이러한 동일한 원리는 콘텐츠 광학 요소들의 다수의 층들이 네스트될 때 적용될 수 있다.
2-층 콘텐츠 광학 요소의 하나의 그러한 예가 열들(11 내지 12)과 행들(C 내지 D)의 교차점을 포함하는 블록들에 도시되어 있다. 코드(700)를 생성할 때, 교차하는 열들(11 내지 12)과 행들(C 내지 D)로 구성된 블록(711)은 단일 블록으로서(컨텍스트 광학 요소로서) 함께 판독될 때 "0"으로서 점증적으로 디코딩된다. 머신 비전 시스템은 구역 내에서 가장 밝은 컬러로서 스케일(710)에 나타낸 음영(0,0)을 그리고 가장 어두운 컬러로서 스케일(710) 상에 나타낸 음영(1,1)을 검출하기 때문에, 광학 요소(C 내지 D, 11 내지 12) 내의 모든 블록들이 "0"으로 판독되도록 하기 위해, 711 내의 4개의 블록들 각각에서의 음영이 스케일(710) 상의 50% 라인 아래에 있어야 한다.
블록(711) 내의 4개의 콘텐츠 광학 요소들 각각에 네스트된 정보를 판독하거나 달리 디코딩하기 위해, 머신 비전 시스템은 블록(711)을 격리시키고 그것의 이진화기를 블록(711) 내의 음영들에 대해서만 교정할 수 있다. 음영들이 스케일(710)의 50% 라인 아래에 있기 때문에, 이진화기는 이어서 25% 라인 아래의 (예컨대, 휘도에 기초한) 흑색 레벨을 갖는 임의의 영역이 "0"이고, 25% 라인 위의 임의의 것이 "1"인 것으로 결정한다. 따라서, 711 및 712 내의 4개의 블록들이 단일 광학 요소로서 함께 판독될 때 "0"으로서 판독될 것이라 하더라도, 콘텐츠 광학 요소들로서 개별적으로 판독될 때, C11 및 D12는 "0"인 반면 C12 및 D11은 "1"이다.
유사하게, 블록(713)은, 컨텍스트 광학 요소로서 제1 거리로부터 판독될 때, "1"로서 판독될 필요가 있다. 이를 달성하기 위해, 스케일(710) 상의 50% 라인보다 큰 흑색의 음영들만이 사용되어, 컨텍스트 광학 요소(713)가 제1 거리로부터 판독될 때, 머신 비전 시스템이 모든 4개의 블록들이 "어두운 것 또는 "흑색"인 것으로 결정하도록 하는데, 이는 그들이 그래디언트 스케일 상에서 50% 라인 위에 있기 때문이다. 블록(714) 내의 콘텐츠 광학 요소들이 개별적으로 판독되는 경우, 머신 비전 시스템이 격리 시에 블록(714)을 판독할 때 50% 라인 위의 그래디언트 범위만을 보는 것에 기초하여 E11은 "0"이고 E12, F11, 및 F12는 "1"이다.
블록들 또는 광학 요소들(721 내지 726)은 3개의 레벨들의 네스트된 데이터를 사용하는 구현예를 보여준다. 블록(721)은, 제1 거리로부터 판독될 때, "1"인데, 그 이유는 흑색의 모든 음영들이 스케일(420) 상의 50% 라인보다 더 크기 때문이다. 그러나, (블록(722) 상에 나타난 바와 같이) 제2의 더 가까운 거리로부터 판독될 때, 광학 요소들(A11, A12)은 "0"으로서 판독되는데, 그 이유는 이러한 광학 요소들 각각 내에서의 음영들이 블록(722)을 이진화하는 데 사용되는 분할 포인트가 되었던 75% 라인 아래에 있기 때문이다. 광학 요소들(B11, B12)은 1로서 판독된다. 블록(723)이 제3의 (그리고 가장 가까운) 거리로부터 판독될 때, 머신 비전 시스템은 광학 요소들(A11, A12, B11, B12) 각각이 4개의 네스트된 광학 요소들로 구성됨을 검출할 수 있다. 광학 요소들(A11, A12)에서, 컬러 스펙트럼은 스케일(420) 상에서 1,0,0 내지 1,0,1의 범위이며, 따라서 A11 내의 4개의 네스트된 광학 요소들은 0,0,0,0으로 판독되고 A12 내의 4개의 네스트 광학 요소들은 1,1,0,1로 판독된다.
광학 요소(724)는 제1 거리에서 단일 컨텍스트 광학 요소로서 판독될 때 "0" 으로서 인코딩되며, 따라서, 광학 요소(724) 내에서 사용되는 모든 음영들은 스케일(720) 상에서 50% 블랙-레벨 라인 아래에 있다. 블록(725)이 제2 거리에서 4개의 별개의 콘텐츠 광학 요소들로서 판독될 때, 광학 요소(A11)는 "1"이고, A12, B11 및 B12는 각각 "0"이다. 블록(726)은 제1 또는 제2 거리 중 어느 하나보다 더 가까운 제3 거리에서 판독될 수 있는데, 여기서 블록(725)에 대해 언급되는 각각의 콘텐츠 광학 요소는 이제 4개의 별개의 콘텐츠 광학 요소들로서 판독될 수 있다. 블록(A11) 내의 콘텐츠 광학 요소들은 1,1,0,0이다. 블록(A12) 내의 콘텐츠 광학 요소들은 1,0,1,0이다. 블록(B11) 내의 콘텐츠 광학 요소들은 1,0,1,0이고, 블록(B12) 내의 콘텐츠 광학 요소들은 1,0,0,1이다. 50% 흑색-레벨 라인이 하나의 예로서 제공되지만, 100 내지 1% 사이의 임의의 값이 가능하다.
본 발명이 구체적으로 2-레벨 네스팅 및 3-레벨 네스팅을 기술하지만, 이미지 캡처 및 프로세싱 기술의 제한에 기초하여 임의의 원하는 레벨의 네스팅이 달성될 수 있다. 예를 들어, 5-레벨 네스팅을 갖는 코드를 구현하기 위해, 그래디언트 스케일은 컬러(또는 회색)의 25 또는 32개의 그래디언트들로 나뉠 필요가 있을 것이다.
도 8은 본 발명의 하나 이상의 기법들에 따른, 컴퓨팅 디바이스에 의해 수행되는 예시적인 동작들을 포함하는 흐름도(800)를 도시한다. 단지 예시를 위해, 예시적인 동작들이 아래에서 도 5 및 도 6의 컴퓨팅 디바이스(540)에 의해 수행된 것으로 기술된다. 도 8의 일부 기법들은 하나 이상의 이미지 캡처 디바이스들, 컴퓨팅 디바이스들 또는 다른 하드웨어에 의해 수행될 수 있다. 도 8에서, 컴퓨팅 디바이스(540)는 본 발명에 기술된 바와 같은 머신 판독가능 코드에 포함된 하나 이상의 광학 요소 세트들의 이미지를 수신한다(802). 이미지는 카메라와 같은 이미지 캡처링 디바이스에 의해 캡처된다.
컴퓨팅 디바이스(540)는 이미지가 시각적 폐색을 포함하는지의 여부를 판정할 수 있다(804). 일부 예들에서, 컴퓨팅 디바이스(540)는 머신 판독가능 코드를 표현하는 매트릭스의 적어도 하나의 에지에서 시각적 폐색이 발생하는지의 여부를 판정할 수 있다. 머신 판독가능 코드를 표현하는 매트릭스의 적어도 하나의 에지에서 시각적 폐색이 발생하지 않거나(806), 또는 어떠한 시각적 폐색도 존재하지 않는 경우, 컴퓨팅 디바이스(540)는 적어도 하나의 에지로부터의 하나 이상의 광학 요소들에 적어도 부분적으로 기초하여 머신 판독가능 코드에 의해 표현되는 메시지를 디코딩할 수 있다(810). 일부 예들에서, 컴퓨팅 디바이스(540)는 머신 판독가능 코드 내에 포함된 에러 정정 데이터를 사용하지 않고 메시지를 디코딩할 수 있다. 머신 판독가능 코드를 표현하는 매트릭스의 적어도 하나의 에지에서 시각적 폐색이 발생하는 경우(808), 컴퓨팅 디바이스(540)는, 이미지로부터의 에러 정정 데이터에 적어도 부분적으로 기초하여 그리고 시각적으로 폐색된 에지 내의 광학 요소들을 사용하지 않고서 메시지를 디코딩할 수 있다(812).
도 9는 본 발명의 기법들에 따른, 재귀반사성 물품 및 예시적인 요, 피치, 및 롤 축들을 도시한다. 일부 예들에서, 재귀반사성 물품(예컨대, 속도 제한 표지판)은 본 발명의 기법들에 따른 광학 코드를 포함할 수 있다. 일부 예들에서, 본 발명의 광학 코드는, 예컨대 도로 응용물들에서와 같은, 사회 기반 시설 식별 및 컨텍스트 통신을 위해 사용될 수 있다. 일부 예들에서, 광학 코드는 그것이 자세 정규화의 맥락에서 배치되는 2차원 바코드의 약간의 회전을 고려할 수 있다. 따라서, 폐색 강건성은 다른 가능한 구현예들 중 사회 기반 시설 응용예들에서 그러한 광학 코드들을 구현하는 것의 이점 또는 이익일 수 있다. 일부 예들에서, 광학 코드는 사전결정된 메시지에 맵핑되는 가변 비트 페이로드를 허용한다.
일부 예들에서, 본 발명의 광학 코드들은 도로 사회 기반 시설에 이점들을 제공할 수 있는 다수의 최적화 상태들을 포함시킴으로써 많은 다른 블록 매트릭스 코드들로부터 구별된다. 본 발명의 광학 코드들은 정확한 검출, 판독 거리, 및 코드 파괴의 공통 메커니즘들로부터의 에러 복구 사이에서 최적화될 수 있다.
사회 기반 시설의 환경으로 인해, 표지판들 및 사회 기반 시설 재료들은 공통 폐색들 및 변형들의 특정 세트를 갖는다. 본 발명의 광학 코드들은 이러한 타입의 폐색들에 대한 에러 정정 및 데이터 레이아웃을 최적화하거나 개선할 수 있다. 광학 코드는 다른 폐색 스타일들보다 에지 폐색들로부터의 데이터를 더 많이 복구할 수 있다. 에지 폐색들은 전형적인 사회 기반 시설 구동 시나리오들에서 우세할 수 있다.
일부 예들에서, 본 발명의 광학 코드들의 판독 거리를 증가시키기 위해, 이러한 광학 코드들은 코드 찾기 및 자세 추정에 전용되는 더 적은 수의 모듈들을 가질 수 있다. 이러한 파인더의 세부사항들이 본 명세서에서 추가로 논의된다.
일부 예들에서, 본 발명의 광학 코드들은 어떠한 메타 데이터 정보도 갖지 않을 수 있고, 특정 경우들에 있어서, 어떠한 콰이어트 존(quiet zone)도 갖지 않을 수 있다. 이는 데이터 매트릭스 및 QR 코드들과 같은 다른 인기있는 코드들로부터 광학 코드들을 구별한다. 메타 데이터 모듈들에서의 이러한 감소는 본 발명의 광학 코드들이 데이터 송신에 더 공간 효율적인 것을 허용할 수 있다. 물리적 코드 치수들이 표지판의 크기에 의해 경계지어지는 표지판의 경우, 공간 효율이 중요할 수 있다. 요구되는 모듈들의 수의 감소는, 데이터가 코드가 더 클 수 있기 때문에 더 멀리로부터 디코딩될 수 있음을, 또는 더 많은 에러 정정이 유사한 크기의 코드 상에 배치될 수 있음을 의미한다.
일부 예들에서, 본 발명의 광학 코드들은 하나의 사회 기반 시설의 전형적인 가정된 배향을 이용한다. 도 9는 임의의 물품이 사용될 수 있지만 표지판을 위한 축들을 도시한다. 일부 예들에서, 차량은, 작은 크기의 롤 회전, 작은 크기의 피치 회전, 및 잠재적으로 유의한 요 회전을, 최대값으로서 갖는 광학 코드를 갖는 표지판과 만날 것이다.
일부 예들에서, 다음과 같은 다양한 용어들이 언급될 수 있다.
일부 예들에서, "정렬 패턴"은 매트릭스 기호론에서 정의된 위치에 있는 고정된 기준 패턴일 수 있는데, 이는 디코드 소프트웨어가 이미지의 적정한 양의 왜곡의 경우에 이미지 모듈들의 좌표 맵핑을 재동기화하는 것을 가능하게 한다.
일부 예들에서, "블롭(blob)"은 쿼드(quad) 내에 포함된 추출된 이미지일 수 있다.
일부 예들에서, "클로킹 에지"는 타이밍 정보가 인코딩되는 광학 코드의 에지를 지칭할 수 있다.
일부 예들에서, "클로킹 패턴"은 타이밍 또는 클로킹 모듈들을 지칭할 수 있다.
일부 예들에서, "윤곽 추출"은, 가능한 한 적은 왜곡 또는 왜곡의 임계 레벨 미만의 왜곡으로 적절한 또는 유효한 모듈/코드 투영(perspective)을 유지하도록 작업하면서, 만곡된 또는 윤곽이 있는 표면을 평탄화하고 이를 2차원 편평 이미지로 분해하는 프로세스일 수 있다.
일부 예들에서, "인코딩 구역"은, 오버헤드 패턴들에 의해 점유되지 않고 데이터 및 에러 정정 코드워드들의 인코딩에 이용가능한 심볼의 구역일 수 있다. 일부 구현예들에서, 인코딩 구역은 버전 및 포맷 정보를 포함할 수 있었다.
일부 예들에서, "파인더 패턴"은 광학 코드 심볼의 존재를 식별/인식하는 데 사용되는 모듈들의 패턴일 수 있다. 다중 해상도 코드들 상에서, 파인더 패턴 및 클로킹 패턴이 최대 모듈들로부터 제조될 수 있다.
일부 예들에서, "고정 패턴"은 제위치에 고정된 광학 코드 심볼의 일부, 부분들 또는 섹션들일 수 있다. 이는 파인더 패턴, 타이밍 패턴 및 근처의 콰이어트 존 모듈들을 포함한다.
일부 예들에서, "커널 크기"는 픽셀들의 수 또는 다른 측정치에 관하여 정의되는 샘플 윈도우의 크기일 수 있다. 이러한 커널은 수학적 형태학적 연산들을 수행하는 데 이용될 수 있다.
일부 예들에서, "모듈 클리어런스"는 코드 주위의 공간을 지칭할 수 있다. 모듈 클리어런스는 어떠한 코드도 존재하지 않을 수 있는 요구되는 콰이어트 존을 정의할 수 있다. 일부 사이니지 구현예들(밝은 부분 상의 어두운 부분)에서, 모듈 클리어런스는 밝은 픽셀들의 공간일 수 있다.
일부 예들에서, "형태학적 개방"은 구조화 요소 B에 의한 세트 A의 침식(erosion)의 확장(dilation)으로,
Figure 112019042817747-pct00002
인데, 여기서
Figure 112019042817747-pct00003
Figure 112019042817747-pct00004
은 각각 침식 및 확장을 나타낸다. 개방(opening)은 이미지의 전경(보통, 밝은 픽셀들로서 취해짐)으로부터 작은 물체들을 제거하여, 이들을 배경에 배치할 수 있다.
일부 예들에서, "형태학적 폐쇄(closing)"는 구조화 요소 B에 의한 세트(이진 이미지) A의 폐쇄가 그 세트의 확장의 침식이라는 것으로,
Figure 112019042817747-pct00005
이고, 여기서
Figure 112019042817747-pct00006
Figure 112019042817747-pct00007
는 각각 확장 및 침식을 나타낸다. 폐쇄는 전경 내의 작은 구멍들을 제거하여, 배경의 작은 아일랜드들을 전경으로 변경할 수 있다.
일부 예들에서, "다중 해상도"는 단일 해상도 광학 코드들과는 상이할 수 있는, 단일 코드 내에 다수의 모듈 크기 클래스들을 갖는 광학 코드 심볼들을 의미할 수 있다.
일부 예들에서, "폐색"은 장애물로 인해 표지판의 섹션을 판독할 수 없다는 것을 의미할 수 있다. 이는 부분 또는 전체일 수 있다.
일부 예들에서, "오버헤드 패턴들"은 심볼의 위치 및 크기조정 특성들에 요구되는 파인더 패턴들 및 타이밍 패턴들을 포함하는 심볼의 오버헤드 컴포넌트들일 수 있다.
일부 예들에서, "쿼드"는 광학 코드의 위치를 정의하는 평행사변형의 4개의 코너들일 수 있다.
일부 예들에서, "콰이어트 존"은 배경으로부터 광학 코드를 분리하는 데 사용되는 버퍼 영역일 수 있다. 콰이어트 존 크기는 버퍼 또는 모듈 클리어런스를 구성하기 위해 요구되는 공간의 모듈들의 수로 특정될 수 있다.
일부 예들에서, "라머-더글라스-푸커(Ramer―Douglas―Peucker) 알고리즘"은, 라인 세그먼트들(폴리라인)로 구성된 곡선이 주어지면, 더 적은 포인트들을 갖는 유사한 곡선을 찾는 하나 이상의 동작들을 특정할 수 있다. 알고리즘은 원래의 곡선과 단순화된 곡선 사이의 최대 거리에 기초하여 '비유사성(dissimilar)'을 정의한다. 단순화된 곡선은 원래의 곡선을 한정한 포인트들의 서브세트로 이루어진다.
일부 예들에서, "반복 비트"는, 블록들 내의 섹션들을 중복으로 표현하여 그에 따라 폐색 복구를 허용하는 위치설정된 또는 위치확인된 비트들일 수 있다.
일부 예들에서, "재귀반사성"은 최소량의 산란으로 그리고 넓은 범위의 입사각으로부터 광원에서 증가되는 양의 광을 다시 반사시키도록 설계된 표면 또는 재료를 지칭할 수 있다.
일부 예들에서, "단일 해상도"는 다중 해상도 광학 코드와는 상이할 수 있는, 단지 하나의 모듈 크기를 갖는 광학 코드의 구현예를 지칭할 수 있다.
일부 예들에서, "타이밍 패턴"은 심볼 내의 모듈 좌표들이 결정될 수 있게 하는 어두운 모듈들과 밝은 모듈들의 교호하는 시퀀스일 수 있다.
일부 예들에서, 공식들 및 방정식들에서 사용된 수학적 심볼들은 그들이 나타나는 공식 또는 방정식 뒤에 정의된다. 본 문헌의 목적을 위해, 다음의 수학적 연산들이 적용된다:
Figure 112019042817747-pct00008
= 형태학적 개방
· = 형태학적 폐쇄
Figure 112019042817747-pct00009
= 확장
Figure 112019042817747-pct00010
= 침식
도 10은 본 발명의 기법들에 따른 광학 코드의 예시적인 구조를 도시한다. 참조의 용이성을 위해, 모듈 위치들은 심볼 내의 그들의 행 및 열 좌표들에 의해 (i, j) 형태로 정의되는데, 여기서 i는 행을 지정하고(상측으로부터 아래로 카운팅함), j는 모듈이 위치되는 열(좌측으로부터 우측으로 카운팅함)을 지정하고, 카운팅은 0에서 시작된다. 따라서, 모듈(0, 0)은 심볼의 상부 좌측 코너에 위치된다. 일부 예들에서, 다중 해상도 광학 코드에서, 하나 초과의 모듈 크기가 있다. 크기들이 분류되어 모듈 크기별로 참조될 수 있다. 따라서, 최대 모듈 클래스는 1로 라벨링될 수 있다. 크기 1은 크기 2보다 더 큰 모듈을 가질 것이고, 크기 2는 크기 3보다 더 큰 모듈들을 가질 것이고, 등등이다.
일부 예들에서, 버전 정보는 광학 코드 내에 인코딩되지 않으며; 그 대신, 모든 파인더 템플릿들이 후보 이미지에 대해 체크된다. 다른 예들에서, 버전 정보는 광학 코드 내로 인코딩될 수 있다.
일부 예들에서, 본 발명에 따라 구현된 광학 코드는 다음의 특성들을 포함할 수 있다:
a) 포맷:
1) 폐색 복구 능력과 데이터 용량의 사전결정된 균형을 갖는 단일 해상도 코드.
2) 인코딩된 정보의 다수의 층들 및 각각의 층에 대한 폐색 복구 능력과 데이터 용량의 균형을 갖는 다중 해상도 코드.
b) 인코딩가능 데이터:
1) 단일 해상도: 수치 데이터 단독. 유효 숫자들의 범위는 1 내지 2(#데이터 비트들)일 수 있다.
2) 다중 해상도 코드: 하나의 층 각각마다 수치 데이터. 유효 숫자들의 범위는 해당 층에 대해 1 내지 2(#데이터 비트들)일 수 있다. 2-층 다중 해상도 광학 코드의 하나의 구현예에서, 제1 층은 US 표지판에 대한 MUTCD(연방 고속도로국에 의해 공개됨) 번호를 표현한다.
c) 데이터의 표현:
어두운 모듈은 명목상 이진수 "0"이고, 밝은 모듈은 명목상 이진수 "1"이다. 이러한 표현은 특정 응용예들에 대해 반전될 수 있다.
d) 심볼 크기(콰이어트 존을 포함하지 않음):
1) 단일 해상도 코드: 적어도 폭이 5개의 모듈들 및 높이가 5개의 모듈들이지만, 0 초과의 임의의 수가 가능할 수 있다. 일부 예들에서, 코드에 대한 상한은 없지만, 예시적인 최대 크기는 높이 또는 폭이 21개의 모듈들이다. 일부 예들에서, 그러한 치수들에 사용되는 최대 크기는 0 초과의 임의의 수치일 수 있다.
2) 다중 해상도 코드: 계층 1 모듈들에 의해 정의되는 바와 같이 적어도 폭이 7개의 모듈들 및 높이가 7개의 모듈들이지만, 0 초과의 임의의 수가 가능할 수 있다. 일부 예들에서, 정의된 상한은 없다. 일부 예들에서, 그러한 치수들에 사용되는 최대 크기는 0 초과의 임의의 수치일 수 있다.
e) 코드 타입: 매트릭스
f) 배향 독립성:
예. 일부 예들에서, 광학 코드는 배향 독립성을 갖는다. 다른 예들에서, 광학 코드는 배향 의존적일 수 있다. 일부 예들에서, 고정 배향은 코드 설계 및 디코딩 알고리즘에서 특정 이점들을 허용할 수 있다.
일부 예들에서, 광학 코드들은 반사율 반전(reflectance reversal)을 사용할 수 있다. 심볼들은 이미지가 밝은 부분 상의 어두운 부분이거나 어두운 부분 상의 밝은 부분 중 어느 하나인 것으로 마킹될 때 판독되도록 의도될 수 있다. 일부 예들에서, 사양은 밝은 배경 상의 어두운 이미지들에 기초하지만, 이것이 사실이 아닌 경우에, 그러면, 밝은 모듈들은 어두운 모듈들로서 취해질 수 있고, 어두운 모듈들은 밝은 모듈들로서 취해질 수 있다. 일부 디코딩 기법들은 표준 코드들 및 반사율 반전 코드들 양측 모두를 디코딩하려고 시도하지 않을 수도 있지만; 양측 모두를 동시에 디코딩하는 것은 또한 다른 예들에서 수행될 수 있다.
일부 예들에서, 반복되는 비트들이 광학 코드들과 함께 사용될 수 있다. 예를 들어, 폐색 복구에 대한 가능성을 추가로 증가시키기 위해, 광학 코드들은 반복되는 비트들을 활용할 수 있다.
도 10에 도시된 바와 같이, 광학 코드들은 코드 스타일 및 데이터 페이로드에 의해 지시된 규칙들에 따라 위치되거나 레이아웃되는 정사각형 모듈들의 세트로 이루어진 직사각형 매트릭스들일 수 있다.
도 11은 본 발명의 기법들에 따른 단일 해상도 광학 코드를 도시한다. 단일 해상도 광학 코드는 콰이어트 존을 포함하지 않고서 적어도 폭이 5개의 모듈들 및 높이가 5개의 모듈들일 수 있지만, 0 초과의 임의의 수가 가능할 수 있다. 일부 예들에서, 코드의 크기에 대한 절대 상한은 없다.
도 12는 본 발명의 기법들에 따른 다중 해상도 광학 코드를 도시한다. 다중 해상도 광학 코드는 다양한 크기의 모듈들로 구성될 수 있다. 모듈들은 여전히 정사각형 형상일 수 있고, 특정 해상도 데이터 페이로드의 모든 모듈들이 동일한 크기의 것이 되도록 생성될 수 있다. 일부 예들에서, 크기에 대한 기준 모듈들은 최대 모듈에 대한 것이다. 일부 예들에서, 데이터 페이로드들이 분류되어 모듈 크기별로 참조된다. 일부 예들에서, 데이터 페이로드 1은 데이터 페이로드 2보다 더 큰 모듈들을 가질 수 있고, 이 데이터 페이로드 2는 데이터 페이로드 3보다 더 큰 모듈들을 가질 수 있고, 등등이다.
일부 예들에서, 다중 해상도 광학 코드에 대한 최소 크기는 적어도 폭이 7개의 모듈들 및 높이가 7개의 모듈들이지만, 0 초과의 임의의 수가 가능할 수 있다. 일부 예들에서, 다중 해상도 광학 코드에 대한 최대 크기는 없다. 일부 예들에서, 데이터 페이로드의 최대 수는 없다. 일부 예들에서, 코드들은 크기가 15개의 모듈들보다 크지 않을 수 있고, 2개의 데이터 페이로드들이 전형적으로 사용된다.
도 12는 2개의 페이로드들을 갖는 다중 해상도 코드에 대한 예시적인 레이아웃을 도시한다. 도 12에서, 최대 모듈들 및 이에 따라 최대 거리로부터 판독될 수 있는 것들이 번호매김된 블록들에 의해 표시된다. 모듈들의 제2 해상도는 소문자 표기 블록들에 의해 표시된다. 이 코드에서 데이터 페이로드 1 및 데이터 페이로드 2 양측 모두는 크기가 8 비트이지만, 이것이 필수적인 조건은 아니다. 각각의 페이로드의 블록 크기는 다른 페이로드의 블록 크기와는 독립적일 수 있다. 실제로, 데이터 페이로드 1의 블록 크기들은 임의의 다른 데이터 페이로드 블록 크기 이하일 수 있다.
일부 예들에서, 광학 코드에 대한 파인더 패턴 및 클로킹 패턴은, 코드를 찾는 것과 물체 자세를 정규화하는 것 양측 모두에 필요한 모듈들을 임계치 미만으로 최소화하거나 감소시키도록 선택될 수 있다. 일부 예들에서, 이러한 파인더 패턴 및 클로킹 패턴은 데이터 및 에러 정정에 대한 더 큰 비율의 코드 공간을 산출하기 위해 크기가 감소될 수 있다.
도 13 및 도 14는 광학 코드에 대한 파인더 패턴 및 클로킹 패턴을 도시한다. 광학 코드의 파인더 패턴 코너들은 콰이어트 존의 반대 컬러일 수 있거나 또는 항상 반대 컬러이다. 클로킹 패턴은 상부 에지를 따라 배치될 수 있고, 백색 모듈과 어두운 모듈 사이에서 교번할 수 있다. 이러한 동작에 대한 예외는 광학 코드의 폭이 모듈들의 수에 있어서 짝수일 때일 수 있다. 이 경우에, 중간의 2개의 모듈들은 양측 모두 동일한 컬러이다. 일부 예들에서, 파인더 패턴 규칙 및 클로킹 패턴 규칙은 단일 해상도 및 다중 해상도 광학 코드들 양측 모두에 적용된다. 다중 해상도 코드들 상에서, 파인더 패턴 및 클로킹 패턴이 최대 모듈들로부터 제조될 수 있다.
일부 예들에서, 콰이어트 존은 광학 코드의 모든 4면 상에 모든 다른 마킹이 없어야 한다. 파인더 패턴의 폭이 적어도 1개의 모듈일 수 있지만, 0 초과의 임의의 수가 가능할 수 있다. 다중 해상도 코드들의 경우, 폭은 적어도 광학 코드에 포함된 가장 큰 모듈 크기의 것일 수 있다. 반전된 코드 스타일의 경우, 코드의 모든 모듈들은 반전되어, 코드 둘레의 밝은 대역이 되고 폭이 적어도 2개의 모듈들로 증가하는 콰이어트 존을 포함할 수 있지만, 0 초과의 임의의 수가 가능할 수 있다.
광학 코드가 재귀반사성 물품(예컨대, 교통 표지판)에 부착된 경우, 배경은 충분한 파인더 패턴으로서 작용할 수 있다. 그러한 예들에서, 추가의 파인더 패턴이 필요하지 않을 수도 있다. 광학 코드는 재귀반사성 물품의 외측 에지 상의 파인더 패턴 및 클로킹 패턴으로 생성될 수 있다.
일부 예에서, 광학 코드에 대한 반복되는 비트 패턴은 리던던시를 블록들에 추가함으로써 폐색들의 효과를 최소화하거나 임계치 아래로 감소시키도록 구현될 수 있다. 일부 예들에서, 반복되는 비트들은 특정 블록들 상에서 더 큰 레벨의 폐색들을 가능하게 하도록 위치될 수 있다.
도 13 및 도 14는 본 발명의 기법들에 따른 상이한 클로킹 패턴들을 도시한다. 도 13은 짝수 크기의 클로킹 패턴을 도시한다. 도 14는 홀수 크기의 클로킹 패턴을 도시한다.
도 15는 본 발명의 하나 이상의 기법들에 따른, 광학 코드 내에 포함될 수 있는 순환 또는 반복 비트들을 도시한다. 예를 들어, 도 15는 반복되는 비트들을 사용하는 예를 나타낸다. 도 15에서, 데이터 및 에러 정정 블록들로부터의 특정 비트들이 반복되고 패딩(padding) 비트들에 사용된다. 이는, 디코딩 시의, 더 큰 잠재적인 폐색 복구를 허용하는 효과를 갖는다.
일부 예들에서, 인코딩 절차는 하나 이상의 컴퓨팅 디바이스들에 의해 구현될 수 있다. 인코딩 절차는 데이터를 광학 코드에 포함된 패턴 또는 다른 시각적 표지로 변환할 수 있다. 다음의 동작들은 단일 해상도 광학 코드에 대한 인코딩의 일례를 제공하고, 데이터의 각각의 층에 대한 동작들을 반복함으로써 다중 해상도가 생성될 수 있다.
동작 1: 코드 선택. 컴퓨팅 디바이스는, 예를 들어, 데이터 블록들 및 에러 정정 블록들의 수 또는 임의의 다른 적합한 파라미터들과 같은 파라미터들에 기초하여 광학 코드를 선택한다.
동작 2: 데이터 인코딩. 컴퓨팅 디바이스는 수 또는 다른 값을 이진 비트 스트림으로 변환하고, 비트 스트림을 선택된 블록 크기로 분할한다.
동작 3: 컴퓨팅 디바이스는 에러 정정 코드들을 계산할 수 있는데, 이는 인코딩된 데이터에 대한 에러 정정 데이터 블록들을 계산하는 것을 포함할 수 있다.
동작 4: 컴퓨팅 디바이스는, 각각의 블록으로부터의 데이터 및 에러 정정 코드들을 첨부하고 반복 또는 패딩 비트들을 추가함으로써 최종 메시지를 구조화할 수 있다.
동작 5: 컴퓨팅 디바이스는, 구성 디바이스와 함께, 최종 메시지에 기초하여 매트릭스 내에 모듈들을 배치할 수 있다. 컴퓨팅 디바이스는 구성 디바이스가 파인더 패턴 및 클로킹 패턴과 함께 매트릭스 내에 코드워드 모듈들을 배치하게 할 수 있다. 다중 해상도 광학 코드들의 경우, 파인더 패턴 및 클로킹 패턴은 일부 예들에서 최대 모듈 상에만 배치될 수 있다.
일부 예들에서, 인코딩 절차들은 하나 이상의 동작들을 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스는 주어진 광학 코드 레이아웃에 대한 의도된 데이터 페이로드를 결정할 수 있다. 인코딩될 수는 빅 엔디안(big endian) 이진 수로 변환될 수 있다. 이어서, 컴퓨팅 디바이스는 전체 데이터 비트 공간이 소모될 때까지 그 수를 선행-제로(leading zero)들로 패딩할 수 있다.
일부 예들에서, 컴퓨팅 디바이스는 생성된 비트 스트림을 가변 비트 코드워드들로 분할할 수 있다. 컴퓨팅 디바이스는 버전에 필요한 다수의 데이터 코드워드들을 충전할 문자들을 패딩할 수 있다. 일부 예들에서, 컴퓨팅 디바이스는 입력 데이터 스트링을 분석하여, 그의 콘텐츠를 결정하고 디폴트 또는 다른 적합한 ECI(Extended Channel Interpretation), 및 본 명세서에 기술된 바와 같은 각각의 시퀀스를 인코딩하기 위한 적절한 모드를 선택할 수 있다.
일부 예들에서, 컴퓨팅 디바이스는 에러 정정 코드워드들로 인코딩을 수행할 수 있다. 컴퓨팅 디바이스는 단일 및 다중 해상도 광학 코드 양측 모두에 대한 데이터 및 에러 정정 코드워드들을 생성하기 위해 하나 이상의 동작들을 수행할 수 있다. 예를 들어, 컴퓨팅 디바이스는 주어진 광학 코드 레이아웃에 대한 의도된 데이터 페이로드를 결정할 수 있다. 인코딩될 수 또는 값은 컴퓨팅 디바이스에 의해 빅 엔디안 이진 수로 변환될 수 있다. 그 수는 전체 데이터 비트 공간이 소모될 때까지 선행-제로들로 컴퓨팅 디바이스에 의해 패딩될 수 있다.
심볼 프린팅 및 마킹을 위한 다양한 기법들이 본 명세서에 기술된다. 단일 해상도 광학 코드의 경우, X 치수, 예를 들어, 모듈의 폭은 다음을 포함하지만 이로 한정되지 않는 파라미터들을 특정하는 사람 또는 머신 생성 입력에 의해 특정될 수 있다: 판독될 거리, 고정된 물리적 크기 심볼에 대해 요구되는 데이터 페이로드, 사용된 스캐닝 기술, 및 심볼을 생성하는 데 사용된 기술, 또는 임의의 다른 적합한 파라미터들. Y 치수에 대해, 모듈의 높이는 일부 예들에서 X 치수와 동일할 수 있는 반면, 다른 예들에서 X 및 Y 치수들은 상이할 수 있다. 일부 예들에서, 최소의 콰이어트 존에 대해, 컴퓨팅 디바이스는 콰이어트 존(어두운 부분 상의 백색 부분, 비가시광 스펙트럼을 가짐)을 정의하지 않을 수 있지만, 다른 경우에, 최소 하나의 모듈의 콰이어트 존이 사용될 수 있거나, 휴지 구역의 최소 2개의 모듈들이 사용될 수 있거나, 또는 1보다 큰 임의의 다른 수가가 사용될 수 있다.
다중 해상도 광학 코드의 경우, X 치수, 예를 들어, 최소 모듈의 폭은 다음을 포함하지만 이로 한정되지 않는 파라미터들을 특정하는 사람 또는 머신 생성 입력에 의해 특정될 수 있다: 판독될 거리, 고정된 물리적 크기 심볼에 대해 요구되는 데이터 페이로드, 사용된 스캐닝 기술, 심볼을 생성하는 데 사용된 기술, 또는 임의의 다른 적합한 파라미터.
일부 예들에서, 각각의 더 큰 모듈 크기 클래스는 최소 모듈 크기의 배수일 수 있다. 활용되는 모듈 크기 클래스들의 수는 광학 코드에서 인코딩될 데이터의 양에 기초할 수 있고, 더 큰 거리에서 디코딩될 수 있는 더 큰 모듈 클래스들과, 더 높은 데이터 밀도를 포함할 수 있는 더 작은 모듈 클래스들의 균형이 생성될 수 있다. 일부 예들에서, 컴퓨팅 디바이스는 2개의 모듈 클래스 크기들을 결정할 수 있지만, 임의의 정의된 클래스 크기들이 가능하다. Y 치수에 대해, 모듈의 높이는 일부 예들에서 주어진 모듈 클래스에 대해 X 치수와 동일할 수 있는 반면, 다른 예들에서 X 및 Y 치수들은 상이할 수 있다.
일부 예들에서, 콰이어트 존 크기는 파인더 모듈, 타이밍 모듈, 및 다른 오버헤드 모듈인 것과 같이, 광학 코드를 위해 컴퓨팅 디바이스에 의해 활용되는 최대 모듈 크기에 기초한다. 최소 콰이어트 존은 하나의 클래스 1(최대) 모듈일 수 있고, 일부 예들에서는, 콰이어트 존 버퍼의 2개의 모듈들이 있을 수 있다. 다른 예에서, 최소 콰이어트 존 및 콰이어트 존 버퍼 크기들은 0 초과의 임의의 수일 수 있다.
일부 예들에서, 인간 판독가능 또는 인간 해석가능 서술이 사용될 수 있다. "인간 해석가능"은 인간의 이해를 위해 의도된 형태를 의미할 수 있다. 일부 예들에서, 첨부된 인간 판독가능 서술은 광학 코드를 수반할 수 있다. 그러나, 다른 예들에서, 데이터 문자들의 인간 판독가능 해석은 실용적이지 않을 수도 있다. 대안으로서, 문자대로의 텍스트보다는 서술적 텍스트가 광학 코드를 수반할 수 있다. 문자 크기 및 폰트는 특정되지 않을 수도 있으며, 메시지는 광학 코드를 둘러싸는 영역 내의 어디에나 프린팅될 수 있다. 일부 예들에서, 인간 판독가능 해석은 광학 코드 자체나 콰이어트 존들 어느 것과도 간섭하지 않을 수 있지만, 기능에 간섭하지 않는 방식으로 그렇게 행해지는 경우에는 광학 코드 또는 그의 콰이어트 존들 위에 또는 그 아래에 프린팅될 수 있다.
일부 예들에서, 심볼 품질 파라미터들이 정의되고 사용될 수 있다. 그리드 불균일성에 대해, 그리드는 본 명세서에 제공된 바와 같은 기준 디코드 알고리즘의 사용에 의해 위치된 바와 같이, 앵커 포인트들로서 파인더 패턴들 및 정렬 패턴들을 사용함으로써 계산될 수 있다. 일부 예들에서, 컴퓨팅 디바이스는, 그리드의 균일성을 평가하기 위해, 코드가 만곡된 표면 상으로 랩핑된 경우에 이미지를 평탄화할 수 있다. 광학 코드가 만곡된 표면 상으로 구현되는 경우에, 그리드 불균일성 측정치는 이미 평탄화된 이미지에 대해 컴퓨팅 디바이스에 의해 수행될 수 있다.
스캔 등급의 경우, 스캔 등급은 심볼 콘트라스트, 변조, 고정 패턴 손상, 디코드, 축방향 불균일성, 그리드 불균일성 및 심볼의 개별 이미지에서의 미사용 에러 정정에 대해 등급들의 최저치(또는 임계치 미만)일 것이다. 전체 심볼 등급은 하나 초과의 이미지가 분석되는 경우에 개별 스캔들의 평균일 수 있다.
일부 예들에서, 컴퓨팅 디바이스는 본 명세서에서 기술되는 바와 같은 하나 이상의 디코딩 동작들을 수행할 수 있다. 예를 들어, 컴퓨팅 디바이스는 광학 코드의 이미지를 획득할 수 있다. 컴퓨팅 디바이스는 이미지 내의 광학 코드의 위치를 확인(예컨대, 식별)할 수 있고, 밝은 및 어두운 모듈들을 1(밝음) 및 0(어두움)(또는 반전된 코드들의 경우 역)으로 변환할 수 있다. 컴퓨팅 디바이스는 후보 코드 스타일들에 대한 파인더를 탐색함으로써 코드 크기/스타일을 식별할 수 있다. 컴퓨팅 디바이스는 코드 레이아웃 맵을 사용하여 Reed-Solomon 코드워드들을 추출할 수 있다. 다수의 해상도들을 포함하는 스타일들의 경우, 컴퓨팅 디바이스는 하나 이상의 정의된 해상도들에서 코드를 리샘플링할 수 있으며, 하나 이상의 정의된 레이아웃들을 사용하여 추가 코드워드들을 추출할 수 있다. 일부 예들에서, 컴퓨팅 디바이스는 각각의 추출된 코드 해상도에 대한 적절한 코드워드 크기들 및 에러 정정 레벨들을 위한 Reed-Solomon 디코더를 구성할 수 있고, 이어서 컴퓨팅 디바이스는 각각에 대한 에러들을 검출 및 정정할 수 있다. 컴퓨팅 디바이스는 본 명세서에 기술된 하나 이상의 동작들에서 추가 프로세싱을 위해 정정가능하였거나 정정이 요구되지 않았던 페이로드를 생성하거나 달리 제공할 수 있다.
도 16은 본 발명의 기법들에 따른 기준 디코드 알고리즘을 도시한다. 기준 디코드 알고리즘은, 인식되고 있는 광학 코드가, 코드를 주변 환경보다 더 밝게 만들기에 충분한 광 세기로 이미징 센서와 병치된 광원에 의해 조명될 수 있는 재귀반사성 패러다임을 구현할 수 있다.
도 16에 도시된 바와 같이, 기준 디코드는 쿼드 추출을 포함하는 하나 이상의 동작들을 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스는 이미지 내의 비-재귀반사성 요소들(태양 또는 다른 광원들로부터의 주변 조명)보다 더 밝은, 이미지에 대한 하나 또는 다수의 임계치들(예컨대, 8-비트 이미지들에 대해 80, 50, 33)을 결정할 수 있다. 컴퓨팅 디바이스는 이러한 임계치를 사용하여 이미지를 임계 픽셀들 위 및 아래의 이진 이미지(또는 이미지들)로 변환할 수 있다. 반전된 코드들의 제2 패스를 위해, 컴퓨팅 디바이스는 8 비트 이미지들에 대해 210, 230의 픽셀 값 임계치들을 사용할 수 있다.
컴퓨팅 디바이스는 작은 커널 크기(예컨대: 3×3 px 직사각형, 그러나 0 초과의 임의의 수들이 가능할 수 있음)를 갖는 형태학적 개방을 수행하여, 이미지 내의 포인트 반사성 요소들 및 다른 밝은 아티팩트들을 제거할 수 있다. 일부 예들에서, 이 동작은 반전된 코드 탐색을 갖는 제1 패스의 경우에 스킵될 수 있다. 컴퓨팅 디바이스는 광학 코드 모듈들을 단일 블롭들로 연결하도록, 또는 반전된 코드들이 주변의 밝은 콰이어트 존 내의 구멍들/결함들을 충전하게 하도록 형태학적 폐쇄 동작을 수행할 수 있다. 반전된 코드에 대해, 이 커널 크기는 9×9 px와 같이 작을 수 있는데(그러나 0 초과의 임의의 수들이 가능할 수 있음), 이는 이미지가, 광학 코드가 구현되는 물품 둘레에 밝은 거의 인접한 콰이어트 존들을 가질 수 있기 때문이다. 비반전된 코드들의 경우, 컴퓨팅 디바이스는 상이한 크기들/스케일들(예컨대, 15×15, 45×45, 90×90, 그러나 0 초과의 임의의 수들이 가능할 수 있음)에서의 코드들을 처리하기 위해 다수의 형태학적 개방 커널들을 사용할 수 있다.
일부 예들에서, 컴퓨팅 디바이스는 사변형(quadrilateral)에 대한 윤곽을 재근사화하기 위해 Ramer―Douglas―Peucker 알고리즘을 사용할 수 있다. 컴퓨팅 디바이스는 긴 에지들을 단일 세그먼트들(예컨대, 윤곽선 주연부의 0.2%)로 감소시킬 수 있는 근사화 정확도(엡실론(epsilon))를 사용할 수 있다. 일부 예들에서, 4개 초과의 세그먼트들(곡선형 코너들을 갖는 표지판들, 쿼드로서 잘 표현되지 않은 형상들 등)이 남아 있는 경우, 컴퓨팅 디바이스는 결합 쿼드를 빼내기 위해 그들의 교차 포인트들의 계산과 함께 최장 4를 사용할 수 있다. 대안으로(또는 추가로), 컴퓨팅 디바이스는 단지 4개의 세그먼트들이 남아 있을 때까지 엡실론을 조정할 수 있다(경계 박스 완성 없이 단독으로 사용되면, 더 가변적인 쿼드 코너 선택을 야기하는 경향이 있음). 일부 예들에서, 컴퓨팅 디바이스는 생성된 사변형의 종횡비(예컨대, 0.3 내지 3) 및 코너 각도들(예컨대: std(각도) < 10도)을 체크하여 직사각형과는 현저히 상이한(예컨대, 임계치 초과인) 후보들을 폐기할 수 있다.
일부 예들에서, 기준 디코드 알고리즘은 블롭 추출을 수행할 수 있다. 예를 들어, 컴퓨팅 디바이스는 사변형의 사변형 구역에 대해 표준화된 크기(예컨대: 다양한 코드 크기 에지 길이들의 공통 배수, 11×11 및 9×9 -> 99×99, 그러나 0 초과의 임의의 수들이 가능할 수 있음)로의 투영 변환을 수행할 수 있다. 반전된 코드들을 탐색하는 경우, 물품 상의 모듈들에 대해 그것이 2 ppm보다 현저히 더 크다는 것을 보장하기 위해 과도한 해상도(예컨대, 297×297, 그러나 0 초과의 임의의 수들이 가능할 수 있음)가 제공될 수 있다. 8×8 이웃에 걸친 Lanczos 내삽과 같은 고차 내삽법의 사용은 코드 에지들을 보존할 수 있다.
일부 예들에서, 컴퓨팅 디바이스는 반전된 코드들을 탐색하는 경우에 사용될 수 있는 제2 또는 다수의 추가 패스들을 수행할 수 있다. 컴퓨팅 디바이스는 좌측 에지로부터의 폭의 5%, 우측 에지로부터의 폭의 5%, 상부로부터의 높이의 5%, 하부로부터의 높이의 5%를 트리밍할 수 있다. 현재의 경우에, 5%는 일례이지만, 1% 초과의 임의의 다른 백분율이 사용될 수 있다(예컨대, 1% 내지 25%의 범위). 컴퓨팅 디바이스는 이미지로부터 5% 백분위수 값(암화(darken) 코드)을 감산할 수 있다. 일부 예들에서, 컴퓨팅 디바이스는 최대 및 최소 값들을 0 내지 255로 정규화할 수 있다. 컴퓨팅 디바이스는 1의 클립 한도 및 4×4 그리드를 갖는 콘트라스트 제한된 적응적 히스토그램 등화를 적용할 수 있다. 다른 예들에서, 클립 한도 및 그리드 크기는 1 초과의 임의의 수일 수 있다. 컴퓨팅 디바이스는 이미지를 반전시킬 수 있다(예컨대, 255-(픽셀 값들)). 컴퓨팅 디바이스는 각각의 에지 상의 55개(또는 0 초과의 임의의 다른 적합한 수)의 픽셀들을, 평균 값(나중에 형태 폐쇄를 위해 사용되는 최대 커널보다 더 큼)으로 패딩할 수 있다.
컴퓨팅 디바이스는 쿼드 및 블롭 추출을 반복할 수 있고, 다음 단계의 파인더 탐색으로 넘어갈 수 있다. 일부 예들에서, 컴퓨팅 디바이스는, 블롭 추출을 위해, 쿼드 추출에서의 임계치들을 210 및 230의 픽셀 값들로 대체할 수 있지만, 0 초과의 다른 예시적인 임계치들이 가능하다. 컴퓨팅 디바이스는 3×3 형태 개방 커널을 사용할 수 있지만, 각각의 치수에 대해 0 초과의 다른 치수들이 가능하다. 컴퓨팅 디바이스는 형태학적 폐쇄를 위한 커널 크기들을 25×25, 35×24, 45×45로 대체할 수 있지만, 각각의 크기가 0 초과인 임의의 다른 치수들이 가능하다. 컴퓨팅 디바이스는 블롭 추출을 위해 108×108의 출력 블롭 크기를 사용할 수 있지만, 각각의 크기가 1 초과인 임의의 다른 치수들이 가능하다. 컴퓨팅 디바이스는 3의 직경(그러나, 0 초과의 임의의 직경이 가능함), 및 공간과 컬러 양측 모두에 대해 40의 시그마를 갖는 양면 필터를 적용할 수 있지만, 0 초과의 임의의 시그마가 가능할 수 있다. 일부 예들에서, 컴퓨팅 디바이스는 최대 및 최소 값들을 0 내지 255로 정규화할 수 있다. 컴퓨팅 디바이스는 이미지를 반전시킬 수 있다(255-(픽셀 값들)). 컴퓨팅 디바이스는, 반전된 코드들을 탐색하는 경우에만, 소스 블롭들을 제1 패스로부터 떨어뜨릴 수 있다.
일부 예들에서, 기준 디코드 알고리즘은 파인더 탐색을 수행할 수 있다. 예를 들어, 컴퓨팅 디바이스에 의해 구현되는 파인더 탐색은 쿼드를 탐색되고 있는 광학 코드 형상들(예컨대: 11×11, 9×9, N×N, 또는 N×M)로 내삽할 수 있고, 임계화(threshold)할 수 있고, 이진화할 수 있으며, 다양한 회전에서 파인더 모듈 구성과 비교할 수 있다. 컴퓨팅 디바이스는 얼마나 많은 모듈들이 파인더 구역과 매칭되는지에 의해 후보들을 스코어링할 수 있다.
일부 예들에서, 기준 디코드 알고리즘은 광학 코드로부터의 데이터를 디코딩할 수 있다. 예를 들어, 컴퓨팅 디바이스는 파인더 탐색으로부터 최고 또는 높은 스코어링 후보(들)로부터의 이진화된 이미지를 사용할 수 있고, 대응하는 코드 레이아웃에 따라 코드워드들을 추출할 수 있다. 일부 예들에서, 밝은 섹션들은 이진 1을 반영하고, 어두운 섹션들은 0을 반영한다(반전된 코드들의 경우, 이는 원래의 이미지 캡처에서 반대임). 컴퓨팅 디바이스는 원래의 이미지를 내삽할 수 있고, 존재하는 코드들의 임의의 추가 해상도들에 대해 이진화할 수 있으며, 적절한 레이아웃 맵을 사용하여 코드워드들을 추출할 수 있다. 컴퓨팅 디바이스는, 본 발명에서 기술된 바와 같이, 대응하는 코드 스타일의 블록 크기(들)에 대한 Reed-Solomon 에러 정정, 정정가능한 블록(들)을 구성할 수 있고, 에러 정정을 수행할 수 있다. 일부 예들에서, 컴퓨팅 디바이스는 본 명세서에 기술된 하나 이상의 동작들에서 사용하기 위해 에러 정정을 사용하여 정확한 또는 정정가능한 코드들에 대한 페이로드(들)를 생성하거나 제공할 수 있다.
도 17 및 도 18은 본 발명의 기법들에 따른, 물품들 상에 구현된 광학 코드들에 대한 모듈 클리어런스들을 도시한다. 도 17은 에지에서 1개의 모듈 클리어런스를 갖는 샘플 광학 코드 레이아웃을 도시한다. 도 18은 다이아몬드 물품 형상(예컨대, 사회 기반 시설 물품) 상의 다른 45도 반시계방향 회전된 레이아웃을 도시한다.
광학 코드는 도 17 및 도 18에 도시된 바와 같은 코드의 클로킹 에지가 표지판의 상부를 향해 배향되도록 물품들 또는 사이니지 상에서 구현될 수 있다(예컨대, 도 17). 일부 예들에서, 이는 컴퓨팅 디바이스가 장면 내의 코드들을 위치확인하고 디코딩할 때 추가 가정이 이루어질 수 있도록 행해진다. 일부 예들에서, 광학 코드들은 콰이어트 존을 남기지만 또한 코드 내의 모듈 크기들을 최대화하도록 표지판 에지로부터 최대 1개 모듈까지 연장될 수 있다. 일부 예들에서는, 최대 및/또는 최소 콰이어트 존이 없다.
반전된 코드 스타일의 경우, 콰이어트 존/에지 클리어런스는 크기가 최소 2개의 모듈들로 증가할 수 있다. 이러한 구성에서는 최대 콰이어트 존이 없을 수 있지만, 제1 패스 동안의 블롭 추출은 디코딩을 위해 코드 모듈들에 대한 충분한 해상도를 남길 수 있다(적어도 2 ppm이지만 잠재적으로 더 클 수 있음).
일부 변형들은 클로킹 에지가 표지판(도 18, 45도 반시계 방향으로 회전됨)의 상부 좌측 에지와 평행하게 배향될 수 있는 다이아몬드 형상의 표지판에서와 같이, 표지판 크기에 대한 코드의 최대 크기를 가능하게 하도록 허용된다. 그러나, 광학 코드가 비회전 레이아웃(상부 에지를 따라 클로킹됨)에서 클리어런스의 적어도 하나의 모듈을 갖는 표지판 상에 배치될 수 있는 경우, 이는 이미징 성능을 향상시키고/시키거나 최대화할 수 있다.
일부 예들에서, 컴퓨팅 디바이스는 에러 검출을 수행하고/하거나 정정 원시 다항식들을 사용할 수 있다. Reed-Solomon 에러 정정은 컴퓨팅 디바이스에 의해 Galois 필드(gf) 하에서 동작하도록 구현될 수 있다. 광학 코드는 이러한 필드가 타입 gf(2m)의 것이 되도록 강제할 수 있다. 일부 예들에서, m의 값들은 6 또는 8이다. m은 0 초과의 임의의 값일 수 있지만, 6 또는 8과 같은 값들은 코드 밀도/코드 크기와 디코드 오탐률(decode false positive rate) 사이의 트레이드오프(trade-off)로서 선택될 수 있다. 일부 예들에서, m의 값이 증가함에 따라, 광학 코드는 크기가 더 클 것이고, 더 낮은 거짓 포지티브 디코드 레이트를 가질 것이다.
표 2는 최대 gf(216)의 필드 크기에 대한 원시 다항식들을 제공한다.
[표 2]
Figure 112019042817747-pct00011
일부 예들에서, 컴퓨팅 디바이스는 본 발명의 광학 코드를 인코딩 및/또는 디코딩하기 위해, gf(2m) 하에서 Reed-Solomon 에러 정정 알고리즘을 사용할 수 있다. Reed-Solomon 코드를 디코딩하는 다수의 잠재적인 알고리즘들이 있다. 다음의 동작들은 본 발명에 따른 컴퓨팅 디바이스에 의해 사용되는 것들이지만, 많은 다른 동작들이 가능하다. 컴퓨팅 디바이스는 수신된 코드워드 메시지 및 에러 정정 심볼들의 수가 주어지면, 신드롬 다항식을 계산할 수 있다. 컴퓨팅 디바이스는 소거가 처리되지 않는 것으로 가정할 수 있고, 원래 신드롬으로부터 Forney 신드롬들을 계산할 수 있다. 컴퓨팅 디바이스는 Berlekamp-Massey 알고리즘을 사용하여 에러 로케이터 다항식을 계산할 수 있다. 컴퓨팅 디바이스는 에러 위치 입력기 다항식을 갖는 Chien 탐색 알고리즘을 사용하여 에러 위치들을 계산할 수 있다. 에러 위치들이 주어지면, 컴퓨팅 디바이스는 에러를 해결하고 생성된 데이터를 반환할 수 있다.
도 19는 본 발명의 기법들에 따른, 고정 패턴 정보를 갖는 광학 코드를 도시한다. 광학 코드에 대한 고정 패턴 손상의 경우, 다음을 포함하지만 이들로 제한되지 않는 특징부들이 평가될 수 있다: (a) 하기를 포함하는 파인더 패턴들: 2개의 모듈들 및 4개의 콰이어트 존 모듈들의 상부 좌측의 파인더 패턴(파인더 1L), 2개의 모듈들 및 4개의 콰이어트 존 모듈들의 상부 우측의 파인더 패턴(파인더 IR), 하부 좌측 3-모듈의 파인더 패턴 및 5개의 콰이어트 존 모듈들(파인더 2L), 하부 우측 3-모듈의 파인더 패턴 및 5개의 콰이어트 존 모듈들(파인더 2R); 및 (b) 좌측과 우측의 파인더 사이의 모듈들의 패턴화된 행을 포함하는 타이밍 정보(클로킹).
고정 패턴 손상 등급화를 위해, 고정 패턴의 각각의 세그먼트에 대한 손상은 해당 세그먼트 내에 부정확하게 스코어링된 모듈들의 수에 기초하여 컴퓨팅 디바이스에 의해 등급화될 수 있다. 이어서, 전체 고정 패턴 손상 등급이 임의의 개별 세그먼트의 최저 스코어에 기초하여 컴퓨팅 디바이스에 의해 할당될 수 있다.
컴퓨팅 디바이스는 후보 그레이스케일 이미지 상에서 이미지 이진화를 수행할 수 있다 (최소 그레이스케일 값과 최대 그레이스케일 값 사이의 중간점에 기초하여 임계치를 계산한다. 컴퓨팅 디바이스는 중간점 위의 어느 것에 대해서는 1을 그리고 아래의 어느 것에 대해서는 0을 스코어링할 수 있다).
스코어링하기 위한 다음의 절차를 따르는 각각의 세그먼트에 대해, 컴퓨팅 디바이스는 (a) 주어진 세그먼트에 대해, 생성된 이진화된 모듈들을 각각의 모듈에 대한 예상 값들과 비교할 수 있고, (b) 다수의 불일치를 카운트할 수 있고, (c) 아래의 표 3에서 스코어링된 바와 같은 에러들의 수에 기초하여 세그먼트 등급을 적용할 수 있다:
[표 3]
Figure 112019042817747-pct00012
일부 예들에서, 스캔 등급은 ISO/IEC 15415에 따라 평가되는 표준 파라미터들에 대한 등급들 및 본 발명에 따라 평가되는 고정 패턴 손상에 대한 등급들 중 최저일 수 있다.
일부 예들에서, 작업 구역들과 같은 동적 환경들은 자율 또는 반자율 차량들에 대해 더 어려움을 제공할 수 있다. 예를 들어, 향상된 맵들 및 GPS에 의존하는 것은 제한들을 가질 수 있는데, 그 이유는 장애물 또는 작업자들이 분 단위로 또는 시간 단위로 동적으로 재위치될 수 있기 때문이다. 컴퓨팅 디바이스(540)는, 자율, 반자율, 또는 시야-보조 차량과 같은 차량에서 구현될 때, 코드의 부분들이 그 영역들 내의 다른 물체들 또는 폐색들에 의해 시각적으로 폐색된다 하더라도, 그러한 차량들이 사람 및 디바이스들을 신뢰성있게 위치확인하고 그러한 영역들을 운항하는 것을 허용하는 본 발명에 기술된 바와 같은 코드들을 갖는 실시간 내비게이션 마커들을 제공할 수 있다. 일부 예들에서, 본 발명에 기술된 바와 같이, 코드들은 사람의 눈에 비가시적이만, 상업적으로 입수가능한 머신 센서들에는 광의 특정 파장들에서 가시적이다. 작업 구역 디바이스들에 부착될 수 있는 이러한 고유의 머신 판독가능 코드들은 자율, 반자율, 또는 시야-보조 내비게이션을 가능하게 하기 위해 정밀한 물체 검출 및 신속한 프로세싱을 제공할 수 있다. 이와 같이, 본 발명에 기술된 것과 같은 컴퓨팅 디바이스 및 이미지 캡처 디바이스를 포함하는 차량은 하나 이상의 코드들 내에 인코딩된 정보를 결정한 것에 응답하여 그의 동작을 변경할 수 있다.
일부 예들에서, 본 발명에서 그러한 코드들을 판독하기 위한 머신 판독가능 광학 코드들 및 시스템들은 기존의 MUTCD 규칙들 및/또는 종래의 작업 구역 재료들과 호환가능하다. 일부 예들에서, 본 발명의 머신 판독가능 광학 코드들은 차량들을 내비게이팅하기 위한 양상들(예컨대, GPS, 맵들 등)보다 차량들에 의한 더 빠른 그리고/또는 더 정확한 검출 및 프로세싱을 위한 정보를 제공할 수 있다. 일부 예들에서, 범용 머신 판독가능 광학 코드들은 코드가 구현된 각각의 특정 타입의 물품에 대해 표준화될 수 있거나 일정할 수 있다. 일부 예들에서, 별개의 머신 판독가능 코드들이 특정 작업 구역들 또는 다른 경계지어진 구역 또는 영역에서 상이한 타입의 물품들에 대해 사용될 수 있다. 일부 예들에서, 머신 판독가능 코드는 광학 요소들의 고유한 공간적 구성 및/또는 그 안에 인코딩된, 인간 또는 작업자를 표현하는 정보를 포함할 수 있다.
일부 예들에서, 위치확인 데이터는, 머신 판독가능 코드 내에 인코딩될 수 있고(여기서 그러한 위치확인 정보는 물품 또는 물품의 주변 영역에 관한 장소 특정 정보를 나타냄), 일부 예들에서, 코드가 위치되는 동적으로 변화하는 환경 때문에 GPS 또는 맵들에서 이용가능하지 않을 수도 있다. 표지판들의 분류 및 데이터 품질을 개선하는 것에 더하여, 사회 기반 시설 물품들은 고정밀 맵핑에 의해 제공되는 위치 데이터를 보완할 기회를 제공할 수 있다. 맵핑 회사들은 운전자들 및 자동화된 차량 계획 루트들을 돕기 위해 그리고 차량을 도로 상에 적절하게 위치시키기 위해 극도로 상세한 동적 맵들을 생성하고 있다. 현재의 고정밀(HD) 맵핑은 위치확인을 제공하도록 SIFT 특징부들의 연속적인 분석에 의존한다. 신뢰성있는 특징부들을 개발하기 위해, 데이터 조밀 맵핑이 발생할 수 있고, 참조할 차량에 의해 액세스가능한 방식으로 저장될 수 있다. 일부 경우들에서, 이는 (경제적인 면 및 계산적인 면 양측 모두에서) 시간 소모적이고 고가이다. 일부 경우들에서, SIFT 특징부들로서 사용되는 랜드마크들이 변할 것이어서, 차량의 SLAM을 수행하려고 시도하고 있는 동안 차량을 환기시키는 것이 또한 가능하다.
본 발명의 기법들은 정밀한 GPS 정보를 제공할 수 있는 사이니지 내에 정보를 임베딩함으로써 계산 비용을 경감시킬 수 있을 뿐만 아니라, SIFT 특징부들을 포인트 클라우드 데이터와 매칭시키는 모호성 또는 에러가 발생하기 쉬운 액션을 감소시킬 수 있다.
일부 광학 코드들은 고정밀 GPS 좌표들뿐만 아니라 표지판 고유 식별자를 포함할 수 있다. 광학 코드 상의 파인더 모듈 및 타이밍 모듈은 평면 자세 추정 기법들을 이용하여 정확한 판독 거리 벡터 결정을 허용할 수 있다. 이러한 거리 벡터와 디코딩된 GPS 좌표들을 조합한 컴퓨팅 디바이스는, (예를 들어) GPS 데이터가 신뢰할 수 없을 수도 있는 어번 캐니언에서도, 현재 GPS 좌표들을 비교하기 위한 기준 위치를 특정하여, 오프셋/드리프트/에러 정정 및 그에 따른 위치확인을 제공한다.
일례로서, 차량 머신 비전 시스템은 적외선 광 내에서 표지판의 이미지를 캡처하여 그의 임베딩된 광학 코드를 노출시킨다. 파인더 모듈 크기 및 스큐는 컴퓨팅 디바이스에 의해 그 이미지를 다시 정사각형으로 정규화하는 것을 허용한다. 모듈의 크기는 2개의 분리된 파인더 모듈들 사이에 분산된 다수의 픽셀들에 의해 측정될 수 있다. 이러한 픽셀 카운트는, 거리에 비례하여 이미지의 스큐된 상태의 크기에 기초한 컴퓨팅 디바이스에 의한 벡터 결정을 허용하는 픽셀 크기, 및 표지판에 대한 특정 거리 및 방향을 말하는 픽셀 크기와 상관된다. 표지판 위치의 고정밀 GPS 좌표, 및 카메라가 있는 곳에 대한 정확한 투사로, 차량이, 카메라가 차량 상에서 어디에 위치되는지를 알고 있는 한, 차량의 GPS 위치는 제공된 표지판 GPS 및 적절한 변환 벡터로부터 컴퓨팅 디바이스에 의해 이제 결정될 수 있다.
고유하게 식별된 도로 표지판들 또는 위치확인을 위한 다른 물품들을 사용하는 것은 SIFT 특징부들에 대한 의존성보다 선호될 수 있는데, 그 이유는 표지판이 좌표 위치 및 표지판 ID를 능동적으로 확인하여 그것이 부정확한 또는 허위 매칭이 발생할 가능성을 더 낮게 만들 수 있기 때문이다. 포인트 클라우드 데이터 또는 스케일 불변 특징부 리스트들은 실제로 형상 자체 이외의 임의의 고유 식별자들을 갖지 않을 수도 있다. 이는, 종종, 차량이 합리적으로 확신을 하게 두지만, 지구 상의 특정 장소와 상관시키기 위해 특징부 또는 포인트들의 세트를 선택했는지는 확실하지가 않다. 그 의미는, 차량이 아마도 그의 식별에서는 정확하였지만 부정확할 것이고 차량은 그것이 부정확하게 위치확인했기 때문에 예상된 특징부들을 이제 놓치기 시작할 때까지는 모를 것이라는 것이다. 위치확인을 위해 광학 코드들을 사용하는 본 발명의 기법들은 개선된 신뢰도 및/또는 확실성을 제공할 수 있다.
고유 ID뿐만 아니라 고정밀 위치확인을 갖는 표지판 또는 다른 물품을 사용하는 것은, 정확한 표지판이 식별되었고 그의 위치가 검증된다는 확인 또는 추가 신뢰도 정보를 제공할 수 있다. 차량이 표지판의 저장된 GPS 좌표들을 사용할 필요가 없는 경우라 하더라도, 차량은 GPS 좌표들을 예상된 SIFT 특징부와 매칭시킬 수 있다. 이는 그 SIFT 특징부에 대한 포지티브 ID를 제공할 수 있는데, 이는 그 연관성에서 증가된 레벨의 신뢰도를 가능하게 할 수 있다. 일부 예들에서, 특정 표지판이 그것이 말하는 정확한 표지판이고 도용되거나 달리 무효하지 않은 것임을 증명하기 위해 보안 요소가 도입될 수 있다.
일부 예들에서, 광학 코드들은 다른 시스템들 또는 모델들을 트레이닝하기 위한 지상 실측 자료의 소스로서 사용될 수 있다. 예시적인 모델들은 신경망, SVM 분류자, 또는 임의의 다른 감독되는 학습 모델을 포함할 수 있다. 광학 코드 내에 인코딩된 데이터는 그러한 모델들을 변환하기 위한 지상 실측 자료 정보로서 사용될 수 있다. 일례로서, 위치확인 데이터와 같은, 광학 코드로부터의 데이터는 임의의 다른 특징부들과 함께 특징부 벡터에서 구조화될 수 있고, 예를 들어 이미지 데이터를 분류하는 데 사용될 수 있다. 예시적인 분류는 이미지 데이터가 특정 도로 표지판을 표시하는지의 여부를 분류하는 것을 포함할 수 있다. 모델에 적용되는 특징부 벡터에 지상 실측 자료 정보를 포함시킴으로써, 모델은 특정 도로 표지판을 포함하는 것으로서 이미지 데이터를 보다 정확하게 분류할 수 있다. 비-디지털식의 특정 데이터(예컨대, 불량하게 분해된 이미지 데이터)와 함께 사용되는 디지털식의 특정 데이터(예컨대, 일부 ECC를 갖는 광학 코드 데이터)는 비-디지털식의 특정 데이터의 분류를 개선시킬 수 있다. 도로 표지판에 대한 이미지 데이터를 분류하는 맥락에서 설명되지만, 광학 코드로부터의 지상 실측 자료를 이용하는 기법들은, 보다 일반적으로, 디지털식의 특정 데이터를 사용하여 비-디지털식의 특정 데이터에 대한 분류자를 더 정확하게 만드는 임의의 시나리오에 적용될 수 있다. 이러한 기법들은 분류자에 대한 추가 신호를 제공할 수 있거나, 또는 분류자의 결과가 정확하다는 것을 입증하는 체크로서 동작할 수 있다.
본 발명은 기존의 바코드 기술에 비해 다양한 이점들을 제공할 수 있다. 예를 들어, 본 발명은 바코드의 일부분이 폐색될 때에도 정보가 머신 비전 시스템에 의해 바코드로부터 판독되는 것을 허용한다. 이는 바코드들을 포함하는 표지판들 또는 물품들이 손상되거나, 또는 표지판의 가시성이 먼지, 눈, 다른 간섭 물체 또는 도로의 자연적인 곡률에 의해 차단되는 상황에서 이점들을 제공한다. 구체적으로, 본 발명은 코드의 전체 에지가 폐색될 때의 경우에도 에지 폐색으로부터 복구하는 능력을 제공한다. 이는 코드의 영역 전체에 걸쳐 랜덤 또는 분산된 에러를 다루도록 설계된 에러 정정과는 대조적이다. 에지 폐색으로부터 복구할 능력을 갖는 것은 표지판들 상의 코드들 또는 교통 맥락에서 사용되는 코드들의 경우일 수 있는 바와 같이, 코드를 판독할 시의 폐색들 또는 에러들이 코드의 단일 영역에 집중될 가능성이 가장 큰 환경들에 대한 효과적인 솔루션을 제공한다.
하나의 경우에, 본 발명은 에러 정정을 갖는 2차원 머신 판독가능 광학 코드를 포함한다. 광학 코드는 행들 및 열들을 포함하는 매트릭스 구성으로 배열된 복수의 광학 요소들을 포함하고; 여기서 복수의 광학 요소들은 데이터를 인코딩한다. 매트릭스의 상부 행, 하부 행, 우측 열 또는 좌측 열 중 어느 하나가 폐색되는 경우, 광학 요소들에서 인코딩된 데이터가 정확하게 디코딩될 수 있다.
일부 경우에, 복수의 광학 요소들은 복수의 파인더 광학 요소들을 포함하고, 파인더 광학 요소들은 머신 비전 시스템이 이미지 내의 광학 코드의 위치를 확인하는 것을 가능하게 한다. 일부 경우에, 광학 코드는 36개 미만의 파인더 광학 요소들을 포함한다.
일부 경우에, 복수의 광학 요소들은 컨텍스트 정보를 표현하는 복수의 컨텍스트 광학 요소들을 더 포함하며, 여기서 컨텍스트 광학 요소들은 머신 비전 시스템에 의해 제1 거리로부터 검출가능하다.
일부 경우에, 복수 개는 콘텐츠 정보를 나타내는 복수의 콘텐츠 광학 요소들을 더 포함하며, 여기서 콘텐츠 광학 요소들은 머신 비전 시스템에 의해 그리고 제1 거리로 검출가능하지 않지만, 머신 비전 시스템에 의해 제2 거리로부터 검출가능하고, 여기서 제2 거리는 제1 거리보다 작다.
일부 경우에, 컨텍스트 광학 요소들 및 콘텐츠 광학 요소들은 Reed-Solomon 에러 정정을 허용하는 방식으로 배열된다.
일부 경우에, 광학 코드는 최소 736 비트의 데이터를 표현한다.
일부 경우에, 콘텐츠 광학 요소들은 교육용 정보를 포함한다.
일부 경우에, 컨텍스트 광학 요소들은 설치, 위치 또는 제조자 정보를 포함한다.
다른 실시예에서, 본 발명은 기판, 필름 층, 및 본 명세서에 기술된 바와 같은 광학 코드를 포함하는 표지판을 포함한다. 일부 경우에, 표지판은 재귀반사성 층을 더 포함한다.
다른 실시예에서, 본 발명은 2차원 머신 판독가능 광학 코드를 판독하기 위한 시스템을 포함한다. 시스템은 표지판을 포함한다. 표지판은 기판 및 2차원 머신 판독가능 광학 코드를 포함한다. 광학 코드는 행들 및 열들을 포함하는 매트릭스 구성으로 배열된 복수의 광학 요소들을 포함하고; 복수의 광학 요소들은 데이터를 인코딩하고, 매트릭스의 상부 행, 하부 행, 우측 열 또는 좌측 열 중 어느 하나가 폐색되는 경우, 광학 요소들에서 인코딩된 데이터가 정확하게 디코딩될 수 있다. 시스템은 2차원 머신 판독가능 광학 코드를 검출하고 프로세싱하기 위한 머신 비전 시스템을 더 포함한다.
다른 실시예에서, 본 발명은 에러 정정으로 2차원 머신 판독가능 광학 코드를 판독하기 위한 방법을 포함한다. 본 방법은, 머신 비전 시스템으로, 행들 및 열들을 포함하는 매트릭스 구성으로 배열되는 복수의 광학 요소들을 검출하는 단계 - 복수의 광학 요소들은 데이터를 인코딩함 -; 및 데이터를 디코딩하는 단계 - 매트릭스의 상부 행, 하부 행, 우측 열 또는 좌측 열 중 어느 하나가 폐색되는 경우, 광학 요소들에서 인코딩된 데이터는 정확하게 디코딩될 수 있음 - 를 포함한다.
일부 경우에, 복수의 광학 요소들은 복수의 파인더 광학 요소들을 포함하고, 파인더 광학 요소들은 머신 비전 시스템이 이미지 내의 광학 코드의 위치를 확인하는 것을 가능하게 한다.
일부 경우에, 광학 코드는 36개 미만의 파인더 광학 요소들을 포함한다.
일부 경우에, 복수의 광학 요소들은 컨텍스트 정보를 표현하는 복수의 컨텍스트 광학 요소들을 더 포함하고, 컨텍스트 광학 요소들은 제1 거리로부터 머신 비전 시스템에 의해 검출가능하고, 복수의 콘텐츠 광학 요소들은 콘텐츠 정보를 표현하고, 콘텐츠 광학 요소들은 머신 비전 시스템에 의해 그리고 제1 거리로 검출가능하지 않지만, 제2 거리로부터 머신 비전 시스템에 의해 검출가능하고, 제2 거리는 제1 거리보다 작다.
일부 경우에, 컨텍스트 광학 요소들 및 콘텐츠 광학 요소들은 Reed-Solomon 에러 정정을 허용하는 방식으로 배열된다.
일부 경우에, 광학 코드는 7×7의 크기를 갖고, 최소 63 비트의 데이터를 표현한다.
일부 경우에, 콘텐츠 광학 요소들은 교육용 정보를 포함한다.
일부 경우에, 컨텍스트 광학 요소들은 설치, 위치 또는 제조자 정보를 포함한다.
일부 경우에, 표지판은 재귀반사성 층을 더 포함한다.
바코드들은 다양한 차량 응용물들에서 사용되어 왔다. 차량 응용물들에서 사용될 때, 바코드들은 번호판 또는 표지판 상에 있을 수 있다. 바코드들은, 일부 경우에 AVR(automatic vehicle recognition) 시스템일 수 있는 머신 비전 시스템을 사용하여 판독될 수 있다. 그러한 시스템들의 예시적인 사용들은, 예를 들어, 자동 요금징수(예컨대, 전자 요금징수 시스템), 교통법 집행(예컨대, 정지 신호 위반 단속 시스템, 속도 위반 단속 시스템), 교통 표지판 또는 수송 사회 기반 시설의 다른 요소들 상의 정보의 검출, 범죄와 연관된 차량의 탐색, 액세스 제어 시스템, 설비 액세스 제어이다. 이상적인 머신 비전 시스템들은 고도로 정확한(즉, 100% 정확한) 결과들을 제공하고, 높은 정확도로 소정 거리로부터 바코드들을 판독할 수 있다.
번호판, 표지판 또는 임의의 다른 제어되지 않은 환경 상의 바코드를 판독하는 것은, 다음을 포함하는 다양한 난제들을 부과한다: (1) 번호판 재료 또는 표지판의 다양한 반사 속성들; (2) 머신 비전 시스템의 다양한 해상도; (3) 바코드를 갖는 물체와 비교했을 때의, 머신 비전 시스템이 실장되는 물체의 상대 속도; (4) 주변 조명의 광범위한 변화량; (5) 번호판 또는 표지판 장착 위치 및/또는 경사; (6) 예를 들어, 다른 차량, 먼지, 눈, 도로 상의 물품, 자연적인 장애물에 의한 번호판 또는 표지판의 폐색; (7) 도로의 수직 또는 수평 곡률 등.
표지판들 및 번호판들 상의 바코드들은 다수의 특허들 및 출원들에서 논의된다. 몇몇 공보들(예컨대, 유럽 특허 공보 제0416742호 및 미국 특허 제6,832,728호)은 번호판의 머신 판독가능 부분 상의 소유자 정보, 일련 번호, 차량 타입, 차량 중량, 차량 등록 번호, 주(state), 번호판 타입, 및 자치주 중 하나 이상을 포함하는 것을 논의한다. PCT 특허 공보 WO 2013-149142호는 프레이밍(framing) 및 가변 정보가 2개의 상이한 조건들 하에서 획득되는 바코드를 설명한다. 일부 실시예들에서, 프레이밍 정보는 인간 판독가능 정보에 의해 제공되고, 가변 정보는 머신 판독가능 정보에 의해 제공된다. 유럽 특허 공보 제0416742호, 미국 특허 제6,832,728호, 및 PCT 특허 공보 WO 2013-149142호는 모두 그 전체가 본 명세서에 포함된다.
높은 콘트라스트의 번호판들 및 표지판들을 생성하는 일부 종래 기술의 방법들은 적외선 파장 범위에서 흡수하고 가시 파장 범위에서 투과시키는 재료들을 포함하는 것에 관한 것이다. 예를 들어, 미국 특허 제6,832,728호는 가시광 투과, 적외선 불투과 표지를 포함하는 번호판들을 설명한다. 미국 특허 제7,387,393호는 번호판 상에서 콘트라스트를 생성하는 적외선 차단 재료들을 포함하는 번호판들을 설명한다. 미국 특허 제3,758,193호는 재귀반사성 시팅 상에서 사용하기 위한 적외선 투과, 가시광 흡수 재료들을 기술한다. 미국 특허 제3,758,193 및 제7,387,393호의 전부가 본 명세서에 참고로 포함된다.
2017년 4월 14일자로 각각 출원된 대리인 관리 번호 76350US003 및 78874US003에 의해 식별되는 미국 가출원들의 전부가 본 명세서에 참고로 포함된다.
ALPR 시스템에서 이용하기 위해 높은 콘트라스트의 번호판들을 생성하는 다른 방법은 미국 특허 공개 제2010-0151213호에 기술되며, 광학적 활성(예컨대, 반사성 또는 재귀반사성) 기판에 인접하게 적외선 반사 재료를 위치설정하여, 광학적 활성 기판이 적외선 방사원에 의해 조명될 때 적외선 반사 재료가 적외선 센서에 의해 판독될 수 있는 패턴을 형성하게 하는 것에 관한 것이다. 미국 특허 공개 제2010-0151213호의 전부가 본 명세서에 참고로 포함된다. 본 명세서에 기술된 바와 같이, 에러 정정의 레벨 및 설계는, 바코드 자체가 여전히 판독될 수 있는 동안, 차단된 시선에서 얼마나 많은 코드가 손상되거나, 또는 달리 가려지거나 흐려지게 할 수 있는지를 결정할 수 있다.
콘텐츠 및 컨텍스트 광학 요소들을 네스트하기 위한 특정 방법이 본 명세서에 기술되지만, 본 발명의 범주 내의 다른 방법들이 본 발명을 읽을 시에 당업자에게 자명할 것이다.
전술된 실시예들 중 임의의 것에 관하여 기술된 특징부들이 상이한 실시예들 사이에서 상호교환가능하게 적용가능할 수 있다는 것은 당업자에게 명백할 것이다. 전술된 실시예들은 본 발명의 다양한 특징부들을 예시하는 예들이다.
본 명세서의 설명 및 청구범위 전체에 걸쳐, 단어 "포함하다"와 "함유하다" 및 이들의 변형은 "포함하지만 이로 한정되지 않는"을 의미하고, 이들은 다른 부분, 첨가제, 성분, 정수 또는 단계를 배제하고자 하는 것이 아니다(그리고 이들을 배제하지 않는다). 본 명세서의 상세한 설명 및 청구범위 전체에 걸쳐, 단수형은 문맥이 달리 요구되지 않는 한 복수형을 포함한다. 특히, 부정 관사가 사용되는 경우, 본 명세서는 문맥이 달리 요구하지 않는 한, 복수뿐만 아니라 단수도 고려하는 것으로 이해되어야 한다.
본 발명의 특정 태양, 실시예 또는 예와 함께 기술된 특징부들, 정수들, 특성들 또는 그룹들은, 그와 호환되지 않는 한, 본 명세서에 기술된 임의의 다른 태양, 실시예 또는 예에 적용가능한 것으로 이해되어야 한다. 본 명세서(임의의 수반되는 청구범위, 요약서 및 도면을 포함함)에 개시된 모든 특징부들, 및/또는 그렇게 개시된 임의의 방법 또는 프로세스의 모든 단계들은, 그러한 특징부들 및/또는 단계들 중 적어도 일부가 상호 배타적인 조합들을 제외하고는, 임의의 조합으로 조합될 수 있다. 본 발명은 임의의 전술한 실시예들의 세부사항들로 제한되지 않는다. 본 발명은 본 명세서(임의의 수반되는 청구범위, 요약서 및 도면들을 포함함)에 개시된 특징부들의 임의의 신규한 하나 또는 임의의 신규한 조합, 또는 그렇게 개시된 임의의 방법 또는 프로세스의 단계들의 임의의 신규한 하나 또는 임의의 신규한 조합으로 확장된다.
하나 이상의 예들에서, 기술된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능들은, 하나 이상의 명령어들 또는 코드로서, 컴퓨터 판독가능 매체 상에 저장되거나 이를 통해 송신되고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수 있다. 컴퓨터 판독가능 매체들은 데이터 저장 매체와 같은 유형적(tangible) 매체에 대응하는 컴퓨터 판독가능 저장 매체, 또는 예컨대 통신 프로토콜에 따라 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 이송을 용이하게 하는 임의의 매체를 포함하는 통신 매체를 포함할 수 있다. 이러한 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비일시적인 유형적 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체는 본 발명에서 기술된 기법들의 구현을 위한 명령어들, 코드 및/또는 데이터 구조들을 검색하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수 있다.
제한이 아니라 예로서, 그러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 저장, 자기 디스크 저장, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 명령어들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는 데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속부가 적절히 컴퓨터 판독가능 매체로 지칭된다. 예를 들어, 명령어들이 동축 케이블, 광섬유 케이블, 연선(twisted pair), 디지털 가입자 회선(DSL), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 전송되는 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술은 매체의 정의에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 접속부, 반송파, 신호, 또는 다른 일시적 매체를 포함하는 것이 아니라, 대신에 비일시적인 유형적 저장 매체에 관한 것임이 이해되어야 한다. 사용되는 바와 같은 디스크(disk) 및 디스크(disc)는 콤팩트 디스크(compact disc, CD), 레이저 디스크(laser disc), 광디스크(optical disc), 디지털 다기능 디스크(digital versatile disc, DVD), 플로피 디스크(floppy disk) 및 블루레이 디스크(Blu-ray disc)를 포함하며, 여기서 디스크(disk)는 통상적으로 자기적으로 데이터를 재생하는 반면, 디스크(disc)는 레이저로 광학적으로 데이터를 재생한다. 위의 것들의 조합들이 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
명령어들은 하나 이상의 디지털 신호 프로세서(DSP), 범용 마이크로프로세서, 주문형 집적 회로(ASIC), 필드 프로그래밍가능 로직 어레이(FPGA), 또는 다른 동등한 집적 또는 개별 로직 회로와 같은 하나 이상의 프로세서에 의해 실행될 수 있다. 따라서, 사용되는 바와 같은 용어 "프로세서"는 설명된 기법들의 구현에 적합한 전술한 구조 또는 임의의 다른 구조 중 임의의 것을 지칭할 수 있다. 또한, 일부 태양에서, 설명된 기능은 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수 있다. 또한, 기법들은 하나 이상의 회로 또는 로직 요소로 완전히 구현될 수 있다.
본 발명의 기법들은 무선 핸드세트, 집적 회로(IC) 또는 IC들의 세트(예컨대, 칩 세트)를 포함한 매우 다양한 디바이스 또는 장치에서 구현될 수 있다. 다양한 컴포넌트, 모듈, 또는 유닛이 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 태양들을 강조하기 위해 본 발명에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하는 것은 아니다. 오히려, 위에 설명된 바와 같이, 다양한 유닛들이 하드웨어 유닛에서 조합되거나, 적합한 소프트웨어 및/또는 펌웨어와 관련하여, 위에 설명된 바와 같은 하나 이상의 프로세서를 포함한 상호작용적 하드웨어 유닛들의 집합에 의해 제공될 수 있다.
예에 따라서는, 본 명세서에 설명된 방법들 중 임의의 것의 소정 행위들 또는 이벤트들이 상이한 순서로 수행될 수 있거나, 추가, 병합, 또는 모두 함께 생략될 수 있다(예컨대, 설명된 모든 행위들 또는 이벤트들이 방법의 실시에 필요한 것은 아니다)는 것을 인식해야 한다. 게다가, 소정 예들에서, 행위들 또는 이벤트들은 순차적으로보다는, 예컨대 멀티스레드 처리, 인터럽트 처리, 또는 다수의 프로세서를 통해 동시에 수행될 수 있다.
일부 예들에서, 컴퓨터 판독가능 저장 매체는 비일시적 매체를 포함한다. 용어 "비일시적"은, 일부 예들에서, 저장 매체가 반송파 또는 전파된 신호로 구현되지 않는 것을 나타낸다. 소정 예들에서, 비일시적 저장 매체는 시간 경과에 따라 변할 수 있는 데이터를 (예컨대, RAM 또는 캐시에) 저장한다.
다양한 예가 설명되었다. 이들 및 다른 예들은 하기 청구범위의 범위 내에 있다.

Claims (37)

  1. 물품으로서,
    물리적 표면을 포함하는 기판;
    상기 물리적 표면에 구현되는 광학 코드 - 상기 광학 코드는 상부 에지, 상기 상부 에지에 대향하는 하부 에지, 상기 상부 에지와 상기 하부 에지를 연결하는 좌측 에지, 상기 좌측 에지에 대향하고 상기 상부 에지와 상기 하부 에지를 연결하는 우측 에지 및 복수의 광학 요소들을 포함함 - ; 및
    상기 광학 코드를 둘러싸서 상기 광학 코드를 상기 물리적 표면의 다른 영역으로부터 시각적으로 분리하는 콰이어트 존(quiet zone)
    을 포함하고,
    상기 광학 요소들의 제 1 서브세트는 상기 광학 코드의 상부 에지를 따라 배치된 클록킹 패턴을 형성하며,
    상기 광학 요소들의 제 2 서브세트는 파인더 코드(finder code)를 형성하고 - 상기 파인더 코드는 복수의 부분들을 포함하며, 상기 복수의 부분들의 각각의 부분은 상기 광학 코드의 각각의 코너를 따라 배치되고, 상기 광학 코드의 각 코너를 따라 배치된 상기 파인더 코드의 상기 부분은 적어도 2개의 광학 요소를 포함함 - ,
    상기 광학 요소들의 제 3 서브세트는 메시지를 형성하며,
    상기 광학 요소들의 제 4 서브세트는 에러 정정 데이터를 형성하고,
    상기 광학 요소들의 제 5 서브세트는 반복 비트를 형성하며 - 상기 광학 요소들의 제 5 서브세트의 각 광학 요소는 상기 메시지 또는 상기 에러 정정 데이터를 형성하는 광학 요소들의 서브세트의 각각의 광학 요소에 대응하고, 상기 광학 요소들의 제 5 서브세트의 각 광학 요소는 상기 메시지 또는 상기 에러 정정 데이터의 대응하는 광학 요소를 포함하는 상기 광학 코드의 에지에 대향하는 상기 광학 코드의 특정 에지로부터 4개의 광학 요소 내에 배치됨 - ,
    상기 광학 요소들의 제 3 서브세트 및 상기 광학 요소들의 제 4 서브세트의 각각의 광학 요소는 인코딩된 비트의 세트 내의 인코딩된 비트를 표현하고 - 상기 인코딩된 비트의 세트는 상기 각 광학 요소들의 시각적 구별가능성에 기초하여 구별가능함 - ,
    상기 메시지를 형성하는 상기 광학 요소들의 제 3 서브세트 및 상기 에러 정정 데이터를 형성하는 상기 광학 요소들의 제 4 서브세트는, 시각적으로 폐색되는 매트릭스의 적어도 하나의 완전한 에지 내에 광학 요소들이 위치됨이 없이 상기 메시지가 상기 기판으로부터 디코딩가능하도록, 매트릭스에 공간적으로 구성되는
    물품.
  2. 제1항에 있어서,
    상기 적어도 하나의 완전한 에지는 적어도 상기 매트릭스의 수평 또는 수직 차원의 최저 차수 인덱스로부터 최고 차수 인덱스까지의 1차원 어레이를 포함하는
    물품.
  3. 제1항에 있어서,
    상기 복수의 광학 요소 세트들은 QR 코드에 포함되지 않는
    물품.
  4. 제1항에 있어서,
    상기 광학 요소들의 제 3 서브세트 또는 상기 광학 요소들의 제 4 서브세트에 포함된 부모(parent) 광학 요소 세트는 적어도 하나의 부모 광학 요소를 포함하고,
    상기 부모 광학 요소는 자식(child) 광학 요소 세트를 더 포함하며,
    상기 자식 광학 요소 세트는 자식 광학 요소들의 각자의 세트를 포함하는
    물품.
  5. 제4항에 있어서,
    상기 부모 광학 요소 세트의 각 부모 광학 요소는 각각의 인코딩된 비트를 표현하고, 각각의 부모 광학 요소에 의해 표현되는 상기 인코딩된 비트는 대응하는 자식 광학 요소 세트의 점증적인(cumulative) 시각적 외관에 기초하며, 임계 거리 이상인 이미지 캡처 디바이스와 상기 물품 사이의 거리에서 디코딩가능하고,
    상기 자식 광학 요소 세트의 각 자식 광학 요소는 각각의 인코딩된 비트를 표현하고, 상기 자식 광학 요소 세트 내의 각 자식 광학 요소에 의해 표현되는 상기 인코딩된 비트는 상기 이미지 캡처 디바이스와 상기 물품 사이의 거리에서 디코딩가능하지 않은
    물품.
  6. 제5항에 있어서,
    상기 거리는 제1 거리이고,
    상기 자식 광학 요소 세트 내의 각 자식 광학 요소에 의해 표현되는 상기 인코딩된 비트는 상기 이미지 캡처 디바이스와 상기 물품 사이의 제2 거리에서 디코딩가능하며, 상기 제2 거리는 상기 제1 거리보다 작은
    물품.
  7. 제5항에 있어서,
    상기 임계 거리는, 구별가능성 임계치를 초과하는 경우, 상기 이미지 캡처 디바이스에 의해 캡처된 이미지의 해상도가 시각적으로 상이한 상기 자식 광학 요소 세트의 하나 이상의 자식 광학 요소들을 시각적으로 구별하지 않는 거리인
    물품.
  8. 제1항에 있어서,
    상기 인코딩된 비트들의 세트는 N개의 인코딩된 비트들을 포함하고, 광학 요소 세트는 M개의 광학 요소들을 포함하고, 광학 요소 세트는 상기 광학 요소 세트의 각자의 광학 요소들에 할당된 각자의 시각적 그래디언트 값들에 적어도 부분적으로 기초하여, 인코딩된 비트들의 NM개 조합들의 세트의 인코딩된 비트들의 조합을 표현하고, 상기 각자의 그래디언트 값들은 각각 M개의 시각적으로 구별가능한 그래디언트 값들의 세트에 포함되는
    물품.
  9. 제1항에 있어서,
    상기 에러 정정 데이터는 상기 메시지에 대한 에러 정정 함수의 적용에 기초하는
    물품.
  10. 제1항에 있어서,
    제1 복수의 광학 요소를 포함하는 제1 광학 요소 세트의 각각의 광학 요소는 제1 크기이고,
    제2 복수의 광학 요소를 포함하는 제2 광학 요소 세트의 각각의 광학 요소는 상기 제1 크기보다 작은 제2 크기이고,
    상기 제1 광학 요소 세트와 제2 광학 요소 세트는 중첩되지 않는
    물품.
  11. 제10항에 있어서,
    상기 제1 광학 요소 세트는 상기 물품을 설명하는 컨텍스트 정보를 표현하고,
    상기 제2 광학 요소 세트는 상기 컨텍스트 정보를 설명하는 콘텐츠 정보를 표현하는
    물품.
  12. 방법으로서,
    컴퓨팅 디바이스에 의해, 물리적 표면을 포함하는 기판을 갖는 물품의 이미지를 수신하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 매트릭스의 적어도 하나의 완전한 에지가 시각적으로 폐색되는 상기 이미지로부터의 에러 정정 데이터에 적어도 부분적으로 기초하여 메시지를 디코딩하는 단계
    를 포함하되,
    상기 이미지는 상기 물품 상에 배치된 광학 코드의 표현 및 상기 광학 코드를 둘러싸서 상기 광학 코드를 상기 물리적 표면의 다른 영역으로부터 시각적으로 분리하는 콰이어트 존을 포함하고,
    상기 광학 코드는, 상부 에지, 상기 상부 에지에 대향하는 하부 에지, 상기 상부 에지와 상기 하부 에지를 연결하는 좌측 에지, 상기 좌측 에지에 대향하고 상기 상부 에지와 상기 하부 에지를 연결하는 우측 에지 및 복수의 광학 요소들을 포함하고,
    상기 광학 요소들의 제 1 서브세트는 상기 광학 코드의 상부 에지를 따라 배치된 클록킹 패턴을 형성하며,
    상기 광학 요소들의 제 2 서브세트는 파인더 코드를 형성 - 상기 파인더 코드는 복수의 부분들을 포함하며, 상기 복수의 부분들의 각각의 부분은 상기 광학 코드의 각각의 코너를 따라 배치되고, 상기 광학 코드의 각 코너를 따라 배치된 상기 파인더 코드의 상기 부분은 적어도 2개의 광학 요소를 포함함 - 하고,
    상기 광학 요소들의 제 3 서브세트는 상기 메시지를 형성하며,
    상기 광학 요소들의 제 4 서브세트는 에러 정정 데이터를 형성하고,
    상기 광학 요소들의 제 5 서브세트는 반복 비트를 형성 - 상기 광학 요소들의 제 5 서브세트의 각 광학 요소는 상기 메시지 또는 상기 에러 정정 데이터를 형성하는 광학 요소들의 서브세트의 각각의 광학 요소에 대응하고, 상기 광학 요소들의 제 5 서브세트의 각 광학 요소는 상기 메시지 또는 상기 에러 정정 데이터의 대응하는 광학 요소를 포함하는 상기 광학 코드의 에지에 대향하는 상기 광학 코드의 특정 에지로부터 4개의 광학 요소 내에 배치됨 - 하며,
    상기 광학 요소들의 제 3 서브세트 및 상기 광학 요소들의 제 4 서브세트의 각각의 광학 요소는 인코딩된 비트의 세트 내의 인코딩된 비트를 표현 - 상기 인코딩된 비트의 세트는 상기 각 광학 요소들의 시각적 구별가능성에 기초하여 구별가능함 - 하고,
    상기 메시지를 형성하는 상기 광학 요소들의 제 3 서브세트 및 상기 에러 정정 데이터를 형성하는 상기 광학 요소들의 제 4 서브세트는, 시각적으로 폐색되는 매트릭스의 적어도 하나의 완전한 에지 내에 광학 요소들이 위치됨이 없이 상기 메시지가 상기 기판으로부터 디코딩가능하도록, 매트릭스에 공간적으로 구성되는
    방법.
  13. 시스템으로서,
    이미지 캡처 디바이스; 및
    상기 이미지 캡처 디바이스에 통신가능하게 연결되는 컴퓨팅 디바이스를 포함하되,
    상기 컴퓨팅 디바이스는 하나 이상의 컴퓨터 프로세서들 및 메모리를 포함하고, 상기 메모리는 명령어를 포함하며, 상기 명령어는 상기 하나 이상의 컴퓨터 프로세서들에 의해 실행될 때 상기 하나 이상의 컴퓨터 프로세서들로 하여금:
    물리적 표면을 포함하는 기판을 갖는 물품의 이미지를 수신하게 하고,
    매트릭스의 적어도 하나의 완전한 에지가 시각적으로 폐색되는 상기 이미지로부터의 에러 정정 데이터에 적어도 부분적으로 기초하여 메시지를 디코딩하게 하며,
    상기 이미지는 상기 물품 상에 배치된 광학 코드의 표현 및 상기 광학 코드를 둘러싸서 상기 광학 코드를 상기 물리적 표면의 다른 영역으로부터 시각적으로 분리하는 콰이어트 존을 포함하고,
    상기 광학 코드는, 상부 에지, 상기 상부 에지에 대향하는 하부 에지, 상기 상부 에지와 상기 하부 에지를 연결하는 좌측 에지, 상기 좌측 에지에 대향하고 상기 상부 에지와 상기 하부 에지를 연결하는 우측 에지 및 복수의 광학 요소들을 포함하고,
    상기 광학 요소들의 제 1 서브세트는 상기 광학 코드의 상부 에지를 따라 배치된 클록킹 패턴을 형성하며,
    상기 광학 요소들의 제 2 서브세트는 파인더 코드를 형성 - 상기 파인더 코드는 복수의 부분들을 포함하며, 상기 복수의 부분들의 각각의 부분은 상기 광학 코드의 각각의 코너를 따라 배치되고, 상기 광학 코드의 각 코너를 따라 배치된 상기 파인더 코드의 상기 부분은 적어도 2개의 광학 요소를 포함함 - 하고,
    상기 광학 요소들의 제 3 서브세트는 상기 메시지를 형성하며,
    상기 광학 요소들의 제 4 서브세트는 에러 정정 데이터를 형성하고,
    상기 광학 요소들의 제 5 서브세트는 반복 비트를 형성 - 상기 광학 요소들의 제 5 서브세트의 각 광학 요소는 상기 메시지 또는 상기 에러 정정 데이터를 형성하는 광학 요소들의 서브세트의 각각의 광학 요소에 대응하고, 상기 광학 요소들의 제 5 서브세트의 각 광학 요소는 상기 메시지 또는 상기 에러 정정 데이터의 대응하는 광학 요소를 포함하는 상기 광학 코드의 에지에 대향하는 상기 광학 코드의 특정 에지로부터 4개의 광학 요소 내에 배치됨 - 하며,
    상기 광학 요소들의 제 3 서브세트 및 상기 광학 요소들의 제 4 서브세트의 각각의 광학 요소는 인코딩된 비트의 세트 내의 인코딩된 비트를 표현 - 상기 인코딩된 비트의 세트는 상기 각 광학 요소들의 시각적 구별가능성에 기초하여 구별가능함 - 하고,
    상기 메시지를 형성하는 상기 광학 요소들의 제 3 서브세트 및 상기 에러 정정 데이터를 형성하는 상기 광학 요소들의 제 4 서브세트는, 시각적으로 폐색되는 상기 매트릭스의 적어도 하나의 완전한 에지 내에 광학 요소들이 위치됨이 없이 상기 메시지가 상기 기판으로부터 디코딩가능하도록, 매트릭스에 공간적으로 구성되는
    시스템.
  14. 물리적 표면을 포함하는 기판을 갖는 물품을 구성하는 방법으로서,
    광학 코드 및 상기 광학 코드를 둘러싸서 상기 광학 코드를 상기 물리적 표면의 다른 영역으로부터 시각적으로 분리하는 콰이어트 존을 특정하는 프린팅 사양을 수신하는 단계; 및
    상기 프린팅 사양에 적어도 부분적으로 기초하여, 시각적으로 폐색되는 매트릭스의 적어도 하나의 완전한 에지 내에 광학 요소들이 위치됨이 없이 메시지가 상기 기판으로부터 디코딩가능하도록, 상기 매트릭스에서의 물리적 표면에서의 공간적 구성 내의 상기 메시지를 형성하는 상기 광학 요소들의 제 3 서브세트 및 에러 정정 데이터를 형성하는 상기 광학 요소들의 제 4 서브세트로 상기 물품을 구성하는 단계
    를 포함하되,
    상기 광학 코드는, 상부 에지, 상기 상부 에지에 대향하는 하부 에지, 상기 상부 에지와 상기 하부 에지를 연결하는 좌측 에지, 상기 좌측 에지에 대향하고 상기 상부 에지와 상기 하부 에지를 연결하는 우측 에지 및 복수의 광학 요소들을 포함하고,
    상기 광학 요소들의 제 1 서브세트는 상기 광학 코드의 상부 에지를 따라 배치된 클록킹 패턴을 형성하며,
    상기 광학 요소들의 제 2 서브세트는 파인더 코드를 형성 - 상기 파인더 코드는 복수의 부분들을 포함하며, 상기 복수의 부분들의 각각의 부분은 상기 광학 코드의 각각의 코너를 따라 배치되고, 상기 광학 코드의 각 코너를 따라 배치된 상기 파인더 코드의 상기 부분은 적어도 2개의 광학 요소를 포함함 - 하고,
    상기 광학 요소들의 제 3 서브세트는 상기 메시지를 형성하며,
    상기 광학 요소들의 제 4 서브세트는 상기 에러 정정 데이터를 형성하고,
    상기 광학 요소들의 제 5 서브세트는 반복 비트를 형성 - 상기 광학 요소들의 제 5 서브세트의 각 광학 요소는 상기 메시지 또는 상기 에러 정정 데이터를 형성하는 광학 요소들의 서브세트의 각각의 광학 요소에 대응하고, 상기 광학 요소들의 제 5 서브세트의 각 광학 요소는 상기 메시지 또는 상기 에러 정정 데이터의 대응하는 광학 요소를 포함하는 상기 광학 코드의 에지에 대향하는 상기 광학 코드의 특정 에지로부터 4개의 광학 요소 내에 배치됨 - 하며,
    상기 광학 요소들의 제 3 서브세트 및 상기 광학 요소들의 제 4 서브세트의 각각의 광학 요소는 인코딩된 비트의 세트 내의 인코딩된 비트를 표현 - 상기 인코딩된 비트의 세트는 상기 각 광학 요소들의 시각적 구별가능성에 기초하여 구별가능함 - 하는
    방법.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
KR1020197012034A 2016-09-28 2017-09-27 머신 판독 물품들을 위한 폐색 탄성 광학 코드들 KR102427514B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662400874P 2016-09-28 2016-09-28
US62/400,874 2016-09-28
US201762485426P 2017-04-14 2017-04-14
US62/485,426 2017-04-14
PCT/US2017/053788 WO2018064203A1 (en) 2016-09-28 2017-09-27 Occlusion-resilient optical codes for machine-read articles

Publications (2)

Publication Number Publication Date
KR20190059942A KR20190059942A (ko) 2019-05-31
KR102427514B1 true KR102427514B1 (ko) 2022-08-01

Family

ID=60081301

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197012034A KR102427514B1 (ko) 2016-09-28 2017-09-27 머신 판독 물품들을 위한 폐색 탄성 광학 코드들

Country Status (6)

Country Link
US (1) US10867224B2 (ko)
EP (1) EP3520031B1 (ko)
JP (1) JP7088597B2 (ko)
KR (1) KR102427514B1 (ko)
CN (1) CN109791624B (ko)
WO (1) WO2018064203A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018064212A1 (en) 2016-09-28 2018-04-05 3M Innovative Properties Company Multi-dimensional optical code with static data and dynamic lookup data optical element sets
CN109791622A (zh) 2016-09-28 2019-05-21 3M创新有限公司 回射性多尺度代码
US10691908B2 (en) 2016-09-28 2020-06-23 3M Innovative Properties Company Hierarchichal optical element sets for machine-read articles
BE1023607B1 (fr) 2016-12-22 2017-05-15 Valipat Sa Methode et systeme de collecte de documents numeriques a partir d’une pluralite de source
EP3583448A1 (en) 2017-02-20 2019-12-25 3M Innovative Properties Company Personal protective equipment system using optical articles for integrated monitoring, alerting, and predictive safety event avoidance
EP3582642A4 (en) * 2017-02-20 2021-01-13 3M Innovative Properties Company OPTICAL ARTICLES AND INTERACTING SYSTEMS
CN111164605A (zh) 2017-09-27 2020-05-15 3M创新有限公司 使用光学图案以用于设备和安全监控的个人防护设备管理***
WO2019067823A1 (en) * 2017-09-29 2019-04-04 3M Innovative Properties Company PROBE MANAGEMENT MESSAGES FOR INFRASTRUCTURE QUALITY MEASUREMENTS FROM A VEHICLE
EP3776336A1 (en) 2018-03-27 2021-02-17 3M Innovative Properties Company Identifier allocation for optical element sets in machine-read articles
US10733402B2 (en) 2018-04-11 2020-08-04 3M Innovative Properties Company System for vehicle identification
WO2020070584A1 (en) 2018-10-04 2020-04-09 3M Innovative Properties Company Hyperspectral optical patterns on retroreflective articles
EP3861478A1 (en) 2018-10-04 2021-08-11 3M Innovative Properties Company Multi-distance information processing using retroreflected light properties
KR102200161B1 (ko) * 2018-11-05 2021-01-07 상명대학교산학협력단 피듀셜 마커 영상 생성 장치 및 방법
US11992585B2 (en) 2020-03-13 2024-05-28 Julian HENLEY Electro-ionic devices for improved protection from airborne biopathogens
JP7069435B1 (ja) * 2021-05-31 2022-05-17 三菱電機株式会社 情報処理装置
US11693612B1 (en) * 2022-06-02 2023-07-04 Hand Held Products, Inc. Methods, apparatuses, and computer program products for verifying printed indicia

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2105868A1 (en) 2008-03-27 2009-09-30 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns for specification of cell positions and distinction from background
US20120256000A1 (en) 2011-04-06 2012-10-11 Ronald Steven Cok Decoding multi-resolution optical codes
WO2015067725A1 (en) 2013-11-07 2015-05-14 Scantrust Sa Two dimensional barcode and method of authentication of such barcode

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3758193A (en) 1971-07-02 1973-09-11 Minnesota Mining & Mfg Infrared-transmissive, visible-light-absorptive retro-reflectors
US4924078A (en) 1987-11-25 1990-05-08 Sant Anselmo Carl Identification symbol, system and method
IE902400A1 (en) 1989-08-03 1991-02-13 Minnesota Mining & Mfg Retroreflective vehicle identififcation articles having¹improved machine legibility
US5223701A (en) 1990-10-30 1993-06-29 Ommiplanar Inc. System method and apparatus using multiple resolution machine readable symbols
US5591956A (en) 1995-05-15 1997-01-07 Welch Allyn, Inc. Two dimensional data encoding structure and symbology for use with optical readers
US5726435A (en) 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same
JP2001256425A (ja) * 2000-03-10 2001-09-21 Denso Corp 光学情報読取装置
US6751352B1 (en) 2000-05-25 2004-06-15 Hewlett-Packard Development Company, L.P. Method and apparatus for generating and decoding a visually significant barcode
US6832728B2 (en) 2001-03-26 2004-12-21 Pips Technology, Inc. Remote indicia reading system
US7016518B2 (en) 2002-03-15 2006-03-21 Extreme Cctv Inc. Vehicle license plate imaging and reading system for day and night
JP3996520B2 (ja) 2003-01-30 2007-10-24 株式会社デンソーウェーブ 二次元情報コードおよびその生成方法
CN100481117C (zh) 2004-03-15 2009-04-22 武汉矽感科技有限公司 一种二维条码编解码方法
JP4755415B2 (ja) * 2004-12-21 2011-08-24 株式会社アドイン研究所 カラー二次元コード
WO2006089247A2 (en) 2005-02-16 2006-08-24 Pisafe, Inc. Method and system for creating and using redundant and high capacity barcodes
WO2006114827A1 (ja) 2005-04-06 2006-11-02 Content Idea Of Asia Co., Ltd. 透過型二次元コード、二次元コード付き物品、二次元コードの印刷方法および表示方法
US7387393B2 (en) 2005-12-19 2008-06-17 Palo Alto Research Center Incorporated Methods for producing low-visibility retroreflective visual tags
JP2007188157A (ja) * 2006-01-11 2007-07-26 Fujifilm Corp バーコード及び撮像装置
GB2440003A (en) 2006-07-10 2008-01-16 Retainagroup Ltd Vehicle identification system consisting of a machine readable pattern on the vehicle and a imaging device to read the encoded pattern
US20080233404A1 (en) 2007-03-22 2008-09-25 3M Innovative Properties Company Microreplication tools and patterns using laser induced thermal embossing
JP2010539612A (ja) 2007-09-21 2010-12-16 シルバーブルック リサーチ ピーティワイ リミテッド 方向符号を備える符号化パターン
GB2458701C (en) 2008-03-28 2018-02-21 Pips Tech Limited Vehicle identification system
US8865293B2 (en) 2008-12-15 2014-10-21 3M Innovative Properties Company Optically active materials and articles and systems in which they may be used
CN101964145A (zh) 2009-07-23 2011-02-02 北京中星微电子有限公司 一种自动车牌识别方法及其***
US9145098B2 (en) 2009-10-08 2015-09-29 3M Innovative Properties Company High contrast retroreflective sheeting and license plates
CN102103764A (zh) 2009-12-18 2011-06-22 沈阳新松机器人自动化股份有限公司 自助收费机
US8430315B2 (en) 2010-06-29 2013-04-30 SignaKey LLC Data encoding and decoding
US9092979B2 (en) 2010-12-14 2015-07-28 Xerox Corporation Automated license plate recognition system and method using human-in-the-loop based adaptive learning
WO2013149142A1 (en) 2012-03-30 2013-10-03 3M Innovative Properties Company Retroreflective articles having a machine-readable code
US8851381B2 (en) 2012-10-17 2014-10-07 Rockwell Automation Technologies, Inc. Motor and motor drive diagnostic system using barcode
JP2017516204A (ja) 2014-04-10 2017-06-15 アンキ,インコーポレイテッド 美的要素を備える機械読み取り可能な光学式コードの生成および復号化
KR20170044132A (ko) 2014-08-13 2017-04-24 쓰리엠 이노베이티브 프로퍼티즈 캄파니 광학적 활성 물품 및 그것이 이용될 수 있는 시스템
US9791865B2 (en) 2014-10-29 2017-10-17 Amazon Technologies, Inc. Multi-scale fiducials
BR112017014255A2 (pt) 2014-12-30 2018-01-02 3M Innovative Properties Co placa para sistema de identificação de veículo
EP3317624B1 (en) 2015-07-05 2019-08-07 The Whollysee Ltd. Optical identification and characterization system and tags
WO2017034938A1 (en) 2015-08-21 2017-03-02 3M Innovative Properties Company Encoding data in symbols disposed on an optically active article
WO2017151202A2 (en) 2015-12-08 2017-09-08 3M Innovative Properties Company Prismatic retroreflective sheeting including infrared absorbing material
EP3229047A1 (en) 2016-04-05 2017-10-11 3M Innovative Properties Company Retroflective article with infrared-detectable pattern
WO2018064212A1 (en) 2016-09-28 2018-04-05 3M Innovative Properties Company Multi-dimensional optical code with static data and dynamic lookup data optical element sets
US10691908B2 (en) 2016-09-28 2020-06-23 3M Innovative Properties Company Hierarchichal optical element sets for machine-read articles
US10417541B1 (en) 2016-12-21 2019-09-17 Amazon Technologies, Inc. Reflected light identification (RLID) device
WO2018151761A1 (en) 2017-02-20 2018-08-23 3M Innovative Properties Company Retroreflecting article including retarder
WO2019082162A1 (en) 2017-10-27 2019-05-02 3M Innovative Properties Company LIGHT ORIENTATION ARTICLE WITH CONFORMING SELF-TIMER

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2105868A1 (en) 2008-03-27 2009-09-30 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns for specification of cell positions and distinction from background
US20120256000A1 (en) 2011-04-06 2012-10-11 Ronald Steven Cok Decoding multi-resolution optical codes
WO2015067725A1 (en) 2013-11-07 2015-05-14 Scantrust Sa Two dimensional barcode and method of authentication of such barcode

Also Published As

Publication number Publication date
EP3520031B1 (en) 2021-12-08
JP2019537098A (ja) 2019-12-19
CN109791624A (zh) 2019-05-21
US10867224B2 (en) 2020-12-15
CN109791624B (zh) 2022-06-07
US20200019827A1 (en) 2020-01-16
KR20190059942A (ko) 2019-05-31
EP3520031A1 (en) 2019-08-07
JP7088597B2 (ja) 2022-06-21
WO2018064203A1 (en) 2018-04-05

Similar Documents

Publication Publication Date Title
KR102427514B1 (ko) 머신 판독 물품들을 위한 폐색 탄성 광학 코드들
KR102494746B1 (ko) 정적 데이터 및 동적 룩업 데이터 광학 요소 세트를 갖는 다차원 광학 코드
EP3520030B1 (en) Hierarchichal optical element sets for machine-read articles
EP3520032B1 (en) Retroreflective multiscale codes
US9406010B2 (en) Producing, capturing and using visual identification tags for moving objects
US10896340B2 (en) Encoding data in symbols disposed on an optically active article
US11429803B2 (en) Identifier allocation for optical element sets in machine-read articles

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant