KR20190128228A - 동적 환경 데이터 시스템을 가지는 2차원 바코드, 방법 및 장치 - Google Patents

동적 환경 데이터 시스템을 가지는 2차원 바코드, 방법 및 장치 Download PDF

Info

Publication number
KR20190128228A
KR20190128228A KR1020197031049A KR20197031049A KR20190128228A KR 20190128228 A KR20190128228 A KR 20190128228A KR 1020197031049 A KR1020197031049 A KR 1020197031049A KR 20197031049 A KR20197031049 A KR 20197031049A KR 20190128228 A KR20190128228 A KR 20190128228A
Authority
KR
South Korea
Prior art keywords
sensor
data
barcode
color
symbol
Prior art date
Application number
KR1020197031049A
Other languages
English (en)
Other versions
KR102320597B1 (ko
Inventor
테디우스 프루시크
모하나드 압도
클라이브 호버거
Original Assignee
템프타임 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/464,207 external-priority patent/US10546172B2/en
Application filed by 템프타임 코포레이션 filed Critical 템프타임 코포레이션
Publication of KR20190128228A publication Critical patent/KR20190128228A/ko
Application granted granted Critical
Publication of KR102320597B1 publication Critical patent/KR102320597B1/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
    • 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/0614Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR
    • G06K9/2054
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition

Abstract

사전 인쇄된 정보를 2차원 바코드 내에서 코딩된 센서 정보와 결합하기 위한 방법, 시스템 및 장치. 상기 센서 정보는 환경적, 물리적 또는 생물학적 성질일 수 있고, 라벨링된 제품이 노출된 환경적 또는 생물학적 상태의 누적 변화를 기록한다. 환경 조건의 발생에 응답하여 지속적인 화학적 또는 물리적 상태 변화를 겪는 센서 염료 화학이 사용된다. 지속적인 변화는 센서 디지털 정보를 인코딩하는 센서-증강된 2차원 바코드 내에 내장된 센서 염료의 컬러 상태의 변화를 야기하는 초기 상태와 최종 상태 사이에 있다. 바코드 디코딩 동안 에러 정정 기능을 사용하여 센서 정보를 복구한다.

Description

동적 환경 데이터 시스템을 가지는 2차원 바코드, 방법 및 장치
본 출원은 2017년 3월 20일에 출원된 미국 출원 제 15/464,207 호에 대한 우선권을 주장한다.
바코드는 광학적으로 기계가 읽을 수 있는 데이터 표현이다. 2차원(2D) 바코드(예를 들어, 데이터 매트릭스(Data Matrix) 또는 QR 코드)는 바코드로 정보를 나타내는 2차원 방식이다. 흑백 2D 바코드는 1차원(즉, 선형) 바코드(예를 들어, Code 39 또는 Code 128)보다 단위 면적당 더 많은 데이터를 나타낼 수 있다. 바코드는 재고의 문서화, 배송 추적, 가격 책정 파일에 대한 제품 매칭, 사용자에게 정보 제공 등 많은 용도로 사용된다. 일부 시스템의 경우 바코드에서 데이터를 복구하는 것이 시스템에 중요할 수 있다. 많은 2D 바코드 기술은 강력한 에러 정정 기능을 제공하며 일반적으로 여러 개의 연결된 바코드 또는 더 큰 크기의 바코드를 사용하면 데이터 복구 기능이 향상될 수 있다. 그러나 바코드에 사용 가능한 공간은 여러 양태에서 제한될 수 있다. 더욱이, 현재의 바코드 기술은 지금 개시된 바와 같이 개선될 수 있다.
본 개시는 동적 환경 데이터를 포함하는 2D 바코드를 제공하고 판독하기 위한 새롭고 혁신적인 시스템, 방법 및 장치를 제공하는데, 여기서 바코드의 모듈은 환경 조건에 응답하여 지속적으로(단계적으로와 대조적으로) 컬러 상태를 변화시킬 수 있다. 본 개시의 예시적인 양태에서, 센서-증강된(sensor-augumented) 2차원 바코드는 기판, 기판 상에 제공된 제1 층 및 기판 상에 제공된 제2 층을 포함한다. 상기 제1 층은 환경 조건의 발생에 응답하여, 센서 염료의 컬러 상태에 변화를 일으키는 초기 상태와 최종 상태 사이에서 지속적인 화학적 또는 물리적 상태 변화를 겪도록 구성되는 케미스트리를 갖는 센서 염료를 포함하는 센서 염료 영역을 포함한다. 상기 컬러 상태는 상기 환경 조건에 대한 노출을 나타낸다. 상기 제2 층은 2차원 에러 정정 바코드 심볼을 포함하며, 이는 영구적인 컬러 상태의 복수의 모듈들을 포함한다. 상기 모듈들은 선택적으로 정사각형, 직사각형 또는 원형이다.
본 개시의 다른 예시적인 양태에 따르면, 제조 물품은 제약 제품, 생물학적 제품, 식품, 화학 요법 제품 또는 백신; 상기 제약 제품, 생물학적 제품, 식품, 화학 요법 제품 또는 백신 제품을 담는 용기; 및 상기 용기 상에 또는 내에 제공되고 바람직하게는 용기의 외부 표면에 적용되는 센서-증강된 2차원 바코드 심볼을 포함한다.
본 개시의 다른 예시적인 양태에 따르면, 센서-증강된 2차원 바코드 심볼의 판독 방법은 이미지에서 픽셀에 대한 컬러 값을 얻기 위해 센서-증강된 2차원 바코드 심볼의 이미지를 광학적으로 스캐닝하는 단계를 포함한다. 이어서, 센서-증강된 2차원 바코드 심볼의 컬러 값을 포함하는 스캔된 픽셀 맵이 구성되고, 스캔된 픽셀 맵의 픽셀은 각 픽셀에 2진 컬러 값을 할당하고 2진화된 픽셀 맵을 형성하도록 처리된다. 2차원 바코드 심볼은 2진화된 픽셀 맵에서 식별 및 디코딩되어 심볼 코드워드 시퀀스(symbol codeword sequence)를 복구한다. 다음에, 기저(underlying) 데이터 코드워드는 바람직하게는 심볼 코드워드 시퀀스에 에러 정정 프로세스를 사용함으로써 심볼 코드워드 시퀀스로부터 복구된다. 데이터 코드워드들은 센서 염료 영역에서 바코드 모듈의 식별을 위해 처리되고, 센서 염료 영역에서 바코드 모듈의 평균 컬러 값이 결정된다. 센서 염료 영역의 평균 컬러 값은 스캐닝 시에 입사광의 반사율을 결정하기 위해 처리된다.
본 개시의 다른 예시적인 양태에 따르면, 센서-증강된 2차원 바코드 심볼을 판독하는 방법은 이미지의 각 픽셀에 대한 그레이 스케일 값을 얻기 위해 센서-증강된 2차원 바코드 심볼의 이미지를 광학적으로 스캔하는 것을 포함한다. 이어서, 센서-증강된 2차원 바코드 심볼 내의 픽셀의 그레이 스케일 픽셀 맵이 구성된다. 다음에, 이 방법은 그레이 스케일 픽셀 맵에서 픽셀을 처리하여 2진 컬러 값을 각 픽셀에 할당하고 2진화된 픽셀 맵을 형성하는 단계를 포함한다. 또한, 2진화된 픽셀 맵에서 2차원 바코드 심볼을 식별하는 것은 심볼 코드워드 시퀀스를 복구하기 위해 식별되고 디코딩된다. 다음, 심볼 코드 워드 시퀀스로부터의 기저 데이터 코드워드들은 심볼 코드워드들에 대한 에러 정정 프로세스를 사용하여 복구된다. 데이터 코드워드들은 센서 염료 영역에서 바코드 모듈을 식별하기 위해 처리된다. 그 후, 센서 염료 영역에서 바코드 모듈들의 평균 그레이 스케일 값이 결정되고, 센서 염료 영역의 평균 그레이 스케일 값이 스캐닝 시에 입사광의 반사율을 결정하기 위해 처리된다.
개시된 시스템, 방법 및 장치의 추가적인 특징들 및 장점들은 다음의 상세한 설명 및 도면에 기술되어 있으며, 이로부터 명백해질 것이다.
도 1a는 본 개시의 예시적인 실시예에 따른, 2D 바코드의 바코드 데이터의 예시적인 데이터 구조의 블록도이다.
도 1b는 본 개시의 예시적인 실시예에 따른, 2D 바코드의 인코딩된 데이터의 예시적인 데이터 구조의 블록도이다.
도 1c는 본 개시의 예시적인 실시예에 따른, 2D 바코드의 컨텐츠 데이터의 예시적인 데이터 구조의 블록도이다.
도 1d는 본 개시의 예시적인 실시예에 따른, 2D 바코드의 레퍼런스 데이터의 예시적인 데이터 구조의 블록도이다.
도 1e는 본 개시의 예시적인 실시예에 따른, 2D 바코드의 페이로드 데이터의 예시적인 데이터 구조의 블록도이다.
도 2a는 본 개시의 예시적인 실시예에 따른, 예시적인 2D 바코드이다.
도 2b는 본 개시의 예시적인 실시예에 따른, 2D 바코드의 레퍼런스 데이터의 예이다.
도 2c는 본 개시의 예시적인 실시예에 따른, 예시적인 2D 바코드이다.
도 2d는 본 개시의 예시적인 실시예에 따른, 2D 바코드의 레퍼런스 데이터의 예이다.
도 3a는 본 개시의 예시적인 실시예에 따른, 2D 바코드의 표현이다.
도 3b는 본 개시의 예시적인 실시예에 따른, 2D 바코드의 표현이다.
도 3c는 본 개시의 예시적인 실시예에 따른, 2D 바코드의 표현이다.
도 3d는 본 개시의 예시적인 실시예에 따른, 2D 바코드의 표현이다.
도 4는 본 개시의 예시적인 실시예에 따른, 2D 바코드를 제공하기 위한 예시적인 프로세스를 도시하는 흐름도를 포함한다.
도 5는 본 개시의 예시적인 실시예에 따른, 2D 바코드를 제공하기 위한 예시적인 프로세스를 사용하여 인쇄된 2D 바코드를 도시하는 흐름도이다.
도 6a는 본 개시의 예시적인 실시예에 따른, 정적 데이터의 세트 및 동적 데이터의 세트의 텍스트 표현이다.
도 6b는 본 개시의 예시적인 실시예에 따른, 2진 정보 모듈로서 인코딩된 텍스트 동적 데이터의 예이다.
도 6c는 본 개시의 예시적인 실시예에 따른, 2D 바코드를 제공하기 위한 예시적인 프로세스를 사용하여 인쇄된 2D 바코드를 도시한 흐름도이다.
도 6d는 본 개시의 예시적인 실시예에 따른, 2D 바코드를 제공하기 위한 예시적인 프로세스를 사용하여 인쇄된 2D 바코드를 도시한 흐름도이다.
도 7은 본 개시의 예시적인 실시예에 따른, 2D 바코드를 제공하기 위한 예시적인 프로세스를 나타내는 흐름도를 포함한다.
도 8은 본 개시의 예시적인 실시예에 따른, 2D 바코드를 제공하기위한 예시적인 프로세스를 사용하여 인쇄된 2D 바코드의 일부를 도시하는 흐름도이다.
도 9는 본 개시의 예시적인 실시예에 따른, 2D 바코드를 제공하기 위한 예시적인 프로세스를 나타내는 흐름도를 포함한다.
도 10a는 본 개시의 예시적인 실시예에 따른, 2D 바코드를 제공하기 위한 예시적인 프로세스를 사용하여 인쇄된 예시적인 정보 모듈 세트의 블록도이다.
도 10ba 본 개시의 예시적인 실시예에 따른, 2D 바코드를 제공하기 위한 예시적인 프로세스를 사용하여 인쇄된 예시적인 정보 모듈 세트의 블록도이다.
도 10c는 본 개시의 예시적인 실시예에 따른, 2D 바코드를 제공하기 위한 예시적인 프로세스를 사용하여 인쇄된 예시적인 정보 모듈 세트의 블록도이다.
도 11은 본 개시의 예시적인 실시예에 따른, 2D 바코드를 제공하기 위한 예시적인 프로세스를 나타내는 흐름도를 포함한다.
도 12는 본 개시의 예시적인 실시예에 따른, 2D 바코드를 판독하기 위한 예시적인 프로세스를 나타내는 흐름도를 포함한다.
도 13은 본 개시의 예시적인 실시예에 따른, 2D 바코드를 판독하기 위한 예시적인 프로세스를 나타내는 흐름도를 포함한다.
도 14는 본 개시의 예시적인 실시예에 따른, 2D 바코드 제공 시스템의 블록도이다.
도 15a는 본 개시의 예시적인 실시예에 따른, 2D 바코드 판독 시스템의 블록도이다.
도 15b는 본 개시의 예시적인 실시예에 따른, 2D 바코드 판독 시스템의 블록도이다.
도 16은 본 개시의 예시적인 실시예에 따른, 데이터 "1234567890"을 인코딩하는 14x14 데이터 매트릭스 심볼의 블록도이다.
도 17은 본 개시의 예시적인 실시예에 따른, 14x14 데이터 매트릭스 심볼에 대한 코드워드 및 유타(utah) 배치 및 비트맵 매트릭스의 예시이다.
도 18은 본 개시의 예시적인 실시예에 따른, 10x10 데이터 매트릭스 비트맵 내의 일반적인 코드워드 배치의 개략도이다.
도 19는 본 개시의 예시적인 실시예에 따른, 모든 실제 크기의 데이터 매트릭스 심볼에서의 불변 유타(utah) 배치의 블록도이다
도 20은 본 개시의 예시적인 실시예에 따른, 16x16 데이터 매트릭스 심볼 내의 14x14 비트맵 및 유타(utah) 배치의 표현이다.
도 21은 본 개시의 예시적인 실시예에 따른, GS1 AI (90) 스트링 및 15 BCH (15,5,7) 인코딩 비트의 배치에 사용된 유타(utah)의 표현이다.
도 22는 본 개시의 예시적인 실시예에 따라 W→X 센서 염료 케미스트리를 사용하고 GS1 AI (90) 스트링을 인코딩하는 16x16 데이터 매트릭스의 블록도이다.
도 23은 본 개시의 예시적인 실시예에 따른 도 7의 유타(utah) 1-7의 상세도이다.
도 24는 본 개시의 예시적인 실시예에 따른, 활성화되지 않은, 겹쳐 인쇄된 센서 염료 모듈을 갖는 도 7의 16x16 데이터 매트릭스의 블록도이다.
도 25는 본 개시의 예시적인 실시예에 따른, X→B 센서 염료 케미스트리를 사용하고 GS1 AI (90) 스트링을 인코딩하는 16x16 데이터 매트릭스의 블록도이다.
도 26은 본 개시의 예시적인 실시예에 따른, 도 25의 유타(utah) 1-7의 상세도이다.
도 27은 본 개시의 예시적인 실시예에 따른, 활성화되지 않은, 겹쳐 인쇄된 센서 염료 모듈을 갖는 도 25의 16x16 데이터 매트릭스의 블록도이다.
도 28은 본 개시의 예시적인 실시예에 따른, 4x4 프레임 영역을 나타내는 표 8의 데이터를 인코딩하는 16x16 데이터 매트릭스의 상세도이다.
도 29는 본 개시의 예시적인 실시예에 따른, 표 8의 데이터를 사용하여 인코딩된 기본(underlying) 16x16 데이터 매트릭스의 블록도이다.
도 30은 본 개시의 예시적인 실시예에 따른, 겹쳐 인쇄된 4x4 화이트 프레임을 갖는 도 29의 16x16 데이터 매트릭스의 블록도이다.
도 31은 본 개시의 예시적인 실시예에 따른, 겹쳐 인쇄되고 활성화된 센서 염료 패치를 도시하는 도 30의 16x16 데이터 매트릭스의 블록도이다.
도 32a는 본 개시의 예시적인 실시예에 따른, 초기 상태와 최종 상태 사이의 제1 중간 상태에서 불변 공간에 센서 염료 패치를 갖는 26x26 데이터 매트릭스의 블록도이다.
도 32b는 본 개시의 예시적인 실시예에 따른, 제2 중간 상태에서 불변 공간에서 센서 염료 패치를 갖는 26x26 데이터 매트릭스의 블록도이다.
도 33은 본 개시의 예시적인 실시예에 따른 센서 염료 패치의 반사율 R(t) 대 등가 노출 시간(t)의 그래프이다.
도 34는 본 개시의 예시적인 실시예에 따른, 바코드 판독기 디스플레이의 제1 표현이다.
도 35는 본 개시의 예시적인 실시예에 따른, 바코드 판독기 디스플레이의 제2 표현이다.
종래의 접근법은 자극에 따라 판독할 수 없거나 변하는 1차원 (선형 또는 1D) 바코드를 사용하였다. Varcode Ltd에서 제공하는 FreshCode 스마트 바코드 레이블이 주목할만하다. (http://www.varcode.com/portfolio_item/freshcode/ 참조).
Nemet et al., US20140252096 A1을 포함하는 다수의 1D 바코드 특허 출원이 있었다. 환경 측정을 1D 바코드의 데이터 값에 결합하는 것이 일반적으로 설명되었지만, 1D 바코드에 적용 가능한 기술은 환경 모니터링 기능이 있는 2차원(2D) 바코드에 적용 가능한 것으로 보이지 않는다.
1D 바코드가 차지하는 면적은 공간이 중요한 애플리케이션(예를 들어, 사용 애플리케이션(unit of use applications), 바이얼(vials) 등)에서 실용성을 제한한다. 고밀도 인코딩 기술, 예를 들어 데이터 매트릭스(Data Matrix)를 갖는 2차원 바코드는 실제로 동일한 데이터를 나타내는 1D 바코드보다 인코딩된 영역(encoded area)이 약 30 배 이상 더 작을 수 있다.
2D 바코드를 포함하는 이전의 애플리케이션은 환경 모니터링을 다루지 않았으며, 온도, 시간, 시간-온도 곱, 동결, 핵 방사선, 독성 화학 물질들 등과 같은 환경 인자에 민감하지 않고 정적이며 저장된 고밀도 정보에 중점을 두었다.
일부 솔루션들은 1차/2차(primary/secondary) 또는 비밀/공개(covert/overt) 데이터라는 두 가지 데이터의 세트를 가지고 있으며, 이로 인해 두 번째 정보 세트는 바코드의 여분의 공간에 저장되며 기존 판독기로, 또는 제2 판독기 또는 다른 해독 방법을 사용하여 독립적으로 판독될 수 있다. 2차/비밀 데이터를 포함한 이러한 솔루션은 보안 및 인증과 같은 사항들을 다뤘지만, 데이터가 동적인 환경 모니터링은 다루지 못했다. Porter et al.의 미국 특허 출원 US 20130015236 A1 고가의 문서 인증 시스템 및 방법 및 여기에 포함된 참조는 1차 및 2차 정보 세트와 문서 인증 애플리케이션을 설명한다.
다른 솔루션은 1차/2차/3차 등의 다수의 데이터의 세트를 다루었으며, 이에 따라 상이한 데이터의 세트(2차, 3차 등)가 이전 세트에 걸쳐 점진적으로 저장된다. 예를 들어, 상이한 컬러(color) 모듈로 이전 세트 상에 인쇄한 후 다양한 컬러 모듈을 해석하도록 구성된 판독기를 사용하여 데이터를 해독함으로써 다수의 정보 세트가 점진적으로 추가된다. 예를 들어 Simske et al., US20140339312 A1을 참조하라. 이러한 솔루션은 한 번에 한 계층 씩 정적 데이터를 점진적으로 도입하고 동적 환경 데이터가 아닌 트랙킹(tracking), 트래이싱(tracing), 검사, 품질 보증과 관련된 사항들을 다룬다.
본 개시에서 설명된 일부 예시적인 실시예는 매체(media) 상의 2차원 바코드에서 코딩된 센서 정보와 함께 사전 인쇄된(preprinted) 데이터를 조합하는 독특한 방식을 제공한다. 사전 인쇄된 데이터 및 코딩된 센서 정보는 단일 단계로 결합될 수 있거나, 코딩된 센서 정보는 실제 계획된 센서 사용에 따라 2차 단계에서 사전 인쇄된 데이터에 동적으로 추가될 수 있다.
감지된 특성이 환경적, 물리적 또는 생물학적 특성인 경우 센서 염료 케미스트리(chemistry)이 채용될 수 있다. 감지된 특성의 특정 조건은 화학적 또는 물리적 상태 변화를 활성화시켜 센서 염료의 컬러 상태를 변화시킨다. 컬러 상태의 변화는 센서-증강된 2차원 바코드 내의 센서 염료 모듈의 패턴에서 센서 디지털 정보가 드러나게 한다. 센서 디지털 정보는 사용 중인 2차원 바코드 심볼로지(symbology)에 대한 표준 판독 및 에러 정정 알고리즘의 확장을 사용하여 바코드를 읽을 때 센서 디지털 정보가 복구된다.
다른 예에서, 센서 염료는 지속적인 화학적 또는 물리적 상태 변화를 겪도록 구성된 케미스트리(chemistry)를 가질 수 있다. 예를 들어, 센서 염료는 초기 상태와 최종 상태 사이에서 지속적으로 변화하여 센서 염료의 컬러 상태를 변화시킬 수 있다. 예를 들어, 센서 염료는 시간 및 온도에 대한 노출에 기초하여 컬러를 지속적으로 변화시키는 화학적 조성을 가질 수 있다(예를 들어, 센서 염료 패치의 현재 컬러 상태는 환경 조건에 대한 누적 노출의 결과이다). 예를 들어, 15 ℃ 이상의 온도에서 빠르게 상하는 제품의 경우, 센서 염료 패치 컬러 변화는 제품이 현재 15 ℃ 이하의 온도에 있더라도 그러한 온도에 대한 짧은 노출을 나타낼 수 있다. 센서 염료 케미스트리의 누적 특성으로 인해, 센서 염료는 공급망(supply chain)의 어느 시점에서나 남은 제품 수명과 같은 제품 특성을 얻을 수 있도록 초기 상태에서 최종 상태로 지속적으로 컬러를 변화시킨다.
환경 센서의 예는 누적 열 노출을 측정하거나 설정된 고온 또는 저온 임계 값(threshold value)을 초과하는 것을 측정하는 온도 모니터; 시간, 시간-온도 곱, 핵 방사선 노출 모니터; 각각 누적 노출 임계 값 또는 순간 임계 값을 초과하는 것을 측정하는가스 또는 습도 노출 모니터를 포함한다. 의료용 센서의 예는 기록용 환자 온도계; 아플라톡신(aflatoxin) 또는 보툴리즘(botulism) 독소와 같은 생물학적 독소에 대한 수준을 측정하는 분석기(assays); 프리온(prions)과 같은 생물학적 제제 또는 감염성 박테리아와 같은 생물학적 유기체의 존재를 감지하기 위한 비색 면역 분석기(colorimetric immunoassays)을 포함한다.
2차원 (2D) 바코드의 예시적인 데이터 구조(100), 2D 바코드의 인코딩된 데이터(encoded date)의 예시적인 데이터 구조, 2D 바코드의 컨텐츠 데이터(content data)의 예시적인 데이터 구조, 및 2D 바코드의 레퍼런스 데이터(reference data)는 각각 도 1a, 도 1b, 도 1c 및 도 1d에 도시되어 있다. 2D 바코드는 인코딩된 데이터(104)와 레퍼런스 데이터(106)를 포함한다. 인코딩된 데이터(104)는 컨텐츠 데이터(108), 그리고 포맷 및 버전(format and version) 데이터(110)를 포함할 수 있다. 컨텐츠 데이터(108)는 페이로드(payload) 데이터(112), 패딩(padding) 데이터 (114), 에러 검출(error detection) 및 정정(correction) 데이터(116) 및 나머지 공간(118)을 포함할 수 있다. 포맷 및 버전 데이터(110)는 컨텐츠 데이터(108)를 디코딩하는데 필요한 정보를 제공한다. 예를 들어, 포맷 및 버전 데이터(110)는 마스크 정보를 포함할 수 있다. 레퍼런스 데이터(106)는 어떤 프로토콜이 사용되고 있는지를 식별하는데 필요한 데이터이며, 판독기가 2D 바코드를 찾아서 스캔할 수 있게 한다. 레퍼런스 데이터(106)는 정렬(alignment) 데이터(124), 파인더(finder) 데이터(126), 타이밍(timing) 데이터(128), 포지셔닝(positioning) 데이터(130) 및 오리엔테이션(orientation) 데이터(132)를 포함할 수 있다. 페이로드 데이터는 정적(static) 데이터(134) 및 동적(dynamic) 데이터(136)를 포함할 수 있다. 도 2a, 2b, 2c 및 2d에 더 상세히 후술되는 바와 같이, 포지셔닝 데이터(130)는 위치 블록(138) 또는 포지셔닝 모듈을 포함할 수 있고, 파인더 데이터(126)는 파인더 패턴(142) 또는 파인더 모듈을 포함할 수 있다. 또한, 정렬 데이터(124)는 정렬 블록 (146)을 포함할 수 있다. 타이밍 데이터(128)는 타이밍 패턴(148)을 포함할 수 있다. 레퍼런스 데이터(106)는 또한 분리기(separators), 식별 모듈 및 오리엔테이션(orientation) 모듈을 포함할 수 있다.
예시적인 2D 바코드가 도 2a 및 도 2c에 도시되어 있고, 그들의 각각의 레퍼런스 데이터(106), 그리고 포맷 및 버전 데이터(110)가 도 2b 및 도 2d에 도시되어 있다. 도 2a는 2D 바코드(156) (예를 들어, 데이터 매트릭스)에 대한 모든 인코딩된 데이터(104) 및 레퍼런스 데이터(106)를 포함한다. 도 2b는 2D 바코드(156)에 대한 레퍼런스 데이터(106)만을 도시한다. 예를 들어, 파인더 패턴(142) 및 타이밍 패턴(148)을 포함하는 레퍼런스 데이터(106)는 2D 바코드(156)의 컨텐츠 데이터(108)를 포함한다. 도 2c는 2D 바코드(158) (예를 들어, QR 코드)에 대한 모든 인코딩된 데이터(104) 및 레퍼런스 데이터(106)를 포함한다. 도 2d는 2D 바코드(158)에 대한 레퍼런스 데이터(106)만을 도시한다. 예를 들어, 레퍼런스 데이터(106)는 위치 블록(138), 정렬 블록(146) 및 타이밍 패턴(148)을 포함할 수 있다.
2D 바코드(156)의 표현이 도 3a 및 도 3b에 도시되어 있다. 2D 바코드(158)의 표현이 도 3c 및 도 3d에 도시되어 있다. 각각의 2D 바코드의 표현은 레퍼런스 데이터 영역(160) 및 인코딩된 데이터 영역(162)을 도시한다. 인코딩된 데이터 영역(162)은 정적 데이터(134), 동적 데이터(136), 그리고 에러 검출 및 정정 데이터(116)를 포함할 수 있다. 또한, 2D 바코드(156)는 인코딩된 데이터(104) 또는 레퍼런스 데이터(106)를 제공하기 위해 사용될 수 없는 복수의 미사용 비트를 포함할 수 있다. 2D 바코드(158)는 복수의 미사용 비트를 포함할 수 있는 나머지 공간(118)을 포함할 수 있다.
본 명세서에 설명된 일부 예는 데이터 매트릭스를 사용하지만, 적용 가능한 2D 바코드 표준에 따르도록 접근 방식을 변경함으로써 유사한 접근 방식이 다른 2차원 바코드 방식과 함께 사용될 수 있음을 이해할 것이다. 데이터 매트릭스는 ISO/IEC 16022 정보 기술 - 자동 식별 및 데이터 캡처 기술 - 데이터 매트릭스 바코드 심볼로지 사양에 따라 형성된 2차원 에러 정정 바코드 심볼이다. ECC 200 데이터 매트릭스 심볼은 리드-솔로몬(Reed-Solomon) 에러 정정을 사용하여 제한된 양의 우발적 손상 또는 의도적인 변경이 발생한 심볼에서 인코딩된 데이터를 복구한다. 여기에서 언급된 모든 데이터 매트릭스는 ECC 200 심볼 타입이고, 정사각형 또는 직사각형 형상 일수 있고, 각각 행 및 열의 수에 의해 식별된다.
데이터는 8 비트 코드워드들의 시퀀스 또는 심볼 문자 값들로 데이터 매트릭스에 인코딩된다. 코드워드는 데이터 또는 RSEC (Reed-Solomon Error Correction) 검사 문자 값들이 포함될 수 있다. 여기에서 기술된 일반적인 접근법은 다른 코드워드 크기, 다른 데이터 레이아웃, 및 다른 형태의 에러 정정 코드를 사용할 수 있으며,이런 공통 데이터 매트릭스는 단지 예로서 기술된 것임을 이해할 것이다.
각 모듈은 1 비트의 데이터를 인코딩하는 데 사용되는 데이터 매트릭스 심볼을 포함하는 매트릭스의 시각적 셀(visual cell)이다. 각 모듈은 명목상(nominally) 흑색 또는 명목상 백색으로 표시된다. 모듈 매트릭스는 파인더 패턴(Finder Pattern)으로 묶인 심볼 영역에 포함된 2진 비트맵 매트릭스의 시각적 표현이다. 파인더 패턴은 심볼 모듈 매트릭스의 두 에지를 따라 연결된 실선으로 형성된 'L'일 수 있으며, 심볼의 반대쪽 에지를 따라 백색과 흑색 모듈들이 교대하는 패턴이다. 그림 16을 참조하라. 다른 바코드 심볼로지에서, 다른 파인더 패턴이 사용될 수 있다는 것이 이해될 것이다.
도 16은 데이터 "1234567890"을 인코딩하는 14x14 정사각형 데이터 매트릭스(320)를 도시한다. 이 데이터 매트릭스는 2 개의 부분을 갖는다. 심볼의 2 개의 에지를 따라 연결된 실선 (312a 및 312b)에 의해 형성된 'L'을 형성하는 파인더 패턴은 심볼의 반대쪽 에지를 따라 교대로 백색 및 흑색 모듈들(322a 및 322b)의 패턴을 갖는다. 심볼 코드워드들은 파인더 패턴 내부의 12x12 모듈 매트릭스(330)에서 인코딩된다.
14x14 데이터 매트릭스(320)의 12x12 모듈 매트릭스(330)의 상세한 구조는 도 17에서 비트맵 매트릭스(200)로서 도시된다. 14x14 데이터 매트릭스는 18 개의 코드워드들을 포함하고, 각각은 코드워드의 8 비트에 대응하는 8 개의 모듈들로 구성되며, "유타(utah)"로 지칭된다. 12x12 비트맵 매트릭스는 14x14 데이터 매트릭스에서 18 개의 모든 코드워드들의 레이아웃을 보여준다.
"유타(utah)"는 1 개의 코드워드를 인코딩하기 위한 8 개의 모듈들의 배열이다. 유타(utah)주의 모양이 빈번한 패턴을 가진 단일 연결 그룹으로 배열되거나 두 개의 패턴에 걸쳐 연결된 모듈들의 2개의 하위 그룹들로 구성될 수 있다. 코드워드 9를 인코딩하는 인접(contiguous) 유타(utah)(270)는 인접 유타(utah) 내의 전형적인 비트 배열을 도시한다. 반대로, 코드워드 4의 유타(utah)는 두 개의 작은 하위 그룹으로 구성된다. 비트맵 매트릭스 200의 상단에 있는 서브 그룹 272a는 비트들을 4.3에서 4.8로 인코딩하고 비트맵 매트릭스의 하단에 있는 서브 그룹 272b는 비트들을 4.1과 4.2로 인코딩한다.
10x10 데이터 매트릭스 비트맵 매트릭스(300) 내의 코드워드 유타(utah) 배치의 일반적인 레이아웃이 도 18에 도시되어 있다. 트레이스 라인(310)은 비트맵 매트릭스 내에 코드워드 유타(utah)를 배치하는 전체적인 방법을 도시한다. 그림 17과 그림 18을 비교할 때 다음의 배치에 유의하라.
유타(utah) 2의 모든 비트
유타(utah) 3 비트 3.6-3.8
유타(utah) 4 비트 4.3-4.8
유타(utah) 5와 6의 모든 비트
이러한 비트 위치는 데이터 매트릭스 심볼의 상부 좌측 코너(ULC)를 기준으로 동일한 위치에 있다. ISO/IEC 16022 표준 부록 F.3, 최대 26x26 크기의 모든 정사각형 데이터 매트릭스 심볼 및 모든 직사각형 데이터 매트릭스 심볼에 따라, 이러한 비트 위치는 각 데이터 매트릭스 심볼의 ULC와 관련하여 위치가 변하지 않는다. 이러한 비트 위치는 데이터 매트릭스 심볼에 대한 "불변 비트맵"을 정의한다. 다른 바코드 표준은 상이한 불변 비트맵을 가질 수 있음을 이해할 것이다. 도 19에서, 불변 비트맵(410)은 데이터 매트릭스 심볼(405)의 ULC에 도시되어 있다. 용어를 정의하기 위해, 센서 모듈로 증강(augmentation)하기 전에 인쇄된 데이터 매트릭스 심볼을 "기저(underlying) 데이터 매트릭스 심볼"라고 하고, 그것의 코드워드 시퀀스는 "기저(underlying) 데이터 코드워드 및 그들의 RSEC 에러 정정 코드워드"를 인코딩하는 "기저(underlying) 심볼 코드워드 시퀀스"라고 한다. 다른 심볼로지들은 사용된 특정 유형의 에러 정정에 따라 고유의 기저 심볼, 기저 코드워드 시퀀스, 기저 데이터 코드워드 및 에러 정정 코드워드를 갖는다는 것이 이해될 것이다.
도 4는 2D 바코드를 제공하는 예시적인 프로세스(400)의 흐름도를 포함한다. 프로세스(400)가 도 4에 도시된 흐름도를 참조하여 설명되지만, 프로세스(400)와 관련된 동작을 수행하는 많은 다른 방법이 사용될 수 있음을 이해할 것이다. 예를 들어, 다수의 블록의 순서가 변경될 수 있고, 다수의 블록이 간헐적으로 반복되거나 지속적으로 수행될 수 있고, 특정 블록이 다른 블록과 조합될 수 있으며, 설명 된 다수의 블록은 선택적이거나 또는 단지 경우에 따라서(contingently)만 수행될 수 있다.
예시적인 프로세스(400)는 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트를 포함하는 페이로드 데이터(112) 세트를 결정하는 것으로 시작할 수 있다(블록 402). 예를 들어, 정적 데이터(134)의 세트는 일련(serial) 번호, 로트(lot) 번호, 배치(batch) 번호 및 제품에 대한 임계 노출 온도(예를 들어, 30 ℃)를 포함할 수 있다. 부가적으로, 동적 데이터(136)의 세트는 판독기에 의해 디코딩될 때 제품이 임계 노출 온도를 초과했는지 여부를 사용자에게 통지하는 정보를 포함할 수 있다. 다음으로, 정적 데이터의 세트의 인코딩된 버전을 포함하는 2D 바코드가 생성되고, 2D 바코드는 여분의 공간을 포함한다(블록 404). 예시적인 실시예에서, 여분의 공간은 복수의 미사용 비트, 패딩(padding) 영역, 및/또는 에러 검출 및 정정 영역(예를 들어, 나머지 공간 (118))을 포함할 수 있다. 또한, 여분의 공간은 포맷 정보 영역, 버전 정보 영역 및/또는 레퍼런스 데이터 영역을 포함할 수 있다. 또한, 여분의 공간은 모든 나머지 공간 및/또는 모든 복수의 미사용 비트를 포함할 수 있다. 또한, 여분의 공간은 패딩 데이터의 일부를 포함하거나, 또는 모든 패딩 데이터를 포함할 수 있다. 여분의 공간은 또한 컨텐츠 데이터의 일부, 레퍼런스 데이터의 일부, 또는 컨텐츠 데이터 및 레퍼런스 데이터에 포함된 다양한 부분 및/또는 모든 데이터의 조합을 포함할 수 있다. 다음으로, 여분의 공간의 적어도 일부는 동적 데이터(136)의 세트를 저장하도록 적응된 동적 영역으로 지정된다(블록 406). 다음으로, 2D 바코드는 정적 잉크를 사용하여 인쇄되고, 동적 데이터(136)의 세트는 복수의 상태 중 하나에서 있도록 동적 데이터의 세트의 인코딩된 버전은 적어도 하나의 환경 변화에 응답하여 상태가 변하는 동적 잉크를 사용하여 동적 영역 상에 인쇄된다(블록 408). 예시적인 실시예에서, 동적 데이터(136)의 세트는 2D 바코드의 판독기에 의해 판독 가능하고 정적 데이터(134)의 세트는 동적 데이터(136)의 세트가 복수의 상태 중 각 상태에 있을 때, 2D 바코드의 판독기에 의해 판독 가능하다. 예시적인 실시예에서 동적 잉크는 온도, 시간, 시간 및 온도, 동결, 방사선, 독성 화학 물질들, 또는 이러한 인자의 조합 등과 같은 환경 인자에 민감할 수 있다. 예시적인 실시예에서, 잉크는 열변색성 잉크일 수 있다. 예를 들어, 동적 잉크는 40 ℃에서 백색에서 흑색으로 영구적으로 변화하도록 설계된 수성 비가역성 열변색성 잉크일 수 있다. 또한, 열변색성 잉크는 가역적일 수 있다. 예를 들어, 가역성 열변색성 잉크는 액정 잉크 또는 류코(leuco) 염료 잉크일 수 있다(예는 QCR Solutions 가역성 열변색성 잉크 및 H.W. Sands Corporation 잉크를 포함함). 예시적인 실시예에서, 잉크는 가역적이거나 비가역적일 수 있는 광변색성 잉크일 수 있다. 예를 들어, 동적 잉크는 UV 광에 대한 노출에 기초하여 상태를 변화시킬 수 있다. 또한, 잉크는 시간 및 온도에 민감한 잉크일 수 있다(예는 OnVu 표시자를 포함). 동적 잉크는 더 어두운 컬러에서 더 밝은 컬러으로 변하고, 더 밝은 컬러에서 더 어두운 컬러로 변할 수 있고, 투명도 또는 불투명도의 수준을 변화시킬 수 있고/있거나, 반사성 또는 흡수성의 수준을 변경하거나, 또는 판독기에 의해 하나 이상의 상태에서 판독될 수 있게 하는 임의의 다른 적합한 특성을 변화시킬 수 있다. 또한, 동적 잉크는 초기 컬러 상태에서 최종 컬러 상태 사이에서 지속적으로 변할 수 있다. 예를 들어, 동적 잉크는 연한 색에서 진한 파란색으로 변할 수있으며, 이는 판독기에 의해 지속적인 "회색조(greyscale)"의 값으로 대안적으로 변환될 수 있다. 상기 그레이 스케일 (진정한 그레이는 아니지만 일부 색조의 연속 톤임)은 다음과 같은 형식의 공식에 의해 각 픽셀의 R, G 및 B 값을 단일 그레이 스케일 값으로 감소시켜 결정된다.
그레이 스케일 값 = (aR + bG + cB) / K
{a, b, c}는 픽셀에서 각 sRGB 색상의 상대적 기여도를 나타내며, K는 스케일링 계수이다. 또한, 동적 잉크 또는 센서 염료 패치는 백색 또는 맑은 색에서 진한 빨간색 또는 파란색으로 지속적으로 변할 수 있다(예를 들어, 백색에서 희미한 빨간색으로 변할 때, 최종 컬러 상태에서 단색의 적색에 도달할 때까지 점점 불투명하게 된다). 또한, 하나 이상의 동적 잉크의 상태에 대해 임의의 적절한 컬러 조합이 사용될 수 있다.
예시적인 실시예에서, 동적 잉크는 환경 인자에 응답하여 영구적으로 변하거나 비가역적으로 변할 수 있다. 예를 들어, 특정 약물(drug)은 특정 온도에 노출될 때 화학적 분해를 경험할 수 있다. 공급 업체는 운송 및 보관 중에 약물이 30 ℃ 임계 값을 초과한 온도에 도달했는지 알고 싶어할 수 있다. 동적 잉크가 비가역적으로 변하면, 동적 데이터(136)의 세트는 케미스트리가 30 ℃ 이상의 온도에 노출되었고 용기의 내용물이 열 분해를 경험했을 수 있음을 공급자에게 알리기 위해 디코딩될 수 있다. 여분의 공간에 2D 바코드를 동적 데이터(136)의 세트와 함께 제공하면, 동적 잉크가 활성화되기 전과 제1 상태의 동적 데이터(136)의 세트로부터 제2 상태의 동적 데이터(136)의 세트를 나타내도록 동적 잉크가 활성화된 후에 개인이 판독기를 사용하여 2D 바코드를 판독할 수 있다. 예를 들어, 원래의 2D 바코드는 여전히 판독 가능하고, 동적 데이터(136)의 세트가 제2 상태에 있더라도 일련 번호, 로트 번호 및 배치 번호와 같은 정적 데이터(134)의 세트를 판독기가 얻을 수 있다. 이는 바람직하게는 동적 데이터(136)의 세트가 제1 상태에서 제2 상태로 변경될 때 정적 데이터(134)를 잃지 않으면서 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트 모두가 동일한 2D 바코드 상에 인쇄될 수 있게 한다.
다른 예시적인 실시예에서, 동적 잉크는 환경 인자에 응답하여 지속적으로 변할 수 있다. 예를 들어, 센서 염료는 시간, 온도 또는 시간-온도 곱과 같은 환경 조건의 발생에 응답하여 컬러를 변화시킬 수 있다. 예를 들어, 제품 사용자는 제품이 이미 만료되었는지 여부 대신에, 잔여 제품 수명을 아는 것이 유리할 수 있다. 예를 들어, 만료가 가까워진 제품은 낮은 환경에서 유지하거나 특정 환경 조건에 대한 노출을 줄임으로써 제품 수명이 연장될 수 있다. 또한, 만료가 가까워진 제품의 소비 또는 사용이 우선시 될 수 있어, 폐기물을 유리하게 줄일 수 있다. 지속적으로 컬러가 변하는 센서 염료를 사용함으로써, 제품 수명 전반에 걸쳐, 그리고 공급망 전반에 걸쳐 제품 수명을 확인할 수 있다.
감지된 환경 또는 의학적 특성의 상태 변화를 검출하기 위해 센서 염료 화학이 사용된다. 데이터 매트릭스 모듈은 명목상(nominally) 흑색 또는 백색이므로, 표 1에 나타낸 바와 같이 6 가지 유형의 센서 염료 케미스트리들이 사용될 수 있다. 여기서 "B"는 흑색 상태를 지칭하고; "W"는 백색 상태를 지칭하고; "X"는 염료가 투명한 색 상태인 것을 의미한다.
선택된 센서 염료 케미스트리의 유형 및 색상 특성
센서 염료 케미스트리 비활성 상태 활성 상태
W→X 백색 투명
W→B 백색 흑색
B→W 흑색 백색
B→X 흑색 투명
X→W 투명 백색
X→B 투명 흑색
흑백 염료 컬러 상태는 불투명하고 따라서 흑색 또는 백색 상태일 때 기본(underlying) 컬러를 숨기는 것으로 가정한다. 그러나 염료가 투명 색 상태(X)에 있을 때 기본 컬러가 표시된다.
센서 염료 모듈 패턴은 데이터 매트릭스 심볼의 흑색 또는 백색 모듈에 겹쳐 인쇄되거나 데이터 매트릭스 모듈 대신 인쇄될 수 있으므로, 데이터 매트릭스 심볼의 센서 염료 모듈의 컬러 상태는 센서 염료 화학 활성화 시에 변경된다. 상이한 센서 염료 화학 시스템은 센서 데이터의 인코딩과 관련하여 상이한 특성을 갖는다.
컬러 상태에서 투명 상태로 전환되는 센서 염료 시스템은 일반적으로 데이터 매트릭스에 인쇄된 기저(underlying) 비트 패턴과 함께 사용되며, 해당 패턴의 모든 비트는 활성화될 때까지 해당 모듈을 덮는 균일한 흑색 또는 백색 상태를 생성하는 센서 염료로 덮여 있다. 활성화되면 센서 염료가 투명하게 변하고 데이터 매트릭스 바코드의 기본 비트 패턴이 표시될 수 있다. 투명한 컬러 상태에서 흑색 또는 백색으로 바뀌는 염료 시스템은 데이터 매트릭스 심볼에 인쇄된 균일한 흑색 또는 백색 패턴의 모듈을 선택적으로 덮을 수 있으며, 활성화시 센서 염료 모듈 패턴으로 인코딩된 데이터가 표시될 수 있다. 이 후자의 시스템은 센서 염료 인코딩된 데이터가 데이터 매트릭스 심볼의 사전 인쇄와 다른 시간 및 위치에 있을 수 있는 센서 염료 모듈의 인쇄시 결정될 수 있다는 이점을 갖는다.
이 예에서, 사용중인 센서 염료 케미스트리는 사전 인쇄된 데이터 매트릭스 모듈을 통해 모듈 단위로 정확하게 인쇄되거나, 데이터 매트릭스 모듈 대신 인쇄될 수 있다. 예를 들어, 이것은 다중 스테이션 인쇄기에서 수행될 수 있다. 이 작업을 수행하는 또 다른 방법은 2 채널 압전 잉크젯 프린터의 사용을 통한 주문형(on-demand)이다. 한 채널은 데이터 매트릭스 인쇄를 위한 흑색 잉크를 포함하고 다른 채널은 데이터 매트릭스 모듈 상에 또는 데이터 매트릭스 모듈 대신에 인쇄될 센서 염료가 포함한다. 센서 모듈을 추가하여 보강된 최종 데이터 매트릭스 심볼은 "센서-증강된(sensor-augmented) 2차원 바코드 심볼"의 한 예이다.
2 채널 잉크젯 프린터를 사용하는 경우, 특히 정상적으로 인쇄된 데이터 매트릭스 심볼 모듈 대신 센서 모듈이 인쇄되는 경우, 사용 중인 센서 염료 케미스트리가 인쇄 시에 알려져야 한다.
기저 데이터 매트릭스를 인쇄할 때 센서 염료 케미스트리가 알려진 겹쳐 인쇄된 센서 모듈의 경우, 사용 중인 염료 시스템을 지정하는 표시자 비트(indicator bits) 자체를 인코딩할 수 있다. 기저 데이터 매트릭스의 표시자 비트는 센서 염료 모듈로 겹쳐 인쇄된다. 이 표시자 비트를 사용하면 데이터 매트릭스 판독기가 사용 중인 염료 시스템과 그것의 활성화 상태 및 스캔된 데이터 매트릭스 심볼을 해석하는 방법을 알 수 있다.
표 2에서 각 표시자 비트에 대해 0 = 백색 및 1 = 흑색이다. 상태 중 하나는 투명하고 다른 하나는 흑색 또는 백색인 가장 일반적인 4 가지 염료 케미스트리들만이 표시자 비트에 의해 코딩된다.
가장 일반적인 센서 염료 케미스트리에 대한 표시자 비트
센서 염료 시스템 데이터 매트릭스 인쇄된 비트들 3.6 및 3.7 센서 활성화 전
표시
센서 활성화 후
표시
W→X 11 00 11
B→X 00 11 00
X→B 10 10 11
X→W 01 01 00
인쇄된 표시자 비트의 값은 센서 활성화 이전 또는 이후에 상관없이 스캔된 이미지로부터 복구될 수 있고, 기저 데이터 매트릭스로부터 판독된 표시자 비트와 비교될 수 있다. 그리고 염료 시스템과 활성화 상태는 표 3에 따라 결정된다.
스캔 이미지에서 활성화 상태 및 표시자 비트 복구
기저 데이터 매트릭스
표시자 비트
스캔된
표시자 비트
센서 염료 시스템 센서 염료 상태
00 00 B→X 활성화
00 11 B→X 비활성화
01 00 X→W 활성화
01 01 X→W 비활성화
10 10 X→B 비활성화
10 11 X→B 활성화
11 00 W→X 비활성화
11 11 X→W 활성화
센서 염료 모듈 자체의 컬러 값들은 센서 염료 활성화 시 모듈 컬러 상태 변화로 인해 눈에 띄거나 변화하는 센서 데이터를 인코딩하는 데 사용될 수 있다.
이 센서 데이터 자체를 에러 정정 코드로 인코딩하는 것은 센서 컬러 변화 활성화 임계 값이 각 센서 염료 모듈에 대해 정확하지 않을 경우; 전체 센서-증강된 2차원 바코드가 각각의 센서 염료 모듈을 활성화시키는 조건에 균일하게 노출되지 않았을 경우; 또는 센서 모듈이 없거나 손상된 경우에 유용하다.
여기서, 센서 모듈 컬러는 0 또는 1로 2진화될 수 있다고 가정한다. 예를 들어, 5 비트의 센서 모듈 컬러 데이터는 2 개의 유용한 데이터 조각, 즉 센서 제품 유형 및 활성화 조건을 인코딩할 수 있다. 관련 파라미터는 5 비트 데이터 값에 의해 인덱스된 내부 테이블을 사용하여 인코딩될 수 있다.
센서 디지털 정보를 인코딩하기 위해 많은 유형의 에러 정정 코드가 사용될 수 있다. 일반적으로 2진-인코딩된 센서 데이터의 센서 염료 비트 패턴이 인코딩된다. 유용한 에러 정정 코드에는 해밍(Hamming) 코드들, 보스-쵸드리-호켄겜(BoseChaudhuri-Hocquenghem) 코드들, 골레이(Golay) 코드들, 심플렉스(Simplex) 코드들, 리드-뮬러(Reed-Muller) 코드들, 파이어(Fire) 코드들, 컨볼루션(Convolutional) 코드들, 및 리드-솔로몬(Reed-Solomon) 코드들이 포함된다.
예로서, 보스-쵸드리-호켄겜(BoseChaudhuri-Hocquenghem)BCH (n, k, t) 2진 에러 정정 코드는 2진 데이터의 스트링을 인코딩하기 위해 잘 알려져 있다; 여기서 k 비트의 스트링은 T 에러 정정 비트를 갖는 n 비트 길이 코드 내에 있다. 최대 (t div 2) 비트까지 에러가 수정될 수 있다. 예를 들어, QR 코드 및 Ultracode 2차원 바코드 심볼로지는 BCH (15,5,7) 코드를 사용한다. BCH (15,5,7) 코드는 n = 15 비트에서 k = 5 비트를 인코딩하고 (7 div 2) = 3 비트까지 에러를 정정할 수 있다. 이들 코드를 디코딩 및 에러 정정하기위한 표준 디코딩 및 에러 정정 기술이 있다. ISO/IEC 18004의 부록 C의 표 C.1 정보 기술 - 자동 식별 및 데이터 캡처 기술 - QR Code 2005 바코드 심볼로지 사양은 데이터 값 0, 1, ... 31에 대해 완전한 15 비트 코드 시퀀스를 제공한다. ISO/IEC 18004 표 C .1은 표 4에 요약되어 있다. 데이터 값 0 및 31은 활성화되지 않은 염료 모듈 상태를 나타내기 때문에 예약되어 있으며 인코딩되지 않는다. W→X 및 W→B 센서 염료 케미스트리에 대한 데이터 값 0 (모든 BCH 비트 = 0); B→X 및 B→W 센서 염료 케미스트리에 대한 데이터 값 31 (모든 BCH 비트 = 1).
5비트 센서 데이터의 BCH (15,5,3) 인코딩
5-비트 데이터 BCH (15, 5, 3) 인코딩
비트 15 비트들 14-> 8 비트들 7->1
0 0 0000000 0000000
1 0 0001010 0110111
2 0 0010100 1101110
3 0 0011110 1011001
4 0 0100011 1101011
5 0 0101001 1011100
6 0 0110111 0000101
7 0 0111101 0110010
8 0 1000111 1010110
9 0 1001101 1100001
10 0 1010011 0111000
11 0 1011001 0001111
12 0 1101110 0111101
13 0 1101110 0001010
14 0 1110000 1010011
15 0 1111010 1100100
16 1 0000101 0011011
17 1 0001111 0101100
18 1 0010001 1110101
19 1 0011011 1110101
20 1 0100110 1000000
21 1 0101100 1000111
22 1 0110010 0011110
23 1 0111000 0101001
24 1 1000010 1001101
25 1 1001000 1111010
26 1 1010110 0100011
27 1 1011100 0010100
28 1 1100001 0100110
29 1 1101001 0010001
30 1 1110101 1001000
31 1 1111111 1111111
BCH(15,5,7)가 데이터 매트릭스 심볼로 인코딩될 때(센서 비트의 활성화 여부에 관계없이) 센서 비트 데이터의 복구는 먼저 센서-증강된 2차원 바코드 심볼 상에서 스캐닝 및 디코딩으로부터 센서 디지털 정보를 복구함으로써 수행될 수 있다. 특정 센서 염료 모듈 패턴에서 15 비트 BCH 인코딩 2진수를 추출하라. BCH 인코딩된 데이터를 디코딩하고 에러 정정하기 위한 많은 표준 방법이 있다. 고전적인 Peterson-GorensteinZierler Decoder는 R.E. Blahut, "Theory and Practice of Error Control Codes (corr. edition)", 1983 (ISBN-10 : 0-201-10102-5), p. 166.에서 논의된다. BCH (15,5,7) 디코딩을 위한 유용하고 실용적인 알고리즘은 S.A Vanstone 및 P.C. van Oorschot, "An Introduction to Error Correcting Codes with Applications", 1989 (ISBN-10 : 0-7923-9017-2), p. 219.에 의해 주어진다. BCH(15,5,7) 인코딩된 데이터를 디코딩 및 에러 정정하기 위한 임의의 방법을 사용하여, 5 비트 센서 데이터를 추출하라.
다른 유형의 센서 디지털 정보는 센서 염료 모듈 패턴으로 인코딩될 수 있다. 여기에는 ISO 또는 ANSI 또는 ISO 경고 표시 및 기호와 같은 모든 유형의 시각적 패턴과 이미지 또는 기타 유형의 디자인된 그래픽이 포함된다. 인코딩된 비트의 수와 프로세스(기저 데이터 매트릭스 심볼의 시각적 패턴의 물리적 범위에 영향을 받음)에서 의도적으로 손상된 유타(utah)의 수와 기저 데이터 매트릭스의 크기 및 사용 가능한 RSEC 코드워드의 수는 모두 시각적 패턴 및 이미지 인코딩 가능성에 영향을 준다.
센서 염료 모듈 패턴은 기저 데이터 매트릭스 심볼가 사전 인쇄된 후에 인코딩될 수도 있다. 이를 통해 기저 데이터 매트릭스를 인쇄하고 나중에 센서 염료 모듈 패턴을 인쇄하는 데 다양한 기술을 사용할 수 있다. 또한 기저 데이터 매트릭스 자체가 인쇄된 때에 센서 염료 케미스트리가 알려지지 않은 상태에서 이전에 인쇄된 데이터 매트릭스에 다양한 종류의 센서 염료 케미스트리를 사용할 수 있다.
예시적인 실시예에서, 권한이 없는(non-privileged) 판독기는 정적 데이터(134)를 판독할 수 있고 2D 바코드의 동적 데이터(136)를 판독할 수 없다. 다른 예시적인 실시예에서, 권한이 있는(previleged) 판독기만이 2D 바코드의 정적 데이터(134) 및 동적 데이터(136)를 판독할 수 있다. 일부 경우에, 권한이 없는 판독기에 의해 판독될 수 없는 바코드 상에 동적 데이터(136)를 갖는 것은 제조업 자 또는 공급자가 대중 또는 고객에게 제공하기를 원하지 않을 수 있는 2D 바코드에 관한 정보를 포함하는 것을 유리하게 할 수 있다. 또한, 정적 데이터(134) 및 동적 데이터(136)를 모두 판독할 수 있는 권한이 있는 판독기를 갖는 것은 권한이 있는 판독기를 사용하는 개인이 다수의 판독기를 사용하지 않고도 정적 데이터(134) 및 동적 데이터(136)를 모두 획득할 수 있게 한다.
도 5는 프로세스(400)를 사용하여 인쇄된 예시적인 2D 바코드를 도시한 흐름도(500)이다. 도 5에 도시된 바와 같이, 2D 바코드는 동적 영역(192) 상에 동적 데이터의 세트의 인코딩된 버전을 갖는 프로세스(502)에 의해 인쇄된다. 이 예에서, 동적 데이터(136)의 세트는 2D 바코드의 하부 우측 코너에 있는 복수의 미사용 비트(120)에 인쇄된다. 동적 잉크(198)는 복수의 미사용 비트(120)의 상부 좌측 및 하부 우측 정보 모듈에 사용된다. 동적 영역이 동적 잉크(198)로 인쇄된 후, 바코드는 제1 상태(504)(즉, 동적 잉크 198이 아직 활성화되지 않음)에 있다. 동적 영역(192)에 사용된 동적 잉크(198)는 특정 환경 변화(506)에 노출되면 흑색으로 활성화된다. 2D 바코드가 환경 변화(506)에 노출되면, 동적 영역(192)의 동적 데이터(136)의 세트가 변하고 2D 바코드는 제2 상태(508)로 변경되고 환경 변화(506)의 정보를 판독기에 전달한다.
도 6a는 2D 바코드로 인코딩될 수 있는 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트의 텍스트 표현이고, 도 6b는 2진 정보 모듈로서 인코딩된 텍스트 동적 데이터의 예이다. 도 6C 및 도 6D는 2D 바코드의 동적 데이터가 제1 상태에서 제2 상태로 변화하는 것을 나타내는 흐름도이다. 예를 들어, 정적 데이터(134)의 세트는 일련 번호(SN), 배치 번호(BN) 및 로트 번호(LN)와 같은 제품 정보를 포함한다. 이 예에서 일련 번호는 498760003이고 배치 번호는 654이며 로트 번호는 35A1이다. 정적 데이터 (134)세트는 변하지 않는다. 또한, 동적 데이터(136)의 세트는 도 6a에서 제1 상태 (210)(위) 및 제2 상태(212)(아래)로 도시되어 있다. 예를 들어, 동적 데이터(136)의 세트는 30 ℃ 초과의 임계 노출 온도에 도달하면 제1 상태(210)에서 제2 상태(212)로 변화하는 동적 잉크(198)로 인쇄될 수 있다. 제1 상태(210)에서의 동적 데이터(136)의 세트의 텍스트 표현은 "<" (즉, 정적 데이터(134)의 세트에 지정된 임계 노출 온도보다 작음)이고, 제2 상태(212)에서 동적 데이터(136)의 세트의 텍스트 표현은 ">" (즉, 정적 데이터 (134)의 세트에서 규정된 임계 노출 온도다 더 큼)이다. 이 경우에 임계 노출 온도는 30 ℃ 이다. 예시적인 실시예에서, 2D 바코드는 도 6b에 도시된 바와 같이 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트의 2진 8 비트 표현을 사용하여 인코딩될 수 있다. 예를 들어, "<"의 2진 표현은 "00111100"이고 ">"의 2진 표현은 "00111110"일 수 있다. 본 예에서, 2진 0 비트는 백색으로 착색되고 2진 1 비트는 흑색으로 착색된다. 다양한 다른 컬러 조합이 2D 바코드를 인쇄하는 데 사용될 수 있고, 다양한 다른 인코딩 방법이 사용될 수 있음을 이해해야한다. 도 6c는 30 ℃ 이상의 온도 상승과 같은 환경 변화에 응답하여 제2 상태(212)로 변하는 제1 상태(210)의 동적 데이터(136)의 세트를 갖는 2D 바코드를 나타낸다. 예를 들어, 도 6c에 도시된 2D 바코드에 사용된 동적 잉크(198)는 임계 노출 온도보다 큰 온도에 응답하여 백색에서 흑색으로 활성화되는 동적 잉크(198)를 도시한다. 도 6d에 도시된 다른 예시적인 실시예에서, 동적 잉크(198)는 0 ℃ 미만의 임계 노출 온도에 대한 동결 또는 노출과 같은 환경 변화(506)에 응답하여 흑색에서 백색으로 활성화될 수 있다.
도 7은 도 8에 도시된 바와 같이 2D 바코드를 제공하는 예시적인 프로세스(420)의 흐름도를 포함하며, 이는 아래에서 더 상세히 논의된다. 프로세스(420)가 도 7에 도시된 흐름도를 참조하여 설명되었지만, 프로세스(420)와 관련된 동작을 수행하는 많은 다른 방법이 사용될 수 있음을 이해할 것이다. 예를 들어, 다수의 블록의 순서가 변경될 수 있고, 다수의 블록이 간헐적으로 반복되거나 지속적으로 수행될 수 있고, 특정 블록이 다른 블록과 조합될 수 있으며, 설명된 다수의 블록은 선택적이거나 또는 단지 경우에 따라서(contingently)만 수행될 수 있다.
예시적인 프로세스(420)는 정적 데이터(134)의 세트를 결정하는 것으로 시작할 수 있다(블록 422). 예를 들어, 정적 데이터(134)의 세트는 일련 번호, 배치 번호 및/또는 로트 번호 등일 수 있다. 다음으로, 동적 데이터(136)의 세트가 결정된다(블록 424). 예시적인 실시예에서, 동적 데이터(136)의 세트는 제1 상태(210) 및 제2 상태(212)를 가질 수 있다. 예를 들어, 제1 상태의 동적 데이터(136)는 UV 광에 노출되지 않을 수있는 반면, 제2 상태의 동적 데이터(136)는 UV 광에 노출될 수 있다. 또한, 제1 상태에서의 동적 데이터(136)는 30 ℃ 미만의 온도일 수 있는 반면, 제2 상태에서의 동적 데이터(136)는 30 ℃ 초과의 온도일 수 있다. 이어서, 제1 2D 바코드가 생성된다(블록 426). 예를 들어, 컴퓨터는 제1 상태(210)에서 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트의 입력에 기초하여 제1 2D 바코드를 생성할 수 있다. 예시적인 실시예에서, 제1 2D 바코드는 제1 상태(210)에서 정적 데이터의 세트의 인코딩된 버전 및 동적 데이터(196)의 세트의 인코딩된 버전을 포함할 수 있다. 또한, 제1 상태(210)에서 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트는 제1 복수의 정보 모듈(218) 및 제2 복수의 정보 모듈(220)을 포함할 수 있다. 예를 들어, 제1 복수의 정보 모듈(218)은 흑색 모듈이고 제2 복수의 정보 모듈(220)은 백색 정보 모듈일 수 있다. 그런 다음, 제2 2D 바코드가 생성된다(블록 428). 예를 들어, 컴퓨터는 제2 상태(212)에서 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트의 입력에 기초하여 제2 2D 바코드를 생성할 수 있다. 예시적인 실시예에서, 제2 2D 바코드는 제2 상태(212)에서 정적 데이터의 세트의 인코딩된 버전 및 동적 데이터의 세트(196)의 인코딩된 버전을 포함할 수 있다. 또한, 제2 상태(212)에서의 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트는 제3 복수의 정보 모듈(224) 및 제4 복수의 정보 모듈(226)을 포함할 수 있다. 예를 들어, 제3 복수의 정보 모듈(224)은 흑색 모듈 및 제4 복수의 정보 모듈(226)은 백색 정보 모듈일 수 있다. 제1 복수의 정보 모듈(218) 및 제3 복수의 정보 모듈(224)은 백색일 수 있는 반면, 제2 복수의 정보 모듈(220) 및 제4 복수의 정보 모듈(226)은 흑색일 수 있음을 이해해야 한다. 또한, 제1 복수의 정보 모듈(218) 및 제3 복수의 정보 모듈(224) 및/또는 제2 복수의 정보 모듈(220) 및 제4 복수의 정보 모듈(226)은 다양한 색상, 투명성 레벨, 및/또는 반사성의 레벨이거나, 또는 2D 바코드가 판독기에 의해 판독될 수 있게 하는 임의의 다른 적절한 특성을 가질 수 있음을 이해할 것이다. 예시적인 실시예에서, 제3 복수의 정보 모듈(224)은 제1 복수의 정보 모듈(218) 뿐만아니라 하나 이상의 정보 모듈(228)의 세트를 더 포함할 수 있다. 또한, 제2 복수의 정보 모듈(220)은 제4 복수의 정보 모듈(226) 뿐만아니라 하나 이상의 정보 모듈(228) 세트를 더 포함할 수 있다. 그런 다음, 제1 2D 바코드와 제2 2D 바코드를 비교한다(블록 430). 예를 들어, 제1 2D 바코드 및 제2 2D 바코드는 제로(0) 또는 일(1)의 값을 갖는 2진 데이터를 포함할 수 있다. 이는 제로(0)의 이진 값에 대해 백색으로 착색되고 일(1)의 2진 값에 대해 흑색으로 착색되는 각 정보 모듈에 대응될 수 있다. 이어서, 정보 모듈(214)을 제1 그룹(230) 및 제2 그룹(232)으로 분류한다(블록 432). 예시적인 실시예에서, 제1 그룹(230)은 제1 2D 바코드의 제1 복수의 정보 모듈(218)과 제2 2D 바코드의 제3 복수의 정보 모듈(224) 사이에 공통 정보 모듈을 포함할 수 있다. 또한, 제2 그룹(232)은 제2 2D 바코드의 제3 복수의 정보 모듈(224)의 고유 정보 모듈을 포함할 수 있다. 예를 들어, 컴퓨터는 제1 2D 바코드 및 제2 2D 바코드에 공통인 모든 블랙 정보 모듈을 제1 그룹(230)으로 분류할 수 있다. 또한, 컴퓨터는 제2 2D 바코드에 고유한 모든 블랙 정보 모듈(즉, 제1 2D 바코드에서 백색이고 제2 2D 바코드에서 흑색인 정보 모듈)을 제2 그룹 (232)으로 분류할 수 있다. 그런 다음, 정적 잉크(194) 및 동적 잉크(198)를 사용하여 2D 바코드를 인쇄한다(블록 434). 예시적인 실시예에서, 제1 그룹(230)은 정적 잉크(194)에 인쇄될 수 있고, 제2 그룹(232)은 동적 잉크(198)에 인쇄될 수 있다. 또한, 동적 잉크(198)는 특정 환경 인자의 발생에 응답하여 활성화되도록 구성될 수 있다. 예시적인 실시예에서, 동적 잉크(198)는 온도, 시간, 시간 및 온도, 동결, 방사선, 독성 화학 물질들 또는 이러한 인자의 조합 등과 같은 환경 인자에 민감할 수 있다.
예시적인 실시예에서, 제1 복수의 정보 모듈들(218) 및 제3 복수의 정보 모듈들(224)은 인쇄 표면(234)과 시각적으로 구별 가능하도록 구성될 수 있고, 제3 복수의 정보 모듈들(224) 및 제4 복수의 정보 모듈들(226)은 인쇄 표면(234)과 시각적으로 구별할 수 없을 수 있다. 잉크, 염료, 페인트 및/또는 임의의 다른 적절한 재료 등으로 인쇄하는 것을 포함하는 다양한 인쇄 기술이 사용될 수 있음을 이해해야 한다. 또한, 에칭, 연소, 용융, 재료 제거 및/또는 2D 바코드를 인쇄하기에 적합한 임의의 다른 프로세스와 같은 2D 바코드의 인쇄 표면(234)의 시각적 외관을 변경시키기 위해 다양한 다른 기술이 사용될 수 있다. 예를 들어, 인쇄 표면(234)은 하부의 백색 기판을 드러내기 위해 에칭된 흑색 상부 층으로 덮인 백색 기판을 포함할 수 있다. 또한, 인쇄 표면(234)은 다양한 다른 색상 조합과 함께, 황색 상부 층으로 덮인 청색 기판을 포함할 수 있다.
도 8은 프로세스(420)를 사용하여 인쇄된 2D 바코드의 예시적인 부분을 나타내는 흐름도이다. 도 8에 도시된 바와 같이, 제1 2D 바코드 부분(216)은 정적 데이터의 세트의 일부의 인코딩된 버전을 포함하는 예시적인 바코드의 일부분이다. 제2 2D 바코드 부분(222)은 동적 데이터의 일부의 인코딩된 버전을 포함하는 예시적인 바코드의 일부분이다. 모든 흑색 정보 모듈은 제1 2D 바코드 부분(216)의 제1 복수의 정보 모듈들(218)과 제2 2D 바코드 부분(222)의 제3 복수의 정보 모듈들(224) 사이의 공통 정보 모듈의 제1 그룹(230)이다. 또한, 점선으로 표시된 정보 모듈은 제2 2D 바코드 부분(222)의 제3 복수의 정보 모듈들(224)의 고유 정보 모듈의 제2 그룹(232)일 수있다. 예를 들어, 정보 모듈의 제2 그룹(232)은 동적 데이터(136)의 세트가 제1 상태(210)에서 제2 상태(212)로 전이될 때 백색에서 흑색으로 변화하는 모든 정보 모듈을 포함할 수 있다. 하나의 동적 잉크(198)만을 사용하는 것이 유리하게는 2D 바코드가 보다 효율적이고 비용 효과적인 방식으로 인쇄될 수 있게 한다. 부가적으로, 단지 하나의 동적 잉크(198)만을 사용하는 것은 유리하게는 다수의 동적 잉크의 활성화 시간 오프셋 또는 지연으로 인해 코드를 읽을 수 없게 되는 위험을 감소시킨다. 여기에 개시된 예시적인 실시예들은 아즈텍 코드(Aztec Code), 코드 1(Code 1), CrontoSign, CyberCode, DataGlyphs, 데이터 매트릭스(Data Matrix), 데이터스트립 코드(Datastrip code), EZcode, 고용량 컬러 바코드(High Capacity Color Barcode), InterCode, MaxiCode, MMCC, NexCode, PDF417, Qode, QR 코드(QR code), ShotCode, SPARQCode 등을 포함하는 다양한 2D 바코드들로 변환할 수 있다는 것이 인식되어야 한다.
도 9는 2D 바코드를 생성하는 예시적인 프로세스(440)의 흐름도를 포함한다. 프로세스(440)가 도 9에 도시된 흐름도를 참조하여 설명되었지만, 프로세스(440)와 관련된 동작을 수행하는 많은 다른 방법이 사용될 수 있음을 이해할 것이다. 예를 들어, 다수의 블록의 순서가 변경될 수 있고, 다수의 블록이 간헐적으로 반복되거나 지속적으로 수행될 수 있고, 특정 블록이 다른 블록과 조합될 수 있으며, 설명된 다수의 블록은 선택적이거나 또는 단지 경우에 따라서만 수행될 수 있다.
예시적인 프로세스(440)는 정적 데이터(134)의 세트를 결정하는 것으로 시작할 수 있다(블록 442). 예를 들어, 정적 데이터(134)의 세트는 일련 번호, 배치 번호 및/또는 로트 번호 등일 수 있다. 다음으로, 동적 데이터(136)의 세트가 결정된다(블록 444). 예시적인 실시예에서, 동적 데이터(136)의 세트는 제1 상태(210) 및 제2 상태(212)를 가질 수 있다. 동적 데이터(136)의 세트는 둘 이상의 상태를 가질 수 있다. 예를 들어, 동적 데이터(136)의 세트는 제1 상태(210), 제2 상태(212)(예를 들어, 25 ℃ 이상으로 상승함으로써 활성화됨) 및 제3 상태(예를 들어, 40 ℃ 이상으로 상승함으로써 활성화됨)를 가질 수 있다. 이어서, 제1 2D 바코드가 생성된다(블록 446). 예를 들어, 컴퓨터는 제1 상태(210)에서 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트의 입력에 기초하여 제1 2D 바코드를 생성할 수 있다. 예시적인 실시예에서, 제1 2D 바코드는 제1 상태(210)에서 정적 데이터의 세트의 인코딩된 버전 및 동적 데이터(196)의 세트의 인코딩된 버전을 포함할 수 있다. 또한, 제1 상태(210)에서의 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트는 제1 복수의 정보 모듈들(218) 및 제2 복수의 정보 모듈들(220)을 포함할 수 있다. 예를 들어, 제1 복수의 정보 모듈들(218)은 흑색 모듈들일 수 있고 제2 복수의 정보 모듈들(220)은 백색 정보 모듈들일 수 있다. 이어서, 제2 2D 바코드가 생성된다(블록 448). 예를 들어, 컴퓨터는 제2 상태(212)에서 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트의 입력에 기초하여 제2 2D 바코드를 생성할 수 있다. 예시적인 실시예에서, 제2 2D 바코드는 제2 상태(212)에서 정적 데이터의 세트의 인코딩된 버전 및 동적 데이터(196)의 세트의 인코딩된 버전을 포함할 수 있다. 또한, 제2 상태(212)에서의 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트는 제3 복수의 정보 모듈들(224) 및 제4 복수의 정보 모듈들(226)을 포함할 수 있다. 예를 들어, 제3 복수의 정보 모듈들(224)은 흑색 모듈들일 수 있고, 제4 복수의 정보 모듈들(226)은 백색 정보 모듈들일 수 있다. 제1 복수의 정보 모듈들(218) 및 제3 복수의 정보 모듈들(224)은 백색일 수 있는 반면, 제2 복수의 정보 모듈들(220) 및 제4 복수의 정보 모듈들(226)은 흑색일 수 있음을 이해해야 한다. 제1 복수의 정보 모듈들(218) 및 제3 복수의 정보 모듈들(224) 및/또는 제2 복수의 정보 모듈들(220) 및 제4 복수의 정보 모듈들(226)은 다양한 컬러들, 투명도 또는 불투명도의 레벨들, 및/또는 반사율 또는 흡수율의 레벨들일수 있거나, 바코드가 판독기에 의해 판독가능한 것을 허용하는 임의의 다른 적당한 특성을 가질 수 있다는 것을 이해해야 한다. 예를 들어, 제1 2D 바코드 및 제2 2D 바코드는 제로(0) 또는 하나 (1)의 값을 갖는 2진 데이터를 포함할 수 있으며, 제로(0)의 2진 값에 대해 흑색, 그리고 하나(1)의 2진 값에 대하여 흑색으로 착색되는 각각의 정보 모듈에 대응할 수 있는, 제로(0) 또는 하나(1)의 값들을 갖는 2진 데이터를 포함할 수 있다. 이어서, 정보 모듈들은 제1 그룹(230), 제2 그룹(232) 및 제3 그룹으로 분류된다(블록 452). 예시적인 실시예에서, 제1 그룹(230)은 제1 2D 바코드의 제1 복수의 정보 모듈들(218)과 제2 2D 바코드의 제3 복수의 정보 모듈들(224) 사이에 공통 정보 모듈을 포함할 수 있다. 또한, 제2 그룹(232)은 제2 2D 바코드의 제3 복수의 정보 모듈들(224)의 고유 정보 모듈을 포함할 수 있다. 예시적인 실시예에서, 제3 그룹은 제1 2D 바코드의 제1 복수의 정보 모듈들(218)의 고유 정보 모듈을 포함할 수 있다. 예를 들어, 컴퓨터는 제1 2D 바코드 및 제2 2D 바코드에 공통인 모든 흑색 정보 모듈들을 제1 그룹(230)으로 분류할 수 있다. 또한, 컴퓨터는 제1 2D 바코드에 고유한 모든 흑색 정보 모듈들을 제3 그룹(즉, 제1 2D 바코드에서는 흑색이지만 제2 2D 바코드에서는 백색인 정보 모듈)으로 분류할 수 있다. 또한, 컴퓨터는 제2 2D 바코드에 고유한 모든 흑색 정보 모듈들을 제2 그룹(232)(즉, 제1 2D 바코드에서 백색이지만 제2 2D 바코드에서 흑색인 정보 모듈)으로 분류할 수 있다. 이어서, 2D 바코드는 정적 잉크(194), 제1 동적 잉크 및 제2 동적 잉크를 사용하여 인쇄된다(블록 454). 예시적인 실시예에서, 제1 그룹(230)은 정적 잉크(194)로 인쇄될 수 있다. 또한, 제2 그룹(232)은 제1 동적 잉크로 인쇄될 수 있다. 제1 동적 잉크는 특정 환경 인자의 발생에 응답하여 활성화되도록 구성될 수 있다. 또한, 제3 그룹은 제2 동적 잉크로 인쇄될 수 있고, 제2 동적 잉크는 특정 환경 인자의 발생에 응답하여 활성화되도록 구성될 수 있다. 예를 들어, 제1 동적 잉크는 백색으로 인쇄되고 30 ℃에 도달하면 흑색으로 활성화될 수 있고, 제 2 동적 잉크는 흑색으로 인쇄되고 30 ℃에 도달하면 백색으로 활성화될 수 있다. 제1 및 제2 동적 잉크는 여러 색상 조합으로 인쇄될 수 있음을 이해해야 한다. 예시적인 실시예에서, 제1 동적 잉크 및 제2 동적 잉크는 온도, 시간, 시간 및 온도, 동결, 방사선, 독성 화학 물질들 또는 이러한 요인들의 조합 등과 같은 환경 인자에 민감할 수 있다. 또한, 예시적인 실시예에서, 제1 동적 잉크 및 제2 동적 잉크는 동시에 활성화될 수 있다. 예를 들어, 제1 동적 잉크 및 제2 동적 잉크는 제1 동적 잉크가 백색에서 흑색으로 변하고 제2 동적 잉크가 동시에 흑색에서 백색으로 변하도록 인쇄 후 72 시간 동안 활성화될 수 있다. 또한, 제1 동적 잉크 및 제2 동적 잉크는 온도 임계 값이 충족된 후 (예를 들어, 0.1 ℃ 온도 범위 내의 정밀도) 동시에 활성화될 수 있다. 제1 동적 잉크 및 제2 동적 잉크를 동시에 활성화시키는 것은 유리하게 2D 바코드가 제1 상태(즉, 제1 2D 바코드) 또는 제2 상태(즉, 제2 2D 바코드)에 있기 때문에 2D 바코드를 항상 판독 가능하게 한다.
도 10a, 도 10b 및 도 10c는 프로세스(440)를 사용하여 인쇄된 2D 바코드의 정보 모듈의 예시적인 세트의 블록도이다. 구체적으로, 도 10a는 제1 2D 바코드 부분(216)의 제1 복수의 정보 모듈들(218) 및 제2 복수의 정보 모듈들(220)을 도시한다(즉, 동적 데이터(136)의 세트는 제1 상태(210)에 있음). 도 10b는 제2 2D 바코드 부분(222)의 제3 복수의 정보 모듈들(224) 및 제4 복수의 정보 모듈들(226)을 도시한다(즉, 동적 데이터(136)의 세트는 제2 상태(212)에 있음). 도 10c는 정보 모듈들의 제1 그룹(230), 제3 그룹(238) 및 제2 그룹(232)을 각각 위에서 아래로 도시한다. 예를 들어, 제1 그룹(230)은 제1 2D 바코드 부분(216)의 제1 복수의 정보 모듈들(218)과 제2 2D 바코드 부분(222)의 제3 복수의 정보 모듈들(224) 사이의 공통 정보 모듈을 포함하고, 이런 정보 모듈들은 크로스 해칭된(cross-hatched) 모듈들로서 도시된다. 제2 그룹(232)은 제2 2D 바코드 부분(222)의 제3 복수의 정보 모듈들(224)의 고유 정보 모듈을 포함하고, 이 그룹의 정보 모듈들은 도 10c의 하단 그림에서 흑색 모듈들로 도시되어있다. 또한, 제3 그룹(238)은 제1 2D 바코드 부분(216)의 제1 복수의 정보 모듈들(218)의 고유 정보 모듈을 포함하고,이 그룹의 정보 모듈들은 도 10c의 중간 그림에서 흑색 모듈로 도시되어있다. 이 예에서, 제1 그룹(230)은 정적 잉크(194)로 인쇄될 수 있고, 제2 그룹(232)은 제1 동적 잉크(240)로 인쇄될 수 있고, 제3 그룹(238)은 제2 동적 잉크(242)로 인쇄될 수 있다. 제2 그룹(232)은 특정 환경 인자의 발생에 응답하여 활성화(즉, 백색에서 흑색으로의 전이)에 적합한 제1 동적 잉크(240)로 인쇄될 수 있다. 또한, 제3 그룹(238)은 특정 환경 인자의 발생에 응답하여 활성화 (즉, 흑색에서 백색으로의 전이)에 적합한 제2 동적 잉크(242)로 인쇄될 수 있다. 하나 이상의 동적 잉크를 갖는 2D 바코드를 생성하는 것은 유리하게 2D 바코드가 에러 검출 및 정정 데이터(116)를 포함할 수 있는 변화하는 동적 데이터의 더 많은 부분으로 인쇄될 수 있게 한다는 것을 이해해야한다. 예를 들어, 다수의 동적 잉크를 사용함으로써, 2D 바코드는 권한이 없는 판독기가 지정된 출력을 겹쳐쓰기(overwrite)하는 에러 검출 및 정정 데이터(116) 없이 복수의 출력들을 부여하기 위하여 정적 데이터(134)의 세트 및 복수의 상태들의 동적 데이터(136)의 세트의 양자 모두를 판독하는 것을 가능하게 하는 2D 바코드의 몇몇 상이한 영역들을 변경할 수 있다.
일 예에서, 바코드의 모듈은 환경 조건에 응답하여 지속적으로(단계적으로와 대조되는) 컬러 상태를 변화시킬 수 있다. 예를 들어, 센서-증강된 2차원 바코드는 2 개의 오버레이어들(overlayers), 제1 층 및 제2 층(예를 들어, 센서 층 및 바코드 층)을 갖는 기판을 포함한다. 센서 층 및 바코드 층은 기판 상에 임의의 순서로 인쇄 될 수 있어서, 센서 층 또는 바코드 층은 기판 상에 인쇄된 제1 층일 수 있고, 다른 하나는 제2(상부) 층일 수 있다. 바코드 층에서, 2차원 에러 정정 바코드 심볼은 영구적인 밝은(명목상 "백색") 또는 어두운(명목상 "흑색") 색 상태로 제공될 수 있다. 바코드는 복수의 백색 모듈들 및 흑색 모듈들을 추가로 포함하며, 모듈들은 선택적으로 정사각형, 직사각형 또는 원형이다. 센서 층은 특정 환경 조건에 예측 가능하게 반응하는 케미스트리(chemistry)를 가지는 센서 염료를 포함한다. 센서 염료는 센서 염료의 컬러 상태에서 지속적인 컬러 변화를 야기하는 초기 상태와 종료 상태 사이에서 지속적인 화학적 또는 물리적 상태 변화를 겪는다. 센서 층은 선택적으로 관심있는 판독 컬러에서 바코드 스캐너의 자동 보정에 사용되는, 알려진 반사율의 하나 이상의 컬러 보정 패치를 포함할 수 있다. 보정 패치는 센서 층의 일부로서 미리 인쇄될 수 있고 센서-증강된 2차원 바코드 내의 특정 모듈 위치에 인접하거나 그 위치에 나타날 수 있다.
전술한 바와 같이, 센서 염료 패치 및 바코드는 기판 상에 제공될 수 있다. 인쇄 순서에 따라, 층의 전부 또는 일부는 기판과 접촉하지 않고 기판 상에 제공될 수있다. 예를 들어, 센서 염료 패치가 바코드 상에 겹쳐 인쇄되는 경우, 센서 염료 패치의 일부가 기판과 직접 접촉하지 않을 수 있다. 센서 염료 패치는 기판 상에 인쇄될 수 있고 GS1 데이터 매트릭스 바코드는 센서 염료 패치 상에 겹쳐 인쇄될 수 있다. 또한, GS1 데이터 매트릭스 바코드가 기판 상에 인쇄될 수 있고 센서 염료 패치가 바코드 위에 인쇄될 수 있다. 도 32a 및 도 32b에 도시된 바와 같이, 바코드는 센서 염료 패치가 바코드 내에 적절히 위치되는 것(예를 들어, 불변 영역 내에 위치됨)을 보장하기 위해 인쇄 전에 센서 염료 패치(3210)와 정렬될 수 있다. 예를 들어, 센서 염료 패치는 2D 바코드의 불변 영역 내에 위치하여 데이터 매트릭스의 상부 좌측 코너(ULC)가 패치의 ULC와 정렬될 수있다. 센서 염료 패치(3210)는 2D 바코드 내의 다른 영역에 위치될 수 있음을 이해해야한다. 또한, 센서 염료 패치(3210)는 스캐닝 동안 바코드와 여전히 연관되도록 2D 바코드 근처에 위치될 수 있다. 겹쳐 인쇄된 2D 바코드는 제품의 GTIN-14를 위한 AI(01), 로트 번호를 위한 AI(10), 로트의 제품 만료를 위한 AI(17), 시간-온도 레이블의 일련 번호를 위한 AI(21)와 같은 하나 이상의 애플리케이션 식별자를 포함할 수 있다. 바코드를 나타내는 AI는 온도 노출 표시자를 포함할 수 있다. 추가로, AI (90) 또는 데이터 매트릭스 바코드 데이터의 다른 부분은 바코드 내의 "+"형 센서 염료 패치(3210)와 같은 온도 노출 표시자의 크기 및/또는 위치를 식별하거나 형성할 수 있다. 추가적인 AI 또는 다른 데이터 인코딩 방법이 센서의 특정 환경 인자에 대한 컬러 반응의 화학 반응 방정식의 아레니우스 동력학(Arrhenius kinetics)을 설명하는 파라미터를 갖는 2D 바코드에 사용될 수 있다. 데이터 매트릭스 바코드가 센서 염료 패치(3210)에 겹쳐 인쇄된 후, 제품은 일반 공급망을 통해 최종 사용자에게 배포된다.
시간-온도 표시자(TTI)는 TTI 라벨이 부착된 제품이 아직 만료되지 않도록 공급망의 어느 시점에서나 스캔될수 있다(예를 들어, TTI 리더 앱을 제공하는 스마트 폰 또는 기타 특수 바코드 판독기를 사용하여). 2D 바코드가 스캔되고 센서 염료 모듈의 반사율이 결정되면, 바코드 판독기 장치는 잔여 라벨링된 제품 수명, 소비된 제품 수명 또는 예상 만료 날짜를 결정할 수있다. 예를 들어, 잔여 제품 수명 및 현재 온도가 주어지면, 바코드 판독기는 기준 온도에서 지속적으로 저장되는 경우 및 추가로 다른 낮은 온도에서 저장되는 경우 제품의 만료 날짜를 추정할 수 있습니다.
센서-증강된 2차원 바코드 심볼을 판독하는 예시적인 방법은 바람직하게는 sRGB와 같은 픽셀 컬러 식별 시스템을 사용하는 바코드 이미저 또는 컬러 카메라를 사용하여 센서-증강된 2차원 바코드 심볼의 이미지를 스캐닝하고 광학적으로 처리하는 것을 포함하고, 센서-증강된 2차원 바코드 심볼의 스캔된 모듈들에서 픽셀들의 바람직하게는 sRGB 컬러 값을 포함하는 스캔된 픽셀 맵의 구성하는 것을 포함한다. 스캔된 모듈들에서 픽셀들의 sRGB 값은 바코드 층과 기저의 또는 겹쳐 인쇄된 센서 층의 컬러 기여를 모두 포함한다.
선택적으로, 스캐닝 프로세스는 스캔된 픽셀 맵의 일부로서 센서-증강된 2차원 바코드 심볼에 인접하거나 그 내에 포함된 하나 이상의 사전 인쇄된 컬러 보정 패치의 판독을 포함할 수 있다. 선택적으로, 이들 보정 패치는 센서 층의 일부로서 사전 인쇄될 수 있고, 센서-증강된 2차원 바코드 내의 특정 모듈 위치에 인접하거나 그 위치에 나타날 수 있다.
스캔된 픽셀 맵에서 모듈들의 픽셀들은 각 픽셀에 2진 컬러 값을 할당하고, 동일한 크기의 2진화된 픽셀 맵을 형성하기 위해, 임계치 알고리즘(thresholding algorithm) 및/또는 투표 알고리즘(voting algolithm)을 사용하여 처리된다. 2D 바코드 심볼은 2진화된 픽셀 맵의 다른 그래픽 객체로부터 식별될 수 있고, 식별된 2D 바코드는 2진화된 픽셀 맵으로부터 심볼 코드워드 시퀀스를 구성하기 위해 디코딩될 수 있다. 일 예에서, 컬러 값 할당은 IEC 61966-2-1:1999 표준 RGB 컬러 공간(sRGB)을 사용할 수 있다.
이어서, 기저 데이터 코드워드들은 바람직하게는 심볼 코드워드 시퀀스에 에러 정정 프로세스를 사용함으로써 심볼 코드워드 시퀀스로부터 복구될 수 있다. 예를 들어, 에러 정정 프로세스는 리드-솔로몬 에러 정정입니다.
그런 다음, 데이터 코드워드들을 처리하는 것은 센서 염료 영역의 위치, 크기 및 제품 수명 방정식 파라미터들을 결정하고, 추가로 보정 패치들이 있는지 여부, 그리고 만약 있다면 그들의 상대 위치 및 기준 반사율 값을 결정한다. 센서 염료 영역에서 바코드 모듈들의 픽셀들을 식별하기 위해 데이터 코드워드들이 처리되고, 평균 sRGB 컬러가 결정된다. 또한, sRGB 컬러 정보를 처리하는 단계는 선택적으로 환경-민감성 픽셀들 및 컬러 보정 패치들을 포함하여 센서 염료 영역에 포함된 픽셀들의 입사광 반사율을 캡처하는 단계; 필터링된 컬러 이미지 sRGB 값을 생성하기 위해 픽셀들로부터의 반사율 데이터에 컬러 디지털 광 필터 효과를 생성하는 단계; 필터링된 컬러 이미지 값들을 그레이 스케일 값들로 감소시키고 그레이 스케일 픽셀 맵을 생성하는 단계; 컬러 보정 패치 값들에 기초하여 그레이 스케일과 반사율 사이의 관계를 보정하는 단계; 및 스캐닝 샘플 시에서 입사광의 반사율을 결정하는 단계를 포함한다. 여기서 사용되는 바와 같이, 픽셀 맵은 2진 비트 (예를 들어, 비트 맵), 3진 비트 등의 맵일 수 있다. 예를 들어, 픽셀 맵은 그레이 스케일 값들 또는 RGB 컬러 값들을 포함할 수 있다.
제품 수명 데이터를 얻기 위해, TTI 앱 판독기를 탑재한 스마트 폰과 같은 이미지 센서가 센서 염료 패치(3210)가 내장된 2D 바코드를 스캔하는데 사용될 수 있다. 예를 들어, 이미지는 스마트 폰 백색 플래시와 같은 플래시를 사용하여 스마트 폰 카메라와 같은 이미지 센서로부터 캡처될 수 있다. 명목상(nominally) 백색 플래시 강도는 주변 광을 압도하고 카메라의 sRGB 센서로 이미지를 캡처하기 위한 컬러 온도를 설정할 수 있다. 이미지 센서는 센서 염료를 포함하는 모듈들 (일반적으로 불변 영역에 있으나, 반드시 불변 영역에 있는 것은 아님)을 포함하여 픽셀들의 백색 입사광 반사율을 포착할 수 있다. 특정 컬러인 입사광 대신에, sRGB 이미지가 캡처될 때 물리적 컬러 필터가 카메라 렌즈 위에 위치될 수 있다. 대안적으로, 반사율 데이터에 컬러 광 필터 효과를 생성하기 위해 sRGB 이미지 픽셀 맵 위에 디지털 필터가 적용될 수 있다. 예로서, 디지털 필터는 대역 통과 필터에서와 같이 적절한 중심 파장 및 범위에 기초하여 sRGB 이미지를 처리하도록 프로그래밍될 수 있다. 이어서, 필터링된 컬러 이미지 RGB 값들은 그레이 스케일 값들(예를 들어, 0 내지 255 범위)로 감소될 수 있고, 데이터 매트릭스 바코드에 대한 그레이 스케일 픽셀 맵이 생성될 수 있다. 일 예에서, 2D 바코드는 적절한 입력을 제공하기 위해 인코딩된 데이터를 포함할 수 있고, 센서 염료 패치(3210)의 채도 및/또는 밀도를 판독하기 위해 바코드 판독기를 프로그래밍하는 데 사용될 수 있다. 예를 들어, 인코딩된 데이터 및/또는 애플리케이션 식별자들(AI)를 통해, 바코드는 센서 염료 패치(3210)의 컬러 반사율을 적절하게 감지하도록 바코드 판독기를 자동으로 프로그래밍할 수 있다. 애플리케이션 식별자들의 인코딩된 데이터는 또한 판독기가 스캔된 제품에 대해 지정된 온도에서 사용 및/또는 잔여 제품 수명을 추정할 수 있도록 적절한 수명 방정식 파라미터를 포함할 수 있다.
그리고 나서, 데이터 매트릭스 바코드의 그레이 스케일 픽셀 맵은, 픽셀들을 흑색 픽셀들, 백색 픽셀들 및 컬러 픽셀들 (즉, 흑색 또는 백색이 아닌 픽셀들)로 분리하기 위해, 예를 들어 ISO 15415 글로벌 임계치 알고리즘(Global Threshold algorithm)을 울트라코드 컬러 바코드 심볼로지 듀얼-임계 치 삼원 알고리즘(Ultracode Color barcode Symbology dual-threshold ternary algorithm)으로 대체하는 것과 같은 수정을 갖는 ISO 16022 데이터 매트릭스와 같은 표준 데이터 매트릭스 절차를 사용하여 처리될 수 있다. 컬러 픽셀들이 흑색 및 백색 픽셀들로부터 분리되면, 나머지 흑색 픽셀들 및 백색 픽셀들은 ISO 16022의 방법에 따라 처리될 수 있다. 예를 들어,이 처리 방법은 흑백 픽셀들 및 백색 픽셀들만 사용하여 데이터 매트릭스 픽셀 맵에서 정사각형 모듈 위치들와 모듈 중심을 식별한다. ISO 16022 방법은 데이터 매트릭스를 디코딩하고 GS1 AI 데이터를 복구한다.
위에서 논의된 바와 같이, 애플리케이션 식별자는 센서 염료 모듈들의 크기, 형상 및/또는 위치를 식별할 수 있다. 다음으로, 예로서, 불변 영역에서 각각의 식별된 센서 염료 모듈의 픽셀 그룹이 샘플링될 수 있고, 예를 들어, 각 모듈의 중심에서 3x3 이상의 픽셀 수가 샘플링될 수 있다. 널리 사용되는 예로서, 각각의 픽셀 값은 투표의 역할을 할 수 있고 모듈은 과반수 투표에 기초하여 흑색, 백색 또는 컬러로 분류된다. 3x3 샘플에서 2 픽셀들은 흑색으로, 6 픽셀들은 컬러로, 1 픽셀은 백색으로 투표될 수 있다. 6은 9 개의 총 픽셀들의 과반수이므로 모듈은 컬러로 분류되며, 9 픽셀들 투표의 R, G, B 값을 별도로 평균하여 해당 모듈의 평균 sRGB 색상이 결정된다. 평균 센서 영역 sRGB 값은 식별된 모든 염료 센서 모듈의 R, G, B 값을 별도로 평균화하여 형성된다. 식별된 센서 모듈 이외의 컬러 모듈들은 무시될 수 있으며 리드-솔로몬 에러 정정 프로세스는 그그들의 기저 데이터 비트 값을 복구한다.
에러 정정을 사용함으로써, 센서 염료 패치(3210)는 기저의(선택적으로 기저의) 2D 바코드의 판독성에 영향을 미치지 않으면서, 불변 영역에서와 같이 2D 바코드 내에서 유리하게 사용될 수 있다는 것이 이해되어야한다. 불변 영역의 컬러 모듈들 및 미지의 모듈들을 포함하여 잘못 식별된 모듈들을 수정하는 ISO 16022 리드-솔로몬 에러 정정 프로세스와 같은 에러 정정을 통해 기저 GS1 데이터 매트릭스가 복구된다. 따라서, 기저 GS1 데이터 매트릭스로부터의 데이터는 센서 염료 패치(3210)의 지속적으로 변하는 컬러에 의해 손상되지 않고 표준 방식으로 유리하게 처리된다. 따라서 환경 노출로 인해 지속적으로 변하는 바코드에 내장된, 남은 제품 수명과 같은, 동적 제품 데이터는 환경 노출로 인해 지속적으로 변경되는 반면, 겹쳐 인쇄된 2D 바코드에서 정적 제품 데이터는 판독될 수 있다.
나머지 색상 모듈들(예를 들어, 검은 색 모듈들로 겹쳐 인쇄되지 않은 모듈들)은 바코드 캡처 시(t)에 현재 반사율 R(t)을 결정하기 위해 처리된다. 도 33에 도시된 바와 같이, 반사율 R(t)은 바람직하게는 아레니우스 방정식을 사용하여 기준 온도에서 등가 노출 시간(te)을 결정하도록 처리될 수 있다. 등가 노출 시간(te)을 결정한 후, 현재까지의 총 소비 제품 수명 및 기준 온도에서의 잔여 수명을 추정될 수 있습니다. 제품 수명은 시간과 온도에 대한 노출에 의존할 수 있다. 예를 들어, 30 ℃에 지속적으로 노출되면 제품 수명이 2.5 주일 수 있다. 그러나 38 ℃에 지속적으로 노출되면 제품 수명은 1 주일 뿐이므로 누적 시간 온도 센서(예를 들어, 센서 염료 패치 3210)는 환경 조건에 대한 누적 노출을 유리하게 나타내며, 이는 이전의 보관 조건이 공급망을 알 수 없을 때 유익하다. 예를 들어, 운송 트럭의 시간 및 온도 조건은 알려져 있지 않을 수 있지만, 누적 시간 온도 센서는 유리하게는 배송된 제품의 잔여 수명의 계산을 할 수 있도록 화학적 또는 물리적 상태(예를 들어, 컬러 상태)의 변화를 통해 이러한 노출을 포착하고 나타낼 수 있다. 또한, 등가 노출 시간(te)에 기초한 다른 계산이 수행될 수 있다. 다른 온도에서 저장될 경우 제품의 잔여 수명이 추정될 수 있다.
이미지 처리를 자동으로 프로그래밍하고 사전 저장된 알고리즘에 대한 제품 방정식 파라미터를 제공하기 위해 파라미터를 포함하는 AI로 2D 바코드를 인코딩함으로써, 바코드 판독기는 동일한 바코드 판독기를 사용하여 각각의 2D 바코드 라벨링된 제품에 특정된 제품 특성들을 결정할 수 있습니다. 예를 들어, 판독기를 사용하여, 식품에 대한 잔여 제품 수명은 그 식품 상의 센서-증강된 2D 바코드를 판독함으로써 지시되는 이미지 센서 처리 및 방정식 파라미터를 사용하여 결정될 수 있다. 그리고, 상이한 파라미터들이 백신 바이알 상의 2D 바코드의 AI에 저장될 수 있고, 동일한 바코드 판독기는 바이알에서 백신의 잔여 수명을 계산하기 위해 이미지 처리 및 방정식 파라미터를 프로그래밍하기 위해 이들을 판독하고 사용할 수 있다.
바코드를 스캔하고 적절한 수명 데이터를 얻은 후 바코드 판독기는 표시된 제품 및 잔여 수명에 대한 정보를 표시할 수 있다. 예를 들어,도 32a의 바코드는 초기 상태(예를 들어, 제품이 100% 잔여 수명을 가짐) 후의 어느 시점에 있는 의료 제품(예를 들어, 비활성화된 소아마비 백신)의 바코드의 제1 중간 상태(3220A)를 나타낼 수 있다. 바코드는 모니터 카테고리: VVM7, 잔여 수명 80 %, 만료 날짜(예를 들어, 예상 남은 수명에서 계산되거나 다른 기준에 따라 계산된), 제품 진위성 같은 그림 34에 표시된 제품 수명 데이터를 나타내기 위해 스캔될 수 있다. 또한, 바코드 데이터는 2D 바코드 판독기에 의해 표시되는 GTIN에 대한 AI(01), AI(10) 배치 번호 및 AI(21) 일련 번호를 포함할 수 있다. 정적 바코드 데이터는 센서 염료 패 (3210)의 현재 컬러 상태에 따라 잔여 제품 수명을 계산하기 위해 바코드 판독기에 적절한 방정식 파라미터 및 입력이 자동으로 제공되도록 제품 정보를 포함할 수 있다. 예를 들어, 반사율 데이터가 이미지 센서로부터 획득된 후, 적절한 방정식 파라미터는 도 33에 도시된 바와 같이 기준 온도에서 등가 노출 시간(te)을 결정하는 데 사용될 수 있다. 수명에서 (te)를 빼면 기준 온도에서 남은 제품 수명이 제공된다.
센서 염료 패치(3210)는 초기 상태와 최종 상태 사이에서 전이될 수 있다. 도 32b는 초기 상태(예를 들어, 제품이 100% 잔여 수명을 가짐) 및 도 32a에 도시된 제1 중간 상태(3220A) 후, 제2 중간 상태(3220B)에서의 바코드(및 센서 염료 패치 (3210))를 나타낼 수 있다. 예를 들어, 센서 염료 패치는 최종 상태에서 색상을 투명에서 단색으로 변경할 수 있다. 제품 수명 계산의 정확성을 보장하기 위해, 2D 바코드는 센서 염료 패치(3210)에서 불투명도의 임계 값이 제품 수명의 끝으로 식별되도록 인코딩될 수 있다. 예를 들어, 바코드 판독기가 최종 상태 반사율 R(∞)의 20% 반사율에 도달하는 센서 염료 패치가 만료되었다고 결정하도록 2D 바코드는 인코딩될 수 있다. 이는 판독기로 하여금 제품이 얼마나 오래 만료되었는지를 결정할 수 있게 한다. 예를 들어, 제품 만료가 센서 염료 패치의 최종 반사율 종료 상태 R(∞)로 설정된 경우, 반사율 변화 속도는 너무 느려서 염료 패치(3210)가 언제 최종 상태에 도달했는지를 결정하는 것은 비현실적일 것이다. 그러나, 만료가 최종 상태 이전의 중간 상태로 설정되면, 2D 바코드는 또한 만료 후 누적 환경 노출에 대한 정보를 제공하도록 구성될 수 있다. 다른 예에서, 최종 상태는 임계 값으로서 사용될 수 있다. 도 32a와 유사하게, 제품 수명 데이터를 나타내기 위해 의료 제품(예를 들어, 비활성화 된 소아마비 백신)의 바코드는 다른 수준의 노출에서 스캔될 수 있다. 그림 35에 나와있는 것처럼 제품이 적절한 수명을 초과하였으며 바코드 판독기에 "테스트 실패(Test Failed)"가 표시될 수 있다. 예를 들어, 시간, 온도 또는 시간과 온도 둘 다에 과도한 노출로 인해 제품의 남은 수명이 없을 수 있다. 도 33과 유사하게, 정적 2D 바코드 데이터는 동일한 GTIN, 배치 번호, 일련 번호 등을 가지며, 도 33에 그래픽 형태로 도시된 R(t) 방정식을 구현하는데 필요한 파라미터를 가진다.
또한, 바코드 데이터는 위조 방지 수단으로서 제품 진위 여부를 확인하는데 사용될 수 있다. 예를 들어, GTIN에 대한 인코딩된 AI(01), AI(10) 배치 번호 및 AI (21) 데이터의 전부 또는 일부가 이 제품 인스턴스의 유효성 데이터로 사용될 수 있다. 이 유효성 검사 데이터는 해당 유효성 검사 데이터가 제조업체의 데이터베이스에 연결되어 있는지 확인하기 위한 쿼리로서 판독기에 의해 전송되며, 이는 해당 바코드를 가지고 있는 제품이 이미 등록되었음을 의미한다. 유효성 검사 데이터가 제조업체의 데이터베이스와 일치하지 않거나 이전에 확인되었거나 이미 사용했거나 만료된 것으로 표시되면 방금 스캔한이 제품 인스턴스의 진위성은 의심스럽다. 동일한 바코드의 여러 인스턴스가 발견되었다는 경고 코드를 제조업체의 데이터베이스에 배치하여 다른 동일한 제품 인스턴스를 받을 수 있는 다른 사용자에게 제품 인스턴스 중 하나 이상이 위조임을 경고할 수 있다.
위에서 논의된 바와 같이, 잔여 제품 수명은 온도 의존적일 수 있다. 따라서, 기준 온도와 다른 새로운 저장 온도에서, 새로운 예측된 만료 날짜는 바코드 데이터 및 기준 온도에서 스캐너의 현재 측정된 등가 노출 시간(te)을 사용하여 계산될 수 있다.
도 11은 2D 바코드를 생성하는 예시적인 프로세스(460)의 흐름도를 포함한다. 프로세스(460)가 도 11에 도시된 흐름도를 참조하여 설명되었지만, 프로세스(460)와 관련된 동작을 수행하는 많은 다른 방법이 사용될 수 있음을 이해할 것이다. 예를 들어, 다수의 블록의 순서가 변경될 수 있고, 다수의 블록이 간헐적으로 반복되거나 연속적으로 수행될 수 있고, 특정 블록이 다른 블록과 조합될 수 있으며, 설명된 다수의 블록은 선택적이거나 또는 단지 경우에 따라서만 수행될 수 있다.
예시적인 프로세스(460)는 페이로드 데이터(112) 세트를 결정하는 것으로 시작할 수 있다(블록 462). 예시적인 실시예에서, 페이로드 데이터(112) 세트는 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트를 포함할 수 있다. 또한, 동적 데이터(136)의 세트는 제1 상태(210) 및 제2 상태(212)를 가질 수 있다. 컴퓨터는 2D 바코드를 생성할 수 있다(블록 464). 예시적인 실시예에서, 2D 바코드는 정적 데이터의 세트의 인코딩된 버전, 동적 데이터의 세트의 인코딩된 버전을 저장하도록 구성된 동적 영역(192), 및 에러 검출 및 정정 데이터(116)를 포함할 수 있다. 프린터는 정적 잉크(194)를 사용하여 2D 바코드를 인쇄하고 동적 잉크(198)를 사용하여 동적 영역(192) 상에 동적 데이터의 인코딩된 버전을 인쇄할 수 있다(블록 466). 예시적인 실시예에서, 2D 바코드는 식품, 제약품 등과 같은 다양한 제품에 부착될 수 있다. 예시적인 실시예에서, 동적 잉크(198)는 적어도 하나의 환경 변화에 응답하여 상태가 변경하여, 동적 데이터(136)의 세트가 제1 상태(210) 또는 제2 상태(212)에 있게 한다. 또한, 예시적인 실시예에서, 2D 바코드가 판독기에 의해 판독가능할 수 있고 동적 데이터(136)의 세트가 제1 상태(210)에 있을 때 제1 출력을 생성할 수 있고 2D 바코드가 판독기에 의해 판독 가능하고 동적 데이터(136)의 세트가 제2 상태(212)에 있을 때 제2 출력을 생성할 수 있도록 에러 검출 및 정정 데이터(116)는 동적 영역(192)에서 동적 데이터(136)의 세트에서의 변화를 수용할 수 있다. 예시적인 실시 예에서, 동적 영역(192)은 패딩 영역에 제공될 수 있다. 또한, 동적 영역(192)은 데이터 영역의 끝에 제공될 수 있다. 동적 데이터(136)의 세트의 변화를 수용하는 에러 검출 및 정정 데이터(116)를 포함하는 2D 바코드를 제공하는 것은 유리하게는 개인이 권한이 없는 판독기를 사용할 수 있게 하고, 또한 개별적으로 권한이 없는 판독기를 사용하여 2 개의 상이한 출력 판독 값을 얻을 수 있게 한다. 예를 들어, 동적 영역(192)에서 동적 데이터의 세트(136)의 변화를 수용하는 에러 검출 및 정정 데이터(116)를 갖는 2D 바코드를 생성하지 않으면, 권한이 없는 판독기는 2D 바코드가 제1 상태(210)의 동적 데이터(136)의 세트 또는 제2 상태(212)의 동적 데이터(136)의 세트를 포함하는지에 관계없이 제1 출력만을 생성할 수 있다.
도 12는 2D 바코드를 판독하는 예시적인 프로세스(470)의 흐름도를 포함한다. 프로세스(470)가 도 12에 도시된 흐름도를 참조하여 설명되었지만, 프로세스(470)와 관련된 동작을 수행하는 많은 다른 방법이 사용될 수 있음을 이해할 것이다. 예를 들어, 다수의 블록의 순서가 변경 될 수 있고, 다수의 블록이 간헐적으로 반복되거나 연속적으로 수행 될 수 있고, 특정 블록이 다른 블록과 조합 될 수 있으며, 설명 된 다수의 블록은 선택적이거나 또는 단지 경우에 따라서만 수행될 수 있다.
예시적인 프로세스(470)는 판독기가 2D 바코드에 포함된 정적 데이터(134)의 세트를 판독하는 것으로 시작할 수 있다(블록 472). 예시적인 실시예에서, 2D 바코드는 정적 잉크(194) 및 동적 잉크(198)로 인쇄될 수 있다. 또한, 정적 데이터의 세트의 인코딩된 버전이 정적 잉크(194)로 인쇄될 수 있다. 다음으로, 판독기는 2D 바코드에 포함된 동적 데이터(136)의 세트를 읽을 수 있다(블록 474). 예시적인 실시예에서, 동적 데이터(196)의 세트의 인코딩된 버전이 동적 잉크(198)로 인쇄될 수 있다. 부가적으로, 동적 데이터(136)의 세트는 2D 바코드 상의 여분의 공간에 인쇄될 수 있다. 다음에, 판독기는 정적 데이터(134)의 세트의 제1 출력을 생성할 수 있다(블록 476). 그 후, 판독기는 동적 데이터(136)의 세트의 제2 출력을 생성할 수 있다(블록 478). 예시적인 실시예에서, 제2 출력은 동적 데이터는 복수의 상태 중 하나의 상태, 예컨대 30 ℃ 초과 또는 30 ℃ 미만에 있는 지에 의존할 수 있다.
도 13은 2D 바코드를 판독하는 예시적인 프로세스(490)의 흐름도를 포함한다. 프로세스(490)가 도 13에 도시된 흐름도를 참조하여 설명되었지만, 프로세스(490)와 관련된 동작을 수행하는 많은 다른 방법이 사용될 수 있음을 이해할 것이다. 예를 들어, 다수의 블록의 순서가 변경될 수 있고, 다수의 블록이 간헐적으로 반복되거나 연속적으로 수행될 수 있고, 특정 블록이 다른 블록과 조합될 수 있으며, 설명된 다수의 블록은 선택적이거나 또는 단지 경우에 따라서만 수행될 수 있다.
예시적인 프로세스(490)는 판독기가 2D 바코드에 포함된 정적 데이터(134)의 세트를 판독하는 것으로 시작할 수 있다(블록 492). 예시적인 실시예에서, 2D 바코드는 정적 잉크(194) 및 동적 잉크(198)로 인쇄될 수 있다. 또한, 정적 데이터의 세트의 인코딩된 버전이 정적 잉크(194)로 인쇄될 수 있다. 다음으로, 판독기는 2D 바코드에 포함된 동적 데이터(136)의 세트를 판독할 수 있다(블록 494). 예시적인 실시예에서, 동적 데이터(196)의 세트의 인코딩된 버전이 동적 잉크(198)에 인쇄될 수있다. 또한, 동적 데이터(136)의 세트는 2D 바코드의 동적 영역(192)에 인쇄될 수 있다. 다음에, 판독기는 정적 데이터(134)의 세트 및 동적 데이터(136)의 세트의 출력을 생성할 수 있다(블록 496). 예시적인 실시예에서, 출력은 동적 데이터(136)의 세트가 제1 상태(210)에 있을 때 제1 출력일 수 있고, 출력은 동적 데이터(136)의 세트가 제2 상태(212)에 있을 때 제2 출력일 수 있다.
도 14는 2D 바코드 제공 시스템의 블록도이다. 시스템은 컴퓨터(292) 및 프린터(290)를 포함할 수 있다. 시스템은 바코드들(102)을 제공하는데 사용될 수 있다. 컴퓨터(292)는 하나 이상의 컴퓨터 프로그램 또는 컴포넌트를 포함할 수 있다. 여기서 기술된 모든 개시된 방법 및 절차는 하나 이상의 컴퓨터 프로그램 또는 컴포넌트를 사용하여 구현될 수 있다는 것이 이해될 것이다. 이들 구성 요소는 RAM, ROM, 플래시 메모리, 자기 또는 광 디스크, 광 메모리, 또는 다른 저장 미디어(meida)와 같은 휘발성 또는 비휘발성 메모리를 포함하는 임의의 종래의 컴퓨터 판독 가능 매체 또는 머신 판독 가능 매체 상의 일련의 컴퓨터 명령으로서 제공될 수 있다. 명령어는 소프트웨어 또는 펌웨어로서 제공될 수 있고/있거나 ASIC, FPGA, DSP 또는 다른 유사한 장치와 같은 하드웨어 구성 요소에서 전체적으로 또는 부분적으로 구현될 수 있다. 명령어는 일련의 컴퓨터 명령어를 실행할 때 상기 개시된 방법 및 절차의 전부 또는 일부의 성능을 수행하거나 용이하게 하는 하나 이상의 프로세서에 의해 실행되도록 구성될 수 있다. 또한, 컴퓨터(292)는 디스플레이를 포함할 수 있고, 인터넷 또는,이에 제한되지 않지만, 임의의 적절한 광역 네트워크 또는 근거리 네트워크를 포함하는 다른 음성 및/또는 데이터 네트워크와 같은 하나 이상의 통신 채널에 연결을 가질 수 있다.
컴퓨터(292)는 어드레스/데이터 버스에 의해 하나 이상의 메모리 장치, 다른 컴퓨터 회로 및 하나 이상의 인터페이스 회로에 전기적으로 연결된 하나 이상의 프로세서를 포함할 수 있다. 프로세서는 마이크로 프로세서와 같은 임의의 적합한 프로세서일 수 있다. 메모리는 바람직하게는 휘발성 메모리 및 비휘발성 메모리를 포함한다. 또한, 메모리는 바코드 제공 시스템에서 다른 장치와 상호 작용하는 소프트웨어 프로그램을 저장할 수 있다. 이 프로그램은 프로세서에 의해 임의의 적절한 방식으로 실행될 수 있다. 메모리는 또한 컴퓨터 또는 바코드 판독기로부터 수신된 문서, 파일, 프로그램, 바코드 등을 나타내는 디지털 데이터를 저장할 수 있다. 다른 컴퓨터 회로는 ASIC, 또는 바코드 데이터와 같은 특정 포맷으로 데이터를 조작하기 위한 다른 특수 회로를 포함하는 다양한 하드웨어 구성 요소를 포함할 수 있다.
하나 이상의 디스플레이, 프린터(290) 및/또는 다른 출력 장치는 또한 인터페이스 회로를 통해 컴퓨터(292)에 연결될 수 있다. 디스플레이는 액정 디스플레이 또는 임의의 다른 유형의 디스플레이일 수 있다. 프린터(290)는 컴퓨터(292)로부터 생성 및 수신 된 바코드를 인쇄할 수 있다. 또한, 하나 이상의 저장 장치가 인터페이스 회로를 통해 컴퓨터(292)에 연결될 수도 있다. 예를 들어, 하드 드라이브, CD 드라이브, DVD 드라이브 및/또는 다른 저장 장치가 컴퓨터(292)에 연결될 수 있다. 저장 장치는 바코드 데이터(100), 이미지 데이터, 이력 액세스 또는 사용 데이터 등과 같은 임의의 유형의 데이터를 저장할 수 있다.
도 15a 및 도 15b는 2D 바코드 판독 시스템의 블록도이다. 시스템은 판독기(200)를 포함할 수 있고, 시스템은 바코드들(102)을 판독하기 위하여 사용될 수 있다. 예시적인 실시예에서, 판독기(200)는 권한이 있는 판독기 또는 권한이 없는 판독기일 수 있다. 판독기(200)는 전용 바코드 판독기일 수 있거나, 이동 디바이스, 개인 정보 단말 또는 PDA, 스마트폰, 랩톱, 태블릿 컴퓨터, 또는 데스크톱 컴퓨터뿐만 아니라, 임의의 다른 사용자 디바이스들과 같은, 바코드들을 판독하도록 구성된 장치일 수 있다. 판독기(200)는 1D 및 2D 바코드들을 판독하도록 구비될 수 있거나, 2D 바코드들만을 판독하도록 구비될 수 있다. 판독기(200)는 또한, 통신 네트워크를 통해 다른 네트워크 디바이스들과 데이터를 송신할 수 있거나, 수신할 수 있거나, 교환할 수 있다. 네트워크 디바이스는 컴퓨터(292), 상이한 판독기(200), 또는 통신 네트워크를 통해 액세스가능한 임의의 다른 디바이스일 수 있다. 또한, 일시적으로 또는 영구적으로 중 어느 하나로, 서버 상에서, 예를 들어, 메모리 또는 저장 디바이스에서 또한 저장되는 어떤 데이터는 판독기(200) 내에 저장될 수 있다. 네트워크 연결부는 셀룰러 또는 무선 연결부, 이더넷(Ethernet) 연결부, 디지털 가입자 회선, 전화선, 동축 케이블 등과 같은 임의의 타입의 네트워크 연결부일 수 있다. 판독기(200) 또는 동적 데이터(136)에 대한 액세스는 적절한 보안 소프트웨어 또는 보안 수단들에 의해 제어될 수 있다. 개별적인 사용자들의 액세스는 판독기(200)에 의해 정의될 수 있고, 어떤 데이터 및/또는 액션들로 제한될 수 있다. 예를 들어, 사용자는 바코드(102) 상의 정적 데이터(134)만을 판독할 수 있을 수 있는 권한이 없는 판독기에 대한 액세스만을 가질 수 있다. 추가적으로, 사용자는 단지 동적 데이터, 또는 바코드(102) 상의 동적 및 정적 데이터의 양자 모두를 판독할 수 있을 수 있는 권한이 있는 판독기에 대한 액세스를 가질 수 있다. 따라서, 바코드 판독 시스템의 사용자들 및/또는 관리자들은 하나 이상의 판
독기들(200)에 등록할 것을 요구받을 수 있다. 추가적으로, 판독기(200) 내에, 및/또는 서버에 위치된 데이터를 관리하기 위한 다양한 옵션들이 구현될 수 있다. 예를 들어, 관리 시스템은 판독기(200)에서 구현될 수 있고, 데이터 송신의 임의의 적당한 방법을 사용하여 로컬방식으로 및/또는 원격으로 바코드 데이터(100)를 업데이트할 수 있고, 저장할 수 있고, 및/또는 백업할 수 있다.
센서-증강된 2차원 바코드 심볼을 판독하는 방법에는 많은 요구 사항이 있다. 센서-증강된 데이터 매트릭스 심볼을 읽는 것은 아래의 경우에 가능하다.
1. 센서 염료 모듈 패턴에서 제한된 수의 모듈만 컬러 상태를 변경하는 경우
2. 변경된 모듈들이 적은 수의 유타(utah)들로 제한된 경우
3. 기저 데이터 매트릭스에 리드-솔로몬 에러 정정 기능이 충분한 경우,
RSEC 프로세스는 센서 활성화에 의해 야기된 모듈들의 컬러 상태 변화 이전에 기저 데이터 매트릭스에서 기저 코드워드 데이터를 복구하는데 사용될 수 있다.
표 5는 최대 26x26의 모든 정사각형 데이터 매트릭스 심볼 및 모든 직사각형의 데이터 매트릭스 심볼의 데이터 및 RSEC 코드워드 용량을 나타낸다.
각 데이터 코드워드에는 일반적으로 기저 데이터를 복구하기 위해 두 개의 RSEC 코드워드가 필요하다. 예를 들어, 16x16 정사각형 데이터 매트릭스는 12 개의 데이터 코드워드들(12 개의 데이터 유타(utah)들)을 위한 용량을 가지고, 12 개의 RSEC 코드워드들(12 개의 RSEC 유타(utah)들)을 가진다. 따라서 활성화된 센서 모듈이 해당 16x16 심볼에서 4 개의 데이터 유타(utah)들을 변경하면 8 개의 RSEC 코드워드들을 사용하여 변경된 유타(utah)들에 대한 데이터를 복구한다. 이는 다른 심볼 손상을 정정하기 위해 4 개의 추가 RSEC 코드 워드들을 사용할 수 있게 한다.
Figure pct00001
센서 염료 모듈 패턴의 구조가 기저 데이터 매트릭스로 인코딩되었는지 아닌지의 여부에 따라 센서-증강된 2차원 바코드에 대한 2 개의 타입들의 판독 프로세스들이 사용된다. 센서 염료 모듈 패턴의 구조가 센서-증강된 2차원 바코드의 기저 데이터 매트릭스로 인코딩되지 않은 제1 경우에는:
1. 데이터 매트릭스 판독 프로세스의 일부로서 이미지를 스캔하고 광학적으로 처리하고, 스캔된 이미지의 스캔 2진 비트맵을 구성한다. 하나의 방법론은 ISO/IEC 16022를 참조하라.
2. 스캔 2진 픽셀 맵(예를 들어, 비트 맵)을 처리하여 기저 심볼 코드워드 시퀀스를 구성한다.
3. 활성화된 센서 모듈에 의해 변경되기 전에 기저 코드워드들을 복구하기 위해 심볼 코드워드 시퀀스에 리드-솔로몬 에러 정정 프로세스를 활용한다. 하나의 방법론은 ISO/IEC 16022를 참조하라.
4. 스캔 2진 픽셀 맵 (예를 들어, 비트 맵)과 동일한 크기의 기저 데이터 코드워드 시퀀스로부터 기저 2진 픽셀 맵 (예를 들어, 비트 맵)을 구성한다. 하나의 방법론은 ISO/IEC 16022를 참조하라.
5. 각각의 비트 위치에서, 스캔 2진 픽셀 맵(예를 들어, 비트 맵) 및 기저 2진 픽셀 맵(예를 들어, 비트 맵)을 배타적 OR을 행하여 스캔 2진 픽셀 맵과 동일한 크기의 센서 디지털 정보 픽셀 맵을 형성한다.
6. 상황별 규칙에 따라 센서 디지털 정보 픽셀 맵을 처리하라.
센서 염료 모듈 패턴의 구조가 센서-증강된 2차원 바코드의 기저 데이터 매트릭스에 인코딩된 경우 :
1. 데이터 매트릭스 판독 프로세스의 일부로 이미지를 스캔하고 광학적으로 처리하고 스캔된 이미지의 스캔 2진 픽셀 맵을 구성한다. 하나의 방법론은 ISO/IEC 16022를 참조하라.
2. 스캔 2진 픽셀 맵을 처리하여 기저 심볼 코드워드 시퀀스를 구성한다.
3. 활성화된 센서 모듈들에 의해 변경되기 전에 기저 데이터 코드워드들을 복구하기 위해 심볼 코드워드 시퀀스에 리드-솔로몬 에러 정정 프로세스를 활용한다. 하나의 방법론은 ISO/IEC 16022를 참조하라.
4. 기저 데이터 코드워드들로 인코딩된 정보를 사용하여 스캔 2진 픽셀 맵 내에서 센서 디지털 정보를 포함하는 센서 염료 비트 패턴을 결정하고 2진 정보 시퀀스를 적절한 비트 순서로 추출한다.
5. 센서 데이터가 BCH(15,5,7)로 인코딩된 경우, 5 비트 2진 인코딩된 센서 데이터를 복구(또는 그렇지 않으면 디코딩 실패들을 디코딩)하기 위해 BCH 에러 정정 프로세스 표준 방법을 사용하라.
또한, 지속적으로 변화하는 센서 염료가 예를 들어 환경 조건에 대한 누적 노출을 나타내는 데 사용되는 경우 바코드 판독기는 다음을 수행할 수 있다.
1. 바람직하게는 센서 염료 영역의 위치, 크기 및 제품 수명 방정식 파라미터를 결정하는 바코드 데이터를 검색하기 위해 2진 픽셀 맵을 처리함으로써 센서 염료 영역으로부터 컬러 정보를 처리한다. 또한, 2진 픽셀 맵은 특정 센서 염료 및 제품 유형에 대한 이미지 센서를 프로그래밍하는 데 사용될 수 있다.
2. 제품 수명 방정식 파라미터를 사용하여 처리된 컬러 정보에서 잔여 제품 수명을 판별한다.
일 실시예는 센서 염료의 컬러 상태의 변화를 야기하는 초기 상태와 최종 상태 사이에서 지속적인 화학적 또는 물리적 상태 변화를 겪도록 구성된 센서 염료를 사용한다. 현재의 컬러 상태는 환경 조건에 대한 노출(예를 들어, 누적 노출)을 나타낼 수 있다. 예를 들어, 누적 시간-온도 센서와 같은 센서 염료 패치는 2D 바코드 내에 내장되거나 2D 바코드 내에 연관될 수 있다. 누적 시간-온도 센서는 시간이 지남에 따라 제품이 온도에 노출될 때 컬러가 지속적으로 변할 수 있다.
일 실시예는 온도 임계 값에 민감한 센서 염료 케미스트리를 사용한다. 센서 염료 케미스트리는 W→X; 흰색 인쇄 매체에 인쇄된 기저 데이터 매트릭스의 흑색 모듈들에 겹쳐 인쇄된 흰색 염료 요소들이다. 사용된 센서 염료 케미스트리는 데이터 매트릭스 심볼을 인쇄할 때 알려진 것으로 가정된다.
데이터 매트릭스 심볼로 인코딩된 데이터 구조는 GS1 애플리케이션 식별자들(AI)을 사용하고 GS1 일반 사양들, V15 Issue 2 (January 2015) (http://www.gs1.org/docs/barcodes/GS1_General_Specifications.pdf) 그리고 이후을 따르는 것이 가정된다.
여기서, 15-비트 BCH(15,5,7) 에러 정정은 센서 데이터의 5 비트들을 인코딩하기 위하여 사용된다. 겹쳐 인쇄된 센서 염료 모듈들이 백색이므로, 15-비트 BCH 인코딩의 '1' 비트들에 대응하는 흑색 모듈들은 기저 데이터 매트릭스로 인쇄될 필요가 있다.
센서 데이터 BCH 인코딩은, 사용 중인 센서 염료 케미스트리를 표시하기 위한 2 개의 표시자 비트들과 함께, 예시적인 목적들을 위하여 도 19에 도시된 16x16 ECC 200 데이터 매트릭스 심볼의 유타(utah)들 3, 5, 및 6만을 사용한다. 유타(utah)들 5, 6 및 유타(utah) 비트들 3.6 - 3.8은 도 19에서의 불변인 비트맵(410)에서와 같이, 심볼 ULC에 대하여 동일한 비트맵 위치에 있다.
표시자 유타(utah) 비트들 3.6 및 3.7은 표 1에서의 센서 염료 케미스트리들 중 어느 것이 사용 중인지를 표시한다. 사용되는 센서 염료 케미스트리는 데이터 매트릭스의 인쇄 시에 알려져 있는 것이 가정된다.
선택된 센서 케미스트리의 모듈들은 유타(utah) 비트들 3.6 및 3.7의 양자 모두를 겹쳐 인쇄한다. 선택된 센서 염료 케미스트리에 따라, 비트들 3.6 및 3.7은 센서 염료가 비활성된 상태 또는 활성된 상태 중 어느 하나일 때 표 4에서와 같이 나타날 것이다.
도 20은 ISO/IEC 16022로부터의 크기 14 데이터 매트릭스 비트맵(505)을 도시하고, 불변 비트맵(410)의 유타(utah) 비트 3.8 및 유타(utah)들 5 및 6을 식별한다. 이것들은 각각 참조들 510, 520, 및 530이다. 불변 비트맵(410)에 있지 않은, 유타(utah) 3의 상부 5 비트들, 540으로서 참조된 비트들 3.1 - 3.5는 이용 중인 센서 염료 케미스트리 및/또는 센서 염료 비트 패턴에 대한 추가적인 정보를 인코딩하기 위하여 이용될 수 있다.
GS1 일반 사양들에서 정의된 바와 같은 GS1 시스템을 준수하면, 데이터 매트릭스에서의 정보, GS1 애플리케이션 식별자 AI(90)을 인코딩하기 위한 가장 폭넓게 이용된 시스템이 이용될 수 있다. AI(90)은 센서-가능형 데이터 매트릭스의 존재와 같은, 거래 상대방들 사이에서 상호 합의된 정보를 위하여 예약된다. 애플리케이션 식별자들은 GS1 데이터 매트릭스에서의 임의의 시퀀스 내에서 나타날 수 있으므로, AI(90)은 15 BCH-인코딩된 센서 비트들 B1 - B15가 불변 비트맵(410)에 있는 것을 보장하기 위하여 FNC1 직후에 나타날 것이다. 7-비트 문자들만이 GS1 애플리케이션 식별자로 인코딩될 수 있으므로, 520에서의 유타(utah) 5의 최상위 비트 5.1 및 530에서의 유타(utah) 6의 비트 6.1 및 활성화 전 및 후의 양자 모두에서의 그 컬러 상태는 여기에서 중요하지 않다.
도 21에 도시된 바와 같이, 16x16 데이터 매트릭스(600)의 불변 비트맵(410) 부분은 610a 유타(utah) 1 비트들 1.5 및 1.8; 620 유타(utah) 2; 630a 유타(utah) 3 비트들 3.6 - 3.8; 640a 유타(utah) 4 비트들 4.3 - 4.8; 650 유타(utah) 5; 660 유타(utah) 6, 및 670a 유타(utah) 7 비트들 7.2, 7.4, 7.5, 7.7, 및 7.8을 포함한다. 이 7 개의 유타(utah)들을 둘러싸는 다른 유타(utah) 비트들은 참조의 목적들 및 도 20의 비트맵과의 용이한 대응관계를 위하여 600으로 도시되어 있다는 것에 주목하라. 예를 들어, 610b 유타(utah) 1 비트들 1.1 - 1.4, 1.6, 및 1.7; 640b 유타(utah) 4 비트들 4.1 및 4.2; 및 670b 유타(utah) 7 비트들 7.1, 7.3, 및 7.6
가장 중요한 비트 B15는 630a에서의 630a 유타(utah) 비트 3.8로 인코딩될 것이다. 650 비트들 5.2 내지 5.8에서의 유타(utah) 5는 BCH 인코딩된 센서 비트들의 B14 내지 B7을 인코딩할 것이다. 660 비트들 62 내지 68에서의 유타(utah) 6은 BCH 인코딩된 센서 비트들의 B7 내지 B1을 인코딩할 것이다.
백색-to-투명(white to transparent) 센서 염료 케미스트리는 제1 바람직한 실시예에서 사용되므로, 인코딩된 센서 데이터 비트 흑색 및 백색 패턴 B15 - B1은 데이터 매트릭스에서 사전 인쇄되어야 한다. 그 다음으로, W→X 센서 염료는 이런 인코딩된 비트들; 기저 데이터 매트릭스에서의 비트들 B1-15의 전부, 또는 흑색 비트들 B15-B1의 적어도 그것들 상에서 겹쳐 인쇄된다.
센서 데이터 값이 '4'인 때의 예를 고려한다. 표 2로부터, BCH 인코딩 B15-B1은 001000111101011이다. 이에 따라, 도 20에서의 데이터 매트릭스 크기 14 비트맵에서, 유타(utah) 비트들 3.8, 5.2 - 5.8, 및 6.2 - 6.8은 이 모듈들이 백색-to-투명 센서 염료로 겹쳐 인쇄될 것이므로, 이 비트들 B15-B1에 대응하는 흑색 모듈들을 인코딩하도록 설정된다. 유타(utah) 비트들 5.1 및 6.1은 백색 모듈들이 인쇄되는 것을 보장하기 위하여 '0'으로 설정된다. 표 6은 AI(90) 데이터 스트링이 16x16 데이터 매트릭스의 최초의 7개의 유타(utah)들로 인쇄되는 것을 도시한다. 각각의 유타(utah)는 하나의 8-비트 코드워드를 인코딩한다는 것을 상기하라.
W→X 센서 염료에 대한 AI(90) ASCII 및 데이터 매트릭스 코드워드 스트링 예
유타 AI(90) 데이터 7-비트 ASCII 입력 16진 코드워드 주석들
1 FNC1 프린터
종속적
주석 참조
E8 FNC1은 7-비트 ASCII 값이 아니고, 따라서, 특수한 문자 스트링은 GS1 AI 스트링의 시작 시에 포함하기 위하여 프린터로 전송됨
2 90 90 DC AI(90)
3 주석 참조 5 36 표시자 비트들 3.6,3.7 = "11", 3.8 ='0'에서의 B15 및 비트들 3.1 - 3.4는 W→X 센서염료 케미스트리 제품의 예로서 플래그하기 위하여 "0010"로 설정됨
4 X X 59 임의의 7-비트 ASCII 여기서,'X'는 추가적인 데이터 문자의 예로서 이용됨
5 " 23 '0100011'을 인쇄하기 위해 비트들B14-B8을 설정됨
6 j 6B '1101011'을 인쇄하기 위해 비트들 B7-B1을 설정됨
7 GS 또는 FNC1 GS 1E AI(90) 스트링을 종결
630b에서의 유타(utah) 3의 비트들 3.1 - 3.5는, 그것들이 데이터 매트릭스의 모든 크기들에 대한 데이터 매트릭스 심볼의 하부 에지 상에 있으므로, 불변 비트맵(410)에 있지 않다. 그러나, 사용중인 센서 염료의 특성 및 증강된 데이터 매트릭스에 인코딩된 센서 염료 패턴에 관한 특정 정보를 전달하는데 유용한 데이터가 여기에 인코딩될 수 있다.
유타(utah) 4의 일부(640a)만이 불변 비트맵 부분(410)에서 나타나므로, 유타(uhah) 4는 비트들 B14-B1이 각각 650 및 660에서의 유타(utah)들 5 및 6으로 인쇄된다는 것을 보장하기 위하여 스페이서(spacer)로서 사용된다. 임의의 7-비트 ASCII 문자는 유타(utah) 4로 인코딩될 수 있다. 그것은 제품-관련된 정보를 위하여 전형적으로 사용된다.
표 6에서의 정보로만 프린팅된 16x16 데이터 매트릭스(700)는 도 22에 도시되어 있다. 도 23에서, 데이터 매트릭스(800)는 데이터 매트릭스(600)와 구조에 있어서 유사하게 도시되어 있다. 그러나, 여기서, 불변 비트맵 부분에서 적절한 모듈들은 도 22에서의 기저 데이터 매트릭스(700) 인코딩에 따라 흑색 또는 백색 중 어느 하나로 설정된다. 나머지 데이터 매트릭스 코드워드들(유타(utah)들 8-12)은 12 개의 이용가능한 데이터 코드워드들을 채우기 위하여 패드 문자들로 채워진다. 심볼에서의 최후 12 개의 코드워드들(유타(utah)들 13-24)은 RSEC 에러 정정 코드워드들이다. 도 23에서, 편의상, 유타(utah)들 8-24의 내용들은, 그것들이 AI(90)의 인코딩에 관련되지 않으므로, 회색으로 도시되어 있다.
비활성화된 센서-증강된 데이터 매트릭스(900)의 시각적 이미지는 도 24에 도시되어 있다. 백색 센서 염료는 겹쳐 인쇄된 표시자 비트들(910)이다. 센서 데이터의 B15-B1의 겹쳐 인쇄된 BCH 인코딩(920)은 유타(utah) 비트들 5.1 및 6.1에서의 비인쇄되고(unprinted) 겹쳐 인쇄되지 않은 백색 모듈들로부터 구별 불가능한 백색 염료 모듈들로서 도시되어 있다. 이것들은 이 센서 염료 케미스트리 시스템에서 B15-B1에 대한 비활성화된 디폴트 센서 데이터 값 '0'을 표시하는 값 '00000000000000'을 갖는다. 표시자 비트들은 W→X 센서 염료 케미스트리의 비활성화된 상태를 표시하는 '00'이다.
일단 활성화되면, 모든 센서 모듈들은 투명해지고 시각적 이미지는 도 22로 복귀하여, 센서 데이터 값 '4'를 복원하기 위하여 위에서 설명된 BCH (15,5,7)를 위한 표준 방법들 중 하나를 이용하여 디코딩되는 올바른 15 비트 BCH 비트 패턴 001000111101011을 도시한다.
제2 바람직한 실시예는 열 종이(thermal paper)를 만들기 위하여 이용된 열적-활성화된 류코(lueco) 염료 시스템들에 의해 빈번하게 나타내어지는 바와 같이, 온도 임계 민감(temperature threshold sensitive) 센서 염료 케미스트리 X→B를 사용한다. 여기서, 투명한 염료 모듈들은 백색 매체 상에 인쇄된 기저 데이터 매트릭스의 백색(비프린팅된) 모듈들 상에서 겹쳐 인쇄된다.
여기서, 또한, 15-비트 BCH(15,5,7) 에러 정정은, 흑색 모듈이 센서 염료 활성화 시에 나타나야 할 비트맵 위치들에서만 기저 프린팅된 데이터 매트릭스 심볼 상에 센서 염료 모듈들을 겹쳐 인쇄함으로써 또한 인코딩되는 센서 데이터의 5 비트들을 인코딩하기 위하여 이용된다. 이용된 센서 염료 케미스트리는 데이터 매트릭스 심볼을 인쇄할 시에 알려져 있는 것이 여기에서 또한 가정된다.
초기에 투명한 임의의 센서 염료 케미스트리를 사용하면, 기저 데이터 매트릭스 심볼을 인쇄하고, 별도의 프로세스로서 그것을 센서 염료 모듈들과 겹쳐 인쇄하기 위하여 다른 프린터들이 이용될 수 있어서, 이에 따라, 데이터 매트릭스 정보를 증강하는 것이 센서 모듈들이 겹쳐 인쇄될 때 알려질 수 있다. 예시적인 실시예에서, 2차원 바코드는 음식 제품들, 제약 제품들, 생물 제제, 또는 환경적, 물리적 또는 생물학적 모니터링으로부터 이득을 얻을 수 있는 임의의 다른 제품과 같은 다양한 제품들에 부착될 수 있다. 예를 들어, 바코드는 이러한 제품을 위한 용기 상에 인쇄될 수 있거나, 이러한 제품을 위한 용기에 적용될 수 있다.
센서 데이터 15-비트 BCH 인코딩 패턴은, 2 개의 표시자 비트들과 함께, 제1 바람직한 실시예의 그것과 동일하다. 표 2로부터, X→B 센서 염료 케미스트리에 대하여, 인쇄된 표시자 비트들 3.6 및 3.7은 "10"일 것이다. 제1 바람직한 실시예에서와 같이, 유타(utah) 3의 상부 5 비트들, 비트들 3.1-3.5는 사용 중인 센서 염료 케미스트리 및/또는 센서 염료 비트 패턴에 대한 추가적인 정보를 인코딩하기 위하여 사용될 수 있다.
데이터 매트릭스에서의 정보를 인코딩하기 위한 가장 널리 이용된 시스템을 계속하면, GS1 애플리케이션 식별자 AI(90)이 사용된다. AI(90)은 센서-가능형 데이터 매트릭스의 존재와 같은, 거래 상대방들 사이에서 상호 합의된 정보를 위하여 예약된다. AI(90)은 제1 바람직한 실시예에서와 같이 유타(utah) 1 - 7 데이터 구조 포맷에서 사용되고, 여기에서의 특정 데이터는 표 7로 인코딩된다.
센서 데이터 값이 4일 때의 제1 바람직한 실시예에서와 동일한 예를 고려한다. 표 4로부터, BCH 인코딩 B15-B1은 001000111101011이다. 투명-to-흑색(transparent-to-black) 센서 염료 케미스트리가 이런 제2 바람직한 실시예에서 사용되므로, 일단 활성화되면 B15-B1에서의 흑색 모듈들이 될 BCH-인코딩된 센서 염료 모듈들은 기저 데이터 매트릭스에서의 B15-B1 백색 모듈들 상에서 선택적으로 겹쳐 인쇄되어야 한다. 표시자 비트들 3.6 및 3.7은 또한, 센서 염료 모듈들로 겹쳐 인쇄된다.
표 7은 도 25에서의 16x16 기저 데이터 매트릭스(1000)의 최초의 7 개의 유타(utah)들에서 이런 제2 바람직한 실시예에 대하여 프린팅되는 AI(90) 데이터 스트링을 도시한다. 표 7에서의 정보로만 인쇄된 기저 데이터 매트릭스(1000)는 도 25에 도시되어 있다.
도 26에서의 ULC 세부사항(1100)을 참조하면, 표시자 비트들 3.6 및 3.7은 각각 '1' 및 '0'으로 설정된다. 유타(utah) 비트들 3.8, 5.2 - 5.8, 및 6.2 - 6.8은 모든 이런 비트들 B15-B1에 대하여 '0'에 대응하는 백색 모듈들이다. 유타(utah) 비트들 5.1 및 6.1은, 그것들이 BCH 비트 인코딩 시퀀스의 일부가 아니므로 '1'로 설정되고, 데이터 매트릭스 표준 ISO/IEC 표준은 매 유타(utah)가 적어도 1 개의 흑색 모듈을 가질 것을 요구한다. 나머지 데이터 매트릭스 코드워드들(유타(utah)들 8 - 12)은, ISO/IEC 16022에 따라 특수하게 인코딩되는 12 개의 이용가능한 데이터 코드워드들을 채우기 위하여 패드 문자들로 채워진다. 심볼에서의 최후 12 개의 코드워드들(유타(utah)들 13-24)은 RSEC 에러 정정 코드워드들이다. 도 26에서, 편의상, 유타(utah)들 8-24의 내용들은, 그것들이 AI(90)의 인코딩에 관련되지 않으므로, 회색으로 도시되어 있다.
X→B 센서 염료에 대한 AI (90) ASCII 및 데이터 매트릭스 코드워드 스트링 예
유타 AI(90) 데이터 7-비트 ASCII
입력
16진 코드워드 주석
1 FNC1 프린터
종속적
주석 참조
E8 FNC1은 7-비트 ASCII 값이 아니고, 따라서, 특수한 문자 스트링은 GS1 AI 스트링의 시작 시에 포함하기 위하여 프린터로 전송
2 90 90 DC
3 주석 참조 C 44 표시자 비트들 3.6, 3.7 ='10', 3.8 ='0'에서의 B15 및 비트들 3.1-3.4는 W→X 센서 염료 케미스트리 제품의 예로서 플래그하기 위하여 "0100"로 설정됨
4 H H 49 임의의 7-비트 ASCII 여기서,'H'는 추가적인 데이터 문자의 예로서 이용됨
5 프린터
종속적
80 '0000000'을 프린팅하기 위하여 비트들 B14-B8을 설정'~~'는 ~가 7F인 바와 같이 공통적인 프린터 스트링이고, 데이터 매트릭스는 ASCII 값 +1을 인코딩
6 프린터
종속적
80 '0000000'을 프린팅하기 위하여 비트들 B7-B1을 설정 유타 5에 대한 주석 참조
7 GS 또는 FNC1 GS 1E AI(90) 스트링을 종결
센서-증강된 데이터 매트릭스 바코드 심볼이 비활성화된 상태에 있을 때 기저 데이터 매트릭스의 백색 모듈들은 가시적일 것이고, 00000000000000의 B15 - B1에 대한 BCH 인코딩, 또는 도 25에서의 센서-증강된 데이터 매트릭스(1000) 및 도 26에서의 데이터 매트릭스 ULC 세부사항(1100)에서와 같은 센서 데이터 값 0을 도시한다.
일단 센서 모듈들이 활성화되면, 시각적 센서-증강된 데이터 매트릭스(1200)는 이상적으로는, 도 27에 도시된 바와 같이 나타날 것이다. 001000111101011의 센서 데이터 비트 패턴 B15-B1이 나타날 것이고, 센서 염료 비트 패턴에 대한 보충적 표준 BCH 디코딩 기법들을 사용하여 위에서 설명된 바와 같은 데이터 매트릭스의 판독을 통해, 센서 데이터 값 4가 복원될 것이다. 데이터 매트릭스(1200)는 센서 데이터 비트 패턴 B15-B1 및 표시자 비트 패턴(1210)을 지금 '11'로서 드러내기 위하여 흑색(그러나, 명확함을 위하여, 도 27에서의 1220으로서 어두운 회색으로 도시됨)으로 지금 활성화된 겹쳐 인쇄된 센서 염료들 모듈들을 갖는 기저 데이터 매트릭스(1000)와 동일하다.
제3 바람직한 실시예는 또한, 온도-민감 센서 염료 케미스트리를 사용한다. 여기서, 비활성화된 컬러 상태의 센서 염료 모듈들은 백색 매체 상에 프린팅된 기저 데이터 매트릭스의 불변 비트맵에서 단일 센서 염료 패치로서 겹쳐 인쇄된다.
선택적인 컬러 상태들 R 및 S의 양자 모두가, R 컬러 상태가 W 또는 B로서 스캔하고 S 컬러 상태가 상보적인 컬러, B 또는 W로서 스캔하는 660 nm 판독기 조명 하에서 1) 충분한 시각적 컬러 상태 변경 및 2) 충분한 콘트라스트(contrast)를 가진다면, 임의의 센서 염료 케미스트리 R→S가 이용될 수 있다. 이것은 비활성화되거나 활성화된 컬러 상태 중 어느 하나에서의 센서 염료 패치가, 센서 염료 모듈들을 이미지로서 복원하고 센서 염료 패치의 활성화 상태를 결정하기 위하여 그것을 추가로 처리하도록 위하여 상기 언급된 데이터 매트릭스 판독 기법들을 이용하여 시각적으로 구별가능하고 머신 판독가능하도록 한다.
상이한 프린터들, 또는 동일한 프린팅 프레스의 상이한 스테이션들이, 먼저, 기저 데이터 매트릭스 심볼을 프린팅하기 위하여, 그리고 그 후에, 별도의 프로세스에서 센서 염료 패치로 그것을 겹쳐 인쇄하기 위하여 사용될 수 있다.
이 예에서는 X→B 센서 염료 케미스트리가 설명되어 있다. 센서 염료 패치는 대략 2x2 크기의 정사각형 센서 염료 모듈이다. 그것은 백색 영역 4x4 모듈에 의해 프레임되고 백색 영역 4x4 모듈의 중앙에 배치된다. 이 4x4 백색 프레임은, 4x4 백색 프레임 및 그 동봉된 센서 염료 패치가 데이터 매트릭스 심볼 크기들의 넓은 범위 상에서 ULC에 대해 동일한 위치에 항상 있을 것이라는 것을 보장하기 위하여, 16x16 데이터 매트릭스의 불변 비트맵에 위치된다.
도 28은 일 예의 16x16 데이터 매트릭스 심볼(1300) 내의 (비트 36으로부터 비트 58까지의) 4x4 백색 프레임(1310)의 위치를 도시한다. 4x4 백색 프레임(1310)은 다음과 같이 이루어진 유타(utah) 비트들의 4 개의 행들을 포함한다:
행 1: 비트들 3.6, 3.7, 3.8, 4.3
행 2: 비트들 2.5, 5.1, 5.2, 5.3
행 3: 비트들 2.8, 5.3, 5.4, 5.5
행 4: 비트들 6.2, 5.6, 5.7, 5.8
이 제 3 바람직한 실시예에서, 비트들 3.6 및 3.7은 제1 및 제2 바람직한 실시예에서와 같이 표시자 비트들로서 사용되는 것이 아니라, 오히려, 여기에서는, 그것들이 4x4 백색 프레임의 일부인 것에 주목하라.
순진한 접근법은, 데이터 한정 없이 기저의 인쇄된 데이터 매트릭스 심볼을 생성하고 4x4 백색 프레임(1310)에서의 16 개의 기저 데이터 매트릭스 모듈들 상에서 백색 모듈들을 간단하게 겹쳐 인쇄하는 것일 것이다. 인코딩된 데이터, 그리고 1310에서 임의의 흑색 모듈들이 고의적으로 겹쳐 인쇄되었든지에 따라, 최대 5 개의 유타(utah)들 및 그 인코딩된 코드워드들은 겹쳐 인쇄하는 것에 의해 고의적으로 손상될 수 있다. 데이터 매트릭스를 판독하는 동안에 최대 5 개의 손상된 코드워드들을 복원하기 위한 리드-솔로몬 에러 정정의 사용하는 기존의 접근법은 16x16 데이터 매트릭스 심볼에서의 12 개의 사용가능한 RSEC 코드워드들 중 최대 10 개의 사용을 요구할 것이다. 이것은 다른 돌발적인 심볼 손상에 대하여 사용가능하는 RSEC 코드워드들을 거의 남겨두지 않는다.
바람직한 제1 및 제2 실시예에 도시된 예에서와 같이,이 예에서, 심볼 데이터 인코딩은 GS1 애플리케이션 식별자 AI(90) 및 유타(utah) 1-7 데이터 구조 포맷을 사용하여 수행된다. 제3 바람직한 실시예에 특정한 심볼 데이터는 표 8에 인코딩되어있다. 편의상 유타(utah) 8-24의 내용은 AI(90)의 인코딩과 관련이 없기 때문에 데이터 매트릭스(1300)에서 회색으로 도시되어있다.
유타(utah) 1 및 7은 1310 내에 비트가 없기 때문에 4x4 흰색 프레임(1310)의 생성에 영향을 받지 않는다. 유타(utah) 비트들 2.5 및 2.8은 1310 내에 있다. AI(90)에서 데이터 인코딩 비트 2.5 = '1'이고, 그러므로 유타(utah) 2는 백색 모듈로 겹쳐 쓰여지면 의도적으로 손상된다. 유타(utah) 5는 전적으로 4x4 화이트 프레임(1310) 내에 있다. 데이터가 ISO/IEC 16022 데이터 매트릭스로 인코딩되는 방식에 따라, 임의의 유효한 유타(utah)에는 항상 적어도 1 개의 블랙 모듈이 있을 것이다; 따라서 7-비트 ASCII 데이터 문자가 유타(utah) 5로 인코딩되더라도, 그것 및 그것의 코드워드는 모든 유타(utah) 5 모듈을 흰색 모듈로 겹쳐 인쇄하는 것에 의해 의도적으로 손상된다.
그러나, 유타(utah) 비트들 3.6-3.8, 4.3, 4.6 및 6.2에 블랙 모듈( '1'비트)이 없도록 이러한 코드워드들로 인코딩되는 것이 허용된 데이터를 제한함으로써, 4x4 백색 프레임 내에 있는 유타(utah)들 3, 4 및 6의 비트 위치들에 고의적인 손상을 피할 수 있다. 'x'가 유타(utah) 내의 각각의 특정 비트 위치에서의 "돈 케어(don't care)" 비트 위치를 나타내는 것을 가정하면, 허용가능한 8-비트 데이터 매트릭스 코드워드 형태들은 이하이다:
유타(utah) 3 : xxxxx000
유타(utah) 4 : xx0xx0xx
유타(utah) 6 : x0xxxxxx
표 8은 도 29에서의 16x16 기저 데이터 매트릭스(1400)의 최초의 7 개의 유타(utah)들에서 이 제3 바람직한 실시예에 대한 AI(90) 데이터 스트링을 도시한다.
패치 센서의 AI(90) ASCII 및 데이터 매트릭스 코드워드 스트링 예
유타 AI(90) 데이터 7-비트 ASCII
입력
16진 코드워드 주석
1 FNC1 프린터
종속적
주석 참조
E8 FNC1은 7-비트 ASCII 값이 아니고, 따라서, 특수한 문자 스트링은 GS1 AI 스트링의 시작 시에 포함하기 위하여 프린터로 전송됨.
2 90 90 DC 데이터 매트릭스는 2 디지트들/코드워드를 인코딩
3 주석 참조 BEL 08 2진 형태: xxxxx000, 따라서 비트들 3.6-3.8 = '000'. 예를 들어, 여기서 비트 3.1-3.5는 X→B 센서 염료 케미스트리로 염료 패치 심볼을 신호하기 위해,"00001"로 설정됨.
4 주석 참조 'Q' 52 2진 형태: xx0xx0xx, 여기서 2진 형태 01010010 (7-비트 ASCII 'Q')은 추가적인 데이터 문자의 예임
5 관련된
제품
'?' 40 임의의 7-비트 ASCII 값. 여기서 '?'에 대응하는 ASCII 63은 예로서 이용됨.
6 관련된
제품
'7' 38 2진 형태: x0xxxxxx
10진수 64보다 작은 임의의 7-비트 ASCII 값이 이용될 수 있음, 예로서, '7'(ASCII 55)이
이용됨.
7 GS 또는 FNC1 GS 1E AI (90) 스트링 종결
도 29에서, 기저 데이터 매트릭스(1400)는 표 8에서의 정보로만 프린팅된다. 나머지 데이터 매트릭스 데이터 코드워드들(유타(utah)들 8 - 12)은 데이터 매트릭스 패드 문자들로 채워진다. 심볼에서의 최후 12 개의 코드워드들(유타(utah)들 13 - 24)은 RSEC 에러 정정 코드워드들이다.
도 30에서, 4x4 화이트 프레임(1510)은 도 28의 4x4 화이트 영역(1310)에 대하는, 데이터 매트릭스(1400)의 불변 비트맵 내에 도시되어 있다. 이런 4x4 화이트 프레 (1510)을 생성하는 몇 가지 방법이 있으며, 기저 데이터 매트릭스(1400)에 백색 모듈을 물리적으로 겹쳐 인쇄하는 것이 포함된다. 더 좋은 방법은 데이터 모듈의 인코딩된 14x14 비트 맵을 변경하여 1510의 모든 비트 위치들이 흑색 및 백색 모듈들로 변환되기 전에 '0'으로 설정되도록 하는 것 또는 데이터 매트릭스(1400)을 인쇄하기 전에 4x4 흰색 영역(1510)에서 모든 모듈들을 흰색으로 설정하는 것에 의해 기저 심볼에 대한 데이트 매트릭스 인코딩 및 심볼 생성 소프트웨어를 수정하는 것이다. 따라서, 처음에는 4x4 백색 영역(1510)에 흑색 모듈들이 인쇄되지 않으므로, 백색 모듈 겹쳐 인쇄 단계가 필요하지 않다.
제2 바람직한 실시예에서와 같이, 제3 바람직한 실시예에서, 2차 인쇄 단계는 도 31에 도시된 바와 같이, 4x4 백색 프레임(1510) 내의 대략 2x2 센서 염료 패치(1620)를 인쇄하기 위하여 사용된다. 여기서, 센서 염료 패치(1602)는 (명확함을 위하여, 자주색 컬러로) 활성화된 것으로서 도시되어 있다.
제3 바람직한 실시예의 목적들 중 하나는, 센서 염료 활성화 시에, 4x4 백색 프레임(1510) 내의 센서 염료 패치(1520) 컬러 상태의 가시적인 변경이 있다는 것이다. 제2 목적은, 센서 염료 패치(1620)가 비활성화될 때 W 또는 B 모듈들로서 판독되고 활성화될 때 상보적인 컬러 B 또는 W로서 판독되도록, 위에서 설명된 바와 같이 데이터 매트릭스 판독기에 대한 적절한 콘트라스트를 갖는 센서 염료 케미스트리가 채용된다는 것이다. 그 다음으로, 비활성되고 활성화된 센서 염료 패치의 양자 모드의 존재는 위에서 설명된 판독 방법들을 이용하는 데이터 매트릭스 판독기에 대해 머신 판독가능할 수 있다.
제3 바람직한 실시예에 대한 추가의 개선은 데이터 매트릭스 판독 프로세스에 있다: 그것은 유타(utah)들 2 및 5의 코드워드들이 심볼 코드워드 시퀀스 복원에서 리드-솔로몬 에러 정정 프로세스의 효율을 개선시키기 위하여 고의적으로 손상되었다는 지식을 적용하기 위한 것이다. 결합된 데이터와 RSEC 코드워드 시퀀스에서 알 수 없는 위치에서 잘못된 코드워드를 탐지하고 수정하려면 손상된 코드워드 당 2 개의 RSEC 문자의 사용이 요구된다. 그러나, 손상된 코드워드들의 위치가 (이 경우에, 코드워드들 2 및 5에서) 리드-솔로몬 에러 정정 프로세스를 적용하기 이전에 알려질 경우, 각각의 식별된 손상된 코드워드의 올바른 코드워드 값을 복원하기 위하여 1 개의 RSEC 코드워드만이 요구된다. 이것은 추가적인 미사용된 RSEC 코드워드들을 다른 돌발적인 데이터 매트릭스 심볼 손상 정정을 위하여 이용가능한 추가적인 미사용된 RSEC 코드워드들을 남긴다.
대안적인 실시예들은 다음 중 하나 이상을 포함한다.
· QR 코드, 아즈텍 코드, 맥시코드(MaxiCode), PDF417, 및 도트 코드(Dot Code)를 포함하는 데이터 매트릭스 대신에 다른 2차원 에러 정정 바코드 심볼들;
· 초기 상태와 최종 상태 사이에서 지속적으로 변하는 컬러 상태와 같이, 흑색, 백색, 또는 투명 이외의 컬러 상태들을 사용하는 대안적인 센서 염료 케미스트리들;
· 심볼의 제1 컬러 상태 또는 제2 컬러 상태 중 어느 하나가 흑색 또는 백색 이외의 컬러들인 기저 프린팅된 2차원 에러 정정 바코드 심볼들;
· 제1 컬러 상태가 비표기된 매체 표면일 수 있고 제2 컬러 상태가 직접적으로-표기된 매체 표면 변경일 수 있거나, 그 반대일 수 있는, 기저 2차원 에러 정정 바코드 심볼들;
· 컬러를 지속적으로 변화시키는 컬러 인디케이터 또는 센서 염료 패치 상에 2 차원 에러 정정 바코드 심볼을 겹쳐 인쇄함;
· 2 차원 에러 정정 바코드 심볼에서 컬러를 지속적으로 변경하는 컬러 표시자 또는 센서 염료 패치를 겹쳐 인쇄함.
본 개시의 예시적인 양태에서, 센서-증강된 2차원 바코드는 기판, 기판 상에 제공된 제1 층 및 기판 상에 제공된 제2 층을 포함한다. 제1 층은 환경 조건의 발생에 응답하여 초기 상태와 최종 상태 사이에서 지속적인 화학적 또는 물리적 상태 변화(센서 염료의 컬러 상태의 변화를 일으키는)를 겪도록 구성되는 케미스트리를 갖는 센서 염료를 포함하는 센서 염료 영역을 포함한다. 컬러 상태는 환경 조건에 대한 노출을 나타낸다. 제2 층은 2 차원 에러 정정 바코드 심볼을 포함하며, 이는 영구적인 컬러 상태의 복수의 모듈들을 포함한다. 모듈들은 선택적으로 정사각형, 직사각형 또는 원형이다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제2 층은 제1 층의 특징부와 정렬되고, 바람직하게는 센서 염료 영역은 제2 층의 상부 좌측 코너가 제1 층의 상부 좌측 코너와 정렬되도록2차원 바코드의 불변 영역에 위치된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 환경 조건은 시간, 온도 및 시간-온도 곱으로 이루어진 군으로부터 선택되며, 바람직하게는 센서 염료는 환경 조건에 노출될 때 초기 상태와 최종 상태 사이에서 컬러 상태를 지속적으로 변화시킨다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제2 층은 제1 층 상에 인쇄된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제1 층은 제2 층 상에 인쇄된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제2 층은 2차원 바코드의 심볼로지에서 판독 가능한 바코드 심볼을 형성한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 2차원 에러 정정 바코드 심볼은 데이터 매트릭스, QR 코드, 아즈텍(Aztec) 코드, MaxiCode, PDF417 및 도트(Dot) 코드 심볼로지들로 구성된 심볼로지 그룹에서 나온다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 2차원 에러 정정 바코드 심볼은 리드-솔로몬(Reed-Solomon) 에러 정정을 사용합니다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 센서 염료는 비활성화될 때 초기에 제1 컬러 상태에 있고, 최종 상태에 도달하기 전에 초기 상태와 최종 상태 사이의 범위 내에서 복수의 상이한 컬러 상태로 동적으로 변화된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 감지된 특성의 특정 조건이 임계 값을 초과할 때 센서 염료는 초기 상태와 최종 상태 사이에서 미리 결정된 중간 상태에 도달하며, 여기서 임계 값은 바람직하게는 라벨링된 제품 수명이다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 센서 염료는 소비된 제품 수명 및 잔여 라벨링된 제품 수명 중 하나와 관련된 복수의 상이한 컬러 상태로 동적으로 변한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제1 층은 선택적으로 센서 디지털 정보를 제공할 수 있고, 센서 디지털 정보는 바람직하게는 2차원 심볼의 불변 픽셀 맵으로 인코딩되고, 보다 바람직하게는 2진 인코딩된 센서 데이터로 인코딩되며, 더 바람직하게는 2진 인코딩된 센서 데이터는 바람직하게는 해밍(Hamming) 코드들, 보스-쵸드리-호켄겜(Bose­Chaudhuri-Hocquenghem) 코드들, 골레이(Golay) 코드들, 심플렉스(Simplex) 코드들, 리드-뮬러(Reed-Muller) 코드들, 파이어(Fire) 코드들, 컨볼루션(Convolutional) 코드들, 및 리드-솔로몬(Reed-Solomon) 코드들로 구성된 그룹에서 선택되는 2진 에러 정정 코드에 있다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 2차원 에러 정정 바코드는 인코딩 된 애플리케이션 식별자를 포함하고, 바람직하게는, 제1 애플리케이션 식별자는 센서 염료 영역의 크기 및 위치를 나타내고, 제2 애플리케이션 식별자는 제품 수명 방정식 파라미터를 나타내며, 바람직하게는 제품 수명 방정식 파라미터는 아레니우스 방정식 파라미터이다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제약 제품, 생물학적 제품 또는 식품, 바람직하게는 백신; 제약 제품, 생물학적 제품 또는 식품을 담는 용기, 바람직하게는 백신 바이알(vail); 및 용기 상에 또는 용기 내에 제공되고 바람직하게는 용기의 외부 표면에 적용되는 센서-증강된 2차원 바코드 심볼을 포함한다.
본 개시의 예시적인 양태에서, 센서-증강된 2차원 바코드 심볼의 판독 방법은 이미지에서 픽셀들에 대한 컬러 값을 얻기 위해 센서-증강된 2차원 바코드 심볼의 이미지를 광학적으로 스캐닝하는 단계를 포함한다. 이어서, 센서-증강된 2차원 바코드 심볼의 컬러 값들을 포함하는 스캔된 픽셀 맵이 구성되고, 스캔된 픽셀 맵의 픽셀들은 각 픽셀에 2진 컬러 값을 할당하고 2진화된 픽셀 맵을 형성하도록 처리된다. 2차원 바코드 심볼은 심볼 코드원드 시퀀스를 복구하기 위해 2진화된 픽셀 맵에서 식별 및 디코딩된다. 다음으로, 기저 데이터 코드워드들는 바람직하게는 심볼 코드워드 시퀀스에 에러 정정 프로세스를 사용함으로써 심볼 코드워드 시퀀스로부터 복구된다. 데이터 염료는 센서 염료 영역에서 바코드 모듈의 식별을 위해 처리되고, 센서 염료 영역에서 바코드 모듈의 평균 컬러 값이 결정된다. 센서 염료 영역의 평균 컬러 값은 스캐닝 시 입사광의 반사율을 결정하기 위해 처리된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 상기 방법은 센서 염료 영역을 식별하고 센서 염료 영역 제품 수명 정보의 컬러 상태로부터 결정하기 위해 센서 디지털 정보 픽셀 맵을 처리하는 단계를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 컬러 정보를 처리하는 단계는 센서 염료 영역에 포함된 픽셀들의 백색 광 반사율을 캡처하는 단계, 스캔된 픽셀 맵에서 픽셀들의 필터링된 컬러 이미지 값들을 생성하기 위해 필터를 사용하여 스캔된 픽셀들에서 반사 데이터에 컬러 광 필터 효과를 만드는 단계를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 상기 방법은 필터링된 컬러 이미지 값을 그레이 스케일 픽셀 맵을 만드는 그레이 스케일 값들로 감소시키는 단계를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 컬러 정보를 처리하는 단계는 센서 염료 영역에 포함된 픽셀들의 백색 광 반사율을 캡처하는 단계, 스캔된 픽셀 맵에서 픽셀들의 필터링된 컬러 이미지 값들을 생성하기 위해 필터를 사용하여 스캔된 픽셀들에서 반사 데이터에 컬러 광 필터 효과를 만드는 단계를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 컬러 정보를 처리하는 단계는 필터링된 컬러 이미지 값을 그레이 스케일 픽셀 맵을 만드는 그레이 스케일 값들로 감소시키는 단계, 바코드 모듈들의 평균 컬러 값의 평균 그레이 스케일 값을 결정하는 단계, 스캐닝 시의 입사광 반사율을 결정하기 위해 상기 평균 그레이 스케일 값을 처리하는 단계를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 스캔된 픽셀 맵에서 픽셀들을 처리하는 단계는 각각의 픽셀을 흑색 픽셀, 백색 픽셀 및 컬러 픽셀 중 하나로 분류하는 단계를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 3진화된(ternarised) 픽셀 맵에서 흑색 픽셀들, 백색 픽셀들은 3진화된(ternarised) 픽셀 맵을 형성하기 위해 사용되고, 3진화된 픽셀 맵에서 흑색 픽셀들 및 백색 픽셀들은 3진화된 픽셀 맵에서 2차원 바코드 심볼을 식별하는데 사용된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 상기 방법은 불변 영역에서 각 픽셀을 흑색 픽셀, 백색 픽셀 또는 컬러 픽셀 중 하나로 분류하는 단계를 포함한다. 또한, 상기 방법은 선택적으로 컬러 픽셀들의 평균 그레이 값을 결정하는 단계, 및 샘플링 시에 현재 반사율을 결정하기 위해 평균 그레이 값을 처리하는 단계를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 센서 염료 영역은 데이터 매트릭스 바코드 심볼의 불변 영역에 위치한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 상기 방법은 센서 디지털 정보로부터 시각적 패턴이나 이미지를 복구하는 것을 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 센서 염료 영역은 온도, 시간, 방사선, 빛 및 독성 화학 물질 중 적어도 하나를 포함한 환경 인자들에 반응하는 센서 염료를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 센서 염료 영역은 온도, 시간, 방사선, 빛 및 독성 화학 물질 중 적어도 하나를 포함한 환경 인자들에 반응하는 센서 염료를 포함한다.
본 개시의 예시적인 양태에서, 센서-증강된 2차원 바코드 심볼은 이미지에서 각각의 픽셀에 대한 그레이 스케일 값을 얻기 위해 센서-증강된 2차원 바코드 심볼의 이미지를 광학적으로 스캐닝하는 단계를 포함한다. 그 다음, 센서-증강된 2차원 바코드 심볼에서 그레이 스케일 픽셀 맵이 구성된다. 다음으로, 상기 방법은 2진 컬러 값을 각 픽셀에 할당하고 2진화된 픽셀 맵을 형성하기 위해 그레이 스케일 픽셀 맵에서 픽셀들을 처리하는 단계를 포함한다. 또한, 심볼 코드워드 시퀀스를 복구하기 위해 2진화된 픽셀 맵에서 2차원 바코드 심볼이 식별되고 디코딩된다. 그 후, 심볼 코드워드 시퀀스의 기저 데이트 코드워드가 심볼 코드워드들에 에러 정정 프로세스를 사용하여 복구된다. 데이터 코드 워드들은 센서 염료 영역에서 바코드 모듈들의 식별을 위해 처리된다. 그 후, 바코드 모듈들의 평균 그레이 스케일 값이 결정되고, 센서 염료 영역의 평균 그레이 스케일 값이 스캐닝 시에 입사광의 백분율을 결정하기 위해 처리된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 단색(monochrome) 조명의 효과를 만들기 위해 이미지를 광학적으로 스캔할 때 대역 통과 필터가 사용된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 광원은 상기 이미지를 광학적으로 스캔하는데 사용되며, 상기 광원은 단색 광원이고, 바람직하게는 상기 단색 광원은 단색 레이저이다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 바코드 이미저(imager)는 이미지를 광학적으로 스캔하는 데 사용되며 바코드 이미 저는 그레이 스케일 값에만 반응한다.
본 개시의 예시적인 양태에서, 센서-증강된 2차원 바코드는 기판, 영구적인 컬러 상태로 기판 상에 제공된 제1 층 및 기판 상에 제공된 제2 층을 포함한다. 바코드 심볼은 복수의 모듈들을 포함하고, 모듈들은모듈들은 선택적으로 정사각형, 직사각형 또는 원형이고, 각 모듈은 제1 컬러 상태또는 제2 컬러 상태를 가진다. 제2 층은 선택적으로 센서 염료 모듈 패턴에서 제1 층에 겹쳐 인쇄됨으로써 제공되고, 센서 염료 모듈 패턴은 센서 디지털 정보를 포함한다. 제2 층은 환경적, 물리적 또는 생물학적 조건의 발생에 대응하여 센서 염료의 컬러 상태의 변화를 유발하는 화학적 또는 물리적 상태 변화를 겪도록 구성되고, 복수의 모듈들의 하위집합의 컬러 상태를 변경하는 케미스트리를 가지는 센서 염료를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 환경 조건은 시간, 온도, 시간-온도 곱, 빛, 습도, 가스 증기 및 핵 방사선으로 이루어진 군으로부터 선택되며, 바람직하게는 센서 염료는 환경 조건이 임계 값을 초과하면 컬러 상태를 영구적으로 변경한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제1 층은 2차원 바코드의 심볼로지에서 판독 가능한 바코드 심볼을 형성한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 2차원 에러 정정 바코드 심볼은 데이터 매트릭스, QR 코드, 아즈텍(Aztec) 코드, MaxiCode, PDF417 및 도트(Dot) 코드 심볼로지들로 구성된 심볼로지 그룹에서 나온다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 2차원 에러 정정 바코드 심볼은 리드-솔로몬(Reed-Solomon) 에러 정정을 사용합니다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 센서 염료는 활성화되지 않은 상태에서 초기에 흑색, 백색 또는 투명한 컬러 상태에 있고, 활성화 시 다른 컬러 상태로 변경된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 감지된 특성의 특정 조건이 임계 값보다 높거나 낮을 때 센서 염료가 컬러 상태를 영구적으로 변경한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 감지된 특성의 특정 조건은 바람직하게는 비색 면역 분석을 이용하여 생물학적 유기체, 생물학적 작용제 또는 생물학적 독소의 존재의 검출하는 것이다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제2 층은 센서 디지털 정보를 제공하고, 센서 디지털 정보는 바람직하게는 2차원 심볼의 불변 픽셀 맵으로 인코딩되고, 보다 바람직하게는 2진 인코딩된 센서 데이터로 인코딩되며, 더 바람직하게는 2진 인코딩된 센서 데이터는 바람직하게는 해밍(Hamming) 코드들, 보스-쵸드리-호켄겜(Bose­코드들, 골레이(Golay) 코드들, 심플렉스(Simplex) 코드들, 리드-뮬러(Reed-Muller) 코드들, 파이어(Fire) 코드들, 컨볼루션(Convolutional) 코드들, 및 리드-솔로몬(Reed-Solomon) 코드들로 구성된 그룹에서 선택되는 2진 에러 정정 코드에 있다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 센서 염료 모듈 패턴으로 인코딩된 센서 디지털 정보는 시각적 패턴 또는 이미지이다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제조 물품은 제약 제품, 생물학적 제품, 또는 식품, 바람직하게 백신; 제약 제품, 생물학적 제품, 또는 식품을 담는 용기, 바람직하게 백신 바이얼; 및 용기 상에 또는 용기 내에 제공된 바람직하게 용기의 외부 표면에 적용된 센서-증강된 2차원 바코드 심볼을 포함한다.
본 개시의 또 다른 예시적인 양태에 따르면, 센서-증강된 2차원 바코드 심볼을 판독하는 방법은, 센서-증강된 2차원 바코드 심볼의 스캔된 모듈들로부터의 스캔 2진 비트맵의 구성을 포함하는, 센서-증강된 2차원 바코드 심볼의 이미지를 스캔하고 광학적으로 처리하는 단계를 포함한다. 상기 방법은 스캔 2진 비트맵으로부터 심볼 코드워드 시퀀스를 구성하는 단계를 더 포함한다. 그 다음으로, 기저 데이터 코드워드들은 바람직하게, 심볼 코드워드 시퀀스에 에러 정정 프로세스를 사용함으로써, 심볼 코드워드 시퀀스로부터 복원되고, 에러 정정 프로세스는 바람직하게 리드-솔로몬 코드이다. 다음으로, 기저 데이터 코드워드들은 기저 심볼 코드워드 시퀀스를 형성하기 위하여 처리된다. 상기 방법은 기저 심볼 코드워드 시퀀스로부터의 스캔 2진 비트맵으로부터 기저 2진 비트맵을 구성하는 단계를 더 포함하고, 기저 2진 비트맵은 바람직하게 스캔 2진 비트맵과 크기에 있어서 동일하다. 각각의 비트 위치에서, 스캔 2진 비트맵 및 기저 2진 비트맵의 배타적-OR는 센서 디지털 정보 비트맵을 형성하기 위하여 수행될 수 있다. 선택적으로, 방법은 바람직하게, 2진 정보 시퀀스를 에러-정정 코드 시퀀스로서 처리함으로써, 그리고 2진-인코딩된 센서 데이터를 복원하기 위하여 에러 정정 프로세스를 사용함으로써, 2진 인코딩된 센서 데이터를 포함하는 2진 정보 시퀀스를 복원하기 위하여 센서 디지털 정보 비트맵을 처리하는 단계를 포함한다. 에러-정정 코드는 바람직하게는 해밍(Hamming) 코드들, 보스-쵸드리-호켄겜(Bose­코드들, 골레이(Golay) 코드들, 심플렉스(Simplex) 코드들, 리드-뮬러(Reed-Muller) 코드들, 파이어(Fire) 코드들, 컨볼루션(Convolutional) 코드들, 및 리드-솔로몬(Reed-Solomon) 코드들로 구성된 그룹에서 선택된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 상기 방법은 센서 염료 패치를 식별하고, 센서 염료 패치의 컬러 상태로부터 센서 염료의 활성화가 환경 조건에 응답하여 발생했는지 여부를 결정하기 위해 센서 디지털 정보 비트맵을 처리하는 단계를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 센서 염료 패치는 데이터 매트릭스 바코드 심볼의 불변 영역에 위치된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 상기 방법은 센서 디지털 정보 비트맵으로부터 시각적 패턴 또는 이미지를 복원하는 단계를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 장치는 2D 바코드를 생성하는 방법을 수행할 수 있고, 상기 방법은, 정적 데이터의 세트 및 동적 데이터의 세트를 포함하는 페이로드 데이터의 세트를 결정하는 단계, 정적 데이터의 세트의 인코딩된 버전을 포함하고 여분의 공간을 포함하는 2D 바코드를 생성하는 단계, 여분의 공간의 적어도 일부를 동적 데이터의 세트를 저장하도록 구비되는 동적 영역으로서 지정하는 단계, 및 정적 잉크를 이용하여 2D 바코드를, 그리고 동적 데이터의 세트가 복수의 상태들 중 하나가 되도록 적어도 하나의 환경 변경에 응답하여 상태들을 변경하는 동적 잉크를 이용하여 동적 영역 상에 동적 데이터의 세트의 인코딩된 버전을 인쇄하는 단계를 포함한다. 동적 데이터의 세트가 복수의 상태들 중 각각의 하나일 때, 동적 데이터의 세트가 2D 바코드의 판독기에 의해 판독가능하고 정적 데이터의 세트가 2D 바코드의 판독기에 의해 판독가능하다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 동적 잉크는 온도, 시간, 방사선, 빛 및 독성 화학 물질들 중 적어도 하나를 포함하는 환경 인자들에 응답한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면,동적 잉크는 시간 및 온도에 응답한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 동적 잉크는 동결에 응답한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 동적 잉크는 환경 인자에 응답하여 영구적으로 변경된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 동적 잉크는 특정 환경 인자의 발생에 응답하여 제1 상태로부터 제2 상태로 전이하고, 특정 환경 인자가 더 이상 발행하지 않을 때 제1 상태로 복귀한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 여분의 공간은 복수의 미사용된 비트들, 패딩 영역, 및 에러 검출 및 정정 영역 중 적어도 하나를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 여분의 공간은 포맷 정보 영역, 버전 정보 영역, 및 레퍼런스 데이터 영역 중 적어도 하나를 포함한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 권한이 없는 판독기는 정적 데이터를 판독할 수 있고, 2D 바코드의 동적 데이터를 판독할 수 없다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 권한이 있는 판독기들만이 정적 데이터를 판독할 수 있고, 2D 바코드의 동적 데이터를 판독할 수 없다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 장치는 2D 바코드를 제공하는 방법을 수행할 수 있고, 상기 방법은, 정적 데이터의 세트를 결정하는 단계, 동적 데이터의 세트를 결정하는 단계, 제1 2D 바코드를 생성하는 단계, 제2 2D 바코드를 생성하는 단계, 제1 2D 바코드 및 제2 2D 바코드를 비교하고 정보 모듈들을 제1 그룹 및 제2 그룹으로 분류하는 단계, 및 2D 바코드를 정적 잉크 및 동적 잉크로 프린팅하는 단계를 포함한다. 동적 데이터의 세트는 제1 상태 및 제2 상태를 갖는다. 제1 2D 바코드는 정적 데이터의 세트 및 제1 상태의 동적 데이터의 세트의 인코딩된 버전을 포함한다. 정적 데이터의 세트 및 제1 상태의 동적 데이터의 세트는 제1 복수의 정보 모듈들 및 제2 복수의 정보 모듈들을 포함한다. 제2 2D 바코드는 정적 데이터의 세트 및 제2 상태의 동적 데이터의 세트의 인코딩된 버전을 포함한다. 정적 데이터의 세트 및 제2 상태의 동적 데이터의 세트는 제3 복수의 정보 모듈들 및 제4 복수의 정보 모듈들을 포함한다. 제3 복수의 정보 모듈들은 제1 복수의 정보 모듈들의 전부와 하나 이상의 정보 모듈들의 세트를 포함한다. 제2 복수의 정보 모듈들은 제4 복수의 정보 모듈들의 전부와 하나 이상의 정보 모듈들의 세트를 포함한다. 제1 그룹은 제1 2D 바코드의 제1 복수의 정보 모듈들과 제2 2D 바코드의 제3 복수의 정보 모듈들 사이의 공통적인 정보 모듈들을 포함한다. 제2 그룹은 제2 2D 바코드의 제3 복수의 정보 모듈들의 고유한 정보 모듈들을 포함한다. 제1 그룹은 정적 잉크로 프린팅되고, 제2 그룹은 동적 잉크로 프린팅된다. 동적 잉크는 특정 환경 인자의 발생에 응답하여 활성화되도록 구비된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제1 복수의 정보 모듈들 및 제3 복수의 정보 모듈들은 흑색 모듈들이고, 제2 복수의 정보 모듈들 및 제4 복수의 정보 모듈들은 백색 모듈들이다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제1 복수의 정보 모듈들 및 제3 복수의 정보 모듈들은 인쇄 표면으로부터 시각적으로 구별가능하도록 구비되고, 제3 복수의 정보 모듈들 및 제4 복수의 정보 모듈들은 인쇄 표면으로부터 시각적으로 구별불가능하다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 장치는 2D 바코드를 제공하는 방법을 수행할 수 있고, 상기 방법은, 정적 데이터의 세트를 결정하는 단계, 동적 데이터의 세트를 결정하는 단계, 제1 2D 바코드를 생성하는 단계, 제2 2D 바코드를 생성하는 단계, 제1 2D 바코드 및 제2 2D 바코드를 비교하고 정보 모듈들을 제1 그룹, 제2 그룹, 및 제3 그룹으로 분류하는 단계, 및 정적 잉크, 제1 동적 잉크, 및 제2 동적 잉크를 이용하여 2D 바코드를 인쇄하는 단계를 포함한다. 동적 데이터의 세트는 제1 상태 및 제2 상태를 갖는다. 제1 2D 바코드는 정적 데이터의 세트 및 제1 상태의 동적 데이터의 세트의 인코딩된 버전을 포함한다. 정적 데이터의 세트 및 제1 상태의 동적 데이터의 세트는 제1 복수의 정보 모듈들 및 제2 복수의 정보 모듈들을 포함한다. 제2 2D 바코드는 정적 데이터의 세트 및 제 2 상태의 동적 데이터의 세트의 인코딩된 버전을 포함한다. 정적 데이터의 세트 및 제2 상태의 동적 데이터의 세트는 제3 복수의 정보 모듈들 및 제4 복수의 정보 모듈들을 포함한다. 제1 그룹은 제1 2D 바코드의 제1 복수의 정보 모듈들과 제2 2D 바코드의 제3 복수의 정보 모듈들 사이의 공통적인 정보 모듈들을 포함한다. 제2 그룹은 제2 2D 바코드의 제3 복수의 정보 모듈들의 고유한 정보 모듈들을 포함하고, 제3 그룹은 제1 2D 바코드의 제1 복수의 정보 모듈들의 고유한 정보 모듈들을 포함한다. 제1 그룹은 정적 잉크로 프린팅되고, 제2 그룹은 제1 동적 잉크로 프린팅되고, 제3 그룹은 제2 동적 잉크로 프린팅된다. 제1 동적 잉크는 특정 환경 인자의 발생에 응답하여 비활성화되도록 구비되고, 제2 동적 잉크는 특정 환경 인자의 발생에 응답하여 활성화되도록 구비된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제1 동적 잉크 와 제2 동적 잉크는 온도, 시간, 방사선, 빛, 및 독성 화학 물질들 중 적어도 어느 하나를 포함하는 환경 인자들에 응답한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제1 동적 잉크 와 제2 동적 잉크는 시간 및 온도에 응답한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제1 동적 잉크 와 제2 동적 잉크는 동결에 응답한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 제1 동적 잉크 와 제2 동적 잉크는 동시에 활성화된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 장치는 2D 바코드를 제공하는 방법을 수행할 수 있고, 상기 방법은, 정적 데이터의 세트, 및 제1 상태 및 제2 상태를 갖는 동적 데이터의 세트를 포함하는 페이로드 데이터의 세트를 결정하는 단계, 정적 데이터의 세트의 인코딩된 버전, 동적 데이터의 세트를 저장하도록 구비되는 동적 영역, 및 에러 검출 및 정정 데이터를 포함하는 2D 바코드를 생성하는 단계, 및 정적 잉크를 이용하여 2D 바코드를, 그리고 동적 데이터의 세트가 제1 상태 또는 제2 상태가 되도록, 적어도 하나의 환경 변경에 응답하여 상태들을 변경하는 동적 잉크를 이용하여 동적 영역 상에 동적 데이터의 인코딩된 세트를 인쇄하는 단계를 포함하고, 에러 검출 및 정정 데이터는, 2D 바코드가 판독기에 의해 판독가능하고 동적 데이터의 세트가 제1 상태일 때 제1 출력을 생성하고, 2D 바코드가 판독기에 의해 판독가능하고 동적 데이터의 세트가 제2 상태일 때 제2 출력을 생성하도록, 동적 영역에서 동적 데이터의 세트에서의 변경들을 수용한다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 동적 영역은 패딩 영역에 제공된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 동적 영역은 데이터 영역의 끝에 제공된다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 장치는 2D 바코드에 포함된 정적 데이터의 세트를 스캐닝하는 단계, 2D 바코드에 포함된 동적 데이터의 세트를 스캐닝하는 단계, 정적 데이터의 세트의 제1 출력을 생성하는 단계 및 동적 데이터의 세트의 제2 출력을 생성하는 단계를 포함하는 2차원 바코드를 판독하는 방법을 실행할 수 있다. 2D 바코드는 정적 잉크 및 동적 잉크로 인쇄되고, 정적 데이터의 세트의 인코딩된 버전은 정적 잉크로 인쇄된다. 동적 데이터의 세트의 인코딩된 버전은 동적 데이터가 복수의 상태들 중 하나에 있도록 적어도 하나의 환경 변화에 응답하여 상태를 변화시키는 동적 잉크로 인쇄된다. 동적 데이터의 세트는 2D 바코드에서 여분의 공간에 인쇄된다. 제2 출력은 동적 데이터가 복수의 상태들 중 어느 상태에 있는 지를 나타낸다.
선행하는 양태들 중 임의의 하나 이상과 조합하여 사용될 수 있는 본 개시의 다른 예시적인 양태에 따르면, 장치는 2D 바코드에 포함된 정적 데이터의 세트를 스캐닝하는 단계, 2D 바코드에 포함된 동적 데이터의 세트를 스캐닝하는 단계, 및 정적 데이터의 세트에 기초하여 출력을 생성하는 단계를 포함하는 2차원(2D) 바코드를 판독하는 방법을 실행할 수 있다. 2D 바코드는 정적 잉크 및 동적 잉크를 포함한다. 정적 데이터의 세트의 인코딩된 버전은 정적 잉크로 인쇄된다. 동적 데이터의 세트의 인코딩된 버전은 동적 잉크로 인쇄되며, 동적 잉크는 복수의 상태들 중 하나에 있도록 적어도 하나의 환경 변화에 응답하여 상태를 변화시킨다. 동적 데이터의 세트는 동적 영역에 인쇄된다. 출력은 동적 데이터의 세트가 복수의 상태들 중 제1 상태에 있을 때 제1 출력이고, 출력은 동적 데이터의 세트가 복수의 상태들 중 제2 상태에 있을 때 제2 출력이다.
본원에서 설명된 실시예들에 대한 다양한 변경들 및 수정들은 당해 분야의 당업자들에게 분명할 것이라는 것이 이해되어야 한다. 이러한 변경들 및 수정들은 본 발명 요지의 사상 및 범위로부터 이탈하지 않으면서, 그리고 그 의도된 장점들을 약화시키지 않으면서 행해질 수 있다. 그러므로, 이러한 변경들 및 수정들이 첨부된 청구항들에 의해 커버되는 것이 의도된다. 또한, 종속 청구항들의 특징들은 독립 청구항들의 각각의 시스템들, 방법들, 및 장치에서 구체화될 수 있다는 것이 인식되어야 한다.
본원에서 제시된 본 발명의 많은 변형들 및 다른 실시예들은 상기한 설명들 및 연관된 도면들에서의 교시사항들의 장점을 일단 가진다면, 이 발명들이 속하는 분야의 당업자에게 떠오를 것이다. 그러므로, 발명들은 개시된 특정 실시예들로 제한되지 않는다는 것과, 변형들 및 다른 실시예들은 첨부된 청구항들의 범위 내에 포함되도록 의도된다는 것이 이해된다. 특정 용어들이 본원에서 채용되지만, 그것들은 제한의 목적을 위한 것이 아니라, 포괄적이고 서술적인 의미로만 이용된다.

Claims (23)

  1. 기판;
    상기 기판 상에 제공되고 센서 염료 영역을 포함하는 제1 층 ; 및
    상기 기판 상에 제공되고 2차원 에러 정정 바코드 심볼을 포함하는 제2 층;을 포함하고,
    상기 제1 층은 센서 염료의 컬러 상태에 변화를 야기시키는 초기 상태와 최종 상태 사이에서 환경 조건의 발생에 응답하여 지속적인 화학적 또는 물리적 상태 변화를 겪도록 구성된 케미스트리(chemistry)를 갖는 센서 염료를 추가로 포함하고,
    상기 바코드 심볼은 영구적인 컬러 상태의 복수의 모듈을 추가로 포함하고, 상기 모듈은 선택적으로 정사각형, 직사각형 또는 원형인, 센서-증강된 2차원 바코드.
  2. 청구항 1에 있어서,
    상기 제2 층은 상기 제1 층의 특징부와 정렬되고, 바람직하게는 상기 센서 염료 영역은 상기 2차원 바코드의 불변 영역에 위치하여 상기 제2 층의 상부 좌측 코너는 상기 제1 층의 상부 좌측 코너와 정렬되는 센서-증강된 2차원 바코드 심볼.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 환경 조건은 시간, 온도 및 시간-온도 곱으로 구성되는 그룹으로부터 선택되고, 바람직하게는 상기 센서 염료는 상기 환경 조건에 노출될 때 상기 초기 상태와 상기 최종 상태 사이에서 컬러 상태를 지속적으로 변화시키는 센서-증강된 2차원 바코드 심볼.
  4. 청구항 1 내지 청구항 3 중 어느 하나의 청구항에 있어서,
    상기 제2 층은 상기 제1 층 위에 인쇄되는, 센서-증강된 2차원 바코드.
  5. 청구항 1 내지 청구항 4 중 어느 하나의 청구항에 있어서,
    상기 2차원 에러 정정 바코드 심볼은 데이터 매트릭스(Data Matrix), QR 코드, 아즈텍(Aztec) 코드, MaxiCode, PDF417 및 도트(Dot) 코드 심볼로지들로 구성된 심볼로지 그룹에서 나오는, 센서-증강된 2차원 바코드 심볼.
  6. 청구항 1 내지 청구항 5 중 어느 하나의 청구항에 있어서,
    상기 2차원 에러 정정 바코드 심볼은 리드-솔로몬(Reed-Solomon) 에러 정정을 사용하는 센서-증강된 2차원 바코드 심볼.
  7. 청구항 1 내지 청구항 6 중 어느 하나의 청구항에 있어서,
    상기 센서 염료는 초기에 비활성화된 제1 컬러 상태에 있고, 상기 최종 상태에 도달하기 전에 상기 초기 상태와 상기 최종 상태 사이의 범위 내에서 복수의 상이한 컬러 상태로 동적으로 변화하는 센서-증강된 2차원 바코드 심볼.
  8. 청구항 1 내지 청구항 7 중 어느 하나의 청구항에 있어서,
    상기 센서 염료는 감지된 특성의 특정 조건이 임계 값을 초과할 때 상기 초기 상태와 최종 상태 사이의 중간 상태에 도달하며, 여기서 임계 값은 바람직하게 라벨링된 제품 수명인 센서-증강된 2차원 바코드 심볼.
  9. 청구항 7에 있어서,
    상기 센서 염료는 소비된 제품 수명 및 남아있는 라벨링된 제품 수명 중 하나와 관련된 복수의 상이한 컬러 상태로 동적으로 변하는 센서-증강된 2차원 바코드 심볼.
  10. 청구항 1 내지 청구항 9 중 어느 하나의 청구항에 있어서,
    상기 제2 층은 센서 디지털 정보를 제공하고, 상기 센서 디지털 정보는 바람직하게는 상기 2차원 심볼의 불변 픽셀 맵으로 인코딩되고, 보다 바람직하게는 2진 인코딩된 센서 데이터로 인코딩되며, 더 바람직하게는 2진 인코딩된 센서 데이터는 해밍(Hamming) 코드들, 보스-쵸드리-호켄겜(Bose­코드들, 골레이(Golay) 코드들, 심플렉스(Simplex) 코드들, 리드-뮬러(Reed-Muller) 코드들, 파이어(Fire) 코드들, 컨볼루션(Convolutional) 코드들, 및 리드-솔로몬(Reed-Solomon) 코드들로 구성된 그룹으로부터 선택된 에러 정정 코드에 있는 센서-증강된 2차원 바코드 심볼.
  11. 청구항 1 내지 청구항 10 중 어느 하나의 청구항에 있어서,
    상기 2차원 에러 정정 바코드는 인코딩된 애플리케이션 식별자를 포함하고, 바람직하게는, 제1 애플리케이션 식별자는 상기 센서 염료 영역의 크기 및 위치를 나타내고, 제2 애플리케이션 식별자는 제품 수명 방정식 파라미터를 나타내며, 바람직하게는 상기 제품 수명 방정식 파라미터는 아레니우스 방정식 파라미터인 센서-증강된 2차원 바코드 심볼.
  12. 제약 제품, 생물학적 제품 또는 식품, 바람직하게는 백신;
    제약 제품, 생물학적 제품, 또는 식품을 담는 용기, 바람직하게는 백신 바이알; 및
    상기 용기 상에 또는 상기 용기 내에 제공된, 바람직하게는 상기 용기의 외부 표면에 적용된 청구항 1 내지 청구항 11 중 어느 하나의 청구항의 센서-증강된 2차원 바코드 심볼;을 포함하는 제조 물품.
  13. 센서-증강된 2차원 바코드 심볼의 이미지를 광학적으로 스캐닝하여 이미지의 픽셀에 대한 컬러 값들을 얻는 단계;
    상기 센서-증강된 2차원 바코드 심볼의 상기 컬러 값들을 포함하는 스캔된 픽셀 맵을 구성하는 단계;
    상기 스캔된 픽셀 맵에서 픽셀들을 처리하여 2진 컬러 값을 각 픽셀에 할당하고 2진화된 픽셀 맵을 형성하는 단계;
    상기 2진화된 픽셀 맵에서 2차원 바코드 심볼을 식별하는 단계;
    상기 2진화된 픽셀 맵에서 식별된 상기 2차원 바코드 심볼을 디코딩하여 심볼 코드워드 시퀀스를 복구하는 단계;
    바람직하게는 상기 심볼 코드워드 시퀀스 상의 에러 정정 프로세스를 사용함으로써 상기 심볼 코드워드 시퀀스로부터 기저 데이터 코드워드들을 복구하는 단계;
    센서 염료 영역에서 바코드 모듈들의 식별을 위해 상기 데이터 코드워드들을 처리하는 단계;
    상기 센서 염료 영역에서 상기 바코드 모듈들의 평균 컬러 값을 결정하는 단계; 및
    스캔닝 시 입사광의 반사율을 결정하기 위해 상기 센서 염료 영역의 상기 평균 컬러 값을 처리하는 단계;를 포함하는 센서-증강된 2차원 바코드 심볼을 판독하는 방법.
  14. 청구항 13에 있어서,
    컬러 정보를 처리하는 단계는,
    상기 센서 염료 영역에 포함된 픽셀들의 백색광 반사율을 캡처하는 단계; 및
    상기 스캔된 픽셀 맵에서 상기 픽셀들의 필터링된 컬러 이미지 값들을 생성하기 위해 필터를 사용하여 상기 스캔된 픽셀들로부터의 반사율 데이터에 컬러 광 필터 효과를 생성하는 단계;를 포함하는 센서-증강된 2차원 바코드 심볼을 판독하는 방법.
  15. 청구항 15에 있어서,
    컬러 정보를 처리하는 단계는,
    상기 스캔된 픽셀 맵에서 상기 필터링된 컬러 이미지 값들을 그레이 스케일 값들로 감소시키는 단계;
    상기 바코드 모듈의 상기 평균 컬러 값의 평균 그레이 스케일 값을 결정하는 단계; 및
    스캔닝 시 입사광 반사율을 결정하기 위해 상기 평균 그레이 값을 처리하는 단계;를 더 포함하는 센서-증강된 2차원 바코드 심볼을 판독하는 방법.
  16. 청구항 13에 있어서,
    상기 스캔된 픽셀 맵에서 상기 픽셀들을 처리하는 단계는 각각의 픽셀을 흑색 픽셀, 백색 픽셀 및 컬러 픽셀 중 하나로 분류하는 단계를 포함하는 센서-증강된 2차원 바코드 심볼을 판독하는 방법.
  17. 청구항 17에 있어서,
    상기 흑색 픽셀, 상기 백색 픽셀, 및 상기 컬러 픽셀은 3진화된(ternarised) 픽셀 맵을 형성하는 데 사용되고, 상기 3진화된(ternarised) 픽셀 맵의 상기 흑색 픽셀과 상기 백색 픽셀은 상기 3진화된(ternarised) 픽셀 맵에서 2차원 바코드 심볼을 식별하는 데 사용되는 센서-증강된 2차원 바코드 심볼을 판독하는 방법.
  18. 청구항 13에 있어서,
    상기 센서 염료 영역은 데이터 매트릭스 바코드 심볼의 불변 영역에 위치하는 센서-증강된 2차원 바코드 심볼을 판독하는 방법.
  19. 청구항 13에 있어서,
    상기 센서 염료 영역은 온도, 시간, 방사선, 빛 및 독성 화학 물질들 중 적어도 하나를 포함하는 환경 인자에 반응하는 센서 염료를 포함하는 센서-증강된 2차원 바코드 심볼을 판독하는 방법.
  20. 이미지의 각 픽셀에 대한 그레이 스케일 값을 얻기 위해 센서-증강된 2차원 바코드 심볼의 이미지를 광학적으로 스캐닝하는 단계;
    상기 센서-증강된 2차원 바코드 심볼에서 픽셀들의 그레이 스케일 픽셀 맵을 구성하는 단계;
    상기 그레이 스케일 픽셀 맵에서 픽셀들을 처리하여 2진 컬러 값을 각 픽셀에 할당하고 2진화된 픽셀 맵을 형성하는 단계;
    상기 2진화된 픽셀 맵에서 2차원 바코드 심볼을 식별하는 단계;
    상기 2진화된 픽셀 맵에서 식별된 상기 2차원 바코드 심볼을 디코딩하여 심볼 코드워드 시퀀스를 복구하는 단계;
    심볼 코드워드들에 대한 에러 정정 프로세스를 사용하여 상기 심볼 코드워드 시퀀스로부터 기저 데이터 코드워드들을 복구하는 단계;
    센서 염료 영역에서 상기 바코드 모듈의 식별을 위해 데이터 코드워드들을 처리하는 단계;
    상기 센서 염료 영역에서 바코드 모듈들의 평균 그레이 스케일 값을 결정하는 단계; 및
    스캔닝 시 입사광의 반사율을 결정하기 위해 상기 센서 염료 영역의 상기 평균 그레이 스케일 값을 처리하는 단계;를 포함하는 센서-증강된 2차원 바코드 심볼을 판독하는 방법.
  21. 청구항 20에 있어서,
    광학 대역 통과 필터는 상기 이미지를 스캔할 때 단색 조명 효과를 생성하는 데 사용되는 센서-증강된 2차원 바코드 심볼을 판독하는 방법.
  22. 청구항 20에 있어서,
    광원은 상기 이미지를 광학적으로 스캔하는데 사용되며, 상기 광원은 단색 광원이고, 바람직하게는 상기 단색 광원은 단색 레이저인 센서-증강된 2차원 바코드 심볼을 판독하는 방법.
  23. 청구항 20에 있어서,
    바코드 이미저(imager)는 상기 이미지를 광학적으로 스캔하는데 사용되며, 상기 바코드 이미저는 그레이 스케일 값에만 반응하는 센서-증강된 2차원 바코드 심볼을 판독하는 방법.

KR1020197031049A 2017-03-20 2018-03-19 동적 환경 데이터 시스템을 가지는 2차원 바코드, 방법 및 장치 KR102320597B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/464,207 2017-03-20
US15/464,207 US10546172B2 (en) 2015-03-30 2017-03-20 Two dimensional barcode with dynamic environmental data system, method, and apparatus
PCT/US2018/023068 WO2018175281A1 (en) 2017-03-20 2018-03-19 A two dimensional barcode with dynamic environmental data system, method, and apparatus

Publications (2)

Publication Number Publication Date
KR20190128228A true KR20190128228A (ko) 2019-11-15
KR102320597B1 KR102320597B1 (ko) 2021-11-02

Family

ID=63584766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197031049A KR102320597B1 (ko) 2017-03-20 2018-03-19 동적 환경 데이터 시스템을 가지는 2차원 바코드, 방법 및 장치

Country Status (9)

Country Link
EP (1) EP3602391A4 (ko)
KR (1) KR102320597B1 (ko)
CN (1) CN110447036A (ko)
AU (1) AU2018239238B2 (ko)
BR (1) BR112019019502A2 (ko)
CA (2) CA3164681C (ko)
DE (2) DE112018001462T5 (ko)
MX (1) MX2023007787A (ko)
WO (1) WO2018175281A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240002379A (ko) 2022-06-29 2024-01-05 유현빈 고양이 몸무게별 권장 사료량을 알려주는 측정장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020119955A1 (en) * 2018-12-13 2020-06-18 EVRYTHNG Limited Environment sensitive web identities in barcodes
ES2835053B2 (es) * 2019-12-18 2022-06-16 Univ Almeria Metodo, dispositivo y sistema para el almacenamiento, la codificacion y la decodificacion de informacion basada en codigos con capacidad de deteccion de errores
JP7358284B2 (ja) * 2020-03-25 2023-10-10 株式会社日立製作所 コード、情報処理システム、及び情報処理装置
CN111340018B (zh) * 2020-05-18 2020-09-04 安徽东寻信息科技有限公司 一种利用传感器的仪表读取系统及读取方法
US11615280B2 (en) * 2020-08-31 2023-03-28 Temptime Corporation Barcodes with security material and readers for same
DE102021205874A1 (de) * 2021-06-10 2022-12-15 Robert Bosch Gesellschaft mit beschränkter Haftung Zweidimensionale Codeanordnung, Positionsbestimmungseinrichtung und Verfahren zur Positionsbestimmung

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090020609A1 (en) * 2007-07-16 2009-01-22 Cohen Marc H Sensor-embedded barcodes
US20110006109A1 (en) * 2007-11-14 2011-01-13 Varcode Ltd. System and method for quality management utilizing barcode indicators
US20140023264A1 (en) * 2012-07-17 2014-01-23 Shockwatch, Inc. Visual indicator status recognition
US20160292486A1 (en) * 2015-03-30 2016-10-06 Temptime Corporation Two dimensional barcode with dynamic environmental data system, method, and apparatus

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5053339A (en) * 1988-11-03 1991-10-01 J P Labs Inc. Color changing device for monitoring shelf-life of perishable products
GB2430257A (en) * 2005-09-16 2007-03-21 Sun Chemical Ltd Bar code having a time-temperature indicator
US7562811B2 (en) * 2007-01-18 2009-07-21 Varcode Ltd. System and method for improved quality management in a product logistic chain
US8152068B2 (en) * 2007-12-31 2012-04-10 Pitney Bowes Inc. Systems and methods for producing and processing time dependent dynamic barcodes in a mail delivery system
US8187892B2 (en) * 2008-07-18 2012-05-29 Segan Industries, Inc. Co-topo-polymeric compositions, devices and systems for controlling threshold and delay activation sensitivities
US9092745B2 (en) * 2011-05-12 2015-07-28 Hewlett-Packard Development Company, L.P. Adapting an incremental information object
US9773168B2 (en) * 2012-01-31 2017-09-26 Hewlett-Packard Development Company, L.P. Identification mark with a predetermined color difference
CN104143109B (zh) * 2014-01-28 2017-04-05 深圳市雁联计算系统有限公司 一种二维码的编码和解码方法及其印刷物

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090020609A1 (en) * 2007-07-16 2009-01-22 Cohen Marc H Sensor-embedded barcodes
US20110006109A1 (en) * 2007-11-14 2011-01-13 Varcode Ltd. System and method for quality management utilizing barcode indicators
US20140023264A1 (en) * 2012-07-17 2014-01-23 Shockwatch, Inc. Visual indicator status recognition
US20160292486A1 (en) * 2015-03-30 2016-10-06 Temptime Corporation Two dimensional barcode with dynamic environmental data system, method, and apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240002379A (ko) 2022-06-29 2024-01-05 유현빈 고양이 몸무게별 권장 사료량을 알려주는 측정장치

Also Published As

Publication number Publication date
WO2018175281A1 (en) 2018-09-27
CA3057307A1 (en) 2018-09-27
BR112019019502A2 (pt) 2020-04-28
CA3164681A1 (en) 2018-09-27
KR102320597B1 (ko) 2021-11-02
CN110447036A (zh) 2019-11-12
CA3164681C (en) 2024-01-16
AU2018239238A2 (en) 2019-11-07
MX2023007787A (es) 2023-07-10
CA3057307C (en) 2022-09-20
AU2018239238B2 (en) 2021-08-12
DE112018001462T5 (de) 2019-11-28
AU2018239238A1 (en) 2019-10-31
EP3602391A4 (en) 2021-01-06
EP3602391A1 (en) 2020-02-05
DE202018006287U1 (de) 2019-12-09

Similar Documents

Publication Publication Date Title
US11455483B2 (en) Two dimensional barcode with dynamic environmental data system, method, and apparatus
US11182579B2 (en) Two dimensional barcode with dynamic environmental data system, method, and apparatus
KR102320597B1 (ko) 동적 환경 데이터 시스템을 가지는 2차원 바코드, 방법 및 장치
US11120241B2 (en) Two dimensional barcode provided with dynamic environmental indicator provided within a gap
US11151434B2 (en) Two dimensional barcode provided with surrounding dynamic environmental indicator and color calibration reference
CN106997446B (zh) 增强的矩阵符号纠错方法
WO2023117764A1 (en) Two-dimensional barcode, method and system for encoding data into said two-dimensional barcode, and method and system for imaging and decoding said two-dimensional barcode

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant