以下、本発明の実施の形態に係る制御装置および当該制御装置を備えた庫内撮影システムについて、添付図面を参照しながら説明する。本実施の形態に係る制御装置は、物品保管庫である冷蔵庫の庫内を照明する光源を光源制御情報に基づいて点灯させる点灯装置と、庫内を撮影する撮像装置と、庫内において撮像装置を移動制御情報に基づいて移動させる移動装置と、を制御する。制御装置は、開閉判定部と移動制御部と光源制御部とを備える。開閉判定部は、冷蔵庫の扉が開状態または閉状態のいずれであるかを判定する。移動制御部は、撮像装置を庫内における予め設定された複数の位置のうちのいずれか1つに移動させるための移動制御情報を生成して移動装置へ出力する。光源制御部は、開閉判定部により冷蔵庫の扉が開状態であると判定されると、光源の発光強度を予め設定された最大発光強度にして光源を点灯させるための光源制御情報を生成して点灯装置へ出力する。一方、光源制御部は、開閉判定部により冷蔵庫の扉が閉状態であると判定されると、光源の発光強度を撮像装置の位置に応じた発光強度にして光源を点灯させるための光源制御情報を生成して点灯装置へ出力する。
図1に示すように、本実施の形態に係る庫内画像閲覧システム100は、本実施の形態に係る庫内撮影システム2を有する冷蔵庫1と、ルータ3と、サーバ5と、端末装置4と、を備える。庫内撮影システム2は、ルータ3およびネットワークNTを介して、サーバ5と通信可能となっている。また、サーバ5は、ネットワークNTを介して端末装置4と通信可能となっている。ここで、ネットワークNTは、例えば公衆回線を用いた広域ネットワークである。ルータ3は、例えば無線LAN(Local Area Network)ルータであり、庫内撮影システム2との間で無線LAN規格またはBluetooth(登録商標)規格に適合した通信方式で通信する。
冷蔵庫1は、例えば図2に示すように、前面が開放された矩形箱状であり、内側に食品を含む物品を冷蔵する冷蔵室30、物品を冷凍する冷凍室(図示せず)および野菜室(図示せず)を有する本体1aを備える。ここで、冷蔵室30、冷凍室(図示せず)および野菜室(図示せず)が、冷蔵庫1の庫内に相当する。また、冷蔵庫1は、本体1aの冷蔵室30に対応する開放部分を覆う2つの扉31、32と、本体1aの冷凍室に対応する部分に据え付けられた引き出し35と、本体1aの野菜室に対応する部分に据え付けられた引き出し36と、を備える。本体1aの冷蔵室30の内側には、物品が載置される棚33、34が設けられ、本体1aにおける冷蔵室30の前面側には、2つの扉31、32が設けられている。また、冷蔵庫1は、図示しない圧縮機、蒸発器、循環ファン、温度センサ、ブザー等を備え、庫内の物品を冷却する。なお、図2に示す例では、本体1aの冷蔵室30に2つの棚33、34が設けられているが、棚の数は1つでもよいし或いは3つ以上でもよい。また、本体1aにおける冷蔵室30の前面側に設けられた扉の数は、2つに限定されるものではなく1つであってもよい。
また、冷蔵庫1は、開閉センサ23と光源24と点灯装置26と撮像装置22と移動装置25と制御装置21とを備える。開閉センサ23は、扉31、32それぞれの開閉状態を検知するためのセンサであり、本体1aの冷蔵室30に対応する開放部分における上端部の2箇所に設けられている。開閉センサ23としては、例えば磁気センサまたは赤外線センサを採用することができる。開閉センサ23は、扉31、32が開状態になると開検知信号を出力する。なお、開閉センサ23の位置は、本体1aの冷蔵室30に対応する開放部分における上端部の2箇所に限定されるものではない。
光源24は、本体1aの冷蔵室30の天井部分に配設されている。光源24としては、例えばLED(Light Emitting Diode)素子または有機EL素子を利用した光源或いは蛍光灯または白熱灯を採用することができる。点灯装置26は、制御装置21から入力される光源制御信号に基づいて、冷蔵室30に保管された物品の識別が可能な程度の予め設定された複数種類の発光強度で光源24を点灯させる。点灯装置26は、例えば昇降圧チョッパ回路を有し、光源制御信号の信号電圧に応じて光源24を調光する。また、点灯装置26は、制御装置21から入力される光源制御信号に基づいて、光源24を消灯させる。
撮像装置22は、例えばCCDカメラであり、制御装置21から入力される制御信号に基づいて、冷蔵室30内を撮影する。撮像装置22は、扉31が閉じられた状態で、図2における左右方向の中央部から冷蔵室30内を撮影する。また、撮像装置22は、冷蔵室30内を撮影する際、撮影画像に対応する画像信号を制御装置21へ出力する。移動装置25は、図2における左側の扉31の先端部に設けられ、撮像装置22を鉛直方向へ移動させる。移動装置25は、例えば撮像装置22を保持するスライド体(図示せず)と、扉31の先端部に沿って配置された長尺のボール螺子(図示せず)と、ボール螺子をその長手方向に沿った中心軸周りに回転させるモータ2501と、を有する。移動装置25は、モータ2501によってボール螺子を回転させることにより、スライド体に保持された撮像装置22を昇降させる。なお、撮像装置22および移動装置25の位置は、図2における左側の扉31の先端部に限定されるものではなく、例えば図2における右側の扉32或いは冷蔵室30内の必要な範囲を撮影できる他の位置であってもよい。
制御装置21は、冷蔵室30の上方に配置されている。なお、制御装置21の位置は、冷蔵室30の上方に限定されるものではなく他の位置であってもよい。制御装置21は、図3に示すように、CPU(Central Processing Unit)201と主記憶部202と補助記憶部203と無線モジュール204と、センサインタフェース(以下、「I/F」と称する。)251と撮像装置I/F252と移動装置I/F253と光源I/F254とこれらを相互に接続するバス209とを備える。主記憶部202は、揮発性メモリであり、CPU201の作業領域として用いられる。補助記憶部203は、磁気ディスク、半導体フラッシュメモリ等の不揮発性メモリであり、制御装置21の各種機能を実現するためのプログラムを記憶する。無線モジュール204は、ルータ3を介してネットワークNTに接続されている。無線モジュール204は、無線LAN規格(例えばIEEE802.11b/g/n)に適合した通信方式でルータ3と通信する。
センサI/F251は、開閉センサ23に接続され、開閉センサ23から開検知信号が入力されている間、開検知情報をCPU201へ繰り返し出力する。撮像装置I/F252は、撮像装置22に接続され、CPU201から撮像装置22に冷蔵室30内の撮影を指令するための撮影指令情報が入力されると、撮像装置22に冷蔵室30内の撮影をさせるための制御信号を生成して撮像装置22へ出力する。また、撮像装置I/F252は、撮像装置22から前述の画像信号が入力されると、入力された画像信号に対応する画像情報を生成する。更に、撮像装置I/F252は、例えばDMA(Direct Memory Access)コントローラを有し、生成した画像情報を補助記憶部203へDMA転送する。
移動装置I/F253は、移動装置25が有するモータ2501を駆動するドライバ2502に接続されている。移動装置I/F253は、CPU201から撮像装置22を移動させるためにモータ2501を駆動するための移動制御情報が入力されると、入力された移動制御情報に応じた期間だけ制御信号をドライバ2502へ出力し続ける。光源I/F254は、点灯装置26に接続され、光源制御信号を点灯装置26へ出力することにより光源24を点灯させる。光源I/F254は、CPU201から入力される光源制御情報に基づいて、対応する光源制御信号を生成して点灯装置26へ出力する。
CPU201は、補助記憶部203が記憶するプログラムを主記憶部202に読み出して実行することにより、開閉判定部211、光源制御部212、移動制御部213、撮影制御部214および転送部215として機能する。なお、CPU201は、更に、扉31、32が開状態で維持されている時間に相当する開時間を計測する開時間計測部(図示せず)と、開時間が予め設定された基準時間以上であるか否かを判定する開時間判定部(図示せず)と、開時間判定部により開時間が基準時間以上であると判定されるとブザーを鳴動させる報知部(図示せず)としても機能する。また、補助記憶部203は、画像記憶部231と発光強度記憶部232と撮像位置記憶部233とを有する。画像記憶部231は、撮像装置22により撮影された画像を示す画像情報を記憶する。更に、主記憶部202は、画像記憶部231が記憶する画像情報のサーバ5への転送が完了したか否かを示す完了フラグ情報を記憶する。この完了フラグ情報は、「OFF」状態の場合、画像情報のサーバ5への転送が完了していないことを示し、「ON」状態の場合、画像情報のサーバ5への転送が完了していることを示す。
発光強度記憶部232は、例えば図4に示すように、光源24の発光強度を示す発光強度情報を、撮像装置22の位置を示す撮像位置情報に対応づけて記憶する。ここで、例えば図5(A)に示すように、光源24が冷蔵室30の上部に設けられている場合、位置Pos1が最も光源24に近く、位置Pos3が最も光源24から遠くなる。また、位置Pos1は、棚33と冷蔵室30の天井との間の鉛直方向における中間位置C1よりも上方に位置する。位置Pos2は、棚33と棚34の間の鉛直方向における中間位置C2よりも上方に位置する。位置Pos3は、棚34と冷蔵室30の底との間の鉛直方向における中間位置C3よりも上方に位置する。そして、図5(B)に示すように、撮像装置22は、各位置Pos1、Pos2、Pos3において、棚33、34または冷蔵室30の底に載置された物品を上方から見下ろすように俯角を持って撮像する(図5(B)中の領域A1、A2、A3参照)。発光強度情報は、光源24と撮像装置22との間の距離が大きいほど、光源24の発光強度が大きくなるように設定されている。例えば図4に示すように、発光強度情報LU[1]、LU[2]、LU[3]が、それぞれ位置Pos1、Pos2、Pos3の撮像位置情報に対応付けられているとする。この場合、発光強度情報LU[1]が示す発光強度が最も小さく、発光強度情報LU[3]が示す発光強度が最も大きい。そして、発光強度情報LU[2]が示す発光強度は、発光強度情報LU[1]が示す発光強度よりも大きく、発光強度情報LU[3]が示す発光強度よりも小さく設定されている。撮像位置記憶部233は、例えば撮像装置22を初期位置から位置Pos1、Pos2、Pos3それぞれへ移動させる際のモータ2501の回転数を、撮像位置情報に対応づけて記憶している。
図3に戻って、開閉判定部211は、センサI/F251からの開検知情報の入力有無に基づいて、冷蔵庫1の扉31、32が開状態または閉状態のいずれであるかを判定する。開閉判定部211は、センサI/F251から開検知情報が入力されている間、扉31、32が開状態であると判定し、センサI/F251から開検知情報が入力されなくなると、扉31、32が開状態であると判定する。
移動制御部213は、撮像装置22を冷蔵室30における予め設定された3つの位置Pos1、Pos2、Pos3のうちのいずれか1つに移動させるための移動制御情報を生成して移動装置25へ出力する。ここで、移動制御部213は、撮像装置22を最初に位置Pos1へ移動させてから位置Pos2、Pos3の順に撮像装置22を移動させるものであってもよいし、最初に位置Pos3へ移動させてから位置Pos2、Pos1の順に撮像装置22を移動させるものであってもよい。また、移動制御部213は、撮像装置22の位置Pos1、Pos2、Pos3への移動が完了すると、その旨を通知する移動完了通知を撮影制御部214へ通知する。
撮影制御部214は、移動制御部213から前述の移動完了通知が通知されると、前述の撮影指令情報を生成して撮像装置I/F252へ出力する。
光源制御部212は、開閉判定部211により扉31、32が開状態であると判定されると、光源24の発光強度を予め設定された最大発光強度にして光源24を点灯させるための光源制御情報を生成して光源I/F254へ出力する。一方、光源制御部212は、開閉判定部211により扉31、32が閉状態であると判定されると、光源24の発光強度を撮像装置22の位置Pos1、Pos2、Pos3に応じた発光強度にして光源24を点灯させるための光源制御情報を生成して光源I/F254へ出力する。更に、光源制御部212は、光源24を消灯させる場合、光源24を消灯させるための光源制御情報を生成して光源I/F254へ出力する。また、光源制御部212は、開閉判定部211により扉31、32が閉状態であると判定されると、光源24と撮像装置22との間の距離が大きいほど、光源24の発光強度が大きくなるように光源制御情報を生成する。具体的には、光源制御部212は、例えば図4に示すように、位置Pos1、Pos2、Pos3に対応づけられ、光源24と撮像装置22との間の距離が大きいほど発光強度が大きくなるように設定された発光強度情報に基づいて、光源制御情報を生成する。
図3に戻って、転送部215は、画像記憶部231が記憶する画像情報を、無線モジュール204、ルータ3およびネットワークNTを介してサーバ5へ転送する。
図6(A)に示すように、サーバ5は、CPU501と主記憶部502と補助記憶部503と通信部504とこれらを相互に接続するバス509と、を有する。主記憶部502は、主記憶部202と同様に、揮発性メモリであり、補助記憶部503は、補助記憶部203と同様に、不揮発性メモリであり、サーバ5の各種機能を実現するためのプログラムを記憶する。通信部504は、無線モジュールまたは有線通信インタフェースであり、ネットワークNTを介して、庫内撮影システム2との間で通信する。
CPU501は、補助記憶部503が記憶するプログラムを主記憶部502に読み出して実行することにより、画像取得部511、状態判定部512、画像送信部513および認証部514として機能する。補助記憶部503は、庫内撮影システム2から受信した画像情報を記憶する画像記憶部531と、端末装置4の認証情報を記憶する認証情報記憶部532と、を有する。ここで、認証情報は、例えば端末装置4に固有の識別情報、端末装置4の利用者に付与されたパスワードを示すパスワード情報等を含む。
画像取得部511は、庫内撮影システム2から送信される冷蔵庫1の冷蔵室30内を撮影して得られる画像を示す画像情報を取得し、取得した画像情報を画像記憶部531に記憶させる。状態判定部512は、CPU501の負荷量を示す負荷量情報を取得し、取得した負荷量情報が示す負荷量が予め設定された基準負荷量以下であるか否かを判定する。また、状態判定部512は、画像記憶部531の空き容量を示す空き容量情報を取得し、取得した空き容量情報が示す空き容量が予め設定された基準空き容量以上であるか否かを判定する。
画像送信部513は、サーバ5に対して画像情報の送信を要求する画像送信要求情報に含まれる端末装置4の識別情報に基づいて、画像記憶部531が記憶する画像情報の中から画像送信要求情報の送信元の端末装置4に対応する画像情報を取得する。そして、画像送信部513は、取得した画像情報を、前述の画像送信要求情報の送信元の端末装置4へ送信する。認証部514は、画像送信要求情報を受信すると、認証情報記憶部532が記憶する認証情報を参照して、受信した画像送信要求情報に含まれる端末装置4の識別情報、パスワード情報等に基づいて、端末装置4について認証処理を実行する。
図6(B)に示すように、端末装置4は、例えば携帯端末であり、CPU401と主記憶部402と補助記憶部403と通信部404と表示部405と入力部406とこれらを相互に接続するバス409とを有する。主記憶部402は、主記憶部202と同様に、揮発性メモリであり、補助記憶部403は、補助記憶部203と同様に、不揮発性メモリであり、端末装置4の各種機能を実現するためのプログラムを記憶する。通信部404は、無線モジュールまたは有線通信インタフェースであり、ネットワークNTを介して、サーバ5との間で通信する。表示部405は、液晶ディスプレイのような表示装置とインタフェースとを有し、CPU401から入力される情報を表示する。入力部406は、例えばタッチパネルとインタフェースとを有し、端末装置4の利用者による操作に応じた操作情報をCPU401へ出力する。
CPU401は、補助記憶部403が記憶するプログラムを主記憶部402に読み出して実行することにより、操作受付部411、画像取得部412および表示制御部413として機能する。補助記憶部403は、サーバ5から受信した画像情報を記憶する画像記憶部431を有する。
操作受付部411は、端末装置4の利用者が入力部406を操作すると、その操作内容に応じた操作情報を受け付ける。画像取得部412は、サーバ5に対して画像情報の送信を要求する画像送信要求情報を生成してサーバ5へ送信することによりサーバ5から画像情報を取得し、取得した画像情報を画像記憶部431に記憶させる。ここで、画像送信要求情報には、前述のように端末装置4の識別情報、パスワード情報等が含まれる。端末装置4の表示制御部413は、操作受付部411が受け付けた操作情報に基づいて、画像記憶部431が記憶する画像情報を取得して表示部405へ出力する。
次に、本実施の形態に係る庫内画像閲覧システム100の動作について図7および図8を参照しながら説明する。まず、図7に示すように、庫内撮影システム2は、冷蔵庫1の扉31、32が閉状態であると判定すると(ステップS1)、光源24の発光強度を撮像装置22の位置(例えば位置Pos1)に対応する発光強度に設定して点灯させる(ステップS2)。次に、庫内撮影システム2は、撮像装置22を位置(例えば位置Pos1)へ移動させる(ステップS3)。続いて、庫内撮影システム2は、撮像装置22が撮像位置に移動した後、冷蔵室30内の撮影を実行する(ステップS4)。その後、庫内撮影システム2は、撮影して得られた画像を示す画像情報を画像記憶部231に記憶させる(ステップS5)。そして、庫内撮影システム2は、冷蔵庫1の扉31、32が閉状態であると判定される限り、冷蔵室30内における予め設定された複数の位置Pos1、Pos2、Pos3それぞれに撮像装置22を移動させた状態での撮影が全て完了するまでステップS2からS5までの処理を繰り返し実行する。
そして、庫内撮影システム2は、冷蔵室30内の撮影が完了したと判定したとする(ステップS6)。ここで、庫内撮影システム2は、冷蔵室30内における予め設定された複数の位置Pos1、Pos2、Pos3それぞれに撮像装置22を移動させた状態での撮影が全て完了したときに冷蔵室30内の撮影が完了したと判定する。この場合、サーバ5に対して画像情報の転送の許可を要求する転送許可要求情報が、庫内撮影システム2からサーバ5へ送信される(ステップS7)。
一方、サーバ5は、転送許可要求情報を受信すると、画像記憶部531の空き容量を示す空き容量情報とCPU501の負荷量を示す負荷量情報とを取得する(ステップS8)。ここで、サーバ5は、画像記憶部531の空き容量が予め設定された基準容量以上であり、CPU501の負荷量が予め設定された基準負荷量以下であると判定したとする(ステップS9)。この場合、庫内撮影システム2に対して画像情報の転送の許可を通知する転送許可情報が、サーバ5から庫内撮影システム2へ送信される(ステップS10)。そして、庫内撮影システム2が転送許可情報を受信すると、画像情報が、庫内撮影システム2からサーバ5へ転送される(ステップS11)。一方、サーバ5は、画像情報を受信すると、受信した画像情報を画像記憶部531に記憶させる(ステップS12)。
その後、利用者が端末装置4の入力部406を介して表示部405に冷蔵室30内の画像を表示させるための操作を行ったとする。この場合、端末装置4は、利用者が入力部406に対して行った操作に対応する操作情報を受け付ける(ステップS13)。そうすると、図8に示すように、サーバ5に対して画像情報の送信を要求する画像送信要求情報が、端末装置4からサーバ5へ送信される(ステップS14)。一方、サーバ5は、画像送信要求情報を受信すると、認証情報記憶部532が記憶する認証情報を参照して、受信した画像送信要求情報に含まれる端末装置4の識別情報、パスワード情報等に基づいて、端末装置4について認証処理を実行する(ステップS15)。そして、サーバ5は、認証処理が成功すると、画像情報の端末装置4への送信を許可すると判定する(ステップS16)。この場合、サーバ5において端末装置4の識別情報に基づいて画像記憶部531から選出された画像情報が、サーバ5から画像送信要求情報の送信元の端末装置4へ送信される(ステップS17)。一方、端末装置4は、画像情報を受信すると、受信した画像情報が示す冷蔵室30内の画像を表示部405に表示させる(ステップS18)。
次に、本実施の形態に係る制御装置21が実行する庫内撮影処理について図9を参照しながら説明する。この庫内撮影処理は、例えば制御装置21を含む庫内撮影システム2を備える冷蔵庫1へ電源が投入されたことを契機として開始される。また、主記憶部202が記憶する冷蔵室30内の撮影が完了しているか否かを示す完了フラグ情報は、「OFF」状態に設定されているものとする。まず、開閉判定部211は、冷蔵庫1の扉31、32が閉状態であるか否かを判定する(ステップS101)。開閉判定部211により扉31、32が開状態と判定される限り(ステップS101:No)、ステップS101の処理が繰り返し実行される。
一方、開閉判定部211が、扉31、32が閉状態であると判定すると(ステップS101:Yes)、光源制御部212が、冷蔵室30内における予め設定された複数の位置Pos1、Pos2、Pos3それぞれに撮像装置22を移動させた状態での撮影が全て完了して冷蔵室30内の撮影が完了したか否かを判定する(ステップS102)。光源制御部212は、冷蔵室30内の撮影が未だ完了していないと判定すると(ステップS102:No)、光源24の発光強度を未だ撮影を実行していない撮像装置22の位置に対応する発光強度に設定するための光源制御情報を生成して光源I/F254へ出力する(ステップS103)。このとき、光源I/F254は、光源制御情報に対応する光源制御信号を点灯装置26へ出力し、点灯装置26は、光源制御信号に基づいて設定された発光強度で光源24を点灯させる。
次に、移動制御部213は、撮像装置22を未だ撮影を実行していない位置へ移動させるための移動制御情報を生成して移動装置I/F253へ出力する(ステップS104)。このとき、移動装置I/F253は、移動制御情報に対応する移動制御信号を生成して移動装置25へ出力し、移動装置25は、入力される移動制御信号に基づいて、撮像装置22を移動させる。ここで、移動制御部213は、撮像装置22の移動が完了すると移動完了通知を撮影制御部214へ通知する。
続いて、撮影制御部214は、移動制御部213から移動完了通知が通知されると、前述の撮影指令情報を生成して撮像装置I/F252へ出力する(ステップS105)。このとき、撮像装置I/F252は、撮影指令情報が入力されると撮像装置22に冷蔵室30内の撮影をさせるための制御信号を生成して撮像装置22へ出力し、撮像装置22は、制御信号が入力されると冷蔵室30内の撮影を実行する。撮像装置22は、撮影した画像を示す画像信号を撮像装置I/F252へ出力し、撮像装置I/F252は、入力された画像信号に対応する画像情報を生成して画像記憶部231へ転送する。そして、画像記憶部231が、撮像装置I/F252から転送された画像情報を記憶する(ステップS106)。その後、後述のステップS109の処理が実行される。なお、画像記憶部231がステップS106において画像情報を記憶するのと同時に、開閉判定部211が後述のステップS109の処理を実行してもよい。この場合、後述のステップS109において、開閉判定部211により扉31、32が閉状態であると判定されてから(ステップS109:No)、再び前述のステップS101からステップS103を経て、前述のステップS104の処理が実行されるまでの時間が、CPU201の処理能力が高いほど短くなる。例えばCPU201の動作周波数が高ければ、撮像装置22が移動を停止することなく、冷蔵室30内の撮影を完了することができる。
また、光源制御部212は、ステップS102の処理において、冷蔵室30内の撮影が完了していると判定すると(ステップS102:Yes)、光源24を消灯させるための光源制御情報を生成して光源I/F254へ出力する(ステップS107)。このとき、光源I/F254は、光源制御情報を受けて点灯装置26への光源制御信号の出力を停止し、点灯装置26が光源24を消灯させる。次に、画像転送処理が実行される(ステップS108)。
この画像転送処理では、例えば図10に示すように、まず、転送部215が、主記憶部202が記憶する完了フラグ情報が「OFF」状態に設定されているか否かを判定する(ステップS201)。転送部215により完了フラグ情報が「ON」状態に設定されていると判定されると(ステップS201:No)、そのまま後述するステップS109の処理が実行される。
一方、転送部215は、完了フラグ情報が「OFF」状態に設定されていると判定すると(ステップS201:Yes)、転送許可要求情報を生成してサーバ5へ送信する(ステップS202)。次に、転送部215は、サーバ5から転送許可情報を受信したか否かを判定する(ステップS203)。転送部215は、サーバ5から転送許可情報を受信したと判定すると(ステップS203:Yes)、画像記憶部231が記憶する画像情報をサーバ5へ転送する(ステップS204)。続いて、転送部215は、完了フラグ情報を「ON」状態に設定し(ステップS205)、後述するステップS109の処理が実行される。
一方、転送部215は、サーバ5から転送許可情報を受信していないと判定すると(ステップS203:No)、予め設定された転送待機基準時間が経過したか否かを判定する(ステップS206)。転送部215により転送待機基準時間が経過していないと判定されると(ステップS206:No)、そのまま後述するステップS109の処理が実行される。一方、転送部215は、転送待機基準時間が経過したと判定すると(ステップS206:Yes)、完了フラグ情報を「ON」状態に設定する。
図9に戻って、その後、開閉判定部211は、冷蔵庫1の扉31、32が開状態であるか否かを判定する(ステップS109)。開閉判定部211により扉31、32が閉状態であると判定されると(ステップS109:No)、再びステップS101の処理が実行される。一方、開閉判定部211が、扉31、32が開状態であると判定すると(ステップS109:Yes)、撮影制御部214は、撮影停止指令情報を生成して撮像装置I/F252へ出力する(ステップS110)。このとき、撮像装置I/F252は、撮影停止指令情報が入力されると撮像装置22に撮影を停止させるための制御信号を生成して撮像装置22へ出力し、撮像装置22は、制御信号が入力されると撮影を停止する。
次に、転送部215は、主記憶部202が記憶する完了フラグ情報を「OFF」状態に設定する(ステップS111)。続いて、光源制御部212は、光源24を最大発光強度で発光させるための光源制御情報を生成して光源I/F254へ出力する(ステップS112)。このとき、光源I/F254は、光源制御情報に対応する光源制御信号を点灯装置26へ出力し、点灯装置26は、光源制御信号に基づいて最大発光強度で光源24を点灯させる。その後、再びステップS101の処理が実行される。
次に、本実施の形態に係るサーバ5が実行するサーバ制御処理について図11を参照しながら説明する。このサーバ制御処理は、例えばサーバ5へ電源が投入されたことを契機として開始される。まず、状態判定部512は、庫内撮影システム2から画像情報の転送の許可を要求する転送許可要求情報を受信したか否かを判定する(ステップS301)。状態判定部512は、転送許可要求情報を受信していないと判定すると(ステップS301:No)、後述するステップS306の処理を実行する。
一方、状態判定部512は、転送許可要求情報を受信したと判定すると(ステップS301:Yes)、画像記憶部531の空き容量を示す空き容量情報およびCPU501の負荷量を示す負荷量情報を取得する(ステップS302)。次に、状態判定部512は、取得した負荷量情報が示す負荷量が前述の基準負荷量以下であり且つ取得した空き容量情報が示す空き容量が前述の基準空き容量以上であるか否かを判定する(ステップS303)。状態判定部512によりCPU501の負荷量が基準負荷量を超えている或いは画像記憶部531の空き容量が基準空き容量未満であると判定されると(ステップS303:No)、後述するステップS306の処理が実行される。
一方、状態判定部512が、CPU501の負荷量が基準負荷量以下であり且つ画像記憶部531の空き容量が基準空き容量以上であると判定すると(ステップS303:Yes)、画像取得部511は、転送許可情報を生成して庫内撮影システム2へ送信する(ステップS304)。続いて、画像取得部511は、庫内撮影システム2から画像情報を受信し、受信した画像情報を画像記憶部531に記憶させる(ステップS305)。
その後、認証部514は、端末装置4から画像情報の送信を要求する画像送信要求情報を受信したか否かを判定する(ステップS306)。認証部514により画像送信要求情報を受信していないと判定されると(ステップS306:No)、再びステップS301の処理が実行される。一方、認証部514は、端末装置4から画像送信要求情報を受信したと判定したとする(ステップS306:Yes)。この場合、認証部514は、認証情報記憶部532が記憶する認証情報を参照して、受信した画像送信要求情報に含まれる端末装置4の識別情報、パスワード情報等に基づいて、端末装置4について認証処理を実行する(ステップS307)。次に、認証部514が、認証処理に失敗し、画像情報の端末装置4への送信を許可しないと判定すると(ステップS308:No)、再びステップS301の処理が実行される。一方、認証部514が、認証処理に成功し、画像情報の端末装置4への送信を許可すると判定したとする(ステップS308:Yes)。この場合、画像送信部513は、画像送信要求情報の送信元の端末装置4の識別情報に基づいて、画像記憶部531から画像情報を選出し、選出した画像情報を、画像送信要求情報の送信元の端末装置4へ送信する(ステップS309)。その後、再びステップS301の処理が実行される。
次に、本実施の形態に係る端末装置4が実行する画像閲覧処理について図12を参照しながら説明する。この画像閲覧処理は、例えば端末装置4へ電源が投入された後、端末装置4において冷蔵庫1の冷蔵室30内の画像を閲覧するためのプログラムが起動されたことを契機として開始される。まず、操作受付部411は、表示部405に冷蔵室30内の画像を表示させるための操作に対応する操作情報を受け付けたか否かを判定する(ステップS401)。例えば端末装置4の利用者が、端末装置4の入力部406を介して表示部405に冷蔵室30内の画像を表示させるための操作を行うと、操作受付部411が前述の操作情報を受け付ける。操作受付部411は、前述の操作情報を受け付けない限り(ステップS401:No)、ステップS401の処理を繰り返し実行する。
一方、操作受付部411が、前述の操作情報を受け付けたと判定すると(ステップS401:Yes)、画像取得部412は、サーバ5からの画像情報の送信を要求する画像送信要求情報をサーバ5へ送信する(ステップS402)。次に、画像取得部412は、画像送信要求情報を送信した後、画像情報を受信したか否かを判定する(ステップS403)。画像取得部412が、画像送信要求情報を送信した後、予め設定された画像情報受信待機期間内に画像情報を受信しない場合(ステップS403:No)、再びステップS401の処理が実行される。
一方、画像取得部412が、画像情報を受信した場合(ステップS403:Yes)、受信した画像情報を画像記憶部431に記憶させる。そして、表示制御部413は、画像記憶部431から画像取得部412により取得された画像情報が示す冷蔵室30内の画像を表示部405に表示させる(ステップS404)。その後、再びステップS401の処理が実行される。
以上説明したように、本実施の形態に係る庫内撮影システム2によれば、光源制御部212が、開閉判定部211により冷蔵庫1の扉31、32が開状態であると判定されると、光源24の発光強度を最大発光強度にして光源24を点灯させるための光源制御情報を生成して光源I/F254へ出力する。一方、光源制御部212は、開閉判定部211により扉31、32が閉状態であると判定されると、光源24の発光強度を撮像装置22の位置Pos1、Pos2、Pos3に応じた発光強度にして光源24を点灯させるための光源制御情報を生成して光源I/F254へ出力する。これにより、冷蔵庫1の冷蔵室30内における撮像装置22の位置Pos1、Pos2、Pos3の違いによる撮影対象である物品の明るさのバラツキが抑制されるので、撮像装置22によって撮影されることにより得られた冷蔵室30内の撮影画像の視認性を向上させることができる。
以上、本発明の各実施の形態について説明したが、本発明は前述の各実施の形態によって限定されるものではない。例えば、光源制御部212が、開閉判定部211により冷蔵庫1の扉31、32が閉状態であると判定されると、撮像装置22により撮影して得られる画像の平均輝度が予め設定された基準輝度以上となるように光源制御情報を生成するものであってもよい。例えば図13に示すように、本変形例に係る制御装置2021では、CPU201が、補助記憶部203が記憶するプログラムを主記憶部202に読み出して実行することにより、開閉判定部211、光源制御部212、移動制御部213、撮影制御部214、転送部215、画像取得部2216および輝度算出部2217として機能する。なお、図13において実施の形態と同様の構成については図3と同一の符号を付している。
画像取得部2216は、画像記憶部231が記憶する、撮像装置22により撮影された画像を示す画像情報を取得する。輝度算出部2217は、画像取得部2216により取得された画像情報が示す画像全体における平均輝度を算出する。
光源制御部212は、輝度算出部2217により算出された平均輝度が予め設定された基準輝度以上であるか否かを判定する。そして、光源制御部212は、平均輝度が基準輝度未満の場合、平均輝度が予め設定された基準輝度以上となるように光源制御情報を生成して光源I/F254へ出力する。
次に、本変形例に係る制御装置2021が実行する庫内撮影処理について図14を参照しながら説明する。なお、図14において、実施の形態に係る庫内撮影処理と同様の処理については、図9と同一の符号を付している。ステップS101からS104までの処理が実行された後、撮影制御部214が、前述の撮影指令情報を生成して撮像装置I/F252へ出力する(ステップS105)。このとき、実施の形態で説明したように、撮像装置22が、冷蔵室30内の撮影を実行し、撮像装置22により撮影して得られた画像を示す画像情報が、画像記憶部231へ転送され、画像記憶部231が、転送された画像情報を記憶する。
次に、画像取得部2216が、画像記憶部231が記憶する画像情報を取得し、輝度算出部2217が、画像取得部2216により取得された画像情報が示す画像全体における平均輝度を算出する(ステップS501)。
続いて、光源制御部212は、輝度算出部2217により算出された平均輝度が予め設定された基準輝度以上であるか否かを判定する(ステップS502)。ここで、光源制御部212により前述の平均輝度が基準輝度以上であると判定されると(ステップS502:Yes)、そのままステップS106以降の処理が実行される。
一方、光源制御部212は、平均輝度が基準輝度未満と判定すると(ステップS502:No)、平均輝度が予め設定された基準輝度以上となるように光源制御情報を生成して光源I/F254へ出力する(ステップS503)。その後、再びステップS105の処理が実行される。
本構成によれば、撮像装置22により撮影された冷蔵室30内の画像の平均輝度に基づいて、光源24の発光強度を調節する。これにより、撮像装置22によって撮影されることにより得られた冷蔵室30内の画像の平均輝度のバラツキが抑制されるので、冷蔵室30内の撮影画像の視認性を向上させることができる。
実施の形態に係る庫内撮影システム2において、例えば光源24以外に複数の光源を備え、光源24の発光強度が一定であり、撮像装置22の位置に応じて光源24以外の複数の光源の点灯状態を切り替えるものであってもよい。例えば図15(A)に示す冷蔵庫3001の庫内撮影システム3002のように、光源24以外に4つのサブ光源3024a、3024b、3024c、3024dを備えるものであってもよい。ここで、サブ光源3024a、3024bは、冷蔵室30の-X方向側の内壁における棚33、34それぞれの下方に配設されている。また、サブ光源3024c、3024dは、冷蔵室30の+X方向側の内壁における棚33、34の下方に配設されている。
また、本変形例に係る補助記憶部203は、図16に示すように、画像記憶部231とサブ光源記憶部3232と撮像位置記憶部233とを有する。なお、図16において、実施の形態と同様の構成については図3と同一の符号を付している。点灯装置3026は、光源24と4つのサブ光源3024a、3024b、3024c、3024dとに接続されており、制御装置3021から入力される光源制御情報に基づいて、4つのサブ光源3024a、3024b、3024c、3024dを選択的に点灯させる。サブ光源記憶部3232は、例えば図17に示すように、撮像装置22による撮影の際に点灯させるサブ光源3024a、3024b、3024c、3024dそれぞれの識別情報を、撮像装置22の位置を示す撮像位置情報に対応づけて記憶する。ここで、位置Pos2、Pos3それぞれに対応づけられたサブ光源3024a、3024b、3024c、3024dは、位置Pos2、Pos3との間の距離が予め設定された基準距離以内となっている。
光源制御部3212は、開閉判定部211により扉31、32が閉状態であると判定されると、冷蔵室30内における互いに異なる位置に配置された4つのサブ光源3024a、3024b、3024c、3024dのうち、少なくとも撮像装置22との間の距離が基準距離以内であるサブ光源を点灯させるように光源制御情報を生成する。具体的には、光源制御部3212は、例えば図17に示すような、位置Pos1、Pos2、Pos3に対応づけられ且つ光源24と撮像装置22との間の距離が基準距離以内であるサブ光源のサブ光源識別情報に基づいて、光源制御情報を生成する。
例えば冷蔵庫3001の扉31、32が閉状態であり、撮像装置22が、棚33の下の位置Pos2(図5(A)および(B)参照)に移動して撮像するとする。この場合、光源制御部3212は、サブ光源記憶部3232が記憶するサブ光源識別情報を参照して、光源24とともにサブ光源3024a、3024cを点灯させるための光源制御情報を生成して光源I/F254へ出力するようにすればよい。また、冷蔵庫3001の扉31、32が閉状態であり、撮像装置22が、棚34の下の位置Pos3(図5(A)および(B)参照)に移動して撮像するとする。この場合、光源制御部3212は、サブ光源記憶部3232が記憶するサブ光源識別情報を参照して、光源24とともにサブ光源3024b、3024dを点灯させるための光源制御情報を生成して光源I/F254へ出力するようにすればよい。
なお、本変形例では、光源制御部3212が、撮像装置22の位置Pos1、Pos2、Pos3に応じて、4つのサブ光源3024a、3024b、3024c、3024dのうち、撮像装置22の位置に対応するサブ光源のみを点灯させる例について説明した。但し、これに限らず、光源制御部3212が、例えば4つのサブ光源3024a、3024b、3024c、3024dの全てを点灯させた状態になるように光源制御情報を生成するものであってもよい。この場合、光源制御部3212は、少なくとも撮像装置22との間の距離が基準距離以内であるサブ光源の発光強度を、撮像装置22の位置に応じた発光強度にしてサブ光源を点灯させるように光源制御情報を生成するようにすればよい。
また、例えば図15(B)に示す冷蔵庫4001の庫内撮影システム4002のように、例えば光源24以外に撮像装置22とともに移動する光源4024を備え、光源24の発光強度が一定であるものであってもよい。光源24以外に撮像装置22の上方に位置し移動装置25により撮像装置22とともに移動する光源4024を備えるものであってもよい。例えば冷蔵庫4001の扉31、32が閉状態であり、撮像装置22が、棚33の下の位置Pos2または棚34の下の位置Pos3(図5(A)および(B)参照)に移動して撮像するとする。この場合、制御装置4021は、光源24とともに光源4024を点灯させるための光源制御信号を点灯装置4026へ出力するようにすればよい。
これらの構成によれば、冷蔵室30内に収納された物品が多く冷蔵室30内において光源24から放射される光が十分に届かない場所があっても、撮像装置22の撮影対象の物品が配置された場所の周囲を照明することができる。従って、撮像装置22によって撮影されることにより得られた冷蔵室30内の画像の明暗のバラツキが抑制されるので、画像の見栄えを向上させることができる。
実施の形態に係る庫内撮影システム2において、例えば冷蔵室30内に保管された物品の種類を認識する画像認識部を備えるものであってもよい。本変形例に係る冷蔵庫は、例えば図15(A)と同様の構成を有し、冷蔵室30内における互いに異なる位置に配設された4つのサブ光源3024a、3024b、3024c、3024dを備える。例えば図18に示すように、本変形例に係る点灯装置5026は、光源24と4つのサブ光源3024a、3024b、3024c、3024dとに接続されており、制御装置5021から入力される光源制御情報に基づいて、4つのサブ光源3024a、3024b、3024c、3024dを選択的に点灯させる。また、制御装置5021では、CPU201が、補助記憶部203が記憶するプログラムを主記憶部202に読み出して実行することにより、開閉判定部211、光源制御部5212、移動制御部213、撮影制御部214、転送部215、画像取得部5216および画像認識部5217として機能する。なお、図18において実施の形態と同様の構成については図3と同一の符号を付している。また、補助記憶部203は、画像記憶部231と発光強度記憶部232と撮像位置記憶部233とサブ光源記憶部5234と認識情報記憶部5235とを有する。サブ光源記憶部5234は、例えば図19に示すように、撮像装置22による撮影の際に点灯させるサブ光源3024a、3024b、3024c、3024dそれぞれの識別情報を、撮像装置22の位置を示す撮像位置情報に対応づけて記憶する。ここで、サブ光源記憶部5234は、4つのサブ光源3024a、3024b、3024c、3024dを、冷蔵室30内の一方側(図15(A)における-X方向側)に配置された第1群のサブ光源3024a、3024bと、冷蔵室30内の他方側(図15(A)における+X方向側)に配置された第2群のサブ光源3024c、3024dと、に分類して記憶している。認識情報記憶部5235は、撮像装置22により撮影して得られた画像を示す画像情報を用いて画像認識を行う際に用いるテンプレート情報を、対応する物品を示す物品情報に対応づけて記憶する。
図18に戻って、画像取得部5216は、画像記憶部231が記憶する、撮像装置22により撮影された画像を示す画像情報を取得する。画像認識部5217は、画像取得部5216により取得された画像情報に基づいて、冷蔵室30内に保管された物品の種類を認識する。画像認識部5217は、4つのサブ光源3024a、3024b、3024c、3024dの点灯状態を変化させながら撮像装置22により撮影して得られる複数種類の画像情報に基づいて、冷蔵室30内に保管された物品の種類を認識する。
次に、本変形例に係る制御装置5021が実行する庫内撮影処理について図20および図21を参照しながら説明する。なお、図20および図21において、実施の形態に係る庫内撮影処理と同様の処理については、図9および図10と同一の符号を付している。ステップS101からS104までの処理が実行された後、光源制御部5212は、第1群に属するサブ光源3024a、3024bのうちの少なくとも1つを点灯させるための光源制御情報を生成して光源I/F254へ出力する(ステップS601)。ここで、光源制御部5212は、例えば図19に示すような、位置Pos1、Pos2、Pos3に対応づけられた第1群に属するサブ光源識別情報に基づいて、光源制御情報を生成する。例えば撮像装置22が位置Pos1に位置する場合、光源制御部5212は、第1群に属するサブ光源3024aを点灯させるように光源制御情報を生成する。また、撮像装置22が位置Pos2に位置する場合、光源制御部5212は、第1群に属するサブ光源3024a、3024bの両方を点灯させるように光源制御情報を生成する。このとき、光源I/F254は、光源制御情報に対応する光源制御信号を点灯装置5026へ出力し、点灯装置5026は、光源制御信号に基づいてサブ光源3024a、3024bのうちの少なくとも1つを点灯させる。
次に、撮影制御部214が、前述の撮影指令情報を生成して撮像装置I/F252へ出力する(ステップS602)。このとき、実施の形態で説明したように、撮像装置22が、冷蔵室30内の撮影を実行し、撮像装置22により撮影して得られた画像を示す画像情報が、画像記憶部231へ転送される。そして、画像記憶部231が、転送された画像情報を記憶する(ステップS603)。
続いて、光源制御部5212は、点灯しているサブ光源3024a、3024bを消灯させるための光源制御情報を生成して光源I/F254へ出力する(ステップS604)。このとき、光源I/F254は、光源制御情報を受けて点灯装置5026への光源制御信号の出力を停止し、点灯装置5026がサブ光源3024a、3024bを消灯させる。
その後、光源制御部5212は、第2群に属するサブ光源3024c、3024dのうちの少なくとも1つを点灯させるための光源制御情報を生成して光源I/F254へ出力する(ステップS605)。ここで、光源制御部5212は、例えば図19に示すような、位置Pos1、Pos2、Pos3に対応づけられた第2群に属するサブ光源識別情報に基づいて、光源制御情報を生成する。例えば撮像装置22が位置Pos1に位置する場合、光源制御部5212は、第2群に属するサブ光源3024cを点灯させるように光源制御情報を生成する。また、撮像装置22が位置Pos2に位置する場合、光源制御部5212は、第2群に属するサブ光源3024c、3024dの両方を点灯させるように光源制御情報を生成する。このとき、光源I/F254は、光源制御情報に対応する光源制御信号を点灯装置5026へ出力し、点灯装置5026は、光源制御信号に基づいてサブ光源3024c、3024dのうちの少なくとも1つを点灯させる。
次に、撮影制御部214が、前述の撮影指令情報を生成して撮像装置I/F252へ出力する(ステップS606)。このとき、実施の形態で説明したように、撮像装置22が、冷蔵室30内の撮影を実行し、撮像装置22により撮影して得られた画像を示す画像情報が、画像記憶部231へ転送される。そして、画像記憶部231が、転送された画像情報を記憶する(ステップS607)。
続いて、光源制御部5212は、点灯しているサブ光源3024a、3024bを消灯させるための光源制御情報を生成して光源I/F254へ出力する(ステップS608)。このとき、光源I/F254は、光源制御情報を受けて点灯装置5026への光源制御信号の出力を停止し、点灯装置5026がサブ光源3024c、3024dを消灯させる。
その後、画像取得部5216は、画像記憶部231から画像情報を取得し、画像認識部5217が、画像取得部5216により取得された画像情報に基づいて、冷蔵室30内に保管された物品の種類を認識する画像認識処理を実行する(ステップS609)。ここで、画像取得部5216は、撮像装置22の位置Pos1、Pos2、Pos3毎に、サブ光源3024a、3024bを点灯させた状態で撮影して得られた画像を示す画像情報と、サブ光源3024c、3024dを点灯させた状態で撮影して得られた画像を示す画像情報と、を取得する。そして、画像認識部5217は、撮像装置22の位置Pos1、Pos2、Pos3毎に、2種類の画像情報と、認識情報記憶部5235が記憶するテンプレート情報と、を用いて、画像認識処理を実行する。また、画像認識部5217は、画像認識処理により得られた物品情報を、主記憶部202に記憶させる。次に、ステップS109以降の処理が実行される。
また、本変形例に係る画像転送処理では、図21に示すように、ステップS201からS203の処理が実行され、転送部215が、サーバ5から転送許可情報を受信したと判定したとする(ステップS203:Yes)。この場合、転送部215は、画像情報をサーバ5へ転送した後(ステップS204)、主記憶部202が記憶する、画像認識処理により得られた物品情報を、サーバ5へ転送する(ステップS701)。その後、ステップS205以降の処理が実行される。
なお、本変形例では、冷蔵庫が4つのサブ光源3024a、3024b、3024c、3024dを備える例について説明したが、サブ光源の数は4つに限定されるものではなく、例えば3つ以下であってもよいし、5つ以上であってもよい。また、本変形例では、4つのサブ光源3024a、3024b、3024c、3024dを第1群、第2群の2つの群に分類する例について説明したが、分類数は2つに限定されるものではなく、3つ以上の群に分類してもよい。この場合、光源制御部5212は、3つ以上の群それぞれに属するサブ光源それぞれを順に点灯させていき、撮影制御部214が、3つ以上の群それぞれに属するサブ光源を点灯させる毎に撮像装置22により冷蔵室30内を撮像させるようにすればよい。
本構成によれば、画像認識部5217が、撮像装置22により冷蔵室30内を撮影する際、冷蔵室30に保管された物品への照明の当て方が異なる2種類の画像に対応する画像情報に基づいて、画像認識処理を実行する。これにより、画像認識処理における認識精度を向上させることができるので、サーバ5へ転送される物品情報の信頼性を高めることができる。
実施の形態では、撮像装置22の位置が3箇所である例について説明したが、撮像装置22の位置の数は3箇所に限定されるものではなく、2箇所であってもよいし、4箇所以上であってもよい。また、実施の形態において、撮像装置22により撮影される画像は、静止画像に限定されるものではなく、動画像であってもよい。例えば、撮像装置22で撮影された画像の画像記憶部231への転送速度が高い場合、撮像装置22を移動させながら撮像装置22により撮影位置を決めずに(固定せずに)動画像を撮影するようにしてもよい。この場合、発光強度記憶部232が記憶する発光強度情報、およびサブ光源記憶部3232が記憶するサブ光源識別情報は、撮像位置Pos1、Pos2、Pos3のいずれかを含む撮像範囲に対応づけられ、撮像装置22が移動する範囲に基づいて、光源制御部212,3212が光源制御情報を生成する。
また、実施の形態において、撮影制御部214が、CPU201の負荷量を示す負荷量情報を取得し、取得した負荷量情報が示す負荷量が予め設定された基準負荷量以下であると判定すると、撮影指令情報を撮像装置I/F252へ出力するものであってもよい。これにより、冷蔵室30内の撮影を開始してから撮影を完了するまでの時間を短縮できる。
また、実施の形態では、移動装置25が、撮像装置22を鉛直方向に移動させる例について説明したが、撮像装置22の移動方向は鉛直方向に限定されるものではない。例えば、移動装置25が、撮像装置22を鉛直方向と交差する方向へ移動させるものであってもよい。
実施の形態では、光源制御部212が、開閉判定部211により扉31、32が開状態であると判定されると、光源24の発光強度を予め設定された最大発光強度にして光源24を点灯させるための光源制御情報を生成して光源I/F254へ出力する例について説明した。但し、これに限らず、例えば光源制御部212が、開閉判定部211により扉31、32が開状態であると判定されると、光源24の発光強度を予め設定された最大発光強度未満の予め設定された発光強度にして光源24を点灯させるための光源制御情報を生成して光源I/F254へ出力するものであってもよい。
実施の形態では、庫内撮影システム2が冷蔵庫1に設けられる例について説明したが、庫内撮影システム2が設けられる物品保管庫は、冷蔵庫1に限定されるものではなく、冷蔵庫1以外の他の種類の物品保管庫に設けられていてもよい。
また、本発明に係る制御装置21、2021、3021、4021、5021の各種機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現されてもよい。この場合、ソフトウェアまたはファームウェアは、プログラムとして記述され、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)およびMO(Magneto-Optical Disc)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、前述の各機能を実現することができるコンピュータを構成してもよい。そして、各機能をOS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協同により実現する場合等には、OS以外の部分のみを記録媒体に格納してもよい。
さらに、搬送波に各プログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(BBS,Bulletin Board System)に当該プログラムを掲示し、ネットワークを介して当該プログラムを配信してもよい。そして、これらのプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前述の処理を実行できるように構成してもよい。