KR20020029688A - 바코드 워터마킹 방법 - Google Patents

바코드 워터마킹 방법 Download PDF

Info

Publication number
KR20020029688A
KR20020029688A KR1020000060290A KR20000060290A KR20020029688A KR 20020029688 A KR20020029688 A KR 20020029688A KR 1020000060290 A KR1020000060290 A KR 1020000060290A KR 20000060290 A KR20000060290 A KR 20000060290A KR 20020029688 A KR20020029688 A KR 20020029688A
Authority
KR
South Korea
Prior art keywords
barcode
watermark
watermarking
bar
image
Prior art date
Application number
KR1020000060290A
Other languages
English (en)
Other versions
KR100396327B1 (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 이충훈
Priority to KR10-2000-0060290A priority Critical patent/KR100396327B1/ko
Publication of KR20020029688A publication Critical patent/KR20020029688A/ko
Application granted granted Critical
Publication of KR100396327B1 publication Critical patent/KR100396327B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • G06K1/121Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by printing code marks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06018Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
    • G06K19/06028Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 바코드의 인증을 위한 워터마킹 기법을 제공한다.
현재 유통되는 모든 제품들에는 바코드가 부착되어 있으므로, 제품의 정품여부를 판별하고자 한다면, 바코드를 이용한 방법이 효과가 있을 것이다. 본 발명에서는 바코드에 제조사의 고유한 워터마크(watermark) 신호를 삽입하여, 바코드가 제품의 제조사에서 생성한 바코드인지를 판별할 수 있도록 하였다. 바코드는 일반적인 영상과 다른 많은 특징을 가지고 있으므로, 기존의 영상 워터마킹 기법을 그대로 적용하는 것보다는 바코드 자체의 특성을 이용한 워터마킹 기법을 이용하는 것이 바람직하므로 본 발명은 이러한 바코드에 적합한 워터마킹 방법을 제공하고 있다.
본 발명에서는 바코드의 특징을 이용하여 워터마크를 삽입하는 기법을 제안하였으며, 워터마크의 삽입으로 인하여 바코드 본래의 기능이 저해되지 않도록 하였다.

Description

바코드 워터마킹 방법{A watermarking method for bar code}
바 코드(bar code)는 컴퓨터 시스템에 데이터를 입력하기 위한 목적으로 폭이 다른 여러 개의 막대(bar)나 선들을 인쇄해 놓은 것을 말하는 것으로서, 막대(bar)는 보통 흰색 바탕에 검은색으로 나타내며, 막대들의 폭과 수는 경우에 따라 각각 다르다. 막대들은 2진수 0과 1을 나타내며 막대들의 배열은 0에서 9까지의 10진수를 나타내는데, 이러한 조합을 이용함으로써 디지털 컴퓨터로 처리할 수 있다. 막대들의 배열에서 특정 위치에 특정 폭을 가진 막대의 존재 유무를 컴퓨터가 판독하여 0 또는 1로 해석한다.
바 코드 정보는 컴퓨터 시스템의 일부인 광학적(레이저) 스캐너를 사용해 읽는다. 손바닥 크기의 스캐너 또는 바코드 펜을 바코드 위로 지나가게 하거나, 바코드 자체를 계산대나 다른 표면에 설치된 스캐너 위로 지나가게 한다. 그러면 컴퓨터가 바코드의 데이터를 저장하거나 즉시 처리한다.
바코드 표시법은 1970년대부터 도입되었는데, 지금은 일상적인 상거래에 보편적으로 쓰이고 있다. 상점에서는 소비자가 구입한 상품을 계산할 때 그 상품의 가격 및 그 밖의 자료를 얻기 위해 바코드를 사용한다. 바코드의 가장 큰 장점은 바코드를 스캐너로 읽는 순간, 단순히 정보를 저장했다가 나중에 처리하는 데 그치는 것이 아니라, 그 즉시 사용자가 세세한 정보를 처리할 수 있다는 점이다. 오늘날에는 생산, 분배, 저장, 판매 및 서비스 등의 모든 영역에서 아주 광범위한 제품들을 추적하는 데 바코드가 사용되고 있다. 그러한 제품들에는 가공식품, 의류, 의약품, 의료 제품, 자동차 부품, 컴퓨터 부품, 그리고 심지어는 도서관의 책까지도 포함된다.
그러나, 이러한 바코드는 복제가 용이하여 모조품 또는 유사품 등을 제조하여 판매하는 사례가 급증하고 있다. 특히, 제품의 제조회사의 입장에서는 유사품 또는 모조품이 반품되거나 반송되어 돌아왔을 때, 반품된 상품이 자신들이 판매한 상품인지 여부를 판단하기 어렵기 때문에 모조품 반품으로 인한 산업상의 피해가 발생되고 있다. 즉, 제조회사가 자사 상품을 지역 총판을 통하여 대리점으로 판매를 하게 되면, 대리점은 물품들을 판매한 후 남은 물품을 반품하게 되는데, 이 때 저가 유통매장에서 유통되는 B품을 저렴한 값에 구매하여, 지역 총판에서 구입했던 가격으로 반품을 하게 되는 형태로 불법적인 거래가 이루어지고 있다. 실제로 규모가 큰 유통업자들은 이러한 거래형태로 인하여 막대한 재산 손실을 입고 있는 것으로 알려져 있다.
본 발명은 상기에서 언급한 산업상의 피해를 막기 위하여, 제조회사나 지역총판에서 제품 출하시 제품에 부착하는 바코드에 제품의 제조회사 정보, 제품의 상세정보, 위조여부의 식별가능 정보 등을 삽입하여 바코드를 쉽게 위조할 수 없도록 함으로써, 반품되는 제품의 진품여부를 증명할 수 있을 뿐만 아니라, 나아가 모조품의 제작 방지에 이용될 수 있도록 하는 발명을 제공하고자 한다.
이를 위하여 본 발명에서는 최근 데이터의 불법복제 문제나 저작권 문제 등을 해결하기 위하여 각광받고 있는 디지털 워터마킹(Digital Watermarking) 기술을 바 코드에 적용하고자 하는 것이다.
워터마크(watermark)란, 우리가 사용하는 지폐에 은닉된 그림을 생각하면 쉽게 이해할 수가 있다. 지폐를 불빛에 비춰보면 은닉된 그림의 형상이 나타나는데 이를 워터마크라 하며, 워터마킹(watermarking)은 위조지폐를 방지하기 위해 지폐 제작과정 중 젖어 있는 상태에서 그림(마크)을 넣는 기술을 말한다.
디지털 워터마킹(digital watermarking)은 텍스트, 그래픽, 비디오, 오디오 등 멀티미디어 저작물의 불법 복제를 막고 저작권자를 보호하기 위한 디지털 콘텐츠 저작권 보호기술로서, 그래픽, 비디오, 오디오 등 모든 디지털 콘텐츠에 저작권 보호를 위해 이와 같은 특수처리를 하는 기술이다. 여기에는 저작권자의 고유서명이나 저작권자임을 입증할 수 있는 정보 또는 저작권자의 고유마크(fingerprint)가 삽입돼 있다. 디지털 워터마킹은 인터넷을 통해 유통되는 각종 콘텐츠의 불법 복제 및 배포, 위조 등 상업적 도용을 근절시키기 위한 것으로서, 나중에 저작권 분쟁이 발생하거나 시비가 있을 경우 콘텐츠에 있는 워터마크를 추출함으로써 저작권 문제를 해결할 수 있다.
현재 워터마킹 기술을 사용화하고 있는 대표적인 회사는 외국의 디지마크(Digimarc)사(社)나 시그넘 테크놀로지(Signum Tech.)사(社), 베런스 테크놀로지(Verance Tech.)사(社)등이 있으며, 이들 회사에서 개발한 워터마킹 기술은 대부분 의사랜덤코드를 삽입하고 그 상관관계를 추출하는 방식으로 이루어져 있다.
또한 현재 연구되고 있는 대부분의 워터마킹 기술들 역시 그 방식에 있어서는 디지털 컨텐츠(contents)에 대해 공간영역이나 주파수 영역에서 워터마크를 삽입하는 방식이 대부분이다.
그러나, 최근 들어 디지털 워터마킹에 대한 많은 연구가 진행되고, 그에 따라 워터마킹 기술에 관한 특허도 다수 출원되고 있음에도 불구하고, 바코드를 대상으로 한 복제방지나 위조방지를 위한 기술은 전무한 상태이다.
따라서, 본 발명에서는 이러한 워터마킹의 개념을 개개의 제품에 채용되고 있는 바 코드에 효과적으로 적용할 수 있는 방법을 제공하고자 하는 것이다.
즉, 본 발명은 워터마킹 기술의 한 응용으로서, 바코드에 제품의 제조사 정보나 제품 정보 등을 삽입하여 바코드를 쉽게 위조 또는 변조할 수 없도록 함으로써, 제품의 진품임을 증명하고 모조품 제작방지에 이용될 수 있는 바코드 워터마킹 기술을 제공하는 것을 그 목적으로 한다.
또한, 본 발명은 바코드의 복제를 방지하기 위한 효과적인 워터마킹 방법을 제공하는 것을 목적으로 한다.
더 나아가 본 발명은 현재까지 알려지고 있는 디지털 워터마킹 방식(즉, 공간영역이나 주파수 영역에서 워터마크를 삽입하는 방식)을 바코드의 워터마킹에 적용할 수 있는 효과적인 방법을 제공하는 것을 본 발명의 또 다른 목적으로 한다.
도1 바코드의 원리를 도시한 개념도
도2 본 발명의 바코드 워터마킹 시스템의 전체 흐름도
도3 컴퓨터로 생성된 바코드와 인쇄 및 스캐닝 후의 변화
도4 본 발명의 제1실시예의 원리를 도시한 바코드 워터마킹 개념도
도5 본 발명의 제1실시예를 나타내는 바코드 막대의 길이관계를 이용한 바코드 워터마킹의 적용예
도6 본 발명의 제2실시예를 나타내는 바코드 막대의 높이를 이용한 바코드 워터마킹의 적용예
도7 본 발명의 제3실시예를 나타내는 바코드 막대의 모양을 이용한 워터마킹의 적용예 (1비트 코딩)
도8 본 발명의 제3실시예를 나타내는 바코드 막대의 모양을 이용한 워터마킹의 적용예 (2비트 코딩)
도9 본 발명에 의한 바코드 워터마킹 기술을 프로그램을 통하여 구현하는 설명도
본 발명에서의 바코드 워터마킹에 대하여 설명하기 전에, 바코드의 특성을 먼저 살펴볼 필요가 있다.
바코드는 여러 가지 측면에 있어서 일반 영상과 차이점을 보인다. 먼저, 일반적인 영상은 사람의 눈에 의해 인지되는 시각적인 정보를 가지는 반면, 바코드는 기계적인 정보를 가지는 영상이라고 할 수 있다. 즉, 사람의 눈에 인식되기보다는 특별한 정보를 포함하여, 바코드 인식기에 의하여 인식되는 정보를 가진다. 또 하나의 차이점은 바코드는 이진 영상에 해당하고, 일반적인 영상은 그렇지 않다는 것이다. 바코드는 검은 막대와 흰 막대가 반복적으로 나타나는 규칙적인 2진 영상에 해당하나, 일반영상은 보통 여러 가지 색이나 밝기로 표현된다는 것이다. 그리고, 일반영상과 달리 바코드는 제품을 식별하기 위한 특수한 목적으로 사용되기 때문에 대부분의 경우 아날로그 형태로 존재한다는 특징이 있다. 일반 영상의 경우는 최근 디지털 미디어의 장점이 부각되면서 디지털 데이터로 표현되고 디지털 데이터 처리를 하는 경우가 많지만, 바코드는 항상 아날로그 형태로 상품에 부착되어 유통된다는 특징이 있다. 바코드의 이러한 여러 가지 특징 때문에 디지털 영상을 위한 워터마킹 기법을 바코드에 그대로 적용하는 것보다는 바코드의 특성을 이용할 수 있고, 바코드의 기능을 상실시키지 않는 새로운 바코드 워터마킹 기술을 개발하는 것이 바람직하다.
본 발명에서는 이러한 사항들을 고려하여 바코드 특성을 이용한 디지털 워터마킹을 제안한다.
본 발명에서의 바코드 워터마킹 시스템은 도2와 같은 형태로 이루어진다. 1단계로 바코드 생성단계에서 또는 생성된 바코드를 이용하여 워터마크를 삽입하게 된다. 이때 제조회사 특유의 키를 이용하고, 삽입되는 워터마크 신호는, 제품의 출고일이나, 제조번호 등 다양한 정보가 이용될 수 있다. 이 때 삽입되는 워터마크 정보는 키를 이용하여 암호화되어 삽입된다. 워터마크가 삽입된 바코드는 제품에 부착되어 유통되고, 추후 진품여부를 판별할 필요가 있을 때 스캐너로 바코드를 읽어들여 삽입된 워터마크 신호를 추출하게 된다.
앞서 살펴본 바코드는 일반 영상과 차별되는 여러 가지 특성을 가지고 있고, 이러한 특성을 비추어 보았을 때 바코드 워터마킹 기술이 만족해야할 사항은 다음과 같다.
첫째로, 워터마크의 삽입이 바코드의 기능을 저하하여서는 안된다.
둘째로, 디지털→아날로그, 아날로그←디지털 변환에서도 워터마크가 검출되어야 한다.
셋째로, 기하학적 변형에도 항상 검출 가능해야만 한다.
넷째로, 영상의 훼손에도 워터마크가 검출되어야 한다.
바코드는 그 자체로 특수한 기능을 가지는 정보전달 매체이므로, 워터마크의 삽입이 이러한 기능에 절대로 영향을 미쳐서는 안 된다. 즉, 워터마크의 삽입으로인하여, 바코드의 오 인식이 발생하면 안 된다.
또한, 바코드는 항상 제품에 부착되어 아날로그 형태로 표현되므로, 삽입된 워터마크는 디지털/아날로그, 아날로그/디지털 변환에 발생하는 손실에도 검출되어야 한다. 디지털영상을 프린터나 인쇄기를 통하여 출력 하게 되면, 일정 수준의 영상손실이 발생하게 된다. 이는 프린터나 인쇄기의 성능에 따라 차이가 날 수 있지만, 디지털로 표현된 영상을 정확하게 아날로그로 표현하는 것은 불가능하다. 반대의 상황에도 손실이 발생한다. 아날로그로 표현된 영상을 스캐너를 통하여 디지털 영상으로 입력하면, 역시 손실이 발생하게 된다. 따라서 바코드가 컴퓨터에서 생성된 후 다시 스캔될 때 영상정보의 손실을 막을 수는 없고, 이러한 손실에도 워터마크는 추출되어야 한다.
디지털에서 아날로그형태로 표현된다는 것은 그 자체로 기하학적 변형이 발생한다는 것을 의미한다. 즉 출력된 바코드를 다시 스캔했을 때, 디지털 형태로 생성했던 바코드의 크기와 각도 등을 그대로 유지할 수는 없다. 즉, 바코드를 스캔하면 바코드의 크기가 생성했던 크기와 다르게 되고, 디지털 형태로 생성했던 것처럼 정확한 수직을 이루지 않는 등 기하학적 변형을 일으키게 된다. 즉 그림 4도는 이러한 상황을 예시한 그림인데, 좌측 영상은 컴퓨터에서 생성한 바코드를 나타내고, 우측 영상은 프린트 후 다시 스캔되어 컴퓨터에서 읽어 들인 바코드 영상이다.
이와 같이 바코드영상은 항상 기하학적 변형을 생각해야 하므로, 바코드 워터마킹에는 이러한 상황에도 정확히 검출되도록 설계하여야 한다.
이러한 조건들을 충족시킬 수 있는 본 발명에 있어서의 바코드 워터마킹 기법의 바람직한 실시예를 아래에서 상세하게 설명한다.
1. 막대(bar)의 길이를 이용한 워터마킹 방법 (제 1 실시예)
본 발명에서는 바코드에 워터마크를 삽입하는 제 1 실시예로서 막대의 길이를 이용한 워터마킹 기법을 제안한다. 바코드는 도1과 같이 수직으로 긴 막대 형태로 되어, 1차원의 정보를 가진다. 즉, 각 막대의 두께를 이용하여 정보를 전달하는 기능을 가지고 있다. 따라서, 바코드의 두께나 바코드의 명암에 변화가 생기면 바코드 인식에 영향을 미칠 수 있다.
바코드는 막대(bar)의 길이에는 제한을 두지 않고, 바코드 인식기도 1차원적으로 바코드의 중간부분을 읽어들여 인식하므로, 막대의 길이는 바코드의 인식에 영향을 미치지 않는다. 따라서, 바코드의 길이는 워터마크를 삽입하기 위한 좋은 영역이 된다. 본 발명에서 제안하는 바코드 워터마킹 방법의 제 1 실시예는 이와 같은 바코드의 특성을 이용하는 것으로서, 일정한 규칙에 따라 막대의 길이를 조절함으로써 워터마크를 삽입하고, 이를 추출하는 방법이다.
일반적으로 바코드의 구조는 흰 막대와 검은 막대가 반복적으로 나타나는 형태를 따른다. 대체적으로 흰 막대는 바코드의 배경색과 일치하므로, 흰 막대의 길이를 조절하는 것은 불가능하나, 검은색 막대의 길이는 조절 가능하고, 이를 조절함으로써 워터마크를 삽입한다. 본 발명의 제 1 실시예에서 제시하는 방법은 인접한 두 개의 검은 막대의 길이를 조절하여 길이 관계를 이용하여 워터마크를 삽입하는 것이다. 구체적인 실시 예를 들어보면 도4와 같다. 도4에서 바코드의 인접한 두 막대 쌍의 길이를 비교하여 왼쪽 막대가 길면 비트 1을 의미하고 오른쪽 막대가 길면 비트 0을 의미하도록 규칙을 설정하여 워터마크를 삽입할 수 있다. 또는 그 반대의 경우도 가능하다. 예를 들어 110으로 시작하는 정보를 워터마크로 삽입하려면 도5와 같은 형태로 바코드가 변형되게 된다. 물론 그림 6에서는 워터마크의 삽입 효과를 극대화하기 위하여 막대의 길이 차이를 크게 두었으나 실제 시스템 구현 시에는 막대의 길이 차이를 작게 하여 시각적으로 구별하기 힘들도록 한다. 이와 같은 방법을 이용할 경우 1비트의 정보를 삽입하기 위해서는 두 개의 막대가 필요하다. 그러나 이 방법을 약간 변형하면, 한 개의 막대에 1개의 비트를 삽입할 수 있다. 첫 번째 막대나 마지막 막대의 길이를 기준 길이로 하여 가운데 영역에 있는 막대의 길이를 비교하여 기준 막대의 길이보다 길면 비트 1을 의미하고 기준막대의 길이보다 작으면 비트 0을 의미하도록 하면, 1개의 막대에 1개의 비트의 삽입도 가능하다.
2. 막대(bar)의 높이를 이용한 워터마킹 방법 (제 2 실시예)
본 발명에서 제안하는 바코드 워터마킹을 위한 제 2 실시예는, 상기 제 1 실시예의 워터마킹 방법에서 약간 변형된 방법이다. 막대의 길이관계를 비교하는 것이 아닌 막대의 윗부분이나 아랫부분의 높낮이를 이용하여 워터마크를 삽입하는 방법이다. 즉 일정한 기준 높이를 설정하여 두고, 그 높이를 기준으로 하여 각 막대가 기준높이보다 높으면 1(또는 0)을 코딩한 것이 되고, 막대가 기준 높이보다 낮으면 0(또는 1)을 코딩하도록 하는 것이다. 예를 들어 도6은 바코드에 10110... 이라는 워터마크 정보를 삽입한 예이다. 이 때 기준 높이는 바코드의 첫 번째 막대와 마지막 막대의 높이로 하고, 첫 번째 막대와 마지막 막대를 제외한 나머지 막대들의 높이를 이용하여 워터마크를 삽입한다. 두 번째 막대의 높이는 기준높이보다 높으므로 1을 의미하고, 세 번째 막대의 높이는 기준높이보다 낮으므로 0을 의미한다. 같은 방법으로 4,5,6번째 막대의 높이는 각각 110을 의미한다. 그림의 예에서는 이해의 편의를 높이도록 막대의 높낮이의 차이를 크게 두었지만, 실제 시스템 구현 시는 막대의 높이 차이를 적게 하여 눈에 잘 띄지 않도록 조절한다. 이 방법은 첫 번째 막대와 마지막 막대를 제외한 나머지 모든 막대에 1개의 비트 정보가 삽입된다.
3. 막대의 모양을 이용한 워터마킹 방법 (제 3 실시예)
바코드의 인식성에 영향을 미치지 않으며 워터마크를 삽입할 수 있는 또 하나의 방법(제 3 실시예)으로는 막대의 끝부분의 모양을 워터마크 정보에 따라 특별한 모양을 가지도록 하는 것이다. 대부분의 사람들이 바코드 인식기를 이용하여 바코드를 인식할 때에는 바코드의 중간부분을 이용하므로 막대의 끝부분의 모양은 바코드의 인식에 큰 영향을 미치지 않는다. 도7은 막대의 끝부분을 볼록하거나 오목하게 함으로써 워터마크를 삽입하는 방법을 나타낸다. 그림 8에서처럼 막대의 끝부분이 볼록하게 표현될 경우 1이라는 정보를 가지게되고, 끝 부분이 오목하게 표현될 경우 0이란 정보를 가지도록 표현을 하면, 워터마크의 삽입 추출이 가능하게된다. 물론 여기에서는 하나의 예를 보여주기 위하여 끝 부분을 오목하고 볼록한 모양으로 표현하였으나, 다른 형태의 표현도 가능하다. 이 방법을 이용할 경우 막대의 끝 부분을 여러 가지 형태로 정의함으로써, 한 개의 막대에 1비트 이상의 정보 표현이 가능하다. 예를 들어, 도8에서와 같이 끝 부분을 오목한 타원과, 볼록한 타원, 오목한 삼각형, 볼록한 삼각형 등으로 표현한다면, 한 개의 막대에 2비트 표현이 가능해 지는 것이다. 그림에서는 이해를 돕기 위하여 모양을 눈에 띄게 하였으나, 실제 시스템의 구현에는 눈에 뜨이지 않을 정도로 조정한다.
4. 변환영역에서의 바코드 워터마킹 방법 (제 4 실시예)
상기 제 1 실시예 내지 제 3 실시예에서의 바코드 워터마킹 방법의 경우 바코드의 특성을 이용한 워터마킹 기법을 제안하고 있으나, 아래에서 설명할 본 발명의 제 4 실시예에서는 영상 워터마킹에서 사용되는 일반적인 방법을 바코드 영상에 적용하는 방법을 제안한다. 영상 워터마킹의 경우 크게 변환영역에서 워터마크를 삽입하는 방법과 공간영역에서 워터마크를 삽입하는 방법으로 나뉜다. 아래에서는 변환영역에서의 워터마킹 기법을 바코드 영상에 적용하는 방법을 본 발명의 제 4 실시예로서 설명하고자 한다.
변환영역(DCT(Discrete Cosine Transform), Wavelet 변환, Discrete FourierTransform(DFT))이라 함은, 영상을 이산 코사인 변환(DCT)이나 웨이블릿 변환, 이산 푸리에 변환 등의 영상 변환 알고리즘을 이용하여 영상을 변환한 영역을 나타낸다. 즉 변환영역에서의 워터마킹이라 함은, 영상을 이러한 변환알고리즘을 이용하여 변환한 후 변환영역에서 워터마크를 삽입하는 방법을 말한다.
앞서 설명했듯이 바코드 영상은 대부분 아날로그 형태로 유통되므로, 바코드 영상을 생성한 후 다시 읽어들이면, 원래의 바코드와 위치나 각도, 크기 등에서 차이가 나게된다. 삽입된 워터마크를 정확히 추출하려면 이러한 형태의 변화를 고려하여야 한다. 그러기 위해서는 워터마크 삽입 추출 시 바코드 영상을 재정의 할 필요가 있다. 바코드 영상의 출력과 스캐닝을 거칠 때 발생하는 크기의 변화(resampling)를 대비하기 위하여, 본 발명에서는 바코드의 절대 크기를 사전에 정하여, 워터마크를 삽입하는 시점과 추출하는 시점에 바코드의 크기가 일치하도록 한다. 바코드는 도1에서와 같이 1개의 비트를 한 개의 최소단위 굵기의 막대로 표현한다. 따라서 1비트를 표현하는 막대의 굵기를 한 화소의 한 변의 길이로 책정하거나 또는 막대의 굵기와 화소의 개수를 일정비율이 되도록 바코드 영상을 재구성하고, 그 영상에 워터마크를 삽입하면, 출력과 스캔 후에 발생하는 크기의 변화에 대비하여 올바르게 워터마크를 추출할 수 있게 된다.
아래에서는 본 발명의 제 4 실시예로서의 변환영역에서의 바코드 워터마크 삽입 과정을 상세하게 설명하고 있다.
1) 1비트를 표현하는 막대의 굵기를 1개 또는 일정 개수의 화소에 해당하도록 바코드 영상의 크기를 조절한다.
2) 크기가 조절된 바코드 영상을 이산 코사인 변환이나 웨이블릿 변환, 이산 푸리에변환 등을 이용하여 변환한다. (이 때, 바코드 영상은 검은 막대의 밝기 값이 0, 흰 막대의 밝기값이 255인 Gray scale 영상이라고 간주한다.)
3) 변환된 영역에서 DC 계수를 제외한 n개의 임의의 변환계수를 선택하고, 다음의 수식과 같이 선택된 변환계수를 워터마크 신호를 선택된 변환계수에 더한다.
X' ← X + α×W
위의 식에서 X는 워터마크가 삽입되기 이전의 변환 계수를 나타내고, X'은 워터마크가 삽입된 이후의 변환계수를 나타낸다. α는 워터마크 삽입강도를 나타내고, W는 워터마크 신호를 나타낸다. 워터마크 신호는 -1과 1 두 값 중 한 값을 가지는 이진 난수열이나, 평균이 0인 실수 난수열, 또는 삽입하고자 하는 여러 가지 정보를 나타내는 값이 될 수 있다.
4) 변환영역의 바코드 영상을 역변환하여 공간영역의 바코드를 생성해 낸다.
상기 본 발명의 제 4 실시예로서의 변환영역에서의 바코드 워터마크 삽입 과정을 이용하여 삽입된 워터마크를 추출하는 방법을 상세하게 설명하면 다음과 단계로 이루어진다.
1) 스캔된 바코드 영상의 좌 우측 상단의 끝 점을 찾아내고, 두 점이 수평을 이루도록 바코드 영상의 각도를 조절한다. (영상의 회전에 대한 대비)
2) 스캔된 바코드 영상을 1비트를 표현하는 막대의 굵기가 1개 또는 일정 개수의 화소에 해당하도록 영상의 크기를 조절한다. 이때 막대의 굵기에 해당하는 화소의 개수는 워터마크 삽입 시와 같아야 한다.
3) 크기가 조절된 바코드 영상을 이산 코사인 변환 웨이블릿 변환, 이산 푸리에변환 등을 이용하여 변환한다.
4) 변환된 영역에서 워터마크 신호를 추출한다. 추출 시, 원 영상이 필요하게 되는데, 원 영상은 바코드를 인식하여 생성해 낼 수 있다.
5. 공간영역에서의 바코드 워터마킹 방법 (제 5 실시예)
공간영역(Spatial Domain)에서의 바코드 워터마킹은 변환영역에서의 방법과 거의 일치하나, 변환영역이 아닌 공간영역에서 워터마크를 삽입한다는 차이가 있다. 공간영역에서의 워터마킹 방법 역시 출력과 스캐닝후에 발생하는 기하학적인 변형에 대비하기 위하여 변환영역에서의 워터마킹 방법과 동일한 방법을 이용한다.
아래에서는 본 발명의 제 5 실시예로서의 공간영역에서의 바코드 워터마크 삽입 과정을 상세하게 설명하고 있다.
1) 1비트를 표현하는 막대의 굵기를 1개 또는 일정 개수의 화소에 해당하도록 바코드 영상의 크기를 조절한다.
2) 크기가 조절된 바코드 영상(이때, 바코드 영상은 검은 막대의 밝기값이 0보다 크고, 흰 막대의 밝기값이 255보다 작은 Gray scale 영상이라고 간주한다. 이는 워터마크 삽입에 따른 밝기 값의 증가와 감소로 인한 영상의 밝기가 [0, 255] 사이에 존재하도록 하기 위함이다.)에서 n개의 화소를 임의로 선택하고 다음과 같은 식으로 워터마크를 삽입한다.
X' ← X + α×W
위의 식에서 X는 워터마크가 삽입되기 이전의 선택된 화소값을 나타내고, X'은 워터마크가 삽입된 이후의 화소값을 나타낸다. α는 워터마크 삽입강도를 나타내고, W는 워터마크 신호를 나타낸다. 워터마크 신호는 이진 난수열이나 이진 정보로써, 0이 -1로 표현되고 1은 1로 표현되어 삽입된다.
상기 본 발명의 제 5 실시예로서의 공간영역에서의 바코드 워터마크 삽입 과정을 이용하여 삽입된 워터마크를 추출하는 방법을 상세하게 설명하면 다음과 단계로 이루어진다.
1) 스캔된 바코드 영상의 좌 우측 상단의 끝점을 찾아내고, 두 점이 수평을 이루도록 바코드 영상의 각도를 조절한다. (영상의 회전에 대한 대비)
2) 스캔된 바코드 영상을 1비트를 표현하는 막대의 굵기가 워터마크 삽입때와 같은 개수의 화소로 표현되도록 영상의 크기를 조절한다.
3) 바코드 영상에서 워터마크 신호를 추출한다. 추출 시 원영상이 필요하게되는데, 원 영상은 바코드를 인식하여 생성해 낼 수 있다.
상기 제 1 실시예 내지 제 5 실시예에서 제안된 바코드 워터마킹 기법을 프로그램을 이용하여 구현할 수 있는 바, 바코드 워터마킹 프로그램의 구현 예가 도10에 나타나 있다. 이 프로그램은 바코드에 워터마크를 삽입하고, 스캔된 바코드에서 워터마크를 추출하는 기능을 가지고 있는데, 바코드에 워터마크를 삽입한 후 프린트하여, 다시 스캔하여 워터마크를 검출하였을 때 올바른 검출 결과를 보여주고 있다. 또한 바코드의 두께는 변형시키지 않으므로 바코드의 인식에도 문제가 없다.
이와 같이 본 발명에 의한 바코드 워터마킹 기술을 제품의 바코드에 적용하는 경우, 구매자는 제품의 구입시 제품에 첨부되어 있는 바코드로부터 워터마크를 추출하여 진품 여부를 판별할 수 있고, 제조사의 입장에서는 판매된 제품이 반품되거나 반송되어 돌아왔을 때, 바코드에 자신들이 삽입한 워터마크 신호가 존재하는 지를 확인함으로써, 반품된 상품이 자신들이 판매한 상품인지 여부를 판단할 수 있는 효과가 있다.
또한, 본 발명은 워터마킹 기술을 바코드에 적용하는 데 있어서, 보다 효과적이고 신뢰성 높은 워터마킹을 바코드에 적용할 수 있어 산업상의 이용성을 극대화할 수 있다.
아울러, 본 발명은 기존에 알려져 있는 워터마킹 기법을 바코드에 적용하는 데 있어서, 보다 용이하고 간편하게 적용할 수 있는 효과를 얻을 수 있다.

