IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ケロッグ カンパニーの特許一覧

<>
  • 特許-商品配置適合結果の判定 図1
  • 特許-商品配置適合結果の判定 図2
  • 特許-商品配置適合結果の判定 図3A
  • 特許-商品配置適合結果の判定 図3B
  • 特許-商品配置適合結果の判定 図4A
  • 特許-商品配置適合結果の判定 図4B
  • 特許-商品配置適合結果の判定 図4C
  • 特許-商品配置適合結果の判定 図4D
  • 特許-商品配置適合結果の判定 図5
  • 特許-商品配置適合結果の判定 図6A
  • 特許-商品配置適合結果の判定 図6B
  • 特許-商品配置適合結果の判定 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-14
(45)【発行日】2022-09-26
(54)【発明の名称】商品配置適合結果の判定
(51)【国際特許分類】
   G06Q 30/06 20120101AFI20220915BHJP
【FI】
G06Q30/06
【請求項の数】 22
(21)【出願番号】P 2019552273
(86)(22)【出願日】2018-03-15
(65)【公表番号】
(43)【公表日】2020-06-18
(86)【国際出願番号】 US2018022671
(87)【国際公開番号】W WO2018175203
(87)【国際公開日】2018-09-27
【審査請求日】2019-11-19
【審判番号】
【審判請求日】2021-12-23
(31)【優先権主張番号】15/464,777
(32)【優先日】2017-03-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500217094
【氏名又は名称】ケロッグ カンパニー
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ムルシー,ガナパ・サシドハラ
(72)【発明者】
【氏名】ユーセフ,ダニエル・ブライアン
【合議体】
【審判長】渡邊 聡
【審判官】溝本 安展
【審判官】中野 浩昌
(56)【参考文献】
【文献】特開2003-230131(JP,A)
【文献】特開2016-042307(JP,A)
【文献】特開2015-156211(JP,A)
【文献】国際公開第2013/089042(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
方法(600)であって、
陳列棚環境内の陳列棚(200)上の商品(12)の典型的な配置(P)を規定するプラノグラム(500)をデータ処理ハードウェア(132)で受信するステップを含み、前記陳列棚環境は、前記陳列棚(200)と、前記陳列棚(200)の上に配置された表示画面(110)とを備え、ユーザの視野において、前記表示画面(110)は、メディアコンテンツ(112)を表示し、さらに、
前記陳列棚(200)の上に位置し、かつ前記陳列棚(200)の上面(212)を撮影するように配置された視野(F)を有する撮像装置(300)から、少なくとも1つの画像(310)を前記データ処理ハードウェア(132)で受信するステップを含み、
前記陳列棚(200)の前記上面(212)は、少なくとも1つの多角形特徴部を含む特徴部パターン(214)を形成し、前記少なくとも1つの画像(310)は、複数の露出特徴部によって、前記陳列棚(200)の上面(212)のうちの少なくとも一部を表わし、さらに、
前記データ処理ハードウェア(132)が、前記少なくとも1つの画像(310)に基づいて、
前記少なくとも1つの画像(310)内に撮影された前記陳列棚(200)の前記上面(212)の前記複数の露出特徴部の数量および対応位置を特定し、
前記複数の露出特徴部の1つ以上のエッジを検出し、
検出された前記1つ以上のエッジを閉特徴部に変換し、
前記商品(12)が前記陳列棚(200)に置かれているか否かを判定するために、前記閉特徴部を前記少なくとも1つの多角形特徴部と比較する、
ことによって、前記商品(12)が前記陳列棚(200)に置かれているか否かを判定するステップを含み、
前記商品(12)が前記陳列棚(200)に置かれている場合、
前記データ処理ハードウェア(132)が前記陳列棚(200)上の前記商品(12)の実際の配置(P)を判定するステップと、
前記データ処理ハードウェア(132)が、前記商品(12)の実際の配置(P)を、前記プラノグラム(500)で規定される前記商品(12)の典型的な配置(P)と比較するステップと、
前記データ処理ハードウェア(132)が、前記商品(12)の実際の配置(P)と前記商品(12)の典型的な配置(P)との前記比較に基づいて、プラノグラム適合結果(620)を判定するステップと、
前記プラノグラム適合結果(620)を前記データ処理ハードウェア(132)からネットワーク(150)に通知するステップとを含み、
前記商品(12)が前記陳列棚(200)にない場合、
前記データ処理ハードウェア(132)が前記商品(12)の在庫状況(S)を在庫切れと判定するステップと、
前記商品(12)の在庫状況を、前記データ処理ハードウェア(132)から前記ネットワーク(150)に通知するステップとを含み、方法(600)は、さらに、
前記商品(12)とは異なる商品(12)が前記陳列棚(200)に置かれている場合、前記商品(12)の前記実際の配置(P)に関するプラノグラム適合結果(620)を前記データ処理ハードウェア(132)から前記ネットワーク(150)に通知するステップを含む、方法(600)。
【請求項2】
前記商品(12)が前記陳列棚(200)に置かれている場合、前記データ処理ハードウェア(132)が前記商品(12)の在庫状況(S)を在庫有りと判定するステップと、
前記商品(12)の在庫状況(S)を前記データ処理ハードウェア(132)から前記ネットワーク(150)に通知するステップとをさらに含む、請求項1に記載の方法(600)。
【請求項3】
前記メディアコンテンツ(112)は、前記陳列棚(200)に置かれた前記商品(12)のうち、より在庫量の多い商品、および/または、より在庫量の少ない商品に関する広告コンテンツを含む、請求項1または2に記載の方法(600)。
【請求項4】
前記商品(12)が前記陳列棚(200)に置かれている場合、
前記データ処理ハードウェア(132)が前記陳列棚(200)上の前記商品(12)の数量(Q)を判定するステップと、
前記商品(12)の数量(Q)を前記データ処理ハードウェア(132)から前記ネットワーク(150)に通知するステップとをさらに含む、請求項1~3のいずれか1項に記載の方法(600)。
【請求項5】
前記商品(12)の実際の配置(P)を前記データ処理ハードウェア(132)から前記ネットワーク(150)に通知するステップをさらに含む、請求項1~3のいずれか1項に記載の方法(600)。
【請求項6】
前記閉特徴部を前記少なくとも1つの多角形特徴部と比較することは、各閉特徴部に対して、それぞれの閉特徴部のエッジの数を前記少なくとも1つの多角形特徴部のエッジの数と比較することを含み、
前記商品(12)が前記陳列棚(200)に置かれているかどうかを判定することは、さらに、前記それぞれの閉特徴部のエッジの数が前記少なくとも1つの多角形特徴部のエッジの数とは異なる場合に、前記商品(12)が前記陳列棚(200)に置かれていると判定することを含む、請求項1~5のいずれか1項に記載の方法(600)。
【請求項7】
前記陳列棚(200)上の前記商品(12)の実際の配置(P)を判定するステップは、前記少なくとも1つの画像(310)内に撮影された前記陳列棚(200)の上面(212)の前記複数の露出特徴部(215)の対応位置を特定するステップを含む、請求項1~6のいずれか1項に記載の方法(600)。
【請求項8】
前記データ処理ハードウェア(132)が前記少なくとも1つの画像(310)に画像補正ルーチンを実行するステップをさらに含み、
前記画像補正ルーチンは、前記少なくとも1つの画像(310)の少なくとも樽型収差(V)を補正する、請求項1~7のいずれか1項に記載の方法(600)。
【請求項9】
前記メディアコンテンツ(112)は、前記陳列棚(200)に置かれた前記商品(12)、前記陳列棚(200)に置かれた前記商品(12)の製造者、または、前記陳列棚(200)に置かれた前記商品(12)を販売する小売店に関する広告コンテンツを含む、請求項1~8のいずれか1項に記載の方法(600)。
【請求項10】
前記メディアコンテンツ(112)は、前記撮像装置(300)からの少なくとも1つの画像を含む、請求項1~9のいずれか1項に記載の方法(600)。
【請求項11】
前記閉特徴部を前記少なくとも1つの多角形特徴部と比較して前記商品(12)が前記陳列棚(200)に置かれているかどうかを判定することは、各閉特徴部に対して、それぞれの閉特徴部の面積を前記少なくとも1つの多角形特徴部の面積と比較することを含み、
前記それぞれの閉特徴部の面積が前記少なくとも1つの多角形特徴部の面積とは異なる場合に、前記商品(12)が前記陳列棚(200)に置かれていると判定される、請求項1~10のいずれか1項に記載の方法(600)。
【請求項12】
システムであって、
データ処理ハードウェア(132)と、
前記データ処理ハードウェア(132)と通信可能なメモリハードウェア(134)とを備え、
前記メモリハードウェア(134)は、前記データ処理ハードウェア(132)上で実行されると前記データ処理ハードウェア(132)に動作を行なわせる命令を格納し、
前記動作は、
陳列棚環境内の陳列棚(200)上の商品(12)の典型的な配置(P)を規定するプラノグラム(500)を受信するステップを含み、前記陳列棚環境は、前記陳列棚と、前記陳列棚(200)の上に配置された表示画面(110)とを備え、ユーザの視野において、前記表示画面(110)は、メディアコンテンツ(112)を表示し、さらに、
前記陳列棚(200)の上に位置し、かつ前記陳列棚(200)の上面(212)を撮影するように配置された視野(F)を有する撮像装置(300)から、少なくとも1つの画像(310)を受信するステップと、
前記少なくとも1つの画像(310)に基づいて、
前記少なくとも1つの画像(310)内に撮影された前記陳列棚(200)の前記上面(212)の前記複数の露出特徴部の数量および対応位置を特定し、
前記複数の露出特徴部の1つ以上のエッジを検出し、
検出された前記1つ以上のエッジを閉特徴部に変換し、
前記商品(12)が前記陳列棚(200)に置かれているか否かを判定するために、前記閉特徴部を前記少なくとも1つの多角形特徴部と比較する、ことによって、前記商品(12)が前記陳列棚(200)に置かれているか否かを判定するステップと、
前記商品(12)が前記陳列棚(200)に置かれている場合、
前記陳列棚(200)上の前記商品(12)の実際の配置(P)を判定するステップと、
前記商品(12)の実際の配置(P)を、前記プラノグラム(500)で規定される前記商品(12)の典型的な配置(P)と比較するステップと、
前記商品(12)の実際の配置(P)と前記商品(12)の典型的な配置(P)との前記比較に基づいて、プラノグラム適合結果(620)を判定するステップと、
前記プラノグラム適合結果(620)を前記データ処理ハードウェア(132)からネットワーク(150)に通知するステップとを含み、
システムは、前記商品(12)とは異なる商品(12)が前記陳列棚(200)に置かれている場合、前記商品(12)の前記実際の配置(P)に関するプラノグラム適合結果(620)を前記データ処理ハードウェア(132)から前記ネットワーク(150)に通知するステップをさらに含む、システム。
【請求項13】
前記動作はさらに、
前記商品(12)が前記陳列棚(200)にない場合、前記商品(12)の在庫状況(S)を在庫切れと判定するステップと、
前記商品(12)が前記陳列棚(200)に置かれている場合、前記商品(12)の在庫状況(S)を在庫有りと判定するステップと、
前記商品(12)の在庫状況(S)を前記データ処理ハードウェア(132)から前記ネットワーク(150)に通知するステップとを含む、請求項12に記載のシステム。
【請求項14】
前記メディアコンテンツ(112)は、前記陳列棚(200)に置かれた前記商品(12)のうち、より在庫量の多い商品、および/または、より在庫量の少ない商品に関する広告コンテンツを含む、請求項12または13に記載のシステム。
【請求項15】
前記商品(12)が前記陳列棚(200)に置かれている場合、
前記陳列棚(200)上の前記商品(12)の数量(Q)を判定するステップと、
前記商品(12)の数量(Q)を前記ネットワーク(150)に通知するステップとをさらに含む、請求項12から14のいずれか1項に記載のシステム。
【請求項16】
前記動作は、前記商品(12)の実際の配置(P)を前記データ処理ハードウェア(132)から前記ネットワーク(150)に通知するステップをさらに含む、請求項12~15のいずれか1項に記載のシステム。
【請求項17】
前記閉特徴部を前記少なくとも1つの多角形特徴部と比較することは、各閉特徴部に対して、それぞれの閉特徴部のエッジの数を前記少なくとも1つの多角形特徴部のエッジの数と比較することを含み、
前記商品(12)が前記陳列棚(200)に置かれているかどうかを判定することは、さらに、前記それぞれの閉特徴部のエッジの数が前記少なくとも1つの多角形特徴部のエッジの数とは異なる場合に、前記商品(12)が前記陳列棚(200)に置かれていると判定することを含む、請求項12~16のいずれか1項に記載のシステム。
【請求項18】
前記陳列棚(200)上の前記商品(12)の実際の配置(P)を判定するステップは、前記少なくとも1つの画像(310)内に撮影された前記陳列棚(200)の上面(212)の前記複数の露出特徴部(215)の対応位置を特定するステップを含む、請求項12~17のいずれか1項に記載のシステム。
【請求項19】
前記動作はさらに、前記少なくとも1つの画像(310)に画像補正ルーチンを実行するステップをさらに含み、
前記画像補正ルーチンは、前記少なくとも1つの画像(310)の少なくとも樽型収差を補正する、請求項12~18のいずれか1項に記載のシステム。
【請求項20】
前記メディアコンテンツ(112)は、前記陳列棚(200)に置かれた前記商品(12)、前記陳列棚(200)に置かれた前記商品(12)の製造者、または、前記陳列棚(200)に置かれた前記商品(12)を販売する小売店に関する広告コンテンツを含む、請求項12~19のいずれか1項に記載のシステム。
【請求項21】
前記メディアコンテンツ(112)は、前記撮像装置(300)からの少なくとも1つの画像を含む、請求項12~20のいずれか1項に記載のシステム。
【請求項22】
前記閉特徴部を前記少なくとも1つの多角形特徴部と比較して前記商品(12)が前記陳列棚(200)に置かれているかどうかを判定することは、各閉特徴部に対して、それぞれの閉特徴部の面積を前記少なくとも1つの多角形特徴部の面積と比較することを含み、
前記それぞれの閉特徴部の面積が前記少なくとも1つの多角形特徴部の面積とは異なる場合に、前記商品(12)が前記陳列棚(200)に置かれていると判定される、請求項12~21のいずれか1項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、小売商品在庫管理および商品配置適合結果の判定に関する。
【背景技術】
【0002】
背景
小売業者は、これまで長い間、消費者を引き付けて在庫を売りさばくために、様々な在庫管理手法および小売戦略を用いてきた。その手法のうちの1つはプラノグラムである。プラノグラムは、商品配置を最適化するとともに在庫管理を把握し続けることを目指すものであり、今日の商品取り引きの不可欠な部分である。プラノグラムは、小規模の小売業者から大規模の店に至るまで、小売業界の全体にわたって広く使用されている。一般に、プラノグラムは、小売スペース内の商品の配置をマッピングするダイアグラムである。小売業者は、商品の売上げを把握するとともに消費者の視覚的な焦点を利用するためのツールとして、プラノグラムを使用する。プラノグラムを用いることにより、小売業者は、焦点を作り出し、焦点を理解し、それによって焦点を利用して売上げを伸ばすことができる。また、プラノグラムは、どの商品を扱うかを商品卸売業者が評価するための分析ツール、および、市場に出ている新商品または成熟商品の魅力を製造業者が理解するための分析ツールを提供することもできる。公知の小売商品在庫管理のシステムおよび方法が、意図した目的のために一応は満足できるものであることは分かっているが、依然として、当該技術を継続的に改善する必要がある。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
本開示の一態様は、商品適合に関する方法を提供する。この方法は、陳列棚上の商品の典型的な配置を規定するプラノグラムをデータ処理ハードウェアで受信するステップと、陳列棚の上面を撮影するように配置された視野を有する撮像装置から、少なくとも1つの画像をデータ処理ハードウェアで受信するステップとを含む。方法はさらに、データ処理ハードウェアが、少なくとも1つの画像に基づいて、商品が陳列棚に置かれているか否かを判定するステップを含む。商品が陳列棚に置かれている場合、方法は、データ処理ハードウェアが陳列棚上の商品の実際の配置を判定するステップと、データ処理ハードウェアが、商品の実際の配置を、プラノグラムで規定される商品の典型的な配置と比較するステップとを含む。方法はさらに、データ処理ハードウェアが、商品の実際の配置と商品の典型的な配置との比較に基づいて、プラノグラム適合結果を判定するステップと、プラノグラム適合結果をデータ処理ハードウェアからネットワークに通知するステップとを含む。
【0004】
本開示の実現例は、以下のオプションの特徴のうちの1つまたは複数を含んでもよい。ある実現例では、商品が陳列棚にない場合、方法は、データ処理ハードウェアが商品の在庫状況を在庫切れと判定するステップを含む。商品が陳列棚に置かれている場合、方法は、データ処理ハードウェアが商品の在庫状況を在庫有りと判定するステップを含んでもよい。方法はさらに、商品の在庫状況をデータ処理ハードウェアからネットワークに通知するステップを含んでもよい。
【0005】
商品が陳列棚に置かれている場合、方法は、データ処理ハードウェアが陳列棚上の商品の数量を判定するステップと、商品の数量をデータ処理ハードウェアからネットワークに通知するステップと含んでもよい。方法はさらに、商品の実際の配置をデータ処理ハードウェアからネットワークに通知するステップを含んでもよい。陳列棚の上面は特徴部パターンを形成し、少なくとも1つの画像は陳列棚の上面のうちの少なくとも一部を表わしてもよい。商品が陳列棚に置かれているか否かを判定するステップは、少なくとも1つの画像内に撮影された陳列棚の上面の露出特徴部の数量を判定するステップを含んでもよい。陳列棚上の商品の実際の配置を判定するステップは、少なくとも1つの画像内に撮影された陳列棚の上面の露出特徴部の対応位置を特定するステップを含んでもよい。
【0006】
ある例では、方法は、データ処理ハードウェアが少なくとも1つの画像から露出特徴部のエッジを検出するステップと、データ処理ハードウェアが、露出特徴部の検出されたエッジに基づいて、露出特徴部を近似するステップとを含む。方法はさらに、データ処理ハードウェアが、近似された露出特徴部を特徴部パターンと比較するステップと、近似された露出特徴部が特徴部パターンの実際の特徴部に対応しているか否かを、データ処理ハードウェアが判定するステップとを含んでもよい。近似された露出特徴部の各々について、近似された露出特徴部が特徴部パターンのそれぞれの実際の特徴部に対応している場合、方法は、データ処理ハードウェアが露出特徴部の数量のカウントをインクリメントするステップと、データ処理ハードウェアが特徴部パターンにおける実際の特徴部の対応位置を特定するステップとを含んでもよい。少なくとも1つの特徴部は多角形であってもよい。方法はさらに、データ処理ハードウェアが少なくとも1つの画像に画像補正ルーチンを実行するステップを含んでもよく、画像補正ルーチンは、少なくとも1つの画像の少なくとも樽型収差を補正してもよい。
【0007】
本開示の別の態様は、データ処理ハードウェアと、当該データ処理ハードウェアと通信可能なメモリハードウェアとを備えるシステムを提供する。メモリハードウェアは、データ処理ハードウェア上で実行されると当該データ処理ハードウェアに動作を行なわせる命令を格納する。動作は、陳列棚上の商品の典型的な配置を規定するプラノグラムを受信するステップと、陳列棚の上面を撮影するように配置された視野を有する撮像装置から、少なくとも1つの画像を受信するステップと、少なくとも1つの画像に基づいて、商品が陳列棚に置かれているか否かを判定するステップとを含む。商品が陳列棚に置かれている場合、動作は、陳列棚上の商品の実際の配置を判定するステップと、商品の実際の配置を、プラノグラムで規定される商品の典型的な配置と比較するステップとを含む。動作はさらに、商品の実際の配置と商品の典型的な配置との比較に基づいて、プラノグラム適合結果を判定するステップと、プラノグラム適合結果をデータ処理ハードウェアからネットワークに通知するステップとを含む。
【0008】
この態様は、以下のオプションの特徴のうちの1つまたは複数を含んでもよい。ある実現例では、動作は、商品が陳列棚にない場合、商品の在庫状況を在庫切れと判定するステップと、商品が陳列棚に置かれている場合、商品の在庫状況を在庫有りと判定するステップと、商品の在庫状況をデータ処理ハードウェアからネットワークに通知するステップとを含む。商品が陳列棚に置かれている場合、動作は、陳列棚上の商品の数量を判定するステップと、商品の数量をネットワークに通知するステップとを含む。
【0009】
ある例では、動作は、商品の実際の配置をデータ処理ハードウェアからネットワークに通知するステップを含む。陳列棚の上面は特徴部パターンを形成し、少なくとも1つの画像は陳列棚の上面のうちの少なくとも一部を表わしてもよい。商品が陳列棚に置かれているか否かを判定するステップは、少なくとも1つの画像内に撮影された陳列棚の上面の露出特徴部の数量を判定するステップを含んでもよい。陳列棚上の商品の実際の配置を判定するステップは、少なくとも1つの画像内に撮影された陳列棚の上面の露出特徴部の対応位置を特定するステップを含んでもよい。
【0010】
ある実現例では、動作は、少なくとも1つの画像から露出特徴部のエッジを検出するステップと、露出特徴部の検出されたエッジに基づいて露出特徴部を近似するステップとを含む。動作はさらに、近似された露出特徴部を特徴部パターンと比較するステップと、近似された露出特徴部が特徴部パターンの実際の特徴部に対応しているか否かを判定するステップとを含んでもよい。近似された露出特徴部の各々について、近似された露出特徴部が特徴部パターンのそれぞれの実際の特徴部に対応している場合、動作は、露出特徴部の数量のカウントをインクリメントするステップと、特徴部パターンにおける実際の特徴部の対応位置を特定するステップとを含む。少なくとも1つの特徴部は多角形であってもよい。ある例では、動作は、少なくとも1つの画像に画像補正ルーチンを実行するステップを含み、画像補正ルーチンは、少なくとも1つの画像の少なくとも樽型収差を補正する。
【0011】
本開示の1つまたは複数の実現例の詳細を、添付の図面および以下の説明で述べる。他の態様、特徴、および利点は、以下の説明、図面、および特許請求の範囲から明らかになるであろう。
【0012】
図面の説明
【図面の簡単な説明】
【0013】
図1】例示的な陳列棚環境の概略図である。
図2】例示的な陳列棚の斜視図である。
図3A】撮像装置によって得られた図2の陳列棚の例示的な画像が樽型収差を有する斜視図である。
図3B】画像補正ルーチン後の図3Aの画像の斜視図である。
図4A】商品が置かれた状態の例示的な陳列棚の上面図である。
図4B】商品が置かれた状態の例示的な陳列棚の上面図である。
図4C】商品が置かれた状態の例示的な陳列棚の上面図である。
図4D】商品が置かれた状態の例示的な陳列棚の上面図である。
図5】例示的な小売プラノグラムの予想図である。
図6A】商品検出および/またはプラノグラム適合の方法のための例示的なフローチャート動作手順である。
図6B】商品検出および/またはプラノグラム適合の方法のための例示的なフローチャート動作手順である。
図7】本明細書に記載のシステムおよび方法を実現するために使用可能な例示的なコンピューティングデバイスを示す概略図である。
【発明を実施するための形態】
【0014】
様々な図面において、同様の参照記号は同様の要素を示す。
詳細な説明
商品のストックおよび在庫管理のために、小売業者は一般的に陳列棚環境を用いる。陳列棚環境は、多くの場合プラノグラムに従って商品を配置した任意の数の棚を含み得る。しかしながら、時間が経つと、小売スペース内の顧客等は移動する場合もあるし、あるいはプラノグラムに従った典型的な商品の配置に対して商品の位置を変更する場合もある。プラノグラムは、有利に活用して消費者の店内での意思決定を形作るために作成された重要なツールであるため、プラノグラムで表わされた商品配置は小売業者の実際の商品配置に反映されるべきである。本開示は、陳列棚上の商品配置を検知し、商品配置に基づいて適合結果フィードバックを提供するためのシステムおよび方法を提供する。
【0015】
図1は、例示的な陳列棚環境100内で陳列棚200と対話するユーザ10を示す。陳列棚環境100は、陳列棚200を撮影可能な視野F,300を有する撮像装置300を備える。ユーザ10は、陳列棚200の商品12を選択することができる。ユーザ10は、商品12を購入し、手に取り、チェックし、または他の目的で商品12を扱うために陳列棚200から商品12を移動させる消費者(例えば、食料品店の買い物客)の場合もある。追加的または代替的には、ユーザ10は、商品12を陳列棚200に置くことによって商品12をストックする小売店従業員または販売員の場合もある。陳列棚200の商品12は、プラノグラム500に従って配置され得る(例えば、図5)。一般に、プラノグラム500とは、陳列棚200に陳列される商品12の典型的な配置を規定するダイアグラムのことである。
【0016】
ある実現例では、陳列棚環境100は、陳列棚200上に配置された表示画面110を備える。表示画面110は、商品12に関する広告、商品12のメーカーに関する広告、または商品12を販売する小売店に関する広告などのメディアコンテンツ112を表示することができる。メディアコンテンツ112は、商品12の在庫状況Sに関する場合もある。例えば、陳列棚200上で、ある種類の商品12の在庫量が別の商品よりも多い場合、メディアコンテンツ112は、より在庫の多い種類の商品12を広告する。追加的または代替的には、メディアコンテンツ112は、ユーザ10の関心を維持するために、より在庫の少ない種類の商品12を広告する。ある例では、表示画面110がユーザ10の視野F内でメディアコンテンツ112を表示できるように、表示画面110を陳列棚200上に配置する。一例として、表示画面110はユーザ10の目の高さLにある。追加的または代替的には、陳列棚環境100は2つ以上の表示画面110を備え、それらの2つ以上の表示画面110のうちの1つをユーザ10が商品モニタ画面として使用してもよい。例えば、撮像装置300は、撮像装置300からのリアルタイム映像、または少なくとも1つの画像310(例えば、最新の画像310)を、商品モニタ画面に提供する。
【0017】
ある例では、陳列棚環境100は2つ以上の陳列棚200、200a~eを備え、それらの2つ以上の陳列棚200、200a~eのそれぞれが撮像装置300、300a~eを有する。より多くの商品12を収容し、および/または、商品12の実際の配置Pを最適化するために、2つ以上の陳列棚200、200a~eが陳列ラックを形成してもよい。例えば、陳列ラックの商品12は2種類以上の商品12を含む。2種類以上の商品12を置く場合、小売業者は、最もよく売れる種類の商品12をユーザ10が最も取りやすいようにしようとするかもしれない。2つ以上の陳列棚200、200a~eを置く場合、小売業者は、最もよく売れる種類の商品の実際の配置Pがユーザ10の視野F内(例えば、200、200b)またはユーザ10の目の高さL(例えば、200、200a)となるように、最もよく売れる種類の商品12を陳列棚200、200aまたは陳列棚200、200bに配置することができる。
【0018】
図1をさらに参照すると、陳列棚環境100は、電源120と、ネットワーク150に接続されたコンピューティングデバイス130とを備える。電源120は、陳列棚環境100内の電子機器(例えば、表示画面110、撮像装置300、コンピューティングデバイス130など)に電力を供給する。電源120は、小売業者または陳列棚環境100の構成(例えば、陳列棚200であるか、または2つ以上の陳列棚200、200a~eであるか)に応じて、単一のユニットであってもよいし、複数のユニットであってもよい。コンピューティングデバイス130は、データ処理ハードウェア132およびメモリハードウェア134を備える。コンピューティングデバイス130は、スイッチまたはルーター140を介してネットワーク150に接続されてもよい。コンピューティングデバイス130は画像データをネットワーク150に送信し、その画像データをリモートコンピュータ170がアクセス可能なサーバ160上に格納してもよい。リモートコンピュータ170は、パーソナルコンピュータ170、170a、ラップトップコンピュータ170、170b、または携帯機器170、170cであってもよい。例えば、小売流通業者であるユーザ10がリモートコンピュータ170を使用することにより、小売業者の陳列棚環境100が常に確実にプラノグラム500に適合するようにしてもよい。追加的または代替的には、ネットワーク150を用いることにより、あるユーザ10(例えば、小売流通業者)が別のユーザ10(例えば、小売業者)にプラノグラム適合結果、または陳列棚環境100内の商品12に関する他の問題について注意喚起することが可能になる。ある実現例では、コンピューティングデバイス130がプラノグラム適合結果レポートを作成し、そのプラノグラム適合結果レポートをネットワーク150および/またはサーバ160に通知してもよい。
【0019】
図2を参照すると、陳列棚200は、商品12を支持するための陳列棚ベース部210を少なくとも備える。陳列棚ベース部210の上面212は、特徴部パターン214を有する。特徴部パターン214は、少なくとも1つの特徴部215によって形成される。ある例では、少なくとも1つの特徴部215は、多角形である。例えば図2では、少なくとも1つの特徴部215は三角形である。追加的または代替的には、少なくとも1つの特徴部215と上面212とが互いに対比色を有する(例えば、前者が黒で後者が白)。ある例では、陳列棚200は、当該陳列棚200内の商品12を包囲する少なくとも1つの側面200sをさらに備える。一例として、図2に示す陳列棚200は、後側面200sと前側面200sとを有する。陳列棚200は、商品12を実際の配置Pに導くための棚仕切り220を備えてもよい。ある実現例では、図2のように、棚仕切り220は商品12を拘束するための側面220、200s3~4としても機能する。
【0020】
ある実現例では、小売業者は、陳列棚環境100として機能する棚システムを後付けする。例えば、小売業者は、ペグボード陳列棚およびペグボード側面を有する棚ユニット(例えば、ゴンドラ棚)をしばしば用いる。ペグボード陳列棚のペグボード陳列棚ベース部は、付属品を固定するための円形部または多角形部などのペグボード形状部を含む。このような棚システムを後付けするために、ペグボード形状部を特徴部パターン214として受信および解釈するようにコンピューティングデバイス130をプログラムしてもよい。
【0021】
図2をさらに参照すると、撮像装置300は、陳列棚200の上面212のうちの少なくとも一部を撮影するように配置されている。そうすることによって、撮像装置300は、特徴部パターン214のうちの少なくとも一部を撮影することができる。ある例では、図2のように、撮像装置300は陳列棚200の上方に配置されている。例えば、撮像装置300は、陳列棚200の上方の別の陳列棚200、200aの下面、陳列棚200の後側面200s、または陳列棚200の任意の支持構造物に取り付けられてもよい。
【0022】
図3Aおよび図3Bは、撮像装置300によって撮影された少なくとも1つの画像310の例である。撮像装置300は、カメラ(例えば、ビデオカメラまたはスチルカメラ)もしくはセンサ、またはカメラおよびセンサを組み合わせたものであってもよい。撮像装置300は、当該撮像装置300の視野Fから少なくとも1つの画像310を撮影するように構成されている。ある例では、撮像装置300は、視野F内で陳列棚200を撮影するために広角レンズを用いる。その結果として、撮像装置300が広角レンズで撮影した少なくとも1つの画像310には、樽型収差Vが発生する場合がある。図3Aは、樽型収差Vを有する少なくとも1つの画像310の一例を示すものである。ある例では、コンピューティングデバイス130またはリモートコンピュータ170が、画像補正ルーチンによって樽型収差Vを補正する。画像補正ルーチンは、少なくとも1つの画像310に樽型収差補正フィルタをかけることによって樽型収差Vを補正してもよい。画像補正ルーチンを使用すれば、樽型収差Vがある場合と比較して、陳列棚環境100の要素(例えば、陳列棚200、商品12、商品12の実際の配置、少なくとも1つの特徴部215、および/または特徴部パターン214など)のデータ処理ルーチンによる認識性が向上し得る。図3Bは、画像Vが画像補正ルーチンによって補正された少なくとも1つの画像310の一例を示すものである。この図から、データ処理ルーチンによる陳列棚環境100の要素の認識性が向上し得ることが分かる。例えば、図3Bの補正画像Vの商品12は、図3Aのような樽型収差Vのある少なくとも1つの画像310内の商品12と比較して、実際の配置Pが誤って解釈される可能性が低い。追加的または代替的には、撮像装置300は、商品12のリアルタイム映像またはライブ映像をユーザ10に提供してもよい。例えば、表示画面110またはリモートコンピュータ170は、撮像装置300から、または撮像装置300と通信可能なコンピューティングデバイス130を介して、ライブ映像を受信する。安全のために、ライブ映像にはパスワードまたは暗号化キーなどのセキュアなアクセスが要求されてもよい。
【0023】
図4A図4Dは、期間tにわたって撮像装置300によって撮影された陳列棚200の例示的な画像310、310a~dを示す。ある例では、撮像装置300が周期的に画像を撮影するように、不連続の時間間隔で少なくとも1つの画像310を撮影するように撮像装置300に命令する。撮像装置300が少なくとも1つの画像310を撮影すると、撮像装置300は当該少なくとも1つの画像310をコンピューティングデバイス130、サーバ160、またはリモートコンピュータ170に送り、格納してもよい。格納する際に、上記少なくとも1つの画像310を、棚ユニット情報(例えば、棚のシリアル番号、棚番号、棚の位置)などの画像情報、日付情報(例えば、年、月、日)、および/またはタイムスタンプでタグ付けしてもよい。図4A図4Dには、陳列棚200のうち、商品12が商品列12、12a~g(棚仕切り220によって仕切られた各種類の商品に対応)を形成する部分が少なくとも含まれている。ある例では、陳列棚200のうちの少なくとも一部は、その上面212に、特徴部パターン214の少なくとも1つの特徴部215を有する。
【0024】
図4Aは、陳列棚200が在庫満杯Sfullである画像310、310aを示す。図4Aは、期間tのうち、ユーザ10が陳列棚200への商品12を満杯に補充した直後の第1の期間tを示す。陳列棚環境100の方法600は、少なくとも1つの画像310(例えば、画像310、310a)に基づいて陳列棚200の在庫状況Sを判定することを含む。ある実現例では、陳列棚200の在庫状況Sを詳細に示す(例えば、在庫状況Sを陳列棚200における在庫または在庫切れの割合で示す)。他の例では、在庫状況Sは、単に陳列棚200の商品12が在庫有りSinか在庫切れSoutかを示すのみである。図4Aは、陳列棚200の在庫状況が在庫有りSinまたは在庫満杯Sfullの例である。というのは、画像310、310aには少なくとも1つの特徴部215がないからである。
【0025】
図4Bは、期間tのうちの第2の期間tにおける陳列棚200の画像310、310bを示す。画像310、310bに関連して、方法600は、商品列12、12d,f,gに関する種類の商品12が在庫切れSoutである旨を受信側(例えば、クライアント装置)に通知することを含む。方法600は、定量的な在庫情報(例えば、商品列12、12a~gの各々の在庫商品12または不足商品12の数量Qなど)を通知してもよい。例えば、第1の商品列12、12aでは、商品12は1つ在庫があり、3つ不足している。一方、第4の商品列12、12dでは、在庫がなく(例えば、在庫切れSout)、4つ不足している。
【0026】
図4Cは、期間tのうちの第3の期間tにおける陳列棚200の画像310、310cを示す。画像310、310cは画像310、310bとほぼ同じであるが、第4の商品列12、12dに商品12、12が誤って置かれているという点で異なる。方法600は、誤って置かれた商品12、12を特定することを含み、ある例では、商品12の実際の配置Pに関するプラノグラム適合結果620の注意喚起またはフィードバックを与えることを含む。
【0027】
図4Dは、第4の期間tにおける陳列棚200の画像310、310dを示す。画像310、310dは、第5の商品列12、12e以外のすべての商品列12、12a~gで在庫切れSoutであり、第5の商品列12、12eでは商品12の在庫が1つあり、3つ不足していることを示す。陳列棚200の商品12が在庫切れSoutである場合、方法600は、在庫状況Sをネットワーク150に通知するように構成されている。
【0028】
図5は、少なくとも1つの陳列棚200に対応する少なくとも1つの典型的な陳列棚200の例示的なプラノグラム500である。ある例では、例えば陳列棚200が2つ以上の陳列棚200、200a~eを含む場合、プラノグラム500は2つ以上の典型的な陳列棚200、200a~eを含む。プラノグラム500は、各典型的な陳列棚200上に、典型的な配置Pの少なくとも1つの典型的な商品12を示す。この典型的な配置Pは、陳列棚200上の商品12の実際の配置Pに対応するものである。例えば、典型的な陳列棚の前部の典型的な商品12は、数量Qを有する陳列棚200の商品列に対応する。ある例では、プラノグラム500は、典型的な陳列棚200を2次元的に示した正面図であり、典型的な商品12の数量Qをプラノグラム500内のメモとして示してもよい。追加的または代替的には、プラノグラム500は、図5に示す例のように、典型的な陳列棚200の斜視図である。斜視図の場合、典型的な商品12の数量Qは、典型的な商品12の奥行きによって視覚化され得る。
【0029】
図6Aおよび図6Bは、商品検出および/またはプラノグラム適合の方法600のための例示的な動作手順を示す。図4Aから図4Dに関連して説明したように、方法600は、商品12の実際の配置Pに関して商品または適合結果に関係する少なくとも定量的な在庫情報を提供することを含んでもよい。動作602で、方法600は、陳列棚200上の商品12の典型的な配置Pを規定するプラノグラム500と、撮像装置300からの少なくとも1つの画像310とを受信することを含む。方法600はさらに、動作604で、上記少なくとも1つの画像310に基づいて、商品12が陳列棚200に置かれているか否かを判定することを含む。商品12が陳列棚200に置かれている場合、方法600は動作610に進む。一方、商品12が陳列棚200に置かれていない場合、方法600は動作606に進む。
【0030】
動作606で、方法600は、商品12が陳列棚200にないと判定することを含む。方法600は、上記少なくとも1つの画像310において商品12が陳列棚200にないことを理由に商品12の在庫状況Sが在庫切れSoutであると判定することを含む。方法600は、動作608で、商品12の在庫状況Sが在庫切れSoutである旨をネットワーク150に通知することを含んでもよい。
【0031】
方法600は、動作610~618の実行を含んでもよい。動作610~618は、商品12が陳列棚200に置かれている場合に行なわれてもよい。商品12が陳列棚200に置かれている場合、方法600は、動作610で、陳列棚200上の商品12の実際の配置Pを判定することを含む。商品12が陳列棚200に置かれている場合、方法600は、商品12の在庫状況Sが在庫有りSinであると判定し、必要に応じて、その商品12の在庫状況Sをネットワーク150に通知することを含んでもよい。追加的または代替的には、方法600が商品12の実際の配置Pを判定した場合、方法600は、商品12の実際の配置Pをネットワーク150に通知することを含んでもよい。
【0032】
動作612で、方法600は、商品12の実際の配置Pを、プラノグラム500で規定される商品12の典型的な配置Pと比較することを含む。実際の配置Pが典型的な配置Pと同じであると方法600が判定すると、方法600は動作616に進んでもよい。一方、実際の配置Pが典型的な配置Pとは異なると方法600が判定すると、方法600は動作614に進んでもよい。
【0033】
動作614および616の双方において、方法600はプラノグラム適合結果620をネットワーク150に通知してもよい。動作614では、実際の配置Pが典型的な配置Pとは異なるので、方法600はプラノグラム適合結果620が不適合である旨をネットワーク150に通知する。動作616では、実際の配置Pが典型的な配置Pと同じであるので、方法600はプラノグラム適合結果620が適合である旨をネットワーク150に通知する。
【0034】
動作618で、方法600は、陳列棚200上の商品12の数量Qを判定することを含んでもよい。方法600が数量Qを判定した場合、方法600はその数量Qをネットワーク150に通知してもよい。動作618は、商品12が陳列棚200に置かれていると方法600が判定した後、任意の時点で行なわれてもよい。
【0035】
図6Bは、陳列棚200に置かれている商品12の実際の配置Pを判定するための方法600の例示的な動作手順を示す。動作610aで、方法600は、上記少なくとも1つの画像310内に撮影された陳列棚200の上面212の露出特徴部215の数量Qを判定することを含む。動作610bで、方法600は、上記少なくとも1つの画像310内に撮影された陳列棚200の上面212の露出特徴部215の対応位置を特定することを含む。動作610cで、方法600は、上記少なくとも1つの画像310から露出特徴部215のエッジEを検出することを含む。動作610dで、方法600は、露出特徴部215の検出されたエッジEに基づいて、露出特徴部215の近似物を判定することを含んでもよい。動作610eで、方法600は、露出特徴部215の近似物を特徴部パターン214と比較することを含んでもよい。露出特徴部215の近似物が特徴部パターン214の実際の特徴部215に対応している場合、方法600は動作610gに進んでもよい。
【0036】
方法600は、特徴部パターン214の実際の特徴部215に対応する露出特徴部215の近似物の各々について、露出特徴部215の数量Qのカウントをインクリメントすることを含んでもよい。追加的または代替的には、方法600は、特徴部パターン214の実際の特徴部215に対応する露出特徴部215の近似物の各々について、特徴部パターン214の実際の特徴部215の対応位置を特定することを含んでもよい。
【0037】
ある例では、方法600は、商品12が陳列棚200に置かれているか否か、および/または陳列棚200上の商品12の実際の配置Pを判定するための、棚スペース検出アルゴリズムを実行することを含む。棚スペース検出アルゴリズムを実行する場合、方法600は、特徴部パターン214の特徴部215、特徴部215の対応エッジ長さE、特徴部近似係数Aなどの入力、およびそれらの各入力についての対応許容差などを受信することを含んでもよい。方法600が各入力について許容差なしで実行する場合、方法600は、各入力についてのデフォルト許容差を受信することを含んでもよい。ある例では、方法600は、少なくとも1つの画像310を受信し、当該少なくとも1つの画像310をグレースケール画像に変換する。これにより、方法600のエッジ検出が単純化される。ある実現例では、方法600は、単純チェーン近似を用いて露出特徴部215のエッジEを検出することを含む。特徴部近似係数Aの入力がある場合、方法600は、検出判定によって得られたエッジEを閉特徴部に変換し、特徴部215と比較することを含んでもよい。
【0038】
追加的または代替的には、方法600は、入力された特徴部215よりもエッジEの数が多い、または少ない閉特徴部を排除することを含む。例えば、図2図4では特徴部215が3つのエッジを有する三角形であるので、方法600は、エッジE検出判定によって得られた閉特徴部のうちエッジ数が3つよりも多い、または少ない閉特徴部を排除することを含んでもよい。さらに、方法600が特徴部215の対応エッジ長さEなどの入力を受信することを含む場合、方法600は、各閉特徴部215に対応する面積を算出することを含んでもよい。各閉特徴部215の面積を用いて、方法600は、特徴部215の面積と相関関係のない面積で定義される閉特徴部215を排除することを含んでもよい。方法600の検出によって判定した外れ値の閉特徴部215を制限した後、方法600は、残りの閉特徴部を、特徴部パターン214の特徴部215または露出特徴部215の有効な検出とみなす1つまたは複数の動作を含んでもよい。
【0039】
ある実現例では、方法600は、当該方法600に関係する詳細事項を出力し、陳列棚環境100(例えば、コンピューティングデバイス130、サーバ160、またはリモートコンピュータ170)がその詳細事項にアクセスできるようにすることを含む。この詳細事項は、方法600の出力(例えば、商品12の実際の配置P、プラノグラム適合結果620、露出特徴部215の数量、商品12の在庫状況S、もしくは実際の特徴部215の位置など)、または方法600の入力(例えば、特徴部パターン214の特徴部215、特徴部215の対応エッジ長さE、特徴部近似係数A、もしくはそれらの各入力についての対応許容差など)を含み得る。方法600は、任意のデータシリアライゼーションフォーマット(例えば、JavaScript Object Notation(JSON)、Extensible Markup Language(XML)など)で詳細事項を出力することを含んでもよい。
【0040】
追加的または代替的には、方法600は、陳列棚環境100内の商品12について最適なプラノグラム500を生成することを含む。例えば、ユーザ10は、陳列棚環境100に関する棚ユニット情報を含む入力を与える。棚番号および棚の位置などの棚情報が与えられると、方法600は、プラノグラム優先順位に従って各陳列棚200をランク付けすることを含んでもよい。その場合、方法600は、期間tにわたって撮像装置300によって撮影された画像310(例えば、310、310a~d)内の商品12の実際の配置Pに基づいて、品切れ率を判定することを含んでもよい。対応する品切れ率に応じて、方法600は、陳列棚環境100内の各種類の商品12に対して重要度の順位を付与することを含んでもよい。例えば、方法600は、期間t中の品切れ率が高い第1の商品12に対して、期間t中の品切れ率が低い第2の商品よりも高い重要度の順位を付与することを含んでもよい(例えば、閾値品切れ率を基準とする)。各陳列棚200の重要度の順位およびプラノグラム優先順位を用いて、方法600は、各種類の商品12について最適なプラノグラム500を判定することを含み得る。
【0041】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを行なわせるコンピュータソフトウェアのことを指す場合がある。ある例では、ソフトウェアアプリケーションは「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる場合もある。アプリケーションの例として、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、文書処理アプリケーション、表計算アプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションが含まれるが、それらに限定されない。
【0042】
図7は、本明細書に記載のシステムおよび方法を実現するために使用可能な例示的なコンピューティングデバイス700を示す概略図である。コンピューティングデバイス700は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、PDA(Personal Digital Assistant)、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表わすように意図されている。図示された要素、それらの接続および関係並びにそれらの機能は、例示的なものに過ぎず、本明細書に記載および/または請求される発明の実施を限定するものではない。
【0043】
コンピューティングデバイス700は、プロセッサ710と、メモリ720と、記憶装置730と、メモリ720および高速拡張ポート750に接続する高速インターフェイス/コントローラ740と、低速バス770および記憶装置730に接続する低速インターフェイス/コントローラ760とを含む。要素710、720、730、740、750および760は、様々なバスを使用して相互に接続され、共通のマザーボード上に実装されてもよいし、または適切な他の方法で実装されてもよい。プロセッサ710は、命令(メモリ720または記憶装置730に格納された命令を含む)を処理してコンピューティングデバイス700内で実行し、外部の入出力装置(例えば、高速インターフェイス740に接続されたディスプレイ580)のグラフィカルユーザインターフェイス(GUI)にグラフィック情報を表示することができる。他の実現例では、複数のメモリおよび複数種類のメモリと共に複数のプロセッサおよび/または複数のバスを適宜使用することもできる。また、複数のコンピューティングデバイス700を互いに接続し、各デバイスが必要な動作の一部(例えば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステム)を提供するようにしてもよい。
【0044】
メモリ720は、情報をコンピューティングデバイス700に非一時的に格納する。メモリ720は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的なメモリ720は、コンピューティングデバイス700によって使用されるように、プログラム(例えば、一連の命令)またはデータ(例えば、プログラム状態情報)を一時的または永続的に格納するための物理デバイスであってもよい。不揮発性メモリの例として、フラッシュメモリおよび読取専用メモリ(ROM)/プログラマブル読取専用メモリ(PROM)/消去可能なプログラマブル読取専用メモリ(EPROM)/電子的に消去可能なプログラマブル読取専用メモリ(EEPROM)(例えば、起動プログラムなど、典型的にはファームウェアに使用される)が含まれるが、これらに限定されない。揮発性メモリの例として、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)およびディスクまたはテープが含まれるが、これらに限定されない。
【0045】
記憶装置730は、コンピューティングデバイス700に大容量の記憶を提供することができる。ある実現例では、記憶装置730は、コンピュータ可読媒体である。様々な実現例では、記憶装置730は、例えば、フロッピー(登録商標)ディスク装置、ハードディスク装置、光ディスク装置、もしくはテープ装置、またはフラッシュメモリもしくは他の同様の固体メモリデバイス、または多数の装置(記憶エリアネットワークまたは他の構成における装置を含む)であってもよい。さらなる実現例では、コンピュータプログラム製品は、情報キャリアに有形的に具現化される。コンピュータプログラム製品は、実行されると上述したような1つまたは複数の方法を実行する命令を含む。情報キャリアは、例えば、メモリ720、記憶装置730、またはプロセッサ710上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0046】
高速コントローラ740は、コンピューティングデバイス700の高帯域幅を要する動作を管理し、低速コントローラ760は、低帯域幅を要する動作を管理する。このような機能の割り当ては、例示に過ぎない。ある実現例では、高速コントローラ740は、メモリ720、ディスプレイ780(例えば、グラフィックプロセッサまたはアクセラレータを介する)、および高速拡張ポート750(様々な拡張カード(図示せず)を挿入可能である)に連結される。ある実現例では、低速コントローラ760は、記憶装置730および低速拡張ポート790に連結される。低速拡張ポート790は、様々な通信ポート(例えば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット)を含み得るものであるが、例えば、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入出力装置に連結されてもよく、または、例えばネットワークアダプタを介してスイッチまたはルータなどのネットワーキング装置に連結されてもよい。
【0047】
図示のように、コンピューティングデバイス700は、複数の異なる形態で実現されてもよい。例えば、コンピューティングデバイス700は、標準サーバ700aとして、もしくは一群のサーバ700aで複数回実現されてもよく、ラップトップコンピュータ700bとして実現されてもよく、またはラックサーバシステム700cの一部として実現されてもよい。
【0048】
本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子回路および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはそれらの組み合わせで実現することができる。これらの様々な実装は、プログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムによる実装を含み得る。このプログラマブルシステムは、記憶システムとの間でデータおよび命令を送受信するように連結された少なくとも1つの専用または汎用のプログラマブルプロセッサ、少なくとも1つの入力装置、および少なくとも1つの出力装置を含む。
【0049】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、高度な手続き型プログラミング言語および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ言語/機械言語で実装されてもよい。本明細書で使用される「機械可読媒体」および「コンピュータ可読媒体」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的なコンピュータ可読媒体、装置および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指すものであり、機械命令を機械可読信号として受信する機械可読媒体を含む。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指すものである。
【0050】
本明細書に記載のプロセスおよび論理フローは、1つまたは複数のプログラマブルプロセッサが1つまたは複数のコンピュータプログラムを実行し、入力データを処理して出力を生成することによって機能を実行することによって、行なわれてもよい。プロセスおよび論理フローは、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行なわれてもよい。コンピュータプログラムの実行に好適なプロセッサは、例えば、汎用マイクロプロセッサ、専用マイクロプロセッサ、およびあらゆる種類のデジタルコンピュータの1つまたは複数のプロセッサなどである。一般的に、プロセッサは、読取専用メモリもしくはランダムアクセスメモリ、またはその両方から、命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための1つまたは複数のメモリデバイスである。一般的に、コンピュータは、データを格納するための1つまたは複数の大容量記憶装置(例えば、磁気ディスク、光磁気ディスク、または光ディスク)を含むか、またはデータを送受信するように動作可能にそのような大容量記憶装置に結合される。しかしながら、コンピュータは、このような装置を備えなくてもよい。コンピュータプログラム命令およびデータの格納に好適なコンピュータ可読媒体は、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。例えば、半導体メモリデバイス(例えば、EPROM、EEPROM、およびフラッシュメモリデバイスなど)、磁気ディスク(例えば、内蔵ハードディスク、またはリムーバブルディスクなど)、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクなどが含まれる。プロセッサおよびメモリは、専用論理回路で補足されてもよく、または専用論理回路に組み込んでもよい。
【0051】
ユーザとの対話を可能にするために、本開示の1つまたは複数の態様を実現するコンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(ブラウン管)モニタ、LCD(液晶ディスプレイ)モニタ、またはタッチ画面など)、および、必要に応じて、ユーザがコンピュータに入力を与えるために用いるキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)を含んでもよい。ユーザとの対話を可能にするために他の種類の装置を用いてもよい。例えば、ユーザに与えるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、ユーザから受け付ける入力は、任意の形態(例えば、音響入力、音声入力、または触覚入力)であってもよい。さらに、コンピュータは、ユーザが使用しているデバイスとの間で文書を送受信することによって、ユーザと対話することができる。例えば、コンピュータは、ユーザのクライアント装置上のウェブブラウザから受信した要求に応答して、そのウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0052】
いくつかの実現例を説明したが、本開示の精神および範囲から逸脱することなく、様々な変更が可能であることが理解されるであろう。よって、以下の特許請求の範囲には他の実現例も含まれる。
図1
図2
図3A
図3B
図4A
図4B
図4C
図4D
図5
図6A
図6B
図7