(57)【要約】【課題】画像のクラスタリング精度を向上させる。【解決手段】画像の取得操作を含む、デバイスにおける複数の操作についての履歴を示す操作履歴を取得する。操作履歴から、１以上の予め規定された条件のいずれかに適合する、続けて行われる操作のシーケンスを検出する。検出されたシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、又は検出されたシーケンスの前後の取得操作により取得された画像が別のグループに含まれるように、複数の取得操作によりデバイスで取得された複数の画像を分類する。予め規定された条件のうちの少なくとも１つは、所定の操作の操作回数、操作で扱われる画像の取得時刻、及び操作で扱われる画像の情報のうちの少なくとも１つを用いて規定される。【選択図】図２
2015041234.tif 000002
【特許請求の範囲】
【請求項１】
画像の取得操作を含む、デバイスにおける複数の操作についての履歴を示す操作履歴を取得する取得手段と、
前記操作履歴から、１以上の予め規定された条件のいずれかに適合する、続けて行われる操作のシーケンスを検出する検出手段と、
前記検出されたシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、又は前記検出されたシーケンスの前後の取得操作により取得された画像が別のグループに含まれるように、複数の前記取得操作により前記デバイスで取得された複数の画像を分類する分類手段と、
を備える画像分類装置であって、
前記予め規定された条件のうちの少なくとも１つは、
所定の操作の操作回数、
操作で扱われる画像の取得時刻、及び
操作で扱われる画像の情報、
のうちの少なくとも１つを用いて規定されることを特徴とする、画像分類装置。
【請求項２】
前記予め規定された条件が、
複数の操作についての操作時刻の差を用いて規定される条件と、
操作が行われたデバイスの状態を用いて規定される条件と、
のうちの少なくとも１つをさらに含むことを特徴とする、請求項１に記載の画像分類装置。
【請求項３】
前記操作履歴は、複数のデバイスにおける操作履歴を含むことを特徴とする、請求項１又は２に記載の画像分類装置。
【請求項４】
前記予め規定された条件が、操作が行われたデバイスとは異なるデバイスの状態を用いて規定される条件をさらに含むことを特徴とする、請求項３に記載の画像分類装置。
【請求項５】
前記検出手段は、前記予め規定された条件に含まれる第１の種類の条件のいずれかに適合する第１の種類の操作のシーケンスと、前記予め規定された条件に含まれる第２の種類の条件のいずれかに適合する第２の種類の操作のシーケンスと、を検出し、
前記分類手段は、前記第１の種類の操作のシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、及び前記第２の種類の操作のシーケンスの前後の取得操作により取得された画像が別のグループに含まれるように、前記複数の取得操作により取得された複数の画像を分類する
ことを特徴とする、請求項１乃至４の何れか１項に記載の画像分類装置。
【請求項６】
前記分類手段は、
前記複数の取得操作により取得された複数の画像を複数のグループへと分類する第１の分類手段と、
前記第１の種類の操作のシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、及び前記第２の種類の操作のシーケンスの前後の取得操作により取得された画像が別のグループに含まれるように、前記第１の分類手段による分類結果を修正する第２の分類手段と、
を備えることを特徴とする、請求項５に記載の画像分類装置。
【請求項７】
前記検出手段は、前記第１の分類手段によって決定された前記複数のグループのそれぞれについて、前記グループに含まれるそれぞれの画像を取得した取得操作を含む操作列を前記操作履歴から選択し、該選択された操作列から前記第２の種類の操作のシーケンスを検出することを特徴とする、請求項６に記載の画像分類装置。
【請求項８】
前記検出手段は、前記第１の分類手段によって決定された前記複数のグループのうち画像の取得時刻に関して隣接する２つの前記グループについて、一方のグループに含まれる最も遅く取得された画像の取得時刻から第１の所定時間前と、該一方のグループに後続する他方のグループに含まれる最も早く取得された画像の取得時刻から第２の所定時間後と、の間に行われた操作列を前記操作履歴から選択し、該選択された操作列から前記第１の種類の操作のシーケンスを検出することを特徴とする、請求項６又は７に記載の画像分類装置。
【請求項９】
前記分類手段は、
前記第２の種類の操作のシーケンスの前後の取得操作により取得された画像が別のグループに含まれるように、前記複数の取得操作により取得された複数の画像を分類する第２の分類手段と、
前記第２の分類手段によって決定された前記複数のグループのそれぞれについて、前記第１の種類の操作のシーケンスが行われている時に取得された画像が同じ分類に含まれるように、該グループに含まれる画像をさらに分類する第１の分類手段と、
を備えることを特徴とする、請求項５に記載の画像分類装置。
【請求項１０】
前記第１の分類手段は、画像の取得時刻に従って分類を行うことを特徴とする、請求項６乃至９の何れか１項に記載の画像分類装置。
【請求項１１】
前記画像の取得操作は画像の撮影操作であることを特徴とする、請求項１乃至１０の何れか１項に記載の画像分類装置。
【請求項１２】
撮影装置によって撮影された前記画像を取得する手段をさらに備えることを特徴とする、請求項１１に記載の画像分類装置。
【請求項１３】
請求項１１に記載の画像分類装置と、前記画像を撮影する撮影手段と、を備えることを特徴とする撮像装置。
【請求項１４】
画像分類装置が行う画像分類方法であって、
画像の取得操作を含む、デバイスにおける複数の操作についての履歴を示す操作履歴を取得する取得工程と、
前記操作履歴から、１以上の予め規定された条件のいずれかに適合する、続けて行われる操作のシーケンスを検出する検出工程と、
前記検出されたシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、又は前記検出されたシーケンスの前後の取得操作により取得された画像が別のグループに含まれるように、複数の前記取得操作により前記デバイスで取得された複数の画像を分類する分類工程と、
を有する画像分類方法であって、
前記予め規定された条件のうちの少なくとも１つは、
所定の操作の操作回数、
操作で扱われる画像の取得時刻、及び
操作で扱われる画像の情報、
のうちの少なくとも１つを用いて規定されることを特徴とする、画像分類方法。
【請求項１５】
コンピュータに、
画像の取得操作を含む、デバイスにおける複数の操作についての履歴を示す操作履歴を取得する取得工程と、
前記操作履歴から、１以上の予め規定された条件のいずれかに適合する、続けて行われる操作のシーケンスを検出する検出工程と、
前記検出されたシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、又は前記検出されたシーケンスの前後の取得操作により取得された画像が別のグループに含まれるように、複数の前記取得操作により前記デバイスで取得された複数の画像を分類する分類工程と、
を実行させるプログラムであって、
前記予め規定された条件のうちの少なくとも１つは、
所定の操作の操作回数、
操作で扱われる画像の取得時刻、及び
操作で扱われる画像の情報、
のうちの少なくとも１つを用いて規定されることを特徴とする、プログラム。
【請求項１６】
画像の取得操作を含む、デバイスにおける複数の操作についての履歴を示す操作履歴を取得する取得手段と、
前記操作履歴から、１以上の予め規定された条件のいずれかに適合する、続けて行われる操作のシーケンスを検出する検出手段と、
前記検出されたシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、複数の前記取得操作により前記デバイスで取得された複数の画像を分類する分類手段と、
を備えることを特徴とする画像分類装置。
【請求項１７】
画像分類装置が行う画像分類方法であって、
画像の取得操作を含む、デバイスにおける複数の操作についての履歴を示す操作履歴を取得する取得工程と、
前記操作履歴から、１以上の予め規定された条件のいずれかに適合する、続けて行われる操作のシーケンスを検出する検出工程と、
前記検出されたシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、複数の前記取得操作により前記デバイスで取得された複数の画像を分類する分類工程と、
を有することを特徴とする画像分類方法。
【請求項１８】
コンピュータに、
画像の取得操作を含む、デバイスにおける複数の操作についての履歴を示す操作履歴を取得する取得工程と、
前記操作履歴から、１以上の予め規定された条件のいずれかに適合する、続けて行われる操作のシーケンスを検出する検出工程と、
前記検出されたシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、複数の前記取得操作により前記デバイスで取得された複数の画像を分類する分類工程と、
を実行させるプログラム。
【請求項１９】
画像の取得操作を含む、デバイスにおける複数の操作についての履歴を示す操作履歴を取得する取得手段と、
前記操作履歴から、１以上の予め規定された条件のいずれかに適合する、続けて行われる操作のシーケンスであって、画像表示操作、画像加工操作、及び画像整理操作のうちの少なくとも１つを含むシーケンスを検出する検出手段と、
前記検出されたシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、又は前記検出されたシーケンスの前後の取得操作により取得された画像が別のグループに含まれるように、複数の前記取得操作により前記デバイスで取得された複数の画像を分類する分類手段と、
を備えることを特徴とする画像分類装置。
【請求項２０】
画像分類装置が行う画像分類方法であって、
画像の取得操作を含む、デバイスにおける複数の操作についての履歴を示す操作履歴を取得する取得工程と、
前記操作履歴から、１以上の予め規定された条件のいずれかに適合する、続けて行われる操作のシーケンスであって、画像表示操作、画像加工操作、及び画像整理操作のうちの少なくとも１つを含むシーケンスを検出する検出工程と、
前記検出されたシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、又は前記検出されたシーケンスの前後の取得操作により取得された画像が別のグループに含まれるように、複数の前記取得操作により前記デバイスで取得された複数の画像を分類する分類工程と、
を有することを特徴とする画像分類方法。
【請求項２１】
コンピュータに、
画像の取得操作を含む、デバイスにおける複数の操作についての履歴を示す操作履歴を取得する取得工程と、
前記操作履歴から、１以上の予め規定された条件のいずれかに適合する、続けて行われる操作のシーケンスであって、画像表示操作、画像加工操作、及び画像整理操作のうちの少なくとも１つを含むシーケンスを検出する検出工程と、
前記検出されたシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、又は前記検出されたシーケンスの前後の取得操作により取得された画像が別のグループに含まれるように、複数の前記取得操作により前記デバイスで取得された複数の画像を分類する分類工程と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像分類装置、撮影装置、画像分類方法、及びプログラムに関する。
【背景技術】
【０００２】
デジタルカメラなどで撮影した画像をクラスタリングする技術が知られている。例えば、特許文献１には、撮影時刻順に並べられた複数の画像を複数のグループに分割する際に、カメラが一定時間以上電源をＯＦＦにされていた場合に、電源ＯＦＦの前後に撮影された画像を別のグループに分類する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−０５１４５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、電源ＯＦＦのようなデバイスの状態に基づいて画像をクラスタリングするのみでなく、より精度の高い画像クラスタリングを行うためのさらなる技術が求められていた。
【０００５】
本発明は、画像のクラスタリング精度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の目的を達成するために、例えば、本発明の画像分類装置は以下の構成を備える。すなわち、
画像の取得操作を含む、デバイスにおける複数の操作についての履歴を示す操作履歴を取得する取得手段と、
前記操作履歴から、１以上の予め規定された条件のいずれかに適合する、続けて行われる操作のシーケンスを検出する検出手段と、
前記検出されたシーケンスに含まれる取得操作により取得された画像が同じグループに含まれるように、又は前記検出されたシーケンスの前後の取得操作により取得された画像が別のグループに含まれるように、複数の前記取得操作により前記デバイスで取得された複数の画像を分類する分類手段と、
を備える画像分類装置であって、
前記予め規定された条件のうちの少なくとも１つは、
所定の操作の操作回数、
操作で扱われる画像の取得時刻、及び
操作で扱われる画像の情報、
のうちの少なくとも１つを用いて規定されることを特徴とする。
【発明の効果】
【０００７】
画像のクラスタリング精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態１に係る画像分類装置の物理構成の一例を示すブロック図。
【図２】実施形態１に係る画像分類装置の機能構成の一例を示すブロック図。
【図３】実施形態１で用いられるデータの構成の一例を示す図。
【図４】実施形態１で検出される操作シーケンスの例を示す図。
【図５】実施形態１における画像分類処理の一例を説明する図。
【図６】実施形態１における操作シーケンスの検出処理の一例のフローチャート。
【図７】実施形態１における操作シーケンスの検出処理の一例のフローチャート。
【図８】実施形態１におけるクラスタリング処理の一例のフローチャート。
【図９】「観賞」操作シーケンスの検出ルールを説明する図。
【図１０】「加工」操作シーケンスの検出ルールを説明する図。
【図１１】「整理」操作シーケンスの検出ルールを説明する図。
【図１２】「撮影」操作シーケンスの検出ルールを説明する図。
【図１３】「撮り直し」操作シーケンスの検出ルールを説明する図。
【図１４】「撮影中バッテリー交換」操作シーケンスの検出ルールを説明する図。
【図１５】「撮影中の容量確保」操作シーケンスの検出ルールを説明する図。
【図１６】実施形態２に係る画像クラスタリング部の構成の一例を示す図。
【図１７】実施形態２に係る画像分類処理の一例を説明する図。
【図１８】実施形態２に係る補正処理の一例を説明する図。
【図１９】実施形態３に係る画像分類装置の一例及びその処理を説明する図。
【図２０】実施形態４に係る画像分類装置の一例及びその処理を説明する図。
【図２１】実施形態２における基本クラスタリング処理の一例のフローチャート。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づいて説明する。ただし、本発明の範囲は以下の実施例に限定されるものではない。
【００１０】
［実施形態１］
実施形態１に係る画像分類装置の構成について、図１を参照して説明する。図１は、実施形態１に係る画像分類装置の構成の一例を示すブロック図である。本実施形態に係る画像分類装置は、単一のコンピュータ装置で実現してもよいし、必要に応じて複数のコンピュータ装置に各機能を分散させることにより実現してもよい。本実施形態に係る画像分類装置を複数のコンピュータ装置で構成する場合、各コンピュータ装置が互いに通信可能となるように、各コンピュータ装置はローカル・エリア・ネットワーク（ＬＡＮ）などの通信手段で接続することができる。このコンピュータ装置は、例えば、パーソナルコンピュータ（ＰＣ）又はワークステーション（ＷＳ）等の情報処理装置でありうる。一方で、このコンピュータ装置は、デジタルカメラ又はデジタルビデオカメラ等の撮像装置のような、他の情報処理装置であってもよい。すなわち、本実施形態に係る画像分類装置は、例えば、専用回路で構成される画像分類専用の装置であってもよいし、汎用のコンピュータであってもよいし、スマートフォンのような携帯デバイスであってもよいし、撮像装置であってもよい。
【００１１】
図１に示す画像分類装置１００は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、記憶装置１０４と、入力インターフェイス１０５と、出力インターフェイス１０６と、通信インターフェイス１０７と、システムバス１０８とを備える。ＣＰＵ１０１（中央処理装置）は、画像分類装置１００全体を制御する。ＲＯＭ１０２（読み出し専用メモリ）は、変更を必要としないプログラム又はパラメータ等を格納する。ＲＡＭ１０３（ランダムアクセスメモリ）は、外部装置等から供給されるプログラム又はデータを一時的に記憶する。記憶装置１０４は、画像分類装置１００に設置されたハードディスク又はメモリカード等の記憶装置である。記憶装置１０４は、フレキシブルディスク（ＦＤ）、コンパクトディスク（ＣＤ）等の光ディスク、磁気カード、光カード、ＩＣカード、又はメモリカード等の、着脱可能な記憶装置であってもよい。
【００１２】
入力インターフェイス１０５は、ポインティングデバイス又はキーボード等の入力デバイス１０９に接続され、入力デバイス１０９からユーザ操作又はユーザ入力を受け取る。出力インターフェイス１０６は、モニタ１１０等の出力デバイスに接続され、画像分類装置１００が保持するデータ又は供給されたデータ等を出力デバイスに出力する。通信インターフェイス１０７は、インターネット等のネットワーク回線１１１、又はデジタルカメラ１１２、デジタルビデオカメラ１１３若しくはスマートフォン１１４等の外部装置へと接続できる。通信インターフェイス１０７は、これらからデータを取得し、これらへとデータを送信することができる。システムバス１０８は、各ユニット１０１〜１０７を通信可能に接続する。
【００１３】
後述する本実施形態に係る機能及び動作は、ＲＯＭ１０２、ＲＡＭ１０３又は記憶装置１０４等のコンピュータが読み取り可能な記憶媒体に格納されたプログラムを、ＣＰＵ１０１が実行することにより実現することができる。
【００１４】
もっとも、前述のように画像分類装置１００がデジタルカメラ、デジタルビデオカメラ、又はスマートフォンであってもよい。この場合、画像分類装置１００は、入力デバイス１０９、モニタ１１０、及び撮像を行い得られた画像をメモリに格納する撮像部（不図示）のうちの少なくとも１つを有していてもよい。
【００１５】
次に、図２を参照して、本実施形態に係る画像分類装置１００の機能構成について説明する。本実施形態に係る画像分類装置１００は、操作シーケンス検出部２０１と、操作区間決定部２０２と、画像クラスタリング部２０３とを備える。これらの各部は、前述のように、専用のハードウェアにより実現されてもよいし、コンピュータが読み取り可能な記憶媒体に格納されたプログラムをＣＰＵ１０１が実行することにより実現されてもよい。
【００１６】
図２（Ａ）に示すように、画像分類装置１００は、「操作履歴」と「画像データ」とを入力データとして取得する。まず、この２つのデータについて説明する。
【００１７】
まず、操作履歴について図３（Ａ）を参照して説明する。図３（Ａ）は、操作履歴の一例を示す。操作履歴とは、デジタルカメラ１１２、デジタルビデオカメラ１１３、又はスマートフォン１１４等のデバイスにおける、複数の操作についての履歴を示す。本実施形態において、操作履歴を構成する１つのレコードは、機器ＩＤ・操作Ｎｏ・操作時刻・操作名・操作対象画像・バッテリー残量・メディア残量の組み合わせにより表される。図３（Ａ）に示すテーブルは、複数の操作についての履歴を示し、テーブルの１行が１つの操作に対応する。
【００１８】
機器ＩＤは、操作が行われたデバイスを特定する識別子である。機器ＩＤが同一である履歴は、同一のデバイスにおける操作の履歴である。操作Ｎｏは、操作が行われた順番を示す。例えば、同一のデバイスにおいて複数の操作を行った場合には、それぞれの操作に対応する履歴に、昇順に連続番号を付すことができる。操作時刻は、操作が行われた時刻を示す。操作名は、操作の名称であり、操作を識別するために用いる。操作名としては、具体的な操作の名称の代わりに、操作を識別する識別子等を用いてもよい。操作対象画像は、操作の対象となった画像データを示す。例えば、撮影により得られた画像データ、又は表示された画像データのＩＤ（例えばファイル名等）が、操作対象画像として記録される。
【００１９】
バッテリー残量は、操作時刻におけるデバイスのバッテリーの残量を示す。本実施形態においては、バッテリー残量は量子化されたレベルで表される。具体的には、バッテリー残量として、残量が少ないことを示すＬｏｗ、残量が多いことを示すＨｉｇｈ、残量が中程度であることを示すＭｉｄｄｌｅ等の値が記録される。しかしながら、バッテリー残量の記録方法はこれに限定されず、電源容量や駆動可能時間等の数値で表されてもよい。メディア残量は、操作時刻におけるメディアの残量を示す。本実施形態において、メディアとは、画像データ等のデータを記憶する記憶部のことを指し、メディアの残量とは、この記憶部の残り容量のことを指す。メディア残量は、複数の記憶部についての残り容量の合計であってもよい。本実施形態において、メディア残量は、バッテリー残量と同様に量子化されたレベルで表される。しかしながら、メディア残量の記録方法はこれに限定されず、例えば利用可能なバイトサイズなどの数値で表されてもよい。
【００２０】
ここで、上述した項目のうち少なくとも１つが、別のテーブルに格納されてもよい。例えば、バッテリー残量又はメディア残量は、別のデータテーブルに格納されてもよい。この場合、バッテリー残量については、機器ＩＤ・記録時刻・バッテリー残量の組を記録する別のテーブルに記録することができる。操作履歴上のある操作時刻におけるバッテリー残量を得たい場合には、このテーブルを取得し、操作時刻に近い記録時刻におけるバッテリー残量に従って、操作時刻におけるバッテリー残量を決定することができる。メディア残量についても、同様に別のデータテーブルに格納することができる。このように、本実施形態において、操作履歴のデータ表現は図３（Ａ）に示すものに限定されない。
【００２１】
また、異なる操作により、同一の動作が実現されることがある。例えば、電源ＯＮ動作が、電源ボタンの操作により行われる一方で、電源ボタン以外の操作により行われてもよいし。一方で、同一の操作により、異なる動作が実現されることもある。例えば、電源ボタンを操作した場合に、電源ＯＮ状態ならば電源ＯＦＦ動作が行われ、電源ＯＦＦ状態ならば電源ＯＮ動作が行われてもよい。また、操作が動作に関係するが、操作が動作に直結するわけではないこともある。例えば、メニュー選択を行う場合、十字キーが操作されると、決定ボタン等により実行された際に動作が行われる。十字キーにより直接動作が行われるわけではないが、十字キーの操作は動作に関係している。本実施形態においては、こうした表層的な操作により実際に行われる動作を、操作履歴として記録する。しかしながら、操作履歴の記録方法はこれに限られず、上記の十字キーの操作のような表層的な操作履歴を、操作履歴として記録してもよい。
【００２２】
また、１つの操作により複数の動作が行われることもある。例えば、多くのカメラにおいては、「電源ＯＮ」になると同時に撮影モードに入る。このように、「電源ＯＮ」操作により、「電源ＯＮ」と「撮影モード選択」とが同時に行われる。同様に、再生モードを選択することにより直前に撮影された画像が表示されてもよい。この場合、「再生モード選択」操作により、「再生モード選択」と「画像表示」が同時に行われる。さらには、撮影モードにある場合に再生モードが選択されると、「撮影モード終了」「再生モード選択」「画像表示」が同時に行われる。このように、１つの操作により複数の動作を行う場合には、操作名として、１つの操作により１つの操作を行う場合とは別の操作名を記録することができる。別名としては例えば「撮影モード終了・再生モード選択・画像表示」等でありうる。また、後述する検出ルールに従う検出動作において、このことを考慮して検出を行ってもよい。例えば、検出ルールに従って「撮影モード選択」に一致する履歴を検出する場合、操作名が「電源ＯＮ」である履歴も一致しているとみなすことができる。本実施形態においては、後者の方法、すなわち１つの操作が複数の動作に対応することを考慮して検出動作を行う方法を採用するものとする。しかしながら、前者の方法、すなわち別の操作名を記録する方法を用いてもよく、複数の動作に対応する操作の取り扱い方は特に限定されない。
【００２３】
また、システムによる自動的な操作を記録してもよい。例えば、電源ＯＮ状態で装置を放置している場合に、装置が自動的に電源ＯＦＦ状態へと移行してもよい。こうした自動的な操作を、操作履歴に含めてもよい。このとき、ユーザによる操作か、デバイスによる自動操作か、を示す情報を操作履歴に残してもよい。このように、操作履歴はデバイスが行った操作を含んでもよい。
【００２４】
次に、本実施形態で用いる画像データについて図３（Ｂ）を参照して説明する。本実施形態においては、画像データがクラスタリングの対象として扱われる。本実施形態において、画像データは、画像ＩＤと機器ＩＤと撮影時刻と画像本体データとで構成される。画像ＩＤは、画像を特定する識別子である。この画像ＩＤは、図３（Ａ）に示す「操作対象画像」と同様の情報でありうる。機器ＩＤは、画像を生成したデバイスを特定する識別子である。この機器ＩＤは、図３（Ａ）に示す「機器ＩＤ」と同様の情報でありうる。撮影時刻は、画像の撮影を行った日時を示す情報である。撮影時刻が不明であるときは、画像データの生成日時が撮影時刻として記録されてもよい。画像本体データは、画像の内容を示すデータであり、例えば画像のピクセル情報などでありうる。画像本体データの代わりに、画像ファイルの所在を示す情報を記録してもよい。例えば、記憶装置等に記憶された画像ファイルのファイルパスを、画像本体データの代わりに画像データの一部として保持してもよい。画像本体データが必要な場合、ファイルパスを参照して記憶装置上のデータを特定し、このデータを取得することができる。このように、本実施形態における画像データのデータ表現は、図３（Ｂ）に示すものに限定されない。
【００２５】
図３（Ｂ）には、Ｉｍａｇｅ００１〜Ｉｍａｇｅ００４の４つの画像データが示されている。いずれの画像データもＣａｍｅｒａ１で生成されたデータであり、撮影時刻は図示の通りである。画像本体データはバイナリデータであるため、図３（Ｂ）においては省略されている。
【００２６】
次に、グループについて図３（Ｃ）を用いて説明する。グループはデータのまとまりであり、本実施形態においては画像データのまとまりである。本実施形態においては、画像データについてグループ分けが行われ、この結果が出力される。本実施形態において、グループは、グループＩＤと画像ＩＤとの組を含むテーブルにより表現される。本実施形態におけるグループテーブルの例を図３（Ｃ）に示す。同一のグループＩＤが付された画像ＩＤに対応する画像は、１つのグループを形成する。例えば、Ｇｒ００１はＩｍａｇｅ００１とＩｍａｇｅ００２の２つを含むグループである。また、Ｇｒ００２はＩｍａｇｅ００３とＩｍａｇｅ００４の２つを含むグループである。
【００２７】
本実施形態においては、それぞれのグループは階層的な関係にはないものとする。しかしながら、それぞれのグループが階層的な関係を有していてもよい。この場合、この階層的な関係は、それぞれのグループＩＤについての親子関係を示すテーブルにより表現し、出力することができる。
【００２８】
また、グループＩＤと、開始時刻及び終了時刻と、の組を含むテーブルにより、グループを表現することもできる。この場合、開始時刻と終了時刻との間の撮影時刻を有する複数の画像データが、グループＩＤに対応するグループを構成する。すなわち、例えば画像分類装置の外部において、グループの開始時刻と終了時刻の間に撮影時刻がある画像データを特定することにより、同一のグループにある画像データを特定することができる。さらには、グループを分ける境界位置を用いてグループを表現してもよい。例えば、画像ＩＤの大きさに従ってグループ分けを行う場合に、グループ境界の前後にある２つの画像についての画像ＩＤの組により、この境界を表すことができる。すなわち、境界を表す２つの画像ＩＤの組を有するテーブルにより、グループを表現することができる。また、撮影時刻に従ってグループ分けを行う場合には、グループ分けの境界に対応する時刻により、グループを表現することができる。これらの場合、画像分類装置の外部において、境界を示す画像ＩＤ又は撮影時刻等を参照して、境界位置に従って画像データを分けることにより、グループ分けを行うことができる。このように、グループを表すためのデータ表現は、図３（Ｃ）に示すものに限定されない。
【００２９】
次に、本実施形態で用いられる操作シーケンスについて図３（Ｄ）を参照して説明する。操作シーケンスは、操作履歴上に出現する一連の操作列を指す。本実施形態で扱われる操作シーケンスの種類を図４に示す。例えば、「撮り直し」は、撮影後に撮影画像を確認する操作と再度撮影する操作とを含む操作列である。もっとも、操作シーケンスの種類が図４に示されるものに限られるわけではなく、他の操作シーケンスが考慮されてもよい。
【００３０】
本実施形態において、操作シーケンスは、第１の種類の操作のシーケンスと、第２の種類の操作のシーケンスとの２つに分類される。以下では、第１の種類の操作のシーケンスを連続操作と呼び、第２の種類の操作のシーケンスを境界操作と呼ぶ。境界操作は、撮影を行わないときに出現する操作シーケンスであり、予め規定された第２の種類の条件に適合するシーケンスである。一方、連続操作は、連続して撮影を行うときに出現する操作シーケンスであり、予め規定された第１の種類の条件に適合するシーケンスである。本実施形態においては、操作シーケンスのうち「観賞」「加工」及び「整理」が、境界操作として分類される。一方で、操作シーケンスのうち「撮影」「撮り直し」「撮影中のバッテリー交換」及び「撮影中の容量確保」が、連続操作として分類される。
【００３１】
図３（Ｄ）は、操作シーケンスの記録例を示す。それぞれの操作シーケンスの記録は、操作シーケンス名・開始機器ＩＤ・開始操作Ｎｏ・終了機器ＩＤ・終了操作Ｎｏ・開始時刻・終了時刻で構成されている。操作シーケンス名は、操作シーケンスの名称である。開始機器ＩＤは操作シーケンスの最初の操作が行われたデバイスのＩＤであり、終了機器ＩＤは操作シーケンスの最後の操作が行われたデバイスのＩＤである。開始操作Ｎｏは、操作シーケンスの最初の操作の操作Ｎｏであり、終了操作Ｎｏは、操作シーケンスの最後の操作の操作Ｎｏである。開始機器ＩＤ及び開始操作Ｎｏを参照して操作履歴を検索することにより、操作シーケンスの最初の操作に関連付けられた操作時刻、操作対象画像、バッテリー残量、及びメディア残量を特定することができる。また、終了機器ＩＤと終了操作Ｎｏとを参照して操作履歴を検索することによっても、同様に操作シーケンスの最後の操作に関連づけられた情報を得ることができる。開始時刻及び終了時刻は、操作シーケンスの開始時刻及び終了時刻を表す。例えば、開始時刻及び終了時刻は、操作シーケンスの最初の操作の操作時刻及び最後の操作の操作時刻であってもよい。以下では、開始時刻から終了時刻までの区間を操作区間と呼ぶ。
【００３２】
図３（Ｄ）には、例として、「撮影」「観賞」という２つの操作シーケンスの記録が記載されている。図３（Ｄ）のように操作シーケンスを構成する最初及び最後の操作の操作ＩＤを記録する代わりに、操作シーケンスを構成する各操作を列記することによって操作シーケンスを記録してもよい。また、後述する操作シーケンスの分類を示す情報、例えば境界操作か連続操作かを示す情報、をさらに記録してもよい。このように、本実施形態における操作シーケンスの表現方法は図３（Ｄ）のものに限定されない。
【００３３】
ここで、画像分類装置１００が有する機能構成について説明する。操作シーケンス検出部２０１は、操作履歴から操作シーケンスを検出する。具体的には、操作シーケンス検出部２０１は、所定の検出ルールに従って操作シーケンスを検出する。操作シーケンスとは、続けて行われる操作により構成される操作列である。この検出ルールは、操作シーケンスを構成する操作の配列を規定する条件であって、予め規定されている。すなわち、操作シーケンス検出部２０１は、操作履歴から、検出ルールに合致する一連の操作列を特定する。そして、操作シーケンス検出部２０１は、特定された操作シーケンスを図３（Ｄ）に示すように記録する。本実施形態においては、操作シーケンス検出部２０１は、操作シーケンスの最初及び最後の操作についての情報を主に用いて、図３（Ｄ）に示す「操作シーケンス名・開始機器ＩＤ・開始操作Ｎｏ・終了機器ＩＤ・終了操作Ｎｏ」で構成される情報を生成する。図３（Ｄ）に示される情報のうち開始時刻及び終了時刻は、後述する操作区間決定部２０２によって生成される。
【００３４】
操作区間決定部２０２は、操作シーケンス検出部２０１によって検出された操作シーケンスについての操作区間を決定する。本実施形態において、操作区間決定部２０２は、操作シーケンスの最初及び最後の操作についての操作時刻を特定する。具体的には、操作区間決定部２０２は、操作シーケンス検出部２０１が検出した開始機器ＩＤ及び開始操作Ｎｏに対応する、操作シーケンスの最初の操作についての操作時刻を、操作履歴を参照して取得する。同様に、操作区間決定部２０２は、操作シーケンス検出部２０１が検出した終了機器ＩＤ及び終了操作Ｎｏに対応する、操作シーケンスの最後の操作についての操作時刻を、操作履歴を参照して取得する。操作区間決定部２０２は、開始時刻及び終了時刻として、こうして得られた操作シーケンスの最初及び最後の操作についての操作時刻を用いることができる。操作区間決定部２０２は、決定された開始時刻及び終了時刻の情報を、図３（Ｄ）に示されるように記録する。こうして、開始時刻及び終了時刻により定められる操作区間も特定される。
【００３５】
開始時刻及び終了時刻が、操作シーケンスの最初及び最後の操作についての操作時刻に一致する必要はない。例えば、画像の加工を行う場合には、再生モードで加工対象の画像を探してから、加工モードに移行することが多い。また、画像の加工後に再生モードで加工後の画像を見ることもある。そこで、「加工」操作シーケンスの開始時刻を、加工モードに入る直前の、再生モードを開始する操作の操作時刻とすることができる。また、「加工」操作シーケンスの終了時刻を、加工モードが終了した直後の、再生モードを終了する操作の操作時刻とすることもできる。しかしながら、加工モードの前後における再生モードの期間が長すぎる場合には、再生モードの全期間が画像の加工に関係しているとは限らない。そこで、加工モードを開始する操作の操作時刻から所定時間前であって、再生モードを開始する操作の操作時刻より後の時刻を、「加工」操作シーケンスの開始時刻としてもよい。こうして、加工モードに移行する少し前を、開始時刻として記録することができる。同様に、電源ＯＮ操作の後に再生モードを選択して画像の鑑賞を行う場合に、電源ＯＮ操作の操作時刻を、「鑑賞」操作シーケンスの開始時刻として記録してもよい。このように、本実施形態における操作区間の決定方法は、上述のものに限定されない。
【００３６】
画像クラスタリング部２０３は、操作シーケンス検出部２０１によって検出され、操作区間決定部２０２によって操作区間が決定された操作シーケンスの情報を参照して、画像データを分類する。分類される画像データには、操作履歴に含まれる複数の取得操作、例えば撮影操作、により、操作履歴を記録しているデバイスで取得された複数の画像データが含まれる。画像クラスタリング部２０３は、カメラ等の撮影装置による画像の取得操作によって取得した画像データを分類してもよい。この場合、画像分類装置１００は、撮影装置によって撮影された画像データを取得する画像取得部（不図示）を備えていてもよい。また、画像分類装置１００が、画像を撮影する撮影部（不図示）を備える撮影装置に含まれていてもよく、この場合、画像クラスタリング部２０３は、撮影部による画像の取得操作によって取得した画像データを分類してもよい。
【００３７】
本実施形態において、画像クラスタリング部２０３は、画像データを日時順に並べてから、操作シーケンスの情報を参照して画像データを分類する。画像クラスタリング部２０３は、さらに操作クラスタリング部２０４を有する。操作クラスタリング部２０４は、境界操作を示す操作シーケンスを参照して、画像データを分類する。クラスタリング処理の処理については後述する。
【００３８】
次に、画像分類装置１００が行う画像分類処理について、図５を参照して説明する。図５（Ａ）は、本実施形態に係る画像分類処理のフローチャートである。また、図５（Ｂ）は、本実施形態に係る画像分類処理の概念を示す図である。図５（Ｂ）においては、時間軸に沿って操作履歴に含まれるそれぞれの操作が図示されている。下向きの三角５１１は、撮影操作を示す。また、上向きの三角５１２は、撮影以外の操作を示す。
【００３９】
ステップＳ５０１において操作シーケンス検出部２０１は、操作履歴から操作シーケンスを検出する。本実施形態において操作シーケンス検出部２０１は、図４に示される種類の操作シーケンスの全てを検出する。図５（Ｂ）には、操作履歴から検出された操作シーケンス５１３が示されている。具体的には、「撮影」（Ｃ）、「鑑賞」（Ｖ）、及び「加工」（Ａ）操作シーケンスが検出されている。ステップＳ５０１の詳細については後述する。
【００４０】
ステップＳ５０２において操作区間決定部２０２は、ステップＳ５０１で検出された操作シーケンスについての操作区間を決定する。操作区間の決定方法は、前述した通りである。
【００４１】
ステップＳ５０３において画像クラスタリング部２０３は、画像データを分類する。本実施形態において、画像クラスタリング部２０３は、境界操作の操作シーケンスに従って画像データを分類する。図５（Ｂ）には、境界操作の操作シーケンスについては、ラベル５１４（Ｂ）が付されている。ステップＳ５０３におけるクラスタリングの結果、囲み５１５で示されるように、３つのグループが形成される。それぞれのグループは、境界操作（Ｂ）によって区切られている。ステップＳ５０３の詳細については後述する。
【００４２】
以上のように、本実施形態においては、操作履歴に現れる操作シーケンスを検出し、境界操作に分類される操作シーケンスを用いて、画像データの分類が行われる。
【００４３】
次に、ステップＳ５０１の詳細について、図６を参照して説明する。図６は、ステップＳ５０１の処理を示すフローチャートである。画像分類装置１００は、以下で用いられる操作シーケンスの検出ルールを、予め検出ルールリストとして保持しているものとする。図４は、この検出ルールリストの例である。図４のリストにおいては、操作シーケンスの識別子である「番号」と、「操作シーケンス名」と「分類」（境界操作又は連続操作）と、「検出ルール」とが対応付けられている。図４においては、説明のために、「検出ルール」にはフローチャートを表す図の番号が示されているが、通常は、検出ルールを規定するプログラムのメモリ上での開始位置などが「検出ルール」として記録される。
【００４４】
ステップＳ６０１及びステップＳ６０６は、それぞれの検出ルール番号について実行されるループ区間を示す。ステップＳ６０１は、ループの開始を示す。１回目のループにおいては、操作シーケンス検出部２０１は、ルール番号ｒを１に初期化する。２回目以降のループにおいては、ｒが検出ルールの数を超えていない場合には処理はステップＳ６０２へ移行する。また、ｒが検出ルールの数を超えている場合にはループが終了し、ステップＳ５０１の処理も終了する。
【００４５】
ステップＳ６０２において、操作シーケンス検出部２０１は、ルール番号ｒに対応する検出ルールを、検出ルールリストから選択する。ステップＳ６０３において、操作シーケンス検出部２０１は、Ｓ６０２で選択した検出ルールを用いて、操作履歴から操作シーケンスを検出する。ステップＳ６０３の詳細については後述する。
【００４６】
ステップＳ６０４において、操作シーケンス検出部２０１は、ステップＳ６０３において操作シーケンスが検出されたか否かを判定する。操作シーケンスが検出されていた場合、処理はステップＳ６０５へ移る。操作シーケンスが検出されていない場合、処理はステップＳ６０６へ移る。
【００４７】
ステップＳ６０５において、操作シーケンス検出部２０１は、ステップＳ６０３で検出された操作シーケンスを記録する。具体的には、操作シーケンス検出部２０１は、図３（Ｄ）に示すように、操作シーケンス名・開始機器ＩＤ・開始操作Ｎｏ・終了機器ＩＤ・終了操作Ｎｏの情報を生成して保持する。本実施形態において、操作シーケンス検出部２０１は、図４に示されるルール番号ｒに対応する操作シーケンス名を、操作シーケンス名とて記録する。また、ステップＳ６０３では、操作シーケンスの最初及び最後の操作についての操作履歴が特定されている。操作シーケンス検出部２０１は、操作シーケンスの最初の操作についての機器ＩＤ及び操作Ｎｏを、開始機器ＩＤ及び開始操作Ｎｏとして記録する。また、操作シーケンス検出部２０１は、操作シーケンスの最後の操作についての機器ＩＤ及び操作Ｎｏを、終了機器ＩＤ及び終了操作Ｎｏとして記録する。
【００４８】
ステップＳ６０６は、ループ区間の終端である。ステップＳ６０６において、操作シーケンス検出部２０１は、ルール番号ｒに１を加算し、その後処理はステップＳ６０１へ戻る。
【００４９】
次に、図７を参照して、ステップＳ６０３の処理について詳しく説明する。図７は、ステップＳ６０３における処理のフローチャートである。ステップＳ６０３の開始時には、既にｒ番目の検出ルールが選択されている。ステップＳ６０３においては、この選択されている検出ルールに従い、操作シーケンスが検出される。
【００５０】
ステップＳ７０１及びステップＳ７０６は、繰り返されるループ区間を示す。ステップＳ７０１は、ループ区間の開始を示す。１回目のループにおいては、操作シーケンス検出部２０１は、変数ｉを１に初期化する。変数ｉは、操作履歴に含まれるそれぞれの操作の番号を示す。最初の操作の番号は１であり、２番目の操作の番号は２であり、以下同様である。２回目以降のループにおいては、ｉが操作履歴に含まれる操作の数（操作履歴長）を超えていない場合には処理はステップＳ７０２へ移行する。また、ｉが操作の数を超えている場合にはループが終了し、ステップＳ６０３の処理も終了する。
【００５１】
ステップＳ７０２において、操作シーケンス検出部２０１は、変数ｉで示される操作を起点として、ステップＳ６０３で選択された検出ルールを適用する。具体的には、操作シーケンス検出部２０１は、変数ｉで示される操作に後続する操作列について、操作シーケンスを検出するための検出ルールに適合するか否かを判定する。適合する場合には、変数ｉで示される操作に後続する操作列は、ステップＳ６０３で選択された検出ルールに対応する操作シーケンスである。それぞれの検出ルールについてステップＳ７０２において行われる処理の詳細は、図９〜１５のフローチャートを参照して後述する。
【００５２】
ステップＳ７０３において、操作シーケンス検出部２０１は、ステップＳ７０２で操作シーケンスが検出できたか否かを判定する。操作シーケンスが検出されていた場合、処理はＳ７０４へ移る。操作シーケンスが検出されていない場合、処理はステップＳ７０６へ移る。
【００５３】
ステップＳ７０４において、操作シーケンス検出部２０１は、ステップＳ７０２で検出された操作シーケンスを記録する。操作シーケンスの記録方法については、上述した通りである。記録された操作シーケンスは、ステップＳ６０４〜Ｓ６０５等において参照される。ステップＳ７０５において、操作シーケンス検出部２０１は、ステップＳ７０２で検出された操作シーケンスに含まれる最後の操作を示すように、変数ｉを変更する。
【００５４】
ステップＳ７０６は、ループ区間の終端である。ステップＳ７０６において、操作シーケンス検出部２０１は、変数ｉに１を加算し、その後処理はステップＳ７０１へ戻る。
【００５５】
次に、ステップＳ５０３における処理の詳細について、図８を参照して説明する。図８は、ステップＳ５０３における処理のフローチャートである。ステップＳ５０３の開始時には、操作履歴から操作シーケンスが検出されている。ステップＳ５０３においては、この操作シーケンスを参照してクラスタリング処理が行われる。
【００５６】
ステップＳ８０１において画像クラスタリング部２０３は、画像データを撮影時刻の昇順にソートし、得られた画像データ列を保持する。
【００５７】
ステップＳ８０２において画像クラスタリング部２０３は、画像データ列の先頭の画像データを含む新しいグループを作成する。この先頭の画像データは、撮影時刻が一番古い画像データである。そして、ステップＳ８０２で作成されたグループを、現在のグループと呼ぶ。現在のグループは、以下のステップＳ８０６，Ｓ８０７で参照される。
【００５８】
ステップＳ８０３及びステップＳ８０８は、ループ区間を示す。ステップＳ８０３は、ループ区間の開始を示す。１回目のループにおいては、画像クラスタリング部２０３は、画像データ列上の位置を示す変数ｉを２に初期化する。以下では、画像データ列上の位置ｉにある画像データを「画像データｉ」と呼ぶ。２回目以降のループにおいては、ｉが画像データ数を超えていない場合には処理はステップＳ８０４へ移行する。また、ｉが画像データ数を超えている場合にはループが終了し、ステップＳ５０３の処理も終了する。
【００５９】
ステップＳ８０４において画像クラスタリング部２０３は、では、画像データｉ−１と画像データｉの撮影時刻の間で行われた境界操作を抽出する。境界操作は、ステップＳ５０２で検出された操作シーケンスに従って、抽出することができる。具体的には、画像クラスタリング部２０３は、ステップＳ５０２で検出された操作シーケンスから、境界操作を選び出す。それぞれの操作シーケンスが境界操作であるか否かは、例えば、図４に示す検出ルールリストを参照して判定することができる。さらに、画像クラスタリング部２０３は、「操作区間の開始時刻が画像データｉ−１の撮影時刻以後であり、かつ操作区間の終了時刻が画像データｉの撮影時刻以前である」という条件を満たす境界操作を抽出する。
【００６０】
ステップＳ８０５において画像クラスタリング部２０３は、ステップＳ８０４で抽出した境界操作を参照して、画像データｉ−１と画像データｉとの間に境界を設けるか否かを判定する。具体的には、ステップＳ８０４で境界操作が抽出された場合には、画像クラスタリング部２０３は、境界を設けることを決定する。そして、境界が無い場合には、処理はステップＳ８０６へ移る。一方で、境界があった場合は、処理はステップＳ８０７へ移る。
【００６１】
ステップＳ８０６において画像クラスタリング部２０３は、現在のグループに画像データｉを追加する。
【００６２】
ステップＳ８０７において画像クラスタリング部２０３は、画像データｉを含む新しいグループを作成し、現在のグループとする。こうして、画像データｉ−１までの画像データを含むグループと、画像データｉから先の画像データを含むグループとが形成される。
【００６３】
ステップＳ８０８は、ループ区間の終端である。ステップＳ７０８において、画像クラスタリング部２０３は、変数ｉに１を加算し、その後処理はステップＳ８０３へ戻る。
【００６４】
以上の処理により、２つの画像データの撮影時刻の間で境界操作が行われている場合には、この２つの画像データが別々のグループに入るように、クラスタリングが行われる。言い換えれば、境界操作の前後における取得操作（例えば撮影操作）により取得された画像が別のグループに含まれるように、クラスタリングが行われる。クラスタリングの結果の出力方法は特に限定されない。例えば、各グループに含まれる画像データを識別する情報を作成し、この情報を出力することができる。また、撮影時刻に関して、グループ間の境界に対応する時刻を出力してもよい。
【００６５】
本実施形態においては、画像クラスタリング部２０３は、ステップＳ８０５において、境界操作の有無によって、境界を設けるか否かを判定している。しかしながら、境界を設けるか否かの判定方法はこの方法に限られない。例えば、２つの画像データの撮影時刻の間でより多くの境界操作が行われている場合には、２つの画像データの撮影時刻の間で１回の境界操作が行われている場合よりも、この２つの画像データ間に境界が存在する可能性が高い。言い換えれば、このような場合には２つの画像データの関連性は低い可能性が高い。そこで、境界操作の数を考慮して、境界を設けるか否かを判定してもよい。例えば、境界操作の数が所定数以上の場合に、境界を設けてもよい。
【００６６】
また、２つの画像データの撮影時刻の間でより長い時間の境界操作が行われている場合にも、この２つの画像データ間に境界が存在する可能性が高い。そこで、境界操作の時間を考慮して、境界を設けるか否かを判定してもよい。例えば、境界操作の総時間長が所定時間以上の場合に、境界を設けてもよい。
【００６７】
さらに、操作シーケンスの種類に応じて境界を設けるか否かを判定してもよい。また、「鑑賞」操作シーケンスを検出する際には、操作シーケンスにおける閲覧回数がカウントされる。この閲覧回数が多いほど、この２つの画像データ間に境界が存在する可能性が高い。同様に、「鑑賞」操作シーケンスにおいて、画像の表示時刻（操作時刻）と、その画像の撮影時刻との差が大きい場合、例えば差が所定の閾値以上である場合にも、この「鑑賞」操作シーケンスが画像データ間の境界を示している可能性が高い。なぜなら、時刻の差が小さい場合には、撮影条件の変更のために最近の撮影画像を確認している可能性が高く、時刻の差が大きい場合には、撮影を中断して過去の撮影画像を鑑賞している可能性が高いからである。そこで、こうした操作シーケンスの内容に応じて、境界を設けるか否かを判定してもよい。
【００６８】
また、境界操作だけではなく連続操作も参照して、境界を設けるか否かを判定してもよい。例えば、隣り合う２つの画像データの撮影時刻の間における連続操作が検出されている場合、又は隣り合う２つの画像データの少なくとも一方について撮影時刻を含む連続操作が検出されている場合には、２つの画像データ間には境界が存在しない可能性が高い。なぜなら、連続操作が検出されている場合には、画像が連続して撮影されており、２つの画像データの関連性が高い可能性が高いからである。このような場合には、境界を設けなくてもよい。さらに、隣り合う２つの画像データの撮影時刻の間で複数の操作シーケンスが検出されている場合には、操作シーケンスに付された優先順位に従い、優先順位の高い操作シーケンスに従って境界を設けるか否かを判定してもよい。一方で、境界操作を参照しない場合には、ステップＳ５０２において操作シーケンス検出部２０１は境界操作のみを検出してもよい。
【００６９】
上述の、境界操作の数、境界操作の時間、操作シーケンスの種類、操作シーケンスの内容、及び連続操作の存在等を組み合わせて、境界を設けるか否かを判定してもよい。例えば、それぞれの要素に応じて、境界が存在する可能性を示すパラメータ値を決定し、決定されたパラメータ値の合計と閾値とを比較することにより、境界を設けるか否かを判定してもよい。この閾値は予め定められていてもよいし、例えばユーザの指定により決定されてもよい。こうした条件に従って判断を行うことにより、より正確に境界を検出することができる。もっとも、境界を設定するか否かを判定するために参照される条件は上述のものに限定されず、任意の条件を参照することができる。
【００７０】
（操作シーケンスの検出ルール）
以下に、「鑑賞」「加工」「整理」「撮影」「撮り直し」「撮影中バッテリー交換」「撮影中の容量確保」操作シーケンスのそれぞれの検出ルールの例を説明する。以下の処理に従って、ステップＳ７０２において、操作シーケンス検出部２０１は、操作シーケンスを検出する。
【００７１】
（検出ルール１：観賞）
本実施形態で用いられる、「観賞」操作シーケンスを検出するための検出ルールについて、図９のフローチャートを参照して説明する。この検出ルールでは、ゆっくりとした画像閲覧を行う操作シーケンスを検出する。本実施形態では、一定時間以上の時間をかけた画像表示を所定回数以上行う操作列を、「観賞」操作シーケンスとして検出する。
【００７２】
以下、具体的な検出処理について説明する。上述したように、ステップＳ７０２の開始時には、検出の起点となる操作が変数ｉによって指定されている。以下では、検出の起点となる操作のことを起点位置と呼ぶ。すなわち、起点位置の操作に後続する操作列について、検出ルールに適合するか否かが判定される。
【００７３】
ステップＳ９０１において、操作シーケンス検出部２０１は、起点位置の操作名が「再生モードの選択」であるか否かを判定する。そうである場合、処理はステップＳ９０２に進む。そうではない場合は、「観賞」操作シーケンスの検出処理は終了する。
【００７４】
ステップＳ９０２において、操作シーケンス検出部２０１は、閲覧回数を示す変数を０に初期化する。
【００７５】
ステップＳ９０３及びＳ９０７は、ループ区間を示す。ステップＳ９０３は、ループ区間の開始を示す。１回目のループにおいては、操作シーケンス検出部２０１は、操作履歴上の操作の番号を示す変数ｊを起点位置の番号に初期化する。以下では、変数ｊによって示される操作を操作ｊと呼ぶ。２回目以降のループにおいては、変数ｊが操作履歴に含まれる最後の操作の番号以下である場合には処理はステップＳ９０４へ進む。また、変数ｊが最後の操作の番号を超えている場合には、「観賞」操作シーケンスの検出処理は終了する。
【００７６】
ステップＳ９０４において、操作シーケンス検出部２０１は、操作ｊの操作名を参照して処理を切り替える。具体的には、操作ｊの操作名が「画像表示」である場合、処理はステップＳ９０５へ移る。また、操作ｊの操作名が「再生モードの終了」である場合、処理はステップＳ９０８へ移る。それ以外の場合は、処理はステップＳ９０７へ移る。
【００７７】
ステップＳ９０５において、操作シーケンス検出部２０１は、操作ｊによる画像表示時間が閾値以上であるか否かを判定する。表示時間は、次の画像を表示する操作が行われるまでの時間、又は画像表示を終了するまでの時間であり、例えば、操作履歴に示される操作ｊ＋１の操作時刻を参照して決定することができる。表示時間が閾値以上である場合、処理はステップＳ９０６へ移る。それ以外の時は、処理はステップＳ９０７へ移る。
【００７８】
ステップＳ９０６において、操作シーケンス検出部２０１は、閲覧回数を示す変数に１を加算する。
【００７９】
ステップＳ９０７は、ループ区間の終端である。ステップＳ９０７において、操作シーケンス検出部２０１は、変数ｊに１を加算し、その後処理はステップＳ９０３へ戻る。
【００８０】
ステップＳ９０８において、操作シーケンス検出部２０１は、閲覧回数を示す変数が閾値以上であるか否かを判定する。閾値以上である場合、処理はステップＳ９０９へ移る。それ以外のときは、「観賞」操作シーケンスの検出処理は終了する。
【００８１】
ステップＳ９０９において、操作シーケンス検出部２０１は、起点位置の操作から操作ｊまでを、「観賞」操作シーケンスとして検出する。
【００８２】
「画像表示」という操作は、撮影者の意識が撮影へと向いていないことを示す。さらに、「画像表示」操作の回数が多いことは、撮影へと意識が向いていないことをより明確に示す。この検出ルールで検出される「鑑賞」操作シーケンスは、デバイス操作者の意識が、撮影ではなく、画像の閲覧に向かっていることを示す。このように、操作時刻において撮影に意識が向いていなかったことは、撮影対象となるイベントが存在していなかったことを示唆する。このために、「鑑賞」操作シーケンスは、グループの境界を発見する手がかりとなる。
【００８３】
ステップＳ９０５においては、表示画像の撮影時刻と操作時刻との差が閾値以上であることを、さらなるＡＮＤ条件として加えてもよい。例えば、操作ｊにおける画像表示時間が閾値以上であり、かつ表示画像の撮影時刻と操作時刻との差が閾値以上である場合に、処理がステップＳ９０６へと移ってもよい。表示画像の撮影時刻と操作時刻との差が閾値以上であることは、昔の画像を閲覧していることを示し、したがって操作時刻における現在のイベントではなく、過去の時点に撮影者の意識が向いていることを示す。このような変形例においては、より信頼性の高い境界操作として、「観賞」操作シーケンスを検出することができる。
【００８４】
また、ステップＳ９０１，９０５においては、メディア残量が十分あることを、さらなるＡＮＤ条件として加えてもよい。このような変形例においては、メディアの容量確保のために削除すべき画像をじっくりと選ぶ操作は、「観賞」操作シーケンスであるとはみなされない。
【００８５】
本実施形態のステップＳ９０５においては、表示時間が算出された。しかしながら、検出ルールの適用にあたって表示時間は何度も参照されるため、予め表示時間を計算し、操作履歴として保持してもよい。この場合は、図３（Ａ）に示す操作履歴に、「表示時間」等の項目を追加することができる。このように、操作履歴に含まれるデータは、操作履歴の前処理により追加されたものであってもよい。
【００８６】
（検出ルール２：加工）
本実施形態で用いられる、「加工」操作シーケンスを検出するための検出ルールについて、図１０のフローチャートを参照して説明する。この検出ルールでは、操作時刻からかなり前に撮影された画像の加工を行う操作列を、「加工」操作シーケンスとして検出する。
【００８７】
以下、具体的な検出処理について説明する。以下では、「鑑賞」操作シーケンスと同様、起点位置の操作に後続する操作列について、検出ルールに適合するか否かが判定される。
【００８８】
ステップＳ１００１において、操作シーケンス検出部２０１は、起点位置の操作の操作名が「加工モードの選択」であるか否かを判定する。そうである場合、処理はステップＳ１００２へ移る。それ以外の場合は、「加工」操作シーケンスの検出処理は終了する。
【００８９】
ステップＳ１００２において、操作シーケンス検出部２０１は、画像の加工が行われていることを示す加工フラグをＯＦＦに初期化する。
【００９０】
ステップＳ１００３及びＳ１００７は、ステップＳ９０３及びＳ９０７と同様のループ区間を示し、説明は省略する。
【００９１】
ステップＳ９０４において、操作シーケンス検出部２０１は、操作ｊの操作名を参照して処理を切り替える。具体的には、操作ｊの操作名が「加工画像の保存」である場合、処理はステップＳ１００５へ移る。また、操作ｊの操作名が「加工モードの終了」である場合、処理はステップＳ１００８へ移る。それ以外の場合は、処理はステップＳ１００７へ移る。
【００９２】
ステップＳ１００５において、操作シーケンス検出部２０１は、操作ｊにおいて保存される加工画像の撮影時刻と、操作ｊの操作時刻との差が閾値以上であるか否かを判定する。この差は、操作時刻から撮影時刻を引くことで求めることができる。差が閾値以上である場合、処理はステップＳ１００６へ移る。それ以外の場合、処理はステップＳ１００７へ移る。
【００９３】
ステップＳ１００６において、操作シーケンス検出部２０１は、加工フラグをＯＮにする。
【００９４】
ステップＳ１００８において、操作シーケンス検出部２０１は、加工フラグがＯＮであるか否かを判定する。加工フラグがＯＮである場合、処理はステップＳ１００９へ移る。それ以外の場合、「加工」操作シーケンスの検出処理は終了する。
【００９５】
ステップＳ１００９において、操作シーケンス検出部２０１は、起点位置の操作から操作ｊまでを「加工」操作シーケンスとして検出する。
【００９６】
「加工画像の保存」という操作は、撮影に撮影者の意識が向いていないことを示唆する。また、加工対象の画像が操作時点よりも過去の画像であることは、操作時点で撮影者の意識が過去に向いていたことを示す。したがって、「加工」操作シーケンスは、「鑑賞」操作シーケンスと同様、グループの境界を発見する手がかりとなる。
【００９７】
「観賞」操作シーケンスと同様に、加工操作の種類、加工操作の数や、加工操作に要した時間、例えば加工画像の表示時間、等をさらに参照して、「加工」操作シーケンスを検出してもよい。加工操作には、例えば「書き込み」「フレーム付与」「スタンプ付与」「トリミング」「リサイズ」「色変換」などが含まれる。これらをさらに考慮することにより、加工に意識を向けているか否かを推定することができ、より正確性の高い境界操作として、「加工」操作シーケンスを検出することができる。
【００９８】
（検出ルール３：整理）
本実施形態で用いられる、「整理」操作シーケンスを検出するための検出ルールについて、図１１のフローチャートを参照して説明する。この検出ルールでは、デバイス内の画像を整理する操作列を、「整理」操作シーケンスとして検出する。本実施形態においては、「整理」操作は、「画像へのレート付け」「画像の削除」「画像のＷｅｂアップロード」等の、画像情報編集操作、画像削除操作、及び画像転送操作を含む。これらの「整理」操作を所定の回数以上実行する操作列が、「整理」操作シーケンスとして検出される。
【００９９】
以下、具体的な検出処理について説明する。以下では、「整理」操作シーケンスと同様、起点位置の操作に後続する操作列について、検出ルールに適合するか否かが判定される。
【０１００】
ステップＳ１１０１において、操作シーケンス検出部２０１は、起点位置の操作の操作名が「再生モードの選択」であるか否かを判定する。そうである場合、処理はステップＳ１１０２へ移る。それ以外の場合は、「整理」操作シーケンスの検出処理は終了する。
【０１０１】
ステップＳ１１０２において、操作シーケンス検出部２０１は、整理操作回数を示す変数を０に初期化する。
【０１０２】
ステップＳ１１０３及びＳ１１０８は、ステップＳ９０３及びＳ９０７と同様のループ区間を示し、説明は省略する。
【０１０３】
ステップＳ１１０４において、操作シーケンス検出部２０１は、操作ｊの操作名を参照して処理を切り替える。具体的には、操作ｊの操作名が「整理」操作である場合、処理はステップＳ１１０５へ移る。また、操作ｊの操作名が「再生モードの終了」である場合、処理はステップＳ１１０９へ移る。それ以外の場合は、処理はステップＳ１１０８へ移る。
【０１０４】
ステップＳ１１０５において、操作シーケンス検出部２０１は、操作履歴を参照して、操作ｊの操作時刻におけるメディア残量が閾値以上であるか否かを判定する。メディア残量が閾値以上である場合、処理はステップＳ１１０６へ移る。それ以外の場合、処理はステップＳ１１０８へ移る。
【０１０５】
ステップＳ１１０６において、操作シーケンス検出部２０１は、操作ｊにおける整理対象画像の撮影時刻と、操作ｊの操作時刻との差が閾値以上であるか否かを判定する。この差は、操作時刻から撮影時刻を引くことで求めることができる。差が閾値以上である場合、処理はステップＳ１１０７へ移る。それ以外の場合、処理はステップＳ１１０８へ移る。
【０１０６】
ステップＳ１１０７において、操作シーケンス検出部２０１は、整理操作回数を示す変数に１を加算する。
【０１０７】
ステップＳ１１０９において、操作シーケンス検出部２０１は、整理操作回数を示す変数が閾値以上であるか否かを判定する。閾値以上である場合、処理はステップＳ１１１０へ移る。それ以外の場合、「整理」操作シーケンスの検出処理は終了する。
【０１０８】
ステップＳ１１１０において、操作シーケンス検出部２０１は、起点位置の操作から操作ｊまでを「整理」操作シーケンスとして検出する。
【０１０９】
「整理」操作は、撮影に撮影者の意識が向いていないことを示唆する。また、整理対象の画像が操作時点よりも過去の画像であることは、操作時点で撮影者の意識が過去に向いていたことを示す。したがって、「整理」操作シーケンスは、「鑑賞」操作シーケンスと同様、グループの境界を発見する手がかりとなる。ただし、メディア容量が少ない場合に、撮影画像を格納するために、過去の画像を消すことがある。メディア容量が少ない場合における「整理」操作をカウントしないことにより、このような状況における「整理」操作を「整理」操作シーケンスとして検出しにくくなる。ステップＳ１１０５においては、起点位置の操作の操作時刻におけるメディア残量が閾値以上であるか否かを判定してもよい。このような変形例によれば、画像の削除を行っていくことでメディア容量が十分に確保される場合に、操作が「整理」操作としてカウントされてしまうことを回避できる。
【０１１０】
（検出ルール４：撮影）
本実施形態で用いられる、「撮影」操作シーケンスを検出するための検出ルールについて、図１２のフローチャートを参照して説明する。この検出ルールでは、連続した撮影を行う操作列を、「撮影」操作シーケンスとして検出する。本実施形態においては、撮影モードで少なくとも一度の撮影を行う操作列が、「撮影」操作シーケンスとして検出される。
【０１１１】
以下、具体的な検出処理について説明する。以下では、「鑑賞」操作シーケンスと同様、起点位置の操作に後続する操作列について、検出ルールに適合するか否かが判定される。
【０１１２】
ステップＳ１２０１において、操作シーケンス検出部２０１は、起点位置の操作の操作名が「撮影モードの選択」であるか否かを判定する。そうである場合、処理はステップＳ１２０２へ移る。それ以外の場合は、「撮影」操作シーケンスの検出処理は終了する。
【０１１３】
ステップＳ１２０２において、操作シーケンス検出部２０１は、撮影回数を示す変数を０に初期化する。
【０１１４】
ステップＳ１２０３及びＳ１２０６は、ステップＳ９０３及びＳ９０７と同様のループ区間を示し、説明は省略する。
【０１１５】
ステップＳ１２０４において、操作シーケンス検出部２０１は、操作ｊの操作名を参照して処理を切り替える。具体的には、操作ｊの操作名が「撮影」である場合、処理はステップＳ１２０５へ移る。また、操作ｊの操作名が「撮影モードの終了」である場合、処理はステップＳ１２０７へ移る。それ以外の場合、処理はステップＳ１２０６へ移る。
【０１１６】
ステップＳ１２０５において、操作シーケンス検出部２０１は、撮影回数を示す変数に１を加算する。
【０１１７】
ステップＳ１２０７において、操作シーケンス検出部２０１は、撮影回数を示す変数が１以上であるか否かを判定する。１以上である場合、処理はステップＳ１２０８へ移る。それ以外の場合、「撮影」操作シーケンスの検出処理は終了する。
【０１１８】
ステップＳ１２０８において、操作シーケンス検出部２０１は、起点位置の操作から操作ｊまでを「撮影」操作シーケンスとして検出する。
【０１１９】
「撮影モードの選択」及び「撮影」という操作は、撮影に撮影者の意識が向いていることを示唆する。また、「撮影」操作が１回以上行われたことは、撮影の意図をもって撮影モードが選択されたことを示し、特に撮影モードを選択した時点で撮影者が撮影意図を持っていたことを示している。このように、「撮影」操作シーケンスの間は、撮影者の意識が継続的に撮影へと向いていたことが推定される。したがって、「撮影」操作シーケンスは、撮影画像をグループにまとめるための手がかりとなる。
【０１２０】
（検出ルール５：撮り直し）
本実施形態で用いられる、「撮り直し」操作シーケンスを検出するための検出ルールについて、図１３のフローチャートを参照して説明する。この検出ルールでは、撮影後に撮影画像を確認してから再度撮影する操作列を、「撮り直し」操作シーケンスとして検出する。本実施形態においては、撮影後に、直前に撮影した画像を閲覧又は削除し、すぐ撮影を行う操作列が、「撮り直し」操作シーケンスとして検出される。
【０１２１】
以下、具体的な検出処理について説明する。以下では、「鑑賞」操作シーケンスと同様、起点位置の操作に後続する操作列について、検出ルールに適合するか否かが判定される。
【０１２２】
ステップＳ１３０１において、操作シーケンス検出部２０１は、起点位置の操作の操作名が「撮影」であるか否かを判定する。そうである場合、処理はステップＳ１３０２へ移る。それ以外の場合、「撮影」操作シーケンスの検出処理は終了する。
【０１２３】
ステップＳ１３０２及びＳ１３０６は、第１のループ区間を示す。このループ区間はステップＳ９０３及びＳ９０７と同様のものであり、説明は省略する。
【０１２４】
ステップＳ１３０３において、操作シーケンス検出部２０１は、起点位置の操作の操作時刻と、操作ｊの操作時刻との差が、閾値以内であるか否かを判定する。閾値以内である場合、処理はステップＳ１３０４へと移る。閾値以内ではない場合、「撮影」操作シーケンスの検出処理は終了する。
【０１２５】
ステップＳ１３０４において、操作シーケンス検出部２０１は、操作ｊの操作名が「画像表示」又は「画像削除」であるか否かを判定する。どちらかである場合、処理はステップＳ１３０５へ移る。どちらでもない場合、処理はＳ１３０６へ移る。
【０１２６】
ステップＳ１３０５において、操作シーケンス検出部２０１は、起点位置の操作と操作ｊの操作対象が同じであるか否かを判定する。具体的には、起点位置の操作で撮影された画像と、位置ｊの操作（画像表示又は画像削除）の対象の画像とが、同じであるか否かが判定される。この処理は、操作履歴における、操作対象画像の「画像ＩＤ」を比較することによって行うことができる。別の方法として、操作履歴に示される「画像本体データ」から画像特徴量（色味、テクスチャ、又は局所特徴量等）を抽出し、特徴量を比較することによって、画像が同じであるか否かを判定してもよい。操作対象が同じである場合、処理はステップＳ１３０７へ移る。同じではない場合、処理はステップＳ１３０６へ移る。
【０１２７】
ステップＳ１３０７及びＳ１３１０は、第２のループ区間を示す。ステップＳ１３０７は、第２のループ区間の開始を示す。１回目のループにおいては、操作シーケンス検出部２０１は、操作履歴上の操作の番号を示す変数ｋを、変数ｊで初期化する。２回目以降のループにおいては、変数ｋが操作履歴に含まれる最後の操作の番号以下である場合には処理はステップＳ１３０８へ進む。また、変数ｋが最後の操作の番号を超えている場合には、「撮り直し」操作シーケンスの検出処理は終了する。
【０１２８】
ステップＳ１３０８において、操作シーケンス検出部２０１は、操作ｊの操作時刻と、操作ｋの操作時刻との差が、閾値以内であるか否かを判定する。閾値以内である場合、処理はステップＳ１３０９へと移る。閾値以内ではない場合、「撮り直し」操作シーケンスの検出処理は終了する。
【０１２９】
ステップＳ１３０９において、操作シーケンス検出部２０１は、操作ｋの操作名が「撮影」であるか否かを判定する。「撮影」である場合、処理はステップＳ１３１１へ移る。それ以外の場合、処理はステップＳ１３１０へ移る。
【０１３０】
ステップＳ１３１０は、第２のループ区間の終端である。ステップＳ１３１０において、操作シーケンス検出部２０１は、変数ｋに１を加算し、その後処理はステップＳ１３０７へ戻る。
【０１３１】
ステップＳ１３１１において、操作シーケンス検出部２０１は、起点位置の操作から操作ｋまでを、「撮り直し」操作シーケンスとして検出する。
【０１３２】
この検出ルールによれば、撮影から所定時間内に撮影画像を表示しており、所定時間内にさらに再度撮影を行っている場合に、「撮り直し」操作シーケンスが検出される。このような場合には、撮影者は、撮影から意識が離れた状態で画像を閲覧しているのではなく、撮影の確認のために画像を閲覧していることが推定される。このように、「撮り直し」操作シーケンスの間は、撮影者の意識が継続的に撮影へと向いていたことが推定される。したがって、「撮り直し」操作シーケンスは、撮影画像をグループにまとめるための手がかりとなる。
【０１３３】
本実施形態においては、撮影後に画像表示が行われていることを「撮り直し」操作シーケンスを検出するための条件とした。変形例として、表示時間が所定時間以上であることをさらなる条件としてもよい。この変形例によれば、画像をさっと見た場合ではなく、確認する意図をもって画像を見ている場合を、検出することが可能となる。
【０１３４】
（検出ルール６：撮影中のバッテリー交換）
本実施形態で用いられる、「撮影中バッテリー交換」操作シーケンスを検出するための検出ルールについて、図１４のフローチャートを参照して説明する。この検出ルールでは、撮影中にバッテリー残量が少なくなった場合にバッテリーを交換する操作列を、「撮影中バッテリー交換」操作シーケンスとして検出する。本実施形態においては、撮影後に、バッテリー残量が少ない状況下でバッテリー交換をし、すぐにさらなる撮影を行う操作列が、「撮影中バッテリー交換」操作シーケンスとして検出している。
【０１３５】
以下、具体的な検出処理について説明する。以下では、「鑑賞」操作シーケンスと同様、起点位置の操作に後続する操作列について、検出ルールに適合するか否かが判定される。
【０１３６】
ステップＳ１４０１において、操作シーケンス検出部２０１は、起点位置の操作の操作名が「撮影」であるか否かを判定する。そうである場合、処理はステップＳ１４０２へ移る。それ以外の場合は、「撮影」操作シーケンスの検出処理は終了する。
【０１３７】
ステップＳ１４０２において、操作シーケンス検出部２０１は、操作履歴を参照して、起点位置の操作の操作時刻におけるバッテリー残量が閾値以下であるか否かを判定する。バッテリー残量が閾値以下である場合、処理はステップＳ１４０３へ移る。それ以外の場合、「撮影中バッテリー交換」操作シーケンスの検出処理は終了する。
【０１３８】
ステップＳ１４０３及びＳ１４０６は、第１のループ区間を示す。このループ区間はステップＳ９０３及びＳ９０７と同様のものであり、説明は省略する。
【０１３９】
ステップＳ１４０３において、操作シーケンス検出部２０１は、起点位置の操作の操作時刻と、操作ｊの操作時刻との差が、閾値以内であるか否かを判定する。閾値以内である場合、処理はステップＳ１４０５へと移る。閾値以内ではない場合、「撮影中バッテリー交換」操作シーケンスの検出処理は終了する。
【０１４０】
ステップＳ１４０５において、操作シーケンス検出部２０１は、操作ｊの操作名が「バッテリー交換」であるか否かを判定する。そうである場合、処理はステップＳ１４０７へ移る。それ以外の場合、処理はステップＳ１４０６へ移る。
【０１４１】
ステップＳ１４０７及びＳ１４１０は、第２のループ区間を示す。このループ区間はステップＳ１３０７及びＳ１３１０と同様のものであり、説明は省略する。
【０１４２】
ステップＳ１４０８において、操作シーケンス検出部２０１は、操作ｊの操作時刻と、操作ｋの操作時刻との差が、閾値以内であるか否かを判定する。閾値以内である場合、処理はステップＳ１４０９へと移る。閾値以内ではない場合、「撮影中バッテリー交換」操作シーケンスの検出処理は終了する。
【０１４３】
ステップＳ１４０９において、操作シーケンス検出部２０１は、操作ｋの操作名が「撮影」であるか否かを判定する。「撮影」である場合、処理はステップＳ１４１１へ移る。それ以外の場合、処理はステップＳ１４１０へ移る。
【０１４４】
ステップＳ１４１１において、操作シーケンス検出部２０１は、起点位置の操作から操作ｋまでを、「撮影中バッテリー交換」操作シーケンスとして検出する。
【０１４５】
この検出ルールによって検出された「撮影中バッテリー交換」操作シーケンスにおける「バッテリー交換」操作は、バッテリー残量が少ない時に行われたものであり、やむをえないものであったことが推定される。このように、この検出ルールによれば、デバイス状態を参照して「撮影中バッテリー交換」操作シーケンスが検出される。また、「バッテリー交換」操作の前後は撮影操作であることから、この操作シーケンスの間は、撮影者は継続的に撮影へと意識を向けていたと推定できる。このため、「撮影中バッテリー交換」操作シーケンスは、撮影画像をグループにまとめるための手がかりとなる。
【０１４６】
（検出ルール７：撮影中の容量確保）
本実施形態で用いられる、「撮影中の容量確保」操作シーケンスを検出するための検出ルールについて、図１５のフローチャートを参照して説明する。この検出ルールでは、撮影中にメディア容量が少なくなった場合にメディア容量を確保する操作を行う操作列を、「撮影中の容量確保」操作シーケンスとして検出する。本実施形態においては、撮影後に、メディア容量が少ない状況下で画像を削除し、すぐに撮影を行う操作列が、「撮影中の容量確保」操作シーケンスとして検出される。
【０１４７】
以下、具体的な検出処理について説明する。以下では、「鑑賞」操作シーケンスと同様、起点位置の操作に後続する操作列について、検出ルールに適合するか否かが判定される。
【０１４８】
ステップＳ１５０１において、操作シーケンス検出部２０１は、起点位置の操作の操作名が「撮影」であるか否かを判定する。そうである場合、処理はステップＳ１５０２へ移る。それ以外の場合は、「撮影中の容量確保」操作シーケンスの検出処理は終了する。
【０１４９】
ステップＳ１５０２において、操作シーケンス検出部２０１は、容量の確保が行われたことを示す容量確保フラグをＯＦＦにする。また、操作シーケンス検出部２０１は、容量を確保する操作列における最後の「画像削除」操作の操作時刻を示す変数（最終操作時刻）を初期化する。本実施形態においては、最終操作時刻は、起点位置の操作の操作時刻で初期化される。
【０１５０】
ステップＳ１５０３において、操作シーケンス検出部２０１は、起点位置の操作時刻におけるメディア残量が閾値以下であるか否かを、操作履歴を参照して判定する。メディア残量が閾値以下である場合、処理はＳ１５０４へ移る。それ以外の場合、「撮影中の容量確保」操作シーケンスの検出処理は終了する。
【０１５１】
ステップＳ１５０４及びＳ１５１０は、ステップＳ９０３及びＳ９０７と同様のループ区間を示し、説明は省略する。
【０１５２】
ステップＳ１５０５において、操作シーケンス検出部２０１は、操作ｊの操作名を参照して処理を切り替える。具体的には、操作ｊの操作名が「画像削除」である場合、処理はステップＳ１５０６へ移る。それ以外の場合、処理はステップＳ１５０８へ移る。
【０１５３】
ステップＳ１５０６において、操作シーケンス検出部２０１は、最終操作時刻と、操作ｊの操作時刻との差が閾値以内であるか否かを判定する。閾値以内である場合、処理はステップＳ１５０７へ移る。そうではない場合、処理はステップＳ１５０８へ移る。
【０１５４】
ステップＳ１５０７において、操作シーケンス検出部２０１は、容量確保フラグをＯＮに設定する。また、操作シーケンス検出部２０１は、最終操作時刻を操作ｊの操作時刻に設定する。
【０１５５】
ステップＳ１５０８において、操作シーケンス検出部２０１は、容量確保フラグがＯＮであるか否かを判定する。ＯＮである場合、処理はステップＳ１５０９へ移る。そうではない場合、処理はステップＳ１５１０へ移る。
【０１５６】
ステップＳ１５０９において、操作シーケンス検出部２０１は、操作ｊの操作名を参照して処理を切り替える。具体的には、操作ｊの操作名が「撮影」である場合、処理はステップＳ１５１１へ移る。それ以外の場合、処理はステップＳ１５１０へ移る。
【０１５７】
ステップＳ１５１１において、操作シーケンス検出部２０１は、最終操作時刻と操作ｊの操作時刻との差が閾値以内であるか否かを判定する。閾値以内である場合、処理はステップＳ１５１２へ移る。そうではない場合、「撮影中の容量確保」操作シーケンスの検出処理は終了する。
【０１５８】
ステップＳ１５１２において、操作シーケンス検出部２０１は、起点位置の操作から操作ｊまでを「撮影中の容量確保」操作シーケンスとして検出する。
【０１５９】
この検出ルールによって検出された「撮影中の容量確保」操作シーケンスにおける「画像削除」操作は、メディア残量が少ない時に行われたものであり、やむをえないものであったことが推定される。このように、この検出ルールによれば、デバイス状態を参照して「撮影中の容量確保」操作シーケンスが検出される。また、「画像削除」操作の前後は撮影操作であることから、この操作シーケンスの間は、撮影者は継続的に撮影へと意識を向けていたと推定できる。このため、「撮影中の容量確保」操作シーケンスは、撮影画像をグループにまとめるための手がかりとなる。
【０１６０】
（その他の操作シーケンス）
本実施形態においては、図４に示す操作シーケンスを検出した。しかしながら、検出する操作シーケンスは図４に示すものに限られない。例えば、境界操作を示す操作シーケンスとして「ストレージ接続」「休止」「充電」「撮影前準備」などを検出してもよい。
【０１６１】
「ストレージ接続」操作シーケンスは、デバイスで生成したデータが転送され、データを保持しておくストレージに、デバイスが接続されたことを示す操作シーケンスである。例えば、ＰＣ又はメディアステーション等のデータ格納装置への接続操作を、「ストレージ接続」操作シーケンスとして検出できる。
【０１６２】
「休止」操作シーケンスは、デバイスが使われずに長く放置されていたことを示す操作シーケンスである。例えば、電源ＯＦＦ操作を行い、所定の時間が経過してから、電源ＯＮ操作を行う操作列を、「休止」操作シーケンスとして検出できる。
【０１６３】
「充電」操作シーケンスは、デバイスが充電されていたことを示す操作シーケンスである。例えば、デバイスを電源コンセントへ接続し、所定の時間が経過してから、デバイスを電源コンセントから取り外したことを、「充電」操作シーケンスとして検出できる。また、デバイスからバッテリーを取り外し、所定の時間が経過してから、デバイスにバッテリーを装着したことを、「充電」操作シーケンスとして検出してもよい。この場合には、バッテリー残量の変化を考慮して、例えばバッテリー残量が所定値以上増えている場合に、「充電」操作シーケンスを検出してもよい。
【０１６４】
「撮影前準備」操作シーケンスは、撮影前の準備が行われていたことを示す操作シーケンスである。例えば、レンズ交換を行い、所定の時間が経過してから、撮影を行ったことを、「撮影前準備」操作シーケンスとして検出することができる。この場合、レンズ交換は撮影前に準備として行われる操作の１つであり、レンズ交換の時刻は撮影時刻とは近くないために、レンズ交換は撮影前の準備であったと判断することができる。
【０１６５】
以上の「ストレージ接続」「休止」「充電」「撮影前準備」操作シーケンスは、ユーザが「撮影機会が訪れる」と考えているときには、操作履歴上には出現しにくい。このため、これらの操作シーケンスが出現した際には撮影者の撮影意図は中断していることが示唆される。このように、これらの操作シーケンスは画像グループの境界を示す可能性が高く、境界操作、すなわちグループを分ける手がかりとして扱うことができる。
【０１６６】
また、連続操作を示す操作シーケンスとして、「撮影中の設定変更」「短時間での撮影」操作シーケンスなどがある。
【０１６７】
「撮影中の設定変更」操作シーケンスは、撮影後に設定を変更してから再度撮影したことを示す操作シーケンスである。例えば、撮影後に、レンズ又はフラッシュ等のオプションパーツを装着し、取り外し、又は交換して、所定時間内に撮影を行ったことを、「撮影中の設定変更」操作シーケンスとして検出することができる。また、撮影後に、フラッシュ使用の有無、ズーム倍率、又はシーンタイプなどの撮影パラメータを変更し、所定時間内に撮影を行ったことを、「撮影中の設定変更」操作シーケンスとして検出してもよい。さらには、撮影後に、セピア化処理、又は魚眼レンズで撮影されたように画像を補正する処理等のエフェクト効果を撮影画像に適用するように設定を行い、所定時間内に撮影を行ったことを、「撮影中の設定変更」操作シーケンスとして検出してもよい。
【０１６８】
「短時間での撮影」操作シーケンスは、短い時間内に続けて撮影が行われたことを示す操作シーケンスである。例えば、所定時間の間に行われた複数の撮影操作、又は所定時間以下の間隔で行われた複数の撮影操作を、「短時間での撮影」操作シーケンスとして検出することができる。
【０１６９】
「撮影中の設定変更」「短時間での撮影」操作シーケンスは、ユーザが継続して撮影を行っている際に出現することが多い操作シーケンスである。このため、これらの操作シーケンスが検出された時刻付近に画像グループの境界が存在する可能性は低く、連続操作、すなわちグループをまとめるための手掛かりとして扱うことができる。
【０１７０】
本実施形態において検出される操作シーケンスとしては、様々なものが考えられ、上述のものに限定されるわけではない。また、上述の操作シーケンスの全てを検出する必要はない。
【０１７１】
一実施形態において、操作シーケンスを検出するための予め規定された条件のうちの少なくとも１つは、所定の操作の操作回数を用いて規定される。例えば、上述の「閲覧」操作シーケンスは、「画像表示」操作に基づいて定められる閲覧回数が閾値以上であることを条件として検出される。
【０１７２】
一実施形態において、操作シーケンスを検出するための予め規定された条件のうちの少なくとも１つは、操作で扱われる画像の取得時刻（例えば撮影時刻）を用いて規定される。例えば、上述の「加工」操作シーケンスは、「加工画像の保存」操作で扱われる加工画像の撮影時刻と、操作時刻との差が、閾値以上であることを条件として検出される。
【０１７３】
一実施形態において、操作シーケンスを検出するための予め規定された条件のうちの少なくとも１つは、操作で扱われる画像の情報を用いて規定される。例えば、上述の「撮り直し」操作シーケンスは、「画像表示」又は「画像削除」操作で扱われる画像が、「撮影」操作で撮影された画像と同じであることを条件として検出され、画像が同じであるか否かは、例えば画像の識別子又は特徴量を用いて判定される。
【０１７４】
一実施形態において、操作シーケンスを検出するための予め規定された条件のうちの少なくとも１つは、複数の操作についての操作時刻の差を用いて規定される。例えば、上述の「撮り直し」操作シーケンスは、「撮り直し」操作の時刻と、「画像表示」又は「画像削除」操作の時刻との差が、閾値以内であることを条件として検出される。
【０１７５】
一実施形態において、操作シーケンスを検出するための予め規定された条件のうちの少なくとも１つは、操作が行われたデバイスの状態を用いて規定される。例えば、上述の「整理」操作シーケンスは、メディア残量が閾値以上であることを条件として検出される。
【０１７６】
一実施形態において、操作シーケンスを検出するための予め規定された条件のうちの少なくとも１つは、所定の操作の操作回数、操作で扱われる画像の取得時刻、及び操作で扱われる画像の情報、のうちの少なくとも１つでありうる。さらなる実施形態において、操作シーケンスを検出するための予め規定された条件は、複数の操作についての操作時刻の差を用いて規定される条件と、操作が行われたデバイスの状態を用いて規定される条件と、のうちの少なくとも１つをさらに含む。これらの情報は、ユーザの操作意図、例えば連続して撮影を行っているのか、又は撮影を中断しているのか、を示唆するものであり、これらを考慮することにより正確な画像クラスタリングが可能となる。
【０１７７】
また、一実施形態において、検出される操作シーケンスは、「鑑賞」操作シーケンスのように、画像表示操作を含んでいる。別の実施形態において、検出される操作シーケンスは、「加工」操作シーケンスのように、画像加工操作を含んでいる。さらなる実施形態において、検出される操作シーケンスは、「整理」操作シーケンスのように、画像整理操作を含んでいる。一実施形態において、検出される操作シーケンスは、画像表示操作、画像加工操作、及び画像整理操作のうちの少なくとも１つを含んでいてもよい。これらの操作も、ユーザの操作意図、例えば連続して撮影を行っているのか、又は撮影を中断しているのか、を示唆するものであり、これらを考慮することにより正確な画像クラスタリングが可能となる。
【０１７８】
本実施形態においては、検出ルールに従って操作シーケンスを検出する際に、起点位置から先の操作に対して検出ルールを適用した。しかしながら、検出ルールをステートマシンなどにより実現してもよい。この場合、操作履歴中の各操作をステートマシンに入力するごとに、それまでに入力された操作列が検出ルールに一致するか否かを逐次判断するようにしてもよい。
【０１７９】
また、本実施形態では、検出ルールを１つずつ選択して、それぞれの検出ルールを操作履歴に対して順次適用した。しかし、ステートマシン等を用いて逐次判断を行う場合には、操作履歴中の各操作をそれぞれの検出ルールに対応するステートマシンに並行して入力することにより、並行して操作シーケンスを検出することができる。検出ルールの間に優先順位等の関係がある場合には、優先度の高い操作シーケンスが検出された時点で、他の検出ルールに従う検出処理を停止させてもよい。
【０１８０】
さらに、本実施形態では、１つの検出ルールにより１つの操作シーケンスを検出した。しかしながら、１つの検出ルールにより複数種類の操作シーケンスを検出してもよい。例えば、排他的な関係を有する複数種類の操作シーケンスを、１つの検出ルールによりまとめて検出してもよい。さらには、隠れマルコフモデルなどに従って予め境界操作と連続操作とを学習させ、学習結果に従って境界操作と連続操作を検出してもよい。
【０１８１】
以上のように、本実施形態に係る操作シーケンスの検出方法は、様々なものが考えられ、上述のものに限定されるわけではない。
【０１８２】
［実施形態２］
実施形態１では、操作履歴を参照して画像のクラスタリングを行った。一方で、画像データの撮影時刻を用いて画像のクラスタリングを行うこともできる。実施形態２においては、画像データの撮影時刻を用いたクラスタリング結果を、操作履歴を参照して補正する。本実施形態によれば、操作履歴又は撮影時刻のみを用いて画像をクラスタリングする場合よりも、より高い精度で画像のクラスタリングを行うことかできる。
【０１８３】
本実施形態に係る画像分類装置は、図１に示す実施形態１に係る画像分類装置１００と同様である。また、本実施形態に係る画像分類装置の機能構成も、図２に示す実施形態１のものと同様であるが、画像クラスタリング部２０３の構成が異なる。本実施形態に係る画像クラスタリング部２０３は、図１６に示す構成を有する。具体的には、本実施形態に係る画像クラスタリング部２０３は、基本クラスタリング部１６０１と補正部１６０２とを備える。
【０１８４】
基本クラスタリング部１６０１は、時間に基づいて画像データをクラスタリングする。具体的には、基本クラスタリング部１６０１は、画像の取得時刻（例えば撮影時刻）に基づいて、画像データをクラスタリングする。例えば、基本クラスタリング部１６０１は、それぞれの画像データについての撮影間隔を比較し、相対的に大きいと判断される撮影間隔で画像グループが分割されるように、境界を設定することができる。基本クラスタリング部１６０１により分類された画像グループ群を、以下では基本グループ群と呼び、基本グループ群を構成する各グループを、基本グループと呼ぶ。基本クラスタリング部１６０１が行う処理の詳細については後述する。
【０１８５】
基本クラスタリング部１６０１によるクラスタリング処理は、時間に基づくものには限られない。例えば、基本クラスタリング部１６０１は、画像データの撮影位置に基づいてクラスタリングを行ってもよい。この場合、基本クラスタリング部１６０１は、撮像時にＧＰＳ等を用いた位置測定を行う等の方法で画像データに付された位置情報を参照することができる。具体的な一例として、基本クラスタリング部１６０１は、撮影時刻順に並べた画像データのうち隣接する２つについて、撮影された位置が所定距離以上離れているときに、この２つの画像データが異なるグループへと分けられるように境界を設定することができる。
【０１８６】
さらに、基本クラスタリング部１６０１は、画像の類似性に基づいてクラスタリングを行ってもよい。例えば、テクスチャや色味などの画像の特徴量の類似性に基づいてクラスタリングすることが考えられる。具体的な一例として、基本クラスタリング部１６０１は、撮影時刻順に並べた画像データのうち隣接する２つについて、特徴量が所定の閾値以上に異なっているときに、この２つの画像データが異なるグループへと分けられるように境界を設定することができる。このように、基本クラスタリング部１６０１によるクラスタリング方法は、特に限定されず、さまざまな方法を用いることができる。
【０１８７】
補正部１６０２は、検出した操作シーケンスを参照して、基本クラスタリング部１６０１が設定した基本グループ群を補正する。このようにして、基本クラスタリング部１６０１による分類結果が修正される。具体的な一例として、補正部１６０２は、連続操作の操作区間が、２つの異なるグループについての撮影時間帯にまたがるとき、これらのグループを統合することができる。この場合、連続操作に含まれる取得操作（例えば撮影操作）により取得された画像データが、同じグループに含まれるように、グループの統合が行われる。
【０１８８】
また、補正部１６０２は、１つのグループについての撮影時間帯に境界操作が検出された場合、このグループを分割することができる。言い換えれば、境界操作の前後における取得操作（例えば撮影操作）により取得された画像が別のグループに含まれるように、グループの分割が行われる。補正部１６０２の処理の詳細については後述する。ここで、撮影時間帯とは、グループに含まれる画像データの撮影時刻のうち最も早い撮影時刻から最も遅い撮影時刻までの時間帯を指す。
【０１８９】
次に、本実施形態における画像分類処理について、図１７（Ａ）を参照して説明する。図１７（Ａ）は、本実施形態における画像分類処理のフローチャートを示す。
【０１９０】
ステップＳ１７０１において、操作シーケンス検出部２０１は、実施形態１のステップＳ５０１と同様に、操作履歴から操作シーケンスを検出する。
【０１９１】
ステップＳ１７０２において、操作区間決定部２０２は、ステップＳ１７０１で検出された操作シーケンスについての操作区間を決定する。この処理は、実施形態１のステップＳ５０２と同様に行われ、操作シーケンスの開始操作の時刻と終了操作の時刻とが、操作区間として決定される。
【０１９２】
本実施形態において、操作区間決定部２０２はさらに、連続操作の操作区間が互いに重なるとき、これを１つの操作シーケンスとして統合する。例えば、２つの連続操作Ａ，Ｂについて「Ａの開始時刻≦Ｂの開始時刻≦Ａの終了時刻≦Ｂの終了時刻」という関係が満たされた場合、２つの連続操作Ａ，Ｂを統合することができる。具体的な方法の一例として、操作区間決定部２０２は、図３（Ｄ）に示す操作シーケンスの記録において、操作シーケンスＡの終了機器ＩＤ及び終了操作Ｎｏを、操作シーケンスＢの終了機器ＩＤ及び終了操作Ｎｏで置き換えることができる。また、操作区間決定部２０２は、操作シーケンスＡの終了時刻を、操作シーケンスＢの終了時刻で置き換えることができる。さらに、操作区間決定部２０２は、操作シーケンスＢについての記録を無効にする。こうして、短い連続操作を統合して、長い連続操作を作り出すことができる。「Ａの開始時刻≦Ｂの開始時刻≦Ｂの終了時刻≦Ａの終了時刻」である場合、同様に操作シーケンスＢについての記録を無効にしてもよい。
【０１９３】
ステップＳ１７０３において、基本クラスタリング部１６０１は、画像データをクラスタリングして基本グループ群を得る。ステップＳ１７０３における処理の詳細については後述する。
【０１９４】
ステップＳ１７０４において、補正部１６０２は、操作シーケンスを参照して、基本グループ群を補正する。図１７（Ｂ）は、ステップＳ１７０４における処理のフローチャートを示す。ステップＳ１７１１において、補正部１６０２は、境界操作を参照して、基本グループ群の分割処理を行う。ステップＳ１７１１の処理の詳細については後述する。以下では、ステップＳ１７１１により補正して得られたグループ群を分割後グループ群と呼び、分割後グループ群を構成する各グループを分割後グループと呼ぶ。ステップＳ１７１２において、補正部１６０２は、連続操作を参照して、分割後グループ群の統合処理を行う。ステップＳ１７１２の処理の詳細についても後述する。以下では、ステップＳ１７１２により補正して得られたグループ群を統合後グループ群と呼び、統合後グループ群を構成する各グループを統合後グループと呼ぶ。こうして、本実施形態に係る画像分類処理が終了する。
【０１９５】
次に、ステップＳ１７１１における分割処理について、図１８（Ａ）を参照して説明する。図１８（Ａ）は、ステップＳ１７１１における処理を示すフローチャートである。ステップＳ１７１１の開始時には、既に基本グループ群が作成されている。ここで、それぞれの基本グループには予め番号が付されているものとする。例えば、基本クラスタリング部１６０１は、それぞれの基本グループの開始時刻、すなわち基本グループに属する最も古い画像データの撮影時刻、が早い順に、各基本グループに連続番号を付すことができる。また、ステップＳ１７１１の開始時には、既に操作履歴から操作シーケンスが検出されている。
【０１９６】
ステップＳ１８０１及びＳ１８０９は、それぞれの基本グループ番号について実行されるループ区間を示す。ステップＳ１８０１は、ループの開始を示す。１回目のループにおいては、操作シーケンス検出部２０１は、基本グループ番号を示す変数ｋを１に初期化する。２回目以降のループにおいては、ｋが基本グループの数を超えていない場合には処理はステップＳ１８０２へ移行する。また、ｋが基本グループの数を超えている場合にはループが終了し、ステップＳ１７１１の処理も終了する。
【０１９７】
以下では、変数ｋによって示される基本グループを基本グループｋと呼ぶ。また、基本グループｋに含まれるそれぞれの画像データには画像番号が付されているものとする。本実施形態においては、それぞれの画像データの撮影時刻が早い順に、各画像データに連続番号が付されている。以下では、画像番号ｉが付された画像データを画像データｉと呼ぶ。もっとも撮影時刻の早い画像データには画像番号１が付されており、もっとも撮影時刻の遅い画像データに付された画像番号は、基本グループｋに含まれる画像データの数に一致する。
【０１９８】
ステップＳ１８０２において、補正部１６０２は、基本グループｋの先頭画像データを含む「分割後グループ」を作成する。具体的には、補正部１６０２は、基本グループｋに属する画像データのうちもっとも撮影時刻の早い画像データ、すなわち画像データ１を、先頭画像データとして選択する。そして、この先頭画像データを含む「分割後グループ」を、「現在の分割後グループ」として作成する。
【０１９９】
ステップＳ１８０３及びＳ１８０８は、基本グループｋに属するそれぞれの画像データについて実行されるループを示す。ステップＳ１８０３は、ループの開始を示す。１回目のループにおいては、補正部１６０２は、画像番号ｉを２に初期化する。２回目以降のループにおいては、ｉが基本グループｋに含まれる画像データの数を超えていない場合には処理はステップＳ１８０４へ移行する。また、ｉが基本グループｋに含まれる画像データの数を超えている場合にはループが終了し、処理はステップＳ１８０９に移行する。
【０２００】
ステップＳ１８０４において、補正部１６０２は、画像データｉ−１の撮影時刻と画像データｉの撮影時刻との間で実施された境界操作を選択する。具体的な処理の一例として、補正部１６０２は、検出された操作シーケンスのうち、境界操作であり、開始時刻が画像データｉ−１の撮影時刻以後であり、かつ操作区間の終了時刻が画像データｉの撮影時刻以前である操作シーケンスを選択する。このような条件を満たす操作シーケンスが存在しない場合には、補正部１６０２は操作シーケンスを選択しない。
【０２０１】
ステップＳ１８０５において、補正部１６０２は、画像データｉ−１と画像データｉとの間での境界の有無を判定する。具体的には、ステップＳ１８０４において補正部１６０２が操作シーケンスを選択した場合には、境界が存在するものと判定される。また、ステップＳ１８０４において補正部１６０２が操作シーケンスを選択しなかった場合には、境界は存在しないものと判定される。境界が存在しない場合、処理はステップＳ１８０６へ移る。境界が存在する場合、処理はステップＳ１８０７へ移る。
【０２０２】
ステップＳ１８０６において、補正部１６０２は、現在の分割後グループに画像データｉを追加する。
【０２０３】
ステップＳ１８０７において、補正部１６０２は、画像データｉを含む新しい分割後グループを、現在の分割後グループとして作成する。
【０２０４】
ステップＳ１８０８は、ループ区間の終端である。ステップＳ１８０８において、補正部１６０２は、画像番号ｉに１を加算し、その後処理はステップＳ１８０３へ戻る。
【０２０５】
ステップＳ１８０９は、ループ区間の終端である。ステップＳ１８０９において、補正部１６０２は、基本グループ番号ｋに１を加算し、その後処理はステップＳ１８０１へ戻る。
【０２０６】
次に、ステップＳ１７１２における統合処理について、図１８（Ｂ）を参照して説明する。図１８（Ｂ）は、ステップＳ１７１２における処理を示すフローチャートである。ステップＳ１７１２の開始時には、既に分割後グループ群が作成されている。また、ステップＳ１７１２の開始時には、既に操作履歴から操作シーケンスが検出されている。
【０２０７】
ステップＳ１８１１において、補正部１６０２は、先頭の分割後グループの画像データを含む統合後グループを、現在の統合後グループとして作成する。具体的な処理の一例としては、補正部１６０２は、まず、それぞれの分割後グループについての撮影時刻にしたがって、分割後グループを古い順にソートする。分割後グループについての撮影時刻としては、それぞれの分割後グループに属する画像データのうちもっとも撮影時刻の早い画像データの撮影時刻を用いることができる。そして、補正部１６０２は、ソート順に、分割後グループのそれぞれに対して１から順に番号を割り当てる。以下では、番号ｉが付された分割後グループを分割後グループｉと呼ぶ。さらに、補正部１６０２は、分割後グループ１に属する全ての画像データを含む「統合後グループ」を作成する。
【０２０８】
ステップＳ１８１２及びＳ１８１７は、分割後グループｉのそれぞれについて実行されるループを示す。ステップＳ１８１２は、ループの開始を示す。１回目のループにおいては、補正部１６０２は、グループ番号ｉを２に初期化する。２回目以降のループにおいては、ｉが分割後グループの数を超えていない場合には処理はステップＳ１８１３へ移行する。また、ｉが分割後グループの数を超えている場合にはループが終了し、ステップＳ１７１２の処理は終了する。
【０２０９】
ステップＳ１８１３において、補正部１６０２は、分割後グループｉ−１と分割後グループｉとをまたぐ連続操作を選択する。ここでは、分割後グループに属する画像データのうち最も撮影時刻が早い画像の撮影時刻を、グループの開始時刻と呼ぶ。一方で、分割後グループに属する画像データのうち最も撮影時刻が遅い画像の撮影時刻を、グループの終了時刻と呼ぶ。本実施形態において、補正部１６０２は、検出された操作シーケンスのうち、連続操作であり、「開始操作時刻≦分割後グループｉ−１の終了時刻」であり、かつ「分割後グループｉの開始時刻≦終了操作時刻」である操作シーケンスを選択する。このような条件を満たす操作シーケンスが存在しない場合には、補正部１６０２は操作シーケンスを選択しない。
【０２１０】
ステップＳ１８１４において、補正部１６０２は、分割後グループｉ−１と分割後グループｉとを統合するか否かを判定する。具体的には、ステップＳ１８１３において補正部１６０２が操作シーケンスを選択した場合には、統合が行われる。一方で、ステップＳ１８１３において補正部１６０２が操作シーケンスを選択しなかった場合には、統合は行われない。統合を行う場合、処理はステップＳ１８１５へ移る。一方で、統合を行わない場合、処理はステップＳ１８１６へ移る。
【０２１１】
ステップＳ１８１５において、補正部１６０２は、現在の統合後グループに、分割後グループｉの画像を追加する。
【０２１２】
ステップＳ１８１６において、補正部１６０２は、分割後グループｉの画像を含む新しい統合後グループを、現在の統合後グループとして作成する。
【０２１３】
ステップＳ１８０７は、ループ区間の終端である。ステップＳ１８０７において、補正部１６０２は、グループ番号ｉに１を加算し、その後処理はステップＳ１８０２へ戻る。
【０２１４】
本実施形態においては、基本グループ群に対して、まずステップＳ１７１１において分割処理を行い、続いてステップＳ１７１２において統合処理を行った。しかしながら、分割処理と統合処理の順序は逆であってもよい。また、分割処理と統合処理との双方を行うことは必須ではなく、分割処理及び統合処理のうちの一方が行われてもよい。
【０２１５】
ステップＳ１８０５においては、所定の条件を満たす境界操作の有無によって、境界を設けるか否かを判定した。しかしながら、実施形態１で説明したように、境界を設けるか否かの判定方法はこの方法に限られない。例えば、実施形態１と同様に、検出された境界操作の数、境界操作の総時間長、又は境界操作の種類等に応じて、境界を設けるか否かを判定してもよい。
【０２１６】
同様に、ステップＳ１８１４においては、所定の条件を満たす連続操作の有無によって、グループを統合するか否かを判定した。しかしながら、境界を設けるか否かの判定方法はこの方法に限られない。例えば、境界操作の場合と同様に、検出された連続操作の数、又は連続操作の種類等に応じて、グループを統合するか否かを判定してもよい。また、「撮影」操作シーケンスにおいて、撮影の頻度が高い場合には、連続撮影が行われている可能性が高い。さらに、「撮り直し」操作シーケンスにおいて、画像確認後の撮り直しが素早く行われていた場合、実際に撮り直しが行われた可能性が高い。これらの場合には、連続した撮影の意図が継続していた（連続度合いが高い）こと、及びその操作シーケンスの操作区間には画像データ間の境界が存在しないことが示唆される。このように、連続操作の内容を考慮して、グループを統合するか否かを判定してもよい。具体的な一例としては、実施形態１で説明したように、境界が存在する可能性を示すパラメータ値を決定し、このパラメータ値に基づいて境界を設けるか否かを判定することができる。
【０２１７】
また、基本グループを作成する際に、画像グループ間の境界についてのさらなる情報、例えば上記のような境界が存在する可能性を考慮してもよい。これにより、より正確性の高いクラスタリングを行えるようになる。
【０２１８】
上記では、複数の基本グループ、分割後グループ、及び統合後グループのそれぞれについての撮影時間帯は時間軸上で互いに重なり合わないものとして説明した。しかしながら、例えば、複数の基本グループについての撮影時間帯が時間軸上で互いに重なり合っていてもよい。このような場合、Ｓ１８１３においては、分割後グループｉ−１と分割後グループｉとの間で重なり合う撮影時間帯に、操作区間が含まれるような連続操作を選択してもよい。このように、複数の基本グループについての撮影時間帯が時間軸上で互いに重なり合っている場合であっても、グループを統合することが可能となる。
【０２１９】
次に、ステップＳ１７０３におけるクラスタリング処理について、図２１（Ａ）を参照して説明する。図２１は、ステップＳ１７０３における処理の詳細を示すフローチャートである。ステップＳ１７０３において基本クラスタリング部１６０１は、与えられたクラスタリング対象をグループに分ける。本実施形態において、クラスタリング対象は画像データ群である。
【０２２０】
本実施形態において、基本クラスタリング部１６０１は、階層的にグループを構築する。具体的には、基本クラスタリング部１６０１は、与えられた画像データ群をグループへと分類し、得られたグループをさらに大きいグループへと分類する。このようにクラスタリングを繰り返すことにより、階層的にグループを構築する。本実施形態において、基本クラスタリング部１６０１は、指定された数の階層を構築するものとする。この指定された数は、ユーザ入力等に応じて適宜決定できるが、本実施形態においては予め定数として決定されており、基本クラスタリング部１６０１が保持しているものとする。また、基本クラスタリング部１６０１は、指定された階層におけるグループ分けを示す情報を出力するものとする。
【０２２１】
ステップＳ２１０１において、基本クラスタリング部１６０１は、クラスタリング対象をソートする。本実施形態において、基本クラスタリング部１６０１は、クラスタリング対象に関連する時刻に従ってクラスタリング対象をソートする。本実施形態においてクラスタリング対象は画像データであり、基本クラスタリング部１６０１は、画像データの撮影時刻に従って、画像データをソートする。本実施形態において、基本クラスタリング部１６０１は、画像データを昇順にソートする。
【０２２２】
基本クラスタリング部１６０１は、画像データのグループをクラスタリング対象としてもよい。この場合、クラスタリング対象である画像データのグループは、始端時刻と終端時刻とを持つ。この場合、グループに属する画像データの撮影時刻のうち最も早い撮像時刻がグループの始端時刻であり、グループに属する画像データの撮影時刻のうち最も遅い撮像時刻がグループの終端時刻でありうる。この場合、基本クラスタリング部１６０１は、グループの始端時刻に従って、昇順にグループをソートすることができる。
【０２２３】
クラスタリング対象が画像データである場合について、画像データについての始端時刻及び終端時刻を定義することもでき、この場合始端時刻及び終端時刻は画像データの撮影時刻に一致しうる。こうして、クラスタリング対象が画像データである場合と、クラスタリング対象が画像グループである場合とについて、同様の処理によりクラスタリングを行うことができる。また、クラスタリング対象であるグループのうち２以上について、始端時刻と終端時刻との間の区間が重なる場合には、１つのグループとして扱ってもよい。
【０２２４】
ステップＳ２１０２及びＳ２１０６は、それぞれの階層について実行されるループ区間を示す。ステップＳ２１０２は、ループの開始を示す。１回目のループにおいては、基本クラスタリング部１６０１は、階層番号を示す変数ｉを１に初期化する。２回目以降のループにおいては、ｉが指定された階層数を超えていない場合には処理はステップＳ２１０３へ移行し、ｉが指定された階層数を超えている場合にはループが終了し、処理はステップＳ２１０７に進む。
【０２２５】
ステップＳ２１０３では、それぞれのクラスタリング対象をグループにまとめる。本実施形態においては、基本クラスタリング部１６０１は、１回目のループ（ｉ＝１）においては、クラスタリング対象となる画像データの全てを１グループにまとめる。２回目以降のループ（ｉ≧２）においては、基本クラスタリング部１６０１は、直前のステップＳ２１０５で設定されたクラスタリング対象（画像グループ）を、１つのより大きなグループにまとめる。
【０２２６】
ステップＳ２１０４において、基本クラスタリング部１６０１は、ステップＳ２１０３で得られたグループに対して分割処理を適用する。この処理によって、Ｓ２１０３で得られたグループが、いくつかのサブグループへと分割される。この結果、１回目のループ（ｉ＝１）においては、画像データがいくつかのグループへとまとめられる。また、２回目以降のループ（ｉ≧２）においては、直前のループで決定された複数のグループが、より少ない数のグループへとまとめられる。ステップＳ２１０４の処理の詳細については後述する。
【０２２７】
ステップＳ２１０５において、基本クラスタリング部１６０１は、Ｓ２１０４で得られたサブグループのそれぞれを、新たなクラスタリング対象として決定する。
【０２２８】
ステップＳ２１０６は、ループ区間の終端である。ステップＳ２１０６において、基本クラスタリング部１６０１は、階層番号を示す変数ｉに１を加算し、その後処理はステップＳ２１０２へ戻る。
【０２２９】
ステップＳ２１０７において、基本クラスタリング部１６０１は、グループ分けの結果を出力する。結果の表現形式は特に限定されず、例えば、実施形態１においてクラスタリング処理の結果として出力される情報の表現形式と同様でありうる。具体的な一例としては、直前のステップＳ２１０５で決定されたクラスタリング対象（画像データ群）のそれぞれについて、これに含まれる画像データを識別する情報を出力することができる。ここで、出力される情報は、指定された階層に対応するグループ分けを示す。
【０２３０】
次に、ステップＳ２１０４における処理の詳細について、図２１（Ｂ）を参照して説明する。図２１（Ｂ）は、ステップＳ２１０４の処理のフローチャートである。ステップＳ２１０４の処理は、それぞれのグループに対して行われる。以下では、１つのグループに対する処理について説明する。ステップＳ２１０４においては、１つのグループに対して再帰的な分割処理を行う。
【０２３１】
ステップＳ２１１１において、基本クラスタリング部１６０１は、グループ内の「分割の候補位置」を選出する。具体的には、グループに含まれるクラスタリング対象の最大の間隔を特定し、特定された間隔の位置を分割の候補位置とする。本実施形態において、クラスタリング対象の間隔とは、クラスタリング対象をステップＳ２１０１のようにソートした場合における、１つのクラスタリング対象についての終端時刻と、これに後続するクラスタリング対象についての始端時刻と、の間隔である。より具体的には、クラスタリング対象が画像データである場合には、ソートした場合に互いに隣接する画像データ間の撮像時刻の間隔である。また、クラスタリング対象が画像グループである場合には、ソートした場合に互いに隣接する画像グループについて、先行するグループについての終端時刻と、後続するグループについての始端時刻と、の間隔である。以下では、クラスタリング対象のことを要素と呼ぶことがある。
【０２３２】
ステップＳ２１１２において、基本クラスタリング部１６０１は、候補位置に境界があるか否かを判定する。境界がある場合、処理はステップＳ２１１３へ移る。境界が無い場合には、１つのグループについての分割処理が終了する。
【０２３３】
本実施形態においては、候補位置に境界があるか否かは、以下のように判定される。すなわち、グループに属するデータ間隔は一定の確率的傾向を持つと考え、グループに確率モデルを割り当てる。そして、候補位置でグループを分割する場合に、分割前のグループに対するモデル割り当てと、分割後各グループに対するモデル割り当てと、のどちらが良好であるかを判断する。判断基準としては、例えば、ＢＩＣ（ベイズ情報基準量）を用いることができる。すなわち、分割前のＢＩＣと分割後のＢＩＣとの差分から、分割によってモデル当てはめが改善されるか否かが判断される。分割前のＢＩＣと分割後のＢＩＣとの差分は、次式（１）に示す通りに定義できる。本実施形態においては、式（１）により得られる値が正である場合、基本クラスタリング部１６０１は、候補位置に境界があると判断する。別の実施形態において、基本クラスタリング部１６０１は、式（１）により得られる値が一定の閾値以上である場合に、候補位置に境界があると判断してもよい。
【０２３４】
【数１】
2015041234.tif 000003
【０２３５】
式（１）において、Ｓは分割前のグループを、Ｓ１及びＳ２は候補位置における分割後のグループのそれぞれを表す。また、Ｎは、クラスタリング対象の間隔の数であり、すなわち、Ｓ２１０４で処理される１つのグループに含まれる要素（例えば画像データ又は画像グループ）の数から１を減算して得られる値である。さらに、Ｌ（Ｓ）はグループＳに対応する対数尤度を表す。具体的には、Ｌ（Ｓ）は次式（２）に示す通りに定義される。
【０２３６】
【数２】
2015041234.tif 000004
【０２３７】
式（２）において、ＺｓはグループＳを構成する要素の間隔の列を示す。また、Ｚｓ（ｉ）はグループＳを構成する要素の間隔の列における、ｉ番目の間隔を示す。ｌｅｎｇｔｈ（Ｚｓ）は、グループＳを構成する要素の間隔の数を示す。ｒは、グループＳを構成する要素の間隔の平均の逆数である。
【０２３８】
Ｌ（Ｓ）は、グループに含まれる要素の数が０であるときは、１であるものと定義する。また、要素の間隔に０が含まれることを防ぐことにより計算における不都合を防ぐために、間隔に微小な値（例えば１）を加算してから、Ｌ（Ｓ）の計算を行ってもよい。
【０２３９】
ステップＳ２１１３において、基本クラスタリング部１６０１は、候補位置においてグループを分割する。以下では、分割により得られたグループをグループ１及びグループ２と呼ぶ。ステップＳ２１１４において、基本クラスタリング部１６０１は、グループ１に対してステップＳ２１０４の処理を再帰的に適用することにより、グループ１をさらに分割する。ステップＳ２１１５において、基本クラスタリング部１６０１は、グループ１に対してステップＳ２１０４の処理を再帰的に適用することにより、グループ２をさらに分割する。
【０２４０】
本実施形態によれば、基本クラスタリングにより過分割又は分割不足が起こる場合であっても、操作シーケンスによって示唆される操作時の意図に従って、クラスタリングが補正される。特に、撮影間隔の相対的な比較によりクラスタリングを行う場合、撮影間隔が十分な相対的な差を有しないとき、過分割又は分割不足が起こりえる。このような場合でも、イベントの境界又は操作の連続等を示す操作シーケンスに従って、基本クラスタリングを補正することで、精度よくクラスタリングを行うことができる。
【０２４１】
［実施形態３］
実施形態２では、操作履歴のすべての部分から操作シーケンスを検出した。しかしながら、例えば上述の基本クラスタリング処理のような仮のクラスタリングが行われており、仮のクラスタリングを補正する場合、操作履歴のすべての部分から操作シーケンスを検出しなくてもよいことがある。例えば、仮のクラスタリングで決定された各グループについての撮影時間帯から外れた時刻に行われた境界操作は、補正のために使用しなくてもよい。なぜならば、境界操作は、仮のクラスタリングで決定されたグループを分割するために用いられるからである。また、仮のクラスタリングで決定されたグループについての撮影時間帯において行われた連続操作も、補正のために使用しなくてもよい。なぜならば、連続操作は仮のクラスタリングで決定されたグループを統合するために用いられるためである。したがって、これらの境界操作及び連続操作は検出しなくてもよい。このため、操作履歴のうち検出対象となる部分を示す検出区間に応じて、検出対象となる操作シーケンスを限定してもよく、この方法によれば処理を効率化できる。本実施形態では、検出区間を決定し、検出区間内の操作履歴から操作シーケンスを検出する。
【０２４２】
実施形態３に係る画像分類装置の構成について、図１９（Ａ）を参照して説明する。図１９（Ａ）は、本実施形態に係る画像分類装置の機能的構成を示すブロック図である。本実施形態に係る画像分類装置は、図１６に示す、実施形態２に係る画像分類装置と類似しているが、さらに検出区間決定部１９０１を有し、また操作シーケンス検出部２０１の処理が異なる。以下では、実施形態２と同様の構成については説明を省略する。
【０２４３】
検出区間決定部１９０１は、基本クラスタリング部１６０１によって決定された基本グループを参照して、操作シーケンスを検出する検出区間を決定する。検出区間とは、操作履歴のうち、操作シーケンスの検出が行われる範囲を示す。本実施形態においては、検出区間は時区間であり、開始時刻と終了時刻によって特定される。しかしながら、検出区間の表現方法はこの方法に限定されない。例えば、操作履歴の一部分を特定する他の方法により、検出区間を表現してもよい。具体的な一例としては、操作履歴を構成する各操作に付された連続番号を用いて、検出区間に含まれる最初の操作と最後の操作とを特定してもよい。
【０２４４】
本実施形態においては、「境界操作の検出区間」と「連続操作の検出区間」の２種類の検出区間が用いられ、検出区間決定部１９０１はそれぞれの検出区間を決定する。各々の検出区間の決定方法については後述する。
【０２４５】
操作シーケンス検出部２０１は、検出区間決定部１９０１が決定した検出区間において、操作履歴から操作シーケンスを検出する。特に、操作シーケンス検出部２０１は、境界操作の検出区間においては、境界操作を検出する。一方で、操作シーケンス検出部２０１は、連続操作の検出区間においては、連続操作を検出する。詳細な処理については後述する。
【０２４６】
次に、本実施形態に係る画像分類処理について、図１９（Ｂ）を参照して説明する。図１９（Ｂ）は、本実施形態に係る画像分類処理のフローチャートである。
【０２４７】
ステップＳ１９０１において、基本クラスタリング部１６０１は、実施形態２のステップＳ１７０３と同様に、基本クラスタリング処理を行う。
【０２４８】
ステップＳ１９０２において、検出区間決定部１９０１は、境界操作の検出区間を決定する。具体的には、本実施形態においては、Ｓ１９０１で決定されたそれぞれの基本グループについての時間帯が、境界操作の検出区間として用いられる。各基本グループについての時間帯とは、基本グループに属する画像データの撮影時刻のうち、最も早い撮影時刻（始端時刻）から最も遅い撮影時刻（終端時刻）までを指す。各基本グループについての境界操作の検出区間に対応する操作履歴上の操作列には、基本グループに属するそれぞれの画像データを取得した取得操作（例えば撮影操作）が含まれる。
【０２４９】
ステップＳ１９０３において、検出区間決定部１９０１は、連続操作の検出区間を決定する。本実施形態においては、ステップＳ１９０１で決定されたそれぞれの基本グループについての時間帯を参照して、連続操作の検出区間が決定される。具体的には、連続する２つの基本グループについての時間帯に挟まれた時区間を含むように、連続操作の検出区間が決定される。具体的な一例として、連続する２つの基本グループＡ及びＢがあり、基本グループＡの時間帯は基本グループＢの時間帯より前であるものとする。この場合には、検出区間は、「Ａの終端時刻からＢの始端時刻まで」を含むように決定される。すなわち、連続操作の検出区間は、一方の基本グループＡに含まれる最も遅く取得された画像の取得時刻から、後続する他方の基本グループＢに含まれる最も早く取得された画像の取得時刻まで、を含む。
【０２５０】
本実施形態においては、検出区間は、「Ａの終端時刻からＢの始端時刻まで」付近、例えば「Ａの終端時刻から第１の所定時間前の時刻から、Ｂの始端時刻から第２の所定時間後の時刻まで」とする。検出区間を「第１の所定時間」又は「第２の所定時間」だけ広げることにより、２つの基本グループをまたいでいる連続操作をより確実に検出することができる。
【０２５１】
ステップＳ１９０２及びステップＳ１９０３で検出されたそれぞれの検出区間には、検出区間を識別する検出区間番号が付される。本実施形態においては、検出区間がＮ区間ある場合には、１番からＮ番までの検出区間番号が用いられる。それぞれの検出区間についての時区間は重複していてもよい。
【０２５２】
ステップＳ１９０４及びステップＳ１９０８は、それぞれの検出区間についてのループ区間を示す。ステップＳ１９０４は、ループの開始を示す。１回目のループにおいては、操作シーケンス検出部２０１は、検出区間番号ｉを１に初期化する。２回目以降のループにおいては、ｉが検出区間の数を超えていない場合には処理はステップＳ１９０５へ移行する。また、ｉが検出区間の数を超えている場合にはループが終了し、処理はステップＳ１９０９へ移行する。以下では、検出区間番号ｉが割り当てられた検出区間を、検出区間ｉと呼ぶ。
【０２５３】
ステップＳ１９０５において、操作シーケンス検出部２０１は、検出区間ｉにおける操作列を、操作履歴から抽出する。具体的には、検出区間は時区間によって特定されているため、この時区間内に行われた操作についての操作列を、操作履歴から抽出する。
【０２５４】
ステップＳ１９０６において、操作シーケンス検出部２０１は、検出区間ｉの種類に応じて、使用する検出ルールを抽出する。具体的には、検出区間ｉが「連続操作の検出区間」である場合には、予め保持されている図４に示すような検出ルールリストから、連続操作として分類されている検出ルールを抽出する。一方で、検出区間ｉが「境界操作の検出区間」である場合には、境界操作として分類されている検出ルールを抽出する。
【０２５５】
ステップＳ１９０７において、操作シーケンス検出部２０１は、ステップＳ１９０５で抽出した操作列から、ステップＳ１９０６で抽出した検出ルールに従って、操作シーケンスを検出する。ステップＳ１９０７における処理は、抽出の対象となる操作履歴中の操作列と、用いられる検出ルールとが限定されることを除き、図６に示すステップＳ５０１の処理と同様であり、説明は省略する。
【０２５６】
ステップＳ１９０８は、ループ区間の終端である。ステップＳ１９０８において、操作シーケンス検出部２０１は、検出区間番号ｉに１を加算し、その後処理はステップＳ１９０４へ戻る。
【０２５７】
ステップＳ１９０９において、操作シーケンス検出部２０１は、操作シーケンスの操作区間を決定し、連続操作を統合する。この処理は、図１７（Ａ）のステップＳ１７０２の処理と同様であり、説明は省略する。
【０２５８】
ステップＳ１９１０において、補正部１６０２は、操作シーケンスを用いて基本グループを分割あるいは統合する。この処理は、図１７（Ｂ）のステップＳ１７０４の処理と同様であり、説明は省略する。
【０２５９】
以上説明した方法によれば、操作履歴に対する、「境界操作の検出区間」と「連続操作の検出区間」の２種類の検出区間が設定される。こうして、検出処理の効率化が図られる。以上の方法に加えて、又はこの方法に代えて、誤ったグループ分割を行う可能性が高い部分のみから操作シーケンスを検出することもでき、この方法によっても検出処理を効率化できる。
【０２６０】
例えば、ステップＳ１９０２においては、それぞれの基本グループについての時区間を、「境界操作の検出区間」として用いた。しかしながら、「境界操作の検出区間」の決定方法はこの方法に限られない。例えば、基本グループについての時区間のうち、より境界が存在する可能性が高い区間を選択し、「境界操作の検出区間」として用いてもよい。具体的な一例としては、基本グループに含まれる画像データから、撮影間隔が閾値以上である連続する２つの画像データを選択し、この２つの画像データの撮影時刻の間を、境界操作の検出区間として選択してもよい。それぞれの基本グループのうち、始端時刻と終端時刻との間の時間が長い基本グループ、または撮影間隔が閾値以上である連続する２つの画像データを含む基本グループを選択し、この基本グループについての時区間を境界操作の検出区間として用いてもよい。
【０２６１】
さらに、基本クラスタリングにおける誤りの可能性に着目して、「境界操作の検出区間」を決定してもよい。実施形態２で説明した時間に基づく基本クラスタリングにおいては、撮影間隔の相対的な比較によってグループ境界を決定した。このため、複数の撮影間隔についての相対的な変化が小さい場合には、絶対的には大きい撮影間隔であっても、グループ境界とは判定されないことがある。そこで、「基本グループ内の各画像データについての撮影間隔の平均は閾値以上であるが、撮影間隔の分散は閾値以下である」ような基本グループを選択し、この基本グループについての時区間を境界操作の検出区間として用いてもよい。このようにして、境界操作の検出区間をさらに絞り込むことができる。
【０２６２】
また、ステップＳ１９０３においては、連続する２つの基本グループについての時間帯に挟まれた時区間付近を、「連続操作の検出区間」として用いた。しかしながら、「連続操作の検出区間」の決定方法はこの方法に限られない。例えば、より境界が存在しない可能性、すなわち連続した操作が意図されている可能性が高い区間を選択し、「連続操作の検出区間」として用いてもよい。具体的な一例としては、例えば、連続する基本グループについての時間帯に挟まれた時区間のうち、長さが閾値以下である時区間を選択し、この時区間を含むように、「連続操作の検出区間」を決定してもよい。このようにして、連続操作の検出区間をさらに絞り込むことができる。
【０２６３】
以上説明した実施形態３によれば、検出区間を限定することによって、操作シーケンスの検出処理を効率的に行えるようになる。
【０２６４】
［実施形態４］
実施形態２では、時間に基づく基本クラスタリングを行って基本グループを生成し、その後操作履歴から検出された操作シーケンスに従って基本グループを補正した。実施形態４では、まず操作履歴に従って画像データをクラスタリングし、その結果に対して基本クラスタリングを行う。
【０２６５】
実施形態４に係る画像分類装置の構成について説明する。本実施形態に係る画像分類装置は、実施形態１に係る画像分類装置と同様の構成を有するが、画像クラスタリング部２０３の構成が異なる。以下では、画像クラスタリング部２０３について図２０（Ａ）を参照して説明し、その他の構成については説明を省略する。
【０２６６】
本実施形態において、画像クラスタリング部２０３は、操作クラスタリング部２００１と基本クラスタリング部２００２とを備える。
【０２６７】
操作クラスタリング部２００１は、操作シーケンスに従って、画像データをクラスタリングする。具体的には、操作クラスタリング部２００１は、まず検出された境界操作に従って画像データを複数のグループに分割する。この処理によって得られたそれぞれのグループを、以下では境界操作グループと呼ぶ。さらに、操作クラスタリング部２００１は、検出された連続操作に従って、それぞれの境界操作グループ内の画像データをグループ化する。この処理によって得られたグループを、以下では連続操作グループと呼ぶ。この処理によって、境界操作グループ内に連続操作グループが作成される。以下では、これらの連続操作グループ及び境界操作グループを合わせて操作グループと呼ぶ。
【０２６８】
基本クラスタリング部２００２は、境界操作グループと連続操作グループとを参照して、時間に基づく基本クラスタリングを行う。具体的には、基本クラスタリング部２００２は、操作クラスタリング部２００１により決定された境界操作グループのそれぞれについて、時間に基づく基本クラスタリングを行う。この際、基本クラスタリング部２００２は、連続操作グループに含まれる画像データが同じグループに入るように、クラスタリングを行う。
【０２６９】
次に、本実施形態における画像分類処理について、図２０（Ｂ）を参照して説明する。図２０（Ｂ）は、本実施形態における画像分類処理のフローチャートを示す。
【０２７０】
ステップＳ２００１において、操作シーケンス検出部２０１は、実施形態１のステップＳ５０１と同様に、操作履歴から操作シーケンスを検出する。ステップＳ２００２において、操作区間決定部２０２は、実施形態２のステップＳ１７０２と同様に、操作シーケンスについての操作区間を決定し、連続操作を統合する。ステップＳ２００３において、操作クラスタリング部２００１は、実施形態１のステップＳ５０３と同様に、境界操作を参照してクラスタリング処理を行う。画像クラスタリング部２０３はさらに、この処理により得られた境界操作グループのそれぞれに番号を割り当てる。
【０２７１】
ステップＳ２００４及びＳ２００７は、それぞれの境界操作グループについて実行されるループ区間を示す。ステップＳ２００４は、ループの開始を示す。１回目のループにおいては、基本クラスタリング部２００２は、境界操作グループ番号を示す変数ｉを１に初期化する。２回目以降のループにおいては、ｉが境界操作グループの数を超えていない場合には処理はステップＳ２００５へ移行する。また、ｉが境界操作グループの数を超えている場合にはループが終了し、本実施形態に係る画像分類処理も終了する。以下では、変数ｉによって示される境界操作グループを境界操作グループｉと呼ぶ。
【０２７２】
ステップＳ２００５において基本クラスタリング部２００２は、境界操作グループｉ内に、連続操作グループを作成する。具体的には、基本クラスタリング部２００２は、検出された連続操作を参照して、連続操作の操作区間に撮影時刻が含まれる画像データ群を１つの連続操作グループにまとめる。いずれの連続操作グループにも入らない画像データは、それぞれが１つの画像データで構成される連続操作グループを形成する。
【０２７３】
ステップＳ２００６において基本クラスタリング部２００２は、境界操作グループｉに含まれる連続操作グループのそれぞれをクラスタリング対象として、実施形態２のステップＳ２１０４と同様に、時間に基づく基本クラスタリングを行う。すなわち、境界操作グループｉに含まれる連続操作グループのそれぞれが、１以上の連続操作グループにより構成されるグループのいずれかへと分類される。この場合、連続操作に含まれる取得操作（例えば撮影操作）により取得された画像データが、同じグループに含まれるように、分類は行われる。ここで、連続操作グループの始端時刻及び終端時刻は、連続操作グループに含まれる画像データのうち最も早く撮影された画像データの撮影時刻、及び最も遅く撮影された画像データの撮影時刻である。したがって、２つの連続操作グループＡ及びＢがあり、時間軸において連続操作グループＡが連続操作グループＢより前に存在するときこの２つのグループの間隔は、「連続操作グループＢの始端時刻から連続操作グループＡの終端時刻を引いたもの」となる。
【０２７４】
ステップＳ２００７は、境界操作グループについてのループ区間の終端である。ステップＳ２００７において、基本クラスタリング部２００２は、変数ｉに１を加算し、その後処理はステップＳ２００４へ戻る。
【０２７５】
本実施形態においては、連続操作グループの始端時刻及び終端時刻は、連続操作グループに含まれる画像データのうち最も早く撮影された画像データの撮影時刻、及び最も遅く撮影された画像データの撮影時刻とした。しかしながら、連続操作グループの始端時刻と終端時刻との少なくとも一方を、この連続操作グループを形成するために用いられた連続操作を参照して決定してもよい。例えば、連続操作グループを形成するために用いられた連続操作についての操作区間、すなわち開始操作の時刻及び終了操作までの時刻を、連続操作グループの始端時刻及び終端時刻として用いてもよい。
【０２７６】
画像の撮影前には、「電源をＯＮにし、フラッシュの設定を決め、及び焦点距離を決める」ような、撮影に関連する操作が行われることがある。したがって、連続する画像データの撮影時刻の間隔には、このような操作時間も含まれることがある。これらの撮影に関連する操作を連続操作の一部として検出する場合、連続操作についての操作区間に従って連続操作グループの始端時刻と終端時刻とを決定すると、連続操作グループの間隔からはこのような操作時間が除かれる。このような操作時間を含まない連続操作グループの間隔は、撮影者が撮影に集中していない時間により密接に関連するものであり、より本質的な撮影間隔の情報であるといえる。したがって、このように連続操作についての操作区間に従って連続操作グループの始端時刻及び終端時刻を決定することにより、クラスタリングの精度を向上できる。
【０２７７】
本実施形態によれば、「時間に基づくクラスタリング処理」を適用する前に、画像データが境界操作グループへとグループ分けされ、それぞれの境界操作グループに対してクラスタリング処理が行われる。それぞれのグループを構成する要素の数は、グループ分け前よりも少ないために、クラスタリング処理をより効率的に行うことが可能となる。また、処理の並列化も可能となる。さらに、本実施形態によれば、「時間に基づくクラスタリング処理」を適用する前に、画像データが連続操作グループへとグループ分けされ、連続操作グループについてクラスタリング処理が行われる。要素の数がグループ分けにより減少するために、クラスタリング処理をより効率的に行うことが可能となる。
【０２７８】
本実施形態においては、境界操作に従うグループ分けと連続操作に従うグループ分けとの双方が行われたが、どちらか一方のみを行うことによっても、クラスタリング処理の効率化という効果を得ることができる。
【０２７９】
［実施形態５］
本実施形態では、操作履歴が、複数の異なるデバイスにおける操作を含む場合について説明する。例えば、カメラとスマートフォンとをユーザが所有している場合、ユーザはカメラで撮影及び観賞等を行う一方で、スマートフォンでも撮影及び鑑賞等を行うことができる。このように各々のデバイスで行われた操作を操作履歴が含んでいる場合、操作履歴から機器ＩＤが同一である操作を抽出してから、実施形態１で説明したように検出ルールを適用することができる。このようにして、各々のデバイスで行われた操作についての操作シーケンスを検出することができる。別の方法として、各々のデバイスにおける操作を含む操作履歴から検出ルールに従って操作シーケンスを検出する際に、開始操作についての機器ＩＤと同一の機器ＩＤを有する操作にのみ着目して、操作シーケンスの検出を行ってもよい。
【０２８０】
各々のデバイスで行われた操作についての操作シーケンスを総合して、画像の分類を行うこともできる。例えば、スマートフォンでの操作列から検出した「鑑賞」操作シーケンス（境界操作）を用いて、すなわちスマートフォンで「観賞」を行っていたことに基づいて、カメラで撮影した画像データの分類を行うこともできる。
【０２８１】
また、複数のデバイスにわたる操作シーケンスを検出してもよい。例えば、カメラで撮影を行い、その画像をスマートフォンに転送し、スマートフォンで画像加工を行い、そしてＷｅｂへアップロードすることがある。このような操作列を、操作シーケンスとして検出してもよい。この場合、検出ルールにおいて、操作シーケンスを構成するそれぞれの操作がどのデバイスにおける操作であるのかが特定されていてもよい。このような構成は、例えば、操作シーケンスを構成するそれぞれの操作を検出する際に、操作名と機器ＩＤとの双方が検出ルールに従うか否かを判定することにより実現できる。
【０２８２】
また、機器ＩＤの代わりに、「デバイスの種別」を示す情報を検出条件として用いて、操作シーケンスを検出してもよい。デバイスの種別としては、例えば、カメラ及びスマートフォン等が挙げられる。例えば、カメラにおける「転送」操作の後に、スマートフォンにおける「画像加工」操作を行う操作シーケンスが検出されてもよい。このような場合に、カメラから画像が転送されたスマートフォンにおいて画像加工が行われていることを確認するために、操作履歴において、「転送」操作についての記録に関連付けて「転送先機器ＩＤ」を保持しておいてもよい。このような構成により、機器横断的な操作シーケンスを検出することができる。
【０２８３】
電子機器、例えばスマートフォンでは、デバイス上で様々なアプリケーションが動作することがある。このような場合、アプリケーションの識別子を、機器ＩＤとして用いてもよい。これによって、アプリケーションごとに操作履歴を区別することができる。
【０２８４】
また、スマートフォン上で「観賞」操作を行いながら、カメラで「撮影」操作を行うことがある。例えば、スマートフォン上に表示した画像の構図を参考に、カメラでの撮影を行うことがある。このような場合に、スマートフォン上での「観賞」操作シーケンス（境界操作）をもとに画像データを分割すると、連続して撮影された画像データ群が分割され、意図に反した結果となる可能性がある。そこで、カメラの動作状態に関する条件が検出ルールに加えられてもよい。例えば、カメラの動作状態が電源ＯＮ状態である場合には、スマートフォン上での「観賞」操作シーケンスを検出しないように、検出ルールを設定してもよい。このように、操作が行われたデバイスとは異なるデバイスの状態に関する条件を含むように、検出ルールを構成してもよい。
【０２８５】
本実施形態によれば、操作履歴が複数のデバイスについての操作を含む場合においても、操作シーケンスを検出することができ、検出した操作シーケンスを用いてクラスタリング処理を行うことができる。
【０２８６】
［実施形態６］
上述の各実施形態においては、画像データは主に写真等の静止画像であるものとして説明した。しかしながら、画像データが動画等であってもよい。この場合は、動画等についての開始撮影時刻と終了撮影時刻とによって規定される時区間に従って、操作シーケンスの検出及びクラスタリング処理等を行うことができる。例えば、動画同士の間隔は、一方の動画の終了撮影時刻と、これに後続する動画の開始撮影時刻との差として算出することができる。また、画像データ間の操作シーケンスを検出する際にも、同様に、一方の動画の終了撮影時刻と、これに後続する動画の開始撮影時刻と、の間から操作シーケンスを検出することができる。以上のように、上述の各実施形態は、静止画像だけでなく動画等にも適用可能である。
【０２８７】
（他の実施形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2015041234.tif 000005
【図２】
2015041234.tif 000006
【図３】
2015041234.tif 000007
【図４】
2015041234.tif 000008
【図５】
2015041234.tif 000009
【図６】
2015041234.tif 000010
【図７】
2015041234.tif 000011
【図８】
2015041234.tif 000012
【図９】
2015041234.tif 000013
【図１０】
2015041234.tif 000014
【図１１】
2015041234.tif 000015
【図１２】
2015041234.tif 000016
【図１３】
2015041234.tif 000017
【図１４】
2015041234.tif 000018
【図１５】
2015041234.tif 000019
【図１６】
2015041234.tif 000020
【図１７】
2015041234.tif 000021
【図１８】
2015041234.tif 000022
【図１９】
2015041234.tif 000023
【図２０】
2015041234.tif 000024
【図２１】
2015041234.tif 000025