Claims (8)

  1. 텍스트, 그래픽, 비디오, 오디오 등 디지털 멀티미디어 저작물의 불법 복제 및 배포, 위조 등 상업적 도용을 방지하기 위하여 상기 저작물의 저작권자 또는 제작자의 고유서명이나 저작권자임을 입증할 수 있는 특정 정보 또는 저작권자의 고유마크를 의미하는 워터마크를 삽입하는 워터마킹(watermarkimg) 기술의 적용에 있어서,
    제품의 제조회사 정보, 제품 정보 등을 포함하는 바 코드(bar code)의 형상의 변화를 워터마크로 이용함으로써, 상기 바코드에 상기 워터마크를 삽입하고, 이를 추출하는 것을 특징으로 하는 바코드의 워터마킹 방법.
  2. 제 1 항에 있어서, 상기 워터마킹 방법은 상기 바코드의 인접한 두 막대 쌍의 길이를 상대적으로 다르게 적용하고 상호간의 상대적인 길이의 차이값을 워터마크로 이용하는 것을 특징으로 하는 바코드의 워터마킹 방법.
  3. 제 1 항에 있어서, 상기 워터마킹 방법은 상기 바코드의 특정한 기준 높이를 설정하고, 상기 기준 높이에 대한 각 막대의 장단(長短)에 의한 차이값을 워터마크로 이용하는 것을 특징으로 하는 바코드의 워터마킹 방법.
  4. 제 1 항에 있어서, 상기 워터마킹 방법은 상기 바코드의 막대의 끝단의 형상을 V형상, 둥근 모서리 형상 등으로 특정화하고, 상기 형상의 차이값을 워터마크로 이용하는 것을 특징으로 하는 바코드의 워터마킹 방법.
  5. 텍스트, 그래픽, 비디오, 오디오 등 디지털 멀티미디어 저작물의 불법 복제 및 배포, 위조 등 상업적 도용을 방지하기 위하여 상기 저작물의 저작권자 또는 제작자의 고유서명이나 저작권자임을 입증할 수 있는 특정 정보 또는 저작권자의 고유마크를 의미하는 워터마크를 삽입하는 변환영역에서의 워터마킹(watermarkimg) 기술을 바코드의 워터마킹에 적용하는 방법에 있어서,
    1비트를 표현하는 상기 바코드 막대의 굵기를 1개 또는 일정 개수의 화소에 해당하도록 바코드 영상의 크기를 조절하는 조절단계,
    상기 조절단계를 거친 크기가 조절된 바코드 영상을 이산 코사인 변환이나 웨이블릿 변환, 이산 푸리에변환 등을 이용하여 변환하는 변환단계,
    상기 변환된 영역에서 DC 계수를 제외한 n개의 임의의 변환계수를 선택하고, 상기 선택된 변환계수에 워터마크 신호를 합하여 워터마크가 삽입된 이후의 변환계수를 결정하는 단계 및
    상기 단계를 거친 변환영역의 바코드 영상을 역변환하여 공간영역의 바코드를 생성해 내는 단계
    로 이루어지는 것을 특징으로 하는 바코드의 워터마킹 방법.
  6. 텍스트, 그래픽, 비디오, 오디오 등 디지털 멀티미디어 저작물의 불법 복제 및 배포, 위조 등 상업적 도용을 방지하기 위하여 상기 저작물의 저작권자 또는 제작자의 고유서명이나 저작권자임을 입증할 수 있는 특정 정보 또는 저작권자의 고유마크를 의미하는 워터마크를 삽입하는 공간영역에서의 워터마킹(watermarkimg) 기술을 바코드의 워터마킹에 적용하는 방법에 있어서,
    1비트를 표현하는 상기 바코드 막대의 굵기를 1개 또는 일정 개수의 화소에 해당하도록 바코드 영상의 크기를 조절하는 조절단계,
    상기 조절단계를 거친 바코드 영상으로부터 n개의 화소를 임의로 선택하는 단계,
    상기 선택된 화소값와 워터마크 신호값을 이용하여 워터마크가 삽입된 이후의 화소값을 결정하는 단계,
    로 이루어지는 것을 특징으로 하는 바코드의 워터마킹 방법.
  7. 제 5 항에 있어서,
    상기 바코드로부터 상기 워터마크를 추출하는 방법은
    상기 바코드의 회전을 조절하기 위하여 스캔된 상기 바코드 영상의 좌 우측상단의 끝 점을 찾아내고, 상기 두 끝점이 수평을 이루도록 바코드 영상의 각도를 조절하는 단계,
    상기 스캔된 바코드 영상을 1비트를 표현하는 상기 바코드의 막대의 굵기가 1개 또는 일정 개수의 화소에 해당하도록 영상의 크기를 조절하는 단계,
    상기 크기가 조절된 바코드 영상을 이산 코사인 변환 웨이블릿 변환, 이산 푸리에변환 등을 이용하여 변환하는 단계, 및
    상기 변환된 영역으로부터 워터마크 신호를 추출하는 단계
    로 이루어지는 것을 특징으로 하는 바코드의 워터마킹 방법.
  8. 제 6 항에 있어서,
    상기 바코드로부터 상기 워터마크를 추출하는 방법은
    상기 바코드의 회전을 조절하기 위하여 스캔된 상기 바코드 영상의 좌 우측 상단의 끝 점을 찾아내고, 상기 두 끝점이 수평을 이루도록 바코드 영상의 각도를 조절하는 단계,
    상기 스캔된 바코드 영상을 1비트를 표현하는 상기 바코드의 막대의 굵기가 1개 또는 일정 개수의 화소에 해당하도록 영상의 크기를 조절하는 단계 및,
    상기 변환된 영역으로부터 워터마크 신호를 추출하는 단계
    로 이루어지는 것을 특징으로 하는 바코드의 워터마킹 방법.
KR10-2000-0060290A 2000-10-13 2000-10-13 바코드 워터마킹 방법 KR100396327B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0060290A KR100396327B1 (ko) 2000-10-13 2000-10-13 바코드 워터마킹 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0060290A KR100396327B1 (ko) 2000-10-13 2000-10-13 바코드 워터마킹 방법

Publications (2)

Publication Number Publication Date
KR20020029688A true KR20020029688A (ko) 2002-04-19
KR100396327B1 KR100396327B1 (ko) 2003-09-02

Family

ID=19693341

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0060290A KR100396327B1 (ko) 2000-10-13 2000-10-13 바코드 워터마킹 방법

Country Status (1)

Country Link
KR (1) KR100396327B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030092852A (ko) * 2002-05-31 2003-12-06 주식회사 마크애니 오프라인상의 문서 또는 물품의 정보를 포함하는 스티커를제작하는 방법 및 장치, 그리고 상기 방법에 의해 제작된스티커
KR100467927B1 (ko) * 2001-05-03 2005-01-24 주식회사 마크애니 문서 또는 물품의 위변조를 방지하기 위한 바코드를이용한 워터마크 삽입 및 검지 방법과 그 장치
CN102547297A (zh) * 2012-02-28 2012-07-04 中国传媒大学 基于dc系数的mpeg2视频水印实现方法
KR101287811B1 (ko) * 2006-06-22 2013-07-26 제록스 코포레이션 계층적 미니어처 보안 마크

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63116286A (ja) * 1986-11-05 1988-05-20 Nippon Shashin Insatsu Kk 透明バ−コ−ド
EP0372692B1 (en) * 1988-12-05 1994-12-28 James Salvatore Bianco Identification means with encrypted security code
JPH0554210A (ja) * 1991-08-23 1993-03-05 Dainippon Printing Co Ltd 識別カードとそれを用いた入場管理システム
US5298731A (en) * 1992-12-23 1994-03-29 International Business Machines Corporation Method for printing and reading for orthogonal bar code patterns

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100467927B1 (ko) * 2001-05-03 2005-01-24 주식회사 마크애니 문서 또는 물품의 위변조를 방지하기 위한 바코드를이용한 워터마크 삽입 및 검지 방법과 그 장치
KR20030092852A (ko) * 2002-05-31 2003-12-06 주식회사 마크애니 오프라인상의 문서 또는 물품의 정보를 포함하는 스티커를제작하는 방법 및 장치, 그리고 상기 방법에 의해 제작된스티커
KR101287811B1 (ko) * 2006-06-22 2013-07-26 제록스 코포레이션 계층적 미니어처 보안 마크
CN102547297A (zh) * 2012-02-28 2012-07-04 中国传媒大学 基于dc系数的mpeg2视频水印实现方法
CN102547297B (zh) * 2012-02-28 2014-12-03 中国传媒大学 基于dc系数的mpeg2视频水印实现方法

Also Published As

Publication number Publication date
KR100396327B1 (ko) 2003-09-02

Similar Documents

Publication Publication Date Title
US7937588B2 (en) Techniques for detecting, analyzing, and using visible authentication patterns
CN1669046B (zh) 用于印刷文档的可视鉴别图案
JP4417999B2 (ja) デジタル符号化画像を復号するためのシステムおよび方法
US6608911B2 (en) Digitally watermaking holograms for use with smart cards
US7519819B2 (en) Layered security in digital watermarking
EP2320389A2 (en) Visible authentication patterns for printed document
US20100027969A1 (en) Identification and protection of video
CN104537544A (zh) 带覆盖层的基于背景纹理特征提取的商品二维码防伪方法及系统
EP1801692B1 (en) Improved techniques for detecting, analyzing and using visible authentication patterns
US8325969B2 (en) Methods for making an authenticating system
KR100396327B1 (ko) 바코드 워터마킹 방법
JP3712392B2 (ja) 電子透かし技術を用いてデジタル情報が印刷されたカードの製作方法及び認証方法、並びにそれらの装置
Schmucker Using musical features for watermarking music scores

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: 20091210

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee