KR20220068913A - 자동화된 쇼핑 카트 - Google Patents
자동화된 쇼핑 카트 Download PDFInfo
- Publication number
- KR20220068913A KR20220068913A KR1020210137145A KR20210137145A KR20220068913A KR 20220068913 A KR20220068913 A KR 20220068913A KR 1020210137145 A KR1020210137145 A KR 1020210137145A KR 20210137145 A KR20210137145 A KR 20210137145A KR 20220068913 A KR20220068913 A KR 20220068913A
- Authority
- KR
- South Korea
- Prior art keywords
- item
- cart
- items
- weight
- correlated
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 103
- 230000002596 correlated effect Effects 0.000 claims description 79
- 230000003287 optical effect Effects 0.000 claims description 66
- 230000008859 change Effects 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 29
- 238000012790 confirmation Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 41
- 238000010586 diagram Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 15
- 238000013459 approach Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 239000007787 solid Substances 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 238000000844 transformation Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000010454 slate Substances 0.000 description 2
- 240000001436 Antirrhinum majus Species 0.000 description 1
- 241000272878 Apodiformes Species 0.000 description 1
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 244000141359 Malus pumila Species 0.000 description 1
- 241000414697 Tegra Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- OJIJEKBXJYRIBZ-UHFFFAOYSA-N cadmium nickel Chemical compound [Ni].[Cd] OJIJEKBXJYRIBZ-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- PXHVJJICTQNCMI-UHFFFAOYSA-N nickel Substances [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 1
- -1 nickel metal hydride Chemical class 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62B—HAND-PROPELLED VEHICLES, e.g. HAND CARTS OR PERAMBULATORS; SLEDGES
- B62B3/00—Hand carts having more than one axis carrying transport wheels; Steering devices therefor; Equipment therefor
- B62B3/14—Hand carts having more than one axis carrying transport wheels; Steering devices therefor; Equipment therefor characterised by provisions for nesting or stacking, e.g. shopping trolleys
- B62B3/1428—Adaptations for calculators, memory aids or reading aids
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/0036—Checkout procedures
- G07G1/0045—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62B—HAND-PROPELLED VEHICLES, e.g. HAND CARTS OR PERAMBULATORS; SLEDGES
- B62B3/00—Hand carts having more than one axis carrying transport wheels; Steering devices therefor; Equipment therefor
- B62B3/14—Hand carts having more than one axis carrying transport wheels; Steering devices therefor; Equipment therefor characterised by provisions for nesting or stacking, e.g. shopping trolleys
- B62B3/1408—Display devices mounted on it, e.g. advertisement displays
- B62B3/1424—Electronic display devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62B—HAND-PROPELLED VEHICLES, e.g. HAND CARTS OR PERAMBULATORS; SLEDGES
- B62B5/00—Accessories or details specially adapted for hand carts
- B62B5/0096—Identification of the cart or merchandise, e.g. by barcodes or radio frequency identification [RFID]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01G—WEIGHING
- G01G19/00—Weighing apparatus or methods adapted for special purposes not provided for in the preceding groups
- G01G19/52—Weighing apparatus combined with other objects, e.g. furniture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/06—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by returnable containers, i.e. reverse vending systems in which a user is rewarded for returning a container that serves as a token of value, e.g. bottles
- G07F7/0618—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by returnable containers, i.e. reverse vending systems in which a user is rewarded for returning a container that serves as a token of value, e.g. bottles by carts
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/0036—Checkout procedures
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/0036—Checkout procedures
- G07G1/0045—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader
- G07G1/0054—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader with control of supplementary check-parameters, e.g. weight or number of articles
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/0036—Checkout procedures
- G07G1/0045—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader
- G07G1/0054—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader with control of supplementary check-parameters, e.g. weight or number of articles
- G07G1/0072—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader with control of supplementary check-parameters, e.g. weight or number of articles with means for detecting the weight of the article of which the code is read, for the verification of the registration
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/0036—Checkout procedures
- G07G1/0045—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader
- G07G1/0081—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader the reader being a portable scanner or data reader
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/01—Details for indicating
- G07G1/06—Details for indicating with provision for the noting of the money to be paid
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/12—Cash registers electronically operated
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G3/00—Alarm indicators, e.g. bells
- G07G3/006—False operation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Handcart (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 기술들이 도시되고, 기술들은 카트 내의 아이템들에 대한 이미지 데이터를 수신하는 것, 카트 내의 아이템들의 중량의 변화를 검출하는 것, 및 이미지 데이터에서 상관된 아이템이 식별되었는지 여부를 결정하는 것을 수반한다. 상관된 아이템이 식별되지 않은 경우, 상관된 아이템이 검출되지 않았음을 표시하는 메시지가 디스플레이되고, 사용자는 프롬프팅될 수 있다. 사용자 디바이스는 아이템들을 스캐닝하고 카트에 대한 메시지들을 디스플레이하기 위해 사용될 수 있다. 아이템들은 아이템 정보를 결정하기 위해 이미지 인식을 사용하여 스캐닝될 수 있다. 아이템 중량은 카트 내의 아이템들의 중량의 변화에 기초하여 결정될 수 있고, 중량에 따라 가격이 책정될 수 있다. 상관된 아이템이 카트에 추가되었음을 표시하는, 카트 내의 아이템에 대한 통지가 재고 또는 쇼핑 리스트 애플리케이션에 제공될 수 있다.
Description
전형적으로, 상점에서 쇼핑하는 고객은 구매될 아이템들을 쇼핑 카트에 놓는다. 쇼핑이 완료되면, 고객은 쇼핑 카트와 함께 체크아웃(check out) 스테이션으로 이동하고, 여기서, 쇼핑 카트 내의 아이템들이 스캐닝되고, 지불 거래가 수행된다.
대개, 카트에 추가된 아이템들에 관한 정보, 이를테면, 아이템 식별자, 가격, 설명, 제품 리뷰들 등에 관한 정보는 고객에게 동적으로 디스플레이되는 것이 가능하지 않다. 또한, 아이템들은 전형적으로 체크아웃 스테이션까지 프로세싱될 수 없고, 이는 체크아웃을 대기하는 고객들에 대한 지연들 및 혼잡을 초래할 수 있다.
일부 종래의 솔루션들은 아이템들을 스캐닝하기 위한 전용 스캐닝 디바이스들, 이를테면, 바코드들을 스캐닝하기 위한 레이저 스캐너들 또는 라디오 주파수 식별자(RFID) 태그들을 스캐닝하기 위한 RFID 스캐너들을 활용하였다. 그러나, 이러한 스캐닝 디바이스들은 전형적으로, 다른 용도들에 대한 제한된 적용가능성을 갖고 추가적인 장비 및 비용을 제시하는 특수 디바이스들이다.
본원에서 이루어지는 개시내용은 이러한 및 다른 고려사항들과 관련하여 제시된다.
개시되는 기술은 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하는 것에 관한 것이다. 개시되는 기술들의 특정 간략화된 예들에서, 카트 내의 아이템들의 중량의 변화를 검출하는 것 및 광학 디바이스로부터 카트 내의 아이템들에 대한 이미지 데이터를 수신하는 것을 수반하는 컴퓨터에 의해 구현되는 방법, 시스템, 또는 컴퓨터 판독가능 매체가 도시된다. 카트 내의 아이템들의 중량의 검출된 변화와 상관하여 스캐닝된 상관된 아이템이 수신된 이미지 데이터에서 식별되었는지 여부에 대한 결정이 이루어진다. 상관된 아이템이 식별되지 않은 경우, 상관된 아이템이 식별되지 않았음을 표시하는 메시지가 사용자 인터페이스(UI) 상에 디스플레이된다.
일부 예들은 사용자에게 상관된 아이템에 대한 아이템 정보를 입력할 것을 요청하는 프롬프트를 UI 상에 생성하는 것을 수반한다. 다른 예들에서, 카트 내의 아이템들에 대한 이미지 데이터는 사용자 클라이언트 디바이스 내의 광학 디바이스로부터 수신되고, 상관된 아이템이 식별되었는지 여부에 대한 결정은 사용자 클라이언트 디바이스로부터 수신된 이미지 데이터에 기초하여 이루어진다. 특정 예들에서, 아이템이 검출되지 않았음을 표시하는 메시지는 사용자 클라이언트 디바이스의 UI 상에 디스플레이된다.
개시되는 기술의 특정 예들은 카트 내의 아이템들의 중량의 변화에 기초하여 상관된 아이템의 중량을 결정하는 것을 수반한다. 상관된 아이템에 대한 중량별 가격이 획득되고, 상관된 아이템의 중량 및 상관된 아이템에 대한 중량별 가격에 기초하여, 상관된 아이템에 대한 총 가격을 계산하기 위해 사용된다. 상관된 아이템에 대한 총 가격은 UI 상에 디스플레이될 수 있다.
또 다른 예들에서, 상관된 아이템이 식별된 경우, 상관된 아이템이 카트에 추가되었음을 표시하는 통지가 재고 애플리케이션 또는 쇼핑 리스트 애플리케이션으로 전송될 수 있다. 쇼핑 리스트의 디스플레이는 리스트 상의 아이템이 카트에 추가되었음을 표시하기 위해 변경될 수 있다.
위에서 설명된 발명 대상이 또한, 컴퓨터에 의해 제어되는 장치, 컴퓨터 프로세스, 컴퓨팅 시스템, 또는 컴퓨터 판독가능 매체와 같은 제조 물품으로서 구현될 수 있다는 것을 인식해야 한다. 이들 및 다양한 다른 특징들은 다음의 상세한 설명을 읽고 연관된 도면들을 검토하는 것으로부터 명백하게 될 것이다. 본 요약은 아래의 상세한 설명에서 추가로 설명되는 개념들 중에서 선택된 것을 간략화된 형태로 소개하기 위해 제공된다.
본 요약은 청구되는 발명 대상의 핵심 특징들 또는 필수 특징들을 식별하도록 의도된 것이 아닐 뿐만 아니라, 청구되는 발명 대상의 범위를 제한하는 데 사용되도록 의도된 것도 아니다. 게다가, 청구되는 발명 대상은 본 개시내용의 임의의 부분에서 언급된 임의의 또는 모든 단점들을 해결하는 구현들로 제한되지 않는다.
상세한 설명은 첨부 도면들을 참조하여 설명된다. 도면들에서, 참조 번호의 맨 왼쪽 숫자(들)는 참조 번호가 처음 나타나는 도면을 식별한다. 상이한 도면들에 있는 동일한 참조 번호들은 유사한 또는 동일한 아이템들을 나타낸다.
도 1은 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 개시되는 기술의 적용에 적합한 아키텍처의 예시적인 예를 도시하는 아키텍처 도면이다.
도 2a는 카트의 바스켓 내의 아이템들의 중량의 변화들을 검출할 수 있는 개시되는 기술에 사용하기 위한 자동화된 물리적 쇼핑 카트의 예에 대한 개략도이다.
도 2b는 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 개시되는 기술의 적용에 적합한 카트 제어기에 대한 아키텍처의 예시적인 예를 도시하는 아키텍처 도면이다.
도 3a는 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 개시되는 기술에 사용하기 위한 사용자 인터페이스의 예에 대한 개략도이다.
도 3b는 도 2a의 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 개시되는 기술의 적용에서의 아이템 검출의 예를 예시하는 개략도이다.
도 4a는 개시되는 기술에 따른, 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 프로세스의 예시적인 예를 도시하는 제어 흐름도이다.
도 4b는 개시되는 기술에 따른, 자동화된 물리적 쇼핑 카트에서 아이템에 대한 아이템 정보를 자동으로 획득하기 위한 프로세스의 예시적인 예를 도시하는 제어 흐름도이다.
도 4c는 개시되는 기술에 따른, 중량에 기초하여 아이템의 가격을 책정하기 위한 프로세스의 예를 예시하는 제어 흐름도이다.
도 4d는 개시되는 기술에 따른, 사용자 클라이언트와 통신하기 위한 프로세스의 예를 예시하는 제어 흐름도이다.
도 4e는 개시되는 기술에 따른, 카트 제어기와 통신하기 위한 사용자 클라이언트에서의 프로세스의 예를 예시하는 제어 흐름도이다.
도 4f는 개시되는 기술에 따른, 재고 또는 쇼핑 리스트를 업데이트하기 위해 카트 제어기와 통신하기 위한 프로세스의 예를 예시하는 제어 흐름도이다.
도 4g는 개시되는 기술에 따른, 거래를 커밋(committing) 및 확인하기 위한 프로세스의 예를 예시하는 제어 흐름도이다.
도 5는 본원에서 제시되는 기법들 및 기술들의 양태들을 구현할 수 있는 컴퓨팅 시스템에 대한 예시적인 컴퓨터 하드웨어 및 소프트웨어 아키텍처를 예시하는 컴퓨터 아키텍처 도면이다.
도 6은 본원에서 제시되는 기법들 및 기술들의 양태들을 구현할 수 있는 분산 컴퓨팅 환경을 예시하는 도면이다.
도 7은 본원에서 제시되는 기법들 및 기술들의 양태들을 구현할 수 있는 컴퓨팅 디바이스에 대한 컴퓨팅 디바이스 아키텍처를 예시하는 컴퓨터 아키텍처 도면이다.
도 1은 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 개시되는 기술의 적용에 적합한 아키텍처의 예시적인 예를 도시하는 아키텍처 도면이다.
도 2a는 카트의 바스켓 내의 아이템들의 중량의 변화들을 검출할 수 있는 개시되는 기술에 사용하기 위한 자동화된 물리적 쇼핑 카트의 예에 대한 개략도이다.
도 2b는 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 개시되는 기술의 적용에 적합한 카트 제어기에 대한 아키텍처의 예시적인 예를 도시하는 아키텍처 도면이다.
도 3a는 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 개시되는 기술에 사용하기 위한 사용자 인터페이스의 예에 대한 개략도이다.
도 3b는 도 2a의 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 개시되는 기술의 적용에서의 아이템 검출의 예를 예시하는 개략도이다.
도 4a는 개시되는 기술에 따른, 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 프로세스의 예시적인 예를 도시하는 제어 흐름도이다.
도 4b는 개시되는 기술에 따른, 자동화된 물리적 쇼핑 카트에서 아이템에 대한 아이템 정보를 자동으로 획득하기 위한 프로세스의 예시적인 예를 도시하는 제어 흐름도이다.
도 4c는 개시되는 기술에 따른, 중량에 기초하여 아이템의 가격을 책정하기 위한 프로세스의 예를 예시하는 제어 흐름도이다.
도 4d는 개시되는 기술에 따른, 사용자 클라이언트와 통신하기 위한 프로세스의 예를 예시하는 제어 흐름도이다.
도 4e는 개시되는 기술에 따른, 카트 제어기와 통신하기 위한 사용자 클라이언트에서의 프로세스의 예를 예시하는 제어 흐름도이다.
도 4f는 개시되는 기술에 따른, 재고 또는 쇼핑 리스트를 업데이트하기 위해 카트 제어기와 통신하기 위한 프로세스의 예를 예시하는 제어 흐름도이다.
도 4g는 개시되는 기술에 따른, 거래를 커밋(committing) 및 확인하기 위한 프로세스의 예를 예시하는 제어 흐름도이다.
도 5는 본원에서 제시되는 기법들 및 기술들의 양태들을 구현할 수 있는 컴퓨팅 시스템에 대한 예시적인 컴퓨터 하드웨어 및 소프트웨어 아키텍처를 예시하는 컴퓨터 아키텍처 도면이다.
도 6은 본원에서 제시되는 기법들 및 기술들의 양태들을 구현할 수 있는 분산 컴퓨팅 환경을 예시하는 도면이다.
도 7은 본원에서 제시되는 기법들 및 기술들의 양태들을 구현할 수 있는 컴퓨팅 디바이스에 대한 컴퓨팅 디바이스 아키텍처를 예시하는 컴퓨터 아키텍처 도면이다.
다음의 상세한 설명은 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 기술들을 설명하고, 기술들은 카트 내의 아이템들의 중량의 변화를 검출하는 것, 및 광학 디바이스로부터 수신된 이미지 데이터로부터 상관된 아이템이 결정 또는 식별되었는지 여부를 결정하는 것을 수반한다. 상관된 아이템이 식별되지 않은 경우, 아이템이 검출되지 않았음을 표시하는 메시지가 디스플레이되고, 사용자는 아이템을 재스캐닝하도록 프롬프팅될 수 있다.
개시되는 기술들의 특정 간략화된 예들에서, 사용자 디바이스는 아이템들을 스캐닝하고 카트에 대한 메시지들을 디스플레이하기 위해 사용될 수 있다. 광학 디바이스들, 예컨대 카메라들은 스마트 폰들, 태블릿들, 및 랩톱 컴퓨터들과 같은 클라이언트 디바이스들에서 빈번하게 발견된다. 아이템들은 광학 디바이스, 및 광학 디바이스로부터의 이미지 데이터로부터 아이템을 식별하는 데 활용되는 이미지 인식을 사용하여 스캐닝될 수 있다. 광학 디바이스는 카트에 부착된 광학 디바이스 또는 사용자 클라이언트 디바이스의 광학 디바이스일 수 있다. 다양한 상이한 예들에서, 이미지 인식은 카트 제어기의 이미지 인식 능력, 사용자 클라이언트 디바이스의 이미지 인식 능력, 또는 서버 또는 원격 리소스 기반 이미지 인식 능력에 의해 수행될 수 있다.
아이템 중량은 카트 내의 아이템들의 중량의 변화에 기초하여 결정될 수 있고, 중량에 따라 가격이 책정될 수 있다. 상관된 아이템이 카트에 추가되었음을 표시하는, 카트 내의 아이템에 대한 통지가 재고 또는 쇼핑 리스트 애플리케이션에 제공될 수 있다.
일반적으로, 쇼핑 카트에 대한 아이템의 추가는 쇼핑 카트 내의 아이템들의 중량의 변화에 의해 검출될 수 있다. 중량의 변화와 상관된 카트 내의 아이템들에 대한 이미지 데이터에서 아이템 스캔이 발견되지 않은 경우, 스캔이 발견되지 않았음을 표시하는 메시지가 사용자 인터페이스 상에 디스플레이될 수 있다. 사용자는 아이템에 대한 아이템 정보를 입력하거나 또는 아이템을 재스캐닝하도록 프롬프팅될 수 있다.
일부 예들에서, 아이템 식별자, 설명, 또는 가격과 같은 아이템 정보는 UI를 통해 사용자에게 디스플레이될 수 있다. UI는 쇼핑 카트 상에 장착될 수 있다.
다른 예들에서, 카트 제어기는 사용자 클라이언트 디바이스와 통신할 수 있다. 일부 예들에서, 아이템은 사용자 클라이언트 디바이스의 광학 이미지 인식 능력들을 사용하여 스캐닝될 수 있다. 또 다른 예들에서, 아이템 정보 및 통지들은 사용자 클라이언트 디바이스의 UI를 사용하여 사용자에게 디스플레이될 수 있다.
본원에서 더 상세히 설명될 바와 같이, 본원에서 설명되는 기법들 및 기술들의 구현들은 솔리드 스테이트 회로들, 디지털 로직 회로들, 컴퓨터 구성요소들, 및/또는 하나 이상의 입력 디바이스 상에서 실행되는 소프트웨어의 사용을 포함할 수 있다는 것을 인식할 수 있다. 본원에서 설명되는 신호들은 데이터 파일의 변경된 상태 또는 데이터 파일에 관한 다른 정보를 통신하기 위한 아날로그 및/또는 디지털 신호들을 포함할 수 있다.
본원에서 설명되는 발명 대상이 컴퓨터 시스템 상의 운영 체제 및 애플리케이션 프로그램들의 실행과 관련하여 실행되는 프로그램 모듈들의 일반적인 맥락에서 제시되지만, 관련 기술분야의 통상의 기술자는 다른 구현들이 다른 타입들의 프로그램 모듈들과 조합하여 수행될 수 있다는 것을 인지할 것이다. 일반적으로, 프로그램 모듈들은 특정 태스크들을 수행하거나 또는 특정 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 구성요소들, 데이터 구조들, 및 다른 타입들의 구조들을 포함한다. 더욱이, 본원에서 설명되는 발명 대상은 멀티프로세서 시스템들, 메인프레임 컴퓨터들, 마이크로프로세서 기반 또는 프로그램가능 소비자 전자기기들, 미니컴퓨터들, 핸드-헬드 디바이스들 등을 포함하는 다른 컴퓨터 시스템 구성들로 실시될 수 있다는 것을 관련 기술분야의 통상의 기술자는 인식할 것이다.
본원에서 설명되는 기술들의 사용에 의해, 중량의 변화에 기초하여 카트에 아이템이 추가되었다고 결정하는, 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하는 것이 제공된다. 중량의 변화와 상관되는 광학 디바이스로부터의 이미지 데이터로부터 카트에 추가된 아이템이 식별될 수 있는지 여부에 대한 결정은 광학 디바이스로부터 획득된 이미지 데이터로부터 이루어진다. 상관된 아이템이 식별될 수 없는 경우, 사용자는 아이템 식별자의 입력 또는 광학 스캐닝을 통해 아이템을 식별하도록 프롬프팅될 수 있다.
하나의 기술적 효과는, 광학 디바이스를 사용하여 카트 내의 아이템들에 대한 아이템 이미지 데이터를 획득하고, 아이템 식별을 위해 아이템 이미지 데이터를 사용함으로써, 자동화된 카트의 기능을 개선하는 것일 수 있다. 다른 기술적 효과는 아이템 식별을 위한 이미지 인식이 카트 제어기 대신에 사용자 클라이언트 디바이스 또는 원격 서버에서 수행될 수 있다는 것일 수 있다.
또 다른 기술적 효과는, 카트에 추가된 아이템들의 누락된 식별을 피하기 위해, 카트에 추가된 아이템과 카트 내의 아이템들의 중량의 변화를 상관시킴으로써, 자동화 카트의 동작의 효율을 개선하는 것일 수 있다. 추가 기술적 효과는, 아이템 이미지 데이터를 획득하고 메시지들을 디스플레이하기 위해 사용자 클라이언트 디바이스에 제공된 광학 디바이스 또는 사용자 인터페이스를 활용하여, 이러한 능력들이 카트에 제공될 필요가 없도록 하는 것일 수 있다. 또 다른 기술적 효과는 카트에 추가된 아이템들의 식별이 재고 또는 쇼핑 리스트 애플리케이션들과 통합될 수 있다는 것이다.
본원에서 언급된 것들 이외의 다른 기술적 효과들이 또한, 본원에서 개시되는 기술들의 구현으로부터 실현될 수 있다.
다음의 상세한 설명에서, 본원의 일부를 형성하고 특정 구성들 또는 예들이 예시로서 도시된 첨부 도면들이 참조된다. 이제, 여러 도면들 전체에 걸쳐 유사한 번호들이 유사한 요소들을 나타내는 도면들을 참조하여, 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 컴퓨팅 시스템, 컴퓨터 판독가능 저장 매체, 및 컴퓨터에 의해 구현되는 방법론들의 양태들이 설명될 것이다. 도면들에 대하여 아래에서 더 상세히 설명될 바와 같이, 본원에서 설명되는 기능성 및 기법들을 구현할 수 있는 다수의 애플리케이션 및 서비스가 존재한다.
도 1은 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 개시되는 기술의 적용에 적합한 아키텍처(100)의 예시적인 예를 도시하는 아키텍처 도면이다. 도 1의 예에서, 자동화된 쇼핑 카트(120)는 네트워크(102)를 통해 서버(110) 및 모바일 클라이언트(130)와 통신할 수 있다. 특정 예들에서, 카트(120)는 네트워크(102)를 통해 모바일 클라이언트(130)와 아이템 정보 및 통지를 교환할 수 있다. 추가하여, 서버들(110)은 아이템 또는 재고 정보와 같은 정보를 제공할 수 있거나 또는 지불 거래들을 실시할 수 있다. 모바일 클라이언트(130)는 사용자에 의해 휴대되는 사용자 클라이언트 디바이스, 이를테면, 스마트 폰, 태블릿, 또는 유사한 디바이스일 수 있다.
도 2a는 도 1의 카트(120)와 같은 카트(200)의 바스켓(210) 내의 아이템들의 중량의 변화들을 검출할 수 있는 개시되는 기술에 사용하기 위한 자동화된 물리적 쇼핑 카트(200)의 예에 대한 개략도이다. 이 예에서, 카트(200)는 아이템들을 수용하기 위한 바스켓(210), 및 카트(200)를 지지하고 이를테면 바퀴들(214A 및 214B)로 이동성을 제공하는 섀시(212)를 포함한다. 중량 검출기(224)는 바스켓(210)과 섀시(212) 사이에 위치되고, 바스켓(210) 내의 아이템들의 중량을 검출할 수 있다. 예컨대, 204에서 바스켓(210)에 아이템(202)이 배치될 때, 중량 검출기(224)는 변화를 검출할 수 있다. 일부 예들에서, 중량 검출기(224)는 바스켓(210) 내의 아이템들의 중량의 변화를 정량화할 수 있다.
카트(200)는 또한 카트 제어기(220)를 포함하고, 카트 제어기(220)는 이 예에서 카트(200)에 부착되고, 유니버설 시리얼 버스(USB) 케이블과 같은 유선 연결 또는 블루투스 링크와 같은 무선 연결을 통해, 이미지 인식을 위한 광학 디바이스(222) 및 중량 검출기(224)와 통신한다. 개시되는 기술에 따라, 광학 디바이스(222) 및 중량 검출기(224)로부터 카트 제어기(220)로 데이터를 통신하기 위한 다른 접근법들이 활용될 수 있다.
도 2a의 예에서, 광학 디바이스(222)는 바스켓에 아이템이 추가될 때 아이템을 광학적으로 스캐닝하도록 바스켓(210) 상에 구성된다. 204에서 바스켓(210)에 아이템(202)이 배치될 때, 광학 디바이스(222)는 아이템(202)에 대한 이미지 데이터를 수집하고, 이미지 인식 프로세싱을 위해 이미지 데이터를 카트 제어기(220)에 제공한다. 일부 예들에서, 아래에서 더 상세히 논의되는 바와 같이, 개시되는 기술에 따라, 광학 디바이스(222)에 추가하여 다양한 스캐너들이 활용될 수 있다. 개시되는 기술의 특정 양태들에 따라, 광학 디바이스(222)는 클라이언트(130)와 같은 상이한 디바이스에 상주하는 광학 이미지 인식 능력일 수 있다는 것에 유의한다. 카트 제어기(220)는 또한, 서버(110) 및 클라이언트(130)와 같은 다른 디바이스들과 통신할 수 있다.
도 2b는 자동화된 물리적 쇼핑 카트(200)에서 아이템들을 자동으로 등록하기 위한 개시되는 기술의 적용에 적합한 카트 제어기(220)에 대한 클라이언트 아키텍처의 예시적인 예를 도시하는 아키텍처 도면이다. 이 예에서, 카트 제어기(220)는 광학 이미지 인식, 제어, 디스플레이, 계산, 및 통신을 위한 프로세스들을 실행할 수 있는 온보드 컴퓨터(250)를 포함한다.
온보드 컴퓨터(250)는 로컬 네트워크 또는 버스(251)를 통해 광학 디바이스들(222), 이를테면, 광학 센서(222A) 또는 카메라(222B), 및 다양한 센서들(256) 및 입력/출력(I/O) 디바이스들과 통신할 수 있다. 광학 센서(222A)는 물체들을 검출 및 식별하기 위해 프로세싱될 수 있는 비디오 또는 사진 이미지 데이터를 캡처할 수 있다(예컨대, 광학 이미지 인식). 카메라(222B)는 물체들을 검출 및 식별하기 위해 가시광 또는 적외선 광과 같은 광을 활용할 수 있다. 개시되는 기술에 따라 다른 광학 디바이스들이 활용될 수 있다.
이 예에서, 사용자 인터페이스(UI)(252)는, 예컨대, 아이템 추가, 아이템 정보 디스플레이, 또는 아이템들의 총 가격 디스플레이와 같은, 카트 제어기(220)에 대한 사용자 입력 요청들을 수신할 수 있다. UI(252)는 사용자에게 정보를 제시하고 사용자의 입력을 수신하기 위해 디스플레이(260A)와 조합된 그래픽 사용자 인터페이스 또는 터치 스크린 인터페이스일 수 있다. 오디오 출력(260B)은 성공적인 아이템 스캔을 표시하는 제1 톤, 또는 카트(200)의 바스켓(210) 내의 아이템들의 중량의 변화와 상관된 실패한 아이템 스캔 또는 아이템 스캔 없음을 표시하는 제2 톤과 같은 가청 신호들을 생성하는 스피커일 수 있다.
무선 송수신기(254)는 아이템 정보, 통지들, 또는 요청들과 같은 무선 메시지들을 전송 및 수신하기 위해 사용될 수 있는 통신 디바이스이다. 본 예에서, 무선 송수신기(254)는 사용자 클라이언트 디바이스와 같은 인근 클라이언트 디바이스, 또는 아이템 및 재고 정보를 위한 서버들(110)과의 통신과 같은 WLAN 네트워크 액세스 포인트 내의 무선 송수신기와 직접적으로 메시지들을 전송 또는 수신하기 위해 사용될 수 있는 무선 로컬 영역 네트워크(WLAN) 디바이스와 같은 비교적 짧은 범위의 통신 디바이스이다.
광학 디바이스(222)는 카트(200)에 설치될 수 있거나 또는 다른 디바이스 상에 상주할 수 있다는 것에 유의한다. 일부 예들에서, 광학 디바이스(222)는 카트에 아이템들이 추가될 때 아이템들을 광학적으로 식별하기 위해 카트(200) 상에 설치된다. 다른 예들에서, 이미지 인식 능력들을 갖는 사용자 클라이언트 디바이스와 같은 다른 디바이스에서의 광학 이미지 인식 능력이 아이템들을 식별하기 위해 활용될 수 있다.
광학 디바이스(222)는 일반적으로, 장애물이 없는 경로에 있는 물체를 식별 또는 결정할 수 있는 가시선 타입이라는 것에 유의한다. 아이템이 카트(200) 내의 다른 아이템들 또는 물체들에 의해 가려지는 경우, 카트(200)에 아이템이 추가될 때 아이템이 광학적으로 스캐닝되지 않을 수 있고, 이는 카트의 내용물에 관한 잘못된 또는 불완전한 정보를 초래할 수 있다.
중량 검출기 입력(258)은 카트(200)에 장착된 중량 검출기로부터 중량 신호를 수신한다. 중량 검출기 입력(258)을 통해 제공되는 중량 신호는 카트(200) 내의 아이템들의 중량의 변화로부터 카트(200)로의 아이템의 추가가 결정되는 것을 가능하게 할 수 있다. 일부 예들에서, 중량 신호는 카트(200)에 추가되는 아이템, 예컨대, 중량에 의해 가격이 책정되는 아이템의 중량을 측정하기 위해 중량의 변화가 정량화되어 활용되는 것을 가능하게 할 수 있다.
위에서 언급된 바와 같이, 카트 제어기(220)는 카트(200) 상에 설치될 수 있는 하나 이상의 사용자 인터페이스 디바이스(260)를 포함할 수 있다. 그러나, 일부 예들에서, UI는 스마트 폰 또는 태블릿과 같은 사용자 클라이언트 디바이스 내의 인터페이스에 의해 제공될 수 있다. 예컨대, 디스플레이를 위한 정보 또는 통지들은 무선 송수신기(254)를 통해 사용자 클라이언트 디바이스로 전송될 수 있다. 이러한 접근법은 또한, 사용자 클라이언트 디바이스에서 실행되는 애플리케이션들과 카트(200) 상의 특정 기능들의 통합을 제공할 수 있다. 일 예에서, 카트(200)에 아이템이 추가될 때, 사용자 클라이언트 디바이스에 메시지가 전송될 수 있고, 사용자 클라이언트 디바이스는 추가된 아이템을 쇼핑 리스트와 비교할 수 있고, 쇼핑 리스트 디스플레이는 카트에 아이템이 추가되었음을 표시하기 위해 업데이트된다.
도 3a는 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 개시되는 기술을 위한 사용자 인터페이스를 제공하는 데 사용하기 위한 클라이언트(300)의 예에 대한 개략도이다. 이 예에서, 클라이언트(300)는 그래픽 데이터 및 정보를 디스플레이할 수 있는 그래픽 사용자 인터페이스(GUI) 스크린(310)을 포함한다. 도시된 예에서, GUI(310)의 디스플레이 영역(312)은 아이템의 UPC 번호, 이름, 및 가격과 같은 아이템 식별자 및 정보의 디스플레이에 전용된다. 디스플레이 영역(314)은 카트 내의 아이템들의 총 가격의 디스플레이에 전용된다. 디스플레이 영역(316)은 아이템의 중량이 검출되었지만 광학 스캔이 실패했다는 통지와 같은 사용자에 대한 통지들에 전용된다. 디스플레이 영역(318)은 쇼핑 카트에 아이템이 있는지 여부의 표시를 포함하는 아이템들의 쇼핑 리스트를 디스플레이하는 것에 전용된다. 개시되는 기술에 따라, 재고 데이터와 같은 다양한 정보를 위해 추가적인 디스플레이 영역들이 활용될 수 있다.
GUI(310)는 쇼핑 카트의 사용자로부터의 사용자 입력을 가능하게 하는 터치 스크린일 수 있다. 일 예에서, 디스플레이 영역(320)은 아이템의 새로운 광학 스캔을 개시하기 위해 사용자가 터치하는 사용자 입력 구역일 수 있다. 디스플레이 영역(322)은 아이템 식별자를 타이핑하는 것과 같은 데이터의 사용자 입력을 개시하기 위한 사용자 입력 구역일 수 있다.
일부 예들에서, 클라이언트(300)는 쇼핑 카트에 부착되어 카트 제어기(220)와 통신하는 전용 클라이언트 디바이스로서 구현될 수 있다. 다른 예들에서, 클라이언트(300)는 카트 제어기(220)와 통합된 클라이언트일 수 있다. 또 다른 예들에서, 클라이언트(300)는 스마트 폰 또는 태블릿과 같은 사용자 클라이언트 디바이스 상에 상주하는 클라이언트 애플리케이션으로서 구현될 수 있다.
도 3b는 도 2a의 카트(200)와 같은 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 개시되는 기술의 적용(330)에서의 아이템 검출의 예시적인 시나리오를 예시하는 개략도이다. 이 예에서, 아이템(332)이 카트의 바스켓에 추가된다. 광학 디바이스(222)는 아이템(332)에 대한 비디오 또는 사진 데이터를 수집하고, 이는, 334에서, 이미지 인식 프로세싱을 위해 카트 제어기(340)에 제공된다. 아이템(332)의 추가는 또한 중량 검출기(344)에 의해 검출될 수 있고, 중량 검출기(344)는 중량 검출 신호를 카트 제어기(340)에 제공한다.
이 예에서, 카트 제어기가 중량 검출 신호(336)에 기초하여 카트에 아이템이 추가되었다고 결정하지만, 광학 디바이스(342)로부터 상관된 아이템 식별 또는 스캔을 식별하는 것이 가능하지 않은 경우, 예컨대, 광학 디바이스(342)로부터 카트 제어기(340)에 제공된 이미지 데이터(334)가 이미지 데이터의 이미지 인식 프로세싱을 통한 아이템(332)의 식별을 가능하게 하지 않는 경우, 카트 제어기(340)는 아이템(332)에 대해 상관된 아이템 식별이 발견되지 않았음을 표시하는 통지 메시지(342)를 클라이언트(350)에 제공한다. 일부 예들에서, 통지 메시지(342)는 메시지가 사용자에게 디스플레이되게 할 수 있고, 특정 예들에서, 아이템 식별 정보를 획득하기 위한 새로운 스캔 또는 사용자에 의한 아이템 식별 정보의 입력을 요청하기 위한 프롬프트가 디스플레이되게 할 수 있다. 클라이언트(350)는, 344에서, 아이템 식별 정보를 카트 제어기(340)로 리턴하고, 여기서, 아이템 식별 정보가 추가로 프로세싱된다.
개시되는 기술과 일관성을 유지하는 다양한 접근법들이 활용될 수 있다는 것에 유의한다. 예컨대, 카트 제어기에서 수행되는 이미지 인식, 사용자 클라이언트 디바이스에서 수행되는 이미지 인식, 또는 원격 서버, 서비스 또는 리소스에서 수행되는 이미지 인식과 같은 다양한 기법들이 이미지 데이터로부터 아이템을 식별하기 위해 활용될 수 있다. 추가하여, 카트 상에 장착된 디스플레이 또는 사용자 클라이언트 디바이스의 디스플레이와 같은, 디스플레이를 위한 정보를 디스플레이 또는 출력하기 위한 다양한 접근법들이 활용될 수 있다. 개시되는 기술과 일치하는 매우 다양한 접근법들이 활용될 수 있다.
도 4a는 개시되는 기술에 따른, 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 프로세스(400)의 예시적인 예를 도시하는 제어 흐름도이다. 402에서, 예컨대, 중량 검출기에 의해 제공되는 중량 검출 신호를 통해, 카트(200)와 같은 카트 내의 아이템들의 중량의 변화가 검출된다. 404에서, 광학 디바이스, 예컨대 광학 디바이스(222)로부터 이미지 데이터가 수신된다.
406에서, 중량의 검출된 변화와 상관되는 상관된 아이템이 식별되었는지 여부를 결정하기 위해, 수신된 이미지 데이터에 대해 이미지 인식 프로세싱이 수행된다. 예컨대, 중량의 변화가 검출된 시간에 근접한 시간에 수신된 이미지 데이터로부터 아이템이 식별될 수 있다. 다른 예에서, 중량의 변화가 검출된 시간의 시간 범위 내에 카트에서 아이템이 식별되었는지 여부를 결정하기 위해, 이미지 데이터로부터의 타임스탬프 데이터가 사용될 수 있다. 이미지 데이터로부터 상관된 아이템을 식별하는 다른 접근법들이 또한, 개시되는 기술의 또 다른 예들에 적합할 수 있다.
아이템이 성공적으로 식별된 경우, 제어는 410에서 420으로 분기된다. 일부 예들에서, 광학 디바이스(222)에 의해 캡처된 이미지 데이터는 원격 서버에 제공될 수 있고, 원격 서버는 원격 서버에서 수행되는 이미지 인식 프로세싱을 통해 아이템을 식별할 수 있다는 것에 유의한다. 유사하게, 다른 예들에서, 아이템들을 식별하도록 이미지 데이터에 대해 이미지 인식을 수행하기 위해 원격 컴퓨팅 리소스들이 활용될 수 있다.
아이템이 성공적으로 식별되지 않은 경우, 제어는 410에서 412로 분기되어, 상관된 아이템이 식별되지 않았음을 표시하는 메시지의 디스플레이를 발생시키고, 일부 예들에서, 사용자에게, 예컨대, 이미지 캡처를 돕도록 카트에서 아이템을 제거하고 재배치함으로써, 아이템을 식별하기 위해 아이템을 재스캐닝할 것, 또는 예컨대 UI를 사용하여 아이템에 대한 아이템 식별자를 입력할 것을 프롬프팅한다. 이미지 데이터가 원격 서버에 제공되는 특정 예들에서, 서버는 아이템이 식별될 수 없다는 표시를 리턴할 수도 있고, 이는 410에서 프로세싱될 수 있다. 아이템 식별자가 재스캐닝되거나 또는 식별자가 입력되는 경우, 제어는 414에서 410으로 분기되어, 아이템이 식별되었는지를 결정한다.
420에서, 이 예에서, 식별된 아이템에 대한 가격과 같은 아이템 정보가 결정된다. 일부 예들에서, 아이템 정보 및 가격은 카트 제어기에 국부적으로 저장된 데이터로부터 결정될 수 있다. 다른 예들에서, 아이템 정보는 서버들(110)과 같은 원격 서버로부터 획득될 수 있다. 422에서, 아이템 정보 및 가격이 사용자에게 디스플레이하기 위해 제공될 수 있다.
일부 예들에서, 아이템이 카트에 추가되었음을 표시하는 통지가 전송될 수 있다. 특정 예들에서, 통지는 서버들(110) 상의 재고 애플리케이션과 같은 재고 애플리케이션에 전송될 수 있다. 일부 예들에서, 통지는 쇼핑 리스트 애플리케이션에 제공될 수 있고, 쇼핑 리스트 애플리케이션은 아이템 식별자들의 세트, 예컨대 쇼핑 리스트 내의 아이템이 카트에 추가되었음을 표시하는 정보를 디스플레이할 수 있다. 특정 예들에서, 426에서, 카트 내의 아이템들에 대해 지불 거래가 수행되게 하기 위해, 인출(debit) 표시가 전송될 수 있다.
도 4b는 아이템 정보에 대해 원격 서버에 질의하기 위한 프로세스(430)의 예시적인 예를 도시하는 제어 흐름도이다. 432에서, 아이템에 대한 가격 및 다른 설명 정보를 포함할 수 있는 아이템 정보를 획득하기 위해, 아이템 식별자를 갖는 요청이 서버로 전송될 수 있다. 위에서 언급된 바와 같이, 일부 예들에서, 광학 디바이스에 의해 아이템에 대해 캡처된 이미지 데이터가 서버 또는 서비스로 전송될 수 있고, 이는 이미지 데이터에 적용되는 이미지 인식 프로세싱에 기초하여 아이템에 대한 식별자를 결정할 수 있다. 434에서, 아이템 식별자, 설명, 또는 가격과 같은 아이템에 대한 아이템 정보가 수신될 수 있고, 디스플레이될 수 있거나 또는 추가로 프로세싱될 수 있다.
도 4c는 중량에 의해 가격이 책정될 수 있는 아이템을 프로세싱하기 위한 프로세스(440)의 예를 예시하는 제어 흐름도이다. 442에서, 카트에 추가된 아이템의 중량이 중량 검출 신호로부터 결정되고, 예컨대, 중량 검출 신호는 추가된 아이템에 대응하는 중량의 절대 차이가 결정될 수 있도록 구성된다. 444에서, 예컨대, 아이템 정보를 제공하는 원격 서버로부터 아이템에 대한 중량별 가격이 획득된다. 446에서, 중량에 기초한 아이템에 대한 가격이 결정되고, 카트 내의 아이템들에 대한 총 가격에 추가될 수 있다. 이 예는 중량에 의해 가격이 책정되는 식료품들, 예컨대, 파운드당 $1.89인 사과들과 관련될 수 있다.
도 4d는 사용자 클라이언트와 통신하기 위한 프로세스(450)의 예를 예시하는 제어 흐름도이다. 예컨대, 프로세스(450)는 사용자의 모바일 클라이언트 디바이스, 예컨대 모바일 클라이언트(130)와 통신하기 위해 카트 제어기, 예컨대 카트 제어기(222)에서 수행될 수 있다. 452에서, 예컨대, 도 2b에 도시된 카트 제어기(220) 내의 무선 송수신기(254)를 사용하여, 카트 제어기와 모바일 클라이언트 사이에 통신 링크가 확립된다.
454에서, 모바일 클라이언트 상의 디스플레이를 위한 정보가 모바일 클라이언트로 전송된다. 예컨대, 카트 제어기(220)는 식별된 아이템에 관한 아이템 정보를 모바일 클라이언트로 전송할 수 있다. 다른 예에서, 카트 제어기(220)는 아이템의 스캔이 실패했다는 통지를 전송할 수 있다. 456에서, 사용자 클라이언트에서 이미지 인식 능력을 사용하여 획득된 아이템 식별자 또는 사용자에 의해 입력된 식별자와 같은 아이템 식별자가 사용자 클라이언트 디바이스로부터 수신될 수 있다.
도 4e는 카트 제어기와 통신하기 위해 사용자 클라이언트에서 실행될 수 있는 프로세스(460)의 예를 예시하는 제어 흐름도이다. 이 예에서, 프로세스(460)는 도 4d의 프로세스(450)와 협력하여 동작하도록 구성된다. 462에서, 카트 제어기와 통신 링크가 확립된다.
464에서, 디스플레이를 위한 정보, 예컨대, 아이템 정보 또는 스캔 실패 통지가 카트 제어기로부터 수신된다. 466에서, 도 3a에 예시된 예에서와 같이, 수신된 정보는 사용자 클라이언트의 사용자 인터페이스 상에 디스플레이된다.
도 3a의 GUI(310)의 디스플레이 영역(316)에서와 같이 스캔 실패를 표시하는 통지가 전송되는 경우, 470에서, 사용자는 아이템에 대한 이미지 데이터를 획득하도록 사용자 클라이언트의 광학 디바이스로 새로운 스캔을 개시하기 위해 사용자 입력 영역(320)을 활성화함으로써 아이템의 새로운 스캔을 수행할 수 있다. 이 예에서, 471에서, 아이템 식별자를 결정하기 위해 이미지 데이터에 대해 이미지 인식이 수행될 수 있다. 대안적으로, 사용자는 데이터 입력 영역(322)을 사용하여 아이템 식별자를 입력할 수 있다. 472에서, 아이템 스캐닝으로부터 또는 사용자 입력으로부터 획득된 아이템 식별자는 카트 제어기로 전송될 수 있다.
프로세스(460)는 카트에 통합된 사용자 인터페이스 디바이스가 필요하지 않을 수 있도록 사용자의 클라이언트 디바이스의 사용을 용이하게 할 수 있다. 또한, 프로세스들(450 및 460)은 아이템에 대한 이미지 데이터를 획득하기 위해 카트에 통합된 전용 광학 디바이스 대신에 사용자 클라이언트 디바이스의 이미지 인식 능력이 활용되도록 적응될 수 있다.
또한, 특정 예들에서, 이미지 인식 기능성이 서버에 의해 제공될 수 있다는 것에 유의한다. 이러한 예에서, 사용자 클라이언트는, 이를테면 스마트 폰의 카메라를 사용하여, 아이템 이미지 데이터를 캡처하고, 서버가 아이템을 식별할 수 있도록 아이템 이미지 데이터를 서버에 제공한다. 이어서, 서버는 식별된 아이템에 대한 아이템 식별자 및 관련 정보를 리턴할 수 있다.
추가하여, 사용자 클라이언트 디바이스, 예컨대 애플리케이션에서의 스캔 및 디스플레이 기능성의 구현은 재고 애플리케이션 또는 쇼핑 리스트 애플리케이션과 같은 다른 애플리케이션들과의 통합을 용이하게 할 수 있다. 도 4f는 재고 또는 쇼핑 리스트를 업데이트하기 위해 카트 제어기와 통신하기 위한 클라이언트에서의 프로세스(480)의 예를 예시하는 제어 흐름도이다.
482에서, 예컨대, 카트 제어기에서의 아이템 이미지 데이터의 이미지 인식 프로세싱의 결과로서, 아이템 식별자가 카트 제어기로부터 수신된다. 484에서, 예컨대, 아이템이 재고 애플리케이션에서의 재고에 포함되는지 또는 쇼핑 리스트 애플리케이션에서의 아이템 식별자들의 세트에 포함되는지를 결정하기 위해, 아이템 식별자가 재고 또는 쇼핑 리스트에 대해 체크된다. 484에서, 아이템 식별자는, 예컨대 재고에 추가하거나 또는 재고로부터 빼는 것과 같이, 재고에 대해 프로세싱될 수 있거나, 또는 아이템은, 도 3a에 예시된 GUI(310)의 디스플레이 영역(318) 내의 리스트 내의 아이템 ID A 및 아이템 ID D와 연관된 X 마크와 같이, 쇼핑 리스트에서 만족된 것으로 마킹될 수 있다.
도 4g는 거래를 커밋 및 확인하기 위한 사용자 클라이언트에서의 프로세스(490)의 예를 예시하는 제어 흐름도이다. 492에서, 카트 내의 아이템들에 대한 인출 금액이 카트 제어기로부터 수신된다. 494에서, 사용자 클라이언트는, 예컨대 사용자 클라이언트 내의 지불 애플리케이션과의 통합을 통해, 아이템들에 대해 지불하기 위해 인출 거래를 커밋한다. 496에서, 카트 내의 아이템들이 지불되었음을 확인하는 거래 확인이 카트 제어기로 전송될 수 있고, 이는 사용자가 카트 내의 아이템들을 집으로 가져가는 것을 가능하게 할 수 있다.
개시되는 기술의 교시들로부터 벗어나지 않으면서, 디바이스들 사이의 통신을 확립할 뿐만 아니라, 이미지 데이터를 수집 및 교환하고 이미지 데이터에 대해 이미지 인식을 수행하여 아이템들을 식별하기 위해, 다양한 상이한 수단들 및 방법론들이 활용될 수 있다는 것을 인식해야 한다. 개시되는 기술은 본 개시내용의 교시들을 벗어나지 않으면서 구현들의 구성에서 고도의 유연성 및 변화를 제공한다.
본 기법들은 하나 이상의 머신에서 발생하는 동작들을 수반할 수 있다. 본원에서 사용되는 바와 같이, "머신"은 특수 컴퓨팅 동작들을 수행하기 위한 명령어들로 프로그래밍된 물리적 데이터 저장 및 프로세싱 하드웨어를 의미한다. 2개 이상의 상이한 머신이 하드웨어 구성요소들을 공유할 수 있다는 것을 이해해야 한다. 예컨대, 동일한 집적 회로는 2개 이상의 상이한 머신의 일부일 수 있다.
관련 기술분야의 통상의 기술자는, 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위해, 매우 다양한 접근법들이 본 접근법과 함께 활용 및 조합될 수 있다는 것을 인지할 것이다. 본원에서 설명되는 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하는 것의 상이한 양태들의 특정 예들은 예시적인 것이고, 나타낸 기법들의 범위를 제한하도록 의도된 것이 아니다.
자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 컴퓨터 아키텍처들
도 4a, 도 4b, 도 4c, 도 4d, 도 4e, 도 4f, 및 도 4g의 프로세스들(400, 430, 440, 450, 460, 480, 및 490)의 적어도 일부, 및 본원에서 설명되는 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하는 것에 관한 다른 프로세스들 및 동작들은 하나 이상의 서버, 이를테면, 도 6의 컴퓨터 환경(600) 또는 클라우드에서 구현될 수 있고, 본원에서 논의되는 바와 같이 변환 또는 해석되는 사용자 제어 입력 신호들의 결과들을 정의하는 데이터는 디스플레이를 위해 사용자 디바이스로 통신될 수 있다는 것에 유의한다. 대안적으로, 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하는 프로세스들은 클라이언트 디바이스에서 구현될 수 있다. 또 다른 예들에서, 일부 동작들은 서버들과 같은 컴퓨팅 리소스들의 하나의 세트에서 구현될 수 있고, 다른 단계들은 클라이언트 디바이스와 같은 다른 컴퓨팅 리소스들에서 구현될 수 있다.
본원에서 설명되는 방법들은 언제든지 종료될 수 있고, 완전히 전부 수행될 필요는 없다는 것을 이해해야 한다. 본원에서 설명되는 방법들의 일부 또는 모든 동작들 및/또는 실질적으로 동등한 동작들은, 아래에서 정의되는 바와 같은, 컴퓨터 저장 매체들 상에 포함되는 컴퓨터 판독가능 명령어들의 실행에 의해 수행될 수 있다. 본 설명 및 청구항들에서 사용되는 바와 같은 "컴퓨터 판독가능 명령어들" 및 이의 변형들과 같은 용어는 루틴들, 애플리케이션들, 애플리케이션 모듈들, 프로그램 모듈들, 프로그램들, 구성요소들, 데이터 구조들, 알고리즘들 등을 포함하도록 본원에서 포괄적으로 사용된다. 컴퓨터 판독가능 명령어들은 단일 프로세서 또는 멀티프로세서 시스템들, 미니컴퓨터들, 메인프레임 컴퓨터들, 개인용 컴퓨터들, 핸드-헬드 컴퓨팅 디바이스들, 마이크로프로세서 기반, 프로그램가능 소비자 전자기기들, 이들의 조합들 등을 포함하는 다양한 시스템 구성들 상에 구현될 수 있다.
따라서, 본원에서 설명되는 논리적 동작들은 (1) 컴퓨팅 시스템 상에서 실행되는 일련의 컴퓨터에 의해 구현되는 행위들 또는 프로그램 모듈들로서, 그리고/또는 (2) 컴퓨팅 시스템 내의 상호연결된 머신 로직 회로들 또는 회로 모듈들로서 구현된다는 것을 인식해야 한다. 이러한 구현은 컴퓨팅 시스템의 성능 및 다른 요건들에 따른 선택의 문제이다. 따라서, 본원에서 설명되는 논리적 동작들은 상태들, 동작들, 구조적 디바이스들, 행위들, 또는 모듈들로 다양하게 지칭된다. 이러한 동작들, 구조적 디바이스들, 행위들, 및 모듈들은 소프트웨어, 펌웨어, 특수 목적 디지털 로직, 및 이들의 임의의 조합으로 구현될 수 있다.
본원에서 설명되는 바와 같이, 본원에서 설명되는 도면들과 관련하여, 루틴들(예컨대, 도 4a, 도 4b, 도 4c, 도 4d, 도 4e, 도 4f, 및 도 4g의 프로세스들(400, 430, 440, 450, 460, 480, 및 490))의 동작들은 애플리케이션, 구성요소, 및/또는 회로에 의해 적어도 부분적으로 구현되는 것으로 본원에서 설명된다. 다음의 예시가 도 4a 내지 도 4g의 구성요소들을 참조하지만, 루틴들의 동작들은 다수의 다른 방식들로 또한 구현될 수 있다는 것을 인식할 수 있다. 예컨대, 루틴들은 컴퓨터 프로세서, 또는 다른 컴퓨터의 프로세서 또는 프로세서들에 의해 적어도 부분적으로 구현될 수 있다. 추가하여, 루틴들의 동작들 중 하나 이상은 대안적으로 또는 추가적으로, 단독으로 또는 다른 소프트웨어 모듈들과 함께 작동하는 컴퓨터에 의해 적어도 부분적으로 구현될 수 있다.
예컨대, 루틴들의 동작들은, 본원에서 모듈들로 일반적으로 지칭되는, 애플리케이션, 구성요소, 및/또는 회로에 의해 적어도 부분적으로 구현되는 것으로 본원에서 설명된다. 일부 구성들에서, 모듈들은 동적으로 링크된 라이브러리(dynamically linked library)(DLL), 정적으로 링크된 라이브러리, 애플리케이션 프로그래밍 인터페이스(API)에 의해 생성되는 기능성, 컴파일된 프로그램, 해석된 프로그램, 스크립트, 또는 임의의 다른 실행가능 명령어 세트일 수 있다. 본원에서 개시되는 데이터 및 모듈들과 같은 데이터 및/또는 모듈들은 하나 이상의 메모리 구성요소에서의 데이터 구조에 저장될 수 있다. 데이터는 데이터 구조에 대한 링크들 또는 참조들을 어드레싱함으로써 데이터 구조로부터 검색될 수 있다.
다음의 예시가 위에서 논의된 도면들의 구성요소들을 참조하지만, 루틴들(예컨대, 도 4a, 도 4b, 도 4c, 도 4d, 도 4e, 도 4f, 및 도 4g의 프로세스들(400, 430, 440, 450, 460, 480, 및 490))의 동작들이 다수의 다른 방식들로 또한 구현될 수 있다는 것을 인식할 수 있다. 예컨대, 루틴들은 다른 원격 컴퓨터 또는 로컬 컴퓨터의 프로세서 또는 회로에 의해 적어도 부분적으로 구현될 수 있다. 추가하여, 루틴들의 동작들 중 하나 이상은 대안적으로 또는 추가적으로, 단독으로 또는 다른 소프트웨어 모듈들과 함께 작동하는 칩셋에 의해 적어도 부분적으로 구현될 수 있다. 본원에서 개시되는 기법들을 제공하는 데 적합한 임의의 서비스, 회로, 또는 애플리케이션이 본원에서 설명되는 동작들에서 사용될 수 있다.
도 5는 본원에서 설명되는 프로그램 구성요소들을 실행할 수 있는 디바이스들(110, 120, 130, 및 220)(도 1, 도 2a, 및 도 2b)과 같은 컴퓨터에 대한 예시적인 컴퓨터 아키텍처(500)의 추가적인 세부사항들을 도시한다. 따라서, 도 5에 예시된 컴퓨터 아키텍처(500)는 카트 제어기, 사용자 클라이언트 디바이스, 서버 컴퓨터, 모바일 폰, PDA, 스마트 폰, 데스크톱 컴퓨터, 넷북 컴퓨터, 태블릿 컴퓨터, 온보드 컴퓨터, 게임 콘솔, 및/또는 랩톱 컴퓨터에 대한 아키텍처를 예시한다. 컴퓨터 아키텍처(500)는 본원에서 제시되는 소프트웨어 구성요소들의 임의의 양태들을 실행하기 위해 활용될 수 있다.
도 5에 예시된 컴퓨터 아키텍처(500)는 중앙 프로세싱 유닛(502)("CPU"), 랜덤 액세스 메모리(506)("RAM") 및 판독 전용 메모리("ROM")(508)를 포함하는 시스템 메모리(504), 및 메모리(504)를 CPU(502)에 커플링시키는 시스템 버스(510)를 포함한다. 이를테면 시동 동안 컴퓨터 아키텍처(500) 내의 하위 요소들 사이의 정보의 전송을 돕는 기본 루틴들을 포함하는 기본 입력/출력 시스템이 ROM(508)에 저장된다. 컴퓨터 아키텍처(500)는 운영 체제(507), 데이터(이를테면, 통지 정보(520), 아이템 정보(522), 디스플레이 정보(524), 및 이미지 데이터(526)), 및 하나 이상의 애플리케이션 프로그램을 저장하기 위한 대용량 저장 디바이스(512)를 더 포함한다.
대용량 저장 디바이스(512)는 버스(510)에 연결된 대용량 저장 제어기(도시되지 않음)를 통해 CPU(502)에 연결된다. 대용량 저장 디바이스(512) 및 이의 연관된 컴퓨터 판독가능 매체들은 컴퓨터 아키텍처(500)를 위한 비휘발성 저장소를 제공한다. 본원에 포함된 컴퓨터 판독가능 매체들의 설명은 솔리드 스테이트 드라이브, 하드 디스크, 또는 CD-ROM 드라이브와 같은 대용량 저장 디바이스를 언급하지만, 컴퓨터 판독가능 매체들이 컴퓨터 아키텍처(500)에 의해 액세스될 수 있는 임의의 이용가능한 컴퓨터 저장 매체들 또는 통신 매체들일 수 있다는 것이 관련 기술분야의 통상의 기술자에 의해 인식되어야 한다.
통신 매체들은 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호 내의 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터를 포함하고, 임의의 전달 매체들을 포함한다. "변조된 데이터 신호"라는 용어는 신호 내의 정보를 인코딩하기 위한 방식으로 신호의 특성들 중 하나 이상이 변경 또는 설정된 신호를 의미한다. 제한이 아닌 예로서, 통신 매체들은 유선 네트워크 또는 다이렉트 유선 연결과 같은 유선 매체들, 및 음향, RF, 적외선 및 다른 무선 매체들과 같은 무선 매체들을 포함한다. 전술된 것 중 임의의 것의 조합들이 또한 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
제한이 아닌 예로서, 컴퓨터 저장 매체들은 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체들을 포함할 수 있다. 예컨대, 컴퓨터 매체들은 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 솔리드 스테이트 메모리 기술, CD-ROM, 디지털 다용도 디스크들("DVD"), HD-DVD, BLU-RAY 또는 다른 광학 저장소, 자기 카세트들, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 또는 원하는 정보를 저장하는 데 사용될 수 있고 컴퓨터 아키텍처(500)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만 이에 제한되지는 않는다. 청구항들을 위해, "컴퓨터 저장 매체", "컴퓨터 판독가능 저장 매체", 및 이의 변형들과 같은 문구는 그 자체로 파들, 신호들, 및/또는 다른 일시적 및/또는 무형의 통신 매체들을 포함하지 않는다.
다양한 구성들에 따르면, 컴퓨터 아키텍처(500)는 네트워크(556) 및/또는 다른 네트워크(도시되지 않음)를 통한 원격 컴퓨터들에 대한 논리적 연결들을 사용하여 네트워크 환경에서 동작할 수 있다. 컴퓨터 아키텍처(500)는 버스(510)에 연결된 네트워크 인터페이스 유닛(514)을 통해 네트워크(556)에 연결될 수 있다. 네트워크 인터페이스 유닛(514)은 또한, 다른 타입들의 네트워크들 및 원격 컴퓨터 시스템들에 연결하기 위해 활용될 수 있다는 것을 인식해야 한다. 컴퓨터 아키텍처(500)는 또한, 키보드, 마우스, 게임 제어기, 텔레비전 리모컨, 또는 전자 스타일러스(도 5에 도시되지 않음)를 포함하는 다수의 다른 디바이스로부터 입력을 수신하고 이를 프로세싱하기 위한 입력/출력 제어기(516)를 포함할 수 있다. 유사하게, 입력/출력 제어기(516)는 디스플레이 스크린, 프린터, 또는 다른 타입의 출력 디바이스들(또한 도 5에 도시되지 않음)에 출력을 제공할 수 있다.
본원에서 설명되는 소프트웨어 구성요소들은, CPU(502)에 로딩되고 실행될 때, CPU(502) 및 전체 컴퓨터 아키텍처(500)를 범용 컴퓨팅 시스템으로부터 본원에서 제시되는 기능성을 용이하게 하도록 커스터마이징된 특수 목적 컴퓨팅 시스템으로 변환할 수 있다는 것을 인식해야 한다. CPU(502)는, 개별적으로 또는 일괄적으로 임의의 수의 상태를 취할 수 있는, 임의의 수의 트랜지스터 또는 다른 별개의 회로 요소로 구성될 수 있다. 더 구체적으로, CPU(502)는 본원에서 개시되는 소프트웨어 모듈들 내에 포함된 실행가능 명령어들에 대한 응답으로 유한 상태 머신으로서 동작할 수 있다. 이러한 컴퓨터 실행가능 명령어들은 CPU(502)가 상태들 사이에서 천이하는 방식을 지정함으로써 CPU(502)를 변환할 수 있고, 이에 의해, CPU(502)를 구성하는 트랜지스터들 또는 다른 별개의 하드웨어 요소들을 변환할 수 있다.
본원에서 제시되는 소프트웨어 모듈들을 인코딩하는 것은 또한, 본원에서 제시되는 컴퓨터 판독가능 매체들의 물리적 구조를 변환할 수 있다. 물리적 구조의 특정 변환은 본 설명의 상이한 구현들에서 다양한 인자들에 따라 달라질 수 있다. 이러한 인자들의 예들은 컴퓨터 판독가능 매체들을 구현하는 데 사용된 기술, 컴퓨터 판독가능 매체들이 일차 저장소로 특성화되는지 또는 이차 저장소로 특성화되는지 등을 포함할 수 있지만 이에 제한되지는 않는다. 예컨대, 컴퓨터 판독가능 매체들이 반도체 기반 메모리로서 구현되는 경우, 본원에서 개시되는 소프트웨어는 반도체 메모리의 물리적 상태를 변환함으로써 컴퓨터 판독가능 매체들 상에 인코딩될 수 있다. 예컨대, 소프트웨어는 트랜지스터들, 커패시터들, 또는 반도체 메모리를 구성하는 다른 별개의 회로 요소들의 상태를 변환할 수 있다. 소프트웨어는 또한, 그러한 구성요소들 상에 데이터를 저장하기 위해 그러한 구성요소들의 물리적 상태를 변환할 수 있다.
다른 예로서, 본원에서 개시되는 컴퓨터 판독가능 매체들은 자기 또는 광학 기술을 사용하여 구현될 수 있다. 이러한 구현들에서, 본원에서 제시되는 소프트웨어는, 소프트웨어가 자기 또는 광학 매체들에 인코딩될 때, 자기 또는 광학 매체들의 물리적 상태를 변환할 수 있다. 이러한 변환들은 주어진 자기 매체들 내의 특정 위치들의 자기 특성들을 변경하는 것을 포함할 수 있다. 이러한 변환들은 또한, 주어진 광학 매체들 내의 특정 위치들의 물리적 특징들 또는 특성들을 변경하여 그 위치들의 광학 특성들을 변경하는 것을 포함할 수 있다. 본 설명의 범위 및 사상으로부터 벗어나지 않으면서 물리적 매체들의 다른 변환들이 가능하고, 전술된 예들은 단지 본 논의를 용이하게 하기 위해 제공된 것이다.
전술된 것을 고려하여, 본원에서 제시되는 소프트웨어 구성요소들을 저장 및 실행하기 위해 다수의 타입의 물리적 변환이 컴퓨터 아키텍처(500)에서 발생한다는 것을 인식해야 한다. 또한, 컴퓨터 아키텍처(500)는 핸드-헬드 컴퓨터들, 임베디드 컴퓨터 시스템들, 개인용 디지털 어시스턴트들, 및 관련 기술분야의 통상의 기술자에게 공지된 다른 타입들의 컴퓨팅 디바이스들을 포함하는 다른 타입들의 컴퓨팅 디바이스들을 포함할 수 있다는 것을 인식해야 한다. 또한, 컴퓨터 아키텍처(500)가 도 5에 도시된 모든 구성요소들을 포함하지 않을 수 있거나, 도 5에 명시적으로 도시되지 않은 다른 구성요소들을 포함할 수 있거나, 또는 도 5에 도시된 것과 완전히 상이한 아키텍처를 활용할 수 있다는 것이 고려된다.
도 6은 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 본원에서 설명되는 소프트웨어 구성요소들을 실행할 수 있는 예시적인 분산 컴퓨팅 환경(600)을 도시한다. 따라서, 도 6에 예시된 분산 컴퓨팅 환경(600)은 본원에서 제시되는 소프트웨어 구성요소들의 다수의 양태를 실행하기 위해 활용될 수 있다. 예컨대, 분산 컴퓨팅 환경(600)은 본원에서 설명되는 소프트웨어 구성요소들의 하나 이상의 양태를 실행하기 위해 활용될 수 있다.
다양한 구현들에 따르면, 분산 컴퓨팅 환경(600)은 컴퓨팅 환경(602)을 포함하고, 컴퓨팅 환경(602)은 네트워크(604) 상에서 동작하거나, 네트워크(604)와 통신하여 동작하거나, 또는 네트워크(604)의 일부로서 동작한다. 네트워크(604)는 위에서 설명된 네트워크(556)일 수 있거나 또는 이를 포함할 수 있다. 네트워크(604)는 또한, 다양한 액세스 네트워크들을 포함할 수 있다. 하나 이상의 클라이언트 디바이스(606A 내지 806N)(이하, "클라이언트들(606)"로 일괄적으로 그리고/또는 일반적으로 지칭됨)는 네트워크(604) 및/또는 다른 연결들(도 6에 예시되지 않음)을 통해 컴퓨팅 환경(602)과 통신할 수 있다. 하나의 예시된 구성에서, 클라이언트들(606)은 랩톱 컴퓨터, 데스크톱 컴퓨터, 또는 다른 컴퓨팅 디바이스와 같은 컴퓨팅 디바이스(606A); 슬레이트 또는 태블릿 컴퓨팅 디바이스("태블릿 컴퓨팅 디바이스")(606B); 모바일 전화, 스마트 폰, 온보드 컴퓨터, 또는 다른 모바일 컴퓨팅 디바이스와 같은 모바일 컴퓨팅 디바이스(606C); 서버 컴퓨터(606D); 및/또는 하드웨어 보안 모듈을 포함할 수 있는 다른 디바이스들(606N)을 포함한다. 임의의 수의 디바이스(606)가 컴퓨팅 환경(602)과 통신할 수 있다는 것을 이해해야 한다. 디바이스들(606)에 대한 2개의 예시적인 컴퓨팅 아키텍처가 도 5 및 도 7을 참조하여 본원에서 예시 및 설명된다. 본원에서 예시 및 설명되는 컴퓨팅 아키텍처들 및 예시된 디바이스들(606)은 단지 예시적인 것일 뿐이고, 어떠한 방식으로도 제한되는 것으로 해석되지 않아야 한다는 것을 이해해야 한다.
예시된 구성에서, 컴퓨팅 환경(602)은 애플리케이션 서버들(608), 데이터 저장소(610), 및 하나 이상의 네트워크 인터페이스(612)를 포함한다. 다양한 구현들에 따르면, 애플리케이션 서버들(608)의 기능성은 네트워크(604)의 일부로서 실행되고 있거나 또는 이와 통신하는 하나 이상의 서버 컴퓨터에 의해 제공될 수 있다. 애플리케이션 서버들(608)은 다양한 서비스들, 가상 머신들, 포털들, 및/또는 다른 리소스들을 호스팅할 수 있다. 예시된 구성에서, 애플리케이션 서버들(608)은 애플리케이션들 또는 다른 기능성을 호스팅하기 위해 하나 이상의 가상 머신(614)을 호스팅한다. 다양한 구현들에 따르면, 가상 머신들(614)은 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 하나 이상의 애플리케이션 및/또는 소프트웨어 모듈을 호스팅한다. 이러한 구성은 단지 예시적인 것일 뿐이고, 어떠한 방식으로도 제한하는 것으로 해석되지 않아야 한다는 것을 이해해야 한다.
다양한 구현들에 따르면, 애플리케이션 서버들(608)은 또한, 하나 이상의 통지 서비스들(620), 재고/리스트 서비스들(622), 디스플레이 서비스들(624), 및 광학 스캔 또는 이미지 인식 서비스들(625)을 포함한다. 통지 서비스들(620)은 사용자 클라이언트 디바이스들로 전송되는 통지들을 관리하기 위한 서비스들을 포함할 수 있다. 재고/리스트 서비스들(622)은 아이템들의 재고 또는 쇼핑 리스트를 유지하기 위한 서비스들을 포함할 수 있다. 디스플레이 서비스들(624)은 디스플레이를 위해 모바일 클라이언트 디바이스들로 전송되는 데이터를 관리하기 위한 서비스들을 포함할 수 있다. 광학 스캔 서비스들(626)은 모바일 클라이언트 디바이스들 및 카트 제어기들 내의 광학 디바이스들로부터의 이미지 데이터를 수집 및 분배하고, 이미지 데이터에 대해 이미지 인식을 수행하여 아이템들을 식별하기 위한 서비스들을 포함할 수 있다.
도 6에 도시된 바와 같이, 애플리케이션 서버들(608)은 또한, 지불 거래들을 안전하게 실시하기 위한 거래 서비스들(623)을 호스팅할 수 있다. 애플리케이션 서버들은 데이터 암호화, 데이터 공유, 또는 임의의 다른 기능성을 포함할 수 있지만 이에 제한되지는 않는 다른 서비스들, 애플리케이션들, 포털들, 및/또는 다른 리소스들을 포함할 수 있다.
위에서 언급된 바와 같이, 컴퓨팅 환경(602)은 데이터 저장소(610)를 포함할 수 있다. 다양한 구현들에 따르면, 데이터 저장소(610)의 기능성은 네트워크(604) 상에서 동작하거나 또는 이와 통신하는 하나 이상의 데이터베이스 또는 데이터 저장부에 의해 제공된다. 데이터 저장소(610)의 기능성은 또한, 컴퓨팅 환경(602)에 대한 데이터를 호스팅하도록 구성된 하나 이상의 서버 컴퓨터에 의해 제공될 수 있다. 데이터 저장소(610)는 하나 이상의 실제 또는 가상 데이터 저장부(626A 내지 826N)(이하, "데이터 저장부들(626)"로 일괄적으로 그리고/또는 일반적으로 지칭됨)를 포함, 호스팅, 또는 제공할 수 있다. 데이터 저장부들(626)은 애플리케이션 서버들(608) 및/또는 다른 데이터에 의해 사용 또는 생성되는 데이터를 호스팅하도록 구성된다. 데이터 저장부들(626)의 양태들은 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 서비스들과 연관될 수 있다. 도 6에 예시되지 않지만, 데이터 저장부들(626)은 또한, 웹 페이지 문서들, 워드 문서들, 프리젠테이션 문서들, 데이터 구조들, 추천 엔진에 의한 실행을 위한 알고리즘들, 및/또는 임의의 애플리케이션 프로그램 또는 다른 모듈에 의해 활용되는 다른 데이터를 호스팅 또는 저장할 수 있다.
컴퓨팅 환경(602)은 네트워크 인터페이스들(612)과 통신할 수 있거나 또는 이에 의해 액세스될 수 있다. 네트워크 인터페이스들(612)은 모바일 클라이언트 디바이스들, 클라이언트들(606), 및 애플리케이션 서버들(608)을 포함하지만 이에 제한되지는 않는 2개 이상의 컴퓨팅 디바이스 사이의 통신들을 지원하기 위한 다양한 타입들의 네트워크 하드웨어 및 소프트웨어를 포함할 수 있다. 네트워크 인터페이스들(612)은 또한, 다른 타입들의 네트워크들 및/또는 컴퓨터 시스템들에 연결하기 위해 활용될 수 있다는 것을 인식해야 한다.
본원에서 설명되는 분산 컴퓨팅 환경(600)은 본원에서 개시되는 소프트웨어 구성요소들의 임의의 양태들을 실행하도록 구성될 수 있는 임의의 수의 가상 컴퓨팅 리소스 및/또는 다른 분산 컴퓨팅 기능성으로 본원에서 설명되는 소프트웨어 요소들의 임의의 양태들을 제공할 수 있다는 것을 이해해야 한다. 본원에서 개시되는 개념들 및 기술들의 다양한 구현들에 따르면, 분산 컴퓨팅 환경(600)은 디바이스들(606)을 사용하는 클라이언트들에 대한 서비스로서 본원에서 설명되는 소프트웨어 기능성을 제공할 수 있다. 디바이스들(606)은 서버 컴퓨터들, 웹 서버들, 개인용 컴퓨터들, 모바일 컴퓨팅 디바이스들, 스마트 폰들, 및/또는 사용자 입력 디바이스들을 포함할 수 있는 다른 디바이스들을 포함하지만 이에 제한되지는 않는 실제 또는 가상 머신들을 포함할 수 있다는 것을 이해해야 한다. 따라서, 본원에서 개시되는 개념들 및 기술들의 다양한 구성들은, 다른 양태들 중에서도 특히, 분산 컴퓨팅 환경(600)에 액세스하도록 구성된 임의의 디바이스가 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 본원에서 설명되는 기능성을 활용할 수 있게 한다.
이제 도 7로 넘어가면, 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 다양한 소프트웨어 구성요소들을 실행할 수 있는 컴퓨팅 디바이스에 대한 예시적인 컴퓨팅 디바이스 아키텍처(700)가 본원에서 설명된다. 컴퓨팅 디바이스 아키텍처(700)는 사용자 클라이언트 디바이스들과 같은 컴퓨팅 디바이스들에 적용가능하다. 일부 구성들에서, 컴퓨팅 디바이스들은 모바일 전화기들, 온보드 컴퓨터들, 태블릿 디바이스들, 슬레이트 디바이스들, 휴대용 비디오 게임 디바이스들, 전통적인 데스크톱 컴퓨터들, 휴대용 컴퓨터들(예컨대, 랩톱들, 노트북들, 울트라-포터블(ultra-portable)들, 및 넷북들), 서버 컴퓨터들, 게임 콘솔들, 및 다른 컴퓨터 시스템들을 포함하지만 이에 제한되지는 않는다. 컴퓨팅 디바이스 아키텍처(700)는 도 1, 도 2a 및 도 2b에 도시된 서버 디바이스(110), 클라이언트 디바이스(130) 및 제어기 디바이스(220), 및 도 6에 도시된 컴퓨팅 디바이스들(606A 내지 606N)에 적용가능하다.
도 7에 예시된 컴퓨팅 디바이스 아키텍처(700)는 프로세서(702), 메모리 구성요소들(704), 네트워크 연결 구성요소들(706), 센서 구성요소들(708), 입력/출력 구성요소들(710), 및 전력 구성요소들(712)을 포함한다. 예시된 구성에서, 프로세서(702)는 메모리 구성요소들(704), 네트워크 연결 구성요소들(706), 센서 구성요소들(708), 입력/출력("I/O") 구성요소들(710), 및 전력 구성요소들(712)과 통신한다. 도 7에 예시된 개별 구성요소들 사이에 연결들이 도시되지 않지만, 구성요소들은 디바이스 기능들을 수행하기 위해 상호작용할 수 있다. 일부 구성들에서, 구성요소들은 하나 이상의 버스(도시되지 않음)를 통해 통신하도록 배열된다.
프로세서(702)는, 본원에서 설명되는 다양한 기능성을 수행하기 위해, 데이터를 프로세싱하고, 하나 이상의 애플리케이션 프로그램의 컴퓨터 실행가능 명령어들을 실행하고, 컴퓨팅 디바이스 아키텍처(700)의 다른 구성요소들과 통신하도록 구성된 중앙 프로세싱 유닛("CPU")을 포함한다. 프로세서(702)는 본원에서 제시되는 소프트웨어 구성요소들의 양태들, 특히, 보안 데이터를 적어도 부분적으로 활용하는 것들을 실행하기 위해 활용될 수 있다.
일부 구성들에서, 프로세서(702)는, 보안 컴퓨팅 애플리케이션들, 범용 과학적 및/또는 공학적 컴퓨팅 애플리케이션들 뿐만 아니라, 고해상도 비디오(예컨대, 620P, 1080P, 및 더 높은 해상도), 비디오 게임들, 3차원("3D") 모델링 애플리케이션들 등과 같은 그래픽 집약적 컴퓨팅 애플리케이션들을 실행함으로써 수행되는 동작들을 포함하지만 이에 제한되지는 않는, CPU에 의해 수행되는 동작들을 가속하도록 구성된 그래픽 프로세싱 유닛("GPU")을 포함한다. 일부 구성들에서, 프로세서(702)는 별개의 GPU(도시되지 않음)와 통신하도록 구성된다. 임의의 경우에, CPU 및 GPU는 공동 프로세싱 CPU/GPU 컴퓨팅 모델에 따라 구성될 수 있고, 여기서, 애플리케이션의 순차적인 부분은 CPU 상에서 실행되고, 계산 집약적인 부분은 GPU에 의해 가속된다.
일부 구성들에서, 프로세서(702)는 본원의 아래에서 설명되는 다른 구성요소들 중 하나 이상과 함께 시스템-온-칩(system-on-chip)("SoC")이거나 또는 이에 포함된다. 예컨대, SoC는 프로세서(702), GPU, 네트워크 연결 구성요소들(706) 중 하나 이상, 및 센서 구성요소들(708) 중 하나 이상을 포함할 수 있다. 일부 구성들에서, 프로세서(702)는 패키지-온-패키지(package-on-package)("PoP") 집적 회로 패키징 기법을 부분적으로 활용하여 제조된다. 프로세서(702)는 단일 코어 또는 멀티 코어 프로세서일 수 있다.
프로세서(702)는 영국 케임브리지의 ARM HOLDINGS로부터의 라이센스로 이용가능한 ARM 아키텍처에 따라 생성될 수 있다. 대안적으로, 프로세서(702)는 캘리포니아주 마운틴 뷰의 INTEL CORPORATION 등으로부터 이용가능한 것과 같은 x86 아키텍처에 따라 생성될 수 있다. 일부 구성들에서, 프로세서(702)는 캘리포니아주 샌디에고의 QUALCOMM으로부터 이용가능한 SNAPDRAGON SoC, 캘리포니아주 산타클라라의 NVIDIA로부터 이용가능한 TEGRA SoC, 한국 서울의 SAMSUNG으로부터 이용가능한 HUMMINGBIRD SoC, 텍사스주 달라스의 TEXAS INSTRUMENTS로부터 이용가능한 오픈 멀티미디어 애플리케이션 플랫폼(Open Multimedia Application Platform)("OMAP") SoC, 위의 SoC들 중 임의의 것의 커스터마이징된 버전, 또는 독점 SoC이다.
메모리 구성요소들(704)은 랜덤 액세스 메모리("RAM")(714), 판독 전용 메모리("ROM")(716), 통합 저장 메모리("통합 저장소")(718), 및 착탈식 저장 메모리("착탈식 저장소")(720)를 포함한다. 일부 구성들에서, RAM(714) 또는 이의 일부, ROM(716) 또는 이의 일부, 및/또는 RAM(714)과 ROM(716)의 일부 조합이 프로세서(702)에 통합된다. 일부 구성들에서, ROM(716)은 펌웨어, 운영 체제 또는 이의 일부(예컨대, 운영 체제 커널), 및/또는 통합 저장소(718) 및/또는 착탈식 저장소(720)로부터 운영 체제 커널을 로딩하기 위한 부트로더를 저장하도록 구성된다.
통합 저장소(718)는 솔리드 스테이트 메모리, 하드 디스크, 또는 솔리드 스테이트 메모리와 하드 디스크의 조합을 포함할 수 있다. 통합 저장소(718)는 로직 보드에 납땜되거나 또는 다른 방식으로 연결될 수 있고, 로직 보드 상에 프로세서(702) 및 본원에서 설명되는 다른 구성요소들이 또한 연결될 수 있다. 따라서, 통합 저장소(718)는 컴퓨팅 디바이스에 통합된다. 통합 저장소(718)는 운영 체제 또는 이의 부분들, 애플리케이션 프로그램들, 데이터, 및 본원에서 설명되는 다른 소프트웨어 구성요소들을 저장하도록 구성된다.
착탈식 저장소(720)는 솔리드 스테이트 메모리, 하드 디스크, 또는 솔리드 스테이트 메모리와 하드 디스크의 조합을 포함할 수 있다. 일부 구성들에서, 착탈식 저장소(720)는 통합 저장소(718) 대신에 제공된다. 다른 구성들에서, 착탈식 저장소(720)는 추가적인 임의적 저장소로서 제공된다. 일부 구성들에서, 착탈식 저장소(720)는 통합 저장소(718)와 논리적으로 결합되고, 그에 따라, 총 이용가능 저장소는 총 결합 저장 용량으로서 이용가능하게 된다. 일부 구성들에서, 통합 저장소(718) 및 착탈식 저장소(720)에 대한 별개의 저장 용량들 대신에, 통합 저장소(718)와 착탈식 저장소(720)의 총 결합 용량이 사용자에게 보여진다.
착탈식 저장소(720)는 착탈식 저장소(720)가 프로세서(702)와 같은 컴퓨팅 디바이스의 다른 구성요소들과 통신할 수 있는 연결을 용이하게 하도록 착탈식 저장소(720)가 삽입 및 고정되는 착탈식 저장 메모리 슬롯(도시되지 않음) 또는 다른 메커니즘에 삽입되도록 구성된다. 착탈식 저장소(720)는 PC 카드, 콤팩트플래시(CompactFlash) 카드, 메모리 스틱, 보안 디지털("SD"), 미니SD, 마이크로SD, 범용 집적 회로 카드("UICC")(예컨대, 가입자 아이덴티티 모듈("SIM") 또는 범용 SIM("USIM")), 독점 포맷 등을 포함하지만 이에 제한되지는 않는 다양한 메모리 카드 포맷들로 구현될 수 있다.
메모리 구성요소들(704) 중 하나 이상이 운영 체제를 저장할 수 있다는 것을 이해할 수 있다. 다양한 구성들에 따르면, 운영 체제는 Open Group에 의해 인증된 UNIX 및 Free Software Foundation에 의해 인증된 LINUX의 다양한 형태들과 같은 서버 운영 체제들, 또는 워싱턴주 레드몬드의 Microsoft Corporation으로부터의 MICROSFT AZURE 또는 워싱턴주 시애틀의 Amazon Corporation으로부터의 AWS와 같은 SaaS(Software-as-a-Service) 아키텍처들의 양태들을 포함할 수 있지만 이에 제한되지는 않는다. 운영 체제는 또한, 워싱턴주 레드몬드의 Microsoft Corporation으로부터의 WINDOWS MOBILE OS, Microsoft Corporation으로부터의 WINDOWS PHONE OS, Microsoft Corporation으로부터의 WINDOWS, 캘리포니아주 쿠퍼티노의 Apple Inc.로부터의 MAC OS 또는 IOS, 및 캘리포니아주 마운틴 뷰의 Google Inc.로부터의 ANDROID OS를 포함할 수 있다. 다른 운영 체제들이 고려된다.
네트워크 연결 구성요소들(706)은 무선 광역 네트워크 구성요소("WWAN 구성요소")(722), 무선 로컬 영역 네트워크 구성요소("WLAN 구성요소")(724), 및 무선 개인 영역 네트워크 구성요소("WPAN 구성요소")(726)를 포함한다. 네트워크 연결 구성요소들(706)은 WWAN, WLAN, 또는 WPAN일 수 있는 네트워크(756) 또는 다른 네트워크로의 그리고 그로부터의 통신들을 용이하게 한다. 네트워크(756)만이 예시되지만, 네트워크 연결 구성요소들(706)은 도 7의 네트워크(756)를 포함하는 다수의 네트워크와의 동시 통신을 용이하게 할 수 있다. 예컨대, 네트워크 연결 구성요소들(706)은 WWAN, WLAN, 또는 WPAN 중 하나 이상을 통해 다수의 네트워크들과의 동시 통신들을 용이하게 할 수 있다.
네트워크(756)는 WWAN 구성요소(722)를 통해 컴퓨팅 디바이스 아키텍처(700)를 활용하는 컴퓨팅 디바이스에 음성 및/또는 데이터 서비스들을 제공하기 위해 하나 이상의 모바일 전기통신 기술들을 활용하는 모바일 전기통신 네트워크와 같은 WWAN일 수 있거나 또는 이를 포함할 수 있다. 모바일 전기통신 기술들은 GSM(Global System for Mobile communications), CDMA(Code Division Multiple Access) ONE, CDMA7000, UMTS(Universal Mobile Telecommunications System), LTE(Long Term Evolution), 및 WiMAX(Worldwide Interoperability for Microwave Access)를 포함할 수 있지만 이에 제한되지는 않는다. 더욱이, 네트워크(756)는 시분할 다중 액세스("TDMA"), 주파수 분할 다중 액세스("FDMA"), CDMA, 광대역 CDMA("W-CDMA"), 직교 주파수 분할 멀티플렉싱("OFDM"), 공간 분할 다중 액세스("SDMA") 등을 포함하지만 이에 제한되지는 않는 다양한 채널 액세스 방법들(전술된 표준들에 의해 사용될 수 있거나 또는 사용되지 않을 수 있음)을 활용할 수 있다. 데이터 통신들은 "GPRS"(General Packet Radio Service), "EDGE"(Enhanced Data rates for Global Evolution), "HSDPA"(High-Speed Downlink Packet Access), "EUL"(Enhanced Uplink) 또는 다른 용어로는 "HSUPA"(High-Speed Uplink Packet Access), "HSPA+"(Evolved HSPA)를 비롯한 "HSPA"(High-Speed Packet Access) 프로토콜 패밀리, LTE 및 다양한 다른 현재 및 미래의 무선 데이터 액세스 표준들을 사용하여 제공될 수 있다. 네트워크(756)는 위의 기술들의 임의의 조합으로 음성 및/또는 데이터 통신들을 제공하도록 구성될 수 있다. 네트워크(756)는 미래 세대 기술들에 따라 음성 및/또는 데이터 통신들을 제공하도록 구성 또는 적응될 수 있다.
일부 구성들에서, WWAN 구성요소(722)는 네트워크(756)에 듀얼-멀티-모드 연결성을 제공하도록 구성된다. 예컨대, WWAN 구성요소(722)는 네트워크(756)에 연결성을 제공하도록 구성될 수 있고, 여기서, 네트워크(756)는 GSM 및 UMTS 기술들을 통해, 또는 기술들의 일부 다른 조합을 통해 서비스를 제공한다. 대안적으로, 다수의 WWAN 구성요소(722)가 이러한 기능성을 수행하고/하거나, 다른 비호환가능 기술들(즉, 단일 WWAN 구성요소에 의해 지원되는 것이 가능하지 않음)을 지원하기 위한 추가적인 기능성을 제공하기 위해 활용될 수 있다. WWAN 구성요소(722)는 다수의 네트워크(예컨대, UMTS 네트워크 및 LTE 네트워크)에 대한 유사한 연결성을 용이하게 할 수 있다.
네트워크(756)는 하나 이상의 IEEE(Institute of Electrical and Electronic Engineers) 602.11 표준, 이를테면, IEEE 602.11a, 602.11b, 602.11g, 602.11n, 및/또는 미래의 602.11 표준(본원에서 WI-FI로 일괄적으로 지칭됨)에 따라 동작하는 WLAN일 수 있다. 드래프트 602.11 표준들이 또한 고려된다. 일부 구성들에서, WLAN은 하나 이상의 무선 WI-FI 액세스 포인트를 활용하여 구현된다. 일부 구성들에서, 무선 WI-FI 액세스 포인트들 중 하나 이상은 WI-FI 핫스팟으로서 기능하고 있는 WWAN에 대한 연결성을 갖는 다른 컴퓨팅 디바이스이다. WLAN 구성요소(724)는 WI-FI 액세스 포인트들을 통해 네트워크(756)에 연결하도록 구성된다. 이러한 연결들은 WPA(WI-FI Protected Access), WPA2, WEP(Wired Equivalent Privacy) 등을 포함하지만 이에 제한되지는 않는 다양한 암호화 기술들을 통해 보호될 수 있다.
네트워크(756)는 IrDA(Infrared Data Association), 블루투스, 무선 USB(Universal Serial Bus), Z-Wave, ZIGBEE, 또는 일부 다른 단거리 무선 기술에 따라 동작하는 WPAN일 수 있다. 일부 구성들에서, WPAN 구성요소(726)는 WPAN을 통해 주변 기기들, 컴퓨터들, 또는 다른 컴퓨팅 디바이스들과 같은 다른 디바이스들과의 통신들을 용이하게 하도록 구성된다.
센서 구성요소들(708)은 자력계(728), 주변 광 센서(730), 근접 센서(732), 가속도계(734), 자이로스코프(736), 및 글로벌 포지셔닝 시스템(Global Positioning System) 센서("GPS 센서")(738)를 포함한다. 온도 센서들 또는 충격 검출 센서들과 같지만 이에 제한되지는 않는 다른 센서들이 또한 컴퓨팅 디바이스 아키텍처(700)에 통합될 수 있다는 것이 고려된다.
I/O 구성요소들(710)은 디스플레이(740), 터치스크린(742), 데이터 I/O 인터페이스 구성요소("데이터 I/O")(744), 오디오 I/O 인터페이스 구성요소("오디오 I/O")(746), 비디오 I/O 인터페이스 구성요소("비디오 I/O")(748), 및 카메라(750)를 포함한다. 일부 구성들에서, 디스플레이(740)와 터치스크린(742)이 조합된다. 일부 구성들에서, 데이터 I/O 구성요소(744), 오디오 I/O 구성요소(746), 및 비디오 I/O 구성요소(748) 중 2개 이상이 조합된다. I/O 구성요소들(710)은 아래에서 설명되는 다양한 인터페이스들을 지원하도록 구성된 별개의 프로세서들을 포함할 수 있거나, 또는 프로세서(702)에 내장된 프로세싱 기능성을 포함할 수 있다.
예시된 전력 구성요소들(712)은 배터리 게이지(754)에 연결될 수 있는 하나 이상의 배터리(752)를 포함한다. 배터리들(752)은 재충전가능할 수 있거나 또는 일회용일 수 있다. 재충전가능 배터리 타입들은 리튬 폴리머, 리튬 이온, 니켈 카드뮴, 및 니켈 금속 수소화물을 포함하지만 이에 제한되지는 않는다. 배터리들(752) 각각은 하나 이상의 셀로 이루어질 수 있다.
전력 구성요소들(712)은 또한, 전술된 I/O 구성요소들(710) 중 하나 이상과 조합될 수 있는 전력 커넥터를 포함할 수 있다. 전력 구성요소들(712)은 I/O 구성요소를 통해 외부 전력 시스템 또는 충전 장비와 인터페이스할 수 있다.
끝으로, 다양한 구성들이 구조적 특징들 및/또는 방법론적 행위들에 특정된 언어로 설명되었지만, 첨부된 표현들에 정의된 발명 대상은 설명된 특정 특징들 또는 행위들로 반드시 제한되는 것은 아니라는 것을 이해해야 한다. 오히려, 특정 특징들 및 행위들은 청구되는 발명 대상을 구현하는 예시적인 형태들로서 개시된다.
본 개시내용은 다음의 항들을 고려하여 이루어진다:
제1항:
자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 컴퓨터에 의해 구현되는 방법은, 카트 내의 아이템들의 중량의 변화를 검출하는 단계; 광학 디바이스로부터 카트 내의 아이템들에 대한 이미지 데이터를 수신하는 단계; 카트 내의 아이템들의 중량의 검출된 변화와 상관하여 스캐닝된 상관된 아이템이 수신된 이미지 데이터에서 식별되었는지 여부를 결정하는 단계; 및 상관된 아이템이 식별되지 않은 경우, 아이템이 검출되지 않았음을 표시하는 메시지가 사용자 인터페이스(UI) 상에 디스플레이되게 하는 단계를 포함한다.
제2항.
제1항의 방법에서, 아이템이 검출되지 않았음을 표시하는 메시지가 UI 상에 디스플레이되게 하는 단계는, 사용자에게 상관된 아이템에 대한 아이템 정보를 입력할 것을 요청하는 프롬프트를 UI 상에 생성하는 단계를 포함한다.
제3항.
제1항의 방법에서, 광학 디바이스로부터 카트 내의 아이템들에 대한 이미지 데이터를 수신하는 단계는, 사용자 클라이언트 디바이스 내의 광학 디바이스로부터 카트 내의 아이템들에 대한 이미지 데이터를 수신하는 단계를 포함하고, 카트 내의 아이템들의 중량의 검출된 변화와 상관하여 스캐닝된 상관된 아이템이 수신된 이미지 데이터에서 식별되었는지 여부를 결정하는 단계는, 카트 내의 아이템들의 중량의 검출된 변화와 상관하여 스캐닝된 상관된 아이템이 사용자 클라이언트 디바이스로부터 수신되는 수신된 이미지 데이터에서 식별되었는지 여부를 결정하는 단계를 포함한다.
제4항.
제1항의 방법에서, 아이템이 검출되지 않았음을 표시하는 메시지가 사용자 인터페이스(UI) 상에 디스플레이되게 하는 단계는, 아이템이 검출되지 않았음을 표시하는 메시지가 사용자 클라이언트 디바이스의 UI 상에 디스플레이되게 하는 단계를 포함한다.
제5항.
제1항의 방법에서, 카트 내의 아이템들의 중량의 검출된 변화와 상관하여 스캐닝된 상관된 아이템이 수신된 이미지 데이터에서 식별되었는지 여부를 결정하는 단계는, 상관된 아이템을 식별하기 위해 수신된 이미지 데이터에 대해 이미지 인식을 수행하는 단계를 포함한다.
제6항.
제1항의 방법은, 카트 내의 아이템들의 중량의 변화에 기초하여 상관된 아이템의 중량을 결정하는 단계; 상관된 아이템에 대한 중량별 가격을 획득하는 단계; 상관된 아이템의 중량 및 상관된 아이템에 대한 중량별 가격에 기초하여, 상관된 아이템에 대한 총 가격을 계산하는 단계; 및 상관된 아이템에 대한 총 가격이 UI 상에 디스플레이되게 하는 단계를 포함한다.
제7항.
제1항의 방법은, 상관된 아이템이 식별된 경우, 상관된 아이템이 카트에 추가되었음을 표시하는 통지를 재고 애플리케이션과 쇼핑 리스트 애플리케이션 중 하나로 전송하는 단계를 포함한다.
제8항.
자동화된 쇼핑 카트 시스템은, 복수의 바퀴를 갖는 섀시 ― 복수의 바퀴는 표면 상의 섀시의 움직임을 가능하게 하도록 구성됨 ―; 하나 이상의 아이템을 수용 및 보유하기 위한 바스켓; 바스켓과 섀시 사이에 배치되고, 바스켓 내의 아이템들의 중량을 검출하고 중량 신호를 생성하도록 구성된 중량 검출기; 및 중량 신호를 수신하기 위해 중량 검출기에 커플링된 카트 제어기를 포함하고, 카트 제어기는 하나 이상의 광학 디바이스로부터 아이템 이미지 데이터를 수신하도록 구성되고, 카트 제어기는 하나 이상의 프로세서, 및 컴퓨터 실행가능 명령어들을 저장하는 적어도 하나의 컴퓨터 저장 매체를 갖고, 컴퓨터 실행가능 명령어들은, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 아이템들을 자동으로 등록하기 위한 방법을 실행하게 하고, 방법은, 중량 검출기로부터의 중량 신호를 사용하여 카트 내의 아이템들의 중량의 변화를 검출하는 단계; 아이템 이미지 데이터를 수신하는 단계; 수신된 아이템 이미지 데이터로부터, 카트 내의 아이템들의 중량의 검출된 변화와 상관하여 상관된 아이템이 식별되었는지 여부를 결정하는 단계; 및 상관된 아이템이 식별되지 않은 경우, 아이템이 검출되지 않았음을 표시하는 메시지가 사용자 인터페이스(UI) 상에 디스플레이되게 하는 단계를 포함한다.
제9항.
제8항의 자동화된 쇼핑 카트 시스템에서, 아이템이 검출되지 않았음을 표시하는 메시지가 UI 상에 디스플레이되게 하는 단계는, 사용자에게 상관된 아이템에 대한 아이템 정보를 입력할 것을 요청하는 프롬프트를 UI 상에 생성하는 단계를 포함하고, UI는 자동화된 쇼핑 카트 시스템 상에 배치되어 카트 제어기에 커플링된 그래픽 사용자 인터페이스와 사용자 클라이언트 디바이스의 사용자 인터페이스 중 하나를 포함한다.
제10항.
제8항의 자동화된 쇼핑 카트 시스템에서, 카트 제어기는 통신 송수신기를 포함하고, 아이템들을 자동으로 등록하기 위한 방법은, 카트 제어기와 사용자 클라이언트 디바이스 사이에 통신 링크를 확립하는 단계를 포함하고, 아이템 이미지 데이터를 수신하는 단계는, 사용자 클라이언트 디바이스로부터 아이템 이미지 데이터를 수신하는 단계를 포함하고, 아이템이 검출되지 않았음을 표시하는 메시지가 사용자 인터페이스(UI) 상에 디스플레이되게 하는 단계는, 아이템이 검출되지 않았음을 표시하는 메시지가 사용자 클라이언트 디바이스의 UI 상에 디스플레이되게 하는 단계를 포함한다.
제11항.
제10항의 자동화된 쇼핑 카트 시스템에서, 사용자 클라이언트 디바이스로부터 아이템 이미지 데이터를 수신하는 단계는, 사용자 클라이언트 디바이스에서의 이미지 인식 능력으로부터 아이템 이미지를 수신하는 단계를 포함한다.
제12항.
제10항의 자동화된 쇼핑 카트 시스템에서, 아이템들을 자동으로 등록하기 위한 방법은, 상관된 아이템이 식별된 경우, 상관된 아이템이 카트에 추가되었음을 표시하는 통지를 사용자 클라이언트 디바이스 내의 쇼핑 리스트 애플리케이션으로 전송하는 단계를 포함한다.
제13항.
제8항의 자동화된 쇼핑 카트 시스템에서, 카트 제어기는 광학 디바이스를 포함하고, 아이템 이미지를 수신하는 단계는, 광학 디바이스로부터 아이템 이미지 데이터를 수신하는 단계를 포함한다.
제14항.
제8항의 자동화된 쇼핑 카트 시스템에서, 아이템들을 자동으로 등록하기 위한 방법은, 중량 검출기로부터의 중량 신호에 기초하여 상관된 아이템의 중량을 결정하는 단계; 서버로부터 상관된 아이템에 대한 중량별 가격을 획득하는 단계; 상관된 아이템의 중량 및 상관된 아이템에 대한 중량별 가격에 기초하여, 상관된 아이템에 대한 총 가격을 계산하는 단계; 및 상관된 아이템에 대한 총 가격이 UI 상에 디스플레이되게 하는 단계를 포함한다.
제15항.
컴퓨터 저장 매체는 컴퓨터 실행가능 명령어들을 저장하고, 컴퓨터 실행가능 명령어들은, 하나 이상의 프로세서에 의해 실행될 때, 프로세서들로 하여금 자동화된 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 방법을 사용자 클라이언트 디바이스에서 실행하게 하고, 방법은, 사용자 클라이언트 디바이스와 자동화된 쇼핑 카트의 카트 제어기 사이에 통신 링크를 확립하는 단계; 카트 제어기로부터 아이템이 검출되지 않았음을 표시하는 정보를 수신하는 단계; 및 카트 제어기로부터 아이템이 검출되지 않았음을 표시하는 정보를 수신하는 것에 응답하여, 사용자 클라이언트 디바이스의 사용자 인터페이스(UI) 상에 아이템이 검출되지 않았음을 표시하는 메시지를 디스플레이하는 단계를 포함한다.
제16항.
제15항의 컴퓨터 저장 매체에서, UI 상에 디스플레이된 아이템이 검출되지 않았음을 표시하는 메시지는, 사용자에게 아이템 정보를 위해 아이템을 스캐닝할 것 또는 아이템에 대한 아이템 정보를 입력할 것을 요청하는 UI 상의 프롬프트를 포함하고, 방법은, 이미지 데이터를 획득하기 위해, 사용자 클라이언트 디바이스의 광학 디바이스를 사용하여 아이템을 스캐닝하는 단계; 아이템 정보를 결정하기 위해 이미지 데이터에 대해 이미지 인식을 사용하는 단계; 및 카트 제어기로 아이템 정보를 전송하는 단계를 포함한다.
제17항.
제15항의 컴퓨터 저장 매체에서, 방법은, 카트 제어기로부터 디스플레이를 위한 정보를 수신하는 단계; 및 사용자 클라이언트 디바이스의 UI 상에 카트 제어기로부터 수신된 정보를 디스플레이하는 단계를 포함한다.
제18항.
제15항의 컴퓨터 저장 매체에서, 카트 제어기로부터 수신된 디스플레이를 위한 정보는 아이템에 대한 가격과 아이템의 중량 중 하나 이상을 포함하고, 사용자 클라이언트 디바이스의 UI 상에 카트 제어기로부터 수신된 정보를 디스플레이하는 단계는, 아이템에 대한 가격과 아이템의 중량 중 하나 이상을 디스플레이하는 단계를 포함한다.
제19항.
제15항의 컴퓨터 저장 매체에서, 방법은, 아이템들의 세트를 쇼핑 리스트로서 디스플레이하는 단계; 자동화된 쇼핑 카트 내의 아이템을 식별하는 정보를 카트 제어기로부터 수신하는 단계; 식별된 아이템과 매칭하는 매칭 아이템에 대해 아이템들의 세트를 탐색하는 단계; 및 매칭 아이템이 발견되는 경우, 자동화된 쇼핑 카트에 매칭 아이템이 있음을 표시하기 위해 아이템들의 세트 내의 매칭 아이템의 디스플레이를 변경하는 단계를 포함한다.
제20항.
제15항의 컴퓨터 저장 매체에서, 방법은, 자동화된 쇼핑 카트 내의 아이템들에 대한 가격을 표시하는 인출 금액을 카트 제어기로부터 수신하는 단계; 자동화된 쇼핑 카트 내의 아이템들의 가격을 지불하기 위해 인출 거래를 커밋하는 단계; 및 인출 거래가 성공적으로 커밋되는 경우, 카트 제어기로 인출 거래 확인을 전송하는 단계를 포함한다.
Claims (20)
- 자동화된 물리적 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 컴퓨터에 의해 구현되는 방법으로서,
상기 카트 내의 아이템들의 중량의 변화를 검출하는 단계;
광학 디바이스로부터 상기 카트 내의 아이템들에 대한 이미지 데이터를 수신하는 단계;
상기 카트 내의 아이템들의 중량의 검출된 변화와 상관하여 스캐닝된 상관된 아이템이 수신된 이미지 데이터에서 식별되었는지 여부를 결정하는 단계; 및
상관된 아이템이 식별되지 않은 경우, 아이템이 검출되지 않았음을 표시하는 메시지가 사용자 인터페이스(UI) 상에 디스플레이되게 하는 단계
를 포함하는, 방법. - 제1항에 있어서,
상기 아이템이 검출되지 않았음을 표시하는 메시지가 UI 상에 디스플레이되게 하는 단계는, 사용자에게 상기 상관된 아이템에 대한 아이템 정보를 입력할 것을 요청하는 프롬프트를 상기 UI 상에 생성하는 단계를 포함하는, 방법. - 제1항에 있어서,
상기 광학 디바이스로부터 상기 카트 내의 아이템들에 대한 이미지 데이터를 수신하는 단계는, 사용자 클라이언트 디바이스 내의 광학 디바이스로부터 상기 카트 내의 아이템들에 대한 이미지 데이터를 수신하는 단계를 포함하고,
상기 카트 내의 아이템들의 중량의 검출된 변화와 상관하여 스캐닝된 상관된 아이템이 수신된 이미지 데이터에서 식별되었는지 여부를 결정하는 단계는, 상기 카트 내의 아이템들의 중량의 검출된 변화와 상관하여 스캐닝된 상관된 아이템이 상기 사용자 클라이언트 디바이스로부터 수신되는 수신된 이미지 데이터에서 식별되었는지 여부를 결정하는 단계를 포함하는, 방법. - 제1항에 있어서,
상기 아이템이 검출되지 않았음을 표시하는 메시지가 사용자 인터페이스(UI) 상에 디스플레이되게 하는 단계는, 아이템이 검출되지 않았음을 표시하는 메시지가 사용자 클라이언트 디바이스의 UI 상에 디스플레이되게 하는 단계를 포함하는, 방법. - 제1항에 있어서,
상기 카트 내의 아이템들의 중량의 검출된 변화와 상관하여 스캐닝된 상관된 아이템이 수신된 이미지 데이터에서 식별되었는지 여부를 결정하는 단계는, 상기 상관된 아이템을 식별하기 위해 상기 수신된 이미지 데이터에 대해 이미지 인식을 수행하는 단계를 포함하는, 방법. - 제1항에 있어서,
상기 카트 내의 아이템들의 중량의 변화에 기초하여 상기 상관된 아이템의 중량을 결정하는 단계;
상기 상관된 아이템에 대한 중량별 가격을 획득하는 단계;
상기 상관된 아이템의 중량 및 상기 상관된 아이템에 대한 중량별 가격에 기초하여, 상기 상관된 아이템에 대한 총 가격을 계산하는 단계; 및
상기 상관된 아이템에 대한 총 가격이 상기 UI 상에 디스플레이되게 하는 단계
를 포함하는, 방법. - 제1항에 있어서,
상기 상관된 아이템이 식별된 경우, 상기 상관된 아이템이 상기 카트에 추가되었음을 표시하는 통지를 재고 애플리케이션과 쇼핑 리스트 애플리케이션 중 하나로 전송하는 단계를 포함하는, 방법. - 자동화된 쇼핑 카트 시스템으로서,
복수의 바퀴를 갖는 섀시 ― 상기 복수의 바퀴는 표면 상의 상기 섀시의 움직임을 가능하게 하도록 구성됨 ―;
하나 이상의 아이템을 수용 및 보유하기 위한 바스켓;
상기 바스켓과 상기 섀시 사이에 배치되고, 상기 바스켓 내의 아이템들의 중량을 검출하고 중량 신호를 생성하도록 구성된 중량 검출기; 및
상기 중량 신호를 수신하기 위해 상기 중량 검출기에 커플링된 카트 제어기
를 포함하고,
상기 카트 제어기는 하나 이상의 광학 디바이스로부터 아이템 이미지 데이터를 수신하도록 구성되고,
상기 카트 제어기는 하나 이상의 프로세서, 및 컴퓨터 실행가능 명령어들을 저장하는 적어도 하나의 컴퓨터 저장 매체를 갖고,
상기 컴퓨터 실행가능 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 아이템들을 자동으로 등록하기 위한 방법을 실행하게 하고,
상기 방법은,
상기 중량 검출기로부터의 상기 중량 신호를 사용하여 카트 내의 아이템들의 중량의 변화를 검출하는 단계;
상기 아이템 이미지 데이터를 수신하는 단계;
수신된 아이템 이미지 데이터로부터, 상기 카트 내의 아이템들의 중량의 검출된 변화와 상관하여 상관된 아이템이 식별되었는지 여부를 결정하는 단계; 및
상관된 아이템이 식별되지 않은 경우, 아이템이 검출되지 않았음을 표시하는 메시지가 사용자 인터페이스(UI) 상에 디스플레이되게 하는 단계
를 포함하는, 자동화된 쇼핑 카트 시스템. - 제8항에 있어서,
상기 아이템이 검출되지 않았음을 표시하는 메시지가 UI 상에 디스플레이되게 하는 단계는, 사용자에게 상기 상관된 아이템에 대한 아이템 정보를 입력할 것을 요청하는 프롬프트를 상기 UI 상에 생성하는 단계를 포함하고,
상기 UI는 상기 자동화된 쇼핑 카트 시스템 상에 배치되어 상기 카트 제어기에 커플링된 그래픽 사용자 인터페이스와 사용자 클라이언트 디바이스의 사용자 인터페이스 중 하나를 포함하는, 자동화된 쇼핑 카트 시스템. - 제8항에 있어서,
상기 카트 제어기는 통신 송수신기를 포함하고,
상기 아이템들을 자동으로 등록하기 위한 방법은,
상기 카트 제어기와 사용자 클라이언트 디바이스 사이에 통신 링크를 확립하는 단계를 포함하고,
상기 아이템 이미지 데이터를 수신하는 단계는, 상기 사용자 클라이언트 디바이스로부터 상기 아이템 이미지 데이터를 수신하는 단계를 포함하고,
상기 아이템이 검출되지 않았음을 표시하는 메시지가 사용자 인터페이스(UI) 상에 디스플레이되게 하는 단계는, 아이템이 검출되지 않았음을 표시하는 메시지가 상기 사용자 클라이언트 디바이스의 UI 상에 디스플레이되게 하는 단계를 포함하는, 자동화된 쇼핑 카트 시스템. - 제10항에 있어서,
상기 사용자 클라이언트 디바이스로부터 상기 아이템 이미지 데이터를 수신하는 단계는,
상기 사용자 클라이언트 디바이스에서의 이미지 인식 능력으로부터 아이템 이미지를 수신하는 단계를 포함하는, 자동화된 쇼핑 카트 시스템. - 제10항에 있어서,
상기 아이템들을 자동으로 등록하기 위한 방법은,
상기 상관된 아이템이 식별된 경우, 상기 상관된 아이템이 상기 카트에 추가되었음을 표시하는 통지를 상기 사용자 클라이언트 디바이스 내의 쇼핑 리스트 애플리케이션으로 전송하는 단계를 포함하는, 자동화된 쇼핑 카트 시스템. - 제8항에 있어서,
상기 카트 제어기는 광학 디바이스를 포함하고,
상기 아이템 이미지를 수신하는 단계는, 상기 광학 디바이스로부터 상기 아이템 이미지 데이터를 수신하는 단계를 포함하는, 자동화된 쇼핑 카트 시스템. - 제8항에 있어서,
상기 아이템들을 자동으로 등록하기 위한 방법은,
상기 중량 검출기로부터의 상기 중량 신호에 기초하여 상기 상관된 아이템의 중량을 결정하는 단계;
서버로부터 상기 상관된 아이템에 대한 중량별 가격을 획득하는 단계;
상기 상관된 아이템의 중량 및 상기 상관된 아이템에 대한 중량별 가격에 기초하여, 상기 상관된 아이템에 대한 총 가격을 계산하는 단계; 및
상기 상관된 아이템에 대한 총 가격이 상기 UI 상에 디스플레이되게 하는 단계
를 포함하는, 자동화된 쇼핑 카트 시스템. - 컴퓨터 실행가능 명령어들을 저장하는 컴퓨터 저장 매체로서,
상기 컴퓨터 실행가능 명령어들은, 하나 이상의 프로세서에 의해 실행될 때, 상기 프로세서들로 하여금 자동화된 쇼핑 카트에서 아이템들을 자동으로 등록하기 위한 방법을 사용자 클라이언트 디바이스에서 실행하게 하고,
상기 방법은,
사용자 클라이언트 디바이스와 자동화된 쇼핑 카트의 카트 제어기 사이에 통신 링크를 확립하는 단계;
상기 카트 제어기로부터 아이템이 검출되지 않았음을 표시하는 정보를 수신하는 단계; 및
상기 카트 제어기로부터 상기 아이템이 검출되지 않았음을 표시하는 정보를 수신하는 것에 응답하여, 상기 사용자 클라이언트 디바이스의 사용자 인터페이스(UI) 상에 아이템이 검출되지 않았음을 표시하는 메시지를 디스플레이하는 단계
를 포함하는, 컴퓨터 저장 매체. - 제15항에 있어서,
상기 UI 상에 디스플레이된 상기 아이템이 검출되지 않았음을 표시하는 메시지는, 사용자에게 아이템 정보를 위해 아이템을 스캐닝할 것 또는 상기 아이템에 대한 아이템 정보를 입력할 것을 요청하는 상기 UI 상의 프롬프트를 포함하고,
상기 방법은,
이미지 데이터를 획득하기 위해, 상기 사용자 클라이언트 디바이스의 광학 디바이스를 사용하여 아이템을 스캐닝하는 단계;
아이템 정보를 결정하기 위해 상기 이미지 데이터에 대해 이미지 인식을 사용하는 단계; 및
상기 카트 제어기로 상기 아이템 정보를 전송하는 단계
를 포함하는, 컴퓨터 저장 매체. - 제15항에 있어서,
상기 방법은,
상기 카트 제어기로부터 디스플레이를 위한 정보를 수신하는 단계; 및
상기 사용자 클라이언트 디바이스의 상기 UI 상에 상기 카트 제어기로부터 수신된 정보를 디스플레이하는 단계
를 포함하는, 컴퓨터 저장 매체. - 제15항에 있어서,
상기 카트 제어기로부터 수신된 상기 디스플레이를 위한 정보는 아이템에 대한 가격과 아이템의 중량 중 하나 이상을 포함하고,
상기 사용자 클라이언트 디바이스의 상기 UI 상에 상기 카트 제어기로부터 수신된 정보를 디스플레이하는 단계는, 상기 아이템에 대한 가격과 상기 아이템의 중량 중 하나 이상을 디스플레이하는 단계를 포함하는, 컴퓨터 저장 매체. - 제15항에 있어서,
상기 방법은,
아이템들의 세트를 쇼핑 리스트로서 디스플레이하는 단계;
상기 자동화된 쇼핑 카트 내의 아이템을 식별하는 정보를 상기 카트 제어기로부터 수신하는 단계;
식별된 아이템과 매칭하는 매칭 아이템에 대해 상기 아이템들의 세트를 탐색하는 단계; 및
상기 매칭 아이템이 발견되는 경우, 상기 자동화된 쇼핑 카트에 상기 매칭 아이템이 있음을 표시하기 위해 상기 아이템들의 세트 내의 상기 매칭 아이템의 디스플레이를 변경하는 단계
를 포함하는, 컴퓨터 저장 매체. - 제15항에 있어서,
상기 방법은,
상기 자동화된 쇼핑 카트 내의 아이템들에 대한 가격을 표시하는 인출 금액(debit amount)을 상기 카트 제어기로부터 수신하는 단계;
상기 자동화된 쇼핑 카트 내의 아이템들의 가격을 지불하기 위해 인출 거래를 커밋(committing)하는 단계; 및
상기 인출 거래가 성공적으로 커밋되는 경우, 상기 카트 제어기로 인출 거래 확인을 전송하는 단계
를 포함하는, 컴퓨터 저장 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/952,708 US20220157134A1 (en) | 2020-11-19 | 2020-11-19 | Automated shopping cart |
US16/952,708 | 2020-11-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220068913A true KR20220068913A (ko) | 2022-05-26 |
Family
ID=78414299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210137145A KR20220068913A (ko) | 2020-11-19 | 2021-10-15 | 자동화된 쇼핑 카트 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220157134A1 (ko) |
EP (1) | EP4002257A1 (ko) |
KR (1) | KR20220068913A (ko) |
CN (1) | CN114550386A (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230147385A1 (en) * | 2021-11-05 | 2023-05-11 | Target Brands, Inc. | Shopping cart with weight bump validation |
US11893866B1 (en) * | 2021-11-16 | 2024-02-06 | Amazon Technologies, Inc. | Mobile apparatus with wheel weight sensors |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7780081B1 (en) * | 2005-01-03 | 2010-08-24 | RCL Products, Inc. | System and method for security protection, inventory tracking and automated shopping cart checkout |
US20120095821A1 (en) * | 2010-10-15 | 2012-04-19 | Orlando Chorney Fuquen | Purchasing system and method with complimentary use of computer-controlled animation or video |
US10573135B2 (en) * | 2013-10-03 | 2020-02-25 | Digitized Concepts, Llc | Apparatus, system, and method for self-service shopping |
CN104787102B (zh) * | 2015-04-28 | 2017-09-05 | 西安超嗨网络科技有限公司 | 智能购物车、智能购物系统及其使用方法 |
CN204576602U (zh) * | 2015-05-11 | 2015-08-19 | 中国矿业大学 | 一种基于手机客户端的实时超市购物系统 |
US10633012B2 (en) * | 2015-12-02 | 2020-04-28 | Mastercard International Incorporated | Self-checkout in retail stores |
CN106408369B (zh) * | 2016-08-26 | 2021-04-06 | 西安超嗨网络科技有限公司 | 一种智能鉴别购物车内商品信息的方法 |
EP3428870A4 (en) * | 2017-01-04 | 2019-11-06 | Xian Chaohi Net Technology Co., Ltd. | METHOD AND SYSTEM FOR THE PRODUCT IDENTIFICATION OF AN INTELLIGENT SHOPPING CAR |
JP7130355B2 (ja) * | 2017-03-06 | 2022-09-05 | 東芝テック株式会社 | チェック装置、及びチェックプログラム |
US20190180352A1 (en) * | 2017-12-11 | 2019-06-13 | International Business Machines Corporation | Locating items from a personal list |
CN108717651B (zh) * | 2018-03-29 | 2021-10-26 | 京东方科技集团股份有限公司 | 一种商品推荐方法、装置及电子设备 |
US20190318417A1 (en) * | 2018-04-12 | 2019-10-17 | MrG Systems, LLC. | Method and system associated with a smart shopping apparatus |
KR101994205B1 (ko) * | 2018-05-25 | 2019-09-30 | 주식회사 리테일앤인사이트 | 스마트 쇼핑 카트 및 이를 이용한 쇼핑 관리 시스템 |
US20200082373A1 (en) * | 2018-09-06 | 2020-03-12 | Nazar Kozak | System including shopping cart, mobile device, mobile application to facilitate shopping at a store, qr-coded credit card, and mobile application to organize shopping data |
CN111507792A (zh) * | 2019-03-07 | 2020-08-07 | 河源市联腾实业有限公司 | 一种自助购物方法、计算机可读存储介质及系统 |
CN110148042A (zh) * | 2019-05-23 | 2019-08-20 | 北京小米移动软件有限公司 | 智能购物车、购物辅助方法、装置、设备及可读存储介质 |
-
2020
- 2020-11-19 US US16/952,708 patent/US20220157134A1/en not_active Abandoned
-
2021
- 2021-10-15 KR KR1020210137145A patent/KR20220068913A/ko not_active Application Discontinuation
- 2021-10-28 CN CN202111262173.7A patent/CN114550386A/zh active Pending
- 2021-10-28 EP EP21205174.2A patent/EP4002257A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP4002257A1 (en) | 2022-05-25 |
US20220157134A1 (en) | 2022-05-19 |
CN114550386A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102238314B1 (ko) | 신원 인증 방법, 디바이스 및 시스템 | |
US11553352B2 (en) | Complex composite tokens | |
US12099993B2 (en) | Resource transfer method and apparatus, computer device, and storage medium | |
EP4002257A1 (en) | Automated shopping cart | |
KR20180083228A (ko) | 전자 장치 및 전자 장치에서의 전자 구매 방법 | |
US20230353558A1 (en) | Multi-legged network attribution using tracking tokens and attribution stack | |
CN106503986B (zh) | 虚拟资源转移方法及装置 | |
US20140172532A1 (en) | Optimal utilization of coupons | |
CN112672278A (zh) | 一种可穿戴设备的定位方法及装置 | |
US20240078581A1 (en) | Buyer initiated automatic seller account creation for item | |
US20180108072A1 (en) | Systems, Devices and Methods for Monitoring Objects in a Cart | |
CN104899733B (zh) | 数据处理方法及数据处理装置 | |
US10354223B2 (en) | Systems, devices, and methods for machine reading | |
KR20140015771A (ko) | 구매자결제 서비스 시스템 및 그 방법, 그리고 이에 적용되는 장치 및 서버 | |
CN113869847A (zh) | 一种摊位管理方法及装置 | |
CN115880045A (zh) | 对象验证方法及装置、电子设备和计算机可读存储介质 | |
CN110544099A (zh) | 基于区块链的支付方法、支付处理系统及支付受理终端 | |
CN111737509A (zh) | 信息处理方法、装置、系统、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |