KR102576619B1 - 광학 코드들의 판독 - Google Patents

광학 코드들의 판독 Download PDF

Info

Publication number
KR102576619B1
KR102576619B1 KR1020210010456A KR20210010456A KR102576619B1 KR 102576619 B1 KR102576619 B1 KR 102576619B1 KR 1020210010456 A KR1020210010456 A KR 1020210010456A KR 20210010456 A KR20210010456 A KR 20210010456A KR 102576619 B1 KR102576619 B1 KR 102576619B1
Authority
KR
South Korea
Prior art keywords
code
sampling
optical codes
pattern
reading
Prior art date
Application number
KR1020210010456A
Other languages
English (en)
Other versions
KR20210096012A (ko
Inventor
사샤 부르크하르트
이안 슈타비아스키
Original Assignee
식아게
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 식아게 filed Critical 식아게
Publication of KR20210096012A publication Critical patent/KR20210096012A/ko
Application granted granted Critical
Publication of KR102576619B1 publication Critical patent/KR102576619B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Character Input (AREA)

Abstract

광학 코드(12)의 고르지 않은 배경에 의해 야기된 왜곡들을 갖는 코드들(12)을 판독하기 위한 방법이 제공되며, 이 방법은, 코드(12)를 포함하는 이미지 데이터를 획득하는 단계, 이미지 데이터에서 코드(12)를 포함하는 구역을 로케이팅하는 단계, 및 구역의 이미지 데이터로부터 코드(12)의 코드 콘텐츠를 판독하는 단계를 포함하고, 코드(12)는 상기 왜곡들에 대응하는 샘플링 패턴으로 배열된 샘플링 포인트들에서의 이미지 데이터로부터 판독된다.

Description

광학 코드들의 판독{Reading of optical codes}
본 발명은 코드의 고르지 않은 배경에 의해 야기된 왜곡들을 갖는 광학 코드들을 판독하기 위한 방법 및 코드 판독 장치에 관한 것이다.
코드 판독기들은 슈퍼마켓 계산대들, 자동 패키지 식별, 우편 분류, 공항들의 수하물 처리 및 다른 물류 애플리케이션들에서 잘 알려져 있다. 코드 스캐너에서, 판독 빔은 회전 미러 또는 다각형 미러 휠에 의해 코드에 걸쳐 안내된다. 카메라-기반 코드 판독기는 이미지 센서를 사용하여 코드들을 보유한 물체들의 이미지들을 취하고 이미지 프로세싱 소프트웨어는 이러한 이미지들로부터 코드 정보를 추출한다. 카메라-기반 코드 판독기들은 1차원 바코드들 이외의 코드 유형들(이는 또한 매트릭스 코드처럼 2차원이고 더 많은 정보를 제공함)을 쉽게 처리할 수 있다.
중요한 애플리케이션 그룹에서, 코드들을 보유한 물체들은 코드 판독기를 지나 전달된다. 코드 스캐너는 코드 스캐너의 판독 범위 내로 이동하는 코드들을 차례로 검출한다. 대안적으로, 카메라-기반 코드 판독기에서, 물체들의 이미지들은 매트릭스 카메라에 의해 또는 라인 카메라에 의해 연속적으로, 그리고 상대적 움직임에 따라 라인별로 획득된다. 매트릭스 또는 2-차원 이미지 센서의 이미지 데이터는 레코딩 빈도 및 컨베이어 속도에 의존하여 다소 겹칠 수 있다. 물체들이 임의의 배향으로 컨베이어 상에 배열될 수 있도록 하기 위해, 복수의 코드 판독기들이 종종 판독 터널 상에 제공되어 여러 또는 모든 측들로부터 물체들을 검출한다. 예컨대, 넓은 컨베이어 벨트를 커버하기 위해 복수의 코드 판독기들의 판독 필드들을 결합하는 것이 또한 알려져 있다.
대부분의 경우들에서, 코드 이미지들은 왜곡된다. 하나의 이유는 코드들이 비-평면 표면들 상에 인쇄되거나 부착되기 때문이다. 이는, 꼬임들, 곡률들 및 궁극적으로 완전 랜덤 기하학적 왜곡들을 초래할 수 있다. 이 문제는 인쇄, 코드 마크들의 부각(embossing), 코드 라벨들의 부착 또는 임의의 다른 방법에 의해서든, 코드들을 생성하는 방식에 관계 없이 발생한다.
에러 수정 메커니즘들은 다양한 2D 코드 사양들에 내장된다. 그러나 에러 수정 메커니즘들은 복잡한 변형들이 검출될 수 있는 방식으로 설계되지 않는다. 오히려, 비-평면 표면은 암묵적으로 작은 영향만을 미치는 것으로 가정한다. 이 침묵 전제조건은 일부 경우들을 이외에는 충족되지 않는 애플리케이션들이 존재한다. 통상적인 예는 플라스틱 커버들과 같은 부드러운 패키징 상의 코드들이다. 여기에서, 리드-솔로몬(Reed-Solomon) 에러 수정과 같은 기존의 메커니즘들은 그의 한계들에 빠르게 도달하고 특정 변형으로부터, 2D 코드들은 더 이상 판독 가능하지 않다.
종래에, 실제 코드 판독 이전에, 획득된 코드 이미지를 교정하기 위한 접근법들이 존재한다. 그러나 이는 실제 코드 및 실제 코드의 배경과 관련되는 것이 아니라, 예컨대, 코드 판독기의 이미징 에러들의 수정 또는 이미징 관점의 변형이다. US 7 878 402 B2 또는 EP 2 843 616 A1은 이러한 관점 변환(perspective transformation)을 설명한다. 코드 자체가 평평하고 단순히 비스듬한 관점으로부터 획득된다는 가정이 여전히 존재한다. 따라서, 코드들 내의 개별 기하학적 왜곡들은 계속 판독 에러들을 야기한다. US 8 235 296 B2는 곡면 상에 코드를 기록하는 보완적인 애플리케이션에 관한 것이다. 그러나, 이를 위해 3D 표면이 검출되며, 이는 상당한 노력을 요구한다. 더욱이, 이는 실린더와 같은 특정한 규칙적인 기하학적 구조들에 대해서만 작동하며, 특히, 부드러운 표면의 경우에서와 같이 지속적으로 변하는 변형들에 대해서는 작동하지 않는다.
다른 종래의 접근법은 예컨대, 볼록 포락선에 의해 판독될 코드의 글로벌 기하학적 구조를 검출하는 것이다. 작고 특히 규칙적인 왜곡들의 일부 경우들에서, 이는 가능성이 있지만, 예컨대, 주름진 플라스틱 커버가 배경으로서 사용하는 경우, 글로벌 기하학적 구조는 단순히 너무 적은 정보만을 포함하고 코드의 판독은 계속 실패한다.
따라서, 본 발명의 목적은 왜곡된 광학 코드를 판독하기 위한 개선된 방법을 제공하는 것이다.
이 목적은 코드의 고르지 않은 배경에 의해 야기된 왜곡들을 갖는 광학 코드들을 판독하기 위한 방법에 의해 충족되며, 이 방법은, 코드를 포함하는 이미지 데이터를 획득하는 단계, 이미지 데이터에서 코드를 포함하는 구역을 위치결정하는 단계, 및, 구역의 이미지 데이터로부터 코드의 코드 콘텐츠를 판독하는 단계를 포함하고, 코드는 왜곡들에 대응하는 샘플링 패턴으로 배열된 샘플링 포인트들에서의 이미지 데이터로부터 판독된다.
이 목적은 또한, 광학 코드의 고르지 않은 배경에 의해 야기된 왜곡들을 갖는 코드들을 판독하기 위한 코드 판독 장치에 의해 충족되며, 코드 판독 장치는 코드를 포함하는 이미지 데이터를 획득하기 위한 이미지 센서, 및 제어 및 평가 유닛을 포함하고, 이 제어 및 평가 유닛은, 상기 이미지 데이터에서 코드를 포함하는 구역을 위치결정하고, 왜곡들에 대응하는 샘플링 패턴으로 배열된 샘플링 포인트들에서 구역의 이미지 데이터로부터 코드의 코드 콘텐츠를 판독하도록 구성된다.
코드들은, 코드들의 비-평면이거나, 구부러지거나 변형된 배경 즉, 코드들이 부착되거나 인쇄된 표면에 의해 왜곡되며, 변형은 꼬임들, 곡률들 또는 기하학적 특성들이며, 코드들은 이에 따라, 종래의 방법들에 의해 판독하기가 더 어렵거나 불가능하다. 광학 코드는 특히, 다양한 알려진 표준들 중 임의의 것에 따른 2차원 코드이다. 코드를 포함하고 바람직하게는 적어도 대략적으로 세그먼팅되고 이에 따라 코드 구역에 대해 맞춤제작되는 이미지 데이터가 생성된다. 이미지 데이터는 통상적으로 카메라-기반 코드 판독기의 이미지 센서에 의해 획득되지만, 원칙적으로, 코드 스캐너는 또한 라인별로 강도 프로파일을 획득하고 이에 따라 이미지 데이터를 생성할 수 있다. 코드는 그 자체로 알려진 디코딩 방법으로 판독된다. 본 명세서 전반에 걸쳐, 바람직하게 또는 바람직한 이란 용어들은 유리하지만 완전히 선택적인 특징들과 관련된다.
본 발명은 코드의 실제 판독 이전에 샘플링 포인트들의 샘플링 그리드 또는 샘플링 패턴을 생성하는 기본 아이디어로부터 시작되며, 샘플링 패턴은 코드의 배경의 변형들에 맞게 조정된다. 이러한 샘플링 포인트들의 이미지 데이터는 코드 판독을 위해 사용된다. 따라서, 샘플링 패턴은 규칙적인 그리드가 아니라, 적어도 대략적으로는 코드 그 자체만큼 왜곡된다.
본 발명은, 샘플링 패턴이 변형 또는 왜곡을 매핑하고 이에 따라 변형 또는 왜곡을 보상한다는 이점을 갖는다. 변형이 강력하고 불규칙한 경우조차도 코드는 여전히 판독될 수 있고, 이에 따라 판독 레이트를 증가시킨다. 물론, 예컨대, 전체 영역들이 커버되는 방식으로 코드들이 접힐 때 한계들이 존재한다. 이 방법은 다양한 유형들의 코드들에 대해 응용 가능하다. 호일 패키징과 같은 까다로운 애플리케이션들에서도, 높은 판독 레이트가 달성된다.
샘플링 패턴은 바람직하게는 고르지 않은 배경의 곡률을 알지 못한 채 결정된다. 이미지 데이터 외에는 어떠한 추가 정보도 이용 가능하지 않은데, 특히 3-차원 윤곽 측정은 이용 가능하지 않다. 수정될 기하학적 구조는 초기에 알려지지 않고 또한, 그 자체가 본 발명에 따른 방법에 의해 결정되지 않는다. 대신, 샘플링 패턴은 왜곡된 코드에 맞게 국부적으로 조정된다.
바람직하게는, 코드의 모듈 크기 및 요구되는 샘플링 패턴의 크기 중 적어도 하나는 파인더 패턴(finder pattern)으로부터 결정된다. 파인더 패턴은 2D 코드 및 2D 코드의 특정 특성들의 검출을 가능하게 하는 특정 패턴을 가진 2D 코드의 부분이다. 따라서, 파인더 패턴이 어떤 코드 엘리먼트들 또는 모듈들을 갖는지는 코드 사양으로부터 알 수 있고, 이에 따라 임의의 특정한 획득된 코드의 모듈 크기는 파인더 패턴으로부터 결정될 수 있다. 획득된 코드 구역을 외삽함으로써, 코드를 커버하기 위해 샘플링 패턴이 얼마나 많은 샘플링 포인트들을 가질 필요가 있는지를 추론하는 것이 또한 가능하다. 또한, QR 코드는 그의 파인더 패턴들 사이의 거리를 제공하는 반면, DataMatrix 코드는 2개의 측들로부터 코드를 완전히 프레이밍(framing)하는 파인더 패턴을 갖고, 이러한 종류의 정보는 부가적으로 샘플링 패턴의 요구되는 크기를 알아내기 위해 사용될 수 있다.
샘플링 패턴은 바람직하게는 코드의 모듈 당 하나의 샘플링 포인트를 포함한다. 모듈 당 적어도 하나의 샘플링 포인트가 있어야 하며, 그렇지 않으면 일부 모듈들은 전혀 표현되지 않는다. 반대로, 각각의 모듈은 그의 2D 포지션 외에는, 명암 정보만을 전달하기 때문에 하나의 샘플링 포인트만으로도 충분하며, 이는 대표적인 포지션의 샘플링 포인트에 의해 완전히 캡처된다. 따라서, 모듈 당 적어도 하나의 샘플링 포인트를 갖는 샘플링 패턴이면 충분하고, 정확히 하나의 샘플링 포인트를 갖는 샘플링 패턴조차도 불필요한 노력 없이 여전히 최적의 완전한 구성이다 .
샘플링 패턴은 파인더 패턴으로부터 시작하여, 샘플링 패턴이 코드를 커버할 때까지 바람직하게는 반복적으로 성장된다. 파인더 패턴은 신뢰할 수 있게 위치결정될 수 있다. 그 후, 이 초기 작은 패턴으로부터, 전체 패턴이 단계적 확대("그리드 성장")에 의해 구축된다.
바람직하게는, 샘플링 패턴의 샘플링 포인트들은 초기에, 특히 샘플링 포인트들이 평평한 배경에 따라 여전히 규칙적인 어레인지먼트에 있는 채로, 파인더 패턴에 대해 정의된다. 그의 특정된 구조로 인해, 파인더 패턴은 어느 모듈들이 자신을 포함하는지를 안다. 따라서, 샘플링 패턴의 시작은 매우 신뢰할 수 있게 세팅 및 조정될 수 있다. 예컨대, QR 코드의 파인더 패턴은, 하나가 다른 하나 내부에 배열되는 직사각형들로 구성된 7x7 모듈들을 포함한다. 따라서, 시작 포인트는 7x7 샘플링 포인트들의 패턴일 수 있다. 초기화 동안, 왜곡들에 관한 어떠한 정보도 사전에 알려지지 않기 때문에, 바람직하게는, 규칙적인 샘플링 패턴이 먼저 사용된다.
샘플링 포인트들은 바람직하게는, 샘플링 포인트들이 표현하는 모듈의 중심을 향해 시프트된다. 왜곡되지 않은 평면 코드의 경우에, 이는 추정된 모듈 크기에 따라 샘플링 포인트들 사이에 일정한 거리를 갖는 규칙적인 샘플링 패턴의 일반적인 중심 결정(centering)에 의해 매우 쉽게 행해질 수 있다. 고르지 않은 배경이나 표면에 맞게 조정하기 위해, 샘플링 포인트들이 개별적으로 시프트되어 개개의 로컬 왜곡을 보상한다. 중심은 반드시 모듈의 정확한 기하학적 중심일 필요는 없으며, 이것은 단지, 샘플링 포인트가 모듈을 나타내는 밝기 값을 캡처하도록 모듈들 사이의 에지들을 신뢰할 수 있게 회피하는 문제일 뿐이다.
코드의 그라디언트(gradient) 이미지 및 매그니튜드(magnitude) 이미지는 바람직하게는, 매그니튜드 이미지에 기초하여 개개의 샘플링 포인트가 로컬 극값에 위치되는지를 결정하기 위해 그리고 그라디언트 이미지로부터 로컬 극값으로부터의 임의의 남은 변위의 방향을 결정하기 위해 계산된다. 그라디언트는 일반적으로, 이미지 데이터가 표현하는 2D 밝기 함수의 1차 도함수(derivative)이다. 벡터인 그라디언트는 그라디언트 이미지에서 그의 방향으로 그리고 매그니튜드 이미지에서 그의 매그니튜드로 분해된다. 따라서, 그라디언트 이미지는 전체 그라디언트 정보를 포함하는 것이 아니라 오히려 그라디언트 방향 이미지이기 때문에, 약어이다. 특정한 그리고 바람직한 예에서, 매그니튜드에 대해 하나의 이미지가 결정될 수 있고 X- 및 Y-방향에서 그라디언트마다 하나씩의 이미지가 결정될 수 있다. 이 맥락에서, 이미지는 그라디언트의 임의의 표현을 위한 용어이다. 이 그라디언트 계산은 코드 구역의 이미지 데이터에 대해 단 한 번만 수행하는 것으로 충분하며, 결과는 그 후 모든 반복들에서 그리고 모든 샘플링 포인트들에 대해 사용될 수 있다. 매그니튜드가 로컬 극값을 표시하는 경우, 즉 매그니튜드가 적어도 0에 가까운 경우, 샘플링 포인트는 그의 모듈에서 충분히 중심이 결정된 것으로 간주된다. 이는 샘플링 포인트가 모듈들 사이의 에지들로부터 충분히 멀리 떨어져 있고, 이에 따라 모듈의 밝거나 어두운 영역 한가운데쯤에 위치된다는 사실의 수학적 공식이다. 그라디언트 이미지는 매그니튜드 조건이 아직 충족되지 않은 경우 로컬 극값이 위치되는 방향을 보여준다.
샘플링 포인트들은 바람직하게는, 로컬 극값에 도달하거나, 시프트가 모듈을 벗어나게 하거나, 또는 최대 수의 단계들에 도달될 때까지, 모듈 크기보다 작은 단계들로 시프트된다.
특히, 어떠한 로컬 극값도 찾을 수 없는 경우에, 개개의 샘플링 포인트의 시프트는 없다. 반복적인 방법에 의해 로컬 극값이 검색된다. 단계 크기는 작게 선택되어서, 잘못된 로컬 극값이 이웃 모듈에서 발견되지 않으며, 이 잘못된 로컬 극값은 그렇지 않으면, 특히 여러 이웃하는 밝거나 어두운 모듈들과 관련하여 발생할 수 있다. 추정된 모듈 크기보다 더 먼 시프트가 유도되면, 방법은 중단된다. 이런 상황이 발생하는 경우, 바람직하게는, 지금까지 결정된 시프트(이는 아마도 유용한 결과를 표현하는 않음)가 계속되는 것이 아니라, 이 샘플링 포인트는 당분간 전혀 시프트되지 않는다.
로컬 극값을 향한 개개의 샘플링 포인트들의 시프트들의 시프트 매트릭스는 바람직하게는, 특히 가우시안 필터를 사용하여 평활화된다. 개별 샘플링 포인트들에 대한 시프트들이 결정되고 시프트 매트릭스에 저장된다. 방금 설명된 바와 같이, 일부 샘플링 포인트들에 대해 적절한 변위가 발견되지 않고 이들은 그의 초기 포지션에 남아있다. 시프트 매트릭스를 평활화함으로써, 어느 정도 서로 매칭하는 것으로 긍정적으로 결정될 수 있는 시프트들뿐만 아니라, 그렇지 않았다면, 그의 초기 포지션에 남아있었을 그러한 샘플링 포인트들도 그의 이웃들을 통해 시프트된다.
바람직하게는, 로컬 극값을 향한 샘플링 포인트들의 시프트들을 갖는 새로운 시프트 매트릭스는, 추가 시프트 매트릭스가 공차 임계치를 넘어 더 이상 시프트들을 야기하지 않을 때까지 또는 반복들의 최대 수가 도달될 때까지 반복적으로 결정되고 샘플링 패턴에 적용된다. 방법이 수렴되고 더 이상의 개선들이 달성되지 않을 때까지 시프트들이 반복된다. 예방조치로서, 특정 수의 단계들 후에 종결 조건이 존재해야 하며, 이는 최대 사용 가능한 컴퓨팅 시간 만료와 같은 다른 유사한 미리 정의된 외부 조건들을 포함하는 것을 의미한다.
샘플링 패턴은 바람직하게는 샘플링 패턴이 코드를 커버하고 미리 결정된 크기에 도달할 때까지, 부가적인 샘플링 포인트들로 적어도 하나의 에지에서 반복적으로 성장된다. 바람직하게는, 샘플링 패턴은 반복 당 하나의 열 및/또는 행씩 성장한다. 한 번에 여러 라인들 또는 열들을 추가하는 것이 고려 가능하지만, 로컬 곡률이 크게 변동되는 경우, 이는 맞춤 조정을 악화시킬 것이다. 이러한 방식으로 샘플링 패턴을 성장시킨 후, 추가된 샘플링 포인트들, 모든 샘플링 포인트들, 또는 추가된 샘플링 포인트들 및 이미 존재하는 샘플링 패턴으로부터의 그의 이웃들과 같은 중간 세트는 바람직하게는 그 개개의 모듈들에서 중심 결정을 위한 설명된 맞춤 조정이 적용된다. 성장 및 이에 따른 맞춤 조정된 샘플링 패턴을 생성하기 위한 방법은 코드가 커버될 때 완료된다. 이는 특히 코드 구역의 크기 및 추정된 모듈 크기에 기초하여 샘플링 패턴의 요구된 크기를 추정함으로써 결정된다.
제시된 단계들 중 여러 개가 조합되어 구현되는 경우 이는 다중 중첩식 반복(multiple nested iteration)이라는 점이 주의되어야 한다. 더 높은 레벨의 반복은 작은 샘플링 패턴으로 바람직하게는, 파인더 패턴에서 시작하여 코드 구역 상에서 연속적으로 성장시킨다. 개개의 맞춤 조정에 대해, 시프트 매트릭스가 결정되고 여러 번 반복적으로 적용된다. 제3 반복 레벨은 시프트 매트릭스의 결정 하에 추가될 수 있으며, 이는 시프트 매트릭스의 개별 엔트리를 획득하기 위해 개개의 샘플링 포인트를 그의 모듈의 중심으로 단계적으로 시프트하도록 시도한다.
다른 파인더 패턴으로부터 시작하여 추가 샘플링 패턴이 바람직하게는 결정된다. 물론 이것은 여러개의 파인더 패턴들이 제공되는 QR 코드와 같은 코드 유형들에 대해서만 가능하다. 다른 코드 유형들에 대해, 대안적으로, 파인더 패턴이 아니지만 이전 판독 시도에서 또는 이미지 프로세싱에 의해 모듈들이 명확하게 검출 가능한 영역으로부터 샘플링 패턴을 성장시키도록 시도하는 것이 가능하다. 이는 어떤 이유로, 이전 시도에서 사용되었던 파인더 패턴이 양호한 시작 포인트가 아닌 경우, 부가적인 판독 시도들을 행하는 것을 가능하게 한다.
본 발명은 예시적인 실시예들 및 첨부 도면을 참조하여 추가 이점들 및 특징들과 관련하여 이하에서 또한 설명될 것이다. 도면들의 그림들은 다음과 같다:
도 1은 코드 판독기의 개략적 표현이다.
도 2는 왜곡들에 맞게 조정된 샘플링 패턴을 갖는 예시적인 2D 코드의 표현이다.
도 3은 조정된 샘플링 패턴이 전체 코드에 걸쳐 파인더 패턴으로부터 반복적으로 성장하는 방법의 흐름도이다.
도 4는 도 3에 따른 개개의 반복들 내에서 샘플링 패턴의 맞춤 조정의 흐름도이다.
도 5는 코드 구역에 대한 매그니튜드 이미지 및 그라디언트 이미지의 예시적인 표현이다.
도 6은 개별 코드 모듈들에 대한 도 5의 확대이다.
도 7은 도 3에 따른 흐름의 상이한 반복들 이후 성장하는 샘플링 패턴들의 예시적인 표현이다.
도 1은 순전히 예시적인 코드(12)를 판독하기 위한 광전자 코드 판독기(10)를 도시한다. 코드 판독기(10)는 이미지 센서(14)를 사용하여, 코드(12)를 포함하는 이미지 데이터를 획득하며, 이 이미지 데이터는 이미지 프로세싱 및 디코딩 방법들을 사용하여 제어 및 평가 유닛(16)에 의해 추가로 프로세싱된다. 특정 이미징 방법은 본 발명에서 중요하지 않아서, 코드 판독기(10)는 그 자체로 알려진 임의의 원리에 따라 구성 및 사용될 수 있다. 코드(12)는 단일 이미지에서 획득될 수 있다. 코드 판독기(10)와 코드(12) 사이의 상대적인 움직임의 경우에, 라인-형상 이미지 센서에 의해서든 아니면 스캐닝 방법에 의해서든, 한 번에 단 하나의 라인만의 획득이 또한 고려 가능하며, 여기서 스캐닝 방법의 경우에서, 포토다이오드와 같은 간단한 광 수신기가 이미지 센서(14)로서 충분하다. 라인들은 결합되어 이미지를 형성한다. 바람직한 애플리케이션 상황에서, 코드 판독기(10)의 판독 영역을 통해 코드들(12)을 가진 물체들을 운반하는 컨베이어 벨트 상에 코드 판독기(10)를 장착함으로써 상대적 움직임이 생성된다.
제어 및 평가 유닛(16)의 이미지 프로세싱의 목표는 코드 구역들을 검출하고 그 코드 구역들에 배열된 코드들(12)을 판독하는 것이다. 본 발명은 평평한 배경으로부터의 편차들에 의해 야기되는 코드들(12)의 왜곡들에 맞게 조정하는 샘플링 포인트들의 샘플링 패턴을 생성하는 부분 단계에 관한 것이다. 이러한 샘플링 패턴을 생성하는 방법은 도 2 내지 도 7을 참조하여 추후에 설명된다. 실제 코드 판독, 즉 샘플링 패턴의 샘플링 포인트들의 이미지 데이터에 기초한 디코딩은 그 자체로 알려져 있고 자세히 설명되지 않을 것이다.
그러나 일반적인 에러 수정 방법들 외에, 이러한 알려진 디코딩 방법들은 코드(12)의 왜곡들에 대처할 수 없다.
코드 판독기(10)는 인터페이스(18)를 통해 판독 코드들 또는 이미지 데이터와 같은 정보를 출력한다. 제어 및 평가 유닛(16)이 코드 판독기(10)에 위치되는 것이 아니라, 별개의 제어 장치로서 하나 이상의 코드 판독기들(10)에 연결되는 것이 또한 가능하다. 이 경우에, 인터페이스(18)는 또한 내부 및 외부 제어 및 평가 사이의 연결부로서 역할을 한다. 제어 및 평가 기능은 사실상 임의의 방식으로 내부 및 외부 모듈들에 분배될 수 있으며 외부 모듈들은 또한 네트워크 또는 클라우드를 통해 연결될 수 있다. 여기서 어떠한 추가의 구별도 이루어지지 않으며, 제어 및 평가 유닛(16)은 실제 구현에 관계없이 코드 판독기(10)의 부분으로서 간주된다.
코드들(12)의 도시된 예들은 QR 코드들이다. 그러나, 본 발명은 이러한 코드들로 제한되는 것이 아니라, DataMatrix 코드들, MaxiCodes 또는 Aztec 코드들과 같은 다른 2D 코드들에 또한 적용 가능하다. QR 코드들은 이들이 DataMatrix 코드들과 같이 변형들에 관한 일부 결론들을 이미 허용하는 프레이밍 파인더 패턴들을 갖지 않기 때문에 어떤 면에서는 특히 더 까다롭다. 원칙적으로, 바코드들은 또한 본 발명에 따라 판독 가능할 것이다. 그러나 바코드들은 이미, 여전히 모든 코드 모듈들과 교차하는 코드에 걸쳐 단일 판독 라인을 찾는 것으로 충분하기 때문에 여기에서 논의된 왜곡들에 대해 훨씬 더 내성이 있다.
도 2는 이제 설명될 코드(12)의 변형들에 맞게 조정된 샘플링 포인트들의 샘플링 패턴을 찾기 위한 방법의 결과의 예를 도시한다. 샘플링 패턴은 바람직하게는, 각각의 코드 모듈의 중심에 정확히 하나의 샘플링 포인트를 배치함으로써 곡률들 및 변형들에 따른다. 예시적인 설명으로서, 이는 왜곡된 코드(12) 위에 배치되고 코드(12)의 불균일성에 맞대지는 유연한 베이스 상에 규칙적인 그리드를 갖는 것과 유사하다.
도 3 및 도 4는 이 결과를 달성하기 위한 예시적인 흐름을 도시한다. 이 흐름에 있어, 샘플링 패턴은 이미지 데이터로부터 작은 영역에서 시작하여 일종의 자체 조직화된 보강적인(constructive) 성장으로 반복적으로 그리고 로컬로 생성된다. 도 4는 도 3의 흐름의 일 단계를 자세히 설명하는 부분 흐름을 도시한다. 도 5 내지 도 7은 흐름의 다양한 스테이지들을 예시한다.
초기에, 코드(12)를 포함하는 이미지 데이터가 단계(S1)에서 획득된다. 이 입력 데이터는 예컨대, 4개의 코너 포인트들과 함께 이미지 데이터로서 프리프로세싱(preprocessing)에 의해 검출된 코드 구역(ROI, Region of Interest)으로 전달된다. 결정될 샘플링 패턴에 대한 열들 및 라인들의 수는 미리 정의될 수 있다. 대안적으로, 이러한 파라미터들은 추정될 수 있거나 또는 이들은 샘플링 패턴을 형성하는 과정에서 발견될 수 있다.
단계(S2)에서, 코드 구역의 그라디언트 이미지 및 매그니튜드 이미지가 계산된다. 그라디언트는 코드 구역의 이미지 데이터의 명-암 패턴의 1차 도함수이다. 그라디언트는 방향 및 매그니튜드로 분해되는 벡터 필드이다. 방향은 그라디언트(방향) 이미지에서의 개개의 X, Y 포지션, 매그니튜드 이미지에서의 매그니튜드에 의존하여 저장된다. 방향은 하나 초과의 그라디언트(방향) 이미지가 있도록 하나 초과의 컴포넌트를 가질 수 있는데, 예컨대, 그라디언트 X(방향) 이미지 및 그라디언트 Y(방향) 이미지가 존재한다. 데카르트 좌표들 이외의 좌표들이 가능하다. 도 5는 예를 도시한다. 4개의 이미지들은 왼쪽 위에서 시계 방향으로, 코드 구역의 초기 이미지, 매그니튜드 이미지, X 방향의 그라디언트 이미지 및 Y 방향의 그라디언트 이미지이다.
단계(S3)에서, 작은 초기 샘플링 패턴이 생성된다. 이는 바람직하게는, 파인더 패턴의 구역에 대해 행해진다. 도면들에서 도시된 예시적인 코드들(12)에서의 파인더 패턴들은 서로 내부에 중첩된, 코너들에 있는 3개의 직사각형들이다. QR 코드에서, 파인더 패턴은 7x7 코드 모듈들로 구성되어서, 7x7 샘플링 패턴이 사용될 수 있다. 파인더 패턴의 구역에는 코드(12)의 곡률에 대한 정보가 없기 때문에, 초기 샘플링 패턴은 여전히 규칙적이다. 파인더 패턴의 크기는 또한 모듈 크기의 추정을 위해 사용될 수 있다. 샘플링 패턴에 대해 요구되는 열들 및 행들의 수가 단계(S1)에서 특정되지 않은 경우, 이는 모듈 크기 및 파인더 패턴들 간의 거리로부터 결정될 수 있다.
단계(S4)에서, 현재 샘플링 패턴, 즉 이 스테이지에서 초기 샘플링 패턴은 코드(12)의 곡률들에 맞게 조정된다. 이 단계는 도 4에서 재차 자세히 도시된다. 맞춤 조정의 목표는 샘플링 포인트들을, 그 샘플링 포인트들이 표현하는 개개의 모듈에서 중심이 결정되는 것으로서 설명될 수 있다. 평면 코드의 경우에, 이는 동시에 모든 샘플링 포인트들에 대해 규칙적인 그리드로 달성될 수 있다. 변형된 배경 상의 코드(12)의 경우에, 샘플링 패턴은 개별 시프트들 또는 변위들에 의해 곡률에 맞춰 조정된다.
먼저, 단계(S41)에서, 맞춤 조정될 샘플링 포인트들에 대한 개개의 시프트들을 포함하는 시프트 매트릭스가 생성된다. 초기에, 어떠한 시프트들도 아직 결정되지 않았기 때문에 값들은 0이다.
후속 단계들은 샘플링 패턴의 여러, 바람직하게는 모든 샘플링 포인트들에 대해 수행되지만, 대표적으로 하나의 샘플링 포인트에 대해서만 설명된다. 단계(S42)에서, 개개의 샘플링 포인트가 이미 중심이 결정되었는지가 체크된다. 이에 대한 유리한 기준은 매그니튜드 이미지에서 대응하는 값의 체크이다. 매그니튜드 값이 0의 값을 갖거나 0에 매우 가까운 경우, 샘플링 포인트는 밝기의 로컬 극값에 위치된다. 결국, 샘플링 포인트들이 모듈을 표현하고 모듈들 사이에 어떠한 에지들도 없는 것이 중요하며, 수학적으로 정확한 기하학적 맞춤 조정이 요구되지 않는다. 따라서, 매그니튜드 이미지의 복수의 이웃 포인트들이 0 또는 0에 가까운 값을 갖는 경우에, 실제로 코드 모듈의 정확한 중심에 있지 않은, 이들 포인트들 중 하나로 이어지는 시프트가 선택되는 경우에도 최종 결과는 영향을 받지 않는다.
아직 충분히 중심이 결정되지 않은 샘플링 포인트들에 대해, 로컬 극값 또는 코드 모듈의 중심 방향으로의 시프트가 단계(S43)에서 결정된다. 이는 도 5에서와 같이 배열된 도 6에서 예시된다. 도시된 것은 고려중인 코드 모듈 부근에서 도 5의 매그니튜드 및 그라디언트 이미지들의 확대된 구역들이다. 밝은 원형 포인트는 샘플링 포인트의 현재 포지션을 표시하고 밝은 직사각형 포인트는 로컬 극값에서의 목표 포지션을 표시한다. X 및 Y 방향에서의 시프트의 방향은 대응하는 그라디언트 이미지로부터 비롯되며, 샘플링 포인트는 밝기의 최대 증가 또는 감소에 따른다. 시프트의 개별 단계 길이는 의도적으로 작게 선택되어서, 샘플링 포인트는 코드 모듈을 쉽게 떠나지 않는다.
단계(S44)에서, 샘플링 포인트가 이전 시프트들로 인해 코드 모듈을 떠났을지가 체크된다. 이는 특히, 여러 밝거나 어두운 코드 모듈들이 서로 옆에 있는 경우 여러 작은 단계들에 의해 발생할 수 있다. 어쨌든, 보완적인 밝기를 가진 인접한 코드 모듈로의 이동은 없는데, 그 이유는 그것이 그라디언트에 대한 반대 방향에 있기 때이다. 샘플링 포인트가 코드 모듈을 떠났을 경우에, 이 샘플링 포인트에 대한 로컬 극값의 검색은 실패한 것으로 간주되고, 바람직하게는, 전혀 시프트되지 않고 그의 초기 포지션에 남아있는데, 그 이유는 이전 시프트들로부터 개선보다는 악화가 예상되기 때문이다. 그렇지 않으면, 로컬 극값의 검색은 단계(S42)에서 계속된다. 거기에서, 선행 시프트가 이미 로컬 극값에 도달하는데 성공했는지가 체크되고, 만약 그렇지 않은 경우, 단계(43)에서 다른 작은 시프트가 존재한다.
모든 샘플링 포인트들에 대해 단계들(S42 내지 S44)의 루프가 완료되면, 시프트 매트릭스는, 샘플링 포인트들의 부분을 개개의 로컬 극값으로 시프트하고 실패한 로컬 극값의 검색으로 인해 나머지 부분을 전혀 시프트하지 않는 값들로 채워진다.
단계(S45)에서, 시프트 매트릭스는 특히 가우스 필터로 평활화된다. 이는 보다 균일한 그리드로 이어질뿐만 아니라, 개별 시프트가 결정될 수 없는 그러한 샘플링 포인트들이 그의 이웃에 기초하여 또한 시프트되도록 보장한다.
시프트 매트릭스의 시프트들이 현재 샘플링 패턴에 적용된 후, 단계(S46)는 최소 임계치를 초과하는 임의의 중요 시프트들이 존재하는지를 체크한다. 중요 시프트들이 존재하지 않고 샘플링 포인트들이 이동되지 않는 경우, 수렴이 가정되고 단계(S47)에서 맞춤 조정이 완료된다. 그렇지 않으면, 단계(S41)에서 시프트가 반복적으로 반복된다. 대안 중단 기준으로서, 최대 반복 수(단 한 번의 반복만을 포함함)들이 세팅될 수 있다.
다시 도 3을 참조하면, 맞춤 조정 단계(S4)가 완료된다. 이제, 단계(S5)에서, 맞춤 조정된 샘플링 패턴이 이미 코드를 커버하는지가 체크된다. 샘플링 패턴의 요구된 크기는 단계(S1)에서 특정되거나, 또는 모듈 크기 또는 파인더 패턴 자체의 포지션 및 거리에 기초한 추정들에 의해 결정된다. 코드가 커버되지 않는 한, 샘플링 패턴은 단계(S6)에서 반복적으로 연장되고, 맞춤 조정은 전체 샘플링 패턴에 대해, 새로 추가된 샘플링 포인트들에 대해, 또는 새로 추가된 샘플링 포인트들 및 특히, 연장 부근으로부터의 일부 구(older) 샘플링 포인트들에 대해, 단계(S4)로부터 반복된다.
도 7은 단계(S6)에 따른 반복들에 따라 패턴이 어떻게 성장하는지를 예시한다. 왼쪽 상단은 파인더 패턴만이 샘플링 패턴에 의해 커버되는 초기 상황을 도시한다. 오른쪽 상단 및 왼쪽 중간에서, 제1 및 제2 반복 후에 행 및 열이 각각 추가된다. 연장은 초기에, 예컨대, 추정된 모듈 크기의 거리에 샘플링 포인트들을 추가함으로써 행해진다. 모듈 크기의 추정은 기존 샘플링 패턴에 기초하여 지속적으로 개선될 수 있다. 예컨대, 이미 맞춤 조정된 이웃 샘플링 포인트들이 갖는 것과 동일한 거리에 또는 대응하는 행 또는 열의 행 또는 열 방향의 평균 값에 따라 새로운 샘플링 포인트가 추가된다. 곡률에 대한 맞춤 조정은 이후에 후속 단계(S4)에 의해서만 이루어진다.
도 7의 오른쪽 가운데에서, 임의로 선택된 단계로서 제7 반복이 도시된다. 하단 상에, 완전한 샘플링 패턴이 도시된다. 이는 도 2에 대응한다.
맞춤 조정된 샘플링 패턴의 샘플링 포인트들의 이미지 데이터를 사용하여, 코드(12)를 디코딩하기 위한 판독 시도들이 단계(S7)에서 이어질 것이다. 성공적인 경우, 목표가 달성된다. 그렇지 않으면, 추가 디코더들이 시도될 수 있다. 여러 파인더 패턴들을 갖는 QR 코드의 경우에, 전체 방법이 다른 파인더 패턴으로 반복될 수 있다. 이러한 종류의 부가적인 시도들은 강한 변형들의 경우에 판독 레이트를 추가로 증가시키는데 특히 유용하다.
다른 2D 코드 유형들은 다른 파인더 패턴들을 사용한다. DataMatrix 코드에서, L-패턴은 한쪽 또는 양쪽 에지들로부터 성장한다. Maxi 또는 Aztec 코드는 시작 포인트로서 사용될 수 있는 중앙 파인더 패턴을 갖는다. 이 예들에서와 같이, 단 하나의 파인더 패턴만이 존재하는 경우, 샘플링 패턴을 형성하기 위한 여러 시도들이 여전히 고려 가능하다. 이를 위해, 파인더 패턴이 아닌 다른 구역, 특히 이전 판독 시도들로부터 또는 코드(12)가 그 구역에서 대부분 평평하기 때문에 코드 모듈들이 이미 신뢰할 수 있게 검출된 구역이 시작 구역으로서 사용된다.
또한, 샘플링 패턴을 맞춤 조정하기 전에 맨 처음에 제1 판독 시도가 이루어질 수 있다는 것이 주의되어야 한다. 특히 프로세싱될 코드(12)가 왜곡되지 않았거나 약간만 왜곡된 경우, 코드(12)가 이미 디코딩될 수 있다는 것이 가능할 수 있다.
삭제

Claims (19)

  1. 광학 코드들(12)을 판독하기 위한 방법으로서,
    상기 광학 코드들(12)은 상기 코드(12)의 고르지 않은 배경에 의해 야기된 왜곡들을 가지며, 상기 방법은 코드 판독 장치(10)에 의해 수행되고, 상기 방법은,
    상기 코드(12)를 포함하는 이미지 데이터를 획득하는 단계,
    상기 이미지 데이터에서 상기 코드(12)를 포함하는 구역을 위치결정(locating)하는 단계,
    상기 이미지 데이터에 기초하여, 왜곡된 코드에 맞게 샘플링 패턴을 국부적으로 조정하는 단계, 및
    상기 구역의 이미지 데이터로부터 상기 코드(12)의 코드 콘텐츠를 판독하는 단계를 포함하고,
    상기 코드(12)는 상기 왜곡들에 대응하는 상기 샘플링 패턴으로 배열된 샘플링 포인트들에서의 이미지 데이터로부터 판독되는,
    광학 코드들(12)을 판독하기 위한 방법.
  2. 제1항에 있어서,
    상기 광학 코드들(12)은 2D 코드들인,
    광학 코드들(12)을 판독하기 위한 방법.
  3. 제1항에 있어서,
    상기 샘플링 패턴은 상기 고르지 않은 배경의 곡률(curvature)을 알지 못한 채 결정되는,
    광학 코드들(12)을 판독하기 위한 방법.
  4. 제1항에 있어서,
    상기 코드(12)의 모듈 크기 및 요구되는 샘플링 패턴의 크기 중 적어도 하나는 파인더 패턴(finder pattern)으로부터 결정되는,
    광학 코드들(12)을 판독하기 위한 방법.
  5. 제1항에 있어서,
    상기 샘플링 패턴은 상기 코드(12)의 모듈 당 하나의 샘플링 포인트를 포함하는,
    광학 코드들(12)을 판독하기 위한 방법.
  6. 제1항에 있어서,
    상기 샘플링 패턴은 상기 샘플링 패턴이 상기 코드(12)를 커버할 때까지 파인더 패턴으로부터 시작하여 반복적으로 성장되는,
    광학 코드들(12)을 판독하기 위한 방법.
  7. 제6항에 있어서,
    상기 샘플링 패턴의 초기 샘플링 포인트들은 상기 파인더 패턴에 대해 정의되는,
    광학 코드들(12)을 판독하기 위한 방법.
  8. 제1항에 있어서,
    상기 샘플링 포인트들은 초기에 평평한 배경에 따라 규칙적인 어레인지먼트로 또한 정의되는,
    광학 코드들(12)을 판독하기 위한 방법.
  9. 제1항에 있어서,
    상기 샘플링 포인트들은 상기 샘플링 포인트들이 표현하는 모듈의 중심을 향해 시프트되는,
    광학 코드들(12)을 판독하기 위한 방법.
  10. 제1항에 있어서,
    상기 코드(12)의 그라디언트(gradient) 이미지 및 매그니튜드(magnitude) 이미지는, 상기 매그니튜드 이미지에 기초하여 개개의 샘플링 포인트가 로컬 극값에 위치되는지를 결정하기 위해 그리고 상기 그라디언트 이미지로부터 상기 로컬 극값으로부터의 임의의 남은 변위의 방향을 결정하기 위해 계산되는,
    광학 코드들(12)을 판독하기 위한 방법.
  11. 제1항에 있어서,
    상기 샘플링 포인트들은 모듈 크기보다 작은 단계들로 시프트되고, 상기 시프트는,
    로컬 극값에 도달하거나,
    상기 시프트가 모듈을 벗어나게 하거나, 또는
    최대 수의 단계들에 도달될 때까지
    수행되는,
    광학 코드들(12)을 판독하기 위한 방법.
  12. 제11항에 있어서,
    로컬 극값이 발견될 수 없는 경우 개개의 샘플링 포인트는 시프트되지 않는,
    광학 코드들(12)을 판독하기 위한 방법.
  13. 제1항에 있어서,
    로컬 극값을 향한 개개의 샘플링 포인트들의 시프트들의 시프트 매트릭스는 평활화되는(smoothed),
    광학 코드들(12)을 판독하기 위한 방법.
  14. 제13항에 있어서,
    상기 시프트 매트릭스는 가우스 필터로 평활화되는,
    광학 코드들(12)을 판독하기 위한 방법.
  15. 제1항에 있어서,
    로컬 극값을 향한 샘플링 포인트들의 시프트들을 갖는 새로운 시프트 매트릭스는, 추가 시프트 매트릭스가 공차 임계치를 넘어 더 이상 시프트들을 야기하지 않을 때까지 또는 반복들의 최대 수가 도달될 때까지, 반복적으로 결정되고 샘플링 패턴에 적용되는,
    광학 코드들(12)을 판독하기 위한 방법.
  16. 제1항에 있어서,
    상기 샘플링 패턴은, 상기 샘플링 패턴이 상기 코드(12)를 커버하고 미리 결정된 크기에 도달할 때까지, 부가적인 샘플링 포인트들로 적어도 하나의 에지에서 반복적으로 성장되는,
    광학 코드들(12)을 판독하기 위한 방법.
  17. 제1항에 있어서,
    다른 파인더 패턴으로부터 시작하여 추가 샘플링 패턴이 결정되는,
    광학 코드들(12)을 판독하기 위한 방법.
  18. 광학 코드들(12)을 판독하기 위한 코드 판독 장치(10)로서,
    상기 광학 코드들(12)은 상기 코드(12)의 고르지 않은 배경에 의해 야기된 왜곡들을 가지며,
    상기 코드 판독 장치(10)는 코드(12)를 포함하는 이미지 데이터를 획득하기 위한 이미지 센서(14), 및 제어 및 평가 유닛(16)을 포함하고,
    상기 제어 및 평가 유닛은,
    상기 이미지 데이터에서 상기 코드를 포함하는 구역을 위치결정하고,
    상기 이미지 데이터에 기초하여, 왜곡된 코드에 맞게 샘플링 패턴을 국부적으로 조정하고, 그리고
    상기 왜곡들에 대응하는 상기 샘플링 패턴으로 배열된 샘플링 포인트들에서 상기 구역의 이미지 데이터로부터 상기 코드(12)의 코드 콘텐츠를 판독하도록 구성되는,
    광학 코드들(12)을 판독하기 위한 코드 판독 장치(10).
  19. 제18항에 있어서,
    상기 광학 코드(12)는 2D 코드들인,
    광학 코드들(12)을 판독하기 위한 코드 판독 장치(10).
KR1020210010456A 2020-01-27 2021-01-25 광학 코드들의 판독 KR102576619B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20153885.7A EP3855342B1 (de) 2020-01-27 2020-01-27 Lesen von optischen codes
EP20153885.7 2020-01-27

Publications (2)

Publication Number Publication Date
KR20210096012A KR20210096012A (ko) 2021-08-04
KR102576619B1 true KR102576619B1 (ko) 2023-09-07

Family

ID=69326432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210010456A KR102576619B1 (ko) 2020-01-27 2021-01-25 광학 코드들의 판독

Country Status (6)

Country Link
US (1) US11250228B2 (ko)
EP (1) EP3855342B1 (ko)
JP (1) JP7191995B2 (ko)
KR (1) KR102576619B1 (ko)
CN (1) CN113177423A (ko)
DK (1) DK3855342T3 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009295113A (ja) * 2008-06-09 2009-12-17 Olympus Corp バーコード読み取り装置及びその読み取りデータ処理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9507098D0 (en) * 1995-04-06 1995-05-31 Rolls Royce Plc Process and apparatus for reading a dot matrix code marking of an article
JP3458737B2 (ja) * 1998-11-27 2003-10-20 株式会社デンソー 2次元コードの読取方法及び記録媒体
JP3811686B2 (ja) * 2003-06-02 2006-08-23 株式会社日立インフォメーションテクノロジー 二次元コード読取装置
US6814291B1 (en) * 2003-12-15 2004-11-09 Pitney Bowes Inc. Robust barcode reader
US7878402B2 (en) 2005-12-20 2011-02-01 Cognex Technology And Investment Corporation Decoding distorted symbols
JP2007206738A (ja) * 2006-01-30 2007-08-16 Kyocera Corp 撮像装置およびその方法
JP5132900B2 (ja) 2006-06-28 2013-01-30 株式会社キーエンス レーザ加工条件設定装置、レーザ加工装置、レーザ加工条件設定方法、レーザ加工条件設定プログラム
JP4951735B2 (ja) * 2007-11-26 2012-06-13 株式会社デンソーウェーブ 光学情報読取装置
FR2979160B1 (fr) * 2011-08-16 2013-09-06 Mobilead Dispositif de preparation de code a lecture optique
EP2843616A1 (de) 2013-08-29 2015-03-04 Sick Ag Optoelektronische Vorrichtung und Verfahren zur Aufnahme entzerrter Bilder
CN105069394B (zh) * 2015-07-23 2017-10-10 福建联迪商用设备有限公司 二维码加权平均灰度法解码方法及系统
US10249030B2 (en) * 2015-10-30 2019-04-02 Hand Held Products, Inc. Image transformation for indicia reading
DK3428835T3 (da) * 2017-07-13 2019-07-01 Sick Ag Method for reading an optical code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009295113A (ja) * 2008-06-09 2009-12-17 Olympus Corp バーコード読み取り装置及びその読み取りデータ処理方法

Also Published As

Publication number Publication date
EP3855342B1 (de) 2021-12-15
US11250228B2 (en) 2022-02-15
DK3855342T3 (da) 2022-02-07
JP2021118005A (ja) 2021-08-10
KR20210096012A (ko) 2021-08-04
CN113177423A (zh) 2021-07-27
JP7191995B2 (ja) 2022-12-19
EP3855342A1 (de) 2021-07-28
US20210232786A1 (en) 2021-07-29

Similar Documents

Publication Publication Date Title
US10438036B1 (en) System and method for reading and decoding ID codes on a curved, sloped and/or annular object
US11258997B2 (en) Camera-assisted arbitrary surface characterization and slope-based correction
US6097839A (en) Method and apparatus for automatic discriminating and locating patterns such as finder patterns, or portions thereof, in machine-readable symbols
US5742041A (en) Method and apparatus for locating and decoding machine-readable symbols, including data matrix symbols
US7412089B2 (en) Efficient finder patterns and methods for application to 2D machine vision problems
EP2921997B1 (en) Two-dimensional code
US8867857B2 (en) Method for restoration of blurred barcode images
US7181066B1 (en) Method for locating bar codes and symbols in an image
US6758399B1 (en) Distortion correction method in optical code reading
US6111984A (en) Method for matching input image with reference image, apparatus for the same, and storage medium storing program for implementing the method
WO1995034043A1 (en) Method and apparatus for decoding two-dimensional symbols in the spatial domain
EP3462372B1 (en) System and method for detecting optical codes with damaged or incomplete finder patterns
US20140285690A1 (en) Image acquisition method
BRPI1100823B1 (pt) Sistema e método automático para rastreamento e decodificação de código de barras por meio de dispositivos portáteis equipados com câmeras digitais
JP2019192248A (ja) 物体の連続的な画像をつなぎ合わせるためのシステムおよび方法
US20070230784A1 (en) Character string recognition method and device
US11188727B1 (en) Efficient parallel barcode subpixel alignment
US9946947B2 (en) System and method for finding saddle point-like structures in an image and determining information from the same
CN112446225B (zh) 光学代码的模块尺寸的确定
WO1998025226A1 (en) Method and apparatus for decoding unresolved profiles produced from relief formed symbols
KR102576619B1 (ko) 광학 코드들의 판독
CN110502948B (zh) 折叠二维码图像的还原方法、还原装置与扫码设备
KR101397905B1 (ko) 매체이미지 검출장치 및 방법, 그리고 그를 이용한매체취급시스템
US6814291B1 (en) Robust barcode reader
JP2017102841A (ja) 二次元コード、二次元コードの解析方法、二次元コードの解析装置及び二次元コードを解析するプログラム

Legal Events

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