KR100579356B1 - 2차원 코드 판독 방법, 정보 기록 매체 및 2차원 코드판독 장치 - Google Patents
2차원 코드 판독 방법, 정보 기록 매체 및 2차원 코드판독 장치 Download PDFInfo
- Publication number
- KR100579356B1 KR100579356B1 KR1020010018244A KR20010018244A KR100579356B1 KR 100579356 B1 KR100579356 B1 KR 100579356B1 KR 1020010018244 A KR1020010018244 A KR 1020010018244A KR 20010018244 A KR20010018244 A KR 20010018244A KR 100579356 B1 KR100579356 B1 KR 100579356B1
- Authority
- KR
- South Korea
- Prior art keywords
- module
- pattern
- center point
- scanning
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1456—Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Toxicology (AREA)
- Electromagnetism (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Optical Recording Or Reproduction (AREA)
- Automatic Tape Cassette Changers (AREA)
Abstract
본 발명은, 맥시코드(MaxiCode) 심볼의 판독 화상의 디코드 처리에 있어서, 2차원 코드의 심볼을 판독한 판독 화상의 파인더 패턴의 탐색, 방향 모듈의 탐색, 데이터 모듈의 탐색 및 데이터 문자로의 변환을 실행하는 2차원 코드 판독 방법, 정보 기록 매체 및 2차원 코드 판독 장치를 제공하는 것이다.
이를 위해, 본 발명은, 맥시코드 심볼의 디코드 처리에 있어서의 데이터 모듈 탐색 처리에 있어서는 우선 파인더 패턴의 중심점, 내측 방향 모듈의 중심점 및 외측 방향 모듈의 중심점을 통과하는 방향축을 상정하고, 방향축상의 데이터 모듈의 위치 정보 및 도형 정보를 산출한다(단계 S1801). 다음에, 산출한 각 모듈의 중심점의 위치에 대응하는 화소 데이터에 근거하여 「흑」= 비트 1 또는 「백」= 비트 0으로 이루어지는 비트 패턴으로 변환한다(S1802). 다음에, 방향축 사이의 영역에 존재하는 맥시코드 심볼의 데이터 모듈의 위치 정보를 산출한다(단계 S1803). 다음에, 산출한 각 모듈의 중심점의 위치에 대응하는 화소 데이터에 근거하여 「흑」= 비트 1 또는 「백」= 비트 0으로 이루어지는 비트 패턴으로 변환하고(S1804), 데이터 모듈 탐색 처리를 종료하는 구성으로 하였다.
Description
도 1은 2차원 코드 판독 장치의 블럭 구성도,
도 2는 2차원 코드 판독 장치의 기능 블럭도,
도 3은 2차원 코드 판독 방법에 있어서의 디코드 처리의 흐름도,
도 4는 디코드 처리에 있어서의 파인더 패턴 탐색 처리의 흐름도,
도 5는 본 발명의 파인더 패턴의 중심점 탐색 방법의 흐름도(수평 탐색),
도 6은 본 발명의 파인더 패턴의 중심점 탐색 방법의 흐름도(수직 탐색),
도 7은 본 발명의 파인더 패턴의 중심점 탐색 방법의 흐름도(중심점 결정),
도 8은 디코드 처리에 있어서의 파인더 패턴 탐색 처리의 흐름도,
도 9는 본 발명의 파인더 패턴의 임시 중심점 탐색 방법의 흐름도,
도 10은 본 발명의 파인더 패턴의 중심점 산출 방법의 흐름도(중심점 결정),
도 11은 디코드 처리에 있어서의 화상 보정 처리의 흐름도,
도 12는 디코드 처리에 있어서의 방향 모듈 탐색 처리의 흐름도,
도 13은 방향 모듈 탐색 처리에 있어서의 방향 모듈 후보 데이터 탐색 처리 의 흐름도,
도 14는 방향 모듈 후보 데이터 탐색 처리에 있어서의 내측 방향 모듈 후보 검출 처리의 흐름도,
도 15는 방향 모듈 후보 데이터 탐색 처리에 있어서의 외측 방향 모듈 후보 검출 처리의 흐름도,
도 16은 방향 모듈 후보 데이터 탐색 처리에 있어서의 중앙 방향 모듈 후보 검출 처리의 흐름도,
도 17은 방향 모듈 후보 데이터 탐색 처리에 있어서의 방향 모듈 후보 결정 처리의 흐름도,
도 18은 방향 모듈 탐색 처리에 있어서의 방향 모듈 결정 처리의 흐름도,
도 19는 디코드 처리에 있어서의 데이터 모듈 탐색 처리의 흐름도,
도 20은 데이터 모듈 탐색 처리에 있어서의 방향축상의 모듈 위치 산출 처리의 흐름도,
도 21은 방향축상의 모듈 위치 산출 처리에 있어서의 방향축 각도 보정 처리의 흐름도,
도 22는 방향축상의 모듈 위치 산출 처리에 있어서의 방향축상의 실(實)모듈폭 보정 처리의 흐름도,
도 23은 방향축상의 모듈 위치 산출 처리에 있어서의 방향축상의 가(假)모듈폭 보정 처리의 흐름도,
도 24는 모듈 중심점 산출 처리의 흐름도,
도 25는 디코드 처리에 있어서의 데이터 문자 변환 처리의 흐름도,
도 26의 (a)는 파인더 패턴의 중심점을 통과하는 선분상의 색 패턴을 도시한 도면이고, 도 26의 (b)는 파인더 패턴 템플릿(template)을 도시한 도면,
도 27의 (a)는 파인더 패턴의 주사 방향과 주사 행을 도시한 도면이고, 도 27의 (b)는 검출 패턴의 증감을 도시한 도면,
도 28은 중심선을 결정한 후, 상하로 주사 행을 변경하는 순서를 도시한 도면,
도 29는 파인더 패턴의 중심점의 산출을 도시한 도면,
도 30은 수직 방향으로 주사를 실행한 경우의 주사선을 도시한 도면과 검출 패턴의 증감을 도시한 도면,
도 31은 파인더 패턴의 중심점의 산출을 도시한 도면,
도 32는 본 발명의 실시예(타원)를 도시한 도면,
도 33은 본 발명의 다른 실시예를 도시한 도면,
도 34는 본 발명의 다른 실시예(타원)를 도시한 도면,
도 35는 비스듬한 각도에서 판독한 판독 화상과 실제의 맥시코드 심볼의 관계도,
도 36은 원과 타원의 관계도,
도 37의 (a)는 실제의 맥시코드 심볼의 방향 모듈을 도시한 도면이고, 도 37의 (b)는 판독 화상에 있어서의 방향 모듈을 도시한 도면,
도 38의 (a)는 모듈폭을 도시한 도면이고, 도 38의 (b)는 모듈폭과 내측 방 향 모듈의 중심점의 위치의 관계도,
도 39는 색 템플릿 패턴을 도시한 도면,
도 40은 탐색 각도 θ에 있어서의 임시 방향 모듈의 위치를 도시한 도면,
도 41의 (a)는 데이터 변환 전의 동일한 방향 모듈에 대응하는 후보 데이터를 도시한 도면이고, 도 41의 (b)는 데이터 변환 후의 동일한 방향 모듈에 대응하는 후보 데이터를 도시한 도면,
도 42는 레이트수 n에 있어서의 방향 모듈의 후보 데이터의 결정 방법을 도시한 도면,
도 43은 방향 모듈의 중심점의 위치 결정을 도시한 도면,
도 44의 (a)는 데이터 변환 공정을 도시한 도면이고, 도 44의 (b)는 방향 모듈의 배열 번호를 도시한 도면,
도 45의 (a)는 축상의 실(實)모듈과 가(假)모듈을 도시한 도면이고, 도 45의 (b)는 축상의 데이터 모듈의 위치를 도시한 도면,
도 46의 (a)는 축 사이의 실모듈과 가모듈을 도시한 도면이고, 도 46의 (b)는 축 사이의 데이터 모듈의 위치를 도시한 도면,
도 47은 방향축의 각도 보정을 도시한 도면,
도 48의 (a)는 방향축상의 모듈군의 영역 L을 도시한 도면이고, 도 48의 (b)는 모듈군을 구성하는 모듈의 중심점을 도시한 도면,
도 49는 방향축 i와 인접 방향축 i´의 관계를 도시한 도면,
도 50은 모듈의 제 2 보정 중심점의 후보점 P1의 산출 처리를 도시한 도면,
도 51은 모듈의 제 2 보정 중심점의 후보점 P2의 산출 처리를 도시한 도면,
도 52는 모듈의 중심점 P의 산출 처리를 도시한 도면,
도 53은 모듈의 중심점의 산출 처리를 도시한 도면,
도 54는 코드워드(codeword)를 도시한 도면,
도 55의 (a)는 맥시코드 심볼의 모듈 데이터의 위치와 2차원 비트 배열 테이블의 관계도이고, 도 55의 (b)는 2차원 비트 배열 테이블의 저장 데이터를 도시한 도면,
도 56은 코드워드 2차원 배열 테이블을 도시한 도면,
도 57은 2차원 비트 배열 테이블에 저장되어 있는 비트 데이터와 코드워드 2차원 배열 테이블의 요소 데이터의 관계도,
도 58은 디폴트(default) 문자 설정표를 도시한 도면,
도 59의 (a)는 맥시코드 심볼의 전체도이고, 도 59의 (b)는 파인더 패턴과 방향 모듈을 도시한 도면,
도 60은 맥시코드 심볼의 모듈군을 도시한 도면,
도 61은 실제의 맥시코드 심볼에 있어서의 파인더 패턴과 방향 모듈을 도시한 도면,
도 62의 (a)는 정면에서 판독한 경우의 맥시코드 심볼의 판독 화상과 맥시코드 심볼의 관계도이고, 도 62의 (b)는 비스듬한 각도에서 판독한 경우의 맥시코드 심볼의 판독 화상과 맥시코드 심볼의 관계도,
도 63의 (a)는 왜곡의 종류를 도시한 도면이고, 도 63의 (b)는 정규화 보정 을 이용한 디코드 처리를 도시한 도면.
도면의 주요 부분에 대한 부호의 설명
3701, 3704, 5904 : 내측 방향 모듈
3702, 3705, 5905 : 외측 방향 모듈
3703, 3706, 5906 : 중앙 방향 모듈
3801 : 파인더 패턴의 백색(白色)부
3802 : 파인더 패턴의 흑색(黑色)부
3803, 6103 : 색 경계 도형
5900 : 맥시코드 심볼(MaxiCode symbol)
5901 : 파인더 패턴
5902 : 모듈
5903, 6001a∼6001f : 방향 모듈군
6000 : 모듈군
6002 : 데이터 모듈군
6101 : 내측 방향 모듈의 중심점을 연결한 도형
6102 : 외측 방향 모듈의 중심점을 연결한 도형
본 발명은 2차원 코드 판독 방법, 정보 기록 매체 및 2차원 코드 판독 장치에 관한 것이다. 특히, 2차원 코드의 심볼을 판독한 판독 화상의 파인더 패턴의 탐색, 방향 모듈의 탐색, 데이터 모듈의 탐색 및 데이터 문자로의 변환을 실행하는 2차원 코드 판독 방법, 정보 기록 매체 및 2차원 코드 판독 장치에 관한 것이다.
바코드는 소매업계에 있어서 대상물의 특정한 체크를 빠르고 또한 정확하게 실행하기 위한 수단으로서 발전한 자동 인식 기술로서, 현재에는 유통, 물류, 행정, 의료, 연구, 이벤트 등 폭넓은 분야에 있어서 이용되고 있다. 바코드가 보급됨에 따라서 그 용도는 다방면에 걸쳐 종래 바코드를 적용할 수 없었던 분야(소형화, 대용량)에까지 그 수요가 요구되어 오고 있다. 그 수요를 만족시키기 위해 최근 개발된 것이 2차원 코드이다. 2차원 코드에는 스택(stack)형과 매트릭스형의 2종류가 있다. 스택형 2차원 코드는 바코드를 세로로 적층시켜 종횡으로 정보를 표시한 것으로서, 레이저 스캐너나 CCD 스캐너와 같은 스캐닝 방법에 의해 판독할 수 있다. 한편, 매트릭스형 2차원 코드는 정보를 백색 또는 흑색의 셀에 의해서 모자이크 형상으로 표시한 것으로서, CCD 이미지 판독기와 같은 이미지 센싱 방법에 의해 판독할 수 있다.
맥시코드는 매트릭스형 2차원 코드의 하나이다. 특히, 맥시코드는 하물의 분류나 추적 관리에 적합하도록 설계되어 있고, 미국내에서는 택배편의 집하(集荷) 센터에 있어서의 목적지 구분이나 선적에 있어서의 분류 관리에 이용되고 있다. 이하, 맥시코드에 의해서 표시된 2차원 코드의 심볼을 맥시코드 심볼(MaxiCode Symbol)이라고 한다.
도 59는 맥시코드 심볼을 도시한 도면이다. 도 59의 (a)는 맥시코드 심볼의 전체도를 도시한 일례이고, 도 59의 (b)는 파인더 패턴과 방향 모듈을 도시한 도면이다.
도 59의 (a)에 도시한 바와 같이, 맥시코드 심볼(5900)의 중앙에는 6개의 동심원에 의해서 구성되는 1개의 백색의 원, 2개의 백색의 고리 및 3개의 흑색의 고리로 이루어지는 파인더 패턴(5901)이라고 불리는 부분이 존재한다. 파인더 패턴(5901)은 맥시코드 심볼(5900)을 검출할 때의 안표(眼標)로 되는 절단 심볼이다. 파인더 패턴의 중심점을 탐색하는 것에 의해 심볼의 중심 위치를 인식한다.
또, 파인더 패턴(5901)의 주위에는 884개의 정육각형의 백색 또는 흑색의 셀인 모듈(5902)에 의한 모듈군이 존재한다. 모듈군은 방향 모듈군과 데이터 모듈군으로 구성된다. 방향 모듈군은 맥시코드 심볼(5900)의 방향을 나타내는 18개의 방향 모듈로 구성된다. 데이터 모듈군은 데이터를 나타내는 864개의 데이터 모듈로 구성되고, 1개의 데이터 모듈은 데이터의 1비트에 대응한다. 데이터 모듈은 데이터를 코드화하고 오류 정정 처리를 실행하기 위해 사용된다. 또, 심볼의 우측 상부에 위치하는 2개의 모듈은 사용되지 않는다.
또, 도 59의 (b)에 도시한 바와 같이, 정육각형의 모듈(5902)은 파인더 패턴(5901)의 중앙의 백색의 원에 내접하는 크기를 갖고 있다. 방향 모듈군(5903)은 파인더 패턴(5901)의 중심을 중심점 0으로 하고, 그 주위에 60도의 간격으로 6방향에 존재한다. 각 방향 모듈군(5903)은 내측 방향 모듈(5904), 외측 방향 모듈(5905) 및 중앙 방향 모듈(5906)의 3개의 방향 모듈에 의해서 구성되어 있고, 방향 모듈군(5903)은 합계 18개의 방향 모듈로 구성된다. 이 18개의 방향 모듈을 탐색하는 것에 의해 맥시코드 심볼의 방향을 인식하고 각 데이터 모듈에 대응하는 데이터를 판독한다. 여기서, 방향 모듈군(5903)에 있어서 내측 방향 모듈(5904)은 중심점 0으로부터의 거리가 가장 짧은 위치에 존재하고, 외측 방향 모듈(5905)은 중심점 0으로부터의 거리가 가장 긴 위치에 존재하며, 중앙 방향 모듈(5906)은 중심점 0으로부터의 거리가 중심점 0으로부터의 내측 방향 모듈(5904)의 거리와 중심점 0으로부터의 외측 방향 모듈(5905)의 거리와의 사이의 거리에 존재한다.
2차원 코드의 심볼인 맥시코드 심볼의 판독에는 이미지 센싱 방식이 이용되고 있다. 즉, 맥시코드 심볼을 이미지 화상 정보로서 판독하고, 해독(이하, 「디코드」라고 함)한다.
우선, 판독한 화상 정보로부터 맥시코드 심볼의 파인더 패턴과 방향 모듈을 탐색하고, 각 데이터 모듈을 인식한다. 다음에, 각 데이터 모듈이 「흑」일 때 1, 「백」일 때 0으로 하고 비트 패턴으로 변환한다. 마지막으로, 얻어진 비트 패턴을 대응하는 데이터 문자로 변환하는 것에 의해 디코드한다. 그 때문에, 맥시코드 심볼의 판독 화상의 디코드 처리에 있어서 여러 가지 디코드 처리 방법이 고려되어 왔다.
파인더 패턴의 중심점을 구할 필요가 있다. 파인더 패턴의 중심점을 탐색하 는 방법은, 예를 들면 일본 특허 공개 공보 평성 제 10-21322 호에 기재되어 있다. 이 공보에는 π보다 작은 각측(角測) 길이를 갖는 모든 죠단 곡선을 검색하고, 검색한 모든 죠단 곡선으로부터 모든 볼록 형상의 죠단 곡선을 검색하여, 검색한 각 볼록 형상의 죠단 곡선의 종단점으로부터 한 쌍의 접선의 식을 결정하고, 각 쌍의 접선에 대해서 중앙 라인의 식을 결정하며, 중앙 라인의 교점을 결정하여, 그 교점에 근거하여 맥시코드 심볼의 파인더 패턴의 중심점을 탐색하고, 그 후에 디코드하는 것이다. 그러나, 죠단 곡선으로부터 모든 볼록 형상의 죠단 곡선을 검색하고, 접선의 식을 결정하고 나서 맥시코드 심볼의 파인더 패턴의 중심점을 탐색하게 되므로, 파인더 패턴의 중심점을 탐색하는 처리에 매우 시간이 걸리게 된다는 문제점이 있었다.
또, 소정의 템플릿을 이용하여 중심점을 탐색하는 방법이 일본 공표 공보 평성 제 10-501082 호에 기재되어 있다. 그러나, 60도씩 떨어진 6개의 기호(記號)축만이 중심원의 중심점을 통과하는 것과, 템플릿의 중심점을 중심원의 중심점에 중첩시키는 것만이 기재되어 있지만, 어떻게 중심점을 중첩시키는지에 대해서는 상세하게 기재되어 있지 않다.
또, 방향 모듈을 탐색하는 것은 중요하고, 방향 모듈을 탐색하기 위한 여러 가지의 처리 방법이 고려되어 왔다. 방향 모듈을 탐색한다는 것은 방향 모듈의 위치 정보 및 도형 정보를 취득하는 것이다. 방향 모듈의 위치 정보 및 도형 정보를 취득하는 것은 맥시코드 심볼의 모듈의 치수에 근거하여 각 데이터 모듈의 위치를 검출할 뿐만 아니라, 검출한 데이터 모듈의 색, 즉 비트 데이터를 식별할 수 있다.
도 60은 맥시코드 심볼의 모듈군을 도시한 도면이다. 도 60에 도시하는 바와 같이 모듈군(6000)은 방향 모듈로 이루어지는 방향 모듈군(6001a, 6001b, 6001c, 6001d, 6001e, 6001f)과 데이터 모듈로 이루어지는 데이터 모듈군(6002)으로 구성된다. 또, 6개의 방향 모듈군(6001a, 6001b, 6001c, 6001d, 6001e, 6001f)을 각각 구성하는 3개의 방향 모듈의 「흑」= 1 또는 「백」=0인 비트 패턴은 방향에 따라서 다르다. 그래서, 방향 모듈을 탐색하기 위한 다양한 처리 방법이 고려되어 왔지만, 그 방법은 복잡한 처리를 수반하기 때문에 방향 모듈을 탐색하는 처리에 시간이 걸리게 된다는 문제점이 있었다.
또, 탐색한 방향 모듈에 근거하여 데이터 모듈의 위치를 검출하고, 검출한 모듈의 색에 대응하는 비트 패턴으로부터 데이터 문자로 변환하는 일련의 처리에 대해서도 여러 가지 처리 방법이 고려되어 왔다. 그러나, 그 방법도 복잡한 처리를 수반하기 때문에 처리에 시간이 걸리게 된다는 문제점이 있었다.
또, 맥시코드 심볼의 판독 화상의 디코드 처리에 있어서, 정면에서 판독된 경우의 판독 화상을 디코드하는 것은 가능하였다. 그러나, 분류되는 하물에 붙여져 있는 맥시코드 심볼의 장소나, 2차원 코드 판독 장치의 설치 장소에 따라서 실제로 판독되는 맥시코드 심볼의 판독 화상은 정면으로부터 판독된 판독 화상이라고는 한정할 수 없다. 오히려, 비스듬한 각도에서 판독된 판독 화상을 디코드하지 않으면 안 되는 경우가 많아 디코드할 수 없는 경우도 많았다.
도 62는 맥시코드 심볼의 판독 화상과 실제의 맥시코드 심볼의 관계를 도시한 도면이다. 도 62의 (a)는 정면에서 판독한 경우의 맥시코드 심볼의 판독 화상 과 실제의 맥시코드 심볼의 관계도이고, 도 62의 (b)는 비스듬한 각도에서 판독한 경우의 맥시코드 심볼의 판독 화상과 실제의 맥시코드 심볼의 관계도이다.
도 62의 (a)에 도시하는 바와 같이, 정면에서 판독된 맥시코드 심볼의 판독 화상과 실제의 맥시코드 심볼의 관계는 서로 유사(相似)하다. 즉, 맥시코드 심볼의 판독 화상에 있어서 판독 화상의 파인더 패턴 및 각 모듈의 상대 위치는 실제의 맥시코드 심볼에 있어서의 파인더 패턴 및 각 모듈과 동일하다. 또, 판독 화상의 파인더 패턴 및 각 모듈의 도형과 실제의 맥시코드 심볼에 있어서의 파인더 패턴 및 각 모듈의 도형은 서로 상사(相似)형이다.
한편, 도 62의 (b)에 도시하는 바와 같이, 비스듬한 각도에서 판독된 맥시코드 심볼의 판독 화상과 실제의 맥시코드 심볼을 비교하면, 판독 화상의 파인더 패턴 및 각 모듈의 상대 위치는 실제의 맥시코드 심볼에 있어서의 파인더 패턴 및 각 모듈의 상대 위치와 다르다. 또, 판독 화상의 파인더 패턴 및 각 모듈의 도형과 실제의 맥시코드 심볼에 있어서의 파인더 패턴 및 각 모듈의 도형은 상사형이 아니고, 판독 화상의 도형은 변형되어 있다. 그 때문에, 맥시코드 심볼을 구성하는 데이터 모듈의 위치를 인식하고 데이터 모듈의 색을 식별하는 것이 곤란하였다.
따라서, 2차원 코드의 심볼인 맥시코드 심볼의 판독 화상에 있어서, 맥시코드 심볼을 비스듬한 각도에서 판독한 경우의 판독 화상의 디코드 처리는 오류가 많아 디코드할 수 없게 되는 경우가 있다는 문제점이 있었다.
그 때문에, 왜곡이 있는 판독 화상을 왜곡이 없는 판독 화상으로 하기 위한 왜곡 보정이 필요하였다. 일반적으로 이용되고 있는 왜곡 보정의 방법으로서 정규 화라는 수법이 있다.
도 63은 정규화에 의한 화상의 왜곡 보정을 도시한 도면이다. 도 63의 (a)는 왜곡의 종류를 도시한 도면이고, 도 63의 (b)는 정규화 보정을 이용한 판독 화상의 디코드 처리를 도시한 도면이다.
도 63의 (a)에 도시하는 바와 같이, 왜곡 화상에는 입체적인 왜곡 화상, 회전된 왜곡 화상 등이 있고, 정규화 보정하는 것에 의해 왜곡이 없는 화상으로 된다. 또, 도 63의 (b)에 도시하는 바와 같이, 왜곡이 있는 판독 화상의 디코드 처리는 우선 심볼을 잘라내고, 잘라낸 심볼을 정규화 보정하고, 보정한 왜곡이 없는 화상을 디코드하는 것에 의해 심볼에 기록되어 있던 정보를 판독할 수 있다.
여기서, 맥시코드 심볼은 도 59에 도시한 바와 같이, 파인더 패턴이 심볼의 중심에 있을 뿐만 아니라 셀이 정육각형이기 때문에, 심볼의 주위부나 정점의 데이터 모듈이 「백」인 경우에는 심볼의 형태를 수학적으로 특징짓는 것이 곤란하였다. 따라서, 맥시코드 심볼은 일반적인 왜곡 보정의 방법인 정규화에 의한 왜곡 보정을 정확하게 실행할 수 없다는 문제점이 있었다.
또, 정규화에 의한 왜곡 보정을 정확하게 실행할 수 있었다고 하더라도 보정 처리에 시간이 걸리게 된다는 문제점도 있었다.
본 발명의 목적은 이상과 같은 문제점을 해결하기 위해서 이루어진 것으로서, 2차원 코드의 심볼인 맥시코드 심볼의 판독 화상의 디코드 처리에 있어서, 간단한 방법으로 계산기에도 부담이 가지 않고 고속으로 파인더 패턴의 중심점을 탐색하고, 2차원 코드의 심볼과 2차원 코드의 심볼의 판독 화상 사이의 관계에 근거 하여 판독 화상을 보정하는 것에 의해 비스듬한 각도에서 판독한 경우의 판독 화상의 디코드 처리를 가능하게 하고, 2차원 코드의 심볼의 판독 화상의 방향 모듈 탐색 범위의 화소 데이터에 있어서, 색 템플릿 패턴과 일치하는 화소 데이터를 검출하고, 검출한 화소 데이터에 근거하여 모든 방향 모듈을 탐색하고, 탐색한 방향 모듈에 근거하여 모든 데이터 모듈을 탐색하고, 탐색한 데이터 모듈에 근거하여 데이터 문자로 변환하는 것에 의해 디코드 처리의 시간을 단축하는 2차원 코드 판독 방법, 정보 기록 매체 및 2차원 코드 판독 장치를 제공하는 것이다.
본 발명자는 상술한 종래의 문제점을 해결하기 위해 연구를 거듭하였다. 그 결과, 맥시코드 심볼의 판독 화상에 있어서, 화상을 가로지르는 주사선상의 검출 패턴중으로부터 파인더 패턴의 중심점을 가로지르는 주사선상의 소정의 기준 패턴과 일치하는 검출 패턴을 검색하는 것에 의해 파인더 패턴의 중심점을 탐색할 수 있다는 것이 판명되었다.
또, 맥시코드 심볼의 판독 화상에 있어서, 소정의 색 템플릿 패턴과 일치하는 파인더 패턴의 중심점으로부터 소정의 거리에 있고 또한 소정의 각도 간격으로 배치되는 화소 데이터의 색 패턴을 모두 검출하는 것에 의해, 검출한 화소 데이터에 근거하여 방향 모듈의 중심점의 위치와 모듈 치수를 검출하는 처리 시간을 종래와 비교해서 단축할 수 있다는 것이 판명되었다.
또한, 실제의 맥시코드 심볼의 파인더 패턴과 비스듬한 각도에서 판독한 경 우의 맥시코드 심볼의 판독 화상의 파인더 패턴의 사이의 관계식을 원과 타원의 관계식에 근사시키고, 이 관계식에 근거하여 판독 화상의 화상 보정을 하는 것에 의해, 정면에서 판독된 경우의 맥시코드 심볼의 판독 화상뿐만 아니라 비스듬한 각도에서 판독된 경우의 맥시코드 심볼의 판독 화상에 있어서도 판독 화상을 디코드할 수 있다는 것이 판명되었다.
또, 맥시코드 심볼의 판독 화상에 있어서, 파인더 패턴의 중심점과 방향 모듈을 통과하는 방향축 상에 존재하는 「흑」의 모듈군의 영역에 근거하여 방향 모듈 및 데이터 모듈의 중심점을 통과하도록 축의 각도를 보정하는 것에 의해, 왜곡이 있는 판독 화상의 방향축을 보정할 수 있다는 것이 판명되었다.
또, 보정한 방향축상의 동일 색의 모듈군의 영역에 근거하여 왜곡이 있는 판독 화상의 방향축상의 모듈의 위치 정보 및 도형 정보를 보정하고, 보정한 방향축상의 모듈의 위치 정보 및 도형 정보에 근거하여 방향축 사이의 데이터 모듈의 위치를 보정할 수 있다는 것이 판명되었다.
또한, 상술한 판독 화상의 보정에 의해 모듈의 위치 정보 및 도형 정보를 검출하는 것에 의해, 2차원 코드의 심볼인 맥시코드 심볼의 판독 화상의 디코드 처리의 처리 시간을 단축할 수 있다는 것이 판명되었다.
또, 검출한 데이터 모듈을 비트열의 데이터에 변환하고, 변환한 데이터를 2차원 비트 배열 테이블에 저장하고, 소정의 코드워드 2차원 배열 테이블에 근거하여 코드워드로 변환하는 것에 의해, 데이터를 데이터 문자로 변환하는 처리 시간을 종래와 비교해서 단축할 수 있다는 것이 판명되었다.
상기 연구 결과에 따라서 이하의 발명을 제공한다.
본 발명의 2차원 코드 판독 방법에 있어서의 제 1 특징은 2차원 코드의 심볼의 판독 화상에 있어서의 파인더 패턴의 위치 정보, 방향 모듈의 위치 정보 및 방향 모듈의 도형 정보에 근거하여 파인더 패턴의 중심점과 방향 모듈을 통과하는 방향축을 산출하는 것에 의해, 2차원 코드의 심볼을 구성하는 모든 모듈의 위치 정보 및 도형 정보를 산출하는 데이터 모듈 탐색 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 2 특징은 상술한 데이터 모듈 탐색 공정이 (a) 파인더 패턴의 위치 정보와 방향 모듈의 위치 정보 및 도형 정보에 근거하여 방향축상에 존재하는 모듈군을 구성하는 복수개의 모듈의 위치 정보 및 도형 정보를 산출하는 방향축상의 모듈 위치 산출 공정과, (b) 방향축상의 모듈 위치 산출 공정에 의해서 산출된 방향축상에 존재하는 복수개의 데이터 모듈의 비트 패턴을 검출하는 방향축상의 데이터 모듈 비트 패턴 검출 공정과, (c) 방향축상의 모듈 위치 산출 공정에 의해서 산출된 방향축상의 모듈군을 구성하는 복수개의 모듈의 위치 정보 및 도형 정보에 근거하여 이웃하는 방향축에 의해 구성되는 방향축 사이의 모듈군을 구성하는 복수개의 모듈의 위치 정보를 산출하는 방향축간 모듈 위치 산출 공정과, (d) 방향축간 모듈 위치 산출 공정에 의해서 산출된 방향축 사이에 존재하는 복수개의 데이터 모듈의 비트 패턴을 검출하는 방향축간 데이터 모듈 비트 패턴 검출 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 3 특징은 상술한 방향축 상의 모듈 위치 산출 공정이 (a) 방향축상의 모듈군을 구성하는 복수개의 모듈의 중심점을 통과하도록 방향축의 각도를 보정하는 방향축 각도 보정 공정과, (b) 방향축 각도 보정 공정에 의해서 보정된 방향축상에 존재하는 복수개의 실모듈의 위치 정보를 산출하고, 산출한 위치 정보에 근거하여 복수개의 실모듈의 도형 정보인 모듈폭을 보정하는 방향축상의 실모듈폭 보정 공정과, (c) 방향축상의 실모듈폭 보정 공정에 의해서 산출된 실모듈의 위치 정보 및 도형 정보에 근거하여 방향축상에 존재하는 복수개의 가모듈의 위치 정보를 산출하고, 산출한 위치 정보에 근거하여 복수개의 가모듈의 도형 정보인 모듈폭을 보정하는 방향축상의 가모듈폭 보정 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 4 특징은 상술한 방향축 각도 보정 공정이 (a) 방향축상에 존재하는 1개 또는 연속하는 복수개의 「흑」의 모듈로 구성되는 「흑」의 모듈군의 영역에 근거하여 「흑」의 모듈군 중에 있어서 가장 파인더 패턴에 가까운 「흑」의 모듈의 제 1 보정 중심점을 산출하는 제 1 보정 중심점 산출 공정과, (b) 제 1 보정 중심점 산출 공정에 의해서 산출한 「흑」의 모듈의 제 1 보정 중심점을 통과하고 방향축과 이웃하는 방향축과 평행한 인접 예비축상에 존재하는 「흑」의 모듈을 포함하는 1개 또는 연속하는 복수개의 「흑」의 모듈로 구성되는 「흑」의 모듈군의 영역에 근거하여 「흑」의 모듈의 제 2 보정 중심점을 산출하는 제 2 보정 중심점 산출 공정과, (c) 제 2 보정 중심점 산출 공정에 의해서 산출한 「흑」의 모듈의 제 2 보정 중심점과 파인더 패턴의 중심점을 통과하는 방향 예비축상에 존재하는 「흑」의 모듈을 포함하는 1개 또는 연속 하는 복수개의 「흑」의 모듈로 구성되는 「흑」의 모듈군의 영역에 근거하여 「흑」의 모듈의 중심점을 산출하는 중심점 산출 공정과, (d) 중심점 산출 공정에 의해서 산출한 「흑」의 모듈의 중심점과 파인더 패턴의 중심점을 통과하는 방향축의 보정된 각도를 산출하는 방향축 보정 각도 산출 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 5 특징은 상술한 방향축상의 실모듈폭 보정 공정이 방향축상에 존재하는 1개 또는 연속하는 복수개의 동일한 색의 실모듈로 구성되는 동일한 색의 실모듈군의 영역에 근거하여 동일한 색의 실모듈군을 구성하는 실모듈의 중심점 및 모듈폭을 산출하는 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 6 특징은 상술한 방향축상의 가모듈폭 보정 공정이 (a) 모든 방향축중에 있어서 보정량이 가장 작은 방향축인 기준 방향축을 검출하는 기준 방향축 검출 공정과, (b) 기준 방향축 검출 공정에 의해서 검출된 기준 방향축상에 존재하는 파인더 패턴으로부터 가장 떨어져 있는 「흑」의 모듈의 도형 정보에 근거하여, 방향축상에 존재하는 복수개의 가모듈의 중심점 및 모듈폭을 산출하는 공정과, (c) 기준 방향축상의 실모듈 및 가모듈의 위치 정보에 근거하여, 기준 방향축 이외의 방향축상에 존재하는 복수개의 가모듈의 중심점 및 모듈폭을 산출하는 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 7 특징은 2차원 코드의 심볼의 판독 화상에 있어서의 소정의 주사 방향의 검출 패턴이 소정의 기준 패턴과 일치하는 주사선을 탐색하고, 탐색한 복수개의 주사선에 근거하여 2차원 코드의 심볼의 판독 화상에 있어서의 파인더 패턴을 검출하고, 파인더 패턴의 위치 정보 및 도형 정보를 취득하는 파인더 패턴 탐색 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 8 특징은 파인더 패턴 탐색 공정이 (a) 2차원 코드의 심볼의 판독 화상에 있어서 제 1 주사 방향으로 주사시키는 공정과, (b) 이 제 1 주사 공정에 의해 제 1 검출 패턴을 취득하는 공정과, (c) 이 취득 공정에 의해 얻은 제 1 검출 패턴과 미리 기억하고 있는 소정의 기준 패턴을 비교하는 공정과, (d) 이 비교 공정에 의해서 제 1 검출 패턴과 소정의 기준 패턴이 일치했을 때 그 주사선을 제 1 중심선으로 하는 공정과, (e) 파인더 패턴에 대해서 제 1 주사 방향과는 다른 제 2 주사 방향으로 주사시키는 공정과, (f) 이 제 2 주사 공정에 의해 제 2 검출 패턴을 취득하는 공정과, (g) 취득 공정에 의해 얻은 제 2 검출 패턴과 미리 기억하고 있는 소정의 기준 패턴을 비교하는 공정과, (h) 이 비교 공정에 의해서 제 2 검출 패턴과 소정의 기준 패턴이 일치했을 때 그 주사선을 제 2 중심선으로 하는 공정과, (i) 제 1 중심선과 제 2 중심선의 교점을 파인더 패턴의 중심점으로 하는 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 9 특징은 상술한 파인더 패턴 탐색 공정이 (a) 2차원 코드의 심볼의 판독 화상에 있어서 제 1 주사 방향으로 주사시키는 공정과, (b) 이 제 1 주사 공정에 의해 제 1 검출 패턴을 취득하는 공정과, (c) 이 취득 공정에 의해 얻은 제 1 검출 패턴과 미리 기억하고 있는 소정 의 기준 패턴을 비교하는 공정과, (d) 이 비교 공정에 의해서 제 1 검출 패턴과 소정의 기준 패턴이 일치했을 때 그 주사선을 제 1 중심선으로 하는 공정과, (e) 이 제 1 중심선과 파인더 패턴의 외주 부재의 2개의 교점의 중점을 제 1 중심점으로 하는 공정과, (f) 제 1 중심선과 평행하게 이동하고 나서 (b)∼(e)공정을 반복해서 실행하고 복수개의 제 1 중심점을 구하는 공정과, (g) 복수개의 제 1 중심점의 제 1 주사 방향과는 다른 제 2 주사 방향에 대한 분포수를 계산하는 공정과, (h) 이 분포수의 제 2 주사 방향에 대한 최대의 개소를 제 2 주사 방향에 대한 복수개의 제 1 중심점이 가장 많이 존재하는 제 1 선분으로 하는 공정과, (i) 제 2 주사 방향에 대한 복수개의 제 1 중심점이 가장 많이 존재하는 선을 통과하는 제 2 주사 방향으로 주사시키는 공정과, (j) 이 제 2 주사 공정에 의해 제 2 검출 패턴을 취득하는 공정과, (k) 이 취득 공정에 의해 얻은 제 2 검출 패턴과 미리 기억하고 있는 소정의 기준 패턴을 비교하는 공정과, (l) 이 비교 공정에 의해서 제 2 검출 패턴과 소정의 기준 패턴이 일치했을 때 그 주사선을 제 2 중심선으로 하는 공정과, (m) 이 제 2 중심선과 파인더 패턴의 외주 부재의 2개의 교점의 중점을 제 2 중심점으로 하는 공정과, (n) 제 2 중심선과 평행하게 이동하고 나서 (j)∼(m)공정을 반복해서 실행하고 복수개의 제 2 중심점을 구하는 공정과, (o) 복수개의 제 2 중심점의 제 1 주사 방향에 대한 분포수를 계산하는 공정과, (p) 이 분포수의 제 1 주사 방향에 대한 최대의 개소를 제 1 주사 방향에 대한 복수개의 제 2 중심점이 가장 많이 존재하는 제 2 선분으로 하는 공정과, (q) 제 1 선분과 제 2 선분의 교점을 파인더 패턴의 중심점으로 하는 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 10 특징은 상술한 파인더 패턴 탐색 공정이 (a) 2차원 코드의 심볼의 판독 화상에 있어서 제 1 주사 방향으로 주사시키는 공정과, (b) 이 제 1 주사 공정에 의해 제 1 검출 패턴을 취득하는 공정과, (c) 이 취득 공정에 의해 얻은 제 1 검출 패턴과 미리 기억하고 있는 소정의 기준 패턴을 비교하는 공정과, (d) 이 비교 공정에 의해서 제 1 검출 패턴과 소정의 기준 패턴이 일치했을 때, 그 주사선과 파인더 패턴의 최외부를 구성하는 부재의 2개의 교점의 중점을 제 1 중심점으로 하는 공정과, (e) 제 1 주사 방향에 대해서 평행하게 이동하고 나서 주사를 실행하고, (b)∼(d)공정을 반복하여 복수개의 제 1 중심점을 얻는 공정과, (f) 파인더 패턴에 대해서 제 1 주사 방향과는 다른 제 2 주사 방향으로 주사시키는 공정과, (g) 이 제 2 주사 공정에 의해 제 2 검출 패턴을 취득하는 공정과, (h) 이 취득 공정에 의해 얻은 제 2 검출 패턴과 미리 기억하고 있는 소정의 기준 패턴을 비교하는 공정과, (i) 이 비교 공정에 의해서 제 2 검출 패턴과 소정의 기준 패턴이 일치했을 때, 그 주사선과 파인더 패턴의 최외부를 구성하는 부재의 2개의 교점의 중점을 제 2 중심점으로 하는 공정과, (j) 제 2 주사 방향에 대해서 평행하게 이동하고 나서 주사를 실행하고, (g)∼(i)공정을 반복하여 복수개의 제 2 중심점을 얻는 공정과, (k) 복수개의 제 1 중심점을 연결하는 선과 복수개의 제 2 중심점을 연결하는 선의 교점을 파인더 패턴의 중심점으로 하는 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 11 특징은 상술한 파인더 패턴 탐색 공정이 (a) 2차원 코드의 심볼의 판독 화상에 있어서 제 1 주사 방향 으로 주사시키는 공정과, (b) 이 제 1 주사 공정에 의해 제 1 검출 패턴을 취득하는 공정과, (c) 이 취득 공정에 의해 얻은 제 1 검출 패턴과 미리 기억하고 있는 소정의 기준 패턴을 비교하는 공정과, (d) 이 비교 공정에 의해서 제 1 검출 패턴과 소정의 기준 패턴이 일치했을 때 그 주사선을 제 1 중심선으로 하는 공정과, (e) 이 제 1 중심선과 파인더 패턴의 외주 부재의 2개의 교점의 중점을 제 1 중심점으로 하는 공정과, (f) 이 제 1 중심점의 제 1 주사 방향과는 다른 제 2 주사 방향으로 주사시키는 공정과, (g) 이 제 2 주사 공정에 의해 제 2 검출 패턴을 취득하는 공정과, (h) 이 취득 공정에 의해 얻은 제 2 검출 패턴과 미리 기억하고 있는 소정의 기준 패턴을 비교하는 공정과, (i) 이 비교 공정에 의해서 제 2 검출 패턴과 소정의 기준 패턴이 일치했을 때 그 주사선을 제 2 중심선으로 하는 공정과,(j) 이 제 2 중심선과 파인더 패턴의 외주 부재의 2개의 교점의 중점을 제 2 중심점으로 하는 공정과, (k) 이 제 2 중심선과 상기 파인더 패턴의 외주 부재의 2개의 교점의 중점으로부터 상기 제 1 중심선과 상기 파인더 패턴의 내주 부재의 2개의 교점 및 상기 제 2 중심선과 상기 파인더 패턴의 내주 부재의 2개의 교점을 산출하는 공정과, (l) 이 제 1 중심선과 상기 파인더 패턴의 내주 부재의 2개의 교점과 및 상기 제 2 중심선과 상기 파인더 패턴의 내주 부재의 2개의 교점으로부터 결정되는 중심점을 파인더 패턴의 중심점으로 하는 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 12 특징은 제 2 주사 방향이 제 1 주사 방향과 직교하는 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 13 특징은 파인더 패턴이 흑색 원과 백색 원의 복수개의 동심원으로 이루어지고, 소정의 기준 패턴과 제 1 검출 패턴 또는 제 2 검출 패턴과의 비교는 동심원인 흑색 원끼리의 단부간 거리와 백색 원끼리의 단부간 거리의 비인 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 14 특징은 상술한 파인더 패턴 탐색 공정이 (a) 제 1 주사 방향으로 주사해서 얻은 파인더 패턴의 검출 흑백 패턴과 소정의 기준 흑백 패턴을 비교하는 제 1 공정과, (b) 제 2 주사 방향으로 주사해서 얻은 파인더 패턴의 검출 흑백 패턴과 소정의 기준 흑백 패턴을 비교하는 제 2 공정과, (c) 제 1 공정과 제 2 공정에 의해 파인더 패턴의 중심 좌표를 구하는 제 3 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 15 특징은 2차원 코드의 심볼과 2차원 코드의 심볼의 판독 화상 사이의 상관 관계를 나타내는 관계식을 산출하고, 산출한 관계식에 근거하여 2차원 코드의 심볼의 판독 화상을 보정하는 화상 보정 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 16 특징은 상술한 화상 보정 공정에 있어서, 2차원 코드의 심볼과 2차원 코드의 심볼의 판독 화상 사이의 상관 관계를 나타내는 관계식에 의해서 소정의 보정 정밀도에 따라 상관 관계의 관계 테이블을 생성하고, 생성한 관계 테이블에 의해서 판독 화상을 보정하는 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 17 특징은 상술한 화상 보정 공정에 있어서, 2차원 코드의 심볼이 소정의 평면상에 존재하는 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 18 특징은 상술한 화상 보정 공정에 있어서, 판독 화상이 비스듬한 각도에서 판독했을 때의 판독 화상인 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 19 특징은 상술한 화상 보정 공정에 있어서, 2차원 코드의 심볼과 2차원 코드의 심볼의 판독 화상 사이의 상관 관계를 나타내는 관계식은 경사각 보정식으로 이루어지고, 경사각 보정식을 산출하는 것에 의해 판독 화상을 보정하는 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 20 특징은 판독 화상에 있어서, 원이 2차원 코드의 심볼을 구성하는 요소 중의 하나이거나 또는 2차원 코드의 심볼을 구성하는 요소의 중심이 소정의 원의 원주상에 존재할 때, 원이 변형된 판독 화상상의 도형을 타원으로 근사시키는 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 21 특징은 상술한 타원에 의한 경사각 보정식에 의해서 보정 정밀도를 나타내는 소정의 보정 분할각에 따라 경사각 보정 테이블을 생성하는 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 22 특징은 보정 분할각 에 소정의 오프셋 각을 가산한 각도에 있어서의 경사각 보정식의 값을 경사각 보정 테이블에 추가하는 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 23 특징은 2차원 코드의 심볼의 판독 화상에 있어서, 소정의 점으로부터 소정의 거리에 있고 또한 소정의 각도 간격으로 배치되는 화소 데이터군의 「흑」 또는 「백」으로 구성되는 색 패턴이 소정의 색 템플릿 패턴과 일치하는 복수개의 화소 데이터군을 탐색하고, 탐색한 복수개의 화소 데이터군에 근거하여 2차원 코드의 심볼의 판독 화상에 있어서의 방향 모듈군을 구성하는 복수개의 방향 모듈을 검출하고, 복수개의 방향 모듈의 위치 정보 및 도형 정보를 취득하는 방향 모듈 탐색 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 24 특징은 상술한 방향 모듈 탐색 공정에 있어서, 소정의 색 템플릿 패턴이 제 1 색 템플릿 패턴, 제 2 색 템플릿 패턴 및 제 3 색 템플릿 패턴으로 구성되어 있는 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 25 특징은 상술한 방향 모듈 탐색 공정에 있어서, 소정의 거리는 제 1 색 템플릿 패턴, 제 2 색 템플릿 패턴 및 제 3 색 템플릿 패턴에 따라서 서로 다른 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 26 특징은 상술한 소정의 거리가 모듈폭에 소정의 값을 승산한 값인 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 27 특징은 상술한 모듈폭이 2차원 코드의 심볼의 판독 화상의 파인더 패턴의 도형 정보와 소정의 범위내에 존재하는 소정의 간격의 값인 레이트수 n에 근거하여 산출되는 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 28 특징은 상술한 방향 모듈 탐색 공정이 소정의 거리에 근거하여 탐색한 복수개의 화소 데이터군을 방향 모듈의 중심점의 복수개의 동일 거리 후보 데이터로 하고, 복수개의 동일 거리 후보 데이터에 근거하여 소정의 거리에 있어서의 방향 모듈의 중심점의 1개의 후보 데이터를 산출하는 공정과, 레이트수 n에 근거하여 산출된 복수개의 소정의 거리에 있어서의 방향 모듈의 중심점의 후보 데이터로부터 방향 모듈의 중심점의 위치를 산출하는 공정을 구비하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 29 특징은 상술한 방향 모듈 탐색 공정이 소정의 방향 모듈의 중심점의 위치가 소정의 위치로 되도록 2차원 코드의 심볼의 판독 화상의 위치 정보를 변환하는 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 30 특징은 상술한 2차원 코드의 심볼의 판독 화상에 있어서, 데이터 모듈군을 구성하는 데이터 모듈의 위치를 소정의 코드워드 변환 테이블에 근거하여 소정의 코드워드와 소정의 코드워드에 있어서의 소정의 비트 데이터에 대응시키는 것에 의해, 데이터 모듈의 비트 데이터 를 코드워드로 변환하고 변환한 코드워드를 소정의 데이터 문자로 변환하는 데이터 문자 변환 공정을 구비한 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 31 특징은 상술한 데이터 문자 변환 공정에 있어서, 데이터 모듈의 위치를 2차원 배열인 BT(n, m)을 요소로 하는 2차원 비트 배열 테이블에 의해서 지정하는 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 32 특징은 상술한 데이터 문자 변환 공정에 있어서, 소정의 코드워드 변환 테이블이 소정의 코드워드를 i번째의 코드워드로 하고, 소정의 코드워드에 있어서의 소정의 비트 데이터를 i번째의 코드워드의 j번째의 비트 데이터로 할 때, 하기의 관계식을 만족시키는 값인 CT(n, m)을 요소로 하는 코드워드 2차원 배열 테이블인 것을 특징으로 하는 2차원 코드 판독 방법이다.
i=[CT(n, m)/256]
j= CT(n, m)-i* 256
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 33 특징은 2차원 코드의 심볼이 데이터 정보를 흑백이 교대로 된 셀에 의해서 구성하고 있는 것을 특징으로 하는 2차원 코드 판독 방법이다.
또, 본 발명의 2차원 코드 판독 방법에 있어서의 제 34 특징은 2차원 코드의 심볼이 맥시코드 심볼인 것을 특징으로 하는 2차원 코드 판독 방법이다.
본 발명의 2차원 코드 판독 장치에 있어서의 제 1 특징은 2차원 코드의 심볼 의 판독 화상에 있어서의 파인더 패턴의 위치 정보, 방향 모듈의 위치 정보 및 방향 모듈의 도형 정보에 근거하여 파인더 패턴의 중심점과 방향 모듈을 통과하는 방향축을 산출하는 것에 의해, 2차원 코드의 심볼을 구성하는 모든 모듈의 위치 정보 및 도형 정보를 산출하는 데이터 모듈 탐색부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 2 특징은 상술한 데이터 모듈 탐색부가 (a) 파인더 패턴의 위치 정보와 방향 모듈의 위치 정보 및 도형 정보에 근거하여, 방향축상에 존재하는 모듈군을 구성하는 복수개의 모듈의 위치 정보 및 도형 정보를 산출하는 방향축상의 모듈 위치 산출부와, (b) 방향축상의 모듈 위치 산출부에 의해서 산출된 방향축상에 존재하는 복수개의 데이터 모듈의 비트 패턴을 검출하는 방향축상의 데이터 모듈 비트 패턴 검출부와, (c) 방향축상의 모듈 위치 산출부에 의해서 산출된 방향축상의 모듈군을 구성하는 복수개의 모듈의 위치 정보 및 도형 정보에 근거하여, 이웃하는 방향축에 의해서 구성되는 방향축 사이의 모듈군을 구성하는 복수개의 모듈의 위치 정보를 산출하는 방향축간 모듈 위치 산출부와, (d) 방향축간 모듈 위치 산출부에 의해서 산출된 방향축 사이에 존재하는 복수개의 데이터 모듈의 비트 패턴을 검출하는 방향축간 데이터 모듈 비트 패턴 검출부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 3 특징은 상술한 방향축상의 모듈 위치 산출부가 (a) 방향축상의 모듈군을 구성하는 복수개의 모듈의 중심점을 통과하도록 방향축의 각도를 보정하는 방향축 각도 보정부와, (b) 방향축 각도 보정부에 의해서 보정된 방향축상에 존재하는 복수개의 실모듈의 위치 정보를 산출하고, 산출한 위치 정보에 근거하여 복수개의 실모듈의 도형 정보인 모듈폭을 보정하는 방향축상의 실모듈폭 보정부와, (c) 방향축상의 실모듈폭 보정부에 의해서 산출된 실모듈의 위치 정보 및 도형 정보에 근거하여 방향축상에 존재하는 복수개의 가모듈의 위치 정보를 산출하고, 산출한 위치 정보에 근거하여 복수개의 가모듈의 도형 정보인 모듈폭을 보정하는 방향축상의 가모듈폭 보정부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 4 특징은 상술한 방향축 각도 보정부가 (a) 방향축상에 존재하는 1개 또는 연속하는 복수개의 「흑」의 모듈로 구성되는 「흑」의 모듈군의 영역에 근거하여 「흑」의 모듈군 중에 있어서 가장 파인더 패턴에 가까운 「흑」의 모듈의 제 1 보정 중심점을 산출하는 제 1 보정 중심점 산출부와, (b) 제 1 보정 중심점 산출부에 의해서 산출한 「흑」의 모듈의 제 1 보정 중심점을 통과하고 방향축과 이웃하는 방향축과 평행한 인접 예비축상에 존재하는 「흑」의 모듈을 포함하는 1개 또는 연속하는 복수개의 「흑」의 모듈로 구성되는 「흑」의 모듈군의 영역에 근거하여 「흑」의 모듈의 제 2 보정 중심점을 산출하는 제 2 보정 중심점 산출부와, (c) 제 2 보정 중심점 산출부에 의해서 산출한 「흑」의 모듈의 제 2 보정 중심점과 파인더 패턴의 중심점을 통과하는 방향 예비축상에 존재하는 「흑」의 모듈을 포함하는 1개 또는 연속하는 복수개의 「흑」의 모듈로 구성되는 「흑」의 모듈군의 영역에 근거하여 「흑」의 모듈의 중심점을 산출하는 중심점 산출부와, (d) 중심점 산출부에 의해서 산출한 「흑」의 모듈의 중심점과 파인더 패턴의 중심점을 통과하는 방향축의 보정한 각도를 산출하 는 방향축 보정 각도 산출부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 5 특징은 상술한 방향축상의 실모듈폭 보정부가 방향축상에 존재하는 1개 또는 연속하는 복수개의 동일한 색의 실모듈로 구성되는 동일한 색의 실모듈군의 영역에 근거하여, 동일한 색의 실모듈군을 구성하는 실모듈의 중심점 및 모듈폭을 산출하는 산출부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 6 특징은 상술한 방향축상의 가모듈폭 보정부가 (a) 모든 방향축중에 있어서 보정량이 가장 작은 방향축인 기준 방향축을 검출하는 기준 방향축 검출부와, (b) 기준 방향축 검출부에 의해서 검출된 기준 방향축상에 존재하는 파인더 패턴으로부터 가장 떨어져 있는 「흑」의 모듈의 도형 정보에 근거하여, 방향축상에 존재하는 복수개의 가모듈의 중심점 및 모듈폭을 산출하는 제 1 산출부와, (c) 기준 방향축상의 실모듈 및 가모듈의 위치 정보에 근거하여, 기준 방향축 이외의 방향축상에 존재하는 복수개의 가모듈의 중심점 및 모듈폭을 산출하는 제 2 산출부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 7 특징은 2차원 코드의 심볼의 판독 화상에 있어서의 소정의 주사 방향의 검출 패턴이 소정의 기준 패턴과 일치하는 주사선을 탐색하고, 탐색한 복수개의 주사선에 근거하여 2차원 코드의 심볼의 판독 화상에 있어서의 파인더 패턴을 검출하고, 파인더 패턴의 위치 정보 및 도형 정보를 취득하는 파인더 패턴 탐색부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 8 특징은 상술한 파인더 패턴 탐색부가 (a) 파인더 패턴에 대해서 여러 방향으로 주사하는 주사부와, (b) 이 주사부를 여러 방향으로 주사하는 것에 의해 복수개의 패턴을 취득하는 취득부와, (c)소정의 템플릿을 기억하는 기억부와, (d) 복수개의 패턴과 기억부에 기억된 소정의 템플릿을 각각 비교하는 비교부와, (e) 비교부에 의해 패턴과 템플릿이 일치했을 때, 주사부에 의한 주사선을 적어도 2개의 중심선을 결정하고 이 2개의 중심선에 의해 파인더 패턴의 중심 좌표를 결정하는 결정부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 9 특징은 상술한 파인더 패턴 탐색부가 (a) 미리 흑백 패턴의 각각의 길이가 결정된 템플릿을 보존하는 보존부와, (b) 파인더 패턴을 제 1 및 제 2 주사 방향으로 주사해서 흑백 패턴을 얻는 주사부와, (c) 이 주사부에 의해서 주사해서 얻은 파인더 패턴의 흑백 패턴과 보존부에 보존된 템플릿을 비교하는 비교부와, (d) 이 비교부에 의해서 제 1 주사 방향으로 주사해서 얻은 흑백 패턴과 템플릿의 흑백 패턴이 일치했을 때 주사부에 의해서 주사한 제 1 주사선을 파인더 패턴의 제 1 중심선으로서 결정하고, 비교부에 의해서 제 2 주사 방향으로 주사해서 얻은 흑백 패턴과 템플릿의 흑백 패턴이 일치했을 때 주사부에 의해서 주사한 제 2 주사선을 파인더 패턴의 제 2 중심선으로서 결정하고, 제 1 중심선과 제 2 중심선의 교점을 파인더 패턴의 중심점으로서 결정하는 결정부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 10 특징은 2차원 코드의 심볼과 2차원 코드의 심볼의 판독 화상 사이의 상관 관계를 나타내는 관계식을 산 출하고, 산출한 관계식에 근거하여 2차원 코드의 심볼의 판독 화상을 보정하는 화상 보정부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 11 특징은 상술한 화상 보정부에 있어서 2차원 코드의 심볼과 2차원 코드의 심볼의 판독 화상 사이의 상관 관계를 나타내는 관계식에 의해서 소정의 보정 정밀도에 따라 상관 관계의 관계 테이블을 생성하고, 생성한 관계 테이블에 의해서 판독 화상을 보정하는 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 12 특징은 상술한 화상 보정부에 있어서, 2차원 코드의 심볼이 소정의 평면상에 존재하는 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 13 특징은 상술한 화상 보정부에 있어서, 판독 화상이 비스듬한 각도에서 판독했을 때의 판독 화상인 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 14 특징은 상술한 화상 보정부에 있어서, 2차원 코드의 심볼과 2차원 코드의 심볼의 판독 화상 사이의 상관 관계를 나타내는 관계식은 경사각 보정식으로 이루어지고, 경사각 보정식을 산출하는 것에 의해 판독 화상을 보정하는 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 15 특징은 상술한 판독 화상에 있어서, 원이 2차원 코드의 심볼을 구성하는 요소 중의 하나이거나 또는 2 차원 코드의 심볼을 구성하는 요소의 중심이 소정의 원의 원주상에 존재할 때, 원이 변형된 판독 화상상의 도형을 타원으로 근사시키는 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 16 특징은 상술한 타원에 의한 경사각 보정식에 의해서 보정 정밀도를 나타내는 소정의 보정 분할각에 따라 경사각 보정 테이블을 생성하는 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 17 특징은 보정 분할각에 소정의 오프셋 각을 가산한 각도에 있어서의 경사각 보정식의 값을 경사각 보정 테이블에 추가하는 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 18 특징은 2차원 코드의 심볼의 판독 화상에 있어서, 소정의 점으로부터 소정의 거리에 있고 또한 소정의 각도 간격으로 배치되는 화소 데이터군의 「흑」 또는 「백」으로 구성되는 색 패턴이 소정의 색 템플릿 패턴과 일치하는 복수개의 화소 데이터군을 탐색하고, 탐색한 복수개의 화소 데이터군에 근거하여 2차원 코드의 심볼의 판독 화상에 있어서의 방향 모듈군을 구성하는 복수개의 방향 모듈을 검출하고, 복수개의 방향 모듈의 위치 정보 및 도형 정보를 취득하는 방향 모듈 탐색부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 19 특징은 상술한 방향 모듈 탐색부에 있어서, 소정의 색 템플릿 패턴이 제 1 색 템플릿 패턴, 제 2 색 템플릿 패턴 및 제 3 색 템플릿 패턴으로 구성되어 있는 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 20 특징은 상술한 방향 모듈 탐색부에 있어서, 소정의 거리는 제 1 색 템플릿 패턴, 제 2 색 템플릿 패턴 및 제 3 색 템플릿 패턴에 따라서 서로 다른 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 21 특징은 상술한 소정의 거리가 모듈폭에 소정의 값을 승산한 값인 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 22 특징은 상술한 모듈폭이 2차원 코드의 심볼의 판독 화상의 파인더 패턴의 도형 정보와 소정의 범위내에 존재하는 소정의 간격의 값인 레이트수 n에 근거하여 산출되는 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 23 특징은 상술한 방향 모듈 탐색부가 (a) 소정의 거리에 근거하여 탐색한 복수개의 화소 데이터군을 방향 모듈의 중심점의 복수개의 동일 거리 후보 데이터로 하고, 복수개의 동일 거리 후보 데이터에 근거하여 소정의 거리에 있어서의 방향 모듈의 중심점의 1개의 후보 데이터를 산출하는 제 1 산출부와, (b) 레이트수 n에 따라서 산출된 복수개의 소정의 거리에 있어서의 방향 모듈의 중심점의 후보 데이터로부터 방향 모듈의 중심점의 위치를 산출하는 제 2 산출부를 구비하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 24 특징은 상술한 방향 모듈 탐색부가 소정의 방향 모듈의 중심점의 위치가 소정의 위치로 되도록 2차원 코드의 심볼의 판독 화상의 위치 정보를 변환하는 변환부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 25 특징은 2차원 코드의 심볼의 판독 화상에 있어서, 데이터 모듈군을 구성하는 데이터 모듈의 위치를 소정의 코드워드 변환 테이블에 근거하여 소정의 코드워드와 소정의 코드워드에 있어서의 소정의 비트 데이터에 대응시키는 것에 의해, 데이터 모듈의 비트 데이터를 코드워드로 변환하고 변환한 코드워드를 소정의 데이터 문자로 변환하는 데이터 문자 변환부를 구비한 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 26 특징은 상술한 데이터 문자 변환부에 있어서, 데이터 모듈의 위치를 2차원 배열인 BT(n, m)을 요소로 하는 2차원 비트 배열 테이블에 의해서 지정하는 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 27 특징은 상술한 데이터 문자 변환부에 있어서, 소정의 코드워드 변환 테이블이 소정의 코드워드를 i번째의 코드워드로 하고, 소정의 코드워드에 있어서의 소정의 비트 데이터를 i번째의 코드워드의 j번째의 비트 데이터로 할 때, 하기의 관계식을 만족시키는 값인 CT(n, m)을 요소로 하는 코드워드 2차원 배열 테이블인 것을 특징으로 하는 2차원 코드 판독 장치이다.
i=[CT(n, m)/256]
j= CT(n, m)-i* 256
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 28 특징은 2차원 코드의 심볼은 데이터 정보를 흑백이 교대로 된 셀에 의해서 구성하고 있는 것을 특징으로 하는 2차원 코드 판독 장치이다.
또, 본 발명의 2차원 코드 판독 장치에 있어서의 제 29 특징은 2차원 코드의 심볼은 맥시코드 심볼인 것을 특징으로 하는 2차원 코드 판독 장치이다.
본원의 정보 기록 매체에 있어서의 제 1 특징은 상술한 2차원 코드 판독 방법의 공정을 갖는 프로그램을 기록한 정보 기록 매체이다.
또, 본 발명의 정보 기록 매체에 있어서의 제 2 특징은 상술한 정보 기록 매체가 컴팩트 디스크, 플로피 디스크, 하드디스크, 광자기디스크, 디지털 다용도 디스크(digital versatile disc), 자기테이프 또는 메모리 카드인 것을 특징으로 하는 프로그램을 기록한 정보 기록 매체이다.
본 발명의 상기 및 그 밖의 목적, 특징, 국면 및 이익 등은 첨부 도면을 참조로 하여 설명하는 이하의 상세한 실시예로부터 더욱 명백해질 것이다.
본 발명의 1실시예를 도면을 참조하면서 설명한다. 또, 이하에 설명하는 실시예는 설명을 위한 것으로서, 본 발명의 범위를 제한하는 것은 아니다. 따라서, 당업자라면 이들의 각 요소 또는 전체 요소를 이것과 균등인 것으로 치환한 실시예를 채용하는 것이 가능하지만, 이들의 실시예도 본 발명의 범위에 포함된다.
도 1은 본 발명의 2차원 코드 판독 장치의 주요한 요소의 블럭 구성도이다. 이하에 각 요소에 대해서 설명한다.
2차원 코드 판독 장치(100)는 광원(101), 개구(102)를 갖는 광센서(103), 수신기 및 AD 변환기(104), CPU(105), VRAM(106) 및 ROM(107)을 구비하고 있다.
광원(101)은 맥시코드 심볼(110)을 조사하기 위한 것으로서, LED(발광 다이오드)나 반도체 레이저로 구성된다. 광센서(103)는 맥시코드 심볼(110)에서 반사된 광을 수신하고 수신한 광을 전기 신호로 변환하기 위한 것으로서, 1차원 또는 2차원 CCD(전하 결합 소자) 등으로 구성된다. 수신기 및 AD 변환기(104)는 광센서(103)로부터의 전기 신호를 수신하고, CPU(105)에 있어서 처리할 수 있는 신호로 변환한다. CPU(105)는 신호인 이미지 화상에 대해서 디코드 처리를 실행한다.
광센서(103)는 맥시코드 심볼(110)의 구성 요소로부터 반사된 변조광인 아날로그 신호를 생성한다. 즉, 광센서(103)의 CCD 어레이에 있어서의 각 픽셀 소자는 대표적으로는 그레이 레벨의 신호 즉 비디오 데이터 신호와 마찬가지의 특정한 픽셀 소자에 작용하는 광의 양 또는 강도를 결정하는 아날로그 신호를 출력한다.
수신기 및 AD 변환기(104)의 수신기부는 변조광인 아날로그 신호를 수신하고, 수신기 및 AD 변환기(104)의 AD 변환기부는 수신한 아날로그 신호를 디지털 신호로 변환해서 CPU(105)로 송신한다. 즉, 수신기 및 AD 변환기(104)는 바람직하게는 그레이 레벨의 신호를 예를 들면 CPU(105)에 있어서의 처리에 사용하기 위한 그레이의 16레벨을 갖는 디지털 신호로 변환한다. 수신기 및 AD 변환기(104)는 디지털 신호인 맥시코드 심볼(110)의 이미지 화상을 VRAM(106)에 축적한다.
CPU(105)는 축적된 이미지 화상에 대해서 화상 처리를 실행한 후, 인터페이스를 거쳐서 처리의 결과를 주변기기 또는 호스트 컴퓨터(도시하지 않음)로 출력할 수 있다.
또, CPU(105)의 화상 처리를 호스트 컴퓨터에 있어서 실행할 수도 있다.
수신기 및 AD 변환기(104)와 CPU(105)는 VRAM(106)에 결합되어 있다. ROM(107)은 CPU(105)을 작동시키는 프로그램을 내장하고 있다. 또, 후술하는 소정의 값을 기억하고 있다. 또한, 맥시코드 심볼(110)의 중심부의 동심원이 파인더 패턴(111)이다.
본 발명의 2차원 코드 판독 장치는 2차원 코드의 심볼의 판독 화상에 있어서의 파인더 패턴의 위치 정보, 방향 모듈의 위치 정보 및 방향 모듈의 도형 정보에 근거하여 파인더 패턴의 중심점과 방향 모듈을 통과하는 방향축을 산출하는 것에 의해, 2차원 코드의 심볼을 구성하는 모든 모듈의 위치 정보 및 도형 정보를 산출하는 데이터 모듈 탐색부를 구비하고 있다.
또, 본 발명의 2차원 코드 판독 장치는 2차원 코드의 심볼의 판독 화상에 있어서의 소정의 주사 방향의 검출 패턴이 소정의 기준 패턴과 일치하는 주사선을 탐색하고, 탐색한 복수개의 주사선에 따라서 2차원 코드의 심볼의 판독 화상에 있어서의 파인더 패턴을 검출하고, 파인더 패턴의 위치 정보 및 도형 정보를 취득하는 파인더 패턴 탐색부를 구비하고 있다.
또, 본 발명의 2차원 코드 판독 장치는 2차원 코드의 심볼과 2차원 코드의 심볼의 판독 화상 사이의 상관 관계를 나타내는 관계식을 산출하고, 산출한 관계식 에 근거하여 2차원 코드의 심볼의 판독 화상을 보정하는 화상 보정부를 구비하고 있다.
또, 본 발명의 2차원 코드 판독 장치는 2차원 코드의 심볼의 판독 화상에 있어서, 소정의 점으로부터 소정의 거리에 있고 또한 소정의 각도 간격으로 배치되는 화소 데이터군의 「흑」 또는 「백」으로 구성되는 색 패턴이 소정의 색 템플릿 패턴과 일치하는 복수개의 화소 데이터군을 탐색하고, 탐색한 복수개의 화소 데이터군에 근거하여 2차원 코드의 심볼의 판독 화상에 있어서의 방향 모듈군을 구성하는 복수개의 방향 모듈을 검출하고, 복수개의 방향 모듈의 위치 정보 및 도형 정보를 취득하는 방향 모듈 탐색부를 구비하고 있다.
또, 본 발명의 2차원 코드 판독 장치는 2차원 코드의 심볼의 판독 화상에 있어서, 데이터 모듈군을 구성하는 데이터 모듈의 위치를 소정의 코드워드 변환 테이블에 근거하여 소정의 코드워드와 소정의 코드워드에 있어서의 소정의 비트 데이터에 대응시키는 것에 의해, 데이터 모듈의 비트 데이터를 코드워드로 변환하고 변환한 코드워드를 소정의 데이터 문자로 변환하는 데이터 문자 변환부를 구비하고 있다.
상술한 본 발명의 2차원 코드 판독 장치에 대해서 도면을 참조하면서, 이하에 설명한다.
도 2는 2차원 코드에 있어서의 판독 장치의 기능 블럭도이다. 이하에 각 기능에 대해서 설명한다.
2차원 코드에 있어서의 판독 장치는 제어부(201), 화소 데이터 기억부(202), 파인더 패턴 탐색부(203), 화상 보정부(204), 방향 모듈 탐색부(205), 데이터 모듈 탐색부(206) 및 데이터 문자 변환부(207)를 구비하고 있다.
화소 데이터 기억부(202)는 도시하지 않는 광센서(103)를 거쳐서 판독한 이미지 화상의 화상 정보를 화소의 위치와 대응되어 있는 화소 데이터로 하고, VRAM(106)의 화소 데이터 기억부(210)에 기억한다.
파인더 패턴 탐색부(203)는 VRAM(106)의 화소 데이터 기억부(210)에 기억된 화소 데이터와 디코드 정보 기억부(220)에 기억되어 있는 소정의 기준 패턴에 근거하여 맥시코드 심볼의 파인더 패턴을 탐색하고, 파인더 패턴의 도형 정보인 파인더 패턴의 중심점, 파인더 패턴의 크기 및 파인더 패턴의 형상을 산출한다. 또한, 산출한 파인더 패턴의 도형 정보를 VRAM(106)의 파인더 패턴 정보 기억부(211)에 기억한다.
화상 보정부(204)는 파인더 패턴 탐색부(203)에 의해서 탐색된 파인더 패턴의 화소 데이터로부터 산출되는 파인더 패턴의 도형 정보와 실제의 맥시코드 심볼의 도형 정보로부터 광센서(103)에 의해 비스듬한 각도에서 판독된 화상 정보의 경사각 보정식을 산출하고, 산출한 경사각 보정식에 의해서 경사각 보정 테이블을 생성하고, 그리고 판독된 맥시코드 심볼의 화상 정보인 화소 데이터를 경사각 보정 테이블에 근거하여 보정한다. 또한, 산출한 경사각 보정식 또는 경사각 보정 테이블 및 보정된 화소 데이터로 이루어지는 맥시코드 심볼의 보정 화상 정보를 VRAM(106)의 화상 보정 정보 기억부(212)에 기억한다.
방향 모듈 탐색부(205)는 화상 보정부(204)에 의해서 보정된 맥시코드 심볼 의 화상 정보, 실제의 맥시코드 심볼의 도형 정보 및 디코드 정보 기억부(220)에 미리 기억되어 있는 소정의 색 템플릿 패턴에 근거하여 방향 모듈을 탐색하고, 6개의 방향에 3개씩 존재하는 18개의 방법 모듈의 위치 정보 및 도형 정보를 산출한다. 또, 산출한 방향 모듈의 위치 정보에 의해 맥시코드 심볼의 방향을 결정한다. 또한, 산출한 방향 모듈의 위치 정보 및 도형 정보를 VRAM(106)의 방향 모듈 정보 기억부(213)에 기억한다.
데이터 모듈 탐색부(206)는 파인더 패턴 탐색부(203)에 의해서 산출한 파인더 패턴의 도형 정보와 방향 모듈 탐색부(205)에 의해서 산출한 방향 모듈의 위치 정보 및 도형 정보에 근거하여 광센서(103)에 의해 판독된 화상 정보의 왜곡 보정을 하는 것에 의해, 맥시코드 심볼에 있어서의 모든 데이터 모듈을 탐색하고 데이터 모듈의 위치 정보 및 도형 정보를 산출한다. 또한, 산출한 데이터 모듈의 위치 정보 및 도형 정보를 VRAM(106)의 데이터 모듈 정보 기억부(214)에 기억한다.
데이터 문자 변환부(207)는 산출한 모든 데이터 모듈의 색을 예를 들면 데이터 모듈이 「백」일 때 비트 0으로 하고, 데이터 모듈이 「흑」일 때 비트 1로 하는 비트 패턴으로 변환한다(이후, 「비트 변환」이라고 함). 비트 변환한 데이터를 2차원 비트 배열 테이블에 저장하고, 디코드 정보 기억부(220)에 미리 기억되어 있는 코드워드 2차원 배열 테이블에 근거하여 1문자분의 데이터를 나타내는 데이터 코드워드와 오류 정정의 정보를 나타내는 오류 정정 코드워드로 변환한다(이후, 「코드워드 변환」이라고 함). 코드워드 변환한 데이터 코드워드는 또는 오류 정정 코드워드를 사용하여 오류 정정 처리를 실행하는 것에 의해 올바른 데이터 코드워 드로 복원된다.
오류 정정 처리된 데이터 코드워드를 디코드 정보 기억부(220)에 미리 기억되어 있는 결함 문자 설정표에 근거하여 데이터 문자로 변환한다. 변환한 데이터 문자를 VRAM(106)의 디코드 결과 기억부(215)에 기억한다. 또한, 데이터 문자 변환의 중간 처리 데이터인 비트 변환한 데이터, 코드워드 변환한 데이터 및 오류 정정한 데이터를 VRAM(106)의 디코드 결과 기억부(215)에 기억해도 좋다.
제어부(201)는 화소 데이터 기억부(202), 파인더 패턴 탐색부(203), 화상 보정부(204), 방향 모듈 탐색부(205), 데이터 모듈 탐색부(206) 및 데이터 문자 변환부(207)의 각각을 서로 관련지어 제어한다.
본 발명의 2차원 코드 판독 방법은 2차원 코드의 심볼의 판독 화상에 있어서의 파인더 패턴의 위치 정보, 방향 모듈의 위치 정보 및 방향 모듈의 도형 정보에 근거하여 파인더 패턴의 중심점과 방향 모듈을 통과하는 방향축을 산출하는 것에 의해, 2차원 코드의 심볼을 구성하는 모든 모듈의 위치 정보 및 도형 정보를 산출하는 데이터 모듈 탐색 공정을 구비하고 있다.
또, 본 발명의 2차원 코드 판독 방법은 2차원 코드의 심볼의 판독 화상에 있어서의 소정의 주사 방향의 검출 패턴이 소정의 기준 패턴과 일치하는 주사선을 탐색하고, 탐색한 복수개의 주사선에 따라서 2차원 코드의 심볼의 판독 화상에 있어서의 파인더 패턴을 검출하고, 파인더 패턴의 위치 정보 및 도형 정보를 취득하는 파인더 패턴 탐색 공정을 구비하고 있다.
또, 본 발명의 2차원 코드 판독 방법은 2차원 코드의 심볼과 2차원 코드의 심볼의 판독 화상 사이의 상관 관계를 나타내는 관계식을 산출하고, 산출한 관계식에 근거하여 2차원 코드의 심볼의 판독 화상을 보정하는 화상 보정 공정을 구비하고 있다.
또, 본 발명의 2차원 코드 판독 방법은 2차원 코드의 심볼의 판독 화상에 있어서, 소정의 점으로부터 소정의 거리에 있고 또한 소정의 각도 간격으로 배치되는 화소 데이터군의 「흑」 또는 「백」으로 구성되는 색 패턴이 소정의 색 템플릿 패턴과 일치하는 복수개의 화소 데이터군을 탐색하고, 탐색한 복수개의 화소 데이터군에 근거하여 2차원 코드의 심볼의 판독 화상에 있어서의 방향 모듈군을 구성하는 복수개의 방향 모듈을 검출하고, 복수개의 방향 모듈의 위치 정보 및 도형 정보를 취득하는 방향 모듈 탐색 공정을 구비하고 있다.
또, 본 발명의 2차원 코드 판독 방법은 상술의 2차원 코드의 심볼의 판독 화상에 있어서, 데이터 모듈군을 구성하는 데이터 모듈의 위치를 소정의 코드워드 변환 테이블에 근거하여 소정의 코드워드와 소정의 코드워드에 있어서의 소정의 비트 데이터에 대응시키는 것에 의해, 데이터 모듈의 비트 데이터를 코드워드로 변환하고 변환한 코드워드를 소정의 데이터 문자로 변환하는 데이터 문자 변환 공정을 구비하고 있다.
상술한 본 발명의 2차원 코드 판독 방법에 대해서 도면을 참조하면서, 이하에 상세하게 설명한다.
도 3은 본 발명의 2차원 코드 판독 방법에 있어서의 디코드 처리의 흐름도이다.
우선, 광센서(103)를 거쳐서 판독한 이미지 화상의 화상 정보를 화소의 위치와 대응되어 있는 화소 데이터로 하고, VRAM(106)의 화소 데이터 기억부(210)에 화소 데이터를 기억한다(S301).
화소 데이터는 화소의 위치를 나타내는 좌표값과 화상의 그레이 레벨을 나타내는 그레이 스케일값에 의해서 구성되어 있다. 여기서, 흑색에 가까울수록 그레이 스케일값을 작은 값으로 한다. 또한, 화소 데이터의 그레이 스케일값은 디코드 정보 기억부(220)에 미리 기억되어 있는 소정의 그레이 스케일 임계값에 의해서 「흑」= 1과 「백」= 0의 2값의 패턴값으로 변환된다. 즉, 화소의 그레이 스케일값이 그레이 스케일 임계값 미만인 경우에 패턴값은 「흑」= 1로 되고, 화소의 그레이 스케일값이 그레이 스케일 임계값 이상인 경우에 패턴값은「백」= 0으로 된다. 여기서, 「흑」= 1과 「백」= 0의 2값을 화상 데이터로 하고 화상 데이터 기억부(210)에 기억해도 좋다. 또, 그레이 스케일 임계값은 변경 가능한 값이다.
다음에, VRAM(106)의 화소 데이터 기억부(210)에 기억된 화소 데이터로부터 맥시코드 심볼의 절단 심볼인 파인더 패턴을 탐색한다(S302).
파인더 패턴의 탐색에 의해서, 파인더 패턴의 도형 정보인 파인더 패턴의 중심점, 파인더 패턴의 크기 및 파인더 패턴의 형상을 산출한다. 실제의 맥시코드 심볼의 파인더 패턴은 도 59의 (b)에 도시하는 바와 같이 6개의 동심원에 의해서 생성되는 1개의 백색 원, 2개의 백색 고리 및 3개의 흑색 고리로 구성된다. 따라서, 파인더 패턴의 도형 정보로서 파인더 패턴의 중심점의 위치 좌표 및 파인더 패턴의 백색부와 흑색부의 색 경계의 위치 좌표군을 산출한다.
다음에, 탐색한 파인더 패턴의 도형 정보와 실제의 맥시코드 심볼에 있어서의 파인더 패턴의 도형 정보를 비교하는 것에 의해, 광센서(103)를 거쳐서 비스듬한 각도에서 판독했을 때의 판독 화상 정보의 경사각에 의한 경사각 보정식을 산출하고, 산출한 경사각 보정식에 의해 소정의 보정 정밀도에 근거하여 경사각 보정 테이블을 생성하고, 또 생성한 경사각 보정 테이블에 따라 화소 데이터의 경사각 보정을 실행한다(S303).
도 35는 비스듬한 각도에서 판독했을 때의 판독 화상 정보와 실제의 맥시코드 심볼의 관계를 도시한 도면이다. 도 35는 x축 및 z축과 직교하는 y축으로 이루어지는 우측계의 3차원 공간에 있어서 y축상을 정의 방향에서 보았을 때의 도면이다.
도 35에 도시하는 바와 같이, x-y 평면상의 도형 S를 S=S(x, y, 0)로 하고, 도형 S상의 점을 점 A, 점 B로 한다. 또, x-z 평면상에 점 P를 취한다. 도형 S를 맥시코드 심볼의 파인더 패턴의 원으로 하고, 선분 AB를 파인더 패턴의 직경으로 하고, 점 P를 광센서(103)에 의해 판독되었을 때의 초점으로 하고, 판독 화상의 중심을 점 C로 할 때, 판독 화상은 선분 PC와 직교하는 평면상의 화상으로 되고, 선분 AB를 판독한 선분은 선분 A’B’로 된다. 또, 삼각형 A’B’P와 삼각형 A”B”P는 상사형이기 때문에, 선분 AB를 판독한 선분은 선분 A”B”라고 고려해도 상관없다. 여기서, 파인더 패턴의 중심점을 점 0으로 한다.
비스듬한 각도에서 판독된 판독 화상과 실제의 맥시코드 심볼의 관계는 하기의 관계식 f 및 g, 또는 h를 산출하는 것에 의해서 판명된다.
A”= f(A’)=f(g(A))= h(A)
B”= f(B’)=f(g(B))= h(B)
C = f(C’)=f(g(C))= h(C)
또, 하기의 관계식 f-1 및 g-1 또는 h-1을 산출하는 것에 의해도 판독 화상과 실제의 맥시코드 심볼의 관계는 판명된다.
A= g-1(A’)=g-1(f-1(A”))=h-1(A”)
B= g-1(B’)=g-1(f-1(B”))=h-1(B”)
C= g-1(C’)=g-1(f-1(C))=h-1(C)
따라서, 관계식 f 및 g 또는 h, 관계식 f-1 및 g-1 또는 h-1이 비스듬한 각도에서 판독되었을 때의 판독 화상과 실제의 맥시코드 심볼의 관계식, 즉 경사각 보정식으로 된다. 또, 산출한 경사각 보정식에 의해 소정의 보정 정밀도에 근거하여 경사각 보정 테이블을 생성한다.
생성한 경사보정 테이블에 근거하여 맥시코드 심볼의 판독 화상에 있어서의 필요한 화소 데이터의 화상 보정을 실행한다.
또, 맥시코드 심볼의 방향 모듈을 탐색하는 것에 의해 모든 데이터 모듈을 탐색할 수 있으므로, 맥시코드 심볼의 판독 화상을 구성하는 모든 화소 데이터를 화상 보정할 필요는 없고, 방향 모듈이 존재하는 범위의 화소 데이터에 대해서 화상 보정을 실행하면 충분하다. 따라서, 산출하는 경사각 보정식은 맥시코드 심볼 의 방향 모듈이 존재하는 범위에 있어서 성립하는 관계식이면 충분하다.
다음에, 디코드 정보 기억부(220)에 미리 기억되어 있는 소정의 색 템플릿과 일치하는 화상 보정을 실행한 화소 데이터를 모두 검출하고, 검출한 화소 데이터에 근거하여 방향 모듈의 위치 정보 및 도형 정보를 산출한다(S304).
도 60에 도시한 바와 같이, 방향 모듈은 맥시코드 심볼의 방향을 나타내는 모듈로서, 맥시코드 심볼의 결정된 위치에 배치되어 있다. 따라서, 방향 모듈을 탐색하고 방향 모듈의 위치 정보 및 도형 정보를 산출하는 것에 의해, 맥시코드 심볼의 방향을 알 수 있다. 또, 맥시코드 심볼의 방향을 아는 것에 의해, 맥시코드 심볼의 각 데이터 모듈의 위치를 알 수 있어 각 데이터 모듈의 색을 알 수 있다.
다음에, 산출한 방향 모듈과 파인더 패턴의 중심점을 연결한 방향축, 방향 모듈의 위치 정보 및 방향 모듈의 도형 정보에 근거하여 광센서(103)에 의해 판독된 화상 정보의 왜곡 보정을 실행하는 것에 의해, 맥시코드 심볼을 구성하는 모든 데이터 모듈을 방향축상의 데이터 모듈과 방향축 사이의 영역에 존재하는 데이터 모듈로 나누고 각 데이터 모듈의 위치 정보 및 도형 정보를 산출한다(S305).
다음에, 산출한 각 데이터 모듈의 색을 식별하고 모든 데이터 모듈을 비트 변환하고, 비트 변환한 데이터를 2차원 비트 배열 테이블에 저장하고, 디코드 정보 기억부(220)에 미리 기억되어 있는 소정의 코드워드 2차원 배열 테이블에 근거하여 데이터를 코드워드로 변환하고 오류 정정 처리를 실시한 후, 코드워드를 디코드 정보 기억부(220)에 미리 기억되어 있는 소정의 결함 문자 설정표에 근거하여 데이터 문자로 변환하고(S306) 디코드 처리를 종료한다. 여기서, 상술한 단계 S302 내지 단계 S306이 모두 구비된 방법이 아니더라도, 상술한 단계 S302 내지 단계 S306 중의 어느 1개의 단계만이 구비되어 있으면 좋다.
상술한 파인더 패턴 탐색 단계에 대해서 일례를 들어 설명한다. 그 상세한 것에 대해서는 도 4, 도 26, 도 27, 도 28 및 도 29를 참조해서 설명한다.
도 4는 맥시코드 심볼의 디코드 처리에 있어서의 파인더 패턴 탐색 처리의 흐름도이다.
우선, 맥시코드 심볼의 판독 화상을 제 1 주사 방향으로 주사하고, 주사선상의 검출 패턴(이하, 「색 패턴 관계식」이라고 함)과 기준 패턴(이하, 「파인더 패턴 템플릿」이라고 함)을 비교하는 것에 의해, 파인더 패턴의 중심점 근방에 존재하는 주사선을 검색하고, 검색한 주사선으로부터 중심점을 산출한다. 또, 마찬가지의 처리를 복수회 실행하는 것에 의해 복수개의 주사선을 검색하고, 주사선마다 얻어지는 복수개의 중심점을 산출한다(S401). 여기서, 제 1 주사 방향으로 주사한 파인더 패턴의 중심점 근방의 주사선을 임시 제 1 주사 방향 중심선, 중심점을 임시 제 1 주사 방향 중심점, 복수개의 중심점의 집합을 임시 제 1 주사 방향 중심점군이라고 한다. 따라서, 복수개의 임시 제 1 주사 방향 중심선을 검색하고, 복수개의 임시 제 1 주사 방향 중심점으로 이루어지는 임시 제 1 주사 방향 중심점군을 산출한다. 또, 제 1 방향을 화상의 수평 방향으로 해도 좋다.
도 26은 파인더 패턴 템플릿을 설명하는 도면이다. 도 26의 (a)는 파인더 패턴의 중심점을 통과하는 선분상의 색 패턴을 도시한 도면이고, 도 26의 (b)는 파인더 패턴 템플릿을 도시한 도면이다.
도 26의 (a)에 도시하는 바와 같이, 파인더 패턴의 중심점을 통과하는 선분(2601)상을 화살표 방향으로 색 패턴을 검색한 결과는 「백」=High(고) 및 「흑」=Low(저)로 하는 증감도로 표시된다. 또, 도 26의 (b)에 도시하는 바와 같이, 증감 도면에 있어서, 최초의 흑색부(도면중의 A)의 단으로부터 다음의 흑색부의 단(도면중의 C)까지의 거리를 1로 하면, 최초의 백색부(도면중의 B)의 단으로부터 다음의 백색부의 단(도면중의 D)까지의 거리도 1로 된다. 또, 중심부의 백색 원을 포함하는 흑색부의 단(도면중의 E)으로부터 흑색부의 단(도면중의 G) 및 백색부의 단(도면중의 F)으로부터 백색부의 단(도면중의 H)이 1.26으로 된다.
따라서, 중심부를 좌측 방향으로부터 우측 방향(A→ L)으로 주사하고, 흑∼흑(A∼C), 백∼백(B∼D), 흑∼흑(C∼E),,, 백∼백(J∼L)을 순서대로 비율을 맞춰 가면, 하기의 색 패턴 관계식이 성립한다. 여기서, 예를 들면 AC는 점 A로부터 점 C까지의 거리를 나타낸다.
AC:BD:CE:DF:EG:FH:GI:HJ:IK:JL
= 1:1:1:1:1.26:1.26:1:1:1:1
상술한 파인더 패턴의 색 패턴 관계식을 파인더 패턴 템플릿으로 하고, ROM(107)의 디코드 정보 기억부(220)에 미리 기억해 둔다.
또, 중심부를 우측 방향으로부터 좌측 방향(L→ A)으로 주사하고, 흑∼흑(L∼J), 백∼백(K∼I), 흑∼흑(J∼H),,,, 백∼백(C∼A)을 순서대로 비율을 맞춰 가면, 마찬가지로 하기의 관계식이 성립한다.
LJ:KI:JH:IG:HF:GE:FD:EC:BD:CA
= 1:1:1:1:1.26:1.26:1:1:1:1
따라서, 우선, 도 27의 (a)와 같이 맥시코드 심볼의 판독 화상을 포함하는 전체 화상(2701)의 중심 부근을 수평 방향(제 1 주사 방향)으로 주사하고, 주사선(2702)상의 색 패턴에 따른 증감도(도 27의 (b))를 생성하고, 주사선상의 색 패턴 관계식을 산출한다. 그리고, 산출한 색 패턴 관계식과 ROM(107)의 디코드 정보 기억부(220)에 기억되어 있는 파인더 패턴 템플릿(도 26의 (b)) 사이에 있어서 패턴 매칭을 실행하고, 일치한 경우에는 그 주사선을 수평 방향의 임시 중심선(임시 제 1 주사 방향 중심선)으로 한다. 여기서, 임시 중심선으로 해 두는 것은 가끔 흑과 백의 데이터가 파인더 패턴 템플릿과 마찬가지의 간격으로 나란히 배열되어 있는 경우도 있기 때문이다.
도 27의 (b)에 도시하는 바와 같이, 증감 도면에 있어서 색 패턴 관계식의 비교 대상 개수와 파인더 패턴 템플릿의 비교 대상 개수가 일치하지 않는 경우에는 파인더 패턴의 중심에 존재하는 흰색 원(2703)을 주사선이 통과하고 있지 않다는 것을 알 수 있다. 그 경우에는 도 28에 도시하는 바와 같이 전체 화상(2801)의 중심선(1)에 대해서 2, 3,··과 같이 상하로 순서대로 주사를 실행하고, 색 패턴 관계식과 파인더 패턴 템플릿의 패턴 매칭을 실행하여 일치하는 주사선을 구하고, 가장 파인더 패턴 템플릿에 가까운 주사선을 수평 방향의 중심선으로 한다.
그 중심선의 가장 바깥쪽의 흑색의 원의 내측(도 26의 (b)에서 B에 상당하는 점)∼반대측의 점(도 26의 (b)에서 K에 상당하는 점)(즉, 파인더 패턴의 백색의 가장 바깥 원의 양끝)까지의 중점을 임시 중심점(임시 제 1 주사 방향 중심점)으로 한다.
여기서, 파인더 패턴의 흑색의 가장 바깥쪽의 원의 양 단부의 중점을 중심점으로 하지 않고 백색의 가장 바깥쪽의 원의 양 단부의 중점을 중심점으로 한 것은 파인더 패턴의 흑색의 가장 바깥쪽의 원과 흑화소의 데이터가 접촉하여 가장 바깥쪽의 원을 잘못 판단할 우려가 있기 때문이다.
또, 파인더 패턴 템플릿과 일치하는 주사선을 일의적으로 결정할 수 없어 수평 방향의 중심선의 후보가 복수개 얻어지는 경우도 있다. 그 경우는 중심점의 x좌표를 사사 오입하고 동일한 정수값으로 되는 것만을 x좌표의 후보로 해서, 복수개의 임시 중심점(임시 제 1 주사 방향 중심점군)을 RAM에 기억한다. 수평주사선에 대해서 수직 방향에 있어서의 임시 중심점이 가장 많이 분포하고 있는 개소를 수직 방향으로의 임시 중심점의 존재가 가장 높은 것으로 추정한다.
다음에, 수평 방향의 임시 중심선으로부터 상하로 멀어지는 방향으로 주사를 반복하고, 그 판독 데이터를 VRAM(106)의 파인더 패턴 정보 기억부(211)에 기억한다.
다음에, 제 1 주사 방향과는 다른 제 2 주사 방향으로 주사하고, 주사선상의 색 패턴 관계식과 파인더 패턴 템플릿을 비교하는 것에 의해, 파인더 패턴의 중심점 근방에 존재하는 주사선을 검색하고, 검색한 주사선으로부터 중심점을 산출한다. 또, 마찬가지의 처리를 여러회 실행하는 것에 의해 복수개의 주사선을 검색하고, 주사선마다 얻어지는 복수개의 중심점을 산출한다(S402). 여기서, 제 2 주사 방향으로 주사한 파인더 패턴의 중심점 근방의 주사선을 임시 제 2 주사 방향 중심 선, 중심점을 임시 제 2 주사 방향 중심점, 복수개의 중심점의 집합을 임시 제 2 주사 방향 중심점군이라고 한다. 따라서, 복수개의 임시 제 2 주사 방향 중심선을 검색하고, 복수개의 임시 제 2 주사 방향 중심점으로 이루어지는 임시 제 2 주사 방향 중심점군을 산출한다.
수평 방향에 대해서 90도 회전시킨 제 2 주사 방향(수직 방향)으로 주사를 실행하고, 수평 방향과 마찬가지로 패턴 매칭을 실행한다. 수직 방향으로 주사를 하기 위해서는 제일 먼저 바로 전에 수평 방향의 임시 중심선으로부터 구한 임시 중심점을 통과하고 상기 임시 중심선에 대한 수직선(바로 전에 구한 수직선)을 주사시킨다. 전체 화상의 중심부를 최초로 주사하는 것이 아니고 수평 방향으로 주사해서 구한 임시 중심점을 통과하는 선을 수직 방향으로 최초로 주사하는 것에 의해, 그 임시 중심점이 파인더 패턴의 진짜 중심점으로 될 만한 가능성이 높기 때문에 중심점을 구하는 속도가 향상한다.
수평 방향과 마찬가지로, 도 26의 (b)의 파인더 패턴 템플릿과 일치한 색 패턴 관계식을 갖는 주사선을 수직 방향의 중심선으로 한다. 수평 방향과 수직 방향의 중심점의 좌표가 중첩된 부분을 파인더 패턴의 중심점으로 한다. 수평 방향과 마찬가지로 수직 방향으로 주사해서 파인더 패턴의 백색의 가장 바깥쪽의 원의 양끝의 중점을 중심점으로 한다. 또, 수직선 주사에 의해 구한 복수개의 임시 중심점(임시 제 2 주사 방향 중심점군)의 수평 방향에서의 가장 많이 존재하는 개소를 구한다.
다음에, 수직 방향의 중심선으로부터 좌우로 멀어지는 방향으로 주사를 반복 하고, 그 판독 데이터를 VRAM(106)의 파인더 패턴 정보 기억부(211)에 기억한다(도 28참조).
여기서, 수평 방향과 수직 방향의 주사 순서는 어느 쪽이 먼저라도 상관없다.
마지막으로, 산출한 임시 제 1 주사 방향 중심점군과 임시 제 2 주사 방향 중심점군에 근거하여 파인더 패턴의 중심점을 산출한다(S403).
도 29는 파인더 패턴의 중심점의 산출을 도시한 도면이다.
도 29에 도시하는 바와 같이, 임시 제 1 주사 방향 중심점군으로부터 산출한 제 1 주사 방향과 수직인 직선과 임시 제 2 주사 방향 중심점군으로부터 산출한 제 2 주사 방향과 수직인 직선과의 교점을 파인더 패턴의 중심점으로 한다. 즉, 수평 방향으로 주사해서 구한 중심점이 확실히 존재할 것 같은 수직선과 수직 방향으로 주사해서 구한 중심점이 확실히 존재할 것 같은 수평선과의 교점으로부터 파인더 패턴의 중심점을 구한다.
또, 본 발명에 있어서는 제 1 주사 방향(수평 방향)으로 주사해서 패턴 매칭한 실행한 후, 90도를 제 2 주사 방향(수직 방향)으로 주사해서 패턴 매칭을 실행했지만, 90도가 아니고 교점을 얻을 수 있으면, 제 1 주사 방향과 제 2 주사 방향이 교차하는 각도는 몇 도라도 상관없다. 그러나, 상술한 수평 방향으로 주사하고 나서 중심점이 존재할 확률이 수직 방향으로 가장 많은 장소의 분포점을 수직선으로 하는 방법을 취하는 경우, 제 1 주사 방향과 제 2 주사 방향은 직교하는 것이 바람직하다. 또한, 데이터를 판독한 후 VRAM상에 x, y 좌표의 2차원 데이터로서 전개해서 보존하는 경우, 제 1 주사 방향과 제 2 주사 방향이 직교하는 것이 데이터의 판독으로부터 전개까지의 처리로서 간단하게 된다.
도 5는 파인더 패턴 탐색 처리에 있어서의 임시 제 1 주사 방향 중심점군 탐색 처리의 흐름도를 도시한 도면의 일례이다.
우선, 파인더 패턴에 대해서 수평 방향으로 탐색하고, 탐색 방향을 양 방향으로 설정한다(S501). 여기서, 양 방향이라는 것은 수평 방향에 대해서 상하 양 방향을 의미한다. 다음에, (촬영한 화상의 높이/2)번째의 행으로부터 탐색을 개시한다(S502). 이것은 2차원 바코드의 심볼을 포함한 화상의 거의 한가운데의 변에 심볼이 있고 또한 한가운데의 변에 맥시(Maxi) 코드나 AZTEC 코드의 파인더 패턴이 있는 경우가 많기 때문이다.
다음에, 수평 방향으로 1행분 데이터를 취득하고(S503), 증감도(도 27의 (b) 참조)를 작성한다(S504). 증감 도면에 근거하여 산출한 색 패턴 관계식과 상술한 파인더 패턴 템플릿이 일치하는지 비교한다(S505).
색 패턴 관계식과 파인더 패턴 템플릿이 일치하지 않은 경우(S505;아니오)로서 아직 그 수평의 행의 주사가 종료하고 있지 않은 경우(S507;아니오)에는 파인더 패턴과는 다른 화상 데이터에 대해서 증감도를 작성해 버렸으므로, 증감도를 재작성하여 색 패턴 관계식을 산출하고(S508→ S504), 다시 한번 파인더 패턴 템플릿과 비교한다(S505).
색 패턴 관계식과 파인더 패턴 템플릿이 일치한 경우(S505; 예)에는 파인더 패턴의 중앙의 원의 중심점의 좌표로서 가장 바깥쪽 원인 흑색 원의 내측끼리(도 26의 (a)에서는 B∼K까지)의 중점의 x, y좌표를 구해서 보존한다(S506).
1행분의 데이터의 주사가 종료하고 있으면(S507; 예) 그 행의 중점 좌표의 후보의 개수를 구하고, 파인더 패턴 템플릿이 일치하고 있으면 좌표점의 개수가 1이므로(S509; 아니오) 단계 S510으로 진행한다.
단계 S510으로 진행하여, CCD 센서상에서의 탐색행을 상측 방향으로 1행분 어긋나게 하고(도 28의 2번), 단계 S503에서 단계 S509까지를 반복한다. 상측 방향으로 1행 어긋나게 한 결과, 또 중점 좌표의 개수가 1있었던 경우(S509; 아니오)에 단계 S510으로 진행하고, 단계 S501에서 탐색 방향이 양 방향으로 되어 있기 때문에 CCD 센서 상에서 하측 방향으로 2행 어긋나게 하고(도 28의 3번), 재차 단계 S503에서 단계 S509까지를 반복한다. 2행 하측 방향으로 어긋나게 한 결과, 중점 좌표가 발견되지 않았을 때(S509; 예) 단계 S511로 진행하여 지금까지 주사한 1∼3행으로부터 얻어진 후보점의 합계수가 1이상인지의 여부를 판단한다. 1이상이면(S511; 예), 단계 S512에서 단계 S513으로 진행하여 탐색 방향을 상측 방향으로 설정한다. 여기서, 상측 방향으로 설정하는 것은 이것 보다 더 하측 방향으로 주사하더라도 파인더 패턴을 발견할 수 없었기 때문에 낭비를 방지하기 위해서이다. 여기서, 상측 방향으로 설정하기 위해서 하측 방향으로 주사했을 때(도 28의 3번)에 첫 번째로 중점이 발견되지 않았으므로, 여기에서 아래쪽 방향에는 중점이 없는 것으로 해서 플래그를 세우고, 다음 주사부터는 도 28의 4번째와 같이 되도록 이전의 도 28의 2번째의 행의 위의 행으로 주사 행을 변경한다. 즉, 이미 주사가 종료한 최상측 행의 더 상측 방향만 주사한다.
이 경우, 단계 S513에서 상측 방향으로 설정한 후, 또 단계 S503에서 단계 S509까지를 반복한다. 도 28의 4번에서는 중점이 발견되지 않았으므로, 단계 S509; 예, 단계 S511; 예, 또 단계 S512; 아니오로 되고, 수평 방향의 주사는 종료하고 단계 S514로 진행한다.
또한, 1행분의 주사가 종료한 시점에서 파인더 패턴 템플릿과 일치하고 있지 않으면(S505; 아니오, S507; 예, S509; 아니오), 단계 S510으로 진행하여 주사 행을 상하로 1행씩 어긋나게 하고, 단계 S503으로 되돌아간다.
또, 양 방향 주사를 실행하고 있을 때, 상측 방향의 행 주사에서 첫 번째로 중점이 발견되었을 때에는 상측 방향에 중점이 없는 것으로 해서 플래그를 세우고, 다음 주사부터는 이미 주사가 종료한 최하측 행의 더 하측 방향만 주사한다.
단계 S514에서는 후보로 된 좌표점의 x좌표의 소수점 이하를 잘라 버리고, 잘라 버린 x좌표끼리의 개수를 세고(S515), 개수가 가장 많은 곳에 속하는 x좌표(소수점 이하 2자리까지)와 그것에 따른 y좌표(소수점 이하 2자리까지)를 최종 후보로서 결정한다(S516).
도 6은 파인더 패턴 탐색 처리에 있어서의 임시 제 2 주사 방향 중심점군 탐색 처리의 흐름도를 도시한 도면의 일례이다.
도 5의 수평 방향의 탐색과 거의 동일한 처리를 실행한다. 도 5의 수평 방향의 처리에서의 1행을 도 6에서는 1열로 하고, 도 5의 탐색 방향의 상측 또는 하측 방향을 도 6에서는 좌측 또는 우측 방향으로 하고, 도 5의 x좌표를 도 6의 y좌표로 하는 점으로부터 수평 방향의 탐색과 동일한 처리를 실행한다. 동일한 처리 의 부분은 중복되기 때문에 상세한 설명은 생략한다.
한편, 도 5의 단계 S502에서 (화상의 높이/2)로 한 데 반해, 도 6의 단계 S602에서는 수평 방향의 탐색에서 구한 x좌표의 값을 사용하는 점에서 다르다. 여기서, 수평 방향의 탐색(주사)에서 구한 x좌표의 값을 사용하는 것은 벌써 이미 x좌표의 값을 거의 알고 있기 때문이며, 거기에서 수직 방향을 탐색한 쪽이 빠른 처리를 할 수 있기 때문이다.
도 6의 단계 S616에 있어서, y좌표의 소수점 이하를 잘라 버린 것 중에서 가장 많은 개수의 y좌표(소수점 이하 2자리까지)와 그것에 따른 x좌표(소수점 이하 2자리까지)를 보존한다.
도 7은 파인더 패턴 탐색 처리에 있어서의 파인더 패턴 중심점 산출 처리의 흐름도를 도시한 도면의 일례이다.
도 7의 단계 S701로 진행하여, 도 6의 수직 방향 탐색에 있어서 구한 가장 개수가 많은 y좌표(정수 부분)와 일치하는 도 5의 수평 방향 탐색에 있어서 보존하고 있는 y좌표(정수 부분)를 구하고, 해당 y좌표에 대한 x좌표(소수점 이하 2자리까지)를 중심점의 x좌표(소수점 이하 2자리까지)로 한다. 또, 단계 S704에 있어서는 도 5의 수평 방향 탐색에 있어서 구한 가장 개수가 많은 x좌표(정수 부분)와 일치하는 도 6의 수직 방향 탐색에 있어서 보존하고 있는 x좌표(정수 부분)를 구하고, 해당 x좌표에 대한 y좌표(소수점 이하 2자리까지)를 중심점의 y좌표(소수점 이하 2자리까지)로 한다.
단계 S702 및 단계 S705에서는 좌표값을 선택할 수 없었던 경우에 중심점을 취득할 수 없었던 것으로 판단한다.
또, 파인더 패턴 탐색 단계의 다른 실시예에 대해서 설명한다.
파인더 패턴을 수평 방향으로 주사해서 얻은 흑백의 색 패턴을 검색하고, 파인더 패턴색 템플릿인 「흑백흑백흑백흑백흑백흑」과 일치하고 있는지의 여부를 흑백이 나타나는 순서에 의해서 단순히 비교한다(비율은 비교할 필요가 없다). 그 결과, 주사해서 얻은 흑백의 색 패턴과 파인더 패턴색 템플릿이 일치한 경우, 그 주사선은 파인더 패턴의 거의 중심부와 교차하고 있는 것으로 가정할 수 있다(도 26의 (a)). 그 주사선과 파인더 패턴의 최외부를 구성하는 부재(맥시코드에서는 검은 3중원의 가장 바깥쪽 원)의 교점을 구하고(도 26의 (a)의 B점∼K점), 그 중점을 임시 중심점으로 한다.
상술한 바와 같이, 파인더 패턴과 접하는 흑화소의 존재에 의한 오판독을 회피하기 위해, 가장 바깥쪽의 흑색 원의 내주를 기준으로 한다.
해당 주사선과의 평행을 약간 어긋나게 해서 또 B점∼K점의 중점을 중심점으로 한다. 이것을 여러회 반복한다.
이 수평 방향으로 주사해서 얻은 복수개의 중심점을 통과하는 선을 제 2 주사 방향(수직 방향)으로 해서 주사한다. 수평 방향과 마찬가지로 B점∼K점의 중점을 중심점으로 하고, 여러회 반복한다.
수평 방향(제 1 주사 방향)에 의해서 얻어진 복수개의 중심점을 연결하는 선과 수직 방향(제 2 주사 방향)에 의해서 얻어진 복수개의 중심점을 연결하는 선의 교점을 중심 좌표로서 얻을 수 있다(도 33의 확대도의 일점 쇄선끼리의 교점).
이 실시예에 의하면, 비스듬한 각도에서 파인더 패턴을 촬영했을 때나 파인더 패턴이 원이 아니고 타원으로 되어 있는 경우에도 중심점을 정확하게 구할 수 있다. 이 경우에는 제 1 주사 방향과 제 2 주사 방향 중 적어도 한쪽은 타원의 장축 또는 단축 방향으로 하는 것이 바람직하다(도 34참조).
또, 상술한 파인더 패턴 탐색 단계에 대해서 다른 예를 들어 설명한다. 그에 대한 상세한 것은 도 8, 도 26, 도 27, 도 28, 도 30 및 도 31을 참조해서 설명한다.
도 8은 맥시코드 심볼의 디코드 처리에 있어서의 파인더 패턴 탐색 처리의 흐름도이다.
우선, 맥시코드 심볼의 판독 화상을 제 1 주사 방향으로 주사하고, 주사선상의 검출 패턴(이하, 「색 패턴 관계식」이라고 함)과 기준 패턴(이하, 「파인더 패턴 템플릿」이라고 함)을 비교하는 것에 의해, 파인더 패턴의 중심점 근방에 존재하는 주사선을 검색하고, 검색한 주사선으로부터 중심점을 산출한다. 또한, 그 중심점으로부터 제 1 주사 방향과는 다른 제 2 주사 방향으로 주사하고, 마찬가지로 수직 방향의 색 패턴 관계식을 파인더 패턴 템플릿과 비교하는 것에 의해 탐색한 주사선으로부터 파인더 패턴의 임시 중심점을 산출한다(S801). 여기서, 제 1 주사 방향으로 주사한 파인더 패턴의 중심점 근방의 주사선을 제 1 주사 방향 중심선, 중심점을 제 1 주사 방향 중심점, 제 2 주사 방향으로 주사한 파인더 패턴의 중심점 근방의 주사선을 제 2 주사 방향 중심선이라고 한다. 또, 제 1 주사 방향을 화상의 수평 방향으로 해도 좋고, 제 2 주사 방향을 화상의 수직 방향으로 해도 좋 다.
도 26은 파인더 패턴 템플릿을 설명하는 도면이다. 도 26의 (a)는 파인더 패턴의 중심점을 통과하는 선분상의 색 패턴을 도시한 도면이고, 도 26의 (b)는 파인더 패턴 템플릿을 도시한 도면이다.
도 26의 (a)에 도시하는 바와 같이, 파인더 패턴의 중심점을 통과하는 선분(2601)상을 화살표 방향으로 색 패턴을 검색한 결과는 「백」=High 및 「흑」= Low로 하는 증감도로 표시된다. 또, 도 26의 (b)에 도시하는 바와 같이, 증감 도면에 있어서, 최초의 흑색부(도면중의 A)의 단으로부터 다음의 흑색부의 끝(도면중의 C)까지의 거리를 1로 하면, 최초의 백색부(도면중의 B)의 단으로부터 다음의 백색부의 단(도면중의 D)까지의 거리도 1로 된다. 또, 중심부의 백색 원을 포함하는 흑색부의 단(도면중의 E)으로부터 흑색부의 단(도면중의 G) 및 백색부의 단(도면중의 F)으로부터 백색부의 단(도면중의 H)이 1.26으로 된다.
따라서, 중심부를 좌측 방향으로부터 우측 방향(A→L)으로 주사하고, 흑∼흑(A∼C), 백∼백(B∼D), 흑∼흑(C∼E), , , 백∼백(J∼L)을 순서대로 비율을 맞춰 가면, 하기의 색 패턴 관계식이 성립한다. 여기서, 예를 들면 AC는 점 A으로부터 점 C까지의 거리를 나타낸다.
AC:BD:CE:DF:EG:FH:GI:HJ:IK:JL
= 1:1:1:1:1.26:1.26:1:1:1:1
상술한 파인더 패턴의 색 패턴 관계식을 파인더 패턴 템플릿으로 하고, ROM(107)의 디코드 정보 기억부(220)에 미리 기억해 둔다.
또, 중심부를 우측 방향으로부터 좌측 방향(L→ A)으로 주사하고, 흑∼흑(L∼J), 백∼백(K∼I), 흑∼흑(J∼H), , , , 백∼백(C∼A)을 순서대로 비율을 맞춰 가면, 마찬가지로 하기의 관계식이 성립한다.
LJ:KI:JH:IG:HF:GE:FD:EC:BD:CA
= 1:1:1:1:1.26:1.26:1:1:1:1
따라서, 우선 도 27의 (a)와 같이, 맥시코드 심볼의 판독 화상을 포함하는 전체 화상(2701)의 중심 부근을 수평 방향(제 1 주사 방향)으로 주사하고, 주사선(2702)상의 색 패턴에 따른 증감도(도 27의 (b))를 생성하고, 주사선상의 색 패턴 관계식을 산출한다. 그리고, 산출한 색 패턴 관계식과 ROM(107)의 디코드 정보 기억부(220)에 기억되어 있는 파인더 패턴 템플릿(도 26의 (b)) 사이에 있어서 패턴 매칭을 실행하고, 일치한 경우에 그 주사선을 수평 방향의 임시 중심선(제 1 주사 방향중심선)으로 한다. 여기서, 임시 중심선으로 해 두는 것은 가끔 흑과 백의 데이터가 파인더 패턴 템플릿과 마찬가지의 간격으로 나란히 배열되어 있는 경우도 있기 때문이다.
도 27의 (b)에 도시하는 바와 같이, 증감 도면에 있어서 색 패턴 관계식의 비교 대상 개수와 파인더 패턴 템플릿의 비교 대상 개수가 일치하지 않는 경우에는 파인더 패턴의 중심에 존재하는 흰색 원(2703)을 주사선이 통과하고 있지 않은 것을 알 수 있다. 그 경우에는 도 28에 도시하는 바와 같이 전체 화상(2801)의 중심선(1)에 대해서 2, 3,··과 같이 상하로 순서대로 주사를 실행하고, 색 패턴 관계식과 파인더 패턴 템플릿의 패턴 매칭을 실행하여 일치하는 주사선을 구하고, 가장 파인더 패턴 템플릿에 가까운 주사선을 수평 방향의 중심선으로 한다.
그 중심선의 가장 바깥쪽의 흑색 원의 내측(도 26의 (b)에서 B에 상당하는 점)∼반대측의 점(도 26의 (b)에서 K에 상당하는 점)(즉, 파인더 패턴의 백색의 가장 바깥쪽의 원의 양 끝)까지의 중점을 임시 중심점(제 1 주사 방향 중심점)으로 한다.
여기서, 파인더 패턴의 흑색의 가장 바깥쪽의 원의 양 단부의 중점을 중심점으로 하지 않고 백색의 가장 바깥쪽의 원의 양 단부의 중점을 중심점으로 한 것은 파인더 패턴의 흑색의 가장 바깥쪽의 원과 흑화소의 데이터가 접촉하여 가장 바깥쪽의 원을 잘못 판단할 우려가 있기 때문이다.
도 30은 제 2 주사 방향으로 주사한 경우의 도면이다. 제 1 주사 방향 중심점(3001)으로부터 제 1 주사 방향과는 다른 제 2 주사 방향으로 주사하고, 주사선(3002)상의 색 패턴 관계식과 파인더 패턴 템플릿을 비교하는 것에 의해, 파인더 패턴의 중심점 근방에 존재하는 주사선을 검색하고, 검색한 주사선으로부터 파인더 패턴의 임시 중심점을 산출한다.
수평 방향에 대해서 90도 회전시킨 제 2 주사 방향(수직 방향)으로 주사를 실행하고, 수평 방향과 마찬가지로 패턴 매칭을 실행한다. 수직 방향으로 주사를 실행하기 위해서는 제일 먼저 바로 전에 수평 방향의 중심선으로부터 구한 중심점을 통과하여 해당 중심선에 대한 수직선(바로 전에 구한 수직선)을 주사시킨다. 이 때, 수평 방향으로 주사해서 구한 중심점을 통과하는 선을 수직 방향으로 1행분 모두에 대해서 주사하는 것이 아니고, 제 1 주사 방향 중심점이 중심으로 되도록 파인더 패턴 템플릿 1개분만의 색 패턴 관계식을 산출하고, 파인더 패턴 템플릿과 비교한다.
이것에 의해, 그 중심점이 파인더 패턴의 진짜 중심점으로 될 만한 가능성이 높기 때문에 중심점을 구하는 속도가 향상한다.
도 26의 (b)의 파인더 패턴 템플릿과 일치한 색 패턴 관계식을 가지면, 수평 방향과 마찬가지로 수직 방향으로 주사해서 파인더 패턴의 백색의 가장 바깥쪽의 원의 양단의 중점을 파인더 패턴의 임시 중심점으로 한다. 도 26의 (b)의 파인더 패턴 템플릿과 색 패턴 관계식이 일치하지 않는 경우에는 수평 방향의 중심선으로부터 상하로 멀어지는 방향으로 재차 수평 방향으로 주사를 반복하고, 그 판독 데이터를 VRAM(106)의 파인더 패턴 정보 기억부(211)에 기억한다(도 28참조).
여기서, 수평 방향과 수직 방향의 주사 순서는 어느 쪽이 먼저라도 상관없다.
마지막으로, 산출한 파인더 패턴의 임시 중심점에 근거하여 파인더 패턴의 중심점을 산출한다(S802).
도 31은 파인더 패턴의 중심점의 산출을 도시한 도면이다.
도 31에 도시하는 바와 같이, 파인더 패턴의 임시 중심점(3101)으로부터 좌우로 새로이 제 1 주사 방향(3102)으로 주사를 실행하고, 제일 먼저 색 패턴이 백색에서 흑색으로 변화하는 점을 P1, P2로 한다. 또, 파인더 패턴의 임시 중심점(3101)으로부터 상하로 새로이 제 2 주사 방향(3103)으로 주사를 실행하고, 제일 먼저 색 패턴이 백색에서 흑색으로 변화하는 점을 P3, P4로 한다. 이 P1, P2, P3, P4를 정점으로 하는 사각형의 중심점(3104)을 산출하고, 파인더 패턴의 중심점을 구한다. 파인더 패턴의 임시 중심점을 파인더 패턴의 진짜 중심점으로 해도 좋지만, 왜곡이 있으면 어긋남이 발생하는 경우가 많기 때문에, 재차 파인더 패턴의 진짜 중심점을 산출한다.
또한, 본 발명에 있어서는 제 1 주사 방향(수평 방향)으로 주사해서 패턴 매칭을 실행한 후 90도를 제 2 주사 방향(수직 방향)으로 주사해서 패턴 매칭을 실행했지만, 90도가 아니고 교점을 얻을 수 있으면, 제 1 주사 방향과 제 2 주사 방향이 교차하는 각도는 몇 도라도 상관없다. 또, 데이터를 판독한 후 VRAM 상에 x, y좌표의 2차원 데이터로서 전개해서 보존하는 경우, 제 1 주사 방향과 제 2 주사 방향이 직교하는 것이 데이터의 판독에서 전개까지의 처리로서 간단하게 된다.
도 9는 파인더 패턴 탐색 처리에 있어서의 임시 중심점 탐색 처리의 흐름도를 도시한 도면의 일례이다.
우선, (촬영한 화상의 높이/2)번째의 행으로부터 탐색을 개시한다(S901). 이것은 2차원 코드의 심볼을 포함한 화상의 거의 한가운데의 변에 심볼이 있고 또한 한가운데의 변에 맥시(Maxi) 코드나 AZTEC 코드의 파인더 패턴이 있는 경우가 많기 때문이다.
다음에, 수평 방향으로 1행분 데이터를 취득하고(S902), 증감도(도 27의 (b) 참조)를 작성한다(S903). 증감도에 근거하여 산출한 색 패턴 관계식과 상술한 파인더 패턴 템플릿이 일치하는지 비교한다(S904).
색 패턴 관계식과 파인더 패턴 템플릿이 일치하지 않은 경우(S904; 아니오) 로서 아직 그 수평의 행의 주사가 종료하고 있지 않은 경우(S905; 아니오)에는 파인더 패턴과는 다른 화상 데이터에 대해서 증감도를 작성해 버렸으므로, 증감도를 재작성해서 색 패턴 관계식을 산출하고(S907→ S903), 다시 한번 파인더 패턴 템플릿과 비교한다(S904).
색 패턴 관계식과 파인더 패턴 템플릿이 일치한 경우(S904; 예), 파인더 패턴의 중앙의 원의 중심점의 좌표로서, 가장 바깥쪽 원인 흑색 원의 내측끼리(도 26의 (a)에서는 B∼K까지)의 중점을 구한다(S909).
다음에, 단계 S909에서 구한 중점을 중심으로 도 30에 도시하는 바와 같이 수직 방향으로 템플릿 1개분의 데이터를 취득한다(S910). 또, 증감도를 작성해서 (S911) 색 패턴 관계식을 산출하고, 파인더 패턴 템플릿과 비교한다(S912).
색 패턴 관계식과 파인더 패턴 템플릿이 일치하지 않은 경우(S912; 아니오)에는 단계 S909에서 구한 중점은 파인더 패턴의 중심이 아닌 것으로 되기 때문에, 재차 수평의 행의 주사로 되돌아간다(S912→ S905).
색 패턴 관계식과 파인더 패턴 템플릿이 일치한 경우(S912; 예), 파인더 패턴의 중앙의 원의 중심점의 좌표로서, 가장 바깥쪽의 원의 흑색 원의 내측끼리(도 27의 (a)에서는 B∼K까지)의 중점을 임시 중심점으로 설정한다(S913).
또한, 1행분의 주사가 종료한 시점에서 파인더 패턴 템플릿과 일치하고 있지 않으면(S904; 아니오, S912; 아니오, S905; 예), 단계 S906으로 진행한다. 모든 행에 대해서 주사가 종료하고 있지 않은 경우(S906; 아니오), 도 30과 같이 주사 행을 상하로 1행씩 어긋나게 하고(S908) 단계 S902로 되돌아간다. 모든 행에 대해 서 주사가 종료한 경우(S906; 예), 파인더 패턴의 중심점은 발견되지 않은 것으로 되고 탐색 실패로서 종료한다.
도 10은 파인더 패턴 탐색 처리에 있어서의 파인더 패턴의 중심점 탐색 처리의 흐름도를 도시한 도면의 일례이다.
우선, 도 9에서 구한 파인더 패턴의 임시 중심점으로부터 수평 방향으로 좌우로 데이터를 취득하고(S1001), 화소의 색이 백에서 흑으로 변화하는 점을 P1, P2로 한다(S1002)(도 31 참조). 또, 도 9에서 구한 파인더 패턴의 임시 중심점에서 수직 방향으로 상하로 데이터를 취득하고(S1003), 화소의 색이 백에서 흑으로 변화하는 점을 P3, P4로 한다(S1004)(도 31 참조).
다음에, P1, P2, P3, P4를 정점으로 하는 사각형을 상정하고, 그 중심점의 x, y좌표를 산출한다(S1005). 이 산출한 중심점을 파인더 패턴의 중심으로 결정한다(S1006).
이 실시예에 의하면, 비스듬한 각도에서 파인더 패턴을 촬영했을 때나 파인더 패턴이 원이 아니고 타원으로 되어 있는 경우에도 중심점을 정확하게 구할 수 있다. 파인더 패턴이 타원으로 되어 있는 경우, 도 9에서 구해지는 파인더 패턴의 임시 중심점(3201)은 파인더 패턴의 중심에서 어긋나는 경우가 많다(도 32의 (a) 참조). 그래서, 도 10에서 산출하는 바와 같은 중심점(3202)을 구하는 것에 의해 정확하게 파인더 패턴의 중심점을 탐색할 수 있다(도 32의 (b) 참조).
상술한 화상 보정 단계에 대해서 일례를 들어 설명한다. 그의 상세한 것에 대해서는 도 11, 도 36, 도 37 및 도 61을 참조해서 설명한다.
도 11은 맥시코드 심볼의 디코드 처리에 있어서의 화상 보정 처리의 흐름도이다.
도 3에 있어서 설명한 바와 같이 맥시코드 심볼의 디코드 처리의 단계 S302에 있어서, 파인더 패턴을 탐색하고, 파인더 패턴의 도형 정보로서 파인더 패턴의 중심점의 위치좌표 및 파인더 패턴의 백색부와 흑색부의 색 경계의 위치 좌표군을 산출했다. 또, 맥시코드 심볼의 방향 모듈을 탐색하는 것에 의해 모든 데이터 모듈을 탐색할 수 있기 때문에, 방향 모듈이 존재하는 범위의 화소 데이터에 대해서 화상 보정을 하면 충분하다. 따라서, 산출하는 경사각 보정식은 맥시코드 심볼의 방향 모듈이 존재하는 범위에 있어서 성립하는 관계식이면 충분하다.
또, 맥시코드 심볼에 있어서, 파인더 패턴과 방향 모듈은 접근한 위치에 있다. 따라서, 파인더 패턴의 경사각 보정식을 방향 모듈에도 적용할 수 있다.
그래서, 화상 보정 처리에 있어서는 우선 파인더 패턴의 중심점의 위치 좌표 및 파인더 패턴의 백색부와 흑색부의 색 경계의 위치 좌표군으로부터 파인더 패턴의 고리를 타원으로 근사시킬 수 있는지의 여부를 판정한다(S1101). 여기서, 파인더 패턴의 고리라는 것은 판독 화상에 있어서 맥시코드 심볼의 파인더 패턴을 구성하는 원이 변형된 도형이다.
파인더 패턴의 고리를 타원으로 근사시킬 수 있는 경우(S1101; 예)에는 다음의 처리로 이행한다(S1103). 파인더 패턴의 고리를 타원으로 근사시킬 수 있는 판정 조건으로서는 예를 들면 도 35에 있어서 판독 화상의 중심점 C와 파인더 패턴의 중심점 0의 거리가 소정의 판정 경계 범위내에 있고 즉 판독 화상의 중심점 C의 근 방에 파인더 패턴의 중심점 0이 존재하고, 또한 초점 P와 중심점 C의 거리와 파인더 패턴의 직경인 선분 AB의 길이의 비(=선분 PC의 길이/선분 AB의 길이)가 소정의 판정 경계값 이상인 경우 즉 초점 P와 중심점 C의 거리에 비해서 파인더 패턴의 직경이 충분히 작은 경우에는 파인더 패턴의 고리를 타원으로 근사시킬 수 있다.
한편, 파인더 패턴의 고리를 타원으로 근사시킬 수 없는 경우(S1101; 아니오)에는 맥시코드 심볼에 있어서의 파인더 패턴의 중심의 위치 좌표 및 파인더 패턴의 백색부와 흑색부의 색 경계의 위치 좌표군에 근거하여 경사각 보정식을 산출하고 (S1102), 다음의 단계 S1107로 이행한다.
또, 실제의 맥시코드 심볼에 있어서의 파인더 패턴의 형상과 판독 화상의 파인더 패턴의 형상 사이의 관계에 근거하여 경사각 보정식을 산출하는 대신에 경사각 보정 테이블을 직접 생성하고, 다음의 단계 S1107로 이행해도 좋다.
다음에, 파인더 패턴의 고리를 타원으로 근사시킬 수 있는 경우, 실제의 파인더 패턴의 원과 판독 화상의 파인더 패턴의 타원의 관계를 고려한다.
도 36은 원과 타원의 관계를 도시한 도면이다. 도 36에 도시하는 바와 같이, 비스듬한 각도에서 판독된 판독 화상에 있어서 원이 타원으로 변형하면, 원 상의 점 P는 타원상의 점 P’로 변이한다. 타원의 장축을 수평축 상에 취하고, 중심점을 점 O로 하고, 장축을 선분 AC로 하고, 단축을 선분 BD로 한다. 각도 AOP를 θ로 하고 각도 AOP’를 θ’라고 하면, 각도 θ와 각도 θ’사이의 관계는 하기의 경사각 보정식으로 표시된다. 여기서, γ는 타원율(=선분 BO의 길이/선분 AO의 길이)이다. 또, 이하, *는 승산을 나타낸다.
θ’= arctan(γ* tanθ)
따라서, 각도 θ를 갖는 원상의 점 P는 각도 θ’를 갖는 타원상의 점 P’로 변이한다.
다음에, 경사각 보정식에 근거하여 경사각 보정 테이블을 생성한다. 즉, 보정 정밀도를 결정하는 보정 분할각 α마다 각도 θ와 각도 θ’사이의 θ-θ’변환값 테이블을 생성한다.
우선, 경사각 보정 테이블에 있어서의 보정 정밀도를 결정하는 보정 분할각 α에 근거하여 각도 분할을 설정한다(S1103). 즉, 보정 분할각 α에 근거하여 전체 각(360도)을 보정하기 위한 분할수를 산출하고, 각도 분할을 설정한다. 여기서, α는 60의 공약수이다. 맥시코드 심볼의 방향을 나타내는 방향 모듈은 맥시코드 심볼의 중심점의 주위에 각각 60도의 각도로 배치되어 있기 때문에, 각도 분할은 전체 각을 60도마다 분할하고 또 60도를 보정 분할각 α마다 분할한다. 즉, 각도 분할은 각도 θ를 하기의 관계식으로 되는 2차원 배열(i, j)에 의해서 나타낸다. 여기서, i는 0에서 5의 정수이며, j는 0에서 n까지의 정수이다.
n= 60/α-1
θ(i, j) = 60* i+α* j
예를 들면, α=1로 하면 즉 θ-θ’변환값 테이블의 정밀도를 1도로 하면, 각도 θ(i, j)는 6x60의 행렬에 의해서 표시된다. i= 0∼5, j= 0∼59의 정수이다.
다음에, 오프셋 각만큼 각도 θ에서 변이한 값에 의한 변환 테이블을 생성하기 위해 오프셋 각을 설정한다(S1104).
상술한 바와 같이, 맥시코드 심볼에 있어서 내측 방향 모듈, 외측 방향 모듈 및 중앙 방향 모듈의 3개의 방향 모듈이 동일한 방향에 존재한다. 그래서, 내측 방향 모듈 및 외측 방향 모듈이 존재하는 방향과 중앙 방향 모듈이 존재하는 방향 사이의 각도를 오프셋 각으로 한다.
도 37은 내측 방향 모듈 및 외측 방향 모듈의 각도와 중앙 방향 모듈의 각도의 관계를 도시하는 도면이다. 도 37의 (a)는 실제의 맥시코드 심볼의 방향 모듈을 도시하는 도면이고, 도 37의 (b)는 판독 화상에 있어서의 방향 모듈을 도시하는 도면이다.
도 37의 (a)에 도시하는 바와 같이, 내측 방향 모듈(3701) 및 외측 방향 모듈(3702)의 방향과 수평축이 이루는 각을 각도 θ1로 하고, 중앙 방향 모듈(3703)과 수평축이 이루는 각을 각도 θ2로 하고, 오프셋 각을 β라고 하면, β는 하기의 식으로 표시된다.
β=θ1-θ2
도 61에 도시하는 바와 같이, 점 O를 맥시코드 심볼의 중심점으로 하고, 점 D를 내측 방향 모듈의 중심점과 외측 방향 모듈의 중심점의 중간점으로 하고, 점 A 및 점 B를 외측 방향 모듈의 중심점으로 하고, 점 C를 중앙 방향 모듈의 중심점으로 하고, 모듈의 폭을 W라고 하면, 하기의 관계식이 성립한다.
선분 OD의 길이= 6. 5* W
선분 DC의 길이=√3/2* W
tanβ=√3/(2* 6)
상술한 것에 의해, 오프셋 각 β는 하기의 식으로 표시된다.
β= arctan(√3/(2*6))=약 7.59
따라서, 도 37의 (a)에 있어서, 내측 방향 모듈(3701) 및 외측 방향 모듈(3702)과 수평축이 이루는 각도 θ1(i, j)과 중앙 방향 모듈(3703)과 수평축이 이루는 각도 θ2(i, j) 사이의 관계식은 하기와 같이 된다.
θ2(i, j) = θ1(i, j)-β
다음에, 타원 근사에 의한 경사 보정각 테이블을 각도 분할에 근거하여 생성한다(S1105).
도 36에 도시하는 바와 같이, 비스듬한 각도에서 판독된 판독 화상에 있어서 원이 타원으로 변형하면, 원상의 점 P는 타원상의 점 P’로 변이한다. 따라서, 도 37의 (b)에 도시하는 바와 같이, 점 P’를 내측 방향 모듈(3704) 또는 외측 방향 모듈(3705)의 중심점으로 하면, 내측 방향 모듈(3704) 및 외측 방향 모듈(3705)과 수평축이 이루는 각도 θ1’(i, j)은 하기의 경사각 보정식으로 표시된다.
θ1’(i, j)= arctan(γ* tanθ1(i, j))
(i=0, 1, 2일 때)
= θ1’(i-3, j)+180
(i=3, 4, 5일 때)
또, 오프셋 각을 β로 하면, 중앙 방향 모듈(3706)과 수평축이 이루는 각도 θ2’(i, j)는 하기의 경사각 보정식으로 표시된다.
θ2’(i, j)= arctan(γ* tanθ2(i, j))
θ2 (i, j) = θ1(i, j) - β
(i=0, 1, 2일 때)
= θ2’(i-3, j)+180
(i=3, 4, 5일 때)
따라서, 상술한 경사각 보정식에 의해서 각도 분할한 각도 θ1일 때의 각도 θ2, 각도 θ1’ 및 각도 θ2’를 산출하고, 산출한 값을 경사각 보정 테이블의 요소로 한다.
다음에, 각도 분할한 모든 각도에 있어서의 경사각 보정 테이블의 요소를 산출했는지 여부를 판정한다(S1106). 각도 분할한 모든 각도에 있어서의 경사각 보정 테이블의 요소를 산출한 경우(S1106; 예)에는 다음의 처리(S1107)로 이행한다. 각도 분할한 모든 각도에 있어서의 경사각 보정 테이블의 요소를 산출하고 있지 않은 경우(S1106; 아니오)에는 단계 S1105의 처리를 모든 각도에 있어서의 경사각 보정 테이블의 요소를 산출할 때까지 반복한다.
다음에, 생성한 경사각 보정 테이블에 근거하여 판독 화상의 화소 데이터를 보정한다(S1107).
마지막으로, 생성한 경사각 보정 테이블을 VRAM(106)의 화상 보정 정보 기억부(212)에 저장한다(S1108). 여기서, 경사각 보정 테이블 대신에 경사각 보정식 및 분할 정보를 저장해도 좋다. 또한, 경사각 보정 테이블, 보정 관계식 및 분할 정보를 저장해도 좋다.
상술한 방향 모듈 탐색 단계에 대해서 일례를 들어 설명한다. 그의 상세한 것에 대해서는 도 12, 도 38, 도 39 및 도 61을 참조해서 설명한다.
도 12는 맥시코드 심볼의 디코드 처리에 있어서의 방향 모듈 탐색 처리의 흐름도이다.
우선, 방향 모듈의 탐색 범위를 설정한다(S1201).
도 61은 실제의 맥시코드 심볼에 있어서의 파인더 패턴과 방향 모듈의 관계를 도시하는 도면이다. 도 61에 도시하는 바와 같이, 실제의 맥시코드 심볼에 있어서, 내측 방향 모듈의 중심점을 연결한 도형(6101)은 1변이 모듈폭 W의 6배인 정육각형으로 되고, 외측 방향 모듈의 중심점을 연결한 도형(6102)은 1변이 모듈폭 W의 7배인 정육각형으로 된다. 여기서, 모듈폭 W는 이웃하는 2개의 모듈의 중심점사이의 거리이다. 또, 점 O를 맥시코드 심볼의 중심점으로 하고, 점 E를 내측 방향 모듈의 중심점으로 하고, 점 D를 내측 방향 모듈의 중심점과 외측 방향 모듈의 중심점의 중간점으로 하고, 점 A 및 점 B를 외측 방향 모듈의 중심점으로 하고, 점 C를 중앙 방향 모듈의 중심점으로 한다.
따라서, 내측 방향 모듈의 중심점은 선분 OE를 반경으로 하는 원주상에 존재하고, 외측 방향 모듈의 중심점은 선분 OA를 반경으로 하는 원주상에 존재하고, 중앙 방향 모듈의 중심점은 선분 OC를 반경으로 하는 원주상에 존재하고, 각각 모듈폭 W에 의존한다. 선분 OE의 길이, 선분 OA의 길이 및 선분 OC의 길이는 하기의 식으로 표시된다.
선분 OE의 길이= 6.000* W
선분 OA의 길이= 7.000* W
선분 OC의 길이 = √((선분 OD의 길이)2+(선분 DC의 길이)2)
= 약 6.543* W
도 38은 맥시코드 심볼의 판독 화상에 있어서의 방향 모듈의 탐색 범위를 설명하는 도면이다. 도 38의 (a)는 모듈폭을 도시하는 도면이다. 도 38의 (b)는 모듈폭과 내측 방향 모듈의 중심점의 위치의 관계를 도시하는 도면이다.
도 38의 (a)에 도시하는 바와 같이, 모듈폭 W는 파인더 패턴의 백색부(3801)와 흑색부(3802)의 색 경계 도형(3803)의 반경에서 산출한다. 도 61에 도시하는 바와 같이, 정면에서 판독된 맥시코드 심볼의 판독 화상에 있어서는 색 경계 도형(6103)은 원으로 되지만, 도 38의 (a)에 도시하는 바와 같이 비스듬한 각도에서 판독된 맥시코드 심볼의 판독 화상에 있어서는 색 경계 도형(3803)은 타원으로 근사된 도형으로 된다.
또, 도 61에 도시하는 바와 같이 원인 색 경계 도형(6103)상의 점을 점 F로 하고 원의 반경을 R’로 하면, 하기의 관계식이 성립한다.
R’<4. 0* W
따라서, 도 38의 (a)의 색 경계 도형(3803)의 반경을 R로 하면, 모듈폭 W는 하기의 식으로 표시된다. 레이트수 n는 반경 R과 모듈폭 W를 관련시키는 변수로서, 값을 n으로 한다. 즉, 여기서는 상술한 소정의 간격을 0.05로 하고, 레이트수 n을 4.00에서 3.00까지 0.05마다 구분한 값으로 한다.
W=R/n
도 38의 (b)에 도시하는 바와 같이, 내측 방향 모듈의 중심점은 반경 L1의 원주상에 존재하기 때문에, 레이트수 n를 변화시키면서 내측 방향 모듈의 중심점을 탐색한다. 여기서, 반경 L1은 L1= 6.000* W이다.
마찬가지로, 외측 방향 모듈의 중심점 및 중앙 방향 모듈의 중심점은 반경 L2 및 반경 L3의 원주상에 존재하기 때문에, 레이트수 n를 변화시키면서 외측 방향 모듈의 중심점 및 중앙 방향 모듈의 중심점을 탐색한다. 여기서, 반경 L2 및 반경 L3은 L2= 7.000* W, L3= 6.543* W이다.
또, 도 61에 도시하는 바와 같이, 중심점 0과 중앙 방향 모듈의 중심점 C를 연결하는 직선은 중심점 0과 외측 방향 모듈의 중심점 A를 연결하는 직선과 각도β의 각도를 이룬다. 여기서, 각도β를 중앙 방향 모듈의 오프셋 각이라고 한다. 중앙 방향 모듈의 오프셋 각은 하기의 식으로 표시된다.
tanβ=(선분 DC의 길이)/(선분 OD의 길이)
β= 약 7. 59
상술한 것에 의해, 방향 모듈의 탐색 범위를 설정한다.
다음에, 내측 방향 모듈군, 외측 방향 모듈군 및 중앙 방향 모듈군을 「흑」= 1 및 「백」=0인 비트 패턴에 의해서 나타낸 색 템플릿 패턴을 작성한다(S1202). 여기서, 6방향에 존재하는 6개의 내측 방향 모듈의 집합을 내측 방향 모듈군으로 하고, 6개의 외측 방향 모듈의 집합을 외측 방향 모듈군으로 하고, 6개의 중앙 방향 모듈의 집합을 중앙 방향 모듈군으로 한다.
도 39는 색 템플릿 패턴을 도시하는 도면이다. 도 39에 도시하는 바와 같이 6개의 방향을 방향 0에서 방향5에 의해서 나타낸다. 색 템플릿 패턴은 방향0에서 방향5까지의 「흑」= 1 및 「백」= 0인 비트 패턴을 2회 반복하는 것에 의해 작성한다.
따라서, 작성한 내측 방향 모듈군, 외측 방향 모듈군 및 중앙 방향 모듈군의 색 템플릿 패턴은 하기와 같이 된다.
내측 방향 모듈군의 색 템플릿 패턴 =
「101101101101」
외측 방향 모듈군의 색 템플릿 패턴 =
「001011001011」
중앙 방향 모듈군의 색 템플릿 패턴 =
「101110101110」
다음에, 레이트수 n에 근거하여 색 템플릿 패턴과 일치하는 내측 방향 모듈군, 외측 방향 모듈군 및 중앙 방향 모듈군의 방향 모듈 후보 데이터를 탐색한다(S1203). 여기서, 색 템플릿 패턴과 일치하는 방향 모듈이 없는 경우에는 방향 모듈 후보 데이터 없음으로 한다.
다음에, 설정한 모든 레이트수 n에 따른 방향 모듈 후보 데이터를 탐색했는지 여부를 판정한다(S1204). 설정한 모든 레이트수 n에 따른 방향 모듈 후보 데이터를 탐색한 경우(S1204; 예)에는 다음 단계 S1205로 이행한다. 한편, 설정한 모든 레이트수 n에 따른 방향 모듈 후보 데이터를 탐색하고 있지 않은 경우(S1204; 아니오)에는 모든 레이트수 n에 따른 방향 모듈 후보 데이터를 탐색할 때까지 단계 S1203을 반복한다.
다음에, 방향 모듈 후보 데이터가 존재하는지의 여부를 판정한다(S1205). 방향 모듈 후보 데이터가 존재하는 경우(S1205; 예)에는 방향 모듈 후보 데이터로부터 방향 모듈을 결정하고(S1206), 방향 모듈 탐색 처리를 종료한다.
한편, 방향 모듈 후보 데이터가 존재하지 않는 경우(S1205; 아니오)에는 방향 모듈을 탐색할 수 없는 것으로 해서 오류 처리를 실행하고(S1207), 디코드 처리를 종료한다.
다음에, 상술한 방향 모듈 후보 데이터를 탐색하는 처리를 더욱 상세하게 설명한다.
도 13은 방향 모듈 탐색 처리에 있어서의 방향 모듈 후보 데이터 탐색 처리의 흐름도이다.
도 12의 단계 S1201에 있어서 설명한 바와 같이, 레이트수 n에 근거하여 내측 방향 모듈군은 반경 L1의 원주상에 존재하고, 외측 방향 모듈군은 반경 L2의 원주상에 존재하고, 중앙 방향 모듈군은 반경 L3의 원주상에 존재한다. 또, 중앙 방향 모듈의 오프셋 각은 각도 β이다. 또한, 내측 방향 모듈군을 구성하는 6개의 내측 방향 모듈은 파인더 패턴의 중심점을 중심으로 60도의 간격으로 배치되어 있다. 외측 방향 모듈군을 구성하는 6개의 방향 모듈도 중앙 방향 모듈군을 구성하는 6개의 중앙모듈도 마찬가지이다.
그래서, 방향 모듈의 탐색 각도 θ를 전체 각을 60도마다 분할하고 또한 60도를 탐색 분할각 α마다 분할하는 하기의 2차원 배열(i, j)에 의해서 나타내고, 방향 모듈을 탐색한다. 여기서, i는 0에서 5의 정수이며, j는 0에서 n까지의 정수이다.
n= 60/α-1
θ(i, j) = 60* i + α* j
예를 들면, 탐색 분할각α를 α=1로 하면, 각도 θ(i, j)는 6x60의 행렬에 의해서 표시된다. i= 0∼5, j= 0∼59의 정수이다. 또, i에 의해서 표시되는 각도 영역을 영역 i로 한다. 예를 들면, i=0 즉 0<=θ<60을 영역0으로 한다.
우선, 탐색 각도 θ에 있어서, 내측 방향 모듈군의 색 템플릿 패턴과 일치하는 내측 방향 모듈군을 검출하고, 내측 방향 모듈의 후보 데이터를 검출한다(S1301).
다음에, 내측 방향 모듈의 후보 데이터를 검출할 수 있었는가의 여부를 판정한다(S1302). 검출할 수 있었던 경우(S1302; 예)에는 다음의 단계 S1303으로 이행한다. 한편, 검출할 수 없었던 경우(S1302; 아니오)에는 다음의 탐색 각도로 옮기기 위한 단계 S1307로 이행한다.
다음에, 외측 방향 모듈군의 색 템플릿 패턴과 일치하는 외측 방향 모듈군을 검출하고, 외측 방향 모듈의 후보 데이터를 검출한다(S1303).
다음에, 외측 방향 모듈의 후보 데이터를 검출할 수 있었는가의 여부를 판정한다(S1304). 검출할 수 있었던 경우(S1304; 예)에는 다음의 단계 S1305로 이행한다. 한편, 검출할 수 없었던 경우(S1304; 아니오)에는 다음의 탐색 각도로 옮기기 위한 단계 S1307로 이행한다.
다음에, 중앙 방향 모듈군의 색 템플릿 패턴과 일치하는 중앙 방향 모듈군을 검출하고, 중앙 방향 모듈의 후보 데이터를 검출한다(S1305).
다음에, 중앙 방향 모듈의 후보 데이터를 검출할 수 있었는가의 여부를 파정한다(S1306). 검출할 수 있었던 경우(S1306; 예)에는 다음의 탐색 각도로 옮기기 위한 단계 S1307에 이행한다. 한편, 검출할 수 없었던 경우(S1304; 아니오)에도 다음의 탐색 각도로 옮기기 위한 단계 S1307로 이행한다.
다음에, 모든 탐색 각도에 대해서 탐색했는지의 여부를 판정한다(S1307). 모든 탐색 각도에 대해서 탐색한 경우(S1307; 예)에는 다음의 단계 S1308로 이행한다. 모든 탐색 각도에 대해서 탐색하고 있지 않은 경우(S1307; 아니오)에는 단계 S1301에서 단계 S1306까지를 모든 탐색 각도에 대해서 탐색할 때까지 반복한다.
여기서, 방향 모듈은 파인더 패턴의 중심점을 중심으로 60도의 간격으로 배치되어 있기 때문에, 탐색 각도 θ의 탐색범위는 0도에서 60도미만 사이의 탐색 분할각을 고려하면 좋다. 따라서, 탐색 각도 θ는 영역0을 고려하면 좋다.
다음에, 내측 방향 모듈의 후보 데이터, 외측 방향 모듈의 후보 데이터 및 중앙 방향 모듈의 후보 데이터가 존재하는지의 여부를 판정한다(S1308). 내측 방향 모듈의 후보 데이터, 외측 방향 모듈의 후보 데이터 및 중앙 방향 모듈의 후보 데이터가 존재하는 경우(S1308; 예)에는 레이트수 n에 근거하여 탐색한 내측 방향 모듈의 후보 데이터, 외측 방향 모듈의 후보 데이터 및 중앙 방향 모듈의 후보 데이터로 이루어지는 방향 모듈의 후보 데이터를 결정하고(S1309), 방향 모듈 후보 데이터 탐색 처리를 종료한다.
한편, 내측 방향 모듈의 후보 데이터, 외측 방향 모듈의 후보 데이터 및 중앙 방향 모듈의 후보 데이터가 존재하지 않는 경우(S1308; 아니오)에는 레이트수 n에 근거하여 탐색한 방향 모듈의 후보 데이터는 없는 것으로 해서 오류 처리를 실행하고 (S1310), 방향 모듈 후보 데이터 탐색 처리를 종료한다.
또한, 상술한 방향 모듈 후보 데이터 탐색 처리에 있어서의 내측 방향 모듈 후보 데이터를 검출하는 단계 S1301, 외측 방향 모듈 후보 데이터를 검출하는 단계 S1303 및 중앙 방향 모듈 후보 데이터를 검출하는 단계 S1305는 처리의 순서에 의존하지 않는다. 내측 방향 모듈 후보 데이터, 외측 방향 모듈 후보 데이터 및 중앙 방향 모듈 후보 데이터를 검출할 수 있으면 좋다.
다음에, 상술한 방향 모듈 후보 데이터 탐색 처리에 있어서의 내측 방향 모듈 후보 데이터를 검출하는 처리를 더욱 상세하게 설명한다.
도 14는 방향 모듈 후보 데이터 탐색 처리에 있어서의 내측 방향 모듈 후보 검출 처리의 흐름도이다.
우선, 내측 방향 모듈이 6방향에 존재하기 때문에, 탐색 각도 θ에 1개의 내측 방향 모듈이 존재한다고 가정하고 6방향에 존재하는 임시 내측 방향 모듈의 위치를 산출한다(S1401).
도 40은 탐색 각도 θ에 있어서의 임시 방향 모듈의 위치를 도시하는 도면이다. 여기서, 파인더 패턴의 중심점을 점 O로 하고, 영역 i의 반경 L1의 원주상에 존재하는 임시 내측 방향 모듈의 중심점을 점 Aij로 하고, 선분 OAij와 x축이 이루는 각은 θij로 한다. 또, 반경 L2의 원주상에 존재하는 임시 외측 방향 모듈의 중심점을 점 A’ij로 하고, 반경 L3의 원주상에 존재하는 임시 중앙 방향 모듈의 중심점을 점 A”ij로 하고, 중앙 방향 모듈의 오프셋 각을 β로 한다. 또한, 점 Aij의 좌표를(xij, yij)로 하고, 점 A’ij의 좌표를(x’ij, y’ij)로 하고, 점 A”ij의 좌표를 (x”ij, y”ij)로 하고, 점θij를 θ(i, j)로 한다.
도 40에 도시하는 바와 같이, 영역0에 존재하는 점 A 0j의 위치는 하기와 같이 표시된다.
x0j= L1* sin(θ0j)
y0j= L1* cos(θ0j)
θ0j=θ(0, j)
따라서, 6방향에 존재하는 임시 내측 방향 모듈의 중심점 Aij는 하기의 식으로 표시된다.
xij= L1* sin(θij)
yij= L1* cos(θij)
θij=θ(i, j)=θ0j+ 60* i
다음에, 산출한 6방향에 존재하는 임시 내측 방향 모듈의 위치에 대응하는 화소 데이터의 색을 추출하고, 「흑」=1 또는 「백」=0인 비트 패턴으로 변환한다(S1402). 여기서, 변환한 6방향에 존재하는 임시 내측 방향 모듈의 비트 패턴으로 구성되는 임시 내측 방향 모듈군의 비트 패턴을 임시 내측 방향 모듈 패턴으로 한다.
다음에, 임시 내측 방향 모듈 패턴과 내측 방향 모듈군의 색 템플릿 패턴의 일 부분을 비교하고, 일치하는지의 여부를 판정한다(S1403). 내측 방향 모듈군의 색 템플릿 패턴에 있어서, 패턴의 좌측부터 k번째의 값에서 (k+ 6)번째의 값까지의 패턴을 내측색 템플릿 부분 패턴으로 한다. 내측색 템플릿 부분 패턴과 임시 내측 방향 모듈 패턴을 비교하고, 일치하는지의 여부를 판정한다. 여기서, k를 개시번호라고 한다. k는 1에서 6까지의 변화로 충분하다.
내측색 템플릿 부분 패턴과 임시 내측 방향 모듈 패턴이 일치한 경우(S1403; 예)에는 6방향에 존재하는 임시 내측 방향 모듈을 내측 방향 모듈의 후보 데이터로서 검출하고(S1404), 다음의 내측색 템플릿 부분 패턴과 비교하기 위한 단계 S1405로 이행한다.
한편, 내측색 템플릿 부분 패턴과 임시 내측 방향 모듈 패턴이 일치하지 않은 경우(S1403; 아니오)에는 다음의 내측색 템플릿 부분 패턴과 비교하기 위한 단계 S1405로 이행한다.
예를 들면, 임시 내측 방향 모듈 패턴이「110110」이면,
내측 방향 모듈군의 색 템플릿 패턴은「101101101101」이므로, k=3 및 k=6일 때의 내측색 템플릿 부분 패턴인 「110110」과 일치한다. 따라서, 임시 내측 방향 모듈을 내측 방향 모듈의 후보 데이터로 한다. 그러나, 임시 내측 방향 모듈 패턴이「100110」이면, 일치하는 내측색 템플릿 부분 패턴은 없다.
다음에, 모든 내측색 템플릿 부분 패턴과 임시 내측 방향 모듈 패턴을 비교했는지의 여부를 판정한다(S1405). 즉, 1에서 6까지의 개시번호 k에 대해서 비교했는지의 여부를 판정한다. 모든 내측색 템플릿 부분 패턴과 임시 내측 방향 모듈 패턴을 비교하고 있지 않은 경우(S1405; 아니오)에는 모든 내측색 템플릿 부분 패턴과 임시 내측 방향 모듈 패턴의 비교가 종료할 때까지 단계 S1403 및 단계 S1404를 반복한다.
모든 내측색 템플릿 부분 패턴과 임시 내측 방향 모듈 패턴을 비교한 경우(S1405; 예)에는 내측 방향 모듈의 후보 데이터를 검출했는지의 여부를 판정한다(S1406). 내측 방향 모듈의 후보 데이터를 검출한 경우(S1406; 예)에는 내측 방향 모듈 후보 검출 처리를 종료한다. 한편, 내측 방향 모듈의 후보 데이터를 검출하지 않은 경우(S1406; 아니오)에는 후보 데이터 없음으로 해서(S1407) 내측 방향 모듈 후보 검출 처리를 종료한다.
다음에, 상술한 방향 모듈 후보 데이터 탐색 처리에 있어서의 외측 방향 모듈 후보 데이터를 검출하는 처리를 더욱 상세하게 설명한다.
도 15는 방향 모듈 후보 데이터 탐색 처리에 있어서의 외측 방향 모듈 후보 검출 처리의 흐름도이다.
우선, 외측 방향 모듈이 6방향에 존재하기 때문에, 탐색 각도 θ에 1개의 외측 방향 모듈이 존재한다고 가정하고 6방향에 존재하는 임시 외측 방향 모듈의 위치를 산출한다(S1501).
도 40에 도시하는 바와 같이, 영역0에 존재하는 점 A’0j의 위치는 하기와 같이 표시된다.
x’0j=L2*sin(θ0j)
y’0j= L2*cos(θ0j)
θ0j=θ(0, j)
따라서, 6방향에 존재하는 임시 외측 방향 모듈의 중심점 A’ij는 하기의 식으로 표시된다.
x’ij= L2*sin(θij)
y’ij= L2*cos(θij)
θij=θ(i, j)=θ0j+60* i
다음에, 산출한 6방향에 존재하는 임시 외측 방향 모듈의 위치에 대응하는 화소 데이터의 색을 추출하고, 「흑」=1 또는 「백」=0인 비트 패턴으로 변환한다(S1502). 여기서, 변환한 6방향에 존재하는 임시 외측 방향 모듈의 비트 패턴으로 구성되는 임시 외측 방향 모듈군의 비트 패턴을 임시 외측 방향 모듈 패턴으로 한다.
다음에, 내측 방향 모듈의 후보 데이터와 일치한 개시번호 k인지의 여부를 판정한다(S1503). 외측 방향 모듈군의 색 템플릿 패턴에 있어서 내측색 템플릿 부분 패턴과 마찬가지로 개시 번호 k에 근거하여 외측색 템플릿 부분 패턴을 작성한다.
내측 방향 모듈의 후보 데이터와 일치한 개시번호 k인 경우(S1503; 예)에는 임시 외측 방향 모듈 패턴과 외측색 템플릿 부분 패턴을 비교하고, 일치하는지의 여부를 판정한다(S1504).
한편, 내측 방향 모듈의 후보 데이터와 일치한 개시번호 k가 아닌 경우(S1503; 아니오)에는 다음 외측색 템플릿 부분 패턴과 비교하기 위한 단계 S1506으로 이행한다.
외측색 템플릿 부분 패턴과 임시 외측 방향 모듈 패턴이 일치한 경우(S1504; 예)에는 6방향에 존재하는 임시 외측 방향 모듈을 외측 방향 모듈의 후보 데이터로서 검출하고(S1505), 다음의 외측색 템플릿 부분 패턴과 비교하기 위한 단계 S1206으로 이행한다.
한편, 외측색 템플릿 부분 패턴과 임시 외측 방향 모듈 패턴이 일치하지 않은 경우(S1504; 아니오)에는 다음의 외측색 템플릿 부분 패턴과 비교하기 위한 단계 S 1506으로 이행한다.
모든 외측색 템플릿 부분 패턴과 임시 외측 방향 모듈 패턴을 비교했는지의 여부를 판정한다(S1506). 모든 외측색 템플릿 부분 패턴과 임시 외측 방향 모듈 패턴을 비교하고 있지 않은 경우(S1506; 아니오)에는 모든 외측색 템플릿 부분 패턴과 임시 외측 방향 모듈 패턴의 비교가 종료할 때까지 단계 S1503, 단계 S1504 및 단계 S1505를 반복한다.
모든 외측색 템플릿 부분 패턴과 임시 외측 방향 모듈 패턴을 비교한 경우(S1506; 예)에는 외측 방향 모듈의 후보 데이터를 검출했는지의 여부를 판정한다(S1507). 외측 방향 모듈의 후보 데이터를 검출한 경우(S1507; 예)에는 외측 방향 모듈 후보 검출 처리를 종료한다. 한편, 외측 방향 모듈의 후보 데이터를 검출하지 않은 경우(S1507; 아니오)에는 후보 데이터 없음으로 해서(S1508) 외측 방향 모듈 후보 검출 처리를 종료한다.
다음에, 상술한 방향 모듈 후보 데이터 탐색 처리에 있어서의 중앙 방향 모 듈 후보 데이터를 검출하는 처리를 더욱 상세하게 설명한다.
도 16은 방향 모듈 후보 데이터 탐색 처리에 있어서의 중앙 방향 모듈 후보 검출 처리의 흐름도이다.
우선, 중앙 방향 모듈이 6방향에 존재하기 때문에, 탐색 각도 θ에 오프셋 각β를 고려한 각도(θ-β)에 1개의 중앙 방향 모듈이 존재한다고 가정하고 6방향에 존재하는 임시 중앙 방향 모듈의 위치를 산출한다(S1601).
도 40에 도시하는 바와 같이, 영역0에 존재하는 점 A”0j의 위치는 하기와 같이 표시된다.
x”0j= L3*sin(θ0j-β)
y”0j= L3*cos(θ0j-β)
θ0j=θ(0, j)
따라서, 6방향에 존재하는 임시 중앙 방향 모듈의 중심점 A”ij는 하기의 식으로 표시된다.
x”ij= L3*sin(θij-β)
y”ij= L3*cos(θij-β)
θij=θ(i, j)=θ0j+ 60* i
다음에, 산출한 6방향에 존재하는 임시 중앙 방향 모듈의 위치에 대응하는 화소 데이터의 색을 추출하고, 「흑」= 1 또는 「백」= 0인 비트 패턴으로 변환한다(S1602). 여기서, 변환한 6방향에 존재하는 임시 중앙 방향 모듈의 비트 패턴으로 구성되는 임시 중앙 방향 모듈군의 비트 패턴을 임시 중앙 방향 모듈 패턴으로 한다.
다음에, 외측 방향 모듈의 후보 데이터와 일치한 개시번호 k인지의 여부를 판정한다(S1603). 여기서, 외측 방향 모듈의 후보 데이터는 내측 방향 모듈의 후보 데이터이고 또한 외측 방향 모듈의 후보 데이터이다. 중앙 방향 모듈군의 색 템플릿 패턴에 있어서, 내측색 템플릿 부분 패턴과 마찬가지로 개시 번호 k에 근거하여 중앙색 템플릿 부분 패턴을 작성한다.
외측 방향 모듈의 후보 데이터와 일치한 개시번호 k인 경우(S1603; 예)에는 임시 중앙 방향 모듈 패턴과 중앙색 템플릿 부분 패턴을 비교하고, 일치하는지의 여부를 판정한다(S1604).
한편, 외측 방향 모듈의 후보 데이터와 일치한 개시번호 k가 아닌 경우(S1603; 아니오)에는 다음의 중앙색 템플릿 부분 패턴과 비교하기 위한 단계 S1606으로 이행한다.
중앙색 템플릿 부분 패턴과 임시 중앙 방향 모듈 패턴이 일치한 경우(S1604; 예)에는 6방향에 존재하는 임시 중앙 방향 모듈을 중앙 방향 모듈의 후보 데이터로서 검출하고(S1605), 다음의 중앙색 템플릿 부분 패턴과 비교하기 위한 단계 S1606으로 이행한다.
한편, 중앙색 템플릿 부분 패턴과 임시 중앙 방향 모듈 패턴이 일치하지 않은 경우(S1604; 아니오)에는 다음의 중앙색 템플릿 부분 패턴과 비교하기 위한 단계 S1606으로 이행한다.
모든 중앙색 템플릿 부분 패턴과 임시 중앙 방향 모듈 패턴을 비교했는지의 여부를 판정한다(S1606). 모든 중앙색 템플릿 부분 패턴과 임시 중앙 방향 모듈 패턴을 비교하고 있지 않은 경우(S1606; 아니오)에는 모든 중앙색 템플릿 부분 패턴과 임시 중앙 방향 모듈 패턴의 비교가 종료할 때까지 단계 S1603, 단계 S1604 및 단계 S1605를 반복한다.
모든 중앙색 템플릿 부분 패턴과 임시 중앙 방향 모듈 패턴을 비교한 경우(S1606; 예)에는 중앙 방향 모듈의 후보 데이터를 검출했는지의 여부를 판정한다(S1607). 중앙 방향 모듈의 후보 데이터를 검출한 경우(S1607; 예)에는 중앙 방향 모듈 후보 검출 처리를 종료한다. 한편, 중앙 방향 모듈의 후보 데이터를 검출하지 않은 경우(S1607; 아니오)에는 후보 데이터 없음으로 해서(S1608) 중앙 방향 모듈 후보 검출 처리를 종료한다.
다음에, 상술한 방향 모듈 후보 데이터 탐색 처리에 있어서의 방향 모듈 후보 데이터를 결정하는 처리를 더욱 상세하게 설명한다.
도 17은 방향 모듈 후보 데이터 탐색 처리에 있어서의 방향 모듈 후보 결정 처리의 흐름도이다.
검출한 복수개의 내측 방향 모듈의 후보 데이터에 근거하여 레이트수 n에서의 1개의 내측 방향 모듈의 후보 데이터를 결정한다.
방향 모듈의 결정은 검출한 방향 모듈의 후보 데이터에 근거하여 동일한 방향 모듈의 후보 데이터를 판별하고, 판별한 후보 데이터의 평균을 취하는 것에 의해 구한다.
도 41은 동일한 방향 모듈에 대응하는 후보 데이터의 데이터 변환을 도시하 는 도면이다. 도 41의 (a)는 데이터 변환 전의 동일한 방향 모듈에 대응하는 후보 데이터를 도시하는 도면이고, 도 41의 (b)는 데이터 변환 후의 동일한 방향 모듈에 대응하는 후보 데이터를 도시하는 도면이다.
도 41의 (a)에 도시하는 바와 같이, 검출한 동일 방향 모듈의 후보 데이터가 영역i와 영역(i+1)에 걸쳐서 존재하는 경우가 있다. 점 A10, 점 A11, 점 A12 및 점 A0m은 영역0과 영역1에 걸쳐서 존재하는 동일 방향 모듈의 후보 데이터이다. 여기서, 검출한 방향 모듈 후보 데이터인 점 Aij는 영역i에 존재하는 j번째의 탐색 분할각의 데이터인 것을 나타내고 있다. 따라서, 상술한 점 Aij의 표현 방법으로서는 동일 방향 모듈의 후보 데이터인 것을 나타낼 수 없다. 그래서, 도 41의 (b)에 도시하는 바와 같이, 점 Aij에 의해서 표시되는 데이터를 동일 방향 모듈의 후보 데이터인 것을 나타내는 데이터점 Bpq로 변환한다. 여기서, p는 방향 모듈번호를 나타내고, q는 후보번호를 나타낸다. 또한, 점 Aij의 위치 좌표와 점 Bpq의 위치 좌표는 동일한 값이다.
우선, 후보 데이터인 점 Aij가 점 Bpq와 동일 방향 모듈의 후보 데이터인지 여부를 판정한다(S1701). 동일 방향 모듈의 후보 데이터인 경우(S1701; 예)에는 점 Aij를 점 Bpq로 데이터 변환하고(S1702), 다음 단계 S1705로 이행한다.
예를 들면, 도 41에 도시하는 바와 같이, 동일 방향 모듈의 후보 데이터인 점 A00을 점 B00으로, 점 A01을 점 B01로, 점 A02를 점 B02로 데이터 변환한다. 또, 60도 다른 별도의 방향 모듈의 후보 데이터인 점 A10을 점 B 10으로, 점 A11을 점 B 11로, 점 A12를 점 B12로 데이터 변환한다.
한편, 동일 방향 모듈의 후보 데이터가 아닌 경우(S1701; 아니오)에는 후보 데이터인 점 Aij가 점 Bpq와 60도 다른 점 Bp+1q와 동일 방향 모듈의 후보 데이터인지의 여부를 판정한다(S1703).
60도 다른 방향 모듈의 후보 데이터인 경우(S1703; 예)에는 점 Aij를 점 Bp+1q로 데이터 변환하고(S1704), 다음 단계 S1705로 이행한다. 한편, 60도 다른 방향 모듈의 후보 데이터가 아닌 경우(S1703; 아니오)에는 데이터 변환을 실행하지 않고서, 다음의 단계 S1705로 이행한다.
예를 들면, 도 41에 도시하는 바와 같이, 점 A0m은 점 B02와 다른 방향 모듈의 후보 데이터이지만, 점 B12와는 동일한 방향 모듈의 후보 데이터이다. 따라서, 방향 모듈의 후보 데이터인 점 A0m을 점 B13으로 데이터 변환한다.
여기서, 60도 다른 방향 모듈의 후보 데이터라는 것은 예를 들면 점 A0m과 점 B12 사이의 거리 즉 점 A0m과 점 A12 사이의 거리가 하기의 관계로 되는 경우이다.
점 A0m과 점 A12 사이의 거리 < 모듈의 높이 V
또한, 모듈의 높이 V는 모듈의 폭 W를 이용하여 하기의 식에 의해서 표시된다.
V=(2/√3)* W
다음에, 검출한 모든 방향 모듈의 후보 데이터에 대해서 데이터 변환했는지의 여부를 판정한다(S1705). 검출한 모든 방향 모듈의 후보 데이터에 대해서 데이터 변환한 경우(S1705; 예)에는 다음의 단계 S1706으로 이행한다. 한편, 검출한 모든 방향 모듈의 후보 데이터에 대해서 데이터 변환하고 있지 않은 경우(S1705; 아니오)에는 모든 후보 데이터를 데이터 변환할 때까지 단계 S1701에서 단계 S1704까지의 처리를 반복한다.
마지막으로, 데이터 변환한 동일 방향 모듈의 후보 데이터의 평균 좌표를 산출하고, 산출한 좌표를 레이트수 n에 있어서의 방향 모듈의 후보 데이터의 좌표로 결정한다(S1706). 여기서, 평균 좌표라는 것은 x-y 좌표계에 있어서는 후보 데이터에 있어서의 x좌표 및 y좌표의 각각의 단순 평균 좌표값이다. 또, 극좌표에 있어서는 반경이 레이트수 n인 경우의 각도 평균값이다.
도 42는 레이트수 n에 있어서의 방향 모듈의 후보 데이터의 결정 방법을 도시하는 도면이다.
도 42에 도시하는 바와 같이, 검출된 동일 방향 모듈의 후보 데이터인 점 B10, 점 B11, 점 B12, 점 B13의 평균 좌표점을 점 Cn1로 하면, 점 Cn1이 레이트수 n에 있어서의 방향 모듈의 후보 데이터로 된다.
다음에, 상술한 방향 모듈 탐색 처리에 있어서의 방향 모듈을 결정하는 처리를 더욱 상세하게 설명한다.
도 18은 방향 모듈 탐색 처리에 있어서의 방향 모듈 결정 처리의 흐름도이다.
우선, 레이트수 n에 근거하여 검출된 방향 모듈의 후보 데이터의 평균좌표를 산출하고, 방향 모듈의 중심점의 위치를 결정한다(S1801).
도 43은 방향 모듈의 중심점의 위치 결정을 도시하는 도면이다.
도 43에 도시하는 바와 같이, 레이트수 n에 근거하여 검출된 방향 모듈의 후보 데이터인 점 C3.55, 0, 점 C3.5, 0, 점 C 3.45, 0의 평균 좌표점을 점 D0으로 하면, 점 D0이 방향 모듈의 중심점의 위치로 된다.
다음에, 결정한 방향 모듈의 중심점과 파인더 패턴의 중심점을 연결하는 직선과 수평축이 이루는 각θ를 산출한다(S1802).
다음에, 방향 모듈의 폭 W를 산출한다(S1803).
마지막으로, 맥시코드 심볼의 데이터 모듈의 위치를 검출하기 위해, 방향 모듈의 위치에 근거하여 판독 화상의 화상 정보의 데이터를 변환한다(S1804).
도 44는 회전에 의한 데이터 변환을 도시하는 도면이다. 도 44의 (a)는 데이터 변환 공정을 도시하는 도면이고, 도 44의 (b)는 방향 모듈의 배열 번호를 도시하는 테이블이다.
도 44의 (a)에 도시하는 바와 같이, 방향 모듈 번호를 배열 번호로 변환한다. 방향 모듈 번호는 방향 모듈이 존재하는 영역을 나타내는 번호이고, 배열 번호는 도 44의 (b)의 표에 따른다.
상술한 데이터 모듈 탐색 단계에 대해서 일례를 들어 설명한다. 그 상세한 것에 대해서는 도 19, 도 45 및 도 46을 참조해서 설명한다.
도 19는 맥시코드 심볼의 디코드 처리에 있어서의 데이터 모듈 탐색 처리의 흐름도이다.
우선, 파인더 패턴의 중심점, 내측 방향 모듈의 중심점 및 외측 방향 모듈의 중심점을 통과하는 방향축을 상정하고, 방향축상의 데이터 모듈의 위치 정보 및 도 형 정보를 산출한다(S1901).
도 45는 방향축상의 모듈을 도시하는 도면이다. 도 45의 (a)는 방향축상의 실모듈과 가모듈을 도시하는 도면이고, 도 45의 (b)는 방향축상의 데이터 모듈의 위치를 도시하는 도면이다.
도 45의 (a)에 도시하는 바와 같이, 파인더 패턴의 중심점, 내측 방향 모듈의 중심점 및 외측 방향 모듈의 중심점을 통과하는 방향축을 상정하고, 축번호를 붙인다. 또, 데이터 모듈의 위치를 산출하기 위해, 방향축상에 맥시코드 심볼로 존재하는 모듈(이하, 「실모듈」이라고 함)과 맥시코드 심볼로 존재하지 않는 모듈(이하, 「가모듈」이라고 함)을 고려한다.
도 45의 (b)에 도시하는 바와 같이, 축번호 0의 방향축상에 있어서는 실모듈이 10개와 가모듈이 8개로 이루어지는 모듈군을 고려하고, 각 모듈의 중심점의 위치를 산출한다. 또한, 축번호 1의 방향축상에 있어서는 실모듈이 11개와 가모듈이 7개로 이루어지는 모듈군을 고려하고, 축번호 2의 방향축상에 있어서는 실모듈이 11개와 가모듈이 6개로 이루어지는 모듈군을 고려하고, 축번호 3의 방향축상에 있어서는 실모듈이 9개와 가모듈이 8개로 이루어지는 모듈군을 고려하고, 축번호 4의 방향축상에 있어서는 실모듈이 11개와 가모듈이 6개로 이루어지는 모듈군을 고려하고, 축번호 5의 방향축상에 있어서는 실모듈이 11개와 가모듈이 7개로 이루어지는 모듈군을 생각한다. 여기서, 축번호 1의 방향축상의 실모듈은 12개이지만, 내측 방향 모듈보다 파인더 패턴의 중심에 가까운 실모듈은 독자적으로 모듈의 중심점의 위치를 요구하고 비트 변환을 실행한다. 따라서, 축번호 1의 방향축상에 있어서는 실모듈이 11개와 가모듈이 7개로 이루어지는 모듈군을 고려하면 좋다.
다음에, 산출한 각 모듈의 중심점의 위치에 대응하는 화소 데이터에 근거하여 「흑」= 비트 1 또는 「백」=비트 0으로 이루어지는 비트 패턴으로 변환한다(S1902). 여기서, 가모듈은 비트 패턴으로 변환하지 않는다.
다음에, 방향축 사이의 영역에 존재하는 맥시코드 심볼의 데이터 모듈의 위치 정보를 산출한다(S1903).
도 46은 방향축 사이의 모듈을 도시하는 도면이다. 도 46의 (a)는 방향축 사이의 실모듈과 가모듈을 도시하는 도면이고, 도 46의 (b)는 방향축 사이의 데이터 모듈의 위치를 도시하는 도면이다.
도 46의 (a)에 도시하는 바와 같이, 축번호 0과 축번호 1로 이루어지는 삼각형의 영역을 가심볼 영역 0으로 하고, 축번호 1과 축번호 2로 이루어지는 삼각형의 영역을 가심볼 영역 1로 하고, 축번호 2와 축번호 3으로 이루어지는 삼각형의 영역을 가심볼 영역 2로 하고, 축번호 3과 축번호 4로 이루어지는 삼각형의 영역을 가심볼 영역 3으로 하고, 축번호 4와 축번호 5로 이루어지는 삼각형의 영역을 가심볼 영역 4로 하고, 축번호 5와 축번호 0으로 이루어지는 삼각형의 영역을 가심볼 영역 5로 한다. 또, 가심볼 영역 i에 있어서 맥시코드 심볼의 영역은 실모듈(실선의 육각형)로 구성되고, 맥시코드 심볼의 영역 이외에는 가모듈(점선의 육각형)로 구성되어 있다.
도 46의 (b)에 도시하는 바와 같이, 축번호 i의 방향축상의 모듈의 중심점과 축번호 i+1의 방향축상의 모듈의 중심점을 직선으로 연결하고, 연결한 직선을 (방 향축 사이의 모듈수+1) 간격으로 분할한 점을 각 모듈의 중심점으로 한다. 즉, 가심볼 영역 0에 있어서는 직선은 18개로 되고, 방향축상의 내측 방향 모듈의 중심점을 점 A1과 점 A’1로 할 때 점 A1과 점 A’1을 연결한 직선은 6개로 분할되고, 분할된 점이 모듈의 중심점으로 된다. 또, 점 Ak와 점 A’ k를 연결한 직선은 (k+5)개로 분할되고, 분할된 점이 모듈의 중심점으로 된다.
다음에, 산출한 각 모듈의 중심점의 위치에 대응하는 화소 데이터에 근거하여 「흑」= 비트 1 또는「백」=비트 0으로 이루어지는 비트 패턴으로 변환하고(S1904), 데이터 모듈 탐색 처리를 종료한다. 또한, 단계 S1904의 비트 패턴의 변환은 실모듈에 대해서만 실행한다.
다음에, 상술한 방향축상의 데이터 모듈의 위치 정보 및 도형 정보를 산출하는 처리를 도 20 및 도 47을 참조해서 상세하게 설명한다.
도 20은 데이터 모듈 탐색 처리에 있어서의 방향축상의 데이터 모듈 위치 산출 처리의 흐름도이다.
우선, 내측 방향 모듈을 탐색 개시의 모듈로 하고, 방향축상을 심볼의 외측 방향으로 「흑」의 모듈군을 탐색한다(S2001). 즉, VRAM(106)의 화소 데이터 기억부(210)에 기억된 화소 데이터에 근거하여 내측 방향 모듈의 중심점을 개시점으로 하고, 방향축상의 연속하는 「흑」의 화소 데이터를 탐색한다. 여기서, 「흑」의 모듈군이라는 것은 1개 또는 연속하는 복수개의 「흑」의 모듈에 의해서 구성되는 모듈군이다.
다음에, 탐색한 「흑」의 모듈군에 근거하여 방향축의 각도 보정을 실행한다(S2002). 심볼의 판독 화상이 왜곡되어 있기 때문에 도 3의 단계 S304에 있어서 탐색한 방향 모듈의 위치 정보는 반드시 방향 모듈의 중심점의 위치 정보라고는 할 수 없다. 따라서, 방향 모듈의 위치 정보와 파인더 패턴의 중심점의 위치 정보에 근거하여 산출된 방향축상에 데이터 모듈의 중심점이 존재한다고는 할 수 없다. 또, 방향 모듈의 위치 정보가 방향 모듈의 중심점의 위치 정보였다고 해도 화상의 왜곡이 큰 심볼의 외측에 있어서는 데이터 모듈의 중심점이 방향축상에 존재한다고는 할 수 없다. 그래서, 방향 모듈의 위치 정보와 파인더 패턴의 중심점의 위치 정보에 근거하여 산출된 방향축이 방향 모듈 및 데이터 모듈의 중심점 근방을 통과하도록 축의 각도를 보정한다.
도 47은 방향축의 각도 보정을 도시하는 도면이다. 도 47에 도시하는 바와 같이, 단계 S2001에서 방향축의 각도를 보정하는 것에 의해, 모듈의 중심점 근방을 통과하도록 한다.
다음에, 방향축상의 「흑」의 모듈군을 모두 탐색했는지의 여부를 판정한다(S2003). 즉, 모든 「흑」의 모듈군에 따른 방향축의 각도 보정을 실행했는지의 여부를 판정한다. 방향축상의 「흑」의 모듈군을 모두 탐색하고 있지 않은 경우(S2003; 아니오)에는 단계 S2001로 되돌아가 방향축i 상의 「흑」의 모듈군을 모두 탐색할 때까지 단계 S2001 및 단계 S2002를 반복한다.
한편, 방향축상의 「흑」의 모듈군을 모두 탐색한 경우(S2003; 예)에는 모든 「흑」의 모듈군에 따른 방향축의 각도 보정을 실행한 후의 방향축 i를 보정후의 방향축으로 결정한다(S2004). 모든 「흑」의 모듈군에 따른 방향축의 각도 보정을 실행하는 것에 의해, 화상의 왜곡이 큰 경우라도 심볼의 외측에 존재하는 데이터 모듈의 중심점 근방을 통과하도록 방향축 i를 보정할 수 있다.
다음에, 6방향의 모든 방향축을 보정했는지의 여부를 판정한다(S2005). 6방향의 모든 방향축을 보정하고 있지 않은 경우(S2005; 아니오)에는 단계 S2001로 되돌아가 6방향의 모든 방향축을 보정할 때까지 단계 S2001에서 단계 S2004까지를 반복한다.
한편, 6방향의 모든 방향축을 보정한 경우(S2005; 예)에는 각도 보정한 방향축상에 존재하는 모든 실모듈의 폭을 보정하고(S2006), 마지막으로 각도 보정한 방향축상의 가모듈의 폭을 보정하고(S2007), 처리를 종료한다.
다음에, 상술한 방향축의 각도 보정 처리를 도 21, 도 24, 도 48, 도 49, 도 50, 도 51 및 도 52를 참조해서 상세하게 설명한다.
도 21은 방향축상의 데이터 모듈 위치 산출 처리에 있어서의 방향축의 각도보정 처리의 흐름도이다.
우선, 방향축i 상에 존재하는 「흑」의 모듈군에 있어서, 모듈군에 존재하는 파인더 패턴에 가장 가까운 「흑」의 모듈의 제 1 보정 중심점을 점 P0으로 하고, 점 P0의 위치 정보를 산출한다(S2101). 여기서, 방향축 i는 파인더 패턴의 중심점을 중심으로 6방향의 방향 모듈에 따라 방향이 결정되는 6개의 방향축중의 임의의 1개이다. 방향축의 축번호 i는 반시계 방향으로 증가한다. 단, i=0∼5이고 방향축 i가 방향축5일 때에는 방향축(i+1)은 방향축0으로 된다. 또한, 모듈의 중심점의 위치 정보를 산출하는 처리는 후술하는 도 24에 있어서 설명한다.
다음에, 방향축 i와 방향축(i+1) 사이의 각도를 θi로 할 때, 점 P0을 중심으로 방향축 i를 θi만큼 반시계방향으로 회전시킨 축을 인접 예비축 i´로 하고, 또 인접 예비축 i´상에 있어서의 점 P0이 존재하는 「흑」의 모듈을 포함하는 「흑」의 모듈군을 탐색한다(S2102).
도 49는 방향축 i와 인접 예비축 i´의 관계를 도시하는 도면이다. 도 49에 도시하는 바와 같이, 점 P0을 중심으로 방향축 i를 θi만큼 반시계방향으로 회전시킨 축이 인접 예비축 i´이다.
다음에, 탐색한 인접예비축 I’상의 「흑」의 모듈군에 근거하여 재차 점 P0이 존재하는 「흑」의 모듈의 제 2 보정 중심점의 후보를 점 P1로 하고, 점 P1의 위치 정보를 산출한다(S2103).
도 50은 모듈의 제 2 보정 중심점의 후보인 점 P1의 위치 정보의 산출 처리를 도시하는 도면이다. 도 50에 도시하는 바와 같이, 「흑」의 모듈군에 포함되는 모든 모듈의 인접 예비축 i´상의 크기를 동일하다고 고려하고 점 P1의 위치 정보를 산출한다.
다음에, 방향축(i-1)과 방향축 i 사이의 각도를 θi-1로 할 때, 점 P0을 중심으로 방향축 i를 θi-1만큼 시계방향으로 회전시킨 축을 인접 예비축 i˝로 하고, 또 인접 예비축 i˝상에 있어서의 점 P0이 존재하는 「흑」의 모듈을 포함하는 「흑」의 모듈군을 탐색한다(S1804). 여기서, 방향축 i가 방향축0일 때에는 방향축(i-1)은 방향축5로 된다.
다음에, 탐색한 인접 예비축 i˝상의 「흑」의 모듈군에 근거하여 재차 점 P0이 존재하는 「흑」의 모듈의 제 2 보정 중심점의 후보를 점 P2로 하고, 점 P2의 위치 정보를 산출한다(S2105).
도 51은 모듈의 제 2 보정 중심점의 후보인 점 P2의 위치 정보의 산출 처리를 도시하는 도면이다. 도 51에 도시하는 바와 같이, 「흑」의 모듈군에 포함되는 모든 모듈의 인접 예비축 i˝ 상의 크기를 동일하다고 고려하고 점 P2의 위치 정보를 산출한다.
다음에, 인접 예비축 i´의 각도 보정과 인접 예비축 i˝의 각도 보정을 비교하고, 보정 오차가 작은 쪽을 검출한다(S2106). 인접 예비축 i´의 각도 보정의 오차가 작은 경우(S2106; i´)에는 점 P0이 존재하는 「흑」의 모듈의 제 2 보정 중심점을 점 P3으로 할 때, 점 P1을 점 P3으로 한다(S2107). 한편, 인접 예비축 i˝의 보정의 오차가 작은 경우(S2106; i˝)에는 점 P0이 존재하는 「흑」의 모듈의 제 2 보정 중심점을 점 P3으로 할 때, 점 P2를 점 P3으로 한다(S2108). 예를 들면, 보정 오차의 대소는 방향축상의 「흑」의 모듈군에 포함되는 모든 모듈의 수에 의해서 판정한다. 즉, 모든 모듈의 크기를 동일하다고 고려하기 때문에 모듈의 수가 적을 수록 오차는 작아진다. 도 50 및 도 51에 도시하는 바와 같은 경우에는 인접 예비축 i´상의 모듈수가 인접 예비축 i˝상의 모듈수보다 많기 때문에 점 P2를 제 2 보정 중심점인 점 P3으로 한다.
다음에, 점 P3과 파인더 패턴의 중심점을 통과하는 축을 방향 예비축 j로 할 때, 방향 예비축 j상에 있어서의 점 P3이 존재하는 「흑」의 모듈을 포함하는 「흑」의 모듈군을 탐색하고(S2109), 점 P3이 존재하는 「흑」의 모듈의 중심점인 점 P 의 위치 정보를 산출한다(S2110).
도 52는 모듈의 중심점인 점 P의 위치 정보의 산출 처리를 도시하는 도면이다. 도 52에 도시하는 바와 같이, 점 P3이 존재하는 「흑」의 모듈을 포함하는 「흑」의 모듈군에 포함되는 모든 모듈의 방향 예비축 j 상의 크기를 동일하다고 고려해서 모듈의 중심점인 점 P의 위치 정보를 산출한다.
다음에, 모듈의 중심점인 점 P와 파인더 패턴의 중심점을 통과하는 방향축 k를 방향축 i의 각도 보정한 방향축으로 하고, 방향축 k와 수평 방향축 사이의 각도αi를 산출한다(S2111). 도 52에 도시하는 바와 같이, 점 P와 파인더 패턴의 중심점을 통과하는 직선이 방향축 i를 각도 보정한 방향축이 방향축 k로 된다. 여기서, 방향축 k는 방향 예비축 j와 동일 직선이다.
마지막으로, 「흑」의 모듈군을 구성하는 방향축 k상의 「흑」모듈의 폭을 산출하고(S2112), 처리를 종료한다.
도 24는 방향축상에 있어서의 모듈의 중심점의 위치 정보 산출 처리의 흐름도이다.
우선, VRAM(106)의 화소 데이터 기억부(210)에 기억된 화소 데이터에 근거하여 1개 또는 복수개의 연속한 모듈로 구성되는 모듈군의 경계를 가로지르는 방향축 i의 길이 L을 측정한다(S2401).
도 48은 모듈의 중심점의 위치 정보를 산출하는 처리를 도시하는 도면이다. 도 48의 (a)는 방향축상의 모듈군의 영역 L을 도시하는 도면이고, 도 48의 (b)는 모듈군을 구성하는 모듈의 중심점의 위치 정보를 도시하는 도면이다.
도 48의 (a)에 도시하는 바와 같이,「흑」의 모듈로 구성되는 모듈군의 경계를 가로지르는 방향축 i의 길이 L을 화소 데이터의 「흑」과 「백」의 경계점에 근거하여 측정한다. 여기서, 경계점을 점 A와 점 B로 한다. 따라서, L=AB로 된다.
다음에, 산출한 길이 L 및 도 3의 방향 모듈 탐색 처리(S304)에 의해서 산출한 모듈의 폭 W에 근거하여 값 n’(= L/W)을 산출하고, 값 n’을 사사 오입한 값 또는 경계값 테이블에 근거하여 모듈군을 구성하는 모듈의 개수 n을 산출한다(S2402).
도 48의 (a)에 있어서는 n= 2로 되고, 모듈군을 구성하는 「흑」의 모듈의 개수는 2개이다.
마지막으로, 모듈군을 구성하는 모듈의 순서 r에 근거하여 모듈의 중심점의 위치 정보를 산출한다(S2403). 여기서, 방향축 i 상에 있어서, 모듈군 중에서 가장 파인더 패턴측에 있는 모듈의 순서를 r= 1로 하고, 파인더 패턴에서 가장 떨어져 있는 모듈의 순서를 r=n으로 한다. 또, 모듈군을 구성하는 모듈은 모두 동일한 크기인 것으로 하고. 모든 모듈의 중심점을 방향축 i가 통과하는 것으로 가정해서 모듈의 중심점의 위치 정보를 산출한다. 즉, 길이 L을 (2r-1):(2n-2r+1)로 내분하는 점을 r번째의 모듈의 중심점으로 한다. 도 48의 (b)에 도시하는 바와 같이, r=1일 때의 모듈의 중심점을 점 P0으로 할 때, 점 P0은 길이 L(선분 AB)을 1:3으로 내분하는 점이다.
도 22는 방향축상의 데이터 모듈 위치 산출 처리에 있어서의 방향축상의 실모듈의 폭보정 처리의 흐름도이다.
우선, 내측 방향 모듈을 탐색 개시의 모듈로 하고, 방향축 i 상을 심볼의 외측 방향으로 「흑」의 실모듈로 구성되는 모듈군을 탐색한다(S2201).
다음에, 탐색한 모듈군을 구성하는 모든 실모듈의 중심점의 위치 정보를 산출하고(S2202), 실모듈의 폭을 산출한다(S2203).
다음에, 방향축 i상에 있어서, 가장 심볼의 내측의 「흑」의 실모듈보다도 내측에「백」의 실모듈이 존재하는가 아닌가를 판정한다(S2204). 「백」의 실모듈이 존재하는 경우(S2204; 예)에는 가장 심볼의 내측의 「흑」의 실모듈의 폭을 「백」의 실모듈의 폭으로 한다(S2205).
다음에, 방향축 i상에 있어서, 탐색한 동일한 색의 모듈군의 가장 심볼의 외측에 존재하는 모듈을 탐색 개시의 모듈로 하고, 방향축 i상을 심볼의 외측 방향으로 전회 탐색한 모듈군과는 다른 색의 실모듈로 구성되는 모듈군을 탐색한다(S2206).
다음에, 탐색한 모듈군을 구성하는 모든 실모듈의 중심점의 위치 정보를 산출하고(S2207), 실모듈의 폭을 산출한다(S2208).
다음에, 방향축 i상에 있어서, 심볼의 가장 외측에 존재하는 「흑」의 실모듈을 포함한 모듈군을 탐색했는지의 여부를 판정한다(S2209). 탐색하고 있지 않은 경우(S2209; 아니오)에는 단계 S2201로 되돌아가 심볼의 가장 외측에 존재하는 「흑」의 실모듈을 포함한 모듈군을 탐색할 때까지 단계 S2206∼단계 S2208을 반복한다.
한편, 탐색한 경우(S2209; 예)에는 6방향의 모든 방향축에 대해서 실모듈의 중심점의 위치 정보 및 실모듈의 폭을 산출했는지의 여부를 판정한다(S2210). 모든 방향축에 대해서 산출 처리를 실행한 경우(S2210; 예)에는 처리를 종료한다. 한편, 모든 방향축에 대해서 산출 처리를 실행하고 있지 않은 경우(S2210; 아니오)에는 단계 S2201로 되돌아가 모든 방향축에 대해서 산출 처리를 실행할 때까지 단계 S2201∼단계 S2209를 반복한다.
도 23은 방향축상의 데이터 모듈 위치 산출 처리에 있어서의 방향축상의 가모듈의 폭보정 처리의 흐름도이다.
우선, 6방향의 방향축중에서 가장 왜곡이 작은 방향축인 기준 방향축 m을 검출한다(S2301). 예를 들면, 도 22에 도시한 실모듈의 폭보정에 의해서 산출한 심볼의 가장 외측에 존재하는 「흑」의 실모듈의 폭 Wi와 도 3의 방향 모듈 탐색 처리(S304)에 의해서 산출한 실모듈의 폭 W0i의 비율 Ri에 근거하여 방향축의 왜곡의 크기 Ei를 하기의 식에 의해서 나타낸다. 여기서, i는 축번호이다.
Ei=| Ri-1|=| Wi/W0i-1|
따라서, 6방향의 방향축에 있어서 왜곡의 크기 Ei를 산출하고, 최소로 되는 방향축이 기준 방향축 m으로 된다.
다음에, 기준 방향축 m상의 산출하고 있지 않은 실모듈의 폭 및 가모듈의 폭을 심볼의 가장 외측에 존재하는 「흑」의 실모듈의 폭과 동일하다고 가정하고, 기준 방향축 m상의 산출하고 있지 않은 모든 실모듈의 중심점 및 가모듈의 중심점의 위치 정보를 산출한다(S2302). 또, 기준 방향축 m을 방향축 i로 하고, 방향축 i상의 실모듈 및 가모듈의 중심점의 위치 정보에 근거하여 방향축(i+1) 상의 모듈의 중심점의 위치 정보를 고려한다.
다음에, 파인더 패턴의 중심점의 위치 정보, 방향축 i상의 모듈의 중심점의 위치 정보 및 방향축(i+1) 상의 심볼의 가장 외측에 존재하는 「흑」의 실모듈의 중심점의 위치 정보에 근거하여 방향축(i+1) 상의 심볼의 가장 외측에 존재하는 「흑」의 실모듈의 중심점으로부터 방향축(i+1) 상의 가심볼 영역의 가장 외측에 존재하는 가모듈의 중심점까지의 거리 L을 산출한다(S2303). 여기서, 가심볼 영역은 도 46에 설명한 영역이다.
다음에, 산출한 거리 L 및 방향축(i+1) 상의 심볼의 가장 외측에 존재하는 「흑」의 실모듈에서 방향축(i+1) 상의 가심볼 영역의 가장 외측에 존재하는 가모듈까지 존재하는 모듈의 개수에 근거하여, 방향축(i+1) 상의 산출하고 있지 않은 모든 실모듈의 중심점 및 가모듈의 중심점의 위치 정보를 산출한다(S2304).
도 53은 거리 L 및 산출하고 있지 않은 모듈의 중심점의 위치 정보를 산출하는 처리를 도시하는 도면이다.
도 53에 도시하는 바와 같이, 파인더 패턴의 중심점을 점 O로 하고, 방향축(i+1) 상의 심볼의 가장 외측에 존재하는 「흑」의 실모듈의 중심점을 점 A’로 하고, 방향축(i+1) 상의 가심볼 영역의 가장 외측에 존재하는 가모듈의 중심점을 점 B’로 하고, 방향축 i상의 가심볼 영역의 가장 외측에 존재하는 가모듈의 중심점을 점 B로 한다. 또, 방향축 i상의 내측 방향 모듈로부터의 개수가 방향축(i+1) 상의 내측 방향 모듈에서 심볼의 가장 외측에 존재하는 「흑」의 실모듈까지의 개수와 동일하게 되는 방향축 i상의 모듈의 중심점을 점 A로 한다. 또 한, 점 A’에서 점 B’까지의 거리 L은 하기의 식에 의해서 산출한다.
L= A’B’= AB·(OA’/OA)
또, 점 A’가 존재하는 모듈에서 점 B’가 존재하는 모듈까지의 (n+1)개의 모듈이 모두 동일하다고 가정하고, 모듈의 중심점의 위치 정보를 산출한다.
마지막으로, 6방향의 모든 방향축에 대해서 산출하고 있지 않은 모든 실모듈의 중심점 및 가모듈의 중심점의 위치 정보를 산출했는지의 여부를 판정한다(S2305). 모든 방향축에 대해서 산출 처리를 실행한 경우(S2305; 예)에는 처리를 종료한다. 한편, 모든 방향축에 대해서 산출 처리를 실행하고 있지 않은 경우(S2305; 아니오)에는 단계 S2303으로 되돌아가 새로이 방향축(i+1)을 방향축 i로 하고, 모든 방향축에 대해서 산출 처리를 실행할 때까지 단계 S2303 및 단계 S2304를 반복한다.
다음에, 상술한 데이터 문자 변환 단계에 대해서 일례를 들어 상세하게 설명한다.
도 25는 맥시코드 심볼의 디코드 처리에 있어서의 데이터 문자 변환 처리의 흐름도이다.
데이터 문자 변환은 데이터 모듈을 「흑」= 1 또는 「백」= 0인 비트 패턴으로 변환하고, 변환한 비트 패턴으로 이루어지는 비트 데이터를 코드워드로 변환하고, 코드워드를 데이터 문자로 변환하는 것에 의해 구성된다.
도 54는 코드워드를 도시하는 도면이다.
도 54에 도시하는 바와 같이, 코드워드는 데이터 1문자를 나타내는 비트열로 서, 데이터 모듈 6개로 이루어지는 6비트분의 데이터와 2비트분의 비트 0의 데이터로 구성되어 있다. 따라서, 코드워드 변환이라는 것은 비트 변환한 비트 데이터가 i번째의 코드워드의 j번째 비트 데이터에 대응할 때의 i와 j를 산출하는 것이다.
우선, 맥시코드 심볼에 있어서의 데이터 모듈의 위치의 비트 패턴을 비트 데이터로 해서 2차원 비트 배열 테이블에 저장한다(S2501). 여기서, 2차원 비트 배열 테이블을 BT(n, m)으로 나타낸다. 또, n은 n= 0∼29의 정수이고, m은 m= 0∼32의 정수이다.
도 55는 2차원 비트 배열 테이블을 도시하는 도면이다. 도 55의 (a)는 맥시코드 심볼의 모듈 데이터의 위치와 2차원 비트 배열 테이블의 관계를 도시하는 도면이다. 도 55의 (b)는 2차원 비트 배열 테이블의 저장 데이터를 도시하는 도면이다.
도 55에 도시하는 바와 같이, 예를 들면, 맥시코드 심볼의 우측에서 3열째, 상측에서 3단째에 존재하는 모듈 데이터의 비트 데이터는 2차원 비트 배열 테이블의 BT(27,2)에 저장된다.
다음에, 코드워드 2차원 배열 테이블의 요소 데이터에 근거하여 2차원 비트 배열 테이블에 저장되어 있는 비트 데이터를 코드워드 변환에 있어서의 i번째의 코드워드의 j번째의 비트 데이터로 한다(S2502).
도 56은 코드워드 2차원 배열 테이블을 도시하는 도면이다. 여기서, 코드워드 2차원 배열 테이블을 CT(n, m)으로 나타낸다. 또, n은 n= 0∼29의 정수이고, m은 m= 0∼32의 정수이다.
코드워드 2차원 배열 테이블의 CT(n, m)과 코드워드 변환에 있어서의 i 및 j는 하기의 관계식에 의해서 표시된다.
i=[CT(n, m)/256]
j= CT(n, m)-i* 256
도 56에 도시하는 바와 같이, 예를 들면, 코드워드 2차원 배열 테이블의 CT(27, 2)는 8452이다. 따라서, i=[8452/256]=33, j= 8452-33* 256=4로 되고, 33번째의 코드워드의 4번째의 비트 데이터로 된다. 또한, 소프트웨어의 처리는 BT(n, m)에 의해서 표시된 비트값1 또는 0을 (5-j) 비트만큼 비트 시프트한 값을 i번째의 코드워드에 대입하는 것에 의해 실행된다.
도 57은 2차원 비트 배열 테이블에 저장되어 있는 비트 데이터와 코드워드 2차원 배열 테이블의 요소 데이터의 관계를 도시하는 도면이다.
도 57에 도시하는 바와 같이, 2차원 비트 배열 테이블 BT(n, m)의 비트 데이터가 코드워드 2차원 배열 테이블 CT(n, m)으로부터 산출되는 i번째의 코드워드의 j번째의 비트 데이터로 된다. 예를 들면, BT(27, 2)= 0은 33번째의 코드워드의 4번째의 비트 데이터로 된다.
다음에, 모든 데이터 모듈을 코드워드 변환했는지의 여부를 판정한다(S2503). 모든 데이터 모듈을 코드워드 변환한 경우(S2503; 예)에는 다음의 단계 S2504로 이행한다. 한편, 모든 데이터 모듈을 코드워드 변환하고 있지 않은 경우(S2503; 아니오)에는 모든 데이터 모듈을 코드워드 변환할 때까지 단계 S2501과 단계 S2502를 반복한다.
다음에, 변환작업이나 데이터 파손 등에 의해 정보를 소실하고 있는 비트 배열을 오류 정정 처리에 의해 올바른 정보로 복원한다(S2504). 오류 정정 처리는 정보를 손실하고 있는 비트 배열의 정보량에 따라 올바른 정보로 복원할 수 없는 경우도 있다.
따라서, 오류 정정 처리에 의해 올바른 정보로 복원할 수 있었는지의 여부를 판정한다(S2505). 오류 정정 처리에 의해 올바른 정보로 복원할 수 있었던 경우(S2505; 예)에는 모든 코드워드를 결함 문자 설정표에 근거하여 데이터 문자로 변환하고(S2506), 디코드 처리를 종료한다. 도 58은 결함 문자 설정표의 일부를 도시하는 도면이다.
한편, 오류 정정 처리에 의해 올바른 정보로 복원할 수 없었던 경우(S2505; 아니오)에는 맥시코드 심볼을 인식할 수 없는 것으로 해서 오류 처리를 실행하고(S2507), 디코드 처리를 종료한다.
또, 본 발명의 정보 기록 매체는 상술한 2차원 코드 판독 방법의 공정을 갖는 프로그램을 기록할 수도 있다.
또, 본 발명의 정보 기록 매체는 컴팩트 디스크, 플로피 디스크, 하드디스크, 광자기디스크, 디지털 가변 디스크, 자기테이프 또는 메모리 카드라도 좋다.
이상 설명한 바와 같이 본 발명에 의하면, 이하의 효과가 얻어진다.
맥시코드 심볼의 판독 화상에 있어서, 화상을 가로지르는 주사선상의 검출 패턴 중에서 파인더 패턴의 중심점을 가로지르는 주사선상의 소정의 기준 패턴과 일치하는 검출 패턴을 검색하는 것에 의해, 파인더 패턴의 중심점을 간단히 신속하게 탐색하는 할 수 있다. 따라서, 2차원 바코드의 디코드를 간단히 실행할 수 있다.
또, 2차원 코드의 심볼을 판독한 판독 화상의 방향 모듈 탐색 범위의 화소 데이터에 있어서, 색 템플릿 패턴과 일치하는 화소 데이터를 검출하고, 검출한 화소 데이터에 근거하여 모든 방향 모듈을 탐색하는 방향 모듈 탐색 방법에 의해, 2차원 코드의 심볼인 맥시코드 심볼의 판독 화상의 디코드 처리의 처리 시간을 단축할 수 있다.
또한, 실제의 맥시코드 심볼의 파인더 패턴과 비스듬한 각도에서 판독한 경우의 맥시코드 심볼의 판독 화상의 파인더 패턴 사이의 관계식을 원과 타원의 관계식에 근사시키고, 이 관계식에 근거하여 판독 화상의 화상 보정을 실행하는 것에 의해, 정면에서 판독된 경우의 맥시코드 심볼의 판독 화상뿐만 아니라 비스듬한 각도에서 판독된 경우의 맥시코드 심볼의 판독 화상에 있어서도 판독 화상을 디코드할 수 있다.
또, 맥시코드 심볼의 판독 화상에 있어서, 본 발명의 왜곡 보정은 평면적인 왜곡에 대해서 적합하며, 파인더 패턴의 중심점과 방향 모듈을 통과하는 방향축상에 존재하는 「흑」의 모듈군의 영역에 근거하여 방향 모듈 및 데이터 모듈의 중심점을 통과하도록 축의 각도를 보정하는 것에 의해, 왜곡이 있는 판독 화상의 방향축을 보정할 수 있다.
또, 보정한 방향축상의 동일한 색의 모듈군의 영역에 근거하여 왜곡이 있는 판독 화상의 방향축상의 모듈의 위치 정보 및 도형 정보를 보정하고, 보정한 방향축상의 모듈의 위치 정보 및 도형 정보에 근거하여 방향축 사이의 데이터 모듈의 위치를 보정할 수 있다.
또한, 상술한 판독 화상의 보정에 의해 모듈의 위치 정보 및 도형 정보를 검출하는 것에 의해, 2차원 코드의 심볼인 맥시코드 심볼의 판독 화상의 디코드 처리의 처리 시간을 단축할 수 있다.
또, 검출한 데이터 모듈의 비트 데이터를 2차원 비트 배열 테이블에 저장하고, 코드워드 2차원 배열 테이블에 근거하여 코드워드 변환하고, 또 데이터 문자로 변환하는 데이터 문자 변환 방법에 의해서 2차원 코드의 심볼인 맥시코드 심볼의 판독 화상의 디코드 처리의 시간을 단축할 수 있다.
또, 상술한 2차원 코드 판독 방법의 프로그램을 기록한 정보 기록 매체를 소프트웨어 상품으로서 용이하게 배포하거나 판매하거나 할 수 있다.
또, 상술한 2차원 코드 판독 방법을 실행하는 수단을 구비한 것을 특징으로 하는 2차원 코드 판독 장치를 제공할 수 있다.
이상 본 발명자에 의해서 이루어진 발명을 상기 실시예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시예에 한정되는 것이 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
Claims (65)
- 2차원 코드의 심볼의 판독 화상에 있어서의, 파인더 패턴의 위치 정보, 방향 모듈의 위치 정보 및 상기 방향 모듈의 도형 정보에 근거하여, 상기 파인더 패턴의 중심점과 상기 방향 모듈을 통과하는 방향축을 산출하는 것에 의해, 상기 2차원 코드의 심볼을 구성하는 모든 모듈의 위치 정보 및 도형 정보를 산출하는 데이터 모듈 탐색 공정을 포함하며,상기 데이터 모듈 탐색 공정은,(a) 상기 파인더 패턴의 위치 정보와 상기 방향 모듈의 위치 정보 및 도형 정보에 근거하여, 상기 방향축상에 존재하는 모듈군을 구성하는 복수개의 모듈의 위치 정보 및 도형 정보를 산출하는 방향축상의 모듈 위치 산출 공정과,(b) 상기 방향축상의 모듈 위치 산출 공정에 의해서 산출된 상기 방향축상에 존재하는 복수개의 상기 데이터 모듈의 비트 패턴을 검출하는 방향축상의 데이터 모듈 비트 패턴 검출 공정과,(c) 상기 방향축상의 모듈 위치 산출 공정에 의해서 산출된 상기 방향축상의 모듈군을 구성하는 복수개의 모듈의 위치 정보 및 도형 정보에 근거하여, 서로 이웃하는 상기 방향축에 의해 구성되는 방향축 사이의 모듈군을 구성하는 복수개의 모듈의 위치 정보를 산출하는 방향축간 모듈 위치 산출 공정과,(d) 상기 방향축간 모듈 위치 산출 공정에 의해서 산출된 상기 방향축 사이에 존재하는 복수개의 상기 데이터 모듈의 비트 패턴을 검출하는 방향축간 데이터 모듈 비트 패턴 검출 공정을 포함하는2차원 코드 판독 방법.
- 삭제
- 제 1 항에 있어서,상기 방향축상의 모듈 위치 산출 공정은,(a) 상기 방향축상의 모듈군을 구성하는 복수개의 모듈의 중심점을 통과하도록 상기 방향축의 각도를 보정하는 방향축 각도 보정 공정과,(b) 상기 방향축 각도 보정 공정에 의해서 보정된 상기 방향축상에 존재하는 복수개의 실(實)모듈의 위치 정보를 산출하고, 산출한 위치 정보에 근거하여 복수개의 상기 실모듈의 도형 정보인 모듈폭을 보정하는 방향축상의 실모듈폭 보정 공정과,(c) 상기 방향축상의 실모듈폭 보정 공정에 의해서 산출된 상기 실모듈의 위치 정보 및 도형 정보에 근거하여 상기 방향축상에 존재하는 복수개의 가모듈의 위치 정보를 산출하고, 산출한 위치 정보에 근거하여 복수개의 상기 가모듈의 도형 정보인 모듈폭을 보정하는 방향축상의 가모듈폭 보정 공정을 포함하는2차원 코드 판독 방법.
- 제 3 항에 있어서,상기 방향축 각도 보정 공정은,(a) 상기 방향축상에 존재하는 1개 또는 연속하는 복수개의 「흑」의 모듈로 구성되는 「흑」의 모듈군의 영역에 근거하여 상기 「흑」의 모듈군중에서 상기 파인더 패턴에 가장 가까운 「흑」의 모듈의 제 1 보정 중심점을 산출하는 제 1 보정 중심점 산출 공정과,(b) 상기 제 1 보정 중심점 산출 공정에 의해서 산출한 상기 「흑」의 모듈의 제 1 보정 중심점을 통과하는, 상기 방향축과 이웃하는 방향축과 평행한 인접 예비축상에 존재하는 상기 「흑」의 모듈을 포함하는 1개 또는 연속하는 복수개의 「흑」의 모듈로 구성되는 「흑」의 모듈군의 영역에 근거하여 상기 「흑」의 모듈의 제 2 보정 중심점을 산출하는 제 2 보정 중심점 산출 공정과,(c) 상기 제 2 보정 중심점 산출 공정에 의해서 산출한 상기 「흑」의 모듈의 제 2 보정 중심점과, 상기 파인더 패턴의 중심점을 통과하는 방향 예비축상에 존재하는 상기 「흑」의 모듈을 포함하는 1개 또는 연속하는 복수개의 「흑」의 모듈로 구성되는 「흑」의 모듈군의 영역에 근거하여 상기 「흑」의 모듈의 중심점을 산출하는 중심점 산출 공정과,(d) 상기 중심점 산출 공정에 의해서 산출한 상기 「흑」의 모듈의 중심점과 상기 파인더 패턴의 중심점을 통과하는 방향축의 보정된 각도를 산출하는 방향축 보정 각도 산출 공정을 포함하는2차원 코드 판독 방법.
- 제 3 항에 있어서,상기 방향축상의 실모듈폭 보정 공정이 상기 방향축상에 존재하는 1개 또는 연속하는 복수개의 동일 색의 실모듈로 구성되는 동일 색의 실모듈군의 영역에 근거하여 상기 동일 색의 실모듈군을 구성하는 실모듈의 중심점 및 모듈폭을 산출하는 공정을 포함하는 2차원 코드 판독 방법.
- 제 3 항에 있어서,상기 방향축상의 가모듈폭 보정 공정은,(a) 모든 방향축중에서 보정량이 가장 작은 방향축인 기준 방향축을 검출하는 기준 방향축 검출 공정과,(b) 상기 기준 방향축 검출 공정에 의해서 검출된 상기 기준 방향축상에 존재하는 상기 파인더 패턴으로부터 가장 떨어져 있는 「흑」의 모듈의 도형 정보에 근거하여, 상기 방향축상에 존재하는 복수개의 가모듈의 중심점 및 모듈폭을 산출하는 공정과,(c) 상기 기준 방향축상의 상기 실모듈 및 상기 가모듈의 위치 정보에 근거하여, 상기 기준 방향축 이외의 상기 방향축상에 존재하는 복수개의 가모듈의 중심 점 및 모듈폭을 산출하는 공정을 포함하는2차원 코드 판독 방법.
- 2차원 코드의 심볼의 판독 화상에 있어서의, 소정의 주사 방향의 검출 패턴이 소정의 기준 패턴과 일치하는 주사선을 탐색하고, 탐색된 복수개의 상기 주사선에 근거하여 상기 2차원 코드의 심볼의 판독 화상에 있어서의 파인더 패턴을 검출하여, 상기 파인더 패턴의 위치 정보 및 도형 정보를 취득하는 파인더 패턴 탐색 공정을 포함하는 2차원 코드 판독 방법.
- 제 7 항에 있어서,상기 파인더 패턴 탐색 공정은,(a) 상기 2차원 코드의 심볼의 판독 화상에서 제 1 주사 방향으로 주사시키는 공정과,(b) 상기 제 1 주사 공정에 의해 제 1 검출 패턴을 취득하는 공정과,(c) 상기 취득 공정에 의해 얻은 상기 제 1 검출 패턴과 미리 기억되어 있는 상기 소정의 기준 패턴을 비교하는 공정과,(d) 상기 비교 공정에 의해서 상기 제 1 검출 패턴과 상기 소정의 기준 패턴이 일치했을 때, 그 주사선을 제 1 중심선으로 하는 공정과,(e) 상기 파인더 패턴에 대해서 상기 제 1 주사 방향과는 다른 제 2 주사 방향으로 주사시키는 공정과,(f) 상기 제 2 주사 공정에 의해 제 2 검출 패턴을 취득하는 공정과,(g) 상기 취득 공정에 의해 얻은 상기 제 2 검출 패턴과 미리 기억되어 있는 상기 소정의 기준 패턴을 비교하는 공정과,(h) 상기 비교 공정에 의해서 상기 제 2 검출 패턴과 상기 소정의 기준 패턴이 일치했을 때, 그 주사선을 제 2 중심선으로 하는 공정과,(i) 상기 제 1 중심선과 상기 제 2 중심선의 교점을 상기 파인더 패턴의 중심점으로 하는 공정을 포함하는2차원 코드 판독 방법.
- 제 7 항에 있어서,상기 파인더 패턴 탐색 공정은,(a) 상기 2차원 코드의 심볼의 판독 화상에서 제 1 주사 방향으로 주사시키는 공정과,(b) 상기 제 1 주사 공정에 의해 제 1 검출 패턴을 취득하는 공정과,(c) 상기 취득 공정에 의해 얻은 상기 제 1 검출 패턴과 미리 기억되어 있는 상기 소정의 기준 패턴을 비교하는 공정과,(d) 상기 비교 공정에 의해서 상기 제 1 검출 패턴과 상기 소정의 기준 패턴 이 일치했을 때, 그 주사선을 제 1 중심선으로 하는 공정과,(e) 상기 제 1 중심선과 상기 파인더 패턴의 외주 부재의 2개의 교점의 중점을 제 1 중심점으로 하는 공정과,(f) 상기 제 1 중심선에 평행하게 이동하고 나서 상기 (b)∼(e) 공정을 반복해서 실행하여 복수개의 제 1 중심점을 구하는 공정과,(g) 상기 복수개의 제 1 중심점의 상기 제 1 주사 방향과 다른 제 2 주사 방향에 대한 분포수를 계산하는 공정과,(h) 상기 분포수의 상기 제 2 주사 방향에 대한 최대의 개소를 상기 제 2 주사 방향에 대한 상기 복수개의 제 1 중심점이 가장 많이 존재하는 제 1 선분으로 하는 공정과,(i) 상기 제 2 주사 방향에 대한 상기 복수개의 제 1 중심점이 가장 많이 존재하는 선을 통과하는 상기 제 2 주사 방향으로 주사시키는 공정과,(j) 상기 제 2 주사 공정에 의해 제 2 검출 패턴을 취득하는 공정과,(k) 상기 취득 공정에 의해 얻은 상기 제 2 검출 패턴과 미리 기억하고 있는 상기 소정의 기준 패턴을 비교하는 공정과,(l) 상기 비교 공정에 의해서 상기 제 2 검출 패턴과 상기 소정의 기준 패턴이 일치했을 때, 그 주사선을 제 2 중심선으로 하는 공정과,(m) 상기 제 2 중심선과 상기 파인더 패턴의 외주 부재의 2개의 교점의 중점을 제 2 중심점으로 하는 공정과,(n) 상기 제 2 중심선에 평행하게 이동하고 나서 상기 (j)∼(m) 공정을 반복 해서 실행하여 복수개의 제 2 중심점을 구하는 공정과,(o) 상기 복수개의 제 2 중심점의 상기 제 1 주사 방향에 대한 분포수를 계산하는 공정과,(p) 상기 분포수의 상기 제 1 주사 방향에 대한 최대의 개소를 상기 제 1 주사 방향에 대한 상기 복수개의 제 2 중심점이 가장 많이 존재하는 제 2 선분으로 하는 공정과,(q) 상기 제 1 선분과 상기 제 2 선분의 교점을 상기 파인더 패턴의 중심점으로 하는 공정을 포함하는2차원 코드 판독 방법.
- 제 7 항에 있어서,상기 파인더 패턴 탐색 공정은,(a) 상기 2차원 코드의 심볼의 판독 화상에서 제 1 주사 방향으로 주사시키는 공정과,(b) 상기 제 1 주사 공정에 의해 제 1 검출 패턴을 취득하는 공정과,(c) 상기 취득 공정에 의해 얻은 상기 제 1 검출 패턴과 미리 기억하고 있는 상기 소정의 기준 패턴을 비교하는 공정과,(d) 상기 비교 공정에 의해서 상기 제 1 검출 패턴과 상기 소정의 기준 패턴이 일치했을 때, 그 주사선과 파인더 패턴의 최외부를 구성하는 부재의 2개의 교점 의 중점을 제 1 중심점으로 하는 공정과,(e) 상기 제 1 주사 방향에 대해서 평행하게 이동하고 나서 주사를 실행하고, 상기 (b)∼(d) 공정을 반복하여 복수개의 상기 제 1 중심점을 얻는 공정과,(f) 상기 파인더 패턴에 대해서 상기 제 1 주사 방향과는 다른 제 2 주사 방향으로 주사시키는 공정과,(g) 상기 제 2 주사 공정에 의해 제 2 검출 패턴을 취득하는 공정과,(h) 상기 취득 공정에 의해 얻은 상기 제 2 검출 패턴과 미리 기억되어 있는 상기 소정의 기준 패턴을 비교하는 공정과,(i) 상기 비교 공정에 의해서 상기 제 2 검출 패턴과 상기 소정의 기준 패턴이 일치했을 때, 그 주사선과 파인더 패턴의 최외부를 구성하는 부재의 2개의 교점의 중점을 제 2 중심점으로 하는 공정과,(j) 상기 제 2 주사 방향에 대해서 평행하게 이동하고 나서 주사를 실행하고, 상기 (g)∼(i) 공정을 반복하여 복수개의 상기 제 2 중심점을 얻는 공정과,(k) 복수개의 상기 제 1 중심점을 연결하는 선과 복수개의 상기 제 2 중심점을 연결하는 선의 교점을 상기 파인더 패턴의 중심점으로 하는 공정을 포함하는2차원 코드 판독 방법.
- 제 7 항에 있어서,상기 파인더 패턴 탐색 공정은,(a) 상기 2차원 코드의 심볼의 판독 화상에서 제 1 주사 방향으로 주사시키는 공정과,(b) 상기 제 1 주사 공정에 의해 제 1 검출 패턴을 취득하는 공정과,(c) 상기 취득 공정에 의해 얻은 상기 제 1 검출 패턴과 미리 기억되어 있는 상기 소정의 기준 패턴을 비교하는 공정과,(d) 상기 비교 공정에 의해서 상기 제 1 검출 패턴과 상기 소정의 기준 패턴이 일치했을 때, 그 주사선을 제 1 중심선으로 하는 공정과,(e) 상기 제 1 중심선과 상기 파인더 패턴의 외주 부재의 2개의 교점의 중점을 제 1 중심점으로 하는 공정과,(f) 상기 제 1 중심점의, 상기 제 1 주사 방향과는 다른 제 2 주사 방향으로 주사시키는 공정과,(g) 상기 제 2 주사 공정에 의해 제 2 검출 패턴을 취득하는 공정과,(h) 상기 취득 공정에 의해 얻은 상기 제 2 검출 패턴과 미리 기억되어 있는 상기 소정의 기준 패턴을 비교하는 공정과,(i) 상기 비교 공정에 의해서 상기 제 2 검출 패턴과 상기 소정의 기준 패턴이 일치했을 때, 그 주사선을 제 2 중심선으로 하는 공정과,(j) 상기 제 2 중심선과 상기 파인더 패턴의 외주 부재의 2개의 교점의 중점을 제 2 중심점으로 하는 공정과,(k) 상기 제 2 중심선과 상기 파인더 패턴의 외주 부재의 2개의 교점의 중점으로부터 상기 제 1 중심선과 상기 파인더 패턴의 내주 부재의 2개의 교점 및 상기 제 2 중심선과 상기 파인더 패턴의 내주 부재의 2개의 교점을 산출하는 공정과,(l) 상기 제 1 중심선과 상기 파인더 패턴의 내주 부재의 2개의 교점과 상기 제 2 중심선과 상기 파인더 패턴의 내주 부재의 2개의 교점으로부터 결정되는 중심점을 파인더 패턴의 중심점(重心点)으로 하는 공정을 포함하는2차원 코드 판독 방법.
- 제 8 항 내지 제 11 항 중 어느 한 항에 있어서,상기 제 2 주사 방향은 상기 제 1 주사 방향과 직교하는 것을 특징으로 하는 2차원 코드 판독 방법.
- 제 8 항 내지 제 11 항 중 어느 한 항에 있어서,상기 파인더 패턴은 흑색 원과 백색 원의 복수개의 동심원으로 이루어지고,상기 소정의 기준 패턴과 상기 제 1 검출 패턴 및/또는 제 2 검출 패턴과의 비교는 상기 동심원의 흑색 원끼리의 단부간 거리와 백색 원끼리의 단부간 거리의 비인 것을 특징으로 하는 2차원 코드 판독 방법.
- 제 7 항에 있어서,상기 파인더 패턴 탐색 공정은,(a) 제 1 주사 방향으로 주사해서 얻은 상기 파인더 패턴의 검출 흑백 패턴과 소정의 기준 흑백 패턴을 비교하는 제 1 공정과,(b) 제 2 주사 방향으로 주사해서 얻은 상기 파인더 패턴의 검출 흑백 패턴과 상기 소정의 기준 흑백 패턴을 비교하는 제 2 공정과,(c) 상기 제 1 공정과 상기 제 2 공정에 의해 상기 파인더 패턴의 중심 좌표를 구하는 제 3 공정을 포함하는2차원 코드 판독 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 2차원 코드의 심볼의 판독 화상에서, 소정의 점으로부터 소정의 거리에 있고 또한 소정의 각도 간격으로 배치되는 화소 데이터군의 「흑」 또는 「백」으로 구성되는 색 패턴이 소정의 색 템플릿(template) 패턴과 일치하는 복수개의 화소 데이터군을 탐색하고, 탐색한 복수개의 상기 화소 데이터군에 근거하여 상기 2차원 코드의 심볼의 판독 화상에 있어서의, 방향 모듈군을 구성하는 복수개의 방향 모듈을 검출하여, 상기 복수개의 방향 모듈의 위치 정보 및 도형 정보를 취득하는 방향 모듈 탐색 공정을 포함하며,상기 방향 모듈 탐색 공정은,상기 소정의 거리에 근거하여 탐색한 복수개의 상기 화소 데이터군을 상기 방향 모듈의 중심점의 복수개의 동일 거리 후보 데이터로 하고, 복수개의 상기 동일 거리 후보 데이터에 근거하여서 상기 소정의 거리에 있어서의 상기 방향 모듈의 중심점의 1개의 후보 데이터를 산출하는 공정과,소정의 범위내에 존재하는 소정의 간격의 값인 레이트수에 근거하여 산출된 복수개의 상기 소정의 거리에 있어서의 방향 모듈의 중심점의 후보 데이터으로부터 방향 모듈의 중심점의 위치를 산출하는 공정을 포함하는2차원 코드 판독 방법.
- 제 23 항에 있어서,상기 방향 모듈 탐색 공정에서, 상기 소정의 색 템플릿 패턴이 제 1 색 템플릿 패턴, 제 2 색 템플릿 패턴 및 제 3 색 템플릿 패턴으로 구성되어 있는 2차원 코드 판독 방법.
- 제 23 항 또는 제 24 항에 있어서,상기 방향 모듈 탐색 공정에서, 상기 소정의 거리는 상기 제 1 색 템플릿 패턴, 상기 제 2 색 템플릿 패턴 및 상기 제 3 색 템플릿 패턴에 따라서 상이한 2차원 코드 판독 방법.
- 제 25 항에 있어서,상기 소정의 거리가 모듈폭에 소정의 값을 승산한 값인 2차원 코드 판독 방법.
- 제 26 항에 있어서,상기 모듈폭이 상기 2차원 코드의 심볼의 판독 화상의 파인더 패턴의 도형 정보와, 상기 레이트수에 근거하여 산출되는 2차원 코드 판독 방법.
- 삭제
- 제 23 항 또는 제 27 항에 있어서,상기 방향 모듈 탐색 공정은, 소정의 상기 방향 모듈의 중심점의 위치가 소정의 위치로 되도록 2차원 코드의 심볼의 판독 화상의 위치 정보를 변환하는 공정을 포함하는 2차원 코드 판독 방법.
- 2차원 코드의 심볼의 판독 화상에서, 데이터 모듈군을 구성하는 데이터 모듈의 위치를 소정의 코드워드(codeword) 변환 테이블에 근거하여 소정의 코드워드와 소정의 상기 코드워드에 있어서의 소정의 비트 데이터에 대응짓는 것에 의해, 데이터 모듈의 비트 데이터를 상기 코드워드로 변환하고, 변환한 상기 코드워드를 소정의 데이터 문자로 변환하는 데이터 문자 변환 공정을 포함하며,상기 데이터 문자 변환 공정에서, 상기 소정의 코드워드 변환 테이블이 소정의 상기 코드워드를 i번째의 코드워드로 하고, 소정의 상기 코드워드에 있어서의 소정의 상기 비트 데이터를 i번째의 코드워드의 j번째의 비트 데이터로 할 때,i=[CT(n, m)/256]j= CT(n, m)-i* 256상기의 관계식을 만족시키는 값인 CT(n, m)을 요소로 하는 코드워드 2차원 배열 테이블인2차원 코드 판독 방법.
- 제 30 항에 있어서,상기 데이터 문자 변환 공정에서, 상기 데이터 모듈의 위치를 2차원 배열인 BT(n, m)을 요소로 하는 2차원 비트 배열 테이블에 의해서 지정하는 것을 특징으로 하는 2차원 코드 판독 방법.
- 삭제
- 제 1 항에 있어서,상기 2차원 코드의 심볼은 데이터 정보가 흑백 교대로 된 셀에 의해서 구성되어 있는 것을 특징으로 하는 2차원 코드 판독 방법.
- 제 1 항에 있어서,상기 2차원 코드의 심볼은 맥시코드(MaxiCode) 심볼인 2차원 코드 판독 방법.
- 2차원 코드의 심볼의 판독 화상에 있어서의, 파인더 패턴의 위치 정보, 방향 모듈의 위치 정보 및 상기 방향 모듈의 도형 정보에 근거하여 상기 파인더 패턴의 중심점과 상기 방향 모듈을 통과하는 방향축을 산출하는 것에 의해, 상기 2차원 코드의 심볼을 구성하는 모든 모듈의 위치 정보 및 도형 정보를 산출하는 데이터 모듈 탐색부를 구비하며,상기 데이터 모듈 탐색부는,(a) 상기 파인더 패턴의 위치 정보와 상기 방향 모듈의 위치 정보 및 도형 정보에 근거하여, 상기 방향축상에 존재하는 모듈군을 구성하는 복수개의 모듈의 위치 정보 및 도형 정보를 산출하는 방향축상의 모듈 위치 산출부와,(b) 상기 방향축상의 모듈 위치 산출부에 의해서 산출된 상기 방향축상에 존재하는 복수개의 상기 데이터 모듈의 비트 패턴을 검출하는 방향축상의 데이터 모듈 비트 패턴 검출부와,(c) 상기 방향축상의 모듈 위치 산출부에 의해서 산출된 상기 방향축상의 모듈군을 구성하는 복수개의 모듈의 위치 정보 및 도형 정보에 근거하여, 서로 이웃하는 상기 방향축에 의해서 구성되는 방향축 사이의 모듈군을 구성하는 복수개의 모듈의 위치 정보를 산출하는 방향축간 모듈 위치 산출부와,(d) 상기 방향축간 모듈 위치 산출부에 의해서 산출된 상기 방향축 사이에 존재하는 복수개의 상기 데이터 모듈의 비트 패턴을 검출하는 방향축간 데이터 모듈 비트 패턴 검출부를 구비하는2차원 코드 판독 장치.
- 삭제
- 제 35 항에 있어서,상기 방향축상의 모듈 위치 산출부는,(a) 상기 방향축상의 모듈군을 구성하는 복수개의 모듈의 중심점을 통과하도록 상기 방향축의 각도를 보정하는 방향축 각도 보정부와,(b) 상기 방향축 각도 보정부에 의해서 보정된 상기 방향축상에 존재하는 복수개의 실모듈의 위치 정보를 산출하고, 산출한 위치 정보에 근거하여 복수개의 상기 실모듈의 도형 정보인 모듈폭을 보정하는 방향축상의 실모듈폭 보정부와,(c) 상기 방향축상의 실모듈폭 보정부에 의해서 산출된 상기 실모듈의 위치 정보 및 도형 정보에 근거하여 상기 방향축상에 존재하는 복수개의 가모듈의 위치 정보를 산출하고, 산출한 위치 정보에 근거하여 복수개의 상기 가모듈의 도형 정보인 모듈폭을 보정하는 방향축상의 가모듈폭 보정부를 구비하는2차원 코드 판독 장치.
- 제 37 항에 있어서,상기 방향축 각도 보정부는,(a) 상기 방향축상에 존재하는 1개 또는 연속하는 복수개의 「흑」의 모듈로 구성되는 「흑」의 모듈군의 영역에 근거하여 상기 「흑」의 모듈군중에 있어서 상기 파인더 패턴에 가장 가까운 「흑」의 모듈의 제 1 보정 중심점을 산출하는 제 1 보정 중심점 산출부와,(b) 상기 제 1 보정 중심점 산출부에 의해서 산출한 상기 「흑」의 모듈의 제 1 보정 중심점을 통과하는, 상기 방향축과 이웃하는 방향축에 평행한 인접 예비축상에 존재하는 상기 「흑」의 모듈을 포함하는 1개 또는 연속하는 복수개의 「흑」의 모듈로 구성되는 「흑」의 모듈군의 영역에 근거하여 상기 「흑」의 모듈의 제 2 보정 중심점을 산출하는 제 2 보정 중심점 산출부와,(c) 상기 제 2 보정 중심점 산출부에 의해서 산출한 상기 「흑」의 모듈의 제 2 보정 중심점과 상기 파인더 패턴의 중심점을 통과하는 방향 예비축상에 존재하는 상기 「흑」의 모듈을 포함하는 1개 또는 연속하는 복수개의 「흑」의 모듈로 구성되는 「흑」의 모듈군의 영역에 근거하여 상기 「흑」의 모듈의 중심점을 산출하는 중심점 산출부와,(d) 상기 중심점 산출부에 의해서 산출한 상기 「흑」의 모듈의 중심점과 상기 파인더 패턴의 중심점을 통과하는 방향축의 보정된 각도를 산출하는 방향축 보정 각도 산출부를 구비하는2차원 코드 판독 장치.
- 제 37 항에 있어서,상기 방향축상의 실모듈폭 보정부가 상기 방향축상에 존재하는 1개 또는 연속하는 복수개의 동일 색의 실모듈로 구성되는 동일 색의 실모듈군의 영역에 근거하여, 상기 동일 색의 실모듈군을 구성하는 실모듈의 중심점 및 모듈폭을 산출하는 산출부를 구비하는 2차원 코드 판독 장치.
- 제 37 항에 있어서,상기 방향축상의 가모듈폭 보정부는,(a) 모든 방향축중에서 보정량이 가장 작은 방향축인 기준 방향축을 검출하는 기준 방향축 검출부와,(b) 상기 기준 방향축 검출부에 의해서 검출된 상기 기준 방향축상에 존재하는 상기 파인더 패턴으로부터 가장 떨어져 있는 「흑」의 모듈의 도형 정보에 근거하여, 상기 방향축상에 존재하는 복수개의 가모듈의 중심점 및 모듈폭을 산출하는 제 1 산출부와,(c) 상기 기준 방향축상의 상기 실모듈 및 상기 가모듈의 위치 정보에 근거하여, 상기 기준 방향축 이외의 상기 방향축상에 존재하는 복수개의 가모듈의 중심점 및 모듈폭을 산출하는 제 2 산출부를 구비하는2차원 코드 판독 장치.
- 2차원 코드의 심볼의 판독 화상에 있어서의 소정의 주사 방향의 검출 패턴이 소정의 기준 패턴과 일치하는 주사선을 탐색하고, 탐색한 복수개의 상기 주사선에 근거하여, 상기 2차원 코드의 심볼의 판독 화상에 있어서의 파인더 패턴을 검출해서, 상기 파인더 패턴의 위치 정보 및 도형 정보를 취득하는 파인더 패턴 탐색부를 구비하며,상기 파인더 패턴 탐색부는,(a) 상기 파인더 패턴에 대해서 복수의 방향으로 주사하는 주사부와,(b) 해당 주사부를 복수의 방향으로 주사하는 것에 의해 복수개의 패턴을 취득하는 취득부와,(c) 소정의 템플릿을 기억하는 기억부와,(d) 상기 복수개의 패턴과 상기 기억부에 기억된 소정의 템플릿을 각각 비교하는 비교부와,(e) 상기 비교부에 의해 상기 패턴과 상기 템플릿이 일치했을 때, 상기 주사부에 의한 주사선을 적어도 2개의 중심선을 결정하고, 해당 2개의 중심선에 의해 상기 파인더 패턴의 중심 좌표를 결정하는 결정부를 구비하는2차원 코드 판독 장치.
- 삭제
- 제 41 항에 있어서,상기 파인더 패턴 탐색부는,(a) 미리 흑백 패턴의 각각의 길이가 결정된 템플릿을 보존하는 보존부와,(b) 파인더 패턴을 제 1 및 제 2 주사 방향으로 주사하여 흑백 패턴을 얻는 주사부와,(c) 해당 주사부에 의해서 주사해서 얻은 파인더 패턴의 흑백 패턴과 상기 보존부에 보존된 상기 템플릿을 비교하는 비교부와,(d) 해당 비교부에 의해서 상기 제 1 주사 방향으로 주사하여 얻은 흑백 패턴과 상기 템플릿의 흑백 패턴이 일치했을 때, 상기 주사부에 의해서 주사한 제 1 주사선을 상기 파인더 패턴의 제 1 중심선으로서 결정하고, 상기 비교부에 의해서 상기 제 2 주사 방향으로 주사하여 얻은 흑백 패턴과 상기 템플릿의 흑백 패턴이 일치했을 때, 상기 주사부에 의해서 주사한 제 2 주사선을 상기 파인더 패턴의 제 2 중심선으로서 결정하며, 상기 제 1 중심선과 상기 제 2 중심선의 교점을 파인더 패턴의 중심점으로서 결정하는 결정부를 구비하는2차원 코드 판독 장치.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 2차원 코드의 심볼의 판독 화상에서, 소정의 점으로부터 소정의 거리에 있고 또한 소정의 각도 간격으로 배치되는 화소 데이터군의 「흑」 또는 「백」으로 구성되는 색 패턴이 소정의 색 템플릿 패턴과 일치하는 복수개의 화소 데이터군을 탐색하고, 탐색한 복수개의 상기 화소 데이터군에 근거하여 상기 2차원 코드의 심볼의 판독 화상에 있어서의, 방향 모듈군을 구성하는 복수개의 방향 모듈을 검출하여, 상기 복수개의 방향 모듈의 위치 정보 및 도형 정보를 취득하는 방향 모듈 탐색부를 구비하며,상기 방향 모듈 탐색부는,(a) 상기 소정의 거리에 근거하여 탐색한 복수개의 상기 화소 데이터군을 상기 방향 모듈의 중심점의 복수개의 동일 거리 후보 데이터로 하고, 복수개의 상기 동일 거리 후보 데이터에 근거하여 상기 소정의 거리에 있어서의 상기 방향 모듈의 중심점의 1개의 후보 데이터를 산출하는 제 1 산출부와,(b) 소정의 범위내에 존재하는 소정의 간격의 값인 레이트수에 근거하여 산출된 복수개의 상기 소정의 거리에 있어서의 방향 모듈의 중심점의 후보 데이터로부터 방향 모듈의 중심점의 위치를 산출하는 제 2 산출부를 구비하는2차원 코드 판독 장치.
- 제 52 항에 있어서,상기 방향 모듈 탐색부에서, 상기 소정의 색 템플릿 패턴이 제 1 색 템플릿 패턴, 제 2 색 템플릿 패턴 및 제 3 색 템플릿 패턴으로 구성되어 있는 2차원 코드 판독 장치.
- 제 52 항 또는 제 53 항에 있어서,상기 방향 모듈 탐색부에서, 상기 소정의 거리는 상기 제 1 색 템플릿 패턴, 상기 제 2 색 템플릿 패턴 및 상기 제 3 색 템플릿 패턴에 따라서 상이한 2차원 코드 판독 장치.
- 제 54 항에 있어서,상기 소정의 거리가 모듈폭에 소정의 값을 승산한 값인 2차원 코드 판독 장치.
- 제 55 항에 있어서,상기 모듈폭이 상기 2차원 코드의 심볼의 판독 화상의 파인더 패턴의 도형 정보와 상기 레이트수에 근거하여 산출되는 2차원 코드 판독 장치.
- 삭제
- 제 52 항 또는 제 56 항에 있어서,상기 방향 모듈 탐색부는 소정의 상기 방향 모듈의 중심점의 위치가 소정의 위치로 되도록 2차원 코드의 심볼의 판독 화상의 위치 정보를 변환하는 변환부를 구비하는 2차원 코드 판독 장치.
- 2차원 코드의 심볼의 판독 화상에서, 데이터 모듈군을 구성하는 데이터 모듈의 위치를, 소정의 코드워드 변환 테이블에 근거하여 소정의 코드워드와 소정의 상기 코드워드에 있어서의 소정의 비트 데이터에 대응짓는 것에 의해, 데이터 모듈의 비트 데이터를 상기 코드워드로 변환하고, 변환한 상기 코드워드를 소정의 데이터 문자로 변환하는 데이터 문자 변환부를 구비하며,상기 데이터 문자 변환부에서, 상기 소정의 코드워드 변환 테이블이, 소정의 상기 코드워드를 i번째의 코드워드로 하고, 소정의 상기 코드워드에 있어서의 소정의 상기 비트 데이터를 i번째의 코드워드의 j번째의 비트 데이터로 할 때,i=[CT(n, m)/256]j= CT(n, m)-i* 256상기의 관계식을 만족시키는 값인 CT(n, m)을 요소로 하는 코드워드 2차원 배열 테이블인2차원 코드 판독 장치.
- 제 59 항에 있어서,상기 데이터 문자 변환부에서, 상기 데이터 모듈의 위치를 2차원 배열인 BT(n, m)을 요소로 하는 2차원 비트 배열 테이블에 의해서 지정하는 2차원 코드 판독 장치.
- 삭제
- 제 35 항에 있어서,상기 2차원 코드의 심볼은 데이터 정보가 흑백 교대로 된 셀에 의해서 구성되어 있는 2차원 코드 판독 장치.
- 제 35 항에 있어서,상기 2차원 코드의 심볼은 맥시코드 심볼인 2차원 코드 판독 장치.
- 청구항 1에 기재된 2차원 코드 판독 방법의 공정을 갖는 프로그램을 기록한 정보 기록 매체.
- 제 64 항에 있어서,상기 정보 기록 매체는 컴팩트 디스크, 플로피 디스크, 하드디스크, 광자기디스크, 디지털 다용도 디스크(digital versatile disc), 자기테이프 또는 메모리 카드인 프로그램을 기록한 정보 기록 매체.
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000104970A JP2001291051A (ja) | 2000-04-06 | 2000-04-06 | 二次元バーコードの読み取り方法及び装置、情報記録媒体 |
JP2000-104970 | 2000-04-06 | ||
JP2000-201279 | 2000-07-03 | ||
JP2000201279A JP2002024752A (ja) | 2000-07-03 | 2000-07-03 | 二次元コード読み取り方法、情報記録媒体及び二次元コード読み取り装置 |
JP2000-237086 | 2000-08-04 | ||
JP2000237086A JP2002049889A (ja) | 2000-08-04 | 2000-08-04 | 二次元コード読み取り方法、情報記録媒体及び二次元コード読み取り装置 |
JP2000-355940 | 2000-11-22 | ||
JP2000355940A JP2002157549A (ja) | 2000-11-22 | 2000-11-22 | 二次元コード読み取り方法、情報記録媒体及び二次元コード読み取り装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010098464A KR20010098464A (ko) | 2001-11-08 |
KR100579356B1 true KR100579356B1 (ko) | 2006-05-12 |
Family
ID=27481198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010018244A KR100579356B1 (ko) | 2000-04-06 | 2001-04-06 | 2차원 코드 판독 방법, 정보 기록 매체 및 2차원 코드판독 장치 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6604682B2 (ko) |
EP (1) | EP1143372B1 (ko) |
KR (1) | KR100579356B1 (ko) |
CN (1) | CN1334544A (ko) |
AT (1) | ATE321310T1 (ko) |
DE (1) | DE60118051T2 (ko) |
ES (1) | ES2256106T3 (ko) |
HK (1) | HK1043852A1 (ko) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6705526B1 (en) * | 1995-12-18 | 2004-03-16 | Metrologic Instruments, Inc. | Automated method of and system for dimensioning objects transported through a work environment using contour tracing, vertice detection, corner point detection, and corner point reduction methods on two-dimensional range data maps captured by an amplitude modulated laser scanning beam |
US20060082557A1 (en) * | 2000-04-05 | 2006-04-20 | Anoto Ip Lic Hb | Combined detection of position-coding pattern and bar codes |
US20020016750A1 (en) * | 2000-06-20 | 2002-02-07 | Olivier Attia | System and method for scan-based input, storage and retrieval of information over an interactive communication network |
US6666377B1 (en) * | 2000-07-18 | 2003-12-23 | Scott C. Harris | Bar code data entry device |
AU2003287495A1 (en) * | 2002-11-04 | 2004-06-07 | Deepq Technologies, A General Partnership | Document processing based on a digital document image input with a confirmatory receipt output |
CA2508126C (en) * | 2002-12-03 | 2010-02-23 | Silverbrook Research Pty Ltd | Rotationally symmetric tags |
JP4133298B2 (ja) * | 2002-12-19 | 2008-08-13 | 株式会社リコー | デジタルカメラ装置 |
CN2591284Y (zh) * | 2002-12-27 | 2003-12-10 | 萧呈方 | 散热风扇 |
JP4257132B2 (ja) * | 2003-02-21 | 2009-04-22 | 富士通株式会社 | バーコード読取装置およびバーコード読取方法 |
SE0301143D0 (sv) * | 2003-04-17 | 2003-04-17 | C Technologies Ab | Sätt och anordning för inläsning av data |
US7156311B2 (en) * | 2003-07-16 | 2007-01-02 | Scanbuy, Inc. | System and method for decoding and analyzing barcodes using a mobile device |
US7387250B2 (en) * | 2003-12-04 | 2008-06-17 | Scanbuy, Inc. | System and method for on the spot purchasing by scanning barcodes from screens with a mobile device |
US20050227217A1 (en) * | 2004-03-31 | 2005-10-13 | Wilson Andrew D | Template matching on interactive surface |
US7296747B2 (en) | 2004-04-20 | 2007-11-20 | Michael Rohs | Visual code system for camera-equipped mobile devices and applications thereof |
KR100560330B1 (ko) * | 2004-04-21 | 2006-03-30 | 에이디정보통신 주식회사 | 색상 보정이 가능한 대용량 2차원 칼라 바코드인코딩/디코딩 시스템 및 그 방법 |
US8316068B2 (en) | 2004-06-04 | 2012-11-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Memory compression |
US7593593B2 (en) * | 2004-06-16 | 2009-09-22 | Microsoft Corporation | Method and system for reducing effects of undesired signals in an infrared imaging system |
US7309015B2 (en) * | 2004-07-14 | 2007-12-18 | Scanbuy, Inc. | Mobile device gateway providing access to instant information |
US20060050961A1 (en) * | 2004-08-13 | 2006-03-09 | Mohanaraj Thiyagarajah | Method and system for locating and verifying a finder pattern in a two-dimensional machine-readable symbol |
US7201321B2 (en) * | 2004-08-27 | 2007-04-10 | Symbol Technologies, Inc. | Electro-optically reading direct part markings on workpieces by image capture |
JP4089670B2 (ja) * | 2004-09-09 | 2008-05-28 | 村田機械株式会社 | 文書管理装置 |
US7578436B1 (en) * | 2004-11-08 | 2009-08-25 | Pisafe, Inc. | Method and apparatus for providing secure document distribution |
US7543748B2 (en) * | 2005-02-16 | 2009-06-09 | Pisafe, Inc. | Method and system for creating and using redundant and high capacity barcodes |
EP1866043A1 (en) * | 2005-04-06 | 2007-12-19 | Eidgenössische Technische Hochschule Zürich (ETH) | Method of executing an application in a mobile device |
EP1886246B1 (en) | 2005-04-13 | 2011-07-06 | Scanbuy, Inc. | Visual code method for camera-equipped mobile devices |
US7775428B2 (en) | 2005-05-06 | 2010-08-17 | Berkun Kenneth A | Systems and methods for generating, reading and transferring identifiers |
JP4670464B2 (ja) * | 2005-05-10 | 2011-04-13 | 日本電気株式会社 | 情報読取装置、情報処理装置、情報通信システム、情報読取方法、及びプログラム |
US7412089B2 (en) * | 2005-05-23 | 2008-08-12 | Nextcode Corporation | Efficient finder patterns and methods for application to 2D machine vision problems |
US7911444B2 (en) * | 2005-08-31 | 2011-03-22 | Microsoft Corporation | Input method for surface of interactive display |
US7974435B2 (en) * | 2005-09-16 | 2011-07-05 | Koplar Interactive Systems International Llc | Pattern-based encoding and detection |
US7942340B2 (en) * | 2005-11-24 | 2011-05-17 | Canon Kabushiki Kaisha | Two-dimensional code, and method and apparatus for detecting two-dimensional code |
WO2007075719A2 (en) * | 2005-12-16 | 2007-07-05 | Pisafe, Inc. | Method and system for creating and using barcodes |
US7584891B2 (en) * | 2005-12-19 | 2009-09-08 | Pitney Bowes Inc. | Black fluorescent optical codes and process for printing and reading |
US8016187B2 (en) * | 2006-02-21 | 2011-09-13 | Scanbury, Inc. | Mobile payment system using barcode capture |
CN100377167C (zh) * | 2006-03-17 | 2008-03-26 | 北京紫光捷通科技有限公司 | 一种用于二维码识别的二维码区域精确定位方法 |
US8150163B2 (en) | 2006-04-12 | 2012-04-03 | Scanbuy, Inc. | System and method for recovering image detail from multiple image frames in real-time |
US7857219B2 (en) * | 2006-05-26 | 2010-12-28 | Symbol Technologies, Inc. | Imaging reader target object finder system |
WO2008073455A1 (en) * | 2006-12-11 | 2008-06-19 | Koplar Interactive Systems International, L.L.C. | Spatial data encoding and decoding |
US8212857B2 (en) | 2007-01-26 | 2012-07-03 | Microsoft Corporation | Alternating light sources to reduce specular reflection |
WO2008118425A1 (en) | 2007-03-23 | 2008-10-02 | Ltt, Ltd | Method and apparatus for using a limited capacity portable data carrier |
US7780084B2 (en) | 2007-06-29 | 2010-08-24 | Microsoft Corporation | 2-D barcode recognition |
US8472039B2 (en) | 2007-07-10 | 2013-06-25 | Samsung Electronics Co., Ltd. | Copy apparatus having a copy prevention function and a copy prevention method thereof |
WO2009020047A1 (ja) * | 2007-08-03 | 2009-02-12 | Keio University | 構図解析方法、構図解析機能を備えた画像装置、構図解析プログラム及びコンピュータ読み取り可能な記録媒体 |
US20090111584A1 (en) * | 2007-10-31 | 2009-04-30 | Koplar Interactive Systems International, L.L.C. | Method and system for encoded information processing |
MX2010008335A (es) * | 2008-01-29 | 2011-02-22 | Veritec Inc | Simbolo bidimensional y metodo para leerlo. |
JP5567908B2 (ja) * | 2009-06-24 | 2014-08-06 | キヤノン株式会社 | 3次元計測装置、その計測方法及びプログラム |
US9098764B2 (en) * | 2009-07-20 | 2015-08-04 | The Regents Of The University Of California | Image-based barcode reader |
US8531401B2 (en) | 2009-08-13 | 2013-09-10 | Hewlett-Packard Development Company, L.P. | Computer accessory device |
US20110066504A1 (en) * | 2009-09-17 | 2011-03-17 | Ehud Chatow | System for providing promotion information |
US8788325B2 (en) * | 2009-11-30 | 2014-07-22 | Ncr Corporation | Techniques for generating a product path with custom advertisements |
CN101882220B (zh) * | 2010-06-01 | 2013-07-17 | 福建新大陆电脑股份有限公司 | 一种基于动态模板的条码图像校正方法及校正点获取方法 |
KR101109510B1 (ko) * | 2010-07-02 | 2012-01-31 | (주) 애니모비 | 2차원 바코드 인식방법 |
US9396421B2 (en) | 2010-08-14 | 2016-07-19 | Rujan Entwicklung Und Forschung Gmbh | Producing, capturing and using visual identification tags for moving objects |
FR2968796B1 (fr) | 2010-12-10 | 2014-04-25 | Samuel Boury | Procede de detection d'un marqueur appose sur la surface d'un objet et systeme de mise en oeuvre |
FR2968797A1 (fr) * | 2010-12-10 | 2012-06-15 | Samuel Boury | Procede de generation d'un marqueur a apposer sur la surface d'un objet |
AU2010257441B2 (en) * | 2010-12-24 | 2012-09-20 | Canon Kabushiki Kaisha | Method, apparatus and system for identifying candidate pairs of finder patterns of a barcode |
US9058535B2 (en) | 2011-04-05 | 2015-06-16 | Franck Guigan | Security barcode |
KR101865197B1 (ko) * | 2011-11-29 | 2018-07-16 | 삼성전자주식회사 | 휴대용 단말기에서 코드 이미지를 획득하기 위한 장치 및 방법 |
CN102708349B (zh) * | 2012-05-11 | 2014-11-05 | 深圳市天朗时代科技有限公司 | 一种矩阵式二维码的解码方法 |
EP2711866A1 (en) * | 2012-09-21 | 2014-03-26 | Biomerieux | Method and system for detecting a 2D barcode in a circular label |
US9171203B2 (en) | 2013-09-10 | 2015-10-27 | Dropbox, Inc. | Scanbox |
JP6393226B2 (ja) * | 2015-03-31 | 2018-09-19 | 日本電産サンキョー株式会社 | スタック型バーコード読取装置およびスタック型バーコード読取方法 |
US9760819B2 (en) | 2015-12-14 | 2017-09-12 | International Business Machines Corporation | Encoding and decoding data in two-dimensional symbology |
EP3199953B1 (en) * | 2016-02-01 | 2021-03-24 | Roche Diagniostics GmbH | Method for teaching positioning of a bar code scanner and apparatus for processing a sample or reagent |
CN106156684B (zh) * | 2016-06-30 | 2019-01-18 | 南京理工大学 | 一种二维码识别方法及装置 |
CN111291584B (zh) | 2016-07-22 | 2023-05-02 | 创新先进技术有限公司 | 识别二维码位置的方法及其*** |
US9928632B1 (en) | 2017-06-14 | 2018-03-27 | Capital One Services, Llc | Systems and methods for generating and reading intrinsic matrixed bar codes |
CN107590522B (zh) * | 2017-08-23 | 2020-08-21 | 阿里巴巴集团控股有限公司 | 一种识别码生成及识别的方法及装置 |
US10802498B2 (en) | 2018-05-30 | 2020-10-13 | Datalogic Ip Tech S.R.L. | Target direction estimation using centroid follower |
CN110332897A (zh) * | 2019-08-08 | 2019-10-15 | 珠海博明视觉科技有限公司 | 一种提高***对小圆测量精度的补偿模型 |
JP7408334B2 (ja) | 2019-10-03 | 2024-01-05 | Thk株式会社 | 画像処理装置及び移動体制御システム |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5189292A (en) * | 1990-10-30 | 1993-02-23 | Omniplanar, Inc. | Finder pattern for optically encoded machine readable symbols |
WO1995034043A1 (en) * | 1994-06-07 | 1995-12-14 | United Parcel Service Of America, Inc. | Method and apparatus for decoding two-dimensional symbols in the spatial domain |
US5591956A (en) * | 1995-05-15 | 1997-01-07 | Welch Allyn, Inc. | Two dimensional data encoding structure and symbology for use with optical readers |
US5637849A (en) * | 1995-05-31 | 1997-06-10 | Metanetics Corporation | Maxicode data extraction using spatial domain features |
JPH1021322A (ja) * | 1996-02-16 | 1998-01-23 | Intermec Corp | 機械読取り可能なシンボルを探し、エンコードするための方法及び装置 |
EP0917081A1 (en) * | 1997-11-17 | 1999-05-19 | Datalogic S.P.A. | Maxicode locating method |
KR20000006573A (ko) * | 1998-06-30 | 2000-01-25 | 이데이 노부유끼 | 2차원코드인식처리방법및장치,저장매체 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4889367A (en) * | 1988-10-07 | 1989-12-26 | Frito-Lay, Inc. | Multi-readable information system |
AU6251894A (en) | 1993-03-01 | 1994-09-26 | United Parcel Service Of America, Inc. | Method and apparatus for locating a two-dimensional symbol using a double template |
GB9408626D0 (en) * | 1994-04-29 | 1994-06-22 | Electronic Automation Ltd | Machine readable binary code |
US5515447A (en) | 1994-06-07 | 1996-05-07 | United Parcel Service Of America, Inc. | Method and apparatus for locating an acquisition target in two-dimensional images by detecting symmetry in two different directions |
JP3448120B2 (ja) * | 1994-12-27 | 2003-09-16 | シャープ株式会社 | デジタル情報記録担体 |
US5742041A (en) * | 1996-05-29 | 1998-04-21 | Intermec Corporation | Method and apparatus for locating and decoding machine-readable symbols, including data matrix symbols |
US5761219A (en) * | 1996-07-12 | 1998-06-02 | Intermec Technologies Corporation | Error correction for PDF417 and other machine-readable symbologies |
US6267296B1 (en) * | 1998-05-12 | 2001-07-31 | Denso Corporation | Two-dimensional code and method of optically reading the same |
US6412695B1 (en) * | 2000-04-07 | 2002-07-02 | Motorola, Inc. | Optical code and delineator apparatus and method |
-
2001
- 2001-04-05 AT AT01108629T patent/ATE321310T1/de not_active IP Right Cessation
- 2001-04-05 DE DE60118051T patent/DE60118051T2/de not_active Expired - Lifetime
- 2001-04-05 EP EP01108629A patent/EP1143372B1/en not_active Expired - Lifetime
- 2001-04-05 ES ES01108629T patent/ES2256106T3/es not_active Expired - Lifetime
- 2001-04-06 US US09/828,453 patent/US6604682B2/en not_active Expired - Lifetime
- 2001-04-06 CN CN01119210A patent/CN1334544A/zh active Pending
- 2001-04-06 KR KR1020010018244A patent/KR100579356B1/ko not_active IP Right Cessation
-
2002
- 2002-07-22 HK HK02105405.6A patent/HK1043852A1/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5189292A (en) * | 1990-10-30 | 1993-02-23 | Omniplanar, Inc. | Finder pattern for optically encoded machine readable symbols |
WO1995034043A1 (en) * | 1994-06-07 | 1995-12-14 | United Parcel Service Of America, Inc. | Method and apparatus for decoding two-dimensional symbols in the spatial domain |
US5591956A (en) * | 1995-05-15 | 1997-01-07 | Welch Allyn, Inc. | Two dimensional data encoding structure and symbology for use with optical readers |
US5637849A (en) * | 1995-05-31 | 1997-06-10 | Metanetics Corporation | Maxicode data extraction using spatial domain features |
JPH1021322A (ja) * | 1996-02-16 | 1998-01-23 | Intermec Corp | 機械読取り可能なシンボルを探し、エンコードするための方法及び装置 |
EP0917081A1 (en) * | 1997-11-17 | 1999-05-19 | Datalogic S.P.A. | Maxicode locating method |
KR20000006573A (ko) * | 1998-06-30 | 2000-01-25 | 이데이 노부유끼 | 2차원코드인식처리방법및장치,저장매체 |
Also Published As
Publication number | Publication date |
---|---|
US6604682B2 (en) | 2003-08-12 |
EP1143372A3 (en) | 2002-04-24 |
CN1334544A (zh) | 2002-02-06 |
EP1143372A2 (en) | 2001-10-10 |
DE60118051D1 (de) | 2006-05-11 |
US20020020747A1 (en) | 2002-02-21 |
HK1043852A1 (zh) | 2002-11-08 |
ATE321310T1 (de) | 2006-04-15 |
EP1143372B1 (en) | 2006-03-22 |
KR20010098464A (ko) | 2001-11-08 |
DE60118051T2 (de) | 2006-08-31 |
ES2256106T3 (es) | 2006-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100579356B1 (ko) | 2차원 코드 판독 방법, 정보 기록 매체 및 2차원 코드판독 장치 | |
AU668332B2 (en) | Polygonal information encoding article, process and system | |
US8215564B2 (en) | Method and system for creating and using barcodes | |
JP3668275B2 (ja) | デジタル情報記録方法、解読方法および解読装置 | |
US9014479B2 (en) | Method and system for text-image orientation | |
CN100390807C (zh) | 一种易于全方位识别的三边形多维条码的识读方法 | |
US20150339508A1 (en) | Two-dimensional code | |
KR940009992B1 (ko) | 패턴인식장치 | |
US20070114285A1 (en) | 2D coding and decoding barcode and its method thereof | |
US6173893B1 (en) | Fast finding algorithm for two-dimensional symbologies | |
JPH01156885A (ja) | バーコードの光学的読み取り方法 | |
CN101978380A (zh) | 二维符号及其读取方法 | |
US9892114B2 (en) | Methods and systems for efficient automated symbol recognition | |
US9633256B2 (en) | Methods and systems for efficient automated symbol recognition using multiple clusters of symbol patterns | |
EP1416421A1 (en) | Barcode detection system and corresponding method | |
RU2729399C1 (ru) | Способ обнаружения и распознавания визуальных маркеров большой дальности и высокой плотности | |
US20090180690A1 (en) | Image searching apparatus and image searching method | |
US20140291402A1 (en) | Stack barcode reader and stack barcode reading method | |
US20020021835A1 (en) | Method and device for recording of information | |
JP4871918B2 (ja) | 画像変換装置、画像変換方法、画像変換プログラム及び画像変換プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US20060255163A1 (en) | Synchronous two-dimensional barcode system with all-around information, and reading method thereof | |
CN112187284A (zh) | 编码方法、编码图形、编码图形读取方法和拍摄装置 | |
KR101664743B1 (ko) | 고해상도 영상 생성 장치 및 그 방법 | |
US4845766A (en) | Simultaneous projection feature analysis apparatus | |
KR100701292B1 (ko) | 이미지 코드 및 그 인식방법과 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130502 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140418 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |