(57)【要約】【課題】  直感的な操作によって所望のデータ集合を得られるようにした情報処理装置、その処理方法及びプログラムを提供する。【解決手段】  動作検知装置により検知されたユーザによる動作に従って各種処理を実行する情報処理装置であって、データ群の中から所定の条件に従ってデータ集合を生成し、動作検知装置により検知された動きに対応する処理内容を判定し、当該判定された処理内容に基づいて生成されたデータ集合に含まれるデータを増減させてデータ集合を調整する。【選択図】  図２
2010122984.tif 000002
【特許請求の範囲】
【請求項１】
動作検知装置により検知されたユーザによる動作に従って各種処理を実行する情報処理装置であって、
データ群の中から所定の条件に従ってデータ集合を生成する生成手段と、
前記動作検知装置により検知された動きに対応する処理内容を判定する判定手段と、
前記判定手段により判定された処理内容に基づいて前記生成手段により生成されたデータ集合に含まれるデータを増減させて前記データ集合を調整する調整手段と
を具備することを特徴とする情報処理装置。
【請求項２】
前記調整手段は、
前記判定手段により判定された処理内容が前記データ集合に対してデータを追加する処理である場合、前記調整により該データ集合から既に削減されたデータを優先して追加する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記調整手段は、
前記判定手段により判定された処理内容が前記データ集合に対してデータを追加する処理である場合、該データ集合の生成時における前記所定の条件と関連性を有する条件に合致するデータを優先して追加する
ことを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記調整手段は、
前記判定手段により判定された処理内容が前記データ集合に対してデータを追加する処理である場合、該データ集合に含まれるデータとの類似度に基づいて該データ集合に追加するデータを決定する
ことを特徴とする請求項１乃至３いずれか１項に記載の情報処理装置。
【請求項５】
前記調整手段は、
前記判定手段により判定された処理内容が前記データ集合からデータを削減する処理である場合、前記調整により該データ集合に対して既に追加されたデータを優先して削減する
ことを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記調整手段は、
前記判定手段により判定された処理内容が前記データ集合からデータを削減する処理である場合、該データ集合に含まれる各データ間の類似度に基づいて該データ集合から削減するデータを決定する
ことを特徴とする請求項１又は５記載の情報処理装置。
【請求項７】
前記調整手段による前記データ集合に含まれるデータの増減の過程を認識可能に出力する出力処理手段
を更に具備することを特徴とする請求項１乃至６いずれか１項に記載の情報処理装置。
【請求項８】
前記判定手段は、
前記判定した動きの大きさを評価する評価手段
を具備し、
前記調整手段は、
前記調整に際して、前記評価手段により評価された動きの大きさに基づいて前記データ集合に含まれるデータの増減数を変更する
ことを特徴とする請求項１乃至６いずれか１項に記載の情報処理装置。
【請求項９】
前記判定手段は、
前記動作検知装置を振る動き、叩く動きの少なくともいずれかを判定する
ことを特徴とする請求項１乃至６いずれか１項に記載の情報処理装置。
【請求項１０】
動作検知装置により検知されたユーザによる動作に従って各種処理を実行する情報処理装置の処理方法であって、
データ群の中から所定の条件に従ってデータ集合を生成する生成工程と、
前記動作検知装置により検知された動きに対応する処理内容を判定する判定工程と、
前記判定工程で判定された処理内容に基づいて前記生成工程で生成されたデータ集合に含まれるデータを増減させて前記データ集合を調整する調整工程と
を含むことを特徴とする情報処理装置の処理方法。
【請求項１１】
動作検知装置により検知されたユーザによる動作に従って各種処理を実行する情報処理装置に内蔵されたコンピュータを、
データ群の中から所定の条件に従ってデータ集合を生成する生成手段、
前記動作検知装置により検知された動きに対応する処理内容を判定する判定手段、
前記判定手段により判定された処理内容に基づいて前記生成手段により生成されたデータ集合に含まれるデータを増減させて前記データ集合を調整する調整手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者の直感的な操作を受容するインタフェースを利用する情報処理装置、その処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、高度で多機能な機器が身近になってきているが、これらの機器を扱うためには、面倒で複雑なボタン操作を習得したり、膨大なメニューなどから必要とする機能を呼び出す方法を覚えたりする必要があった。多くの利用者にとって、このような手続きは不便であった。
【０００３】
これに対して一部のゲーム機や携帯音楽プレーヤー等においては、触ったり、振ったり、傾けたりといった、利用者の直感的な入力動作を受容するインタフェースを有する機器が現れてきている。直感的な動作と機能とが関連付けられているため、従来のようなインタフェースが苦手な人にとっても、操作の習得は容易になっている。
【０００４】
そのような例としては、携帯機器でデータを表示している際に、機器を奥へ傾ける動作を行なうと拡大がなされ、手前に傾けると縮小がなされる技術が知られている（特許文献１）。これにより、表示しているデータへ機器を近づけるようなイメージで動かすと拡大が行なわれ、離すようなイメージで動かすと縮小が行なわれるため、直感的な操作が可能になる。これ以外にも、傾けたり振ったりする動作と処理とを対応させることで、ボタン操作なしで表示させたいデータを選択する技術も知られている（特許文献２）。
【特許文献１】特開２００５−０２５１７０号公報
【特許文献２】特開２００２−１４９６１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
例えば、デジタルカメラや携帯音楽プレーヤーのような機器などにおいては、利用者が閲覧や再生といった目的で何らかの条件を指定するなどして、データの集合を生成することが多い。このようにして得られたデータ集合は、最初から思い通りになることは少ない。例えば、画像のスライドショーや音楽データのプレイリストのようなデータ集合を作成する際には、もう少し曲数等が多い方がよい、または逆に曲数等が多すぎる、といった状況が多々ある。このような場合、一般的には、条件設定を変更等し試行錯誤を繰り返すことで所望のデータ集合を得られるまで調整を行なう。
【０００６】
しかし、そのような条件を考え出すことも、また、そのための操作を繰り返すことも、利用者にとっては容易とは言い難い。そのため、より直感的な操作によって、データ集合の調整を行なう機能を実現することが望まれている。
【０００７】
本発明は、上記課題に鑑みてなされたものであり、直感的な操作によって所望のデータ集合を得られるようにした情報処理装置、その処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一態様は、動作検知装置により検知されたユーザによる動作に従って各種処理を実行する情報処理装置であって、データ群の中から所定の条件に従ってデータ集合を生成する生成手段と、前記動作検知装置により検知された動きに対応する処理内容を判定する判定手段と、前記判定手段により判定された処理内容に基づいて前記生成手段により生成されたデータ集合に含まれるデータを増減させて前記データ集合を調整する調整手段とを具備することを特徴とする。
【０００９】
また、本発明の一態様は、動作検知装置により検知されたユーザによる動作に従って各種処理を実行する情報処理装置の処理方法であって、データ群の中から所定の条件に従ってデータ集合を生成する生成工程と、前記動作検知装置により検知された動きに対応する処理内容を判定する判定工程と、前記判定工程で判定された処理内容に基づいて前記生成工程で生成されたデータ集合に含まれるデータを増減させて前記データ集合を調整する調整工程とを含むことを特徴とする。
【００１０】
また、本発明の一態様によるプログラムは、動作検知装置により検知されたユーザによる動作に従って各種処理を実行する情報処理装置に内蔵されたコンピュータを、データ群の中から所定の条件に従ってデータ集合を生成する生成手段、前記動作検知装置により検知された動きに対応する処理内容を判定する判定手段、前記判定手段により判定された処理内容に基づいて前記生成手段により生成されたデータ集合に含まれるデータを増減させて前記データ集合を調整する調整手段として機能させる。
【発明の効果】
【００１１】
本発明によれば、直感的な操作によって所望のデータ集合を得られるため、利用者の操作性が向上する。
【発明を実施するための最良の形態】
【００１２】
以下、本発明に係わる情報処理装置、その処理方法及びプログラムの一実施の形態について添付図面を参照して詳細に説明する。
【００１３】
（実施形態１）
図１は、本発明の一実施の形態に係わる情報処理装置のハードウェア構成の一例を示す図である。
【００１４】
１００は、情報処理装置であり、動作検知装置１０７により検知された動作に従って各種処理を実行する。本実施形態においては、情報処理装置１００がデジタルカメラ（静止画、動画は問わなず撮影可）である場合を例に挙げて説明する。なお、情報処理装置１００としては、デジタルカメラ以外にも、例えば、音楽プレーヤー、携帯電話、情報端末、ゲーム機等が該当する。
【００１５】
１０１は、ＣＰＵ（Central Processing Unit）であり、情報処理装置１００全体を制御する。１０２は、ＲＯＭ（Read Only Memory）であり、変更を必要としないプログラムやパラメータを格納する。１０３は、ＲＡＭ（Random Access Memory）であり、外部記憶装置やセンサーなどから供給されるプログラムコード（以下、単にプログラムという）やデータを一時記憶する。１０４は、外部記憶装置であり、ＯＳ（Operating System）の他、各種データ等を記憶する。外部記憶装置１０４は、例えば、装置に固定で設けられるハードディスクやメモリカード、或いは装置から着脱可能なフレキシブルディスク（ＦＤ）やＣＤ（Compact Disc）等の光ディスク、磁気や光カード、ＩＣカード、メモリカードなどで実現される。本実施形態においては、プログラムが外部記憶装置１０４に格納される場合を例に挙げて説明するが、プログラムは、ＲＯＭ１０２に格納されていてもよい。
【００１６】
１０５は、入力装置であり、利用者からの入力指示を受ける。入力装置１０５は、例えば、ボタンやキーボード、ポインティングデバイス、マイクなどで実現される。１０６は、出力装置であり、情報処理装置１００が保持するデータや、データ集合、又はそのアイコンやサムネイル画像等を出力する。出力装置１０６は、例えば、ＬＣＤディスプレイやスピーカなどで実現される。１０７は、動作検知装置であり、動きに関する情報をセンサーなどを介して検知する。なお、動作検知装置１０７は、動作とその動作の程度とを検知できればよく、その検知方法（センサーなど）は特に問わない。例えば、装置をある一定方向に振る動きを検知するのであれば、一般的な加速度センサーを利用して、装置の加速度の変化量から推定すればよい。また、装置を叩く若しくは装置をどこかへ接触されるような動作を検知するのであれば、衝撃や振動、或いは音のセンサーなどから推定すればよい。勿論、複数のセンサー等を組み合わせて動作検知装置１０７を構成しても構わない。なお、本実施形態に係わる動作検知装置１０７では、情報処理装置１００そのものの動きを検知する場合について説明するが、これに限定されない。例えば、利用者の直感的な入力動作を受けるコントロールデバイスを設け、当該デバイス上に動作検知装置１０７を配置しても構わない。この場合は、利用者の入力動作、すなわち、コントロールデバイスの動きの情報を情報処理装置１００にフィードバックする構成にすればよい。
【００１７】
１０８は、システムバスであり、１０１〜１０７の各ユニットを通信可能に接続する。以上が、情報処理装置１００の構成の一例についての説明である。
【００１８】
図２は、図１に示す情報処理装置１００における機能的な構成の一例を示す図である。これら各処理機能の一部又は全ては、例えば、外部記憶装置１０４に格納されたプログラムがＣＰＵ１０１で実行されることにより実現される。なお、各処理機能の一部又は全てがハードウェアにより実現されてもよい。
【００１９】
ＣＰＵ１０１においては、その機能的な構成として、データ集合生成部２０１と、動作判定部２０２と、評価部２０３と、データ集合調整部２０４と、出力処理部２０５とが実現される。
【００２０】
データ集合生成部２０１は、データ群の中から所定の条件に従ってデータ集合を生成する。データ集合生成部２０１は、例えば、データ集合生成の指示として検索条件などを受け取り、外部記憶装置１０４などから指示に合致するデータを取得しデータ集合を生成する。この指示は、利用者から明示的に与えられてもよいし、情報処理装置１００の有する機能毎のデータ収集方針に従って内部的に生じてもよい。前者の指示は、例えば、利用者による検索条件などの入力により生じる。後者の指示は、装置や機能によって様々であり、限定するわけではないが、例えば、ランダムに再生候補を生成する際にデータの集合を取得する場合や、履歴情報から最近アクセスしたデータの集合を取得する場合などに内部的に生じる。なお、本実施形態においては、データ集合の生成に利用された条件は、その結果得られたデータ集合と関連付けて保持される。
【００２１】
動作判定部２０２は、動作検知装置１０７で検知した動き（例えば、動きの種別や向きなど）に基づいてその動きに対応する処理内容を判定する。本実施形態に係わる動作判定部２０２おいては、装置のどの面が上であるかを示す情報と、装置が振られていることを示す情報とに基づいて対応付けられた処理の内容を判定する。
【００２２】
評価部２０３は、動作検知装置１０７で検知した動きの程度（大きさ）を評価する。ここでの評価は、処理に必要な粒度で行なえればよい。例えば、振る動作に割り当てられた機能が３段階であれば、評価部２０３においては、大きい、普通、小さいといった３段階の評価を行なえればよい。
【００２３】
データ集合調整部２０４は、動作やその動きの評価内容に応じて対象となるデータ集合を調整する。データ集合調整部２０４では、例えば、評価部２０３により評価された動きの程度に応じてデータの調整度合い（例えば、データの増減数）を変更する。本実施形態では、データ集合調整部２０４において、生成されたデータ集合に含まれるデータを増減させる処理を行なう場合について説明するが、データ集合調整部２０４における処理は、データ集合の生成条件や生成の目的に応じてその調整方法が異なってくる。
【００２４】
出力処理部２０５は、各種画面を出力装置１０６に出力し、装置や処理の状況を利用者に提示する。出力処理部２０５においては、例えば、データ集合調整部２０４におけるデータ調整処理の過程等を認識可能に出力する。以上が、ＣＰＵ１０１において実現される機能的な構成の一例についての説明である。
【００２５】
次に、図１に示す情報処理装置１００の動作の一例について説明する。まず、図３を用いて、データ集合を生成する際の処理の流れの一例について説明する。
【００２６】
ステップＳ３０１では、情報処理装置１００において、データ集合を生成する機能の呼び出しが行なわれる。上述した通り、本実施形態においては、情報処理装置１００がデジタルカメラであるので、例えば、撮影した画像を閲覧する機能（画像閲覧機能）などが呼び出された場合に、このステップＳ３０１の処理が実施される。画像閲覧機能の呼び出し時には、情報処理装置１００は、一般に、利用者の所望する画像の集合を生成する。利用者は、当該機能の呼び出しにより生成された画像を閲覧する（場合によってはスライドショー形式）。
【００２７】
ステップＳ３０２では、情報処理装置１００は、データ集合生成部２０１において、データ集合を生成する際の指示（例えば、検索条件）を取得する。画像データの閲覧を例に挙げると、閲覧に際しては、利用者から何らかの検索条件が入力されることが多い。このような場合、情報処理装置１００は、この検索条件を指示として取得する。なお、検索条件等の指示は、例えば、入力装置１０５を介して取得する。
【００２８】
ステップＳ３０３では、情報処理装置１００は、データ集合生成部２０１において、ステップＳ３０２で取得した指示に従ってデータ群の中から所定の条件に合致するデータを取得し、データ集合を生成する。データの取得先は、例えば、外部記憶装置１０４などが挙げられる。
【００２９】
ステップＳ３０４では、情報処理装置１００は、データ集合生成部２０１において、ステップＳ３０３で取得したデータの集合を保持する。データは、例えば、ＲＡＭ１０３等を用いて保持する。ここで保持されるデータは、データ数等の調整が行なわれる前のデータである。なお、データの保持の仕方については特に限定しない。例えば、データの実体を保持してもよいし、実体への参照情報を保持するようにしてもよい。
【００３０】
ここで、図４を用いて、図１に示す情報処理装置１００における出力装置１０６の表示態様の一例について説明する。図４には、図３のステップＳ３０４終了時点における出力装置１０６の表示態様が示される。なお、ここでは、スライドショーを行なうためにデータ集合を生成した場合を例に挙げて説明する。
【００３１】
４０１は、情報処理装置本体であり、４０２は、装置上のディスプレイ（すなわち、出力装置１０６）である。この例では、例えば、「２００７年」ａｎｄ「クリスマス」といった検索条件により取得されたデータ集合の一部がサムネイル表示されている。
【００３２】
ディスプレイ４０２には、データ集合全体４０４の一部４０３が表示されているだけであり、実際には、表示しきれないデータがデータ集合には含まれている。ここで、スライドショー表示することを考えた場合、一枚あたりの表示時間や、スライドショー全体としての時間の長さなどから、利用者の意図としては、もう少しデータ数を絞り込みたい。すなわち、現状のデータ集合では、若干データ数が多いので、利用者が意図したデータ数に近づけるためにはデータ数の調整を行なう必要がある。
【００３３】
ここで、図５を用いて、データ数の調整を行なう際の処理の流れの一例について説明する。
【００３４】
ステップＳ５０１では、情報処理装置１００は、動作判定部２０２において、装置を動かす動作を動作検知装置１０７が検知するまで監視する。動作を検知した場合は、ステップＳ５０２の処理に進む。
【００３５】
ステップＳ５０２では、情報処理装置１００は、動作判定部２０２において、検知した動作がデータ集合の調整を指示する動作（以下、調整指示動作と呼ぶ）であるか否かの判定を行なう。判定の結果、調整指示動作が検知された場合、ステップＳ５０３の処理に進み、そうでなければ、この処理は終了する。なお、動作検知装置１０７において、複数の動作を検知できるのであれば、ステップＳ５０２の処理では、いずれの動作が行なわれたかの判定も行なう。
【００３６】
ステップＳ５０３では、情報処理装置１００は、データ集合調整部２０４において、ステップＳ５０２で判定された動作に基づいてデータ集合の調整方針を決定する。本実施形態では、データ集合の調整方針として、現在のデータ集合に含まれるデータ数を減らす方針と、データ数を増やす方針とがある。
【００３７】
ステップＳ５０４では、情報処理装置１００は、評価部２０３において、検知した動作の大きさを評価する。
【００３８】
ステップＳ５０５では、情報処理装置１００は、データ集合調整部２０４において、ステップＳ５０４で評価された動作の大きさに基づいてデータの調整量を決定する。なお、本実施形態に係わる調整量とは、調整するデータの数を示す。調整量としては、例えば、増減される（データ集合全体に対する）データ数の割合を算出する。動作の大きさの評価を、例えば、大・中・小の三段階で評価したとすると、各々を、１０％・５％・２％といった割合に当てはめ、その割合に当たる数を調整量とする。なお、調整量の算出方法は、このような方法に限定されず、例えば、大＝データ数：１０、中＝データ数：５、小＝データ数：２といった具合に、絶対的な数値（この場合、データの数）を算出するようにしてもよい。
【００３９】
ステップＳ５０６では、情報処理装置１００は、データ集合調整部２０４において、調整データ決定処理を実施する。具体的には、ステップＳ５０３で決められた調整方針と、ステップＳ５０５で決められた調整量とに基づいて調整対象となるデータを決定する。この処理の詳細については後述するが、例えば、データを削減する場合には、減らすデータを具体的に特定する。
【００４０】
ステップＳ５０７では、情報処理装置１００は、データ集合調整部２０４において、データ調整を実施するとともに、出力処理部２０５において、その調整過程や結果を出力装置１０６に出力する。なお、本実施形態に係わる出力は、装置上のディスプレイ（出力装置１０６）への表示により行なう。このようなフィードバックを行なうことにより、利用者に動作の大きさ認識させられる。これにより、利用者は、動作の大きさを加減し、意図した調整を行なえる。
【００４１】
ここで、図６〜図８を用いて、図５で説明したデータ集合の調整を行なう処理の概要の一例について説明する。
【００４２】
まず、データを削減する場合について説明する。図６は、初期状態の表示を示している。この場合、データ集合全体のボリュームが分かるように各データをサムネイル表示している。但し、初期状態の表示は、これに限定されず、例えば、上述した図４に示す程度の大きさでサムネイルを表示し、サムネイルが画面全体に表示されていてもよい。なお、サムネイルが生成できない場合は、画像データであることを示すアイコン等を表示しても構わない。
【００４３】
ここで、利用者が、図７に示すように、装置を下向きに振ったとする。すると、その動きを検知した情報処理装置１００は、検知した動きに基づいてデータを削減する。データの削減が行なわれると、図８に示すような状態が得られる。ここで、データ集合を減らした結果だけを表示するようにした場合、利用者は、１回の動作でどれだけデータが減ったかを把握できず、操作性が悪い。そのため、例えば、図８の点線枠内８０１に示すように、データの削減過程を表示するようにしてもよい。この場合、利用者は、データ削減の程度を認識できる。例えば、データが減る量を増やしたければ、より大きく装置を振ればよいし逆に、データが減る量を抑えたければ、より小さく装置を振るようにすればよい。なお、このデータ削減過程の表示の仕方については特に問わないが、例えば、図８に示すように、削減されるデータを落下させるようなアニメーション表示等を用いればよい。
【００４４】
次に、データを追加する場合について説明する。上述した説明では、図７に示す向きに持って装置を下向きに振った場合にデータが削減されていたので、例えば、データを追加する場合には、図７に示す向きと逆向きに装置を振った場合にデータを追加するようにすればよい。具体的には、図９（ａ）に示すように、逆向きに装置を持ち下向きに振った場合にデータを増やすようにすればよい。データ追加後は、図９（ｂ）に示す状態となる。このように逆向きの動作に逆の調整を割り当てようにした場合、利用者にとっても直感的な操作が可能になり、操作性が向上する。これにより、例えば、図７に示す動作でデータを減らし過ぎてしまった場合、図９（ａ）に示す動作により減らし過ぎたデータを少し戻すといった操作が行なえる。
【００４５】
次に、図１０、図１１を用いて、図５のステップＳ５０６における調整データ決定処理の詳細について説明する。なお、本実施形態においては、調整データ決定処理として２通り例を挙げて説明する。具体的には、データ集合からデータを削減する処理と、データ集合にデータを追加する処理とについて説明する。
【００４６】
まず、図１０を用いて、データ集合からデータを削減する処理の流れの一例について説明する。この処理は、図５のステップＳ５０３において、「データ数を減らす」旨の調整方針が決定された場合に実施される。
【００４７】
ステップＳ１００１では、情報処理装置１００は、データ集合調整部２０４において、ステップＳ５０５で決定した調整量を取得する。すなわち、削減するデータの個数を取得する。
【００４８】
ステップＳ１００２では、情報処理装置１００は、データ集合調整部２０４において、データ集合に対してデータを追加する処理が既に実施されているか否かを判断する。この判断を行なうのは、既にデータを追加する処理が実施されていた場合には、そのデータ集合と比較的関連性の低い、当該増やされたデータを優先的に削除するためである。ここで、増やしたデータ（以下、追加データという）をデータ集合が含む場合は、ステップＳ１００３の処理に進み、そうでない場合には、ステップＳ１００４の処理に進む。
【００４９】
ステップＳ１００３では、情報処理装置１００は、データ集合調整部２０４において、追加データを優先して削減候補とするように当該データに優先度を設定する。どの程度優先させるかは、別途設定するようにして構わない。例えば、追加データがデータ集合内に含まれている間は、必ずそのデータから削減するようにしてもよいし、ある一定の優先度によりそのデータが削減対象として選ばれ易いようにしてもよい。また、全く優先しないようにしても構わない。
【００５０】
ステップＳ１００４では、情報処理装置１００は、データ集合調整部２０４において、データ集合に含まれる各データの特徴量を抽出する。特徴量としては、例えば、画像データであれば、全体的な色味や被写体の位置や関係などが考えられる。これ以外にも、例えば、データの作成日時や場所、作成者、作成機器（ツール）のような情報を特徴量としてもよい。
【００５１】
ステップＳ１００５では、情報処理装置１００は、データ集合調整部２０４において、ステップＳ１００４で抽出された各データの特徴量を比較して、各データ間の類似度を算出する。
【００５２】
ステップＳ１００６では、情報処理装置１００は、データ集合調整部２０４において、ステップＳ１００３で設定された優先度や、ステップＳ１００５で算出された類似度に基づいて調整対象（この場合、削減対象）となるデータを決定する。削減対象となるデータは、ステップＳ１００１で取得した調整量に相当するデータ数分決められる。例えば、類似度が高いと判定されたデータの組み合わせの一方を削減対象にする。これは、よく似たデータが複数個サムネイルとして表示されることを防ぐためである。利用者は、一般に、スライドショーにより同じようなデータをいくつも見せられるよりも、なるべく色々な画像を見ることを所望する場合が多い。そのような利用者の意図を想定し、ステップＳ１００６の処理では、類似したデータを優先的に削減する。しかし、同じような画像に絞って画像を閲覧したいという要望なども考えられる。その場合には、ステップＳ１００４及びステップＳ１００５の処理を除き、類似したデータを残すようにしてもよい。なお、特定のデータについて類似データを残したい場合には、利用者が特定のデータを指定できるようにしてもよい。また、利用者の意図や機能に応じてどのようなデータが削減されるかを利用者の指示に従って切り替えられるようにしてもよい。
【００５３】
次に、図１１を用いて、データ集合にデータを追加する処理の流れの一例について説明する。この処理は、図５のステップＳ５０３において、「データ数を増やす」旨の調整方針が決定された場合に実施される。
【００５４】
ステップＳ１１０１では、情報処理装置１００は、データ集合調整部２０４において、ステップＳ５０５で決定した調整量を取得する。すなわち、追加するデータの個数を取得する。
【００５５】
ステップＳ１１０２では、情報処理装置１００は、データ集合調整部２０４において、データ集合に対してデータを削減させる処理が既に実施されているか否かを判断する。この判断を行なうのは、既にデータを削減する処理が実施されていた場合には、そのデータ集合と比較的関連性の高い、当該減らされたデータを優先的にデータ集合に加えるためである。ここで、一度削除されたデータ（以下、削減データという）がある場合は、ステップＳ１１０３の処理に進み、そうでない場合には、ステップＳ１１０４の処理に進む。
【００５６】
ステップＳ１１０３では、情報処理装置１００は、データ集合調整部２０４において、削減データを優先して追加候補とするように当該データに優先度を設定する。どの程度優先するかは、別途設定するようにして構わない。例えば、削減データがデータ集合に全て復帰されるまでの間は、必ずそのデータから増やすようにしてもよいし、ある一定の優先度によりそのデータが追加対象として選ばれ易いようにしてもよい。また、全く優先しないようにしても構わない。
【００５７】
ステップＳ１１０４では、情報処理装置１００は、データ集合調整部２０４において、追加候補となるデータを取得する。具体的には、データ集合を生成する際に利用した条件を緩和し、その緩和した条件により当該データ集合と類似するデータを取得する。例えば、データ集合生成時の条件の中に連続した数値条件があれば、その範囲を拡張する。また、例えば、単語による条件指定がなされていた場合は、類義語辞書などを参照して当該単語の関連語や類義語を条件に加えたりすればよい。あるいは、概念辞書などを参照して条件指定された単語の概念的な階層関係を利用して、より抽象的な語を条件に加えたりすればよい。すなわち、「年＝２００７年ａｎｄイベント＝クリスマス」を条件としたデータ集合がある場合、「年＝２００６年ｏｒ２００７年ｏｒ２００８年」という具合に前後の年にまで条件を拡張したり、「イベント＝クリスマスｏｒクリスマスイブ」などに拡張したりする。このようにして追加データを決めることにより、データ集合を生成した時点の意図に沿うようなデータを追加することができる。しかし、データ集合生成時に条件が設定されていなかったり、緩和できる条件でがなかったり、また、拡張したが候補となるデータがなかったりする場合も考えられる。その場合には、まったく任意にデータを取得するようしてもよいが、データを増やすことができない旨のメッセージを利用者に提示するようにしてもよい。
【００５８】
ステップＳ１１０５では、情報処理装置１００は、データ集合調整部２０４において、追加候補となったデータの数が、ステップＳ１１０１で取得した調整量に足りているか否かを判定する。足りている場合は、ステップＳ１１０６の処理に進むが、足りていない場合は、再度、ステップＳ１１０４の処理に戻り、更なる条件の緩和を試みる。
【００５９】
ステップＳ１１０６では、情報処理装置１００は、データ集合調整部２０４において、追加候補及び既存データ集合についての各データの特徴量を抽出する。なお、特徴量は、上述した図１０のステップＳ１００４同様にして抽出すればよい。
【００６０】
ステップＳ１１０７では、情報処理装置１００は、データ集合調整部２０４において、ステップＳ１１０６で抽出された各データの特徴量を比較して、各データ間の類似度を算出する。
【００６１】
ステップＳ１１０８では、情報処理装置１００は、データ集合調整部２０４において、ステップＳ１１０３で設定された優先度や、ステップＳ１１０７で算出された類似度に基づいて調整対象（この場合、追加対象）となるデータを決定する。追加対象となるデータは、ステップＳ１１０１で取得した調整量に相当するデータ数分決められる。このとき、追加候補データの中から既存データ集合と類似度の低いデータを優先的に選ぶようにして既存のデータ集合にないデータが増やされるようにする。なお、データ追加処理時にも、上述した削減処理時と同様に、同じような画像を増やして見たいという要望なども考えられる。その場合は、類似したデータを優先させて増やすようにしてもよい。このとき、既存データ集合と類似度の高いデータから順に増やすようにすればよい。なお、特定のデータに類似したデータを優先させて増やすように、利用者が特定のデータを指定できるようにしてもよい。また、利用者の意図や機能に応じてどのようなデータを追加するかを利用者の指示に従って切り替えられるようにしてもよい。
【００６２】
以上説明したように本実施形態によれば、直感的な操作によって所望のデータ集合を得られる。これにより、利用者の操作性が向上する。
【００６３】
なお、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【００６４】
例えば、上述した説明では、装置を振ることでデータ集合を調整する場合を例に挙げて説明したが、これに限られない。例えば、装置の一辺を叩く動作などであってもよい。叩く動作としては、図１２に示すように、手１２０１を使って叩く動作が行なわれてもよいし、図１３に示すように、机などの面１３０１にトントンと当てるような動作が行なわれてもよい。なお、この場合における動きの大きさの評価は、ある時間当たりに叩かれた頻度や、叩かれたことの検知により行なう。この評価には、例えば、衝撃や音といったセンサーの出力値の大きさを利用すればよい。
【００６５】
また、上述した説明では、データ調整方針の決定は、装置の向きによって決めていたが、これに限られない。例えば、ボタンなどを利用して利用者が明示的に指示できるようにしても構わない。具体的には、ボタンが押下されながら装置に動きが加えられた場合には、データを増やすように調整し、ボタンが押下されずに装置に動きが加えられた場合には、データを減らすように調整を行なう。
【００６６】
また、上述した説明では、データ調整方針として、「増やす」或いは「減らす」といった方針を例に挙げて説明したが、これに限られない。例えば、調整量分だけ、別のデータに「入れ替える」といったデータ調整方針であってもよい。また、上述した説明では、図１０及び図１１を用いて、調整データの決定の仕方について説明したが、この方法についてもこれに限られない。例えば、利用者が調整対象としたいデータを明示的に指定してもよい。減らしたいデータが決まっている場合や、入れ替えたい一部のデータが決まっている場合等には、このような明示的な指示が与えられるのは有用である。前者であれば、意図したデータが無くならずに済む。後者であれば、「減らす」と「増やす」の２度の操作を行なう必要がなく、１度の操作で済む。
【００６７】
また、上述した説明では、調整データの決定は、データの特徴量の類似度を利用していたが、必ずしも類似度を利用する必要はない。例えば、検索条件によってデータ集合を生成する場合は、検索スコアなどを利用して、高いスコアのデータを追加対象として選ばれ易くし、削減対象になり難くしてもよい。また、データの質を評価するようにしてもよい。例えば、画像データであれば、ピントの合ったデータほど評価を高くして、評価の高いデータを追加対象として選ばれ易くし、削減対象になり難くしてもよい。なお、これらの方法は、複数組み合わせてもよいことは言うまでもない。
【００６８】
また、上述した説明では、データが主に画像である場合を例に挙げて説明したが、これに限られない。例えば、情報処理装置が音楽プレーヤーである場合には、音楽データのプレイリスト作成時などに上述した実施形態を適用しても構わない。この場合、特徴量としては、音楽データの類似性、例えば、テンポやピッチ、歌詞データ、歌っている人物、ジャンルなどが挙げられる。
【００６９】
なお、本発明は、例えば、システム、装置、方法、プログラム若しくは記録媒体等としての実施態様を採ることもできる。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００７０】
また、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置に内蔵されたコンピュータが該供給されたプログラムコードを読み出して実行することにより実施形態の機能が達成される場合をも含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００７１】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００７２】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記録媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００７３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのウェブページに接続し、該ウェブページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるウェブページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれる。
【００７４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布するという形態を採ることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してウェブページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【００７５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部或いは全部を行ない、その処理によって前述した実施形態の機能が実現される。
【００７６】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ（Central Processing Unit）などが実際の処理の一部又は全部を行なう。
【図面の簡単な説明】
【００７７】
【図１】本発明の一実施の形態に係わる情報処理装置のハードウェア構成の一例を示す図である。
【図２】図１に示す情報処理装置１００における機能的な構成の一例を示す図である。
【図３】データ集合を生成する際の処理の流れの一例を示すフローチャートである。
【図４】図１に示す情報処理装置１００における出力装置１０６の表示態様の一例を示す図である。
【図５】データ数の調整を行なう際の処理の流れの一例を示すフローチャートである。
【図６】データ調整を行なう際の処理の概要を示す第１の図である。
【図７】データ調整を行なう際の処理の概要を示す第２の図である。
【図８】データ調整を行なう際の処理の概要を示す第３の図である。
【図９】データ調整を行なう際の処理の概要を示す第４の図である。
【図１０】データ集合からデータを削減する処理の流れの一例を示すフローチャートである。
【図１１】データ集合にデータを追加する処理の流れの一例を示すフローチャートである。
【図１２】変形実施形態の一例を示す第１の図である。
【図１３】変形実施形態の一例を示す第２の図である。
【符号の説明】
【００７８】
１００    情報処理装置
１０１    ＣＰＵ
１０２    ＲＯＭ
１０３    ＲＡＭ
１０４    外部記憶装置
１０５    入力装置
１０６    出力装置
１０７    動作検知装置
２０１    データ集合生成部
２０２    動作判定部
２０３    評価部
２０４    データ集合調整部
２０５    出力処理部
【図１】
2010122984.tif 000003
【図２】
2010122984.tif 000004
【図３】
2010122984.tif 000005
【図４】
2010122984.tif 000006
【図５】
2010122984.tif 000007
【図６】
2010122984.tif 000008
【図７】
2010122984.tif 000009
【図８】
2010122984.tif 000010
【図９】
2010122984.tif 000011
【図１０】
2010122984.tif 000012
【図１１】
2010122984.tif 000013
【図１２】
2010122984.tif 000014
【図１３】
2010122984.tif 000015