KR20060082132A - 원격 함수 호출들을 개시하기 위해 이미지들 또는 오디오를사용하는 서버와의 접속에 사용하기 위한 방법, 시스템,장치 및 기계 판독 가능한 매체 - Google Patents

원격 함수 호출들을 개시하기 위해 이미지들 또는 오디오를사용하는 서버와의 접속에 사용하기 위한 방법, 시스템,장치 및 기계 판독 가능한 매체 Download PDF

Info

Publication number
KR20060082132A
KR20060082132A KR1020067009855A KR20067009855A KR20060082132A KR 20060082132 A KR20060082132 A KR 20060082132A KR 1020067009855 A KR1020067009855 A KR 1020067009855A KR 20067009855 A KR20067009855 A KR 20067009855A KR 20060082132 A KR20060082132 A KR 20060082132A
Authority
KR
South Korea
Prior art keywords
function
media
captured
information
user
Prior art date
Application number
KR1020067009855A
Other languages
English (en)
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 KR20060082132A publication Critical patent/KR20060082132A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42201Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] biosensors, e.g. heat sensor for presence detection, EEG sensors or any limb activity sensors worn by the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/433Query formulation using audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/434Query formulation using image data, e.g. images, photos, pictures taken by a user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9554Retrieval from the web using information identifiers, e.g. uniform resource locators [URL] by using bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/30Individual registration on entry or exit not involving the use of a pass
    • G07C9/38Individual registration on entry or exit not involving the use of a pass with central registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/441Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Mathematical Physics (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Neurosurgery (AREA)
  • Biophysics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Biomedical Technology (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

이미지들, 오디오, 생체측정 정보 및 기타 데이터가 사용자 디바이스에 의해 포착된다. 포착된 데이터는 포착된 데이터의 콘텐츠를 식별하기 위해 포착된 데이터를 전처리하고 그 후 디코딩하는 서버에 전송된다. 식별되고 나면, 포착된 데이터는 포착된 데이터에 대응하는 파라미터들 및 함수를 지정하는 함수 스트링과 연관된다. 함수는 포착된 데이터와 관련된 정보를 사용자 디바이스에 다시 제공하기 위해, 또는 다른 동작들을 개시하기 위해 호출 및 실행된다. 사용자 디바이스에 반환하기 위한 관련 정보는 제품 정보, 번역들, 경매 데이터, 전자 디바이스 설정들, 오디오 및 기타사항들을 포함할 수 있다. 개시될 수 있는 동작들은 소프트웨어 등록, 사람 검색들 또는 제한된 서비스들에 대한 액세스를 허용하기 위한 사용자 인증을 포함할 수 있다.

Description

원격 함수 호출들을 개시하기 위해 이미지들 또는 오디오를 사용하는 서버와의 접속에 사용하기 위한 방법, 시스템, 장치 및 기계 판독 가능한 매체{Method, system, apparatus, and machine-readable medium for use in connection with a server that uses images or audio for initiating remote function calls}
본 개시물은 일반적으로 이미지 포착 및 처리 기술과 네트워크를 통한 통신, 보다 구체적으로는, 예로서, 사용자 디바이스를 통해, 1-차원(1D) 또는 2-차원(2D) 이미지들 또는 오디오의 포착 및 통신, 이미지들/오디오와 관련된 정보를 획득하기 위한 서버에서의 원격 함수 호들의 사용 및 사용자 디바이스의 인증 및/또는 사용자 디바이스로의 획득된 정보의 반환에 관한 것이지만, 이에 한정되지는 않는다.
인터넷은 실질적인 임의의 주제에 대한 정보를 획득하기 위한 널리 보급된 대중적인 도구들 중 하나이다. 예로서, 인터넷 사용자들(때때로, 웹 "서퍼들(surfers)"이라 지칭됨)은 그들이 구매하기를 원하는 제품들에 대한 정보(가격들, 제품 설명들, 제조자 정보 등 같은), 선호 스포츠 팀들 또는 선수들과 관련된 통계들, 여행자 행선지에 대한 정보 컨텐트 등을 획득할 수 있다. 사실, 전통적인 인쇄된 매체들을 통한 검색 대신, 정보를 위해 인터넷을 서핑하는 사람들은 거의 어디에나 존재한다.
그러나, 그 널리 보급된 사용 및 정보의 풍부함에도 불구하고, 인터넷은 종종 여전히 일반적으로 어색하고 불편한 도구이다. 예로서, 상점 내의 구매자가 판매중인 제품을 관찰하는 경우, 구매자는 통상적으로, 제한된 양의, 그 제품을 동반하는 현장의 인쇄된 인쇄물만을 읽을 수 있다. 다수의 경우에, 이런 현장의 인쇄된 인쇄물은 불충분한 정보를 제공하며, 구매자는 상점 내에 있는 동안은, 내부에 포함되어 있거나 포함되어 있지 않을 수 있는 보다 상세한 제품 인쇄물을 검토하기 위해, 제품의 포장을 개봉할 수 없다. 대신, 그 특정 상품의 보증, 제조자, 특징 설명들, 관련 악세사리들, 제품 리뷰들 등에 대한 보다 상세한 정보를 획득하기 위해, 사용자는 일반적으로 집으로 돌아가서, 인터넷에 접속하고, 그 후, 소정 유형의 인터넷 검색 엔진을 사용하여 관련 정보를 발견하여야 한다.
이 예의 시나리오는 일부 명백한 단점들을 부각시킨다. 첫 번째로, 구매자는 구매자가 집에 도착하였을 때, 인터넷 검색 엔진을 위한 검색 질의를 적절히 조성할 수 있도록 상점을 떠나기 전에 상품명 및 제조자를 기억할 필요가 있다. 이는 구매자가 기억력이 좋지 않거나 및/또는 상품에 대한 원래의 관심이 구매자가 상점을 떠나기 전에 흐려지는 경우(특히, 구매자가 인터넷상에 온라인 상태가 되기 이전에 수일이 경과하는 경우)의 상황들에서 문제가 될 수 있다. 따라서, 제조자 및 상점은 현저한 판매 기회를 소실하게 되며, 구매자는 필요한 제품을 구매할 기회를 소실하게 된다.
두 번째로, 이 예의 시나리오는 구매자가 컴퓨터를 알고 및/또는 가정에 기술적 자원들을 가지고 있다는 것을 가정한다. 이는 항상 그렇지는 않다. 즉, 다수의 개인들은 인터넷의 기본 작업을 이해하지만, 다수의 개인들은 그 온라인 검색 스킬들의 연마에 약간의 향상을 사용하고, 종종, 그 검색 질의들로 대부분의 관련 및 유용한 정보를 찾는데 실패할 수 있다. 다수의 개인들은 또한 가정용 컴퓨터들을 갖고 있지 않거나(대신 작업장의 컴퓨터에 의존하며, 이들은 일반적으로, 주말에 업무 시간들 동안만 사용함), 또는, 느린 인터넷 접속들을 가질 수 있다.
세 번째로, 일부 정보는 단순히 인터넷으로부터 입수할 수 없다. 예로서, 일부 제품 제조자는 웹 사이트들을 갖고 있지 않으며, 그에 의해, 고객들이 전화, 우편 메일, 이메일 등을 통한 대안적 서비스로 직접 접촉할 필요가 있을 수 있다. 다른 경우들에서, 제조자들 또는 다른 조직들은 인터넷이 아닌 다른 채널들을 통해 정보를 제공할 수 있지만, 잠재적 고객들은 이런 대안적 정보 채널들을 쉽게 찾을 수 없을 수 있다.
상술한 시나리오가 제품들 및 쇼핑과 관련되지만, 개인들의 끊임없는 정보 추구와 연관된 보다 넓은 함축들이 존재한다는 것을 이해할 수 있을 것이다. 예로서, 도시를 통과하는 여행자가 지역 공원 내의 조각상을 보고, 조각상의 역사적 의미에 대해 보다 많이 알기를 원하는 경우를 가정한다. 여행자가 호텔방에 돌아와 컴퓨터 접촉을 하는 경우, 사용자는 인터넷을 통해 조각상에 대한 정보를 검색할 수 있다. 그러나, 인터넷 검색 엔진들이 텍스트 기반 검색 질의들을 제공하기 때문에, 사용자는 가장 "적중(hit)"할 가능성이 있는 질의의 적절한 키워드들의 선택시, 트라이얼-앤드-에러 방법들(trial-and-error methods)에 제한된다. 조각상 또는 임의의 다른 물리적 오브젝트에 의해 전달되는 이미지들을 단어들/텍스트로 표현하는 것은 매우 곤란할 수 있으며, 그에 의해, 검색 엔진이 무관한 정보를 반환할 때, 사용자에게 실망을 초래하게 된다.
또한, 개인이 노래나 음성을 듣지만, 그 오디오에 대한 연관된 제목 및/또는 사람을 듣지는 못하는 경우의 상황들 같이, 오디오에도 유사한 문제들이 존재한다는 것을 알 수 있을 것이다. 검색 질의의 목적들을 위해 오디오를 단어들로 표현하는 것은 가장 성가시며, 다수의 상황들에서 매우 어렵다.
도 1은 다양한 실시예가 구현될 수 있는 다양한 전자 디바이스들을 도시하는 도면.
도 2는 다양한 실시예들에 따른 도 1의 전자 디바이스에 의해 포착될 수 있는 예시 이미지들 또는 오디오를 예시하는 도면.
도 3a 및 도 3b는 실시예의 시스템 구성요소들과 연관된 동작들의 흐름 블록도.
도 4는 도 3a 및 도 3b의 시스템의 저장 유닛을 위한 개요의 일 실시예의 도식적 도면.
도 5는 일 실시예에 따른 함수 스트링의 개략도.
도 6a 및 도 6b는 일 실시예에 따른 오브젝트 모델을 예시하는 도면.
도 7은 일 실시예에 따른 인증 프로세스를 도시하는 플로우차트.
도 8은 일 실시예에 따른 미디어 포착, 디코딩, 원격 함수 호 및 정보의 반환을 도시하는 플로우차트.
일 양태는 디바이스의 현재 사용자와 관련된 포착된 정보를 수신하는 것을 포함하는 방법을 제공한다. 포착된 정보는 그 컨텐트를 결정하도록 디코딩되며, 결정된 컨텐트는 사용자를 인증하기 위해 저장된 컨텐트와 비교된다. 사용자가 인증되는 경우, 이 방법은 파라미터들을 갖는 함수를 호출하고, 디바이스를 통해 입수할 수 있는 서비스를 인증된 사용자가 액세스할 수 있게 하도록 이 함수를 실행한다.
다른 양태는 디바이스에 의해 포착된 대상과 관련된 매체들을 수신하는 것을 포함한다. 수신된 매체들은 그 컨텐트를 결정하도록 디코딩된다. 결정된 컨텐트는 함수 스트링과 연관된다. 이 방법은 포착된 대상과 관련된 정보를 디바이스에 반환하도록 함수 스트링을 통해 식별된 함수를 실행한다.
달리 명시되지 않은 한, 유사 참조 번호들이 다양한 도면들 전반에 걸쳐 유사 부분을 지시하고 있는 하기의 도면을 참조로, 비제한적이고, 비소진적인 실시예들이 설명된다.
포착된 이미지들(및 오디오)과 연관된 정보를 획득하기 위해 원격 함수 호출들을 수행하기 위하여 서버를 사용하는 기술들의 실시예들이 여기에 설명되어 있다. 하기의 설명에서, 실시예들의 전반적 이해를 제공하기 위해, 다수의 특정 세부사항들이 제공된다. 그러나, 관련 기술의 숙련자는 본 발명이 특정 세부사항들 중 하나 이상을 제외하고 실시되거나, 다른 방법들, 구성요소들, 재료들 등과 함께 실시될 수 있다는 것을 이해할 것이다. 다른 예들에서, 잘 알려진 구조들, 자료들 또는 동작들은 본 발명의 양태들을 불명료하게 하는 것을 피하기 위해 상세히 예시 또는 설명되지 않는다.
본 명세서 전반에 걸쳐, "하나의 실시예(one embodiment)" 또는 "일 실시예(an embodiment)"에 대한 언급은 이 실시예와 연관하여 설명된 특정 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전반에 걸쳐 다양한 장소들에서의 어구들 "하나의 실시예에서(in one embodiment)" 또는 "일 실시예에서(in an embodiment)"의 존재는 반드시 모두 동일한 실시예를 지칭하고 있는 것은 아니다. 또한, 특정 특징들, 구조들 또는 특성들은 하나 이상의 실시예들에서 임의의 적절한 방식으로 조합될 수 있다.
개요로서, 일 실시예는 모바일 무선 디바이스들 같은 전자 디바이스들의 사용자들에게 관련 정보가 반환될 수 있게 하는 기술을 제공한다. 예로서, 카메라를 구비한 셀룰러 전화를 갖는 사용자는 자동차 판매소에서 차량의 화상/이미지를 촬상하고, 이 이미지를 서버로 전송할 수 있다. 서버는 이미지의 대상을 식별하기 위해 이미지를 디코딩하고, 그 후, 그 대상과 관련된 정보(제조자, 모델, 제품 리뷰들, 가격, 경쟁 제품들 등 같은)를 획득한다. 이 정보는 서버에 의해 셀룰러 전화로 반환되며, 여기서, 정보가 사용자에 의한 검토를 위해 디스플레이된다. 셀룰러 전화가 예시적 사용자 전자 디바이스로서 사용될 수 있지만, 이미지들 및/또는 음향을 포착하는 기능을 구비한 임의의 적절한 디바이스와 연관하여 사용될 수 있는 실시예들이 제공된다.
다양한 실시예들에 따라서, 사용자에 의해 포착된 이미지들은 1D 또는 2D 이미지들일 수 있다. 1D 이미지들의 예들은 바코드들 또는 다른 인간이 인지할 수 없는 이미지들을 포함한다. 2D 이미지들의 예들은 영문숫자 스트링들, 로고들, 슬로건들, 상표명들, 일렬 번호들, 텍스트, 생체측정들(지문들 또는 얼굴 특징들 같은), 다양한 오브젝트들의 이미지들(역사적 건축물, 동물들, 무생물들 등) 또는 2D 형태로 표현될 수 있는 실질적인 임의의 유형의 인간이 인식할 수 있는 이미지를 포함하지만, 이에 한정되지는 않는다. 일 실시예에서, 3차원(3D) 이미지들(또는 외형)이 포착되고, 홀로그램들 같은 2D 형태로 표현될 수도 있다. 또한, 실시예에 따라서, 오디오가 포착되고(예로서, 음성 인식 구현체들을 포함)파일로 변환되며, 처리를 위해 서버로 전송될 수 있다.
일 실시예에서, 서버는 수신된 이미지를 식별하기 위해 복수의 플러그인 프로그램들 중 적어도 하나를 사용한다. 이미지가 식별된 이후, 함수 마크를 갖는 함수 스트링이 식별된 이미지와 연관된다. 함수 스트링은 호를 위한 함수의 신분을 및 그 함수에 전달될 파라미터들 및/또는 파라미터 값들을 포함한다. 파라미터들 및 파라미터 값들은 사용자의 셀룰러 전화(예로서)로 반환될 미디어 정보와 연관된다. 따라서, 함수가 호출되고, 실행될 때, 미디어 정보가 검색, 처리 및 사용자의 셀룰러 전화로 반환된다. 포착된 이미지들 또는 음향들이나 호를 위한 특정 함수를 명시적으로 나타낼 수 있는(또는 그렇지 않은) 다른 미디어는 여기서, 종종 "심볼들(symbols)"이라 지칭된다.
다양한 구현예들을 후술할 것이다. 예로서, 모듈들의 실시예들은 제품 정보 제공, 소프트웨어 등록, 처리 쿠폰들, 전자 세팅들의 수행, 경쟁 제품 정보의 수신, 사용자들의 인증, 외국어의 번역, 경매들에 대한 검색, 생체측정 처리 등을 제공하기 위해 사용될 수 있다. 이들은 단지 예들일 뿐이며, 본 발명은 설명된 구현들 중 임의의 특정한 하나 또는 그 이상에 제한되지 않는다는 것을 이해하여야 한다.
수신된 이미지들의 식별을 돕기 위해, 하나의 실시예는 이미지 전처리 시스템을 제공한다. 이미지 전처리 시스템은 열악한 품질 또는 열악한 해상도의 이미지들로부터 심볼들을 추출하기 위해 이미징 기술들을 적용하여, 식별 성공률을 증가시킨다.
도 1은 다양한 실시예들이 구현될 수 있는 다양한 전자 디바이스들을 도시한다. 도 1은 오디오 또는 이미지들(비디오 포함)을 포착할 수 있는 전자 디바이스들 중 단지 일부 예들을 도시하는 것이며, 오디오 또는 이미지들을 서버로 전송하기 위한 기능을 가지는 전자 디바이스들의 다른 유형들도 다른 실시예들에 사용될 수 있다는 것을 이해하여야 한다. 또한, 도 1의 전자 디바이스들은 일부 예들에서, 카메라들, 마이크로폰들, 네트워크 접속 구성요소들, 생체 측정 스캐너들, 디스플레이 스크린들, 웹 브라우저들 등 같은 공통 특징들을 가질 수 있다. 이들 전자 디바이스들의 다양한 특징들은 본 개시물의 이점을 갖는 본 기술의 숙련자들에게 알려져 있기 때문에, 이런 특징들은 여기에서 상세히 설명하지 않는다.
셀룰러 전화(100)는 카메라(102)를 포함하며, 이는 사용자가 사진들을 촬상하거나, 다른 방식으로, 관련 피사체에 셀룰러 전화(100)를 적절히 지향시킴으로써 이미지들(비디오 포함)을 포착할 수 있게 한다. 데스크탑 퍼스널 컴퓨터(PC) 또는 랩탑 같은 컴퓨터(104)는 네트워크(인터넷 같은)를 통해 오디오 및 이미지들이 전송될 수 있게 하거나, 로컬 저장될 수 있게 하는 웹 카메라(106)를 포함한다. 다른 예들은 원래 하드 카피 포맷으로 존재하는 전자 이미지들을 생성하기 위해 사용될 수 있는 스캐너(108)를 포함한다.
인터넷 프로토콜(IP) 전화(110)는 사용자가 전화 대화들을 수행하거나, IP 텔레포니 네트워크를 통해 팩시밀리들을 전송할 수 있게 한다. 하나의 실시예의 IP 전화(110)(그리고, 다른 예시된 전자 디바이스들 중 임의의 것)는 사용자 인증을 위한 생체 측정 스캐너(112)(지문들, 얼굴 이미지들, 망막 스캔들 등을 포착하기 위한) 및 마이크로폰(112)을 포함할 수 있다.
다른 가능한 예시 전자 디바이스들은 팩스기(116) 및 퍼스널 디지털 어시스턴트(118)나 기타 무선 디바이스를 포함한다. 다른 이미지 포착 디바이스들(120) 및/또는 오디오비디오 디바이스(122)도 다양한 실시예들과 함께 사용될 수 있다.
도 1의 전자 디바이스들은 무선 및/또는 유선 접속(124)을 통해 네트워크(126)와 통신할 수 있다. 네트워크(126)는 인터넷, 지역 네트워크(LAN), 가상 LAN, 공중 교환 전화 네트워크(PSTN), IP 텔레포니 네트워크, 위성 통신 네트워크, 광 네트워크, 가상 사설 네트워크(VPN), 기타 무선 또는 유선 네트워크 또는 그 조합을 포함할 수 있다. 일 실시예에서, 포착된 오디오 또는 이미지들과 관련된 관련 정보를 전자 디바이스들에게 제공하고, 특정 용도들을 위해 전자 디바이스들을 인증하는 등을 위해, 네트워크(126)를 통해 전자 디바이스들과 통신할 수 있는 서버(보다 상세히 후술됨)가 제공된다.
도 2는 다양한 실시예들에 따른 도 1의 전자 디바이스들에 의해 포착될 수 있는 예시 이미지들(오브젝트의) 또는 오디오를 예시한다. 역시, 도 2는 단지 예들을 보여주기 위한 것이며 제한을 의도하는 것은 아니라는 것을 인지하여야 한다. 도 2의 설명을 위해, 셀룰러 전화(100)가 이미지들 또는 오디오(카메라(102)의 사용을 통한 것 같이)를 포착할 수 있는 예시 전자 디바이스로서 사용된다. 셀룰러 전화(100)는 포착된 이미지들을 사용자가 프리뷰할 수 있게 하며, 서버로부터 반환된 관련 정보를 관찰할 수 있게 하는 디스플레이 스크린(200)을 포함한다.
바코드(202)의 이미지(또는, 다른 인간이 인식할 수 없는 1D 또는 2D 이미지)가 셀룰러 전화(100)에 의해 포착될 수 있다. 바코드(202)는 제품 포장 또는 임의의 다른 바코드가 부착된 제품상에 존재할 수 있다. 바코드(202)의 이미지를 포착하고, 이 이미지를 서버로 전송함으로써, 제품 가격, 제품 세부사항들, 관련 웹 사이트 유니폼 자원 로케이터(URL) 어드레스들 또는 경쟁 제품들과 관련된 정보 같은 관련 정보가 셀룰러 전화(100)에 반환될 수 있다.
외국어 오브젝트(204)의 이미지도 포착 및 처리될 수 있다. 본 예에서, 외국 어 오브젝트는 스페인어로 기재된 표지판이다. 서버(100)는 "Hacienda"의 영어 번역 또는 임의의 다른 외국 어휘 단어를 셀룰러 전화(100)에 제공할 수 있다.
사용자는 소프트웨어 제품(206)의 이미지(그 포장 디자인, 바코드, 일렬 번호, 상표, 제품명 또는 다른 연관된 인간이 인식할 수 있는 2D 이미지)를 포착하기 위해 셀룰러 전화(100)를 사용할 수 있다. 이렇게 함으로써, 사용자는 소프트웨어 제품(206)을 등록(그리고, 셀룰러 전화의 디스플레이 스크린(200)을 통해 확인정보를 수신)하고, 제품 정보 및 가격을 수신하고, 경쟁 제품들에 대한 정보를 수신하고, 제품 리뷰들을 수신하는 등이 가능하다.
사용자가, 자동차 판매소에 들어가 차량(208)을 보는 경우, 사용자는 차량(208)(또는, 그 윈도우 스티커(210))의 화상을 촬상하고, 차량의 리뷰를 수신할 수 있다. 리뷰 또는 다른 관련 정보는 스트리밍 비디오, 그래픽 또는 텍스트 파일, URL 링크들, 오디오 등으로서 셀룰러 전화(100)에 의해 수신될 수 있다.
여행자들 또는 다른 사용자들에 대하여, 역사적 장소(212)(워싱턴 시에틀의 스페이스 니들 같은)의 이미지가 포착될 수 있다. 그 후, 사용자는 역사적 정보, 입장료들, 운영 시간들 또는 지역 관광 사무소, 시당국, 온라인 문헌 및 기타 소스들로부터 생성된 다른 관련 정보를 수신할 수 있다. 임의의 오브젝트의 이미지가 포착되면(또한 포착된 오디오에도 적용가능함), 또한, 셀룰러 전화(100)로 인터넷 엔진 검색 결과들을 반환하는 것도 가능하다. 예로서, 서버가 역사적 장소(212)의 이미지가 스페이스 니들인 것으로 식별하고 나면, 서버는 검색 결과들의 히트 리스트를 획득하기 위해 GooleTM 또는 기타 인터넷 검색 엔진으로 이미지 또는 텍스트 검색을 개시할 수 있으며, 그 후, 검색 결과들이 사용자의 정독을 위해 셀룰러 전화(100)에 전송될 수 있다.
사용자가 예로서, 대학 축구 게임 관람 중이고, 점수판(214)상의 그래픽을 보는 경우, 사용자는 점수판(214)의 화상을 촬상하고, 이 화상을 서버에 전송할 수 있다. 서버가 이미지로부터 정보(학교의 팀의 이름 같은)를 도출하고 나면, 서버는 셀룰러 전화(100)의 신호음이 그 학교의 응원가가 되도록 할 수 있다. 이는 이미지들 및/또는 오디오의 포착 및 처리에 대한 응답하여 가능할 수 있는 기능 또는 정보의 유형의 단지 일 예이다.
부가적인 예들을 계속 설명하면, 셀룰러 전화(100)가 쿠폰(216)을 스캔하기 위해 사용될 수 있다. 그 후, 쿠폰(216)의 이미지는 웹사이트에서 이수할 수 있는 제품들의 할인율들을 적용하도록 또는 달리는, 쿠폰(216)을 상품으로 교환하도록 서버에 의해 처리될 수 있다. 콤팩트 디스크(CD) 커버, 디지털 비디오 디스크(DVD) 커버 또는 영화 포스터(218)의 이미지가 촬상될 수 있으며, 이는 그 후, 사용자가 스트리밍 무비 테일러들, 노래 샘플들, 구매할 수 있는 신호음들, 공연 시간 스케쥴들, 아티스트 정보, 리뷰들, 극장들 또는 매점들의 위치들 등을 수신할 수 있게 한다.
사용자는 와인 병(220) 같은 단순한 오브젝트의 화상을 촬상할 수 있다. 사용자가 셀룰러 전화상에서 수신할 수 있는 정보는 권장되는 동반 식품들을 위한 제안들, 지역 상인들로부터의 가격 목록들, 와인 양조장 및 포도주 생산 정보 등을 포함할 수 있다. 다른 예로서, 사용자는 수집품들(우표(222) 같은)의 사진을 촬상하고, 이 사진을 서버에 보낼 수 있다. 그후, 서버는 EbayTM 또는 다른 경매 사이트 상의 경매에서 입수할 수 있는 우표들의 목록 같은 경매 정보를 사용자에게 반환하도록 처리할 수 있다.
일 실시예는 인증 및 보안 목적들을 위해 사용될 수 있다. 예로서, 셀룰러 전화들(100) 또는 IP 전화들(110)의 사용자들은 얼굴 인식(224) 또는 음성 인식(226)을 사용함으로써, 네트워크상의 임의의 전화에 대한 액세스 권한들을 제공받을 수 있다. 대안적으로 또는 부가적으로, 지문 이미지(228)이나 망막 이미지와 같은 생체측정 정보가 인증을 위해 사용될 수 있다.
제1 예로서, 회사 내의 IP 텔레포니 네트워크는 그 고용인들에 대한 연결을 제공할 수 있다. 그러나, 일부 고용인들은 다른 고용인들과는 다른 특권들 또는 액세스 권한들(지역, 장거리 또는 국제 호출 기능들 같은)을 가질 수 있다. 또한, 이들 IP 호들의 형성을 그 사무실로부터로만 제한하는 대신, 임의의 전화 또는 회사 내의 위치로부터의 IP 전화 호를 형성할 수 있는 것이 바람직하다.
따라서, 일 실시예는 임의의 전화 및/또는 위치로부터 사용자가 인증될 수 있게 한다. 이 인증은 음성 인식(226), 얼굴 인식(224), 지문(228) 또는 생체측정 스캐너(112) 또는 IP 전화상의 다른 입력 디바이스를 사용하는 다른 생체측정 기반 인증을 통해 수행될 수 있다. 포착된 정보는 인증을 수행하는 서버로 전송된다. 인증되는 경우, 그 후, 서버는 IP 전화 호의 접속의 완성을 개시할 수 있다. 서로 다른 사용자들은 서로 다른 허가 레벨들 또는 특권들을 부여받을 수 있다.
제2 예로서, 비상시에의 경우들에서, 연방 또는 정부들, 지자체들, 본국 보안과 또는 다른 기관 또는 주체들이 허가된 개인들에 의한 사용만을 위해 일부 무선 주파수들이 별도로 설정되는 것을 명령할 수 있다(법률 시행, 비상 응답 대원, 시 책임자들, 군대 등). 따라서, 이런 시스템에 대하여, 비상 상황들 동안 허가된 개인들에게 이들 주파수가 가용하며, 핵커들 또는 무허가 사용자들은 이들 주파수의 사용 및 가용성을 위태롭게 하지 않아야 하는 것이 중요하다.
따라서, 백엔드(backend) 서버의 실시예는 인증을 위해 사용할 수 있는 백엔드 이미지들/오디오 또는 기타 정보로 생체측정 정보(지문들의 이미지들이나 얼굴 특징들 등 또는 음성, 또는 사용자의 전자 디바이스에 의해 포착되는 것)를 비교함으로써 사용자를 인증한다. 사용자의 인증시, 서버는 제한된 주파수들에 대한 사용자의 전자 디바이스의 접속을 개시한다.
도 2의 다른 예로서, 자신 또는 다른 사람(또는 심지어 동물)의 이미지들(230)이 취해질 수 있다. 그 후, 이미지들(230)은 예로서, 유명한 사람 또는 동물들의 닮은꼴들의 검색, 유사한 외관들을 갖는 데이트들이 검색, 모핑(morphing) 수행 등을 위해 서버에 전송될 수 있다. 다른 가능한 용례로서, 법 집행관 또는 수사관들이 용의자들의 이미지들을 개별적으로 포착하고, 그 후, 이들 이미지들을 도망자들 또는 범죄 기록들을 갖는 개인들의 백엔드 이미지 파일들과 비교할 수 있다.
임의의 유형의 오디오(232)가 포착 및 식별되거나, 다른 방식으로, 서버에 의해 처리될 수 있다. 예로서, 사용자는 오디오 상에서 연주되는 외우기 쉬운 곡조의 오디오 또는 음향 바이트들을 포착하고, 서버가 노래의 이름, 아티스트들, 앨범 타이틀, 앨범을 판매하는 매장 위치들 등 같은 데이터를 반환하게 할 수 있다. 오디오(232)의 포착 및 처리를 이용한 다수의 다른 용례들이 가능하다.
도 3a 및 도 3b는 일 실시예의 시스템(300)의 구성요소들 및 연관된 동작들을 예시하는 흐름 블록도이다. 설명의 단순성을 위해, 단지 실시예의 동작을 이해하기 위해 밀접한 프로세스들 및 구성요소들만을 여기에 예시 및 설명한다. 일 실시예에서, 프로세스들 및 구성요소들 중 적어도 일부는 기계 판독가능한 매체 상에 저장된 소프트웨어 또는 기타 기계 판독가능한 명령으로 이루어질 수 있으며, 이는 하나 이상의 프로세서들에 의해 실행될 수 있다. 도 3a 및 도 3b와 다른 도면들에 도시된 다양한 방향 화살표들은 데이터 또는 명령들의 유일한 가능한 흐름을 엄격히 규정하기 위한 것은 아니며 - 대신, 이런 방향 화살표들은 단지 가능한 데이터 또는 프로세스 흐름들을 일반적으로 예시하기 위한 의미이고, 다른 흐름들 또는 구성요소들이 추가, 제거, 변경 또는 도 3a 및 도 3b에 도시된 바와 반드시 동일할 필요는 없는 방식으로 조합될 수 있다는 것을 이해하여야 한다.
메일 게이트웨이(302)는 그로부터의 통신을 수신하도록 네트워크(126)에 통신가능하게 연결된다. 보다 구체적으로, 일 실시예에 따라서, 메일 게이트웨이(302)는 포착된 이미지들/오디오를 갖는 사용자 디바이스들(102-122) 중 하나로부터 전송된 이메일들 또는 다른 통신들을 수신할 수 있다. 이메일 통신들의 경우에, 이미지들 또는 오디오는 이메일의 하나 이상의 첨부 파일들의 형태일 수 있다. 이미지들을 위한 가능한 포맷들은 JPEG, GIF, MPEG 등이며, 오디오는 예로서, .mp3, .wav 등일 수 있다. 메일 게이트웨이(302)는 이메일들을 수신, 포착된 이미지들 및 오디오를 가지는 첨부물들 또는 다른 정보를 박리 또는 다른 방식으로 추출하도록 동작하는 메일 유닛(304)을 포함할 수 있다. 또한, 메일 유닛(304)은 서버(306)와의 인터페이스를 제공하도록 동작한다. 예로서, 수신된 이메일들로부터의 첨부물들의 추출 이후에, 메일 유닛(304)은 추출된 정보를 서버(306)에 제공한다.
일 실시예에 따라서, 메일 게이트웨이(302)는 디코딩 요청들을 서비스하기 위해(예로서, 디코딩을 위해 서버(306)에 미디어를 전달하기 위해), 독립형 단순 메일 전달 프로토콜(SMTP) 서버로서 운영된다. 역시, 메일 게이트웨이(302)는 임의의 적절한 메일 프로토콜 또는 플랫폼에 따라 동작할 수 있다는 것을 인지하여야 한다. 메일 게이트웨이(302)는 세션당 다수의 이미지 첨부물들을 디코딩하는(서버(306)에 의해) 기능을 제공하며, 여기서, 도입 메시지들의 모든 관련 세부사항들(이메일의 라인들, 서브젝트 필드들, 첨부물들 등 내의 컨텐트 같은)은 자동으로 해석되고, 서버(306)에 전달된다.
서버(306)는 처리, 통신들, 저장 등을 위한 다양한 소프트웨어 및 하드웨어 구성요소들을 포함한다. 하나 이상의 프로세서들(308)이 하나 이상의 저장 미디어(310)에 통신가능하게 연결된다. 저장 매체(310)는 데이터베이스, 임의 접근 메모리(RAM), 판독 전용 메모리(ROM), 파일 시스템, 하드 디스크, 광 미디어 또는 임의의 다른 유형의 적절한 저장 매체 또는 그 조합을 포함할 수 있다. 일 실시예에서, 저장 매체(310)는 소프트웨어, 오브젝트들, 정적 또는 동적 코드, 데이터 및 기타 기계 판독가능한 컨텐트를 저장할 수 있으며, 이를 이용하여, 프로세서(308)는 여기에 설명한 다양한 기능들을 수행하기 위해 협력(예로서, 실행)할 수 있다. 설명을 위해, 도 3의 서버(306)는 다수의 구성요소들을 갖는 것으로 도시되어 있으며, 이는 저장 매체(310)로부터 별개인 소프트웨어로 구현될 수 있고-이들 소프트웨어 구성요소들 중 적어도 일부는 저장 매체(310) 내에 존재할 수 있다는 것을 인지하여야 한다.
이들 소프트웨어(또는 하드웨어) 구성요소들 중 하나는 처리 및 디코딩 유닛(312)이다. 유닛(312)은 메일 유닛(304)으로부터 추출된 미디어(이미지 또는 오디오 파일들 같은)를 수신하고, 그 품질을 향상시키도록 및/또는 디코딩을 위한 적절한 포맷으로 미디어를 배치하도록 수신된 미디어를 전처리하고(필요시), 그로부터 정보를 식별하기 위해 수신된 미디어를 디코딩하도록 동작한다.
디코딩에 관련하여, 일 실시예의 유닛(312)은 복수의 디코더 플러그인 프로그램들(314-320)(또는 다른 적절한 디코더 모듈들)을 사용한다. 플러그인 프로그램(314)은 1D 바코드들을 디코딩하기 위해 사용되고; 플러그인 프로그램(316)은 2D 바코드들을 디코딩하기 위해 사용되고; 플러그인 프로그램(318)은 이미지들(비디오 프레임들 포함)을 디코딩 또는 기타의 방식으로 식별하기 위해 사용되며; 플러그인 프로그램(320)은 오디오를 디코딩하기 위해 사용된다. 도 3a에 명시적으로 도시된 것 이외의 보다 많거나 보다 소수의 플러그인 프로그램들이 존재할 수 있다. 일 실시예에서, 플러그인 프로그램들은 이미지들, 오디오 또는 기타 미디어를 위한 임의의 적절한 상업적으로 입수할 수 있는 미디어 디코더 프로그램들을 포함할 수 있다.
일 실시예에서, 유닛(312)은 이들 플러그인 프로그램들 중 하나가 미디어 파일의 컨텐트를 성공적으로 디코딩 및 식별하고(예로서, 일렬 번호, 이미지 내의 오브젝트, 오디오 파일 내의 사람의 음성 등을 식별), 결과를 유닛(312)에 반환할 수 있을 때까지, 각 플러그인 프로그램(314-320)에 각 수신된 미디어 파일(이미지 또는 오디오 파일 같은)을 전송한다. 다른 실시예에서, 유닛(312)은 그들 각각에 수신된 미디어 파일을 반복적으로 전송하는 대신, 플러그인 프로그램들(314-320) 중 단 하나(또는 단지 소수)에 수신된 미디어 파일을 특정하게 안내하도록 프로그램될 수 있다. 1D 또는 2D 바코드나 다른 데이터 수반 이미지의 성공적 디코딩의 경우에, 플러그인 프로그램들(314 또는 316)은 그 이미지에 의해 수반된 영문숫자 텍스트 또는 기타 데이터를 반환한다. 하나 이상의 제3 집단 디코딩 엔진들(322)이 그에 수반된 데이터를 획득하기 위해 1D 또는 2D 바코드들을 디코딩 또는 다른 방식으로 해석하는 것을 돕기 위해 플러그인 프로그램들(314 또는 316)에 의해 사용될 수 있다.
필수적으로 데이터를 수반하지는 않을 수 있는 이미지들 또는 오디오를 위해, 플러그인 프로그램들(318 또는 320)은 각각 이미지/오디오 및 연관된 함수 스트링(efm)의 식별을 돕기 위해 함수 룩업 모듈(324)을 액세스할 수 있다. 예로서, 수신된 이미지가 도 2의 역사적 장소(212)의 것인 경우, 그 후, 함수 룩업 모듈은 미디어-함수 룩업 유닛(326)(어느 함수 스트링이 역사적 장소(212)와 연관되어 있는지를 결정하기 위해) 또는 도 3b의 미디어 저장 위치(328)(그 역사적 장소(212)를 스페이스 니들로서 식별하기 위해) 중 어느 하나 또는 양자 모두를 액세스한다. 필요시, 일치를 찾기 위해, 퍼지 로직 또는 체크섬이 사용될 수 있다.
미디어-함수 룩업 유닛(326) 및/또는 미디어 저장 위치(328)는 서버(326) 내에 또는 외부 저장 유닛(330) 내에 존재할 수 있다. 일 실시예에서, 미디어-함수 룩업 유닛(326)은 미디어의 식별된 컨텐트와 연관된 함수들(또는 후술될 함수 스트링들)을 나열하는 룩업 테이블 또는 데이터베이스를 포함하며, 여기서, 미디어 컨텐트는 미디어 저장 위치(328)를 액세스함으로써 식별될 수 있다. 미디어 저장 위치(328)는 플러그인 프로그램들(318-320) 또는 다른 플러그인 프로그램들을 위해 그 수신된 미디어 컨텐트를 식별하는 목적을 위해 수신된 미디어 컨텐트에 상관 또는 비교될 수 있는, 파일 이미지들, 오디오, 지문들, 음성 클립들, 텍스트, 그래픽스, 또는 실질적인 임의의 유형의 정보를 저장할 수 있는 데이터베이스, 룩업 테이블, 파일 시스템 또는 다른 적절한 데이터 구조일 수 있다.
일 실시예에 따라서, 수신된 미디어는 성공적인 디코딩의 가능성을 증가시키도록 디코딩되기 이전에, 포맷화 또는 "클린드-업(cleaned-up)"될 수 있다. 2D 바코드 디코더 플러그인(316)에 관련하여, 예로서, 그 플러그인 프로그램은 이미지가 8 비트 비트맵 포맷으로 디코딩되는 것을 필요로 할 수 있다. 따라서, 일 실시예는 디코딩 이전에 이미지/오디오 품질을 개선시키기 위해(예로서, 조립질 또는 흐린 이미지들 또는 오디오를 선명화), 및/또는 수신된 이미지를 각 적절한 포맷으로 배치하기 위해 미디어 필터들로서 동작하는 동작 세트들의 형태로, 디코딩 이전에 미디어 전처리 기능을 제공한다.
도 3a의 예에서, 1D 바코드 디코더 플러그인 프로그램(314)은 두 개의 동작 세트들(1D 이미지 필터들(332 및 334))을 갖는다. 필터(332)는 대비 조절(336) 및 평활화(338)를 수행한다. 필터(334)는 흑색 및 백색(BW) 변환(340)을 수행한다. 일 실시예에서, 모든 동작 세트들이 디코딩 이전에 적용될 필요가 있지는 않다. 예로서, 제1 동작 세트(필터 332)의 적용이 성공적 디코딩을 초래하고, 그 후, 제2 동작 세트(필터 334)는 적용될 필요가 없을 수 있거나, 그 반대도 마찬가지이다. 그러나, 최초 동작 세트(들)의 적용이 성공적 디코딩을 초래하지 않는 경우, 그 후, 부가적인 동작 세트(들)이 성공적인 결과가 얻어질 때까지 적용될 수 있다.
도 3a의 동작 세트들의 다른 예들은 BW 변환(344) 및 대비 조절(346) 동작들 중 어느 하나 또는 양자 모두를 수행할 수 있는 2D 이미지 필터를 포함한다. 이미지 식별(ID) 필터가 크기변경(350) 동작 또는 다른 동작들을 수행할 수 있으며, 오디오 필터(352)가 오디오 품질 및 포맷을 개선 또는 변경하기 위한 다른 동작들(354)을 수행할 수 있다. 도 3a에 도시된 다양한 동작들은 단지 예시일 뿐이며, 플러그인 프로그램들(314-320) 중 임의의 것에 대한 제한을 의도하거나, 전체를 서술하기 위한 것은 아니다.
성공적 디코딩시, 플러그인 프로그램들(314-320)은 결과들로서 함수 스트링들을 생성 및 반환한다. 1D 및 2D 바코드들(또는 다른 데이터 수반 이미지들)에서, 반환된 결과들은 일반적으로 영문숫자 문자들의 스트링들이다. 다른 이미지들 및 오디오에서, 반환된 결과들은 미디어-함수 룩업 유닛(326)으로부터 얻어지는 바와 같은, 영문숫자 함수 스트링들일 수도 있다. 후술될 바와 같이, 함수 스트링들은 함수 마스크와 연관되며, 함수, 그 파라미터들 및 파라미터들의 값들을 지정한다.
함수 스트링들은 전처리 및 디코드 유닛(312)에 의해 함수 및 파라미터 요청 유닛(356)에 제공된다. 요청 유닛(356)은 함수 스트링을 해석하여 지정된 함수의 ID를 획득하고, 그 함수를 위한 파라미터(들)와, 도 3b의 저장 유닛(330)으로부터의 파라미터(들)의 값들을 획득한다. 일 실시예의 저장 유닛(330)은 함수 명칭들 및 함수들 자체들(공식들, 코드, 스크립트들, 로컬 관계들, 오브젝트들 등 같은)을 저장하는 함수 저장 위치(358)를 포함한다. 또한, 저장 유닛(330)은 파라미터 명칭들 및 값들 저장 위치(360)를 포함한다. 이 저장 위치(360)는 파라미터 명칭들, 연관된 값들 및 독립변수들로서 사용가능한 다른 정보 또는 대응 함수들에 의해 사용되는 다른 데이터를 저장한다.
함수들, 파라미터들 및 파라미터 값들이 호출 또는 다른 방식으로 요청 유닛(356)에 의해 획득되고 나면, 함수 실행 및 반환 유닛(362)은 지정된 함수를 실행하고, 결과를 대응 사용자 디바이스(102-122)에 반환한다. 일 실시예에서, 함수들은 실행될 비즈니스 로직 또는 다른 지능들을 이행함으로써, 서버(306)에 의해 실행될 수 있다. 서버(306)에서 실행되는 이들 함수들은 도 3a의 364에 도시되어 있다.
대안적으로, 또는 부가적으로, 함수들은 원격적으로 호출 및/또는 실행될 수 있다. 예로서, 그리고, 도 3b를 참조로, 복수의 서버 유닛들(336-370)은 서버(306)로부터 통신가능하게, 그리고, 원격 결합될 수 있다. 이들 서버 유닛들(366-370)은 각 함수들(372-376)을 호스트(또는 실행)할 수 있다. 함수들(372-376) 각각은 순차적으로, 파라미터들, 파라미터 값들 및 다른 실행 동안 사용가능한 데이터를 획득하기 위해 다른 네트워크 구성요소들과 협력할 수 있다. 예로서, 함수(372)은 제3 집단 서버(378) 운영 리가시 애플리케이션들로부터 데이터를 획득할 수 있으며, 함수(374)은 애플리케이션 서버(380)로부터 데이터를 획득할 수 있고, 함수(376)은 외부 데이터베이스(382) 또는 기타 소스로부터 데이터를 획득할 수 있다.
일 실시예에서, 함수 실행 및 반환 유닛(362)은 네트워크(126)에 의해, 그리고, 메일 게이트웨이(302)에 응답 정보를 라우팅하지 않고, 직접적으로 발신 사용자 디바이스(102-122)에 응답 정보를 반환할 수 있다. 대안적으로, 또는 추가적으로, 함수 실행 및 반환 유닛(362)은 메일 유닛(304)에 의해 수신되도록 메일 게이트웨이(302)에 응답 정보를 전송할 수 있다. 메일 유닛(304)은 그 후, 응답 정보를 발신 사용자 디바이스(102-122)로 보내거나, 응답 정보를 메일 게이트웨이(302)의 응답 유닛(384)에게 라우팅할 수 있다.
일 실시예에서, 응답 유닛(384)은 참조 및 사용자 디바이스에 대한 응답의 형성을 위해 서버(306)로부터 수신된 응답 정보를 사용한다. 예로서, 서버(306)로부터 수신된 응답 정보는 대응 함수의 실행의 결과로서, 메시지 및 URL이 생성되어 사용자 디바이스에게 전송될 것을 명령할 수 있다. 응답 유닛(384)은 메일 게이트웨이(302)의 미디어 데이터베이스(386)로부터 URL(또는 기타 미디어 또는 데이터) 및/또는 메시지를 획득하고, 그로부터, 적절한 응답 포맷으로 응답을 생성하고, 생성된 응답을 발신 사용자 디바이스(102-122)로의 전송을 위해 메일 유닛(304)에 제공함으로써 이 동작을 수행한다.
물론, 다른 실시예들에서, 서버(306) 자체의 요소들이 이 응답 생성 및 미디어 참조를 수행하고, 그에 의해, 이런 동작들을 수행하기 위한 메일 게이트웨이(302)의 별개의 구성요소들(예로서, 응답 유닛(384) 및 미디어 데이터베이스(386))에 대한 필요성을 제거 또는 감소시킬 수 있다. 또 다른 실시예들에서, 응답 유닛(384) 및 미디어 데이터베이스(386) 중 어느 하나 또는 양자 모두가 자체적으로 서버(306)에 위치될 수 있다.
도 4는 예로서, 저장 유닛(330)이 데이터베이스 포맷으로 구현되는 경우 같은, 도 3b의 저장 유닛을 위한 개요(400) 중 일 실시예의 그래픽적 표현이다. 이 개요 및 그 콘텐츠는 단지 예시적 목적들을 위한 것이며, 다른 개요들, 데이터 구조들 또는 데이터 관계들이 사용될 수 있다는 것을 인지하여야 한다.
함수 테이블(402)은 함수들과 연관된 엔트리들을 포함한다. 이들 엔트리들은 함수 ID, 함수 마스크 스트링, 파라미터들의 번호, 함수 명칭, URL, 사용자명 및 패스워드를 포함할 수 있으나, 이에 한정되지는 않는다. 함수 ID는 각 함수를 고유하게 식별하는 영문숫자 코드이다. 함수 마스크 스트링은 각 함수 스트링의 길이를 지정한다(후술됨). 각 함수는 지정된 임의의 수의 파라미터들(또는 독립 변수들) 및 함수 명칭을 가질 수 있다. URL, 사용자명 및 패스워드는 함수가 특정 서버 유닛(366-370)(또는 서버 306) 상에서 호출되는 위치 및 기타 기준들을 규정하는 엔트리들이다.
함수 테이블(402)내의 엔트리들은 함수 파라미터 테이블(406)에 링크된다(404로 도시). 함수 파라미터 테이블(406)은 각 함수를 위한 파라미터들과 연관된 엔트리들을 포함한다. 예로서, 각 함수 ID에 대하여, 슬롯 ID들(예로서, 함수 스트링내의 슬롯)이 존재하며, 이는 그 함수에 의해 사용되는 각 파라미터 명칭들과 연관된다.
함수 파라미터 테이블(406) 내의 엔트리들은 함수 파라미터 값 테이블(412)에 링크된다(408 및 410으로 도시). 예로서, 링크(408)는 대응 함수를 함수 파라미터 테이블(406)에 링크하고, 링크(410)는 그 함수의 파라미터들(또는 보다 구체적으로는, 파라미터들이 지정되는 슬롯 ID)을 함수 파라미터 테이블(412)내의 파라미터들을 위한 값 엔트리들에 링크한다. 함수 파라미터 테이블(412)은 함수 ID, 슬롯 ID, 값 ID(즉, 각 파라미터에 할당된 값의 ID), 값 및 값 명칭을 포함하는 필드들을 가질 수 있다.
표들(414-418)은 응답 체인들, 응답들 및 응답 미디어에 관련한다. 예로서, 특정 응답이 서버(306)로부터 전송되는 경우(대안적으로, 또는 부가적으로, 이런 응답들을 메일 게이트웨이(302)에 조합되게 하기 위해), 테이블들(414-418)은 특정 함수 스트링들을 특정 응답 컨텐트에 상관시키기 위해 사용될 수 있다. 미디어-함수 룩업 유닛(326) 및 미디어 저장 위치(328)에 관해, 테이블들(414-418)은 미디어의 특정 단편들을 인덱스하고, 미디어의 이들 단편들을 특정 함수들에 상관시키기 위해 사용될 수 있다. 응답, 응답 체인 및 미디어의 각 단편은 소유의 연관된 명칭 및 ID를 가질 수 있다.
도 5는 일 실시예에 따른 함수 스트링의 개략도이다. 예시적 함수 스트링이 500에 도시되어 있다. 함수 스트링(500)의 이 실시예는 9개 숫자 문자들 101002001의 시리즈를 포함하며, 함수 스트링(500)은 임의의 적절한 길이, 문자 포맷(숫자, 알파벳, 이진수 등), 컨텐트 등으로 이루어질 수 있다는 것을 인지하여야 한다. 문자들 101002001은 예로서, 바코드에 수반되고, 그로부터 추출되거나, 식별된 이미지에 상관될 수 있다(미디어-함수 룩업 유닛(326)의 사용을 통해).
함수 스트링(500)은 함수 마스크(502)와 연관된다. 함수 마스크(502)는 대응 함수 및 그 파라미터들을 식별하기 위해 함수 스트링이 해석되는 방식 및 함수 스트링의 포맷을 규정하도록 동작한다. 본 예에서, 함수 마스크(502)는 파이프 심볼들(|)에 의해 분리된 # 심볼들의 시리즈를 포함한다. 파이프 심볼들(|)은 함수 스트링을 3개 # 심볼들의 그룹들로 나누며, 제1 3개 # 심볼들은 함수 번호를 규정하고, 제2 3개 # 심볼들은 슬롯 1과 연관되며, 제3 3개 # 심볼들은 슬롯 2와 연관되는 등등이다. 각 # 심볼은 0-9의 숫자를 나타내며, 따라서, 3개 # 심볼들의 각 그룹은 000-999 사이의 숫자를 나타낼 수 있다. 함수 마스크(502) 내의 총 # 심볼들의 수는 임의의 적절한 고정된 또는 동적 길이로 이루어질 수 있으며, 파이프 심볼들(|)은 함수 스트링을 반드시 단지 3개 # 심볼들의 그룹들로 나누어야할 필요는 없다는 것을 인지하여야 한다.
본 실시예에서, 함수 스트링(500) 내의 제1 3개 번호들은 번호들(101)이며, 이는 번호 101을 갖는 함수 저장 위치에서 식별된 소정 함수에 대응한다. 본 예의 목적상, 함수(101)는 WAPPUSH라 명명된 함수이며, 이는 무선 애플리케이션 프로토콜(WAP)을 사용하여 무선 사용자 디바이스에 정보를 제공/전송하는 함수에 관련한다. 함수 스트링(500)의 슬롯 1내의 다음 3개 번호들은 002이며, 이는 저장 위치(360)에서 발견된 소정 파라미터에 대응한다. 본 예에서, 002에 대응하는 파라미터는 MESSAGE이다. 함수 스트링(500)이 3개 잔여 번호들(001)을 갖기 때문에, 이는 함수(101)에 전달될 수 있는 다른 파라미터가 존재한다는 것을 의미한다. 본 예에서, 이 부가적인 파라미터는 URL이라 명명되며, 이는 저장 위치(360)의 001 엔트리에 의해 식별된다.
따라서, 스트링(500)에 대응하는 함수는 WAPPSUH(MESSAGE, URL)이다. 일 예시적 구현에서, 이미지를 포착 및 전송하고, 함수가 실행된 이후, 사용자는 경쟁 제품 정보에 대한 URL을 제공하는 링크와 함께, 그의 셀룰러 전화(100)상에서 메시지("경쟁 제품을 보기를 원하십니까? 그렇다면 여기를 클릭하세요(Do you wish to view a competitive product? If so, click here)" 같은)를 수신한다. 메시지 "경쟁 제품을 보기를 원하십니까? 그렇다면 여기를 클릭하세요(Do you wish to view a competitive product? If so, click here)" 및 링크를 제공하는 특정 URL은 함수(101)에 전달된 두 개의 파라미터들의 값들이며, 이는 저장 위치(360)에 저장되고, 그로부터 얻어질 수 있다.
도 5의 예가 함수 ID, 그리고, 그 후 각 후속 슬롯의 파라미터 ID들에 따라 함수 스트링(500)이 나누어지는 구현예를 설명하지만, 다른 데이터 조직 기술들이 사용될 수 있다는 것을 인지하여야 한다. 예로서, 슬롯들 중 일부는 사용을 위한 파라미터들의 수, 각 파라미터에 대응하는 값들의 수, 값 ID 번호들 또는 심지어 파라미터 명칭들, 값 명칭들 또는 값 자체들이나 그 조합들을 지정할 수 있다. 서로 다른 레벨들에서의 함수 마스크들(가능하게는 서로 다른 길이들의)의 네스팅을 포함하는, 각 이미지 또는 오디오 단편과 연관된 다수의 함수 마스크들이 존재할 수 있다.
도 6a 및 도 6b는 일 실시예에 따른 전체 오브젝트 모델을 예시한다. 오브젝트 모델의 요소들은 소프트웨어, 코드, 모듈 또는 기계 판독가능한 매체 상에 저장된 다른 기계 판독가능한 명령들로 구현될 수 있다. 예로서, 도 6a 및 도 6b의 오브젝트 모델은 저장 매체(310) 및/또는 저장 유닛(330) 내에 저장된 소프트웨어를 나타낼 수 있으며, 이는 프로세서(308)에 의해 실행가능하다. 도 6a 및 도 6b(또는 그 부분들)의 요소들 또는 동작들 중 적어도 일부는 도 3a 및 도 3b에 도시된 요소들 또는 동작들과 일치할 수 있다.
주 또는 중앙 처리 오브젝트(600)는 디코딩 프로세스를 초기화하기 위해, 구성 데이터를 로딩하기 위해, 또는 디코딩 미디어와 연관된 기타 프로세스들을 수행하고 사용자 디바이스에 응답을 반환하기 위해 서버(306)가 호출하는 주 함수로서 동작할 수 있다. 초기화 프로세스에 관하여, 처리 오브젝트(600)는 구성 정보를 로딩하고, 심볼 디코더 오브젝트(602)를 호출한다.
심볼 디코더 오브젝트(602)는 디코더 플러그인 프로그램들(314-320) 각각을 메모리에 로딩한다. 그후, 각 디코더 플러그인 프로그램(314-320)은 그 구성된 동작 설정들(예로서, 미디어 필터들(332-352)을 로딩한다. 동작 설정들은 동작 설정 명칭, 동작들의 번호 등을 지정하는 하나 이상의 오브젝트들(604)을 포함할 수 있다. 그 후, 오브젝트(604)는 로딩 동작들(606)을 메모리 내에 로딩함으로써, 동작 설정들을 거주시킨다.
서버(306)가 디코딩을 위해 이미지 또는 기타 미디어 파일을 수신할 때, 실시예는 미디어 오브젝트(608)에 미디어 파일을 로딩하고, 이는 미디어 파일을 위한 "랩퍼(wrapper)"의 일 유형으로서 동작한다. 수신된 음향 또는 이미지 미디어는 또한 버퍼들 내에 저장된 오브젝트들(610)일 수도 있다. 디코딩되는 미디어 파일들에 대안적으로 또는 부가적으로, 오브젝트들(608, 610)은 또한 사용자 디바이스에 응답하여 패키징될 미디어 또는 기타 정보를 나타낼 수도 있다.
디코딩을 위한 미디어 파일은 그 후 심볼 디코더 오브젝트(602)에 전달되고, 이는 미디어 파일 상에 디코더 플러그인 프로그램(314-320)의 로딩된 동작 세트(들)들 구동하는 "디코드 미디어(decode media)" 함수/동작을 호출한다. 즉, 동작 세트(들)은 "청소(clean it up)"하기 위해 미디어를 처리하거나, 미디어를 적절한 포맷으로 배치하며, 그 후, 이 미디어가 디코딩된다. 필요시, 제3 집단 디코더들이 또한 수신된 미디어를 식별하기 위해 디코드 미디어 함수에 의해 호출될 수도 있다.
성공적인 디코딩이 초래되는 경우, 그 후, 처리 오브젝트(600)는 디코딩된 심볼 오브젝트(612)를 생성한다. 디코딩된 심볼 오브젝트(612)는 심볼의 컨텐트(예로서, 이미지 또는 오디오의 컨텐트의 신분), 함수 스트링(디코딩된 바코드로부터 직접적으로 함수 스트링이 얻어지는 경우 같이), 상태 정보 또는 에러 메시지(디코딩이 미디어 식별에 성공하지 못한 경우 같이)를 나타내는, 처리 오브젝트(600)에 돌려보내질 데이터를 수반한다.
다음에, 처리 오브젝트(600)가 함수 오브젝트(614) 내의 "심볼로부터의 함수 생성(create function from symbol)" 방법을 호출한다. 이 방법이 실행될 때, 식별된 심볼은 대응 함수 스트링을 요청하기 위해 사용되며, 이는 함수 명칭, 함수 ID 및 파라미터 오브젝트(616)로부터의 파라미터 명칭들, 값들 및 ID들을 포함한다.
처리 오브젝트(600)는 다음에, 함수를 호출 및 실행하기 위해, 함수 오브젝트(614) 내의 "함수 실행(execute function)" 방법을 호출한다. 함수 반환 오브젝트(618)는 함수가 성공적으로 호출 및 실행되었는지 여부에 대한 상태 정보를 제공하고, 메일 게이트웨이(302)(또는, 사용자 디바이스에 출력을 전송할 책임을 지는 다른 유닛)에 실행된 함수의 출력을 반환한다.
도 6b는 일 실시예에 의해 사용되는 다른 오브젝트들을 도시한다. 예로서, 응답 체인 오브젝트(620), 응답 오브젝트(622) 및 응답 미디어 오브젝트(624)가 존재할 수 있다. 이들 오브젝트들(620-624)은 사용자 디바이스로의 전송을 위해, 응답 미디어의 가용성 및 실행된 함수에 기초하여 응답을 포맷 및 패키징하도록 동작한다.
적어도 그 일부가 선택적일 수 있는 다른 예시적 오브젝트들이 도 6a에 도시되어 있다. 버전 오브젝트(626)는 서버(306)에 의해 사용되는 소프트웨어 버전을 나타낸다. 서블릿(servlet)(FoodServlet 같은)(628)은 처리 오브젝트(600)와 연관하여 동작한다. 로그 오브젝트(630)는 디버깅 목적들(또는 다른 용도들)을 위해 에러들 또는 기타 정보를 로깅하기 위해 사용된다. 배치 디코더 오브젝트(632)는 디코딩을 위해 이미지들의 배치를 제공함으로써, 심볼 디코더 오브젝트(602)를 테스트하기 위해 사용될 수 있다. 데이터 소스 오브젝트(634)는 데이터베이스 접속 및 액세스를 수반하는 동작들과 연관하여 사용된다.
도 7은 일 실시예에 따른 인증 프로세스를 도시하는 플로우차트(700)이며, 이는 이전 도면들에 관하여 설명된 원리들에 적어도 부분적으로 기초한다. 블록 702에서, 이미지, 음성 또는 기타 사용자(셀룰러 전화 또는 IP 전화 사용자 같은)의 생체 측정 특징이 포착되고, 서버(306)에 전송된다. 예로서, 사용자는 인증되거나, 비상 상황 동안 특정 셀룰러 전화 주파수들을 사용하는 것 또는 장거리 전화 호를 형성하기 위해 다른 누군가의 IP 전화를 사용하는 것을 허가받기를 시도한다.
블록 704에서, 서버(306)는 포착된 데이터를 수신하고, 필요시, 전처리를 수행하며, 포착된 데이터를 디코딩하기를 시도한다. 보다 구체적으로, 본 예에서, 서버(306)는 데이터의 컨텐트의 본성을 식별하기를 시도한다(예로서, 이미지 내의 얼굴, 오디오 내의 음성, 이미지 내의 지문 등이 존재한다는 것을 결정한다). 이들 동작들은 플러그인 프로그램들(318 및/또는 320) 및 필터들(348-352) 중 적절한 하나를 사용하여 수행된다.
데이터가 얼굴, 음성, 지문 등을 포함한다는 것을 식별하였을 때, 블록 706에서, 서버는 사용자를 인증하기 위해(사용자와 관련된 식별된 이미지, 음성 또는 생체측정이 허가된 사람들에 대응하는 경우를 결정하기 위해), 디코딩된 데이터를 저장된 데이터와 비교한다. 이 동작은, 예로서, 플러그인 프로그램들(318 및/또는 320)이 디코딩된 데이터를 도 6b의 미디어 저장 위치(328) 내의 저장된 참조 데이터와 비교하게 함으로써 수행될 수 있다.
일치점이 없는 경우, 이는 사용자가 허가된 사용자로서 인증되지 않는다는 것을 의미하며, 그 후, 대응 함수가 블록 710에서 호출되어, 사용자에 대한 액세스를 거부한다. 이 함수가 호출되고, 그 파라미터들 및 파라미터 값들이 전달되고, 그후, 실행될 때, 응답이 패키징되어 블록 712에서 사용자에게 전송된다. 응답은 예로서, "죄송합니다. 당신은 지금 이 디바이스의 사용이 허가되지 않았습니다(Sorry. You are not allowed to use this device at this time)"라고 말하는 디스플레이된 메시지(파라미터 값을 통해 제공됨)일 수 있다.
그러나, 사용자가 블록 708에서 인증되는 경우, 그 후, 함수는 블록 714에서, 사용자에 대한 액세스를 허용하기 위해 호출된다. 이 함수가 호출되고, 그 파라미터들 및 파라미터 값들이 전달되고, 그 후 실행될 때, 블록 716에서, 응답이 패키징 및 사용자에게 전송된다. 응답은 "당신은 인증되었습니다. 계속 진행하시려면 아무 키나 누르세요(You are authenticated. Press any key to continue)" 같은 디스플레이된 메시지일 수 있다. 액세스를 허용하기 위해, 서버(718)는 사용자의 디바이스를 위한 주파수를 개방하도록, 적절한 네트워크(예로서, 셀룰러 네트워크 또는 IP 텔레포니 네트워크)를 개시하기 위해, 동일 함수 또는 다른 함수를 실행한다.
도 8은 일 실시예에 따른, 미디어 포착, 디코딩된 미디어의 디코딩, 원격 함수 호 및 정보의 반환을 도시하는 플로우차트(800)이며, 이는 또한, 부분적으로 상술한 도면들 중 적어도 일부에 기초한다. 플로우차트(800)는 일 예로서, "2회 클릭(two-click)" 접근법을 사용하는 제품의 구매와 연관될 수 있는 동작들을 나타낸다.
블록 802에서, 소정 유형의 미디어가 상점의 제품의 이미지 같이 사용자 디바이스에 의해 포착된다. 이는 사용자가 제품의 사진을 촬상하고, 메일 게이트웨이(302)로의 결과적인 이미지의 전송을 개시하도록 셀룰러 전화(100) 버튼의 "제1 클릭(first click)"을 수행하게 하는 것(또는 다른 제1 사용자 동작)을 수반할 수 있다.
블록들 804 - 806에서, 포착된 이미지가 서버(306)에 전송되고, 전처리되고, 디코딩되어, 포착된 이미지에 대응하는 함수 스트링을 획득한다. 이 특정 예에서, 이 유형의 이미지를 위해 구성될 수 있는 함수 스트링은 "경쟁 제품(competitive product)" 정보를 제공하는 것(포착된 이미지와 연관된 특정 제품에 대한 정보에 비해)과 관련된 함수 스트링일 수 있다.
블록 808에서, 그 파라미터들 및 파라미터 값들을 획득하는 것을 포함하는 함수 스트링에 의해 지정된 함수가 호출된다. 파라미터 값들은 경쟁자 웹사이트들에 대한 URL 링크들, 경쟁 제품들의 이미지들, 하나 이상의 메시지들, 즉, "다른 유사 제품들을 보기를 원하십니까? 예/아니오(Do you wish to see other similar products? Yes/No)", 및 기타 정보 같은 아이템들을 포함할 수 있다.
블록 810에서 함수가 실행될 때, 경쟁 제품(들)과 연관된 응답이 생성된다. 이 함수는 응답을 생성하기 위해 서버(306)에서 실행되거나, 원격 서버 유닛들(366-370)에서 실행될 수 있다. 대안적으로, 또는 부가적으로, 응답은 메일 게이트웨이(302)에서 생성될 수 있다. 생성된 응답은 블록 812에서 사용자의 디바이스에 반환된다.
생성되어 사용자의 디바이스에 반환된 응답은 경쟁 제품 정보, 경쟁 제품들의 이미지들, 정보 웹 사이트들에 대한 링크들 등을 포함할 수 있다. 블록 814에서, 사용자는 응답 내에서 반환된 경쟁 제품들 중 하나 또는 메일 게이트웨이(302)에 전송된 원래의 이미지와 관련된 제품을 구매할 수 있다. 2회 클릭 구매 방법의 일 실시예에 따라, 사용자는 제품(들)을 구매하기 위해, 블록 814에서 제2 클릭(또는 다른 사용자 동작)을 수행할 수 있다.
이 제2 클릭과 연관된 정보는 메일 게이트웨이(302) 또는 온라인 주문들을 처리하는 소정의 다른 네트워크 위치에 전송된다. 주문은 블록 816에서 처리되며, 이는 완료를 위해 사용자에게 주문 서식들을 전송, 사용자에게 선택 메뉴들을 제공 또는 사용자의 주문을 완료하는 것과 연관된 기타 활동들 같은 활동들을 포함할 수 있다.
본 명세서에 언급된 및/또는 출원 데이터 시트에 나열된 모든 상기 미국 특허들, 미국 특허 출원 공보들, 미국 특허 출원들, 외국 특허들, 외국 특허 출원들은 그 전문이 여기에 참조로 통합되어 있다.
요약서에 설명된 바를 포함하는 상기 예시된 실시예들의 설명은 그것이 본 발명의 전부라는 의미이거나, 본 발명을 설정된 정확한 형태들에 제한하기 위한 것은 아니다. 특정 실시예들 및 예들을 여기에 예시의 목적들을 위해 설명하였지만, 본 발명의 범주내에서 다양한 등가의 변형들이 가능하며, 본 발명의 개념 및 범주로부터 벗어나지 않고 이루어질 수 있다.
예로서, 메일 게이트웨이(302) 및 서버(306)가 별개의 구성요소들로서 도 3a에 도시되어 있다. 일 실시예에서, 동일한 기능을 제공하기 위해 단일 구성요소가 사용될 수 있다는 것을 이해하여야 한다. 예로서, 이메일 수신, 이미지/오디오 추출, 응답 생성 및 기타 동작들은 전체적으로 또는 부분적으로 서버(306)에 의해 수행될 수 있다. 유사하게, 일부 디코딩은 또한, 서버(306)에 의해 전적으로 수행되는 대신, 메일 게이트웨이(302)에 의해 수행될 수도 있다.
이들 및 다른 변형들이 상기 상세한 설명의 견지에서 본 발명에 대하여 이루어질 수 있다. 하기의 청구범위에 사용된 용어들은 본 발명을 명세서 및 청구범위에 개시된 특정 실시예들에 한정하는 것으로 해석되지 않아야 한다. 오히려, 본 발명의 범주는 하기의 청구범위들에 의하여서만 결정되어야 하며, 이 청구범위는 청구항 해석의 설립된 원칙들에 따라 해석되어야 한다.

Claims (49)

  1. 디바이스의 현재 사용자와 관련된 포착된 정보(captured information)를 수신하는 단계;
    포착된 정보의 컨텐트를 결정하기 위해 상기 포착된 정보를 디코딩하는 단계;
    상기 사용자를 인증하기 위해 상기 결정된 컨텐트를 저장된 컨텐트와 비교하는 단계; 및
    상기 사용자가 인증되는 경우, 파라미터들을 가진 함수를 호출하고, 상기 인증된 사용자로 하여금 상기 디바이스를 통해 이용 가능한 서비스에 액세스하게 하는 함수를 실행하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서, 상기 인증된 사용자로 하여금 상기 서비스에 액세스하게 하는 함수를 실행하는 단계는, 상기 인증된 사용자로 하여금 IP 텔레포니 서비스(telephony service)에 액세스할 수 있게 하기 위해 함수를 실행하는 단계를 포함하는, 방법.
  3. 제 1 항에 있어서, 상기 인증된 사용자로 하여금 상기 서비스에 액세스하게 하는 함수를 실행하는 단계는, 상기 인증된 사용자로 하여금 제한된 유선 채널을 액세스하게 하는 함수를 실행하는 단계를 포함하는, 방법.
  4. 제 1 항에 있어서, 상기 함수와 상기 함수에 전달하기 위한 적어도 하나의 파라미터를 지정하는 함수 스트링과 상기 결정된 컨텐트를 연관시키는 단계를 더 포함하는, 방법.
  5. 제 1 항에 있어서, 상기 함수를 호출 및 실행하는 단계는 상기 함수를 원격으로 호출 및 실행하는 단계를 포함하는, 방법.
  6. 제 1 항에 있어서, 상기 포착된 정보를 수신하는 단계는 상기 디바이스의 상기 현재 사용자와 연관된 이미지, 오디오, 및 생체측정 데이터 중 적어도 하나를 수신하는 단계를 포함하는, 방법.
  7. 제 1 항에 있어서, 상기 사용자가 인증되지 않은 경우, 액세스를 거부하는 다른 함수를 호출하고, 대응 응답 메시지를 상기 디바이스에 전송하는 단계를 더 포함하는, 방법.
  8. 제 1 항에 있어서, 상기 정보의 품질 개선과 상기 정보의 포맷 변경 중 적어도 하나를 위해, 디코딩 이전에, 상기 수신된 포착된 정보를 전처리하는 단계를 더 포함하는, 방법.
  9. 제 1 항에 있어서, 상기 포착된 정보를 디코딩하는 단계는 복수의 상이한 디코더들을 사용하여 이들 디코더들 중 적어도 하나가 성공적인 디코딩을 할 때까지, 상기 포착된 정보의 디코딩을 시도하는 단계를 포함하는, 방법.
  10. 디바이스에 의해 포착된 대상과 관련된 미디어를 수신하는 단계;
    상기 수신된 미디어의 컨텐트를 결정하기 위해 상기 수신된 미디어를 디코딩하는 단계;
    상기 결정된 컨텐트를 함수 스트링에 연관시키는 단계; 및
    상기 포착된 대상과 관련된 정보를 상기 디바이스에 반환하기 위해, 상기 함수 스트링을 통해 식별된 함수를 호출 및 실행하는 단계를 포함하는, 방법.
  11. 제 10 항에 있어서, 상기 미디어를 수신하는 단계는 상기 대상 중 인간이 인식할 수 있는 이미지(human-recognizable image), 상기 대상과 연관된 오디오, 생체측정 정보 및 인간이 인식할 수 없는 이미지(non-human-recognizable image) 중 적어도 하나를 수신하는 단계를 포함하는, 방법.
  12. 제 11 항에 있어서, 상기 인간이 인식할 수 없는 이미지를 수신하는 단계는 1D 및 2D 바코드 중 적어도 하나를 수신하는 단계를 포함하는, 방법.
  13. 제 10 항에 있어서, 상기 수신된 미디어를 디코딩하는 단계는 복수의 상이한 디코더들을 통해, 이들 디코더들 중 적어도 하나가 성공적인 디코딩을 할 때까지 상기 미디어의 디코딩을 반복적으로 시도하는 단계를 포함하는, 방법.
  14. 제 10 항에 있어서, 디코딩 이전에 상기 수신된 미디어를 전처리하는 단계를 더 포함하는, 방법.
  15. 제 10 항에 있어서, 상기 결정된 컨텐트를 함수 스트링과 연관시키는 단계는 함수 및 그 파라미터들 중 적어도 하나를 식별하는 상기 함수 스트링의 부분들을 정의하는 함수 마스크(function mask)에 상기 결정된 컨텐트를 연관시키는 단계를 포함하는, 방법.
  16. 제 10 항에 있어서, 상기 결정된 컨텐트를 상기 함수 스트링에 연관시키는 단계는 상기 함수의 ID 및 그 함수와 관련된 파라미터 데이터를 제공하는 영문숫자 스트링(alphanumeric string)에 상기 결정된 컨텐트를 연관시키는 단계를 포함하는, 방법.
  17. 제 10 항에 있어서, 상기 함수를 호출하는 단계는 상기 포착된 미디어를 수신하는 서버로부터 멀리 떨어진 서버 유닛으로부터 상기 함수를 호출하는 단계를 포함하는, 방법.
  18. 제 10 항에 있어서, 상기 함수를 실행하는 단계는 상기 디바이스의 인증된 사용자에게 제한된 서비스에 대한 액세스를 제공하는 단계를 포함하는, 방법.
  19. 제 10 항에 있어서, 상기 포착된 대상과 관련된 정보를 상기 디바이스에 반환하는 단계는, 포착된 바코드와 관련된 데이터, 외국어 용어의 번역, 소프트웨어 등록 정보, 제품 정보, 이력 데이터(historical data), 전자 디바이스 설정들, 쿠폰 상환, 영화 정보, 경쟁 제품 데이터, 메뉴 제안들, 얼굴 또는 음성 인식의 수신통지, 경매 목록들, 생체측정 인증 정보, 사람 검색 데이터, 오디오 데이터의 반환 중 적어도 하나를 포함하는, 방법.
  20. 제 10 항에 있어서, 상기 미디어를 수신하는 단계는 이메일의 일부로서 상기 미디어를 수신하는 단계를 포함하고, 상기 방법은 상기 이메일로부터 미디어를 추출하고, 상기 추출된 미디어를 적어도 하나의 디코더에 전달하는 단계를 더 포함하는, 방법.
  21. 디바이스의 현재 사용자와 관련된 포착된 정보를 전처리하고;
    상기 포착된 정보의 컨텐트를 결정하기 위해 상기 포착된 정보를 디코딩하고;
    상기 사용자를 인증하기 위해 상기 결정된 컨텐트를 상기 저장된 컨텐트와 비교하고;
    상기 사용자가 인증된 경우, 상기 인증된 사용자의 허가들과 관련된 값들을 지정하는 파라미터들을 가지는 함수를 호출하고, 상기 인증된 사용자로 하여금 상기 디바이스를 통해 이용 가능한 서비스에 액세스하게 하는 상기 함수를 실행하는 명령들이 그 위에 저장된 기계 판독가능한 매체를 포함하는, 제조물품.
  22. 제 21 항에 있어서, 상기 포착된 정보를 전처리하는 명령들은 상기 현재 사용자에 의해 제공된 음성, 이미지 및 생체측정 데이터 중 적어도 하나를 전처리하는 명령들을 포함하는, 제조물품.
  23. 제 21 항에 있어서, 상기 함수를 실행하는 명령들은 상기 인증된 사용자가 제한된 무선 주파수 및 IP 텔레포니 서비스 중 적어도 하나에 액세스하게 하는 명령들을 포함하는, 제조물품.
  24. 제 21 항에 있어서, 상기 포착된 정보를 디코딩하는 명령들은 복수의 상이한 디코더들로, 이들 디코더들 중 하나가 성공적인 디코딩을 제공할 때까지, 상기 포착된 정보의 디코딩을 반복적으로 시도하는 명령들을 포함하는, 제조물품.
  25. 제 21 항에 있어서, 기계 판독가능한 매체는 함수 및 상기 함수로 전달하기 위한 파라미터들을 지정하는, 함수 마스크에 의해 표현되는 함수 스트링과 상기 결정된 컨텐트를 연관시키기 위해 저장된 명령들을 더 포함하는, 제조물품.
  26. 디바이스에 의해 포착된 대상과 관련된 미디어를 수신하는 수단;
    상기 수신된 미디어의 컨텐트를 결정하기 위해 상기 수신된 미디어를 디코딩하는 수단;
    상기 결정된 컨텐트를 함수 스트링과 연관시키는 수단; 및
    상기 포착된 대상과 관련된 정보를 디바이스에 반환하기 위해 상기 함수 스트링을 통해 식별된 함수를 호출 및 실행하는 수단을 포함하는, 시스템.
  27. 제 26 항에 있어서, 상기 수신된 미디어를 디코딩하는 수단은 인간이 인식할 수 있는 또는 인간이 인식할 수 없는 미디어를 디코딩하는 수단을 포함하는, 시스템.
  28. 제 26 항에 있어서, 상기 디바이스로부터 수신된 통신으로부터 상기 수신된 미디어를 추출하는 수단 및 상기 관련 정보를 갖는 응답을 생성하는 수단을 더 포함하는, 시스템.
  29. 제 26 항에 있어서, 상기 디바이스의 사용자를 인증하는 수단을 더 포함하는, 시스템.
  30. 제 26 항에 있어서, 상기 대상을 포착하고, 디코딩될 상기 포착된 대상을 전송하는 수단을 더 포함하는, 시스템.
  31. 제 26 항에 있어서, 상기 함수 및 그 파라미터들과 연관된 함수 스트링을 정의하는 수단을 더 포함하는, 시스템.
  32. 제 26 항에 있어서, 상기 디바이스에 반환될 미디어, 참조 데이터(reference data), 및 함수들과 관련된 정보를 저장하는 수단을 더 포함하는, 시스템.
  33. 제 26 항에 있어서,
    상기 대상을 포착하는 것과 연관된 제1 사용자 동작을 처리하는 수단; 및
    상기 포착된 대상과 관련된 제품을 구매하는 것과 연관된 제2 사용자 동작을 처리하는 수단을 더 포함하는, 시스템.
  34. 포착된 미디어를 수신하는 제1 유닛;
    상기 포착된 미디어를 디코딩하기 위해 상기 제1 유닛에 결합된 적어도 하나의 제2 유닛;
    상기 디코딩된 미디어에 대응하는 함수 및 그 파라미터들을 요청하기 위해 상기 제2 유닛에 결합된 제3 유닛; 및
    상기 요청된 함수를 실행하고, 상기 포착된 미디어와 관련된 상기 실행된 함수의 결과를 반환하기 위해 상기 제3 유닛에 결합된 제4 유닛을 포함하는, 장치.
  35. 제 34 항에 있어서, 디코딩 이전에 상기 포착된 미디어를 전처리하기 위해 상기 적어도 하나의 제2 유닛에 결합된 적어도 하나의 제5 유닛을 더 포함하는, 장치.
  36. 제 35 항에 있어서, 상기 적어도 하나의 제5 유닛은 상기 포착된 미디어의 품질을 향상시키기 위해 또는 그 포맷을 변경하기 위해 상기 포착된 미디어에 동작들을 적용하는 동작 세트들을 가지는 복수의 필터들을 포함하는, 장치.
  37. 제 34 항에 있어서, 적어도 하나의 제2 유닛은 상이한 미디어 유형들에 대해 사용할 수 있는 복수의 상이한 디코더들을 포함하는, 장치.
  38. 제 34 항에 있어서, 상기 디코딩된 미디어와 함수 스트링을 연관시키는 또 다른 유닛을 더 포함하는, 장치.
  39. 제 34 항에 있어서, 적어도 하나의 프로세서 및 저장 매체를 더 포함하고, 상기 유닛들 중 적어도 일부는 상기 저장 매체 상에 저장되어 상기 프로세서에 의해 실행될 수 있는 소프트웨어로 구현되는, 장치.
  40. 제 34 항에 있어서, 함수 정보, 파라미터들 및 파라미터 값들, 및 미디어를 저장하는 저장 유닛을 더 포함하는, 장치.
  41. 제 40 항에 있어서, 상기 저장 유닛은 상기 디코딩된 미디어를 함수에 연관시키기 위해 미디어-함수 룩업 유닛(media-to-function lookup unit)을 포함하는, 장치.
  42. 제 34 항에 있어서, 상기 함수가 실행되는 적어도 또 다른 유닛을 더 포함하는, 장치.
  43. 제 42 항에 있어서, 상기 적어도 또 다른 유닛은 다른 유닛들 중 적어도 일부로부터 원격 위치되는, 장치.
  44. 제 34 항에 있어서, 사용자 디바이스로부터 수신된 통신으로부터 상기 포착된 미디어를 추출하고, 상기 제1 유닛에 상기 포착된 미디어를 제공하는 메일 유닛을 더 포함하는, 장치.
  45. 제 44 항에 있어서, 상기 사용자 디바이스에 대한 응답으로서 상기 실행된 함수의 결과를 패키징하는 응답 유닛을 더 포함하는, 장치.
  46. 제 45 항에 있어서, 상기 메일 유닛 및 응답 유닛 중 어느 하나 또는 양자 모두는 상기 다른 유닛들로부터 멀리 떨어진 메일 게이트웨이 디바이스 내에 위치되는, 장치.
  47. 제 34 항에 있어서, 상기 제2 유닛들 중 하나는 사용자 인증 유닛을 포함하는, 장치.
  48. 제 34 항에 있어서, 상기 제2 유닛은 디코더 플러그인 프로그램을 포함하는, 장치.
  49. 제 34 항에 있어서, 상기 유닛들의 적어도 일부 요소들은 오브젝트들(objects)로서 구현되는, 장치.
KR1020067009855A 2003-10-20 2004-10-19 원격 함수 호출들을 개시하기 위해 이미지들 또는 오디오를사용하는 서버와의 접속에 사용하기 위한 방법, 시스템,장치 및 기계 판독 가능한 매체 KR20060082132A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US51293203P 2003-10-20 2003-10-20
US60/512,932 2003-10-20
US10/783,773 2004-02-20
US10/783,773 US20050083413A1 (en) 2003-10-20 2004-02-20 Method, system, apparatus, and machine-readable medium for use in connection with a server that uses images or audio for initiating remote function calls

Publications (1)

Publication Number Publication Date
KR20060082132A true KR20060082132A (ko) 2006-07-14

Family

ID=34526783

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067009855A KR20060082132A (ko) 2003-10-20 2004-10-19 원격 함수 호출들을 개시하기 위해 이미지들 또는 오디오를사용하는 서버와의 접속에 사용하기 위한 방법, 시스템,장치 및 기계 판독 가능한 매체

Country Status (7)

Country Link
US (1) US20050083413A1 (ko)
EP (1) EP1678640A1 (ko)
JP (1) JP2007509392A (ko)
KR (1) KR20060082132A (ko)
AU (1) AU2004286583A1 (ko)
CA (1) CA2543037A1 (ko)
WO (1) WO2005043411A1 (ko)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6666377B1 (en) 2000-07-18 2003-12-23 Scott C. Harris Bar code data entry device
US8224078B2 (en) 2000-11-06 2012-07-17 Nant Holdings Ip, Llc Image capture and identification system and process
US9310892B2 (en) 2000-11-06 2016-04-12 Nant Holdings Ip, Llc Object information derived from object images
US7899243B2 (en) 2000-11-06 2011-03-01 Evryx Technologies, Inc. Image capture and identification system and process
US7680324B2 (en) 2000-11-06 2010-03-16 Evryx Technologies, Inc. Use of image-derived information as search criteria for internet and other search engines
US7565008B2 (en) * 2000-11-06 2009-07-21 Evryx Technologies, Inc. Data capture and identification system and process
US7253919B2 (en) * 2000-11-30 2007-08-07 Ricoh Co., Ltd. Printer with embedded retrieval and publishing interface
US7861169B2 (en) 2001-11-19 2010-12-28 Ricoh Co. Ltd. Multimedia print driver dialog interfaces
US7424129B2 (en) * 2001-11-19 2008-09-09 Ricoh Company, Ltd Printing system with embedded audio/video content recognition and processing
US7747655B2 (en) 2001-11-19 2010-06-29 Ricoh Co. Ltd. Printable representations for time-based media
US7149957B2 (en) 2001-11-19 2006-12-12 Ricoh Company, Ltd. Techniques for retrieving multimedia information using a paper-based interface
US20040181815A1 (en) * 2001-11-19 2004-09-16 Hull Jonathan J. Printer with radio or television program extraction and formating
US7703044B2 (en) 2001-11-19 2010-04-20 Ricoh Company, Ltd. Techniques for generating a static representation for time-based media information
US8539344B2 (en) 2001-11-19 2013-09-17 Ricoh Company, Ltd. Paper-based interface for multimedia information stored by multiple multimedia documents
US7743347B2 (en) * 2001-11-19 2010-06-22 Ricoh Company, Ltd. Paper-based interface for specifying ranges
US7788080B2 (en) 2001-11-19 2010-08-31 Ricoh Company, Ltd. Paper interface for simulation environments
WO2004080097A1 (en) 2003-03-07 2004-09-16 Ktfreetel Co., Ltd Method for providing mobile service using code-pattern
US7440126B2 (en) * 2003-09-25 2008-10-21 Ricoh Co., Ltd Printer with document-triggered processing
US7528976B2 (en) * 2003-09-25 2009-05-05 Ricoh Co., Ltd. Stand alone printer with hardware/software interfaces for sharing multimedia processing
US7570380B2 (en) * 2003-09-25 2009-08-04 Ricoh Company, Ltd. Printer user interface
US7864352B2 (en) * 2003-09-25 2011-01-04 Ricoh Co. Ltd. Printer with multimedia server
JP2005108230A (ja) 2003-09-25 2005-04-21 Ricoh Co Ltd オーディオ/ビデオコンテンツ認識・処理機能内蔵印刷システム
US20050071746A1 (en) * 2003-09-25 2005-03-31 Hart Peter E. Networked printer with hardware and software interfaces for peripheral devices
US20050068573A1 (en) * 2003-09-25 2005-03-31 Hart Peter E. Networked printing system having embedded functionality for printing time-based media
US7505163B2 (en) * 2003-09-25 2009-03-17 Ricoh Co., Ltd. User interface for networked printer
US7528977B2 (en) * 2003-09-25 2009-05-05 Ricoh Co., Ltd. Printer with hardware and software interfaces for peripheral devices
US8077341B2 (en) 2003-09-25 2011-12-13 Ricoh Co., Ltd. Printer with audio or video receiver, recorder, and real-time content-based processing logic
US7573593B2 (en) * 2003-09-25 2009-08-11 Ricoh Company, Ltd. Printer with hardware and software interfaces for media devices
US20050071763A1 (en) * 2003-09-25 2005-03-31 Hart Peter E. Stand alone multimedia printer capable of sharing media processing tasks
US8274666B2 (en) * 2004-03-30 2012-09-25 Ricoh Co., Ltd. Projector/printer for displaying or printing of documents
JP2006261938A (ja) * 2005-03-16 2006-09-28 Sony Corp 通信システム、通信装置および方法、記録媒体、並びにプログラム
US7953720B1 (en) 2005-03-31 2011-05-31 Google Inc. Selecting the best answer to a fact query from among a set of potential answers
US7587387B2 (en) 2005-03-31 2009-09-08 Google Inc. User interface for facts query engine with snippets from information sources that include query terms and answer terms
US7765231B2 (en) * 2005-04-08 2010-07-27 Rathus Spencer A System and method for accessing electronic data via an image search engine
US20140236722A1 (en) * 2005-04-08 2014-08-21 Marshall Feature Recognition Llc System And Method For Accessing Electronic Data Via An Image Search Engine
US7221931B2 (en) * 2005-04-22 2007-05-22 Lucent Technologies Inc. Network support for electronic passports
JP2007013315A (ja) * 2005-06-28 2007-01-18 Toshiba Corp 情報処理装置および動画像再生方法
US20070011613A1 (en) * 2005-07-07 2007-01-11 Microsoft Corporation Automatically displaying application-related content
US9020906B2 (en) * 2005-08-15 2015-04-28 National Instruments Corporation Method for intelligent storing and retrieving in an enterprise data system
US20070185870A1 (en) 2006-01-27 2007-08-09 Hogue Andrew W Data object visualization using graphs
US7925676B2 (en) * 2006-01-27 2011-04-12 Google Inc. Data object visualization using maps
US8954426B2 (en) * 2006-02-17 2015-02-10 Google Inc. Query language
US8055674B2 (en) * 2006-02-17 2011-11-08 Google Inc. Annotation framework
US20070226055A1 (en) * 2006-03-23 2007-09-27 Goss International Americas, Inc. Incentive system and method for tracking advertising effectiveness
WO2007129316A2 (en) 2006-05-07 2007-11-15 Varcode Ltd. A system and method for improved quality management in a product logistic chain
US7562811B2 (en) 2007-01-18 2009-07-21 Varcode Ltd. System and method for improved quality management in a product logistic chain
US20070265912A1 (en) * 2006-05-09 2007-11-15 Goss International Americas, Inc. System and method for tracking advertising effectiveness using redeemable incentives
JP5161220B2 (ja) * 2006-08-24 2013-03-13 フランス・テレコム マルチメディア番組の管理方法、サーバ、端末、信号、及び対応するコンピュータプログラム
US8347202B1 (en) 2007-03-14 2013-01-01 Google Inc. Determining geographic locations for place names in a fact repository
US20080267504A1 (en) * 2007-04-24 2008-10-30 Nokia Corporation Method, device and computer program product for integrating code-based and optical character recognition technologies into a mobile visual search
WO2008135962A2 (en) 2007-05-06 2008-11-13 Varcode Ltd. A system and method for quality management utilizing barcode indicators
US20080320520A1 (en) * 2007-06-21 2008-12-25 Beadle Edward R System and method for biometric identification using portable interface device for content presentation system
US8126966B2 (en) * 2007-06-28 2012-02-28 Apple Inc. Separating attachments received from a mobile device
US20090125442A1 (en) * 2007-11-09 2009-05-14 Jonathan Otto Wireless communications device configured for automated returns
WO2009063465A2 (en) 2007-11-14 2009-05-22 Varcode Ltd. A system and method for quality management utilizing barcode indicators
US8086502B2 (en) 2008-03-31 2011-12-27 Ebay Inc. Method and system for mobile publication
US11704526B2 (en) 2008-06-10 2023-07-18 Varcode Ltd. Barcoded indicators for quality management
US7991646B2 (en) 2008-10-30 2011-08-02 Ebay Inc. Systems and methods for marketplace listings using a camera enabled mobile device
US8825660B2 (en) * 2009-03-17 2014-09-02 Ebay Inc. Image-based indexing in a network-based marketplace
US8774835B2 (en) * 2009-06-30 2014-07-08 Verizon Patent And Licensing Inc. Methods, systems and computer program products for a remote business contact identifier
US9135277B2 (en) 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
US8670597B2 (en) 2009-08-07 2014-03-11 Google Inc. Facial recognition with social network aiding
US9087059B2 (en) * 2009-08-07 2015-07-21 Google Inc. User interface for presenting search results for multiple regions of a visual query
US9405772B2 (en) * 2009-12-02 2016-08-02 Google Inc. Actionable search results for street view visual queries
US8811742B2 (en) 2009-12-02 2014-08-19 Google Inc. Identifying matching canonical documents consistent with visual query structural information
US8805079B2 (en) 2009-12-02 2014-08-12 Google Inc. Identifying matching canonical documents in response to a visual query and in accordance with geographic information
US9183224B2 (en) * 2009-12-02 2015-11-10 Google Inc. Identifying matching canonical documents in response to a visual query
US8977639B2 (en) * 2009-12-02 2015-03-10 Google Inc. Actionable search results for visual queries
US20110128288A1 (en) * 2009-12-02 2011-06-02 David Petrou Region of Interest Selector for Visual Queries
US9852156B2 (en) 2009-12-03 2017-12-26 Google Inc. Hybrid use of location sensor data and visual query to return local listings for visual query
EP2646949B1 (en) * 2010-12-01 2018-10-03 Google LLC Identifying matching source documents in response to a visual query
US9342855B1 (en) 2011-04-18 2016-05-17 Christina Bloom Dating website using face matching technology
US9424606B2 (en) 2011-04-28 2016-08-23 Allstate Insurance Company Enhanced claims settlement
US20150324924A1 (en) * 2011-04-28 2015-11-12 Allstate Insurance Company Streamlined Claims Processing
US9087058B2 (en) 2011-08-03 2015-07-21 Google Inc. Method and apparatus for enabling a searchable history of real-world user experiences
US9137308B1 (en) 2012-01-09 2015-09-15 Google Inc. Method and apparatus for enabling event-based media data capture
US9406090B1 (en) 2012-01-09 2016-08-02 Google Inc. Content sharing system
US9934522B2 (en) 2012-03-22 2018-04-03 Ebay Inc. Systems and methods for batch- listing items stored offline on a mobile device
US8935246B2 (en) 2012-08-08 2015-01-13 Google Inc. Identifying textual terms in response to a visual query
US8807422B2 (en) 2012-10-22 2014-08-19 Varcode Ltd. Tamper-proof quality management barcode indicators
US10304137B1 (en) 2012-12-27 2019-05-28 Allstate Insurance Company Automated damage assessment and claims processing
US9811352B1 (en) 2014-07-11 2017-11-07 Google Inc. Replaying user input actions using screen capture images
US9965559B2 (en) 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
US9703541B2 (en) 2015-04-28 2017-07-11 Google Inc. Entity action suggestion on a mobile device
WO2016185474A1 (en) 2015-05-18 2016-11-24 Varcode Ltd. Thermochromic ink indicia for activatable quality labels
CN111339744B (zh) 2015-07-31 2023-07-04 小米科技有限责任公司 票务信息展示方法、装置及存储介质
US10970646B2 (en) 2015-10-01 2021-04-06 Google Llc Action suggestions for user-selected content
US10178527B2 (en) 2015-10-22 2019-01-08 Google Llc Personalized entity repository
US9604563B1 (en) 2015-11-05 2017-03-28 Allstate Insurance Company Mobile inspection facility
US10055390B2 (en) 2015-11-18 2018-08-21 Google Llc Simulated hyperlinks on a mobile device based on user intent and a centered selection of text
US10535005B1 (en) 2016-10-26 2020-01-14 Google Llc Providing contextual actions for mobile onscreen content
US11237696B2 (en) 2016-12-19 2022-02-01 Google Llc Smart assist for repeated actions
US20180218387A1 (en) * 2017-01-30 2018-08-02 Price-Mars Delly Feedback system through an online community format
CN108765666A (zh) * 2018-06-07 2018-11-06 安徽三六五办公科技有限公司 一种智能识别车辆管理***

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978773A (en) * 1995-06-20 1999-11-02 Neomedia Technologies, Inc. System and method for using an ordinary article of commerce to access a remote computer
US5963670A (en) * 1996-02-12 1999-10-05 Massachusetts Institute Of Technology Method and apparatus for classifying and identifying images
US5804803A (en) * 1996-04-02 1998-09-08 International Business Machines Corporation Mechanism for retrieving information using data encoded on an object
US5933829A (en) * 1996-11-08 1999-08-03 Neomedia Technologies, Inc. Automatic access of electronic information through secure machine-readable codes on printed documents
EP0983661A1 (en) * 1997-05-09 2000-03-08 Neomedia Technologies, Inc Method and system for accessing electronic resources via machine-readable data on intelligent documents
AU1365699A (en) * 1997-10-27 1999-05-17 Imagen Incorporated Image search and retrieval system
US6038333A (en) * 1998-03-16 2000-03-14 Hewlett-Packard Company Person identifier and management system
JP3716615B2 (ja) * 1998-04-22 2005-11-16 株式会社デンソー 2次元コード印刷用データの作成装置及び記録媒体
US6267296B1 (en) * 1998-05-12 2001-07-31 Denso Corporation Two-dimensional code and method of optically reading the same
JP4122629B2 (ja) * 1998-09-03 2008-07-23 株式会社デンソー 2次元コードの生成方法
JP2000222517A (ja) * 1998-11-27 2000-08-11 Denso Corp 2次元コ―ド読取方法、2次元コ―ド読取装置及び記録媒体
US6651053B1 (en) * 1999-02-01 2003-11-18 Barpoint.Com, Inc. Interactive system for investigating products on a network
EP1192563B1 (en) * 1999-02-01 2007-12-19 Neomedia Technologies, Inc. Interactive system for investing products on a network
US6542933B1 (en) * 1999-04-05 2003-04-01 Neomedia Technologies, Inc. System and method of using machine-readable or human-readable linkage codes for accessing networked data resources
JP3607131B2 (ja) * 1999-05-26 2005-01-05 株式会社デンソー 情報コード画像取込装置、光学情報読取装置及び画像取込タイミング設定システム
JP3541731B2 (ja) * 1999-06-18 2004-07-14 株式会社デンソー 偽造判定方法、偽造判定装置及び記録媒体
US6766363B1 (en) * 2000-02-28 2004-07-20 Barpoint.Com, Inc. System and method of linking items in audio, visual, and printed media to related information stored on an electronic network using a mobile device
US6675165B1 (en) * 2000-02-28 2004-01-06 Barpoint.Com, Inc. Method for linking a billboard or signage to information on a global computer network through manual information input or a global positioning system
US7412604B1 (en) * 2000-03-28 2008-08-12 International Business Machines Corporation Using biometrics on pervasive devices for mobile identification
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
JP2002074261A (ja) * 2000-08-28 2002-03-15 Denso Corp 情報コード読取装置
US20020102966A1 (en) * 2000-11-06 2002-08-01 Lev Tsvi H. Object identification method for portable devices
JP3896827B2 (ja) * 2001-02-21 2007-03-22 株式会社デンソー 情報コードの解読方法および解読システム
JP4665352B2 (ja) * 2001-07-10 2011-04-06 日本電気株式会社 顧客認証システム、顧客認証方法、及び該方法を実施するための制御プログラム

Also Published As

Publication number Publication date
CA2543037A1 (en) 2005-05-12
WO2005043411A1 (en) 2005-05-12
EP1678640A1 (en) 2006-07-12
JP2007509392A (ja) 2007-04-12
AU2004286583A1 (en) 2005-05-12
US20050083413A1 (en) 2005-04-21

Similar Documents

Publication Publication Date Title
KR20060082132A (ko) 원격 함수 호출들을 개시하기 위해 이미지들 또는 오디오를사용하는 서버와의 접속에 사용하기 위한 방법, 시스템,장치 및 기계 판독 가능한 매체
US10715854B2 (en) Method and apparatus for pushing information
US8844800B2 (en) Ratings using machine-readable representations
US7450960B2 (en) System, method and mobile unit to sense objects or text and retrieve related information
US20140236722A1 (en) System And Method For Accessing Electronic Data Via An Image Search Engine
CN108133396A (zh) 发布广告的方法和***
WO2013035863A1 (ja) 送り手側コンテンツ送信方法及び情報送信システム
CA2634951A1 (en) Centralized barcode reader
KR20080008424A (ko) 서버, 서버에서의 데이터 취득 방법, 기록 매체, 및 데이터처리 장치 및 방법
JP2009510623A (ja) リスティングデータのオンラインデータ検証
US20140344238A1 (en) System And Method For Accessing Electronic Data Via An Image Search Engine
JP2007174227A (ja) 2次元バーコードシールを介した動画配信システム
US8990676B2 (en) Methods and systems for processing application forms
CN106600328A (zh) 一种广告类信息的传播方法
US20090065566A1 (en) Apparatus and method for providing contents by using machine-readable code
CN1871602A (zh) 与使用启动远程函数调用的图像或音频的服务器一起使用的方法、***、设备和机器可读媒体
WO2009132600A1 (en) System and method for distributing targeted content
JP2001282808A (ja) 広告情報提供システム,広告情報提供方法及び広告情報選択装置
CN100524348C (zh) 通用信息码应用于手持式无线通讯装置读取数据的***及方法
JP2003131991A (ja) アドレスデータ蓄積・更新システム、アドレスデータ蓄積・更新方法、アドレスデータ蓄積・更新に供するウェブサーバ及びアドレス情報利用システム、並びにアドレス情報利用に供するウェブサーバ
KR20230061288A (ko) 인터넷명함 서비스 방법
KR20230142035A (ko) 오프라인 매거진과 온라인 매체의 정보 연결 방법
Schürmann et al. Let a picture initiate the dialog
KR101140395B1 (ko) 동영상 ucc를 이용한 모바일 광고 방법 및 동영상 ucc 광고 서버
JP2008158919A (ja) 画像ドメインサーバ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application