KR20120082334A - 이력 데이터 분석을 통한 모바일 코드 복호화 오류 복구 장치 및 방법 - Google Patents
이력 데이터 분석을 통한 모바일 코드 복호화 오류 복구 장치 및 방법 Download PDFInfo
- Publication number
- KR20120082334A KR20120082334A KR1020110130172A KR20110130172A KR20120082334A KR 20120082334 A KR20120082334 A KR 20120082334A KR 1020110130172 A KR1020110130172 A KR 1020110130172A KR 20110130172 A KR20110130172 A KR 20110130172A KR 20120082334 A KR20120082334 A KR 20120082334A
- Authority
- KR
- South Korea
- Prior art keywords
- mobile
- mobile code
- sequence alignment
- code
- decoding
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
-
- 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/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- 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/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1465—Methods for optical code recognition the method including quality enhancement steps using several successive scans of the optical code
-
- 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/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1491—Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Electromagnetism (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Telephone Function (AREA)
Abstract
본 발명은 서열 정렬 알고리즘에 기반하여 모바일 코드를 복호화하는 장치 및 방법에 관한 것으로, 모바일 코드를 스캔하며, 상기 모바일 코드를 복호화하고,상기 모바일 코드가 성공적으로 복호화되지 않은 경우, 상기 모바일 코드의 복호화된 부분을 부분적으로 복호화된 모바일 코드로서 저장하며, 서열 정렬 알고리즘 및 소정 수의 이전에 저장된 부분적으로 복호화된 모바일 코드들에 기반하여 상기 모바일 코드를 복호화하고, 상기 복호화된 모바일 코드를 사용자에게 제공하는 것을 특징으로 한다.
Description
본 발명은 모바일 코드 복호화에 대한 장치 및 방법에 관한 것으로, 특히, 모바일 코드 복호화 오류 복구에 대한 장치 및 방법에 관한 것이다.
이동 단말은 사용자들 간에 무선 통신을 제공하기 위해 개발되었다. 기술이 진보함에 따라, 이동 단말은 이제 단순한 전화 통화를 넘어 다수의 추가 기능들을 제공한다. 예를 들면, 이동 단말은 현재, 알람, 단문 메시지 서비스(Short Messaging Service: SMS), 멀티미디어 메시지 서비스(Multimedia Message Service: MMS), 이메일, 게임, 근거리 통신의 원격 제어, 내장된 디지털 카메라를 이용한 이미지 캡처 기능 등과 같은 추가 기능들을 제공할 수 있다. 위와 같은 다수의 기능들을 제공하는 이동 단말은 사실상 일상 생활의 필수품이 되었다.
모바일 코드는 온라인 콘텐츠 및 서비스들을 가능하게 하는 도구로서 빠른 관심을 끌고 있다. 주소들과 URL들을 저장하는 모바일 코드는 잡지들, 간판들, 버스들, 명함들, 또는 사용자들이 정보를 필요로 하는 거의 모든 물체들에서 볼 수 있다. 올바른 리더 소프트웨어를 구비한 카메라 폰을 가진 사용자들은 폰의 브라우저를 열리게 하고 프로그램된 URL로 이동하게 하는 모바일 코드의 이미지를 스캔할 수 있다. 물리적 세계의 물체들로부터 연결되는 이러한 동작은 하드링크(hardlink) 또는 물리적 세계 하이퍼링크(hyperlink)들로 알려져 있다. 사용자들은 또한 자신의 모바일 코드를 다른 사람이 스캔할 수 있도록 생성하고 프린트할 수 있다.
사용자 편의성을 보장하기 위해, (2D 바코드와 같은) 모바일 코드는 복호화하기 쉬워야한다. 이러한 이유로, 모바일 코드는 일반적으로 오류 정정 방법을 구비한다. 이러한 모바일 코드가 바르게 스캔 되지 않은 경우, 누락되거나 잘못된 데이터를 재구성하기 위해 오류 정정 정보가 사용될 수 있다. 그러나, 오류 정정이 수행됨에도 불구하고 여전히 모바일 코드 판독이 실패하는 경우가 발생할 수 있다. 이러한 경우, 성공적으로 복호화된 부분들을 포함하는 데이터는 폐기되고, 사용자는 모바일 코드를 다시 스캔해야 한다. 이와 같이, 모바일 코드를 여러 번 재스캔 해야하는 동작에 의해 사용자는 불만을 갖게 되며, 모바일 코드를 나중에 다시 사용하지 않을 것이다. 따라서, 모바일 코드 오류 복구를 향상시키는 방법의 필요성이 대두 되었다.
본 발명은 이력 데이터 분석을 통한 모바일 코드 복호화 오류 복구에 대한 장치 및 방법을 제공한다.
상기한 과제를 해결하기 위한, 본 발명의 방법은, 서열 정렬 알고리즘에 기반하여 모바일 코드를 복호화하는 방법에 있어서, 모바일 코드를 스캔하며, 상기 모바일 코드를 복호화하고,상기 모바일 코드가 성공적으로 복호화되지 않은 경우, 상기 모바일 코드의 복호화된 부분을 부분적으로 복호화된 모바일 코드로서 저장하며, 서열 정렬 알고리즘 및 소정 수의 이전에 저장된 부분적으로 복호화된 모바일 코드들에 기반하여 상기 모바일 코드를 복호화하고, 상기 복호화된 모바일 코드를 사용자에게 제공하는 것을 특징으로 한다.
상기한 과제를 해결하기 위한, 본 발명의 장치는, 서열 정렬 알고리즘에 기반하여 모바일 코드를 복호화하는 장치에 있어서, 모바일 코드를 스캔하는 모바일 코드 스캐너와, 상기 모바일 코드를 복호화하는 모바일 코드 복호기와, 상기 모바일 코드 복호기에 의해 완전히 복호화되지 못한 모바일 코드들의 복호화된 부분을 나타내는 부분적으로 복호화된 모바일 코드들을 저장하는 저장부와, 상기 모바일 코드 복호기가 상기 모바일 코드를 복호화하지 못한 경우, 상기 저장된 부분적으로 복호화된 모바일 코드들 및 서열 정렬 알고리즘에 기반하여 상기 모바일 코드를 복호화하는 서열 정렬 처리기를 포함하는 것을 특징으로 한다.
본 발명의 목적들, 이점들, 및 중요한 특징들은 바람직한 실시 예들을 첨부한 하기 상세한 설명과 도면들에 의해 본 발명의 기술분야에 속한 당업자에게는 자명할 것이다.
본 발명은 이력 데이터 분석을 통해 모바일 코드 복호화 오류를 복구할 수 있는 효과를 가진다.
본 발명의 바람직한 실시 예들의 상기 및 다른 목적들, 특징들, 및 이점들은 첨부된 도면과 하기 상기 상세 설명에 의해 본 발명의 기술분야에 속한 당업자에게는 더 자명할 것이다.
도 1은 본 발명의 일 실시 예에 따른 모바일 코드 이력 비교를 도시한 도면,
도 2a 내지 2d는 본 발명의 일 실시 예에 따른 서열 정렬 알고리즘을 설명하는 도면,
도 3은 본 발명의 일 실시 예에 따른 이동 장치의 블록 구성도,
도 4는 본 발명의 일 실시 예에 따른 이동 장치에서 모바일 코드를 복호하는 흐름도이다.
상기 도면들을 통해 동일한 도면 부호는 동일하거나 유사한 구성 요소들, 특징들, 및 구조들을 설명하기 위해 사용된다.
도 1은 본 발명의 일 실시 예에 따른 모바일 코드 이력 비교를 도시한 도면,
도 2a 내지 2d는 본 발명의 일 실시 예에 따른 서열 정렬 알고리즘을 설명하는 도면,
도 3은 본 발명의 일 실시 예에 따른 이동 장치의 블록 구성도,
도 4는 본 발명의 일 실시 예에 따른 이동 장치에서 모바일 코드를 복호하는 흐름도이다.
상기 도면들을 통해 동일한 도면 부호는 동일하거나 유사한 구성 요소들, 특징들, 및 구조들을 설명하기 위해 사용된다.
첨부된 도면을 참조한 하기 상세한 설명은 본 발명의 청구범위 및 그와 동등한 것에 의해 정의된 본 발명의 바람직한 실시 예들의 전반적인 이해를 돕기 위해 제공된다. 상기 설명은 이해를 돕기 위해 다양한 특정 세부사항들을 포함하지만 이는 단지 예시적일 뿐이다. 따라서, 본 발명의 기술분야에 속한 당업자는 본 명세서에 기재된 실시 예들이 본 발명의 범위를 벗어나지 않는 범위 내에서 변형 또는 변경될 수 있음을 인지할 것이다. 또한, 하기에서 본 발명을 설명함에 있어 관련된 본 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
다음의 설명 및 청구 범위에서 사용된 용어 및 단어는 서지적 의미에 한정되지 않으며 본 발명의 명료하고 일관된 이해를 돕기 위해 발명자에 의해 사용된다. 따라서, 본 발명의 바람직한 실시 예에 대한 다음의 설명은 구체적 예를 제공하기 위한 것이며 본 발명의 청구 범위와 그에 균등한 것에 의해 정의된 본 발명을 제한하기 위한 것이 아님은 명백하다.
단수형 'a', 'an' 및 'the'는 문맥에서 하나의 지시 대상을 가리키는 의미로 특정지어지지 않은 이상 복수의 지시 대상을 포함한다. 그러므로, 예를 들면, '구성 요소의 면'에 대한 언급은 그 요소의 하나 또는 그 이상의 면을 의미할 수 있다.
용어 'substantially(대체로)'에 의해 성질, 변수, 또는 값은 정확히 구해질 필요가 없음을 의미하며, 예를 들면, 이 기술 분야의 통상의 지식을 가진 자에게 알려진 오차 범위, 측정 오류, 측정치 정확성 제한, 및 다른 사실들을 포함하는 변형 등은 본 발명이 제공하고자 했던 효과에서 벗어나지 않는 범위 내에서 이루어질 수 있다.
하기의 본 발명의 바람직한 실시 예들은 "이동 장치"에 적용되어 설명된다. 그러나, 이는 단지 포괄적 용어이며 본 발명은 휴대폰, 팜사이즈 개인용 컴퓨터(Personal Computer: PC), 휴대 정보 단말기(Personal Digial Assisitant: PDA), 핸드헬드 PC(Hand-held PC: HPC), 스마트폰, 아이엠티 2000(International Mobile Telecommunication 2000: IMT-2000) 단말기, 무선 근거리 네트워크(Local Area Network: LAN) 단말기 등에도 동등하게 적용 가능하다. 따라서, 상기 용어 "이동 장치"는 본 발명의 개념에 대한 적용을 임의의 형태의 장치 또는 장비에 제한하여 사용해서는 안 된다.
본 발명의 바람직한 실시 예들은 이력 자료 분석을 통해 모바일 코드 복호화 오류 복구에 대한 장치 및 방법을 포함한다.
도 1은 본 발명의 바람직한 일 실시 예에 따른 모바일 코드 이력 비교의 일 예를 도시한다.
도 1을 참조하면, 모바일 코드는 두 번 스캔됐지만, 누락된 문자들 때문에 완전히 복호화되지 못했다. 'XX'로 표시된 처음 2개의 문자가 스캔되지 못해서 첫 번째 시도는 성공하지 못했다. 이와 유사하게, 'XX'로 표시된 마지막 2개의 문자가 스캔되지 못해서 두 번째 시도 또한 성공하지 못했다. 이러한 시도들 각각에서, 상기 모바일 코드 일부는 성공적으로 복호화되었다. 따라서, 상기 첫 번째 및 두 번째 시도는 두 개의 부분적으로 복호화된 모바일 코드를 생성하는 것처럼 보일 수 있다. 이렇게 부분적으로 복호화된 모바일 코드들은 완전한 모바일 코드에 대한 유용한 정보를 포함한다. 그러나, 종래 시스템에서, 이러한 불완전한 결과들은 폐기되고 사용자는 상기 모바일 코드를 재스캔해야 한다. 부분적으로 복호화된 모바일 코드들을 폐기하고 상기 모바일 코드를 세 번째로 스캔하는 것 대신, 도 1에 도시된 바와 같이, 상기 첫 번째 및 두 번째 결과들을 통합하여 완전한 복호화 정보를 얻을 수 있다.
도 1에 도시된 예는 2개의 복호 결과를 포함하지만, 본 발명의 바람직한 일 실시 예에 따른 방법은 이전에 부분적으로 복호화된 모바일 코드들을 현재 부분적으로 복호화된 모바일 코드로서 포함하도록 확장될 수 있다. 이 정보는 이력 데이터 분석 알고리즘을 통해 분석되어 추가적인 복호화 시도 없이 바른 결과를 얻을 수 있게 한다. 이러한 과정은 일종의 "공동의 복호화"처럼 보일 수 있다. 모바일 코드를 단지 한 번의 시도로 복호화하기보다는 일련의 시도들이 함께 통합되어 최종 결과를 생성할 수 있다.
서열 정렬 알고리즘들은 데이터 분석 알고리즘의 한 종류이다. 서열 정렬은 일반적으로 생물 정보학 분야에서 사용되어 유사성 영역들을 찾기 위해 유전자 서열들(예를 들면, DNA, RNA, 및 단백질들)을 배열한다. 분자 생물학에서, 서열 정렬은 진화의 과정을 거쳐 발생해온 돌연변이들을 찾는 것 또는 단백질들의 특정 서열에 대한 진화 역사를 얻는 것 등의 다양한 목적을 위해 사용된다. 이러한 알고리즘들은 하기에 설명되는 바와 같이 모바일 코드들을 복호화는데 유용할 수 있다.
서열 정렬에서, 정렬될 스트링들은 동일한 조상에서 유래된다고 가정한다. 모바일 코드에 있어서, 상기 동일한 조상이란 2D 바코드 또는 다른 바코드에 의해 표현되는 완전한 모바일 코드일 수 있다. 각 스트링은 도 1에 도시된 예에서의 누락된 문자들과 같은 누락되거나 부정확한 문자들을 포함할 수 있다.
상기 알고리즘은 2개 또는 그 이상의 서열의 모바일 코드들 및 평점 방법을 취한다. 일반적으로, 2개의 서열에서 작용하는 알고리즘은 쌍 서열 알고리즘(Pairwise Sequence Algorithm: PSA)으로 일컬어지며 2개보다 많은 서열에서 작용하는 알고리즘은 다수 서열 알고리즘(Multiple Sequence Algorithm: MSA)으로 일컬어진다. 여기서, 서열들은 이전에 저장된 성공적이지 못한 복호화 시도들 및 현재 복호화 시도일 수 있다. 그리고 평점 방법은 주어진 코드 각각이 다른 코드와 얼마나 비슷한지를 나타내는 행렬일 수 있다. 다른 코드와 더 비슷한 코드일수록 유사성 행렬에서 해당 성분의 더 높은 값을 갖는다.
도 2a 내지 2d는 본 발명의 바람직한 일 실시 예에 따른 서열 정렬 알고리즘을 설명하는 도면들이다.
도 2a를 참조하면, 코드들 A, C, G, 및 T 사이에서의 유사성 행렬이 도시된다. 상기 행렬의 대각선 성분들은 2의 값을 갖고, 이는 코드들 사이의 매칭이 유사성 점수 2를 갖음을 나타낸다. 나머지 성분들은 다양한 음수 값들을 가지며, 이는 2개의 코드 사이의 상대적 차이점을 나타낸다. 예를 들면, "C" 및 "A"는 -7의 점수를 갖는데, 이는 그들이 -5의 점수를 갖는 "G" 및 "A" 보다 더 유사하지 않음을 나타낸다. 도 2A에 도시된 유사성 행렬은 단지 예시적일 뿐이다. 다른 유사성 행렬은 사선을 따라 1의 값을 갖고 다른 곳에서는 0의 값을 가질 수 있으며, 이는 서로 다른 코드들이 조화되지 않음을 나타낸다.
도 2b 및 2c를 참조하면, 행렬 F가 할당된 갭 패널티(gap penalty) 및 상기 유사성 행렬에 기반하여 생성된다. 상기 갭 패널티는 서열 정렬 내의 갭들의 양 및 수에 패널티를 주는 값이다. 큰 갭 패널티는 작은 수의 갭들을 갖는 정렬을 초래하는 반면, 작은 갭 패널티는 그 반대이다.
상기 행렬 F를 생성하는 규칙들이 도 2B에 도시된다. 상기 행렬의 열들은 서열 X에 해당하고, 상기 행렬의 행들은 서열 Y에 해당한다. 도 2B 및 2C에 도시된 예에서, 상기 서열 X는 "AAG"이고, 상기 서열 Y는 "AGC"이다. 상부 좌측 필드는 0의 값으로 할당된다. 하기 수학식 1에 따라 상부 행 좌측 열은 갭 패널티의 배수들로 할당된다.
상기 수학식 1에서, F(i,j)는 상기 행렬 F의 필드를 나타내고, d는 갭 패널티를 나타낸다. 도 2b에 도시된 예에서, 갭 패널티는 5이다.
상기 행렬 F의 나머지는 도 2b 및 하기 수학식 2에 따라 상부 좌측 코너에서 하부 우측 코너로 채워진다.
상기 수학식 2에서, s(ai,bi)는 도 2a에 도시된 유사성 행렬에서의 해당 성분를 나타낸다. F(i,j)는 상기 행렬 F의 필드를 나타내고, d는 갭 패널티를 나타낸다. 도 2b는 수학식 2에 따라 나머지 필드들이 어떻게 채워지는지를 표로 보여주며, 도 2c는 상기 행렬 F의 모든 필드들에 수학식 2를 적용하여 얻어지는 최종 결과를 보여준다.
수학식 2에서 이루어진 특정 선택은 상기 정렬이 갭을 포함하는지의 여부에 상응한다. F(i-1,j)-d가 선택되면, 이는 Xi가 갭과 정렬됨을 나타낸다. 이와 유사하게, F(i,j-1)-d가 선택되면, 이는 Yj가 갭과 정렬됨을 나타낸다. 여기서, Xi 및 Yj는 해당 서열들 X 및 Y에서의 특정 요소들을 나타낸다. 마지막으로, F(i-1,j-1)이 선택되면, 이는 Xi 및 Yj가 서로 정렬됨을 나타낸다. 이는 2개의 요소가 매칭되는 경우에 발생될 것으로 기대되지만, 매칭되지 않는 요소들 또한 갭 패널티 및 유사성 점수 값들에 따라 서로 정렬될 수 있다.
도 2d는 본 발명의 일 실시 예에 따른 행렬을 통한 추적 루트를 보여준다.
도 2d를 참조하면, 최적의 정렬은 상기 행렬 F를 통해 루트를 하부 우측 필드에서 시작하여 역 추적함에 의해 결정된다. 하부 우측 필드에서 시작했을 때, 상기 행렬를 통해 역 추적되는 루트는 상기 수학식 2에 따라 현재 필드를 생성하는 필드로 돌아감에 의해 선택된다. 예를 들면, 하부 우측 필드는 -6의 값이 주어지며, 상기 수학식 2에 따라 3개의 인접 필드를 기반으로 결정된다. 상기 하부 우측 필드에 대한 값은 필드들 (2,2), (3,2), 및 (3,3)의 값들에 따라 다음과 같이 생성된다.
F(3,3)=max[F(2,2)+s(G,A), F(2,3)-5, F(3,2)-5]
F(2,2), s(G,A), F(2,3), 및 F(3,2)를 대체하여 다음과 같이 산출된다.
F(3,3)=max[-10,-6,-13]
상기로부터, 최대 값(-6)이 필드 F(2,3)에 의해 결정된다. 필드 F(2,3)은 -5인 갭 패널티에 더해져 -6을 산출하는 -1의 값을 갖는다. 3개의 이웃 필드들에 기반한 계산들 중, -6이 최고 값으로 산출된다. 따라서, 상기 추적 루트는 F(2,3)을 진행한다. 이와 유사한 과정이 루트가 하부 우측 코너에서 상부 좌측 코너로 추적될 때까지 반복된다. 2개의 결과가 동일할 경우, 상기 루트는 임의로 선택된다.
결과 추적 루트는 최적 서열 정렬에 대응한다. 정렬의 앞쪽(우측) 끝에서 시작하여, (i-1, j-1)로의 스텝은 (Xi, Yj)의 정렬에 맵핑되고; (i-1, j)로의 스텝은 (Xi, -)의 정렬에 맵핑되고; (i, j-1)로의 스텝은 (-, Yj)의 정렬에 맵핑된다. 예를 들면, 상기 루트가 하부 우측 필드에 대해서 위쪽으로 이동하기 때문에, 도 2D에 도시된 최적의 정렬에서와 같이 상기 결과 서열은 서열 X의 가장 우측에서 갭을 갖고, 서열 Y에서 코드 "C"를 갖는다.
도 2a 내지 2c를 참조하여 상술 된 상기 PSA 알고리즘은 3개 또는 그 이상의 서열들 상에서 작용하도록 확장될 수 있다. 그러나 해당 MSA는 상기 서열들의 수 및 길이에 따라 기하급수적으로 커진다. 따라서, 이러한 알고리즘은 작은 수의 잠재적 서열들에 대해서만 사용될 수 있다. 이동 장치에 있어서는, 작은 수의 서열들조차 이동 장치에서 사용 가능한 공간 및 처리 능력을 넘어설 수 있다.
일반 이동 장치들보다 더 강력한 장치들에 있어서 조차 공간 및 복잡성이 기하급수적으로 커지기 때문에, 더 빠르고 효율적인 다양한 발견적 알고리즘들이 제안되었다. 이러한 발견적 알고리즘들은 프루닝(pruning), 쌍 정렬의 점진적 반복 및 MSA의 처리시간과 공간을 줄이기 위한 다른 기술들을 사용한다. 요구되는 처리 능력 및 저장 공간이 상기 발견적 알고리즘이 사용될 특정 이동 장치의 능력 내에 있다면 이러한 발견적 알고리즘들 중 하나는 본 발명의 바람직한 일 실시 예에 따라 사용될 수 있다.
도 3은 본 발명의 바람직한 일 실시 예에 따른 이동 장치를 도시한다.
도 3을 참조하면, 이동 장치(300)는 입력 모듈(302), 모바일 코드 스캔 모듈(304), 처리기(306), 모바일 코드 복호화 모듈(308), 서열 정렬 처리기(310), 통신 모듈(312), 저장 모듈(314), 및 표시 모듈(316)을 포함한다. 본 발명의 바람직한 일 실시 예에 따르면, 상기 이동 장치(300)는 추가적 및/또는 다른 모듈들을 포함할 수 있다. 이와 유사하게, 하나 또는 그 이상의 상기 모듈들의 기능은 단일 구성 요소에 통합될 수 있다. 상기 이동 장치(300)는 또한 위치 정보로의 접속을 필요로 하는 하나 또는 그 이상의 위치 기반 서비스 또는 내비게이션 서비스를 구현할 수 있다.
상기 이동 장치는 예를 들면, 휴대폰, 스마트폰, 휴대 정보 단말기, 개인용 오락 기기 등을 포함할 수 있다. 이와 유사하게, 본 발명의 바람직한 일 실시 예는 예를 들면, 데스크 탑 장치들 또는 다른 비 이동 장치들을 포함하는 모바일 코드들을 사용하는 다른 사용자 장치들에도 적용될 수 있다. 따라서, 본 발명의 바람직한 일 실시 예는 모바일 코드의 정확한 스캔이 요구되는 상황에 적응할 수 있다.
상기 입력 모듈(302) 및 표시 모듈(316) 각각은 사용자 입력을 수신하고 사용자로의 출력을 표시한다. 상기 표시 모듈(316)은 사용자가 상기 이동 장치(300)와 상호작용하는 그래픽 사용자 인터페이스를 표시할 수 있다. 상기 표시 모듈(316)은 액정 표시 장치(Liquid Crystal Display: LCD)로 제공될 수 있다. 이 경우, 상기 표시 모듈(316)은 상기 LCD를 제어하는 제어부, 이미지 데이터가 저장된 비디오 메모리부, 및 LCD 요소를 포함할 수 있다. 상기 LCD가 터치 스크린으로 제공될 경우, 상기 표시 모듈(316)은 상기 입력부(302)의 일부 또는 전체 기능을 수행할 수 있다.
상기 모바일 코드 스캔 모듈(304) 및 모바일 코드 복호화 모듈(308)은 모바일 코드를 스캔하고 복호화한다. 상기 모바일 코드에 포함된 정보는 다양한 목적으로 상기 이동 장치에서 이용 가능하도록 만들어진다. 본 발명의 바람직한 일 실시 예에 따르면, 상기 이동 장치(300)는 상기 모바일 코드 스캔 모듈(304) 대신 또는 이에 추가로 카메라 모듈(미도시)을 포함할 수 있다. 이 경우, 상기 카메라 모듈은 상기 모바일 코드의 이미지를 캡처하고, 이 후, 모바일 코드는 상기 모바일 코드 복호화 모듈(308)에 의해 처리되고 복호화된다.
상기 통신 모듈(312)은 외부 장치들과 통신하고, 이는 유선 및/또는 무선 접속일 수 있다. 상기 통신 모듈(312)은 예를 들면, 무선 통신을 위한 무선 주파수(Radio Frequency: RF) 송신기 및 수신기를 포함할 수 있다. 상기 통신 모듈(312)은 블루투스(Bluetooth), 와이파이(Wi-Fi), (3G 및 4G 서비스를 포함하는) 셀룰러 서비스, 이더넷(Ethernet), 범용 직렬 버스(Universal Serial Bus: USB) 등을 포함하는 다양한 프로토콜들을 통해 통신을 지원할 수 있다.
상기 저장 모듈(314)은 상기 이동 장치(300)에 정보를 저장한다. 상기 저장 모듈은 예를 들면, 사용자 선호 정보 등을 저장할 수 있다. 상기 저장 모듈은 또한 상기 서열 정렬 처리기(310)에 의한 사용을 위한 부분적으로 부호화된 모바일 코드들을 저장한다.
상기 처리기(306)는 상기 이동 장치(300)의 전체 동작을 제어한다. 예를 들면, 상기 처리기(306)는 상기 모바일 코드 복호기(308)에 의해 복호화된 모바일 코드 정보를 사용하는 애플리케이션을 실행할 수 있다. 상기 애플리케이션은 지오태깅(geotagging), 소셜 네트워킹(social networking), 커머스(commerce), 모바일 티켓(mobile tickets), 상황 인식 애플리케이션들 등을 포함하는 다양한 목적들을 위해 모바일 코드에 있는 정보를 사용할 수 있다.
상기 서열 정렬 처리기(310)는 상기 저장된 부분적으로 복호화된 모바일 코드들을 사용하여 서열 정렬 알고리즘을 실행한다. 상기 모바일 코드 복호화 모듈(308)이 모바일 코드를 복호화할 수 없는 경우, 상기 모바일 코드 복호화 모듈(308)은 상기 서열 정렬 처리기(310)에게 알리고, 상기 부분적으로 복호화된 모바일 코드를 상기 저장 모듈(314)에 저장한다. 소정 수의 부분적으로 복호화된 모바일 코드들이 상기 저장 모듈(314)에 저장되면, 상기 서열 정렬 처리기(310)가 상기 저장된 부분적으로 복호화된 모바일 코드들에 기반하여 서열 정렬 알고리즘을 실행한다.
소정 수의 모바일 코드들이 아직 수신되지 않은 경우, 상기 서열 정렬 처리기(310)는 상기 소정 수의 모바일 코드들이 수신될 때까지 모바일 코드 복호화를 대기할 수 있다. 이 경우, 상기 이동 장치는 상기 모바일 코드가 복호화되지 못했음을 나타내는 오류 메시지를 출력할 수 있다. 또는, 상기 이동 장치는 사용자에게 상기 모바일 코드 재스캔을 요청할 수 있다.
이와 같이, 상기 서열 정렬 알고리즘은 상기 이동 장치(300)의 제한된 처리 능력을 사용하여 동작하기에 충분한 속도 및 효율을 갖는 서열 정렬 알고리즘일 수 있다. 상기 이동 장치의 필수 요건들을 만족시키는 추가 알고리즘들이 개발될 수 있음에도 발견적 알고리즘은 이러한 목적을 충분히 충족시킬 수 있다.
상기 알고리즘의 결과들에 기반하여, 상기 서열 정렬 처리기(310)는 완전한 모바일 코드를 획득한다. 이 후, 상기 모바일 코드는 상기 이동 장치에서 이용 가능하도록 만들어진다. 상기에 기술된 바와 같이, 상기 모바일 코드들은 지오태깅(geotagging), 소셜 네트워킹(social networking), 커머스(commerce), 모바일 티켓(mobile tickets), 상황 인식 애플리케이션들 등을 포함하는 다양한 목적들을 위해 사용될 수 있다.
도 4는 본 발명의 바람직한 일 실시 예에 따른 이동 장치에서 모바일 코드를 복호화하는 방법을 도시한다.
도 4를 참조하면, 단계 410에서 사용자는 상기 이동 장치를 사용하여 모바일 코드를 스캔한다. 상기 이동 장치는 모바일 코드 스캔 모듈을 사용하여 상기 모바일 코드를 스캔하거나 카메라 모듈을 사용하여 상기 모바일 코드의 이미지를 캡처한다.
상기 이동 장치는 단계 420에서 상기 모바일 코드 복호화를 시도한다. 상기 시도가 성공적이면, 단계 470에서 복호화된 모바일 코드가 획득된다. 상기 시도가 성공적이지 못하면, 단계 430에서 부분적으로 복호화된 모바일 코드가 상기 저장 모듈(314)에 저장된다.
단계 440에서, 상기 서열 정렬 처리기(310)는 소정 수의 모바일 코드들이 상기 저장부(314)에 저장되는지의 여부를 판단한다. 상기 소정 수는 완전한 모바일 코드 생성을 위해 필요한 최대 수의 부분적으로 복호화된 모바일 코드들로 서열 정렬 알고리즘에 따라 결정될 수일 수 있다. 특정한 소정 수는 실험적으로 결정될 수 있고, 특정 알고리즘 또는 상기 서열 정렬 처리기(310)에 의해 사용되는 알고리즘들에 기반하여 결정될 수 있다. 그러나, 상기 소정 수는 적어도 2 이상이어야 한다.
소정 수의 모바일 코드들이 저장되지 않은 경우, 단계 450에서 이동 단말은 오류 메시지를 출력한다. 상기 오류 메시지는 상기 모바일 코드가 읽히지 못했음을 나타낼 수 있고, 사용자에게 재시도를 요청할 수 있다. 상기 오류 메시지가 사용자의 상기 모바일 코드 재스캔을 나타낼 경우, 점선으로 표시된 것과 같이 동작들이 단계 410으로 되돌아간다. 본 발명의 바람직한 다른 실시 예(미도시)에 따르면, 상기 이동 단말은 오류 메시지의 출력 또는 사용자의 모바일 코드 재스캔 요청 없이 상기 모바일 코드를 자동으로 재스캔할 수 있다.
소정 수의 모바일 코드들이 저장된 경우, 단계 460에서 상기 서열 정렬 처리기(310)는 서열 정렬 알고리즘을 실행한다. 단계 470에서, 상기 서열 정렬 처리기(310)는 상기 서열 정렬 알고리즘에 의해 생성된 최적의 정렬에 기반하여 복호화된 모바일 코드를 획득한다.
생물 정보학 분야에서, 상기 서열의 결과로부터 추출된 결과 서열은 일치 서열(Consensus Sequence: CS)이라 불리며, MSA의 적용을 통해 도달한 일치를 반영한다. 상기 CS는 다수의 서열들이 정렬된 후, 특정 위치에서의 가장 흔한 뉴클레오티드 또는 아미노산을 나타낸다. CS는 관련된 서열들이 서로 비교되는 복 서열 정렬의 결과들을 나타내는 방법이다. 상기 CS는 잔기들이 각 위치의 정렬에서 가장 번성함을 보여준다. 이와 유사하게, 모바일 코드들에 대해 CS는 복호화된 모바일 코드를 적절히 반영한다.
임계값이 주어졌을 때, 상기 CS는 정렬의 각 열을 상기 열에서 가장 자주 나타나는 문자로 나타낸다. 상기 열에서 가장 자주 나타나는 문자 비율의 빈도는 상기 주어진 임계값보다 크거나 이와 동일해야 한다. 만약 주어진 열에서 가장 자주 나타나는 문자의 빈도가 상기 임계값보다 작으면, CS는 상기 열을 갭으로 나타낸다. 정렬에서 상기 일치 서열이 얻어진 후, 갭 잔기들이 상기 일치 서열에 존재하는 경우, 가능한 한 추가의 분석 방법들이 사용될 수 있다. 이러한 추가의 분석 방법 중 하나는 컨텍스트(context) 기반 방법이다. 예를 들면, 상기 일치 서열이 "htt-://aa.com"인 경우, 상기 컨텍스트는 상기 일치 서열이 웹 사이트를 나타냄을 암시한다. URL(Uniform Resource Locator)들과 같은 인터넷 포맷들에 대한 지식은 상기 누락된 문자(들)를 추론하는데 적용될 수 있다. 이 경우, 상기 누락된 문자는 "p"로 추론되고, 결국 "http://aa.com"라는 결과를 얻게 된다.
도 4에 도시되지 않았지만 상기 서열 정렬 처리기(310)는 성공적으로 복호화된 모바일 코드를 획득하지 않을 것이다. 이런 경우는 모든 부분적으로 복호화된 모바일 코드들이 동일 지점에서 갭을 갖거나, 상기 부분적으로 복호화된 모바일 코들이 모바일 코드의 동일한 요소에 대해 서로 다른 값들을 가질 경우 발생할 수 있고, 상기 서열 정렬 처리기는 추가의 분석 방법에 기반하여 올바른 값을 추론할 수 없다. 이 경우, 오류 메시지가 출력될 수 있고, 사용자는 모바일 코드를 재스캔 하도록 요청된다.
본 발명의 바람직한 일 실시 예에 따르면, 모바일 코드들에 대한 사용자 경험은 서열 정렬 알고리즘이 이동 장치가 모바일 코드들을 더 효율적으로 복호화하도록 허락하기 때문에 향상될 수 있다. 부분적으로 복호화된 모바일 코드를 폐기하는 대신 상기 이동 장치는 이러한 부분적으로 복호화된 모바일 코드들을 저장하고 이력을 사용하여 상기 모바일 코드를 더 빨리 복호화한다. 결과적으로, 오류 복구가 향상되고, 모바일 코드들에 대한 더 나은 사용자 경험으로 이어진다.
한편 상기한 본 발명의 설명에서는 구체적인 실시 예들에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.
302: 입력 모듈 304: 모바일 코드 스캔 모듈
306: 처리기 308: 모바일 코드 복호화 모듈
310: 서열 정렬 처리기 312: 통신 모듈
314: 저장 모듈 316: 표시 모듈
306: 처리기 308: 모바일 코드 복호화 모듈
310: 서열 정렬 처리기 312: 통신 모듈
314: 저장 모듈 316: 표시 모듈
Claims (16)
- 서열 정렬 알고리즘에 기반하여 모바일 코드를 복호화하는 방법에 있어서,
모바일 코드를 스캔하는 과정과,
상기 모바일 코드를 복호화하는 과정과,
상기 모바일 코드가 성공적으로 복호화되지 않은 경우, 상기 모바일 코드의 복호화된 부분을 부분적으로 복호화된 모바일 코드로서 저장하고, 서열 정렬 알고리즘 및 소정 수의 이전에 저장된 부분적으로 복호화된 모바일 코드들에 기반하여 상기 모바일 코드를 복호화하는 과정과,
상기 복호화된 모바일 코드를 사용자에게 제공하는 과정을 포함하는 것을 특징으로 하는 복호화 방법.
- 제1항에 있어서,
상기 서열 정렬 알고리즘은 발견적 서열 정렬 알고리즘인 것을 특징으로 하는 복호화 방법.
- 제2항에 있어서,
상기 발견적 서열 정렬 알고리즘은 이동 장치의 능력에 따라 선택되는 것을 특징으로 하는 복호화 방법.
- 제3항에 있어서,
상기 이동 장치의 능력은 상기 이동 장치의 처리 능력 및 저장 능력을 포함하는 것을 특징으로 하는 복호화 방법.
- 제1항에 있어서,
상기 모바일 코드가 성공적으로 복호화되지 않고, 상기 소정 수의 이전에 저장된 부분적으로 복호화된 모바일 코드들이 저장되어 있지 않은 경우, 상기 모바일 코드가 복호화되지 못했음을 나타내는 오류 메시지를 출력하는 과정을 더 포함하는 것을 특징으로 하는 복호화 방법.
- 제1항에 있어서,
상기 모바일 코드가 성공적으로 복호화되지 않고, 상기 소정 수의 이전에 저장된 부분적으로 복호화된 모바일 코드들이 저장되어 있지 않은 경우, 상기 모바일 코드를 추가적으로 스캔하는 과정을 더 포함하는 것을 특징으로 하는 복호화 방법.
- 제1항에 있어서,
상기 모바일 코드는 바코드인 것을 특징으로 하는 복호화 방법.
- 제1항에 있어서,
상기 서열 정렬 알고리즘에 따라 상기 모바일 코드를 복호화하는 과정은, 상기 서열 정렬 알고리즘 및 상기 소정 수의 이전에 저장된 부분적으로 복호화된 모바일 코드들에 기반하여 상기 부분적으로 복호화된 모바일 코드의 최적의 정렬을 생성하는 과정과,
상기 생성된 최적의 정렬에 따라 상기 모바일 코드를 복호화하는 과정을 포함하는 것을 특징으로 하는 복호화 방법.
- 서열 정렬 알고리즘에 기반하여 모바일 코드를 복호화하는 장치에 있어서,
모바일 코드를 스캔하는 모바일 코드 스캐너와,
상기 모바일 코드를 복호화하는 모바일 코드 복호기와,
상기 모바일 코드 복호기에 의해 완전히 복호화되지 못한 모바일 코드들의 복호화된 부분을 나타내는 부분적으로 복호화된 모바일 코드들을 저장하는 저장부와,
상기 모바일 코드 복호기가 상기 모바일 코드를 복호화하지 못한 경우, 상기 저장된 부분적으로 복호화된 모바일 코드들 및 서열 정렬 알고리즘에 기반하여 상기 모바일 코드를 복호화하는 서열 정렬 처리기를 포함하는 것을 특징으로 하는 복호화 장치.
- 제9항에 있어서,
상기 모바일 코드 복호기가 상기 모바일 코드를 복호화하지 못한 경우, 상기 모바일 코드 복호기는 상기 저장부에 상기 모바일 코드를 부분적으로 복호화된 모바일 코드로서 저장하고, 상기 모바일 코드가 복호화되지 못했음을 상기 서열 정렬 처리기로 알리는 것을 특징으로 하는 복호화 장치.
- 제9항에 있어서,
상기 서열 정렬 알고리즘은 상기 저장부에 저장된 소정 수의 부분적으로 복호화된 모바일 코드들에 기반하여 상기 모바일 코드를 복호화하는 것을 특징으로 하는 복호화 장치.
- 제9항에 있어서,
상기 서열 정렬 알고리즘은 발견적 서열 정렬 알고리즘인 것을 특징으로 하는 복호화 장치.
- 제12항에 있어서,
상기 발견적 서열 정렬 알고리즘은 이동 장치의 능력에 따라 선택되는 것을 특징으로 하는 복호화 장치.
- 제13항에 있어서,
상기 이동 장치의 능력은 상기 서열 정렬 처리기의 처리 능력 및 상기 저장부의 저장 능력을 포함하는 것을 특징으로 하는 복호화 장치.
- 제9항에 있어서, 상기 모바일 코드는 바코드인 것을 특징으로 하는 복호화 장치.
- 제9항에 있어서,
상기 서열 정렬 처리기는 상기 서열 정렬 알고리즘 및 상기 소정 수의 부분적으로 복호화된 모바일 코드들에 기반하여 상기 부분적으로 복호화된 모바일 코드의 최적의 정렬을 생성하고, 상기 생성된 최적의 정렬에 따라 상기 모바일 코드를 복호화하는 것을 특징으로 하는 복호화 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/005,870 US8640952B2 (en) | 2011-01-13 | 2011-01-13 | Mobile code decoding fault recovery via history data analysis |
US13/005,870 | 2011-01-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120082334A true KR20120082334A (ko) | 2012-07-23 |
Family
ID=46490026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110130172A KR20120082334A (ko) | 2011-01-13 | 2011-12-07 | 이력 데이터 분석을 통한 모바일 코드 복호화 오류 복구 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8640952B2 (ko) |
KR (1) | KR20120082334A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022080816A1 (ko) * | 2020-10-12 | 2022-04-21 | 서울대학교 산학협력단 | Dna 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법, 프로그램 및 장치 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10083334B2 (en) * | 2016-12-06 | 2018-09-25 | Datalogic Ip Tech S.R.L. | Barcode reconstruction utilizing a sequence alignment matrix |
US10204284B2 (en) * | 2016-12-06 | 2019-02-12 | Datalogic Ip Tech S.R.L. | Object recognition utilizing feature alignment |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7387253B1 (en) * | 1996-09-03 | 2008-06-17 | Hand Held Products, Inc. | Optical reader system comprising local host processor and optical reader |
EP1714231B1 (en) * | 2004-01-23 | 2011-09-07 | Intermec IP Corporation | Autofocus barcode scanner and the like employing micro-fluidic lens |
US8150163B2 (en) * | 2006-04-12 | 2012-04-03 | Scanbuy, Inc. | System and method for recovering image detail from multiple image frames in real-time |
US7946491B2 (en) * | 2006-08-03 | 2011-05-24 | Nokia Corporation | Method, apparatus, and computer program product for providing a camera barcode reader |
AU2007254619B2 (en) * | 2007-12-21 | 2010-10-07 | Canon Kabushiki Kaisha | Barcode removal |
US8851382B2 (en) * | 2009-09-24 | 2014-10-07 | Ebay Inc. | System and method for estimation and classification of barcodes using heuristic and statistical measures |
-
2011
- 2011-01-13 US US13/005,870 patent/US8640952B2/en not_active Expired - Fee Related
- 2011-12-07 KR KR1020110130172A patent/KR20120082334A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022080816A1 (ko) * | 2020-10-12 | 2022-04-21 | 서울대학교 산학협력단 | Dna 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법, 프로그램 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US8640952B2 (en) | 2014-02-04 |
US20120181336A1 (en) | 2012-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11089464B2 (en) | Methods and devices for facilitating bluetooth pairing using a camera as a barcode scanner | |
US11055505B2 (en) | System and method for recognizing deformed linear barcodes from a stream of varied focus video frames | |
US20200410185A1 (en) | Computer configured to display multimedia content | |
US9818011B2 (en) | Method and device for identifying two-dimensional barcodes | |
US9177189B2 (en) | System and method for data transfer through animated barcodes | |
US20120158922A1 (en) | Changing device configuration based on machine-readable codes | |
US9323970B2 (en) | Trading interface retrieved based upon barcode data | |
EP2306692A1 (en) | Methods and devices for facilitating bluetooth pairing using a camera as a barcode scanner | |
CN105117759B (zh) | 动态二维码生成和读取方法、装置 | |
JP2003233788A (ja) | 図形コードシステム | |
CN105631378A (zh) | 一种二维码扫描方法、装置及终端 | |
WO2022188803A1 (zh) | 扫描方法、装置及电子设备 | |
KR20120082334A (ko) | 이력 데이터 분석을 통한 모바일 코드 복호화 오류 복구 장치 및 방법 | |
CA2752887A1 (en) | System and method for data transfer through animated barcodes | |
US8702001B2 (en) | Apparatus and method for acquiring code image in a portable terminal | |
JP4039262B2 (ja) | 表示端末、シンボル生成装置及びシンボル表示システム | |
RU97199U1 (ru) | Система, мобильное устройство и считывающее устройство для передачи текстовой информации с помощью графических изображений | |
KR101526046B1 (ko) | 바코드를 제공하는 전자 디바이스 및 바코드 제공 방법 | |
JP2017120614A (ja) | 電子装置、情報伝送方法と情報読み取り方法 | |
WO2010047700A1 (en) | Altering an imaging parameter to read a symbol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |