(57)【要約】      （修正有）【課題】画像を閲覧や操作するための新規なアプリケーションを提供する。【解決手段】画像閲覧アプリケーションは、右利きのユーザのための第１のＧＵＩおよび左利きのユーザのための第２のＧＵＩを含む。第１のＧＵＩは、ＧＵＩの左側に画像選択画面、左から右への第１の特定の順序を有するＧＵＩ項目の第１のセット、および左から右への第２の特定の順序を有するＧＵＩ項目の第２のセットを含む。第２のＧＵＩは、ＧＵＩの右側に画像選択画面、右から左への第１の特定の順序を有するＧＵＩ項目の第１のセット、および左から右への第２の特定の順序を有するＧＵＩ項目の第２のセットを含む。いくつかの実施形態において、右利き用ＧＵＩは、第１の向きで特定のツールを表示し、左利き用ＧＵＩは第２の向きで特定のツールを表示する。【選択図】図１
2014112380.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
画像を閲覧するためのグラフィカルユーザインタフェース（ＧＵＩ）であって、当該ＧＵＩの第１の側に位置する特定の表示領域を含むＧＵＩを表示するための命令セットと、
前記特定の表示領域を前記ＧＵＩの反対側に移動するための入力を受信するための命令セットと、
前記特定の表示領域の前記移動に応じて、
ＧＵＩ項目の第１のセットを、前記項目の第１のセットの左から右への順序を維持しながら、前記ＧＵＩの一方の側から他方の側に移動し、
ＧＵＩ項目の第２のセットを、前記項目の第２のセットの左から右への順序を反転しながら、前記ＧＵＩの一方の側から他方の側に移動するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項２】
前記ＧＵＩ項目の第１のセットは、編集ツール起動項目のセットを含むことを特徴とする請求項１に記載の機械可読媒体。
【請求項３】
前記編集ツール起動項目の左から右への順序は、ユーザが編集を実行する順序を反映することを特徴とする請求項２に記載の機械可読媒体。
【請求項４】
前記特定の表示領域は、画像のサムネイルを表示するためのサムネイル表示領域であることを特徴とする請求項１に記載の機械可読媒体。
【請求項５】
画像閲覧アプリケーションを提供する方法であって、
右利きのユーザ用の第１のＧＵＩであって、当該ＧＵＩの左側にある画像選択ウィンドウと、左から右への第１の特定の順序を有するＧＵＩ項目の第１のセットと、左から右への第２の特定の順序を有するＧＵＩ項目の第２のセットとを含む第１のＧＵＩを提供する工程と、
左利きのユーザ用の第２のＧＵＩであって、当該ＧＵＩの右側にある前記画像選択ウィンドウと、右から左への前記第１の特定の順序を有するＧＵＩ項目の前記第１のセットと、左から右への前記第２の特定の順序を有するＧＵＩ項目の前記第２のセットとを含む第２のＧＵＩを提供する工程とを含むことを特徴とする方法。
【請求項６】
前記第１のＧＵＩにおいて第１の向きで起動し、前記第２のＧＵＩにおいて異なる第２の向きで起動するためのユーザインタフェースツールを提供する工程をさらに含むことを特徴とする請求項４に記載の方法。
【請求項７】
前記ユーザインタフェースツールは、ズームツールであることを特徴とする請求項５に記載の方法。
【請求項８】
ＧＵＩ項目の前記第１のセットは、ユーザが編集ツールの特定のセットを起動していない場合に表示するための画像編集ＧＵＩ項目および画像タグ付けＧＵＩ項目のセットを含み、ＧＵＩ項目の前記第２のセットは、異なる項目が選択されたかに関わらず表示するためのものであることを特徴とする請求項５の方法。
【請求項９】
ＧＵＩ項目の前記第２のセットは、ユーザが編集ツールの特定のセットを起動していない場合に表示するための画像編集ＧＵＩ項目および画像タグ付けＧＵＩ項目のセットを含み、ＧＵＩ項目の前記第１のセットは、ユーザが編集ツールの特定のセットを選択したかに関わらず表示するためのものであることを特徴とする請求項５の方法。
【請求項１０】
前記画像閲覧アプリケーションは、縦向きモードおよび横向きモードの両方を有するデバイス上での動作のためのものであり、前記第１のＧＵＩおよび前記第２のＧＵＩは両方とも横向きモードでの動作のためのものであることを特徴とする請求項５に記載の方法。
【請求項１１】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
タッチセンシティブディスプレイ上のグラフィカルユーザインタフェースに画像を表示するための命令セットと、
前記タッチセンシティブディスプレイを介して、特定のＧＵＩツールを起動するための前記表示された画像上でのタッチ入力を受信するための命令セットと、
前記ＧＵＩが左利き用モードである場合に、前記特定のツールを第１の向きに表示するための命令セットと、
前記ＧＵＩが右利き用モードである場合に、前記特定のツールを第１の向きに表示するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項１２】
前記ツールは、前記表示された画像の一部を拡大する円形ズームツールであることを特徴とする請求項１１に記載の機械可読媒体。
【請求項１３】
前記ツールは拡大情報を含み、前記拡大情報は（ｉ）前記ＧＵＩが左利き用モードである場合に前記ツールの右側に位置し、（ｉｉ）前記ＧＵＩが右利き用モードである場合に前記ツールの左側に位置することを特徴とする請求項１２に記載の機械可読媒体。
【請求項１４】
前記ツールのズームレベルは変更可能であることを特徴とする請求項１２に記載の機械可読媒体。
【請求項１５】
前記タッチ入力は、少なくとも部分的に同時に起こる２つの別々のタッチ入力を含むことを特徴とする請求項１１に記載の機械可読媒体。
【請求項１６】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
タッチセンシティブディスプレイ上のグラフィカルユーザインタフェース（ＧＵＩ）に画像を表示するための命令セットと、
前記タッチセンシティブディスプレイを介して、前記表示された画像上で、少なくとも部分的に同時に起こる２つの別々のタッチ入力を受信するための命令セットと、
前記タッチ入力に応じて、前記表示された画像の一部を拡大するための移動可能なＧＵＩツールを起動するための命令セットを含むことを特徴とする機械可読媒体。
【請求項１７】
前記移動可能なＧＵＩツールを起動するための前記命令セットは、
前記２つの別々のタッチ入力の中点を算出するための命令セットと、
前記移動可能なＧＵＩツールの中心を前記算出した中点にするための命令セットとをさらに含むことを特徴とする請求項１６に記載の機械可読媒体。
【請求項１８】
前記画像閲覧アプリケーションは、
前記２つのタッチ入力の反時計回りの回転ジェスチャを受信するための命令セットと、
前記ＧＵＩが右利き用モードである場合に、前記反時計回りの回転ジェスチャに応じて、前記ＧＵＩツールの拡大レベルを下げるための命令セットと、
前記ＧＵＩが左利き用モードである場合に、前記反時計回りの回転ジェスチャに応じて、前記ＧＵＩツールの前記拡大レベルを上げるための命令セットとをさらに含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１９】
前記画像閲覧アプリケーションは、
前記２つのタッチ入力の時計回りの回転ジェスチャを受信するための命令セットと、
前記ＧＵＩが右利き用モードである場合に、前記時計回りの回転ジェスチャに応じて、前記ＧＵＩツールの拡大レベルを上げるための命令セットと、
前記ＧＵＩが左利き用モードである場合に、前記時計回りの回転ジェスチャに応じて、前記ＧＵＩツールの前記拡大レベルを下げるための命令セットとをさらに含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２０】
前記画像閲覧アプリケーションは、
前記ＧＵＩツール上でのシングルタッチ入力であって、前記タッチセンシティブディスプレイに沿った前記画像表示領域内の異なる位置への当該シングルタッチ入力の移動が続いて起こるシングルタッチ入力を受信ための命令セットと、
前記シングルタッチ入力の前記移動に応じて前記ＧＵＩツールを前記異なる位置に移動するための命令セットをさらに含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２１】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
タッチセンシティブディスプレイの特定の側にサムネイルのセットを含むサムネイル表示領域を表示するための命令セットであって、前記サムネイルは、プレビュー表示領域に対応する画像を表示するために選択するためのものである、命令セットと、
前記タッチセンシティブディスプレイを介して、前記タッチセンシティブディスプレイの前記特定の側に向けた、前記サムネイル表示領域上でのスワイプジェスチャを受信するための命令セットと、
前記スワイプジェスチャの受信に応じて、前記ディスプレイから前記サムネイル表示領域を除去するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項２２】
前記ディスプレイから前記サムネイル表示領域を除去するための前記命令セットは、前記タッチセンシティブディスプレイの前記特定の側から外へスライドする前記サムネイル表示領域を表示するための命令セットを含むことを特徴とする請求項２１に記載の機械可読媒体。
【請求項２３】
前記画像閲覧アプリケーションは、
前記ディスプレイから前記サムネイル表示領域が除去された際に、前記タッチセンシティブディスプレイを介して、前記タッチセンシティブディスプレイの前記特定の側の近くで、前記タッチセンシティブディスプレイの前記特定の側から離れる方向に向けた第２のスワイプジェスチャを受信するための命令セットをさらに含むことを特徴とする請求項２１に記載の機械可読媒体。
【請求項２４】
前記画像閲覧アプリケーションは、
前記タッチセンシティブディスプレイを介して、（ｉ）前記サムネイル表示領域と前記画像表示領域との間の境界上のタッチと、（ｉｉ）前記タッチセンシティブディスプレイの前記特定の側から離れる後続のドラッグジェスチャとを受信するための命令セットと、
前記特定の側から離れる前記ドラッグジェスチャが閾値距離に到達した場合に、前記サムネイル表示領域内のサムネイルのセットを、増加した個数の列に再配置するための命令セットとをさらに含むことを特徴とする請求項２１に記載の機械可読媒体。
【請求項２５】
前記サムネイルのセットは、列の最大数を有し、前記列の最大数に到達した場合に、前記アプリケーションは前記サムネイルのセットを増加した個数の列に再配置するための命令を実行しないことを特徴とする請求項２４に記載の機械可読媒体。
【請求項２６】
前記画像閲覧アプリケーションは、
前記タッチセンシティブディスプレイを介して、（ｉ）前記サムネイル表示領域と前記プレビュー表示領域との間の境界上のタッチと、（ｉｉ）前記タッチセンシティブディスプレイの前記特定の側への後続のドラッグジェスチャとを受信するための命令セットと、
前記特定の側への前記ドラッグジェスチャが閾値距離に到達した場合に、前記画像ブラウザ表示領域内のサムネイルのセットを、減少した個数の列に再配置するための命令セットをさらに含むことを特徴とする請求項２１に記載の機械可読媒体。
【請求項２７】
前記サムネイルのセットは、列の最小数を有し、前記列の最小数に到達した場合に、前記アプリケーションは前記サムネイルのセットを減少した個数の列に再配置するための命令を実行しないことを特徴とする請求項２６に記載の機械可読媒体。
【請求項２８】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
タッチセンシティブディスプレイ上に順序付けられたサムネイルのセットを含むサムネイル表示領域を表示するための命令セットであって、前記サムネイルは画像表示領域内に対応する画像を表示するために選択するためのものである、命令セットと、
前記タッチセンシティブディスプレイを介して、（ｉ）前記サムネイルのセット内の第１のサムネイル上への第１のタッチ入力と、（ｉｉ）前記サムネイルのセット内の第２のサムネイル上への第２のタッチ入力とを受信するための命令セットであって、前記第１のタッチ入力と第２のタッチ入力とは少なくとも部分的に同時に起こる、命令セットと、
前記第１のサムネイルに対応する画像と、前記第２のサムネイルに対応する画像と、前記順序付けられたセット内で前記第１のサムネイルと前記第２のサムネイルとの間にある各画像とを選択するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項２９】
前記画像閲覧アプリケーションは、前記画像表示領域に前記選択された画像を表示するための命令セットをさらに含むことを特徴とする請求項２８に記載の機械可読媒体。
【請求項３０】
前記画像表示領域に前記選択された画像を表示するための前記命令セットは、同一の視覚的重み付けで前記選択された画像のそれぞれを表示するための命令セットを含むことを特徴とする請求項２９に記載の機械可読媒体。
【請求項３１】
前記第１のタッチ入力および第２のタッチ入力は、タップ入力を含むことを特徴とする請求項２８に記載の機械可読媒体。
【請求項３２】
前記第１のタッチ入力および第２のタッチ入力は、長押し入力を含むことを特徴とする請求項２８に記載の機械可読媒体。
【請求項３３】
画像閲覧アプリケーションを提供する方法であって、
それぞれが画像に対応するサムネイルのセットを表示するためのサムネイル表示領域を提供する工程と、
前記画像に対応するサムネイルが選択された場合に、１つ以上の画像を表示するための画像表示領域を提供する工程と、
（ｉ）第１の画像に対応するサムネイル上に閾値期間よりも短いタッチ入力が受信された場合に、前記第１の画像のみを選択し、（ｉｉ）以前に選択された第２の画像に対応するサムネイル上に少なくとも前記閾値期間のタッチ入力が受信された場合に、前記第２の画像の選択を維持しながら、前記第１の画像を選択するためのモジュールのセットを提供する工程とを含むことを特徴とする方法。
【請求項３４】
前記閾値期間よりも短い前記タッチ入力はタップ入力であり、少なくとも前記閾値期間の前記タッチ入力は長押し入力であることを特徴とする請求項３３に記載の方法。
【請求項３５】
前記アプリケーションが動作するデバイスのオペレーティングシステムからジェスチャデータを受信するためのモジュールを提供する工程であって、前記ジェスチャデータはタップ入力データおよび長押し入力データを示す、工程をさらに含むことを特徴とする請求項３４に記載の方法。
【請求項３６】
同一の視覚的重み付けで前記画像表示領域に選択された画像を表示するためのモジュールを提供する工程をさらに含むことを特徴とする請求項３３に記載の方法。
【請求項３７】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
それぞれが画像に対応する複数のサムネイルを含むサムネイル表示領域を表示するための命令セットであって、少なくとも１つのサムネイルのセットが選択されている、命令セットと、
前記サムネイル表示領域内の特定の選択されていないサムネイル上で選択入力を受信するための命令セットと、
前記選択入力が閾値期間よりも短く続いた場合に、前記特定のサムネイルのみを選択し、前記特定のサムネイルに対応する画像を画像表示領域に表示するための命令セットと、
前記選択入力が少なくとも前記閾値期間を続くと、前記選択されたサムネイルのセットに前記特定のサムネイルを追加し、前記画像表示領域内に前記選択されたサムネイルのそれぞれに対応する画像を表示するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項３８】
前記画像表示領域に画像を表示するための前記命令セットは、同一の視覚的重み付けで前記画像のそれぞれを表示するための命令セットを含むことを特徴とする請求項３７に記載の機械可読媒体。
【請求項３９】
前記画像閲覧アプリケーションは、
以前に選択された特定のサムネイル上に第２の選択入力を受信するための命令セットと、
前記選択入力が閾値期間よりも短く続く場合に、前記画像表示領域に前記以前に選択された特定のサムネイルに対応する画像のみを表示するための命令セットと、
前記選択入力が少なくとも前記閾値期間を続く場合に、前記画像表示領域から前記以前に選択された特定のサムネイルに対応する画像を除去するための命令セットとをさらに含むことを特徴とする請求項３８に記載の機械可読媒体。
【請求項４０】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
タッチセンシティブディスプレイ上に順序付けられたサムネイルのセットを含むサムネイル表示領域を表示するための命令セットであって、前記サムネイルは、画像表示領域に画像のセットからの対応する画像を表示するために選択するためのものである、命令セットと、
前記タッチセンシティブディスプレイを介してサムネイルの特定のタッチ選択を受信するための命令セットであって、前記選択されたサムネイルは第１画像に対応する、命令セットと、
前記画像のセット内の特定の他の各画像に対して、前記特定の他の画像が前記第１の画像に対して閾値類似度以内であるかを判定するために、前記第１の画像の画像特性と前記特定の他の画像の画像特性とを比較するための命令セットと、
画像表示領域内に、前記第１の画像に対して前記閾値類似度以内である他の各画像とともに前記第１の画像を自動的に表示するための命令セットとを含む機械可読媒体。
【請求項４１】
前記画像特性は、色、形、およびテクスチャを含むことを特徴とする請求項４０に記載の機械可読媒体。
【請求項４２】
画像特性を比較するための前記命令セットは、前記第１の画像の複数の異なるヒストグラムと、前記第２の画像の対応する複数の異なるヒストグラムとを比較するための命令セットを含むことを特徴とする請求項４２に記載の機械可読媒体。
【請求項４３】
特定の画像に対する前記複数の異なるヒストグラムは、前記画像閲覧アプリケーションへ前記特定の画像がインポートされる際に演算されることを特徴とする請求項４２に記載の機械可読媒体。
【請求項４４】
前記特定のタッチ選択は、前記サムネイルのダブルタップジェスチャ選択であることを特徴とする請求項４０に記載の機械可読媒体。
【請求項４５】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
特定のアスペクト比を有する画像を受信するための命令セットと、
前記画像内の各画素に対して、当該画素における前記画像の色、テクスチャ、および勾配を定量化する画素特性のセットを演算するための命令セットと、
前記画像のいくつかの区域のセットのそれぞれに対して、各画素特性のそれぞれに対するヒストグラムを生成するための命令セットであって、前記ヒストグラムは前記画像と他の画像とを比較するために使用するものであり、前記区域は前記画像と同一のアスペクト比を有し前記画像内の少なくとも１つの画素は２つ以上の区域の一部となる、命令セットとを含むことを特徴とする機械可読媒体。
【請求項４６】
前記区域のそれぞれは、前記画像の四分の一の大きさであることを特徴とする請求項４５に記載の機械可読媒体。
【請求項４７】
前記区域のセットは、９つの異なる区域を含むことを特徴とする請求項４６に記載の機械可読媒体。
【請求項４８】
前記画像内の第１の画素は、複数の区域の一部であり、前記画像の第２の画素は、１つのみの区域の一部であることを特徴とする請求項４５に記載の機械可読媒体。
【請求項４９】
特定の画素の画素特性のセットを演算するための前記命令セットは、前記特定の画素の色地を色相・彩度・明度（ＨＳＶ）色空間に変換するための命令セットを含むことを特徴とする請求項４５に記載の機械可読媒体。
【請求項５０】
各区域に対する前記色ヒストグラムは、前記ＨＳＶ色空間の第１の部分のための第１のビンと、前記ＨＳＶ色空間のより大きい第２の部分のための第２のビンとを含むことを特徴とする請求項４９に記載の機械可読媒体。
【請求項５１】
前記ＨＳＶ色空間の前記第１の部分および前記第２の部分は人間により知覚可能な同等の差を示すことを特徴とする請求項５０に記載の機械可読媒体。
【請求項５２】
特定の画素に対する画素特性のセットを演算するための前記命令セットは、
前記特定の画素の強度値を演算するための命令セットと、
前記特定の画素に対する前記強度値と、周囲の画素の第１のセットに対して演算された強度値とを使用して、前記特定の画素のテクスチャ値を演算するための命令セットと、
前記特定の画素に対する前記強度値と、周囲の画素の第２のセットに対して演算された強度値とを使用して、前記特定の画素に対する勾配値を演算するための命令セットとを含むことを特徴とする請求項４５の機械可読媒体。
【請求項５３】
周囲の画素の前記第１のセットは、前記特定の画素を中心とする５×５のウィンドウ内のすべての画素を含み、周囲の画素の前記第２のセットは、前記特定の画素の真上、真下、真左、真右の４つの画素を含むことを特徴とする請求項５２に記載の機械可読媒体。
【請求項５４】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
画像閲覧領域に表示するための複数の画像の平均アスペクト比を算出するための命令セットであって、前記複数の画像内の第１の画像は第１のアスペクト比を有し、前記複数の画像内の第２の画像は異なる第２のアスペクト比を有する、命令セットと、
前記複数の画像を表示するための前記画像閲覧領域の区域の数および大きさを決定するための命令セットであって、前記区域は前記計算された平均アスペクト比を有し、各画像は前記区域の異なる１つに表示するためのものである、命令セットと、
前記画像閲覧領域の区域に前記複数の画像を表示するための命令セットであって、表示される各画像は同一の視覚的重み付けを有し、前記第１の画像は前記第１のアスペクト比で表示され、前記第２の画像は前記第２のアスペクト比で表示される、命令セットとを含む機械可読媒体。
【請求項５５】
前記画像は、各画像に同一の画素数を使用して表示されることを特徴とする請求項５４に記載の機械可読媒体。
【請求項５６】
前記画像閲覧領域の区域の前記数および大きさを決定するための前記命令セットは、前記平均アスペクト比と表示する画像の数とに基づいて最適の列数および行数を決定することを含むことを特徴とする請求項５４に記載の機械可読媒体。
【請求項５７】
前記画像閲覧アプリケーションは、前記複数の画像の選択を受信するための命令セットをさらに含むことを特徴とする請求項５４に記載の機械可読媒体。
【請求項５８】
前記アプリケーションは、タッチスクリーンデバイス上で実行され、前記複数の選択は、前記タッチスクリーン上の２つの別々のタッチ入力を使用するブロック選択として受信されることを特徴とする請求項５７に記載の機械可読媒体。
【請求項５９】
画像を表示する方法であって、
画像表示領域に表示するための複数の画像の選択を受信する工程であって、各画像はアスペクト比を有する、工程と、
前記画像表示領域の画像表示区域の最適なグリッドを識別する工程であって、前記グリッド内の前記画像表示区域はそれぞれ同一の特定の大きさおよびアスペクト比を有する、工程と、
前記画像のそれぞれを画像表示区域に割り当てる工程と、
アスペクト比を維持しながら割り当てられた画像表示領区域に各画像の全体が算出された大きさで表示されるように、前記割り当てられた画像表示区域内に前記画像を表示するための大きさを算出する工程とを含む方法。
【請求項６０】
前記画像表示区域内の前記最適なグリッドを識別する前記工程は、
前記複数の画像の平均アスペクト比を算出する工程であって、前記グリッド内の画像表示区域のそれぞれは前記平均アスペクト比を有する、工程と、
制約のセットの範囲内で前記画像表示区域の大きさを最大化する画像表示区域の列数および行数を識別する工程とを含むことを特徴とする請求項５９に記載の方法。
【請求項６１】
前記制約のセットは、前記グリッドが少なくとも前記複数の画像内の画像の数と同じ数の画像表示区域を有することと、前記画像表示区域のすべてが前記画像表示領域に収まることとを必要とすることを特徴とする請求項６０に記載の方法。
【請求項６２】
画像表示区域に前記画像のそれぞれを割り当てる前記工程は、
前記グリッド内の一番上の行から始めて、各画像を異なる画像表示区域に割り当てる工程と、
前記グリッド内の一番下の行に含まれる、画像が割り当てられていない画像表示区域を除去する工程と、
前記一番下の行の残りの画像表示区域を中央に配置する工程とを含むことを特徴とする請求項５９に記載の方法。
【請求項６３】
前記画像表示領域に追加するための追加画像の選択を受信する工程と、
前記画像表示領域内の画像表示区域の新しい最適なグリッドを識別する工程であって、前記新しいグリッド内の画像表示区域は、前記追加画像のアスペクト比を考慮した異なる大きさおよびアスペクト比を有する、工程と、
前記追加画像を含む前記画像のそれぞれを、前記新しいグリッド内の画像表示区域に割り当てる工程と、
アスペクト比を維持しつつ新しく算出された大きさで新しく割り当てられた画像表示区域内に各画像が全体的に表示されるように、前記追加画像を含む前記画像を表示するための新しい大きさを算出する工程とを含むことを特徴とする請求項５９に記載の方法。
【請求項６４】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションはグラフィカルユーザインタフェースを含み、前記ＧＵＩは、
前記画像閲覧アプリケーション内の画像に対応する複数の選択可能なサムネイルを表示するためのサムネイル表示領域であって、各画像は特定のアスペクト比を有する、サムネイル表示領域と、
対応するサムネイルが選択されている１つ以上の画像を表示するための画像表示領域であって、前記画像表示領域は、各画像がそれぞれの特定のアスペクト比を維持しながら約同じ画素数を使用して割り当てられた区域内に表示されるように、前記画像を表示するために割り当てられた同じ大きさの区域のセットに分割するためのものである、画像表示領域とを含むことを特徴とする機械可読媒体。
【請求項６５】
前記ＧＵＩは、タッチスクリーンデバイス上に表示するためのものであり、前記サムネイルは前記タッチスクリーンとのタッチインタラクションを介して選択可能であることを特徴とする請求項６４に記載の機械可読媒体。
【請求項６６】
各画像を表示するための前記画素数は、前記画像の中の特定の１つを、当該特定の画像のアスペクト比を維持しながら前記同じ大きさの区域の１つに、最大の大きさで表示するための画素数であることを特徴とする請求項６４に記載の機械可読媒体。
【請求項６７】
前記特定の画像は、前記同じ大きさの区域のアスペクト比とは最も異なるアスペクト比を有する画像であることを特徴とする請求項６６に記載の機械可読媒体。
【請求項６８】
前記ＧＵＩは、前記画像を編集するための編集ツールのセットをさらに含むことを特徴とする請求項６４に記載の機械可読媒体。
【請求項６９】
前記ＧＵＩは、前記画像にタグを付けるための選択可能なＧＵＩ項目のセットをさらに含むことを特徴とする請求項６４に記載の機械可読媒体。
【請求項７０】
前記サムネイル表示領域および前記画像表示領域は、ＧＵＩ内の不変の区域を一緒になって占め、前記サムネイル表示領域の大きさは変更可能であることを特徴とする請求項６４に記載の機械可読媒体。
【請求項７１】
前記サムネイル表示領域の前記大きさの変更は、前記画像表示領域の大きさを対応するように変更することを特徴とする請求項７０に記載の機械可読媒体。
【請求項７２】
前記画像表示領域の前記大きさの変更の結果として、前記同じ大きさの区域の大きさの変更と、各画像を表示するために使用する画素数の対応する変更とをもたらすことを特徴とする請求項７１に記載の機械可読媒体。
【請求項７３】
画像閲覧アプリケーションを規定する方法であって、
前記画像閲覧アプリケーション内の画像に対応する複数の選択可能なサムネイルを表示するためのサムネイル表示領域を規定する工程であって、各画像は特定のアスペクト比を有する、工程と、
前記画像に対応するサムネイルが選択された場合に、各画像に対して前記特定のアスペクト比を維持しながら、同一の視覚的重み付けを使用して１つ以上の画像を表示するための画像表示領域を規定する工程と、
（ｉ）表示するための画像のアスペクト比に基づいて、最適の数の同じ大きさの表示区域に前記画像表示領域を分割し、（ｉｉ）前記同一の視覚的重み付けを使用して前記画像のそれぞれを表示するための前記表示区域の１つに割り当てるためのモジュールのセットを規定する工程とを含むことを特徴とする方法。
【請求項７４】
画像に対する編集を生成するためのモジュールのセットを規定する工程と、
前記画像表示領域内に前記画像の編集されたバージョンを表示するために、前記画像に前記編集を適用するためのモジュールのセットを規定する工程とを含むことを特徴とする請求項７３に記載の方法。
【請求項７５】
前記画像表示領域は、前記画像が割り当てられた同一の大きさの表示区域の同じパーセンテージを使用して前記画像のそれぞれを表示するためのものであることを特徴とする請求項７３に記載の方法。
【請求項７６】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
それぞれが画像表示領域内に表示するための画像のセットの平均アスペクト比を有する複数の画像表示区域に前記画像表示領域を分割するための命令セットと、
前記画像表示区域の１つに収めた場合の前記セット内の特定の画像の大きさを識別するための命令セットと、
前記セット内の各画像に対して、前記画像のアスペクト比を維持し、前記画像表示区域内に収めた場合の前記特定の画像の前記識別された大きさに一致させるように前記画像を表示するための寸法を算出するための命令セットと、
各画像の前記算出された寸法を用いて前記画像を前記画像表示領域に表示するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項７７】
前記大きさは、前記画像を表示するために使用するスクリーン画素の総数であることを特徴とする請求項７６に記載の機械可読媒体。
【請求項７８】
前記特定の画像は、前記画像表示区域に収めた場合の前記画像表示区域の１つの最小のパーセンテージを使用する画像であることを特徴とする請求項７６に記載の機械可読媒体。
【請求項７９】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
サムネイル表示領域内の第１の選択サムネイルおよび第２の選択サムネイルに対応する第１の画像および第２の画像を画像表示領域内に表示しながら、前記第１の選択サムネイルおよび前記第２の選択サムネイルのために第１の選択指標を表示するための命令セットと、
前記画像表示領域を介して前記表示された第１の画像の選択を受信するための命令セットと、
前記表示された第１の画像の前記選択に応じて、
前記画像表示領域内に前記第１の画像のみを表示し、
前記第２のサムネイルのための第１の選択指標を維持しながら、前記サムネイル表示領域内の第１のサムネイルのために第２の選択指標を表示するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項８０】
前記第１の選択指標および第２の選択指標は両方とも、前記サムネイルの周りのハイライトされた境界を含むことを特徴とする請求項７９に記載の機械可読媒体。
【請求項８１】
前記第２の選択指標は、前記第１の選択指標よりも強いハイライトを含むことを特徴とする請求項８０に記載の機械可読媒体。
【請求項８２】
前記画像閲覧アプリケーションは、
前記画像表示領域に第１の画像のみが表示され、前記第２のサムネイルが選択されている際に、前記画像表示領域を介して前記第１の画像の第２の選択を受信するための命令セットと、
前記第２の選択に応じて、
前記画像表示領域内に前記第１の画像および第２の画像を表示し、
前記第１の選択サムネイルおよび第２の選択サムネイルの両方のために前記第１の選択指標を表示するための命令セットとをさらに含むことを特徴とする請求項７９に記載の機械可読媒体。
【請求項８３】
前記画像閲覧アプリケーションは、
前記画像表示領域内に前記第１の画像および第２の画像の両方が表示されている際に、前記第１のサムネイルの選択を受信するための命令セットと、
前記第１のサムネイルの前記選択に応じて、
前記画像表示領域内に前記第１の画像のみを表示し、
前記第２のサムネイルのための前記第１の選択指標を維持しながら、前記サムネイル表示領域内の前記第１のサムネイルのために第２の選択指標を表示するための命令セットとをさらに含むことを特徴とする請求項７９に記載の機械可読媒体。
【請求項８４】
前記画像閲覧アプリケーションは、
前記画像表示領域内に前記第１の画像および第２の画像の両方が表示されている際に、選択指標なしに第３のサムネイルの選択を受信するための命令セットと、
前記第３のサムネイルの前記選択に応じて、
前記画像表示領域内に前記第３のサムネイルに対応する第３の画像のみを表示し、
前記第２のサムネイルのための前記第１の選択指標を除去しながら、前記第３のサムネイルのために前記第２の選択指標を表示するための命令セットとをさらに含むことを特徴とする請求項７９に記載の機械可読媒体。
【請求項８５】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
複数の順序付けられたサムネイルを含むサムネイルグリッドを表示するための命令セットであって、前記複数のサムネイルのサブセットが選択され、前記サブセットは前記順序において連続しない第１のサムネイルおよび第２のサムネイルを少なくとも含む、命令セットと、
画像表示領域内に、前記第１のサムネイルに対応する第１の画像を表示するための命令セットと、
前記画像表示領域内の前記第１の画像上での水平方向のスワイプジェスチャを受信するための命令セットと、
前記水平方向のスワイプジェスチャに応じて、前記画像表示領域内に前記第２のサムネイルに対応する第２の画像を表示するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項８６】
前記水平方向のスワイプジェスチャは、左方向のスワイプジェスチャであることを特徴とする請求項８５に記載の機械可読媒体。
【請求項８７】
前記サブセットは第３の選択サムネイルを含み、前記画像閲覧アプリケーションは、
前記画像表示領域内に前記第１の画像が表示されている際に、前記第１の画像上での右方向のスワイプジェスチャを受信するための命令セットと、
前記右方向のスワイプジェスチャに応じて、前記画像表示領域内に前記第３のサムネイルに対応する第３の画像を表示するための命令セットとをさらに含むことを特徴とする請求項８６に記載の機械可読媒体。
【請求項８８】
前記水平方向のスワイプジェスチャに応じて第２の画像を表示するための前記命令セットは、前記画像表示領域内に第２の画像を追加しながら、前記画像表示領域から前記第１の画像を除去するための命令セットを含むことを特徴とする請求項８５に記載の機械可読媒体。
【請求項８９】
前記第２の画像を追加しながら前記第１の画像を除去するための命令セットは、前記第２の画像の大きさを増大しながら前記第１の画像の大きさを減少するための命令セットを含むことを特徴とする請求項８８に記載の機械可読媒体。
【請求項９０】
前記選択画像のそれぞれは前記画像表示領域内の位置を割り当てられ、前記第１の画像を表示するための前記命令セットは、前記第２の画像の色あせたバージョンを、前記表示された第１の画像の後の割り当てられた位置に表示するための命令セットを含み、前記第２の画像を追加しながら前記第１の画像を除去するための前記命令セットは、
前記第１の画像を前記画像表示領域内の割り当てられた位置に最小化するための命令セットと、
前記第２の画像を前記画像表示領域内の割り当てられた位置から最大化するための命令セットとを含むことを特徴とする請求項８８に記載の機械可読媒体。
【請求項９１】
前記第２の画像の色あせたバージョンは、前記第２の画像の割り当てた位置の少なくとも一部が前記表示された第１の画像により占められていない場合にのみ見えることを特徴とする請求項９０に記載の機械可読媒体。
【請求項９２】
前記第２の画像を追加しながら前記第１の画像を除去するための前記命令セットは、前記画像表示領域の外へ前記第１の画像をスライドするための命令セットを含むことを特徴とする請求項８８に記載の機械可読媒体。
【請求項９３】
前記画像閲覧アプリケーションは、タッチスクリーンデバイス上で動作するものであり、前記水平方向のスワイプジェスチャはタッチジェスチャであることを特徴とする請求項８５に記載の機械可読媒体。
【請求項９４】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
複数のサムネイルを含むサムネイルグリッドを表示するための命令セットであって、前記複数のサムネイルのサブセットが選択され、前記サブセットは第１のサムネイルおよび第２のサムネイルを少なくとも含む、命令セットと、
画像表示領域内に前記第１のサムネイルに対応する第１の画像を表示するための命令セットと、
前記画像表示領域内の前記第１の画像上での垂直方向のスワイプジェスチャを受信するための命令セットと、
前記垂直方向のスワイプジェスチャに応じて、
前記画像表示領域内の前記第２のサムネイルに対応する第２の画像を表示し、
前記選択されたサムネイルのサブセットから前記第１のサムネイルを除去するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項９５】
前記画像閲覧アプリケーションは、
前記画像表示領域内に前記第１の画像が表示された際に、前記第１のサムネイルの特定の選択ジェスチャを受信するための命令セットと、
前記特定の選択ジェスチャに応じて、前記画像表示領域内の前記第２のサムネイルに対応する第２の画像を表示するための命令セットと、前記選択されたサムネイルのサブセットから前記第１のサムネイルを除去するための命令セットとを実行するための命令セットとを含むことを特徴とする請求項９４に記載の機械可読媒体。
【請求項９６】
前記特定の選択ジェスチャは、前記第１のサムネイルの長押し選択であることを特徴とする請求項９５に記載の機械可読媒体。
【請求項９７】
前記画像閲覧アプリケーションは、タッチスクリーンデバイス上で実行するためのものであり、前記垂直方向のスワイプジェスチャはタッチジェスチャであることを特徴とする請求項９４に記載の機械可読媒体。
【請求項９８】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
サムネイルのセットを含むサムネイルグリッドを表示するための命令セットであって、複数の前記サムネイルである、命令セットと、
選択画像にタグを付けるためのＧＵＩツールの選択を受信するための命令セットと、
前記選択画像の１つのみが画像表示領域に表示されている場合に、前記表示された画像のみにタグを付けるための命令セットと、
前記選択画像のすべてが画像表示領域内に表示されている場合に、前記選択画像のそれぞれにタグを付けるための命令セットとを含むことを特徴とする機械可読媒体。
【請求項９９】
前記タグは、お気に入りタグであることを特徴とする請求項９８に記載の機械可読媒体。
【請求項１００】
前記タグは、フラグ付きタグであることを特徴とする請求項９８に記載の機械可読媒体。
【請求項１０１】
前記タグは、画像非表示タグであることを特徴とする請求項９８に機差の機械可読媒体。
【請求項１０２】
前記画像閲覧アプリケーションは、前記特定のタグを有する画像のコレクションに前記タグが付けられた画像を追加するための命令セットをさらに含むことを特徴とする請求項９８に記載の機械可読媒体。
【請求項１０３】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
前記画像閲覧アプリケーションのグラフィカルユーザインタフェース（ＧＵＩ）内のヘルプ起動項目の選択を受信するための命令セットと、
選択可能なＧＵＩ項目の第１のセットのためのヘルプインジケータを表示するための命令セットと、
選択可能なＧＵＩ項目の前記第１のセットの１つの選択を受信するための命令セットと、
前記選択の受信に応じて、
（ｉ）ＧＵＩ項目の第２のセットと、（ｉｉ）ＧＵＩ項目の前記第２のセットのためのヘルプインジケータとを表示し、
選択可能なＧＵＩ項目の前記第１のセットの前記表示を維持しながら、選択可能なＧＵＩの前記第１のセットから前記ヘルプインジケータを除去するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項１０４】
前記画像閲覧アプリケーションは、選択可能なＧＵＩ項目の前記第１のセットの１つが選択されているかに関わらず、選択可能なＧＵＩ項目の第３のセットのためのヘルプインジケータを表示するための命令セットをさらに含むことを特徴とする請求項１０３に記載の機械可読媒体。
【請求項１０５】
ＧＵＩ項目の前記第２のセットの特定の１つは前記ＧＵＩ内を移動可能であり、画像閲覧アプリケーションは、前記特定の移動可能なＧＵＩ項目と一緒に前記特定のＧＵＩ項目のためのヘルプインジケータを移動するための命令セットを含むことを特徴とする請求項１０３に記載の機械可読媒体。
【請求項１０６】
特定のＧＵＩ項目のための特定のヘルプインジケータは、前記特定のＧＵＩ項目のためのヘルプマニュアルの見出しにアクセスするために選択可能であることを特徴とする請求項１０３に記載の機械可読媒体。
【請求項１０７】
前記ヘルプマニュアルの見出しは、画像閲覧アプリケーションとともに記憶されていることを特徴とする請求項１０６に記載の機械可読媒体。
【請求項１０８】
前記ヘルプマニュアルの見出しは、リモートに記憶され、ネットワークを介してアクセス可能であることを特徴とする請求項１０６に記載の機械可読媒体。
【請求項１０９】
選択可能なＧＵＩ項目の前記第１のセットは、色特性変更スライダのセットおよびホワイトバランスオプション項目を有し、前記選択可能なＧＵＩ項目の前記選択されたＧＵＩ項目はホワイトバランスオプション項目であり、ＧＵＩ項目の前記第２のセットはホワイトバランスオプションのセットであることを特徴とする請求項１０３に記載の機械可読媒体。
【請求項１１０】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
前記アプリケーションのグラフィカルユーザインタフェース（ＧＵＩ）内にヘルプ指標項目のセットを表示するための命令セットであって、前記セット内の各ヘルプ指標項目は異なる選択可能なＧＵＩ項目に取り付けられる、命令セットと、
前記ＧＵＩ内で特定のＧＵＩ項目を移動するための入力を受信するための命令セットと、
前記入力に応じて、前記特定のＧＵＩ項目と一緒に前記特定のＧＵＩ項目のためのヘルプ指標項目を移動するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項１１１】
前記特定のＧＵＩ項目は、画像の特性を編集するためにトラックに沿って移動するスライダであることを特徴とする請求項１１０に記載の機械可読媒体。
【請求項１１２】
前記画像閲覧アプリケーションは、
前記特定のＧＵＩ項目のためのヘルプ指標項目の前記移動が、前記特定のＧＵＩ項目のための前記ヘルプ指標項目を第２のＧＵＩ項目のためのヘルプ指標項目に重ならせることを識別するための命令セットと、
前記重なりを防ぐために、前記第２のＧＵＩ項目のためのヘルプ指標項目を自動的に変更するための命令セットとをさらに含むことを特徴とする請求項１１０に記載の機械可読媒体。
【請求項１１３】
前記第２のＧＵＩ項目のためのヘルプ指標項目を自動的に変更するための命令セットは、前記ヘルプ指標項目の一部を新しい位置に移動するための命令セットを含むことを特徴とする請求項１１２に記載の機械可読媒体。
【請求項１１４】
前記画像閲覧アプリケーションは、タッチスクリーンデバイスの少なくとも１つの処理ユニットにより実行するためのものであり、前記ＧＵＩはタッチスクリーン上に表示されることを特徴とする請求項１１０に記載の機械可読媒体。
【請求項１１５】
前記特定のＧＵＩ項目を移動するための前記入力は、タッチおよびドラッグ入力を含むことを特徴とする請求項１１４に記載の機械可読媒体。
【請求項１１６】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
前記アプリケーションのグラフィカルユーザインタフェース（ＧＵＩ）内のヘルプ起動項目の選択の受信に応じて、選択可能な編集ツール起動ＧＵＩ項目の第１のセットに取り付けられたヘルプ指標項目の第１のセットと、選択可能なＧＵＩ項目の第２のセットに取り付けられたヘルプ指標項目の第２のセットとを表示するための命令セットと、
選択可能なＧＵＩ項目の前記第１のセットの１つの選択を受信するための命令セットと、
前記選択に応じて、
前記選択されたＧＵＩ項目に関連付けられた編集ツールのセットを表示し、
ヘルプ指標項目の前記第２のセットの表示を維持しながら、ヘルプ指標項目の前記第１のセットを前記編集ツールのセットに取り付けられたヘルプ指標項目の第３のセットと交換するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項１１７】
前記選択可能な編集起動ツールＧＵＩ項目のセットは、トリミングツール起動項目、露光調整ツール起動項目、色調整ツール起動項目、ブラシ起動項目、および特殊効果項目を含むことを特徴とする請求項１１６に記載の機械可読媒体。
【請求項１１８】
選択可能なＧＵＩ項目の前記第２のセットは、画像に行われた編集を削除するためのアンドゥ項目と、画像の表示を当該画像の元のバージョンと当該画像の編集されたバージョンとの間で切り替えるためのオリジナル表示項目とを含むことを特徴とする請求項１１６に記載の機械可読媒体。
【請求項１１９】
複数の前記ヘルプ表示項目は、それぞれの選択可能ＧＵＩ項目に取り付けられた文字の吹き出しを含むことを特徴とする請求項１１６に記載の機械可読媒体。
【請求項１２０】
画像閲覧アプリケーションのためのコンテキスト依存ヘルプ機能を表示するための方法であって、
前記画像閲覧アプリケーションのグラフィカルユーザインタフェース（ＧＵＩ）内のヘルプ起動項目の選択を受信する工程と、
選択可能なＧＵＩ項目の第１のセットのためのヘルプインジケータを表示する工程と、
選択可能なＧＵＩ項目の前記第１のセットの１つの選択を受信する工程と、
前記選択の受信に応じて、
（ｉ）ＧＵＩ項目の第２のセットと、（ｉｉ）ＧＵＩ項目の前記第２のセットのためのヘルプインジケータとを表示し、
選択可能なＧＵＩ項目の前記第１のセットの前記表示を維持しながら、選択可能なＧＵＩ項目の前記第１のセットから前記ヘルプインジケータを除去する工程とを含むことを特徴とする方法。
【請求項１２１】
選択可能なＧＵＩ項目の前記第１のセットの１つが選択されているかに関わらず、選択可能なＧＵＩ項目の第３のセットのためのヘルプインジケータを表示する工程をさらに含むことを特徴とする請求項１２０に記載の方法。
【請求項１２２】
前記ヘルプ起動項目の第２の選択を受信する工程と、
前記第２の選択に応じて、前記表示からすべてのヘルプインジケータを除去する工程とをさらに含むことを特徴とする請求項１２０に記載の方法。
【請求項１２３】
特定のデバイス上で動作するアプリケーションのためのグラフィカルユーザインタフェース（ＧＵＩ）を規定する方法であって、
ヘルプ指標ＧＵＩ項目にアクセスするための選択可能なＧＵＩ項目を規定する工程と、
前記選択可能なＧＵＩが静的であり、前記ＧＵＩ内の他の選択可能な項目と同じように表示される前記選択可能なＧＵＩ項目のための第１状態を規定する工程と、
前記選択可能なＧＵＩ項目が前記ＧＵＩ内の前記他の選択可能な項目とは異なる目立つように表示される前記選択可能なＧＵＩのための異なる第２の状態を規定する工程であって、前記選択可能なＧＵＩ項目は（ｉ）前記選択可能なＧＵＩ項目が前記特定のデバイス上で動作するアプリケーション内で一度も選択されたことがない場合に前記第１の状態で表示され、（ｉｉ）前記選択可能なＧＵＩ項目が前記特定のデバイス上で少なくとも一回選択されたことがある場合に前記第１の状態で表示するためのものである、工程とを含むことを特徴とする方法。
【請求項１２４】
前記第２の状態は、前記選択可能なＧＵＩ項目が前記ＧＵＩ内で拍動することを含むことを特徴とする請求項１２３に記載の方法。
【請求項１２５】
前記拍動するＧＵＩ項目の大きさは急速に増大および減少することを特徴とする請求項１２４に記載の方法。
【請求項１２６】
前記選択可能なＧＵＩ項目は、クエスチョンマークのアイコンを含むことを特徴とする請求項１２３に記載の方法。
【請求項１２７】
前記第２の状態は、前記ＧＵＩ内で前記選択可能なＧＵＩ項目が点滅することを含むことを特徴とする請求項１２３に記載の方法。
【請求項１２８】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
リモート画像ホスティングウェブサイトに画像をアップロードするための命令セットと、
前記画像ホスティングウェブサイトから、前記リモート画像ホスティングウェブサイト上の画像を識別するデータを受信するための命令セットと、
前記リモート画像ホスティングウェブサイトのユーザが前記画像にコメントをした場合を識別するために、前記受信したデータを使用するための命令セットと、
前記画像編集アプリケーション内に、前記リモート画像ホスティングウェブサイトからの前記ユーザコメントを表示するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項１２９】
前記受信したデータを使用するための前記命令セットは、
コメントストリームの要求として、前記受信したデータを前記リモート画像ホスティングウェブサイトに送信するための命令セットと、
前記コメントストリームを受信するための命令セットと、
前記コメントストリーム内のいずれかのコメントが新しいコメントであるかを判定するための命令セットとを含むことを特徴とする請求項１２８に記載の機械可読媒体。
【請求項１３０】
前記コメントストリームは、前記コメントストリーム内の各コメントのためのタイムスタンプを含み、前記コメントストリーム内のいずれかのコメントが新しいコメントであるかを判定するための前記命令セットは、直近のコメントのタイムスタンプと前記アプリケーションが前記画像のためのコメントに最後にアクセスした時刻のタイムスタンプとを比較するための命令セットを含むことを特徴とする請求項１２９に記載の機械可読媒体。
【請求項１３１】
前記画像編集アプリケーションは、新しいコメントが入手可能であることの通知を表示するための命令セットを含むことを特徴とする請求項１２８に記載の機械可読媒体。
【請求項１３２】
前記通知は、前記アプリケーションが前記画像のためのコメントに最後にアクセスした時刻からの新しいコメントの数を示す数字として表示されることを特徴とする請求項１３１に記載の機械可読媒体。
【請求項１３３】
前記通知は、前記画像編集アプリケーション内でコメントを閲覧するための選択可能な項目上に表示されることを特徴とする請求項１３１に記載の機械可読媒体。
【請求項１３４】
前記画像をアップロードするための前記命令セットは、画像ホスティングウェブサイトに前記画像のためのキャプションをアップロードするための命令セットを含むことを特徴とする請求項１２８に記載の機械可読媒体。
【請求項１３５】
前記画像編集アプリケーションは、ユーザ入力として前記キャプションを受信するための命令セットを含むことを特徴とする請求項１３４に記載の機械可読媒体。
【請求項１３６】
前記ユーザ入力は、タッチスクリーンキーボードを介するタッチスクリーン入力を含むことを特徴とする請求項１３５に記載の機械可読媒体。
【請求項１３７】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
前記画像閲覧アプリケーションにより画像ホスティングウェブサイトにアップロードされた画像を表示する場合に、前記画像閲覧アプリケーションを介してコメントが最後にアクセスされた時刻の後に前記画像ホスティングウェブサイトのいずれかのユーザが前記画像にコメントしたかを判定するための命令セットと、
前記画像閲覧アプリケーションを介してコメントが最後にアクセスされた時刻の後に少なくとも１人のユーザが前記画像にコメントした場合に、新しいコメントが閲覧可能であることを示すための通知項目を表示するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項１３８】
前記画像ホスティングウェブサイトのいずれかのユーザが前記画像にコメントしたかを判定するための前記命令セットは、
少なくとも閾値期間を前記画像が前記画像閲覧アプリケーションのグラフィカルユーザインタフェース（ＧＵＩ）に表示されたことを識別するための命令セットと、
前記画像が少なくとも前記閾値期間を表示された後に、前記画像ホスティングウェブサイトに前記画像のためのコメントストリームの要求を送信するための命令セットとを含むことを特徴とする請求項１３７に記載の機械可読媒体。
【請求項１３９】
前記要求は、前記画像ホスティングウェブサイトのデータベース内の前記画像を識別する画像識別子を含むことを特徴とする請求項１３８に記載の機械可読媒体。
【請求項１４０】
前記画像ホスティングウェブサイトのいずれかのユーザが前記画像にコメントをしたかを判定するための前記命令セットは、
前記要求に応じて、コメントのセットおよび対応するタイムスタンプを含む、前記画像のためのコメントストリームを受信するための命令セットと、
前記画像閲覧アプリケーションのユーザが前記画像閲覧アプリケーションを介して前記画像のためのコメントに以前にアクセスした最後の時刻に対して最後のタイムスタンプを比較するための命令セットとをさらに含むことを特徴とする請求項１３８に記載の機械可読媒体。
【請求項１４１】
前記最後の時刻に対して最後のタイムスタンプを比較するための前記命令セットは、前記画像閲覧アプリケーションのユーザが前記画像閲覧アプリケーションを介して前記画像のためのコメントに以前にアクセスした最後の時刻よりも後のコメントの数を識別するための命令セットを含むことを特徴とする請求項１４０に記載の機械可読媒体。
【請求項１４２】
前記通知項目は、前記識別されたコメントの数を表示することを特徴とする請求項１４１に記載の機械可読媒体。
【請求項１４３】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
前記画像閲覧アプリケーションにより画像ホスティングウェブサイトにアップロードされた画像のための画像識別子を前記画像ホスティングウェブサイトから受信するための命令セットと、
前記画像ホスティングウェブサイトから前記画像のためのコメントストリームをダウンロードするために前記画像識別子を自動的に使用するための命令セットであって、前記コメントストリームは、対応するタイムスタンプとともにコメントのセットを含む、命令セットと、
前記画像閲覧アプリケーションのユーザが前記画像のためのコメントにアクセスした直近の時刻に対して前記タイムスタンプを比較するための命令セットと、
少なくとも１つのタイムスタンプが、前記ユーザが前記画像のコメントにアクセスした直近の時刻よりも最近である場合に、前記画像閲覧アプリケーション内に新しいコメントがレビューのために利用可能であることを示す指標を前記ユーザに表示するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項１４４】
前記画像識別子は、前記画像閲覧アプリケーションが前記画像ホスティングウェブサイトに前記画像をアップロードしたことに応じて受信されることを特徴とする請求項１４３に記載の機械可読媒体。
【請求項１４５】
前記画像ホスティングウェブサイトは、ソーシャルメディアサイトであることを特徴とする請求項１４３に記載の機械可読媒体。
【請求項１４６】
前記画像閲覧アプリケーションにより前記画像が複数の異なる画像ホスティングウェブサイトにアップロードされることを特徴とする請求項１４３に記載の機械可読媒体。
【請求項１４７】
前記画像閲覧アプリケーションは、
前記画像がアップロードされる各画像ホスティングウェブサイトから画像識別子を受信するための命令セットと、
各画像ホスティングウェブサイトから前記画像のためのコメントストリームをダウンロードするために前記画像識別子を自動的に使用するための命令セットとを含むことを特徴とする請求項１４６に記載の機械可読媒体。
【請求項１４８】
少なくとも１つの処理ユニットにより実行される画像閲覧アプリケーションを記憶する機械可読媒体であって、前記画像閲覧アプリケーションは、
前記画像がホストされている画像ホスティングウェブサイトから、前記画像閲覧アプリケーションが画像のための新しいコメントをダウンロードしたことの通知をユーザに表示するための命令セットと、
前記表示された通知の選択を受信するための命令セットと、
（ｉ）前記画像ホスティングウェブサイトからダウンロードされた画像のためのコメントを表示し、（ｉｉ）前記画像ホスティングウェブサイト上の画像にアップロードするための新しいコメントの入力を受信するためのコメント表示領域を表示するための命令セットとを含むことを特徴とする機械可読媒体。
【請求項１４９】
前記通知は、画像情報にアクセスするための選択可能な項目上に表示されることを特徴とする請求項１４８に記載の機械可読媒体。
【請求項１５０】
前記画像情報は、前記画像を撮像したデバイスからの前記画像のためのＥｘｉｆデータを含むことを特徴とする請求項１４９に記載の機械可読媒体。
【請求項１５１】
前記選択は、タッチスクリーン上に表示される選択可能な項目のタッチ入力を介して受信されることを特徴とする請求項１４８に記載の機械可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
デジタル画像を編集および閲覧するアプリケーションは、プロとアマチュア両方の写真家に写真を整理し、編集するためのツールを提供する。これらのアプリケーションは、ユーザに、写真のコレクションを整理するための、そして写真の様々な画像の属性をさまざまな方法で変更するための能力を与える。
【０００２】
現代の世界では、タッチスクリーンデバイスはどこででもみかける。市販の多くのタブレットやスマートフォンはタッチスクリーンを使用し、多くの人はそのようなタッチスクリーンデバイスを所有している。さらに、多くのユーザは自分の携帯用のタッチスクリーンデバイスで写真を撮り、及び携帯用のタッチスクリーンデバイスに他のソース（例えば、デジタルカメラ）から写真を読み込む。よって、タッチスクリーンデバイスに利用可能なユニークなコントロールに適合する、写真を閲覧、整理、および編集するためのアプリケーションが必要である。
【発明の概要】
【０００３】
本発明のいくつかの実施形態では、画像を閲覧や操作するための新規なアプリケーションを提供する。いくつかの実施形態において、アプリケーションは、異なるモードのための異なるグラフィカルユーザインタフェース（ＧＵＩ）を用いて複数の異なるモードで動作する。例えば、いくつかの実施形態において、アプリケーションは、左利き用モード及び右利き用モードの両方においてタッチデバイスで動作する。異なるモードの異なるＧＵＩに加えて、いくつかの実施形態は、異なるモードにおいて異なる方法（例えば、異なる向き）で特定のユーザインタフェースツールを提示する。このアプリケーションは、１つ以上の画像を操作するためのさまざまな機能を提供する。例えば、いくつかの実施形態では、（ｉ）複数の項目を選択するための新規なタッチインタラクション、及び（ｉｉ）画像のグループから類似画像を識別するための新規な方法などの、複数の異なる画像を閲覧するための様々な方法を可能にする。また、アプリケーションは、複数の選択された画像を操作するための様々な新規なインタラクションを提供し、例えば、画像を巡回し、タグ付けするインタラクションを提供する。
【０００４】
上述したように、いくつかの実施形態のアプリケーションは、複数の異なるモード（例えば、左利き用モード及び右利き用モード）を提供する。いくつかの実施形態は、特定のＧＵＩ項目のＧＵＩ内の位置に応じてモードを切り替える。モードを切り替えるときに、いくつかの実施形態では、ＧＵＩにおけるＧＵＩ項目の第１のセットの関係（例えば、順序）を維持しつつ、ＧＵＩ項目の第２のセットの関係を変更する。なお、いくつかの実施形態のアプリケーションは、異なるモードでツールが起動されると、異なる方法（例えば、向き）で何らかのツールを提示する。
【０００５】
いくつかの実施形態において、アプリケーションは、モードを切り替えるためのユーザインタフェース機構を提供する。例えば、いくつかの実施形態のＧＵＩは、画像のグループのサムネイルを表示するサムネイル表示領域及び選択された画像のより大きい（および場合によっては、編集可能な）バージョンを表示する画像表示領域を含む。いくつかの実施形態では、サムネイル表示領域が移動可能であり、アプリケーションは、サムネイル表示領域が移動されたＧＵＩ内の位置に基づいて、左利き用モードと右利き用モードとの間で切り替わる（例えば、サムネイル表示領域がＧＵＩの右側にある場合に左利き用モードにし、サムネイル表示領域がＧＵＩの左側にある場合に右利き用モードにする）。
【０００６】
アプリケーションが２つのモードの間を切り替えるときに、いくつかの実施形態では、ＧＵＩ項目の第１のセットの順序を維持しながら、ＧＵＩ項目の第２のセットの順序を変更する。具体的には、アプリケーションは、編集ツールが典型的に利用される順序を維持するために、さまざまな編集ツールに関連付けられているＧＵＩ項目のセットの順序を維持する。一方、アプリケーションは、サムネイル表示領域に対して同じ位置にＧＵＩ項目を維持するためにＧＵＩ項目の第２のセットの順序を反転させる。
【０００７】
また、画像閲覧、編集、および整理アプリケーションは、異なるモードで異なる方法で何らかのＧＵＩツールを提供する。例えば、いくつかの実施形態では、アプリケーションが左利き用モードであるか右利き用モードであるかに応じて異なる向きに特定のツールを表示する。１つのそのような特定のツールは、画像表示領域の特定の領域を拡大するズームツールである。いくつかの実施形態のズームツールはさまざまな拡大率の変化が可能な円形の拡大鏡である。拡大率を変更するに、ユーザは（例えば、親指と人差し指で）２つの別々のタッチ入力の回転ジェスチャを行う。右利き用モードで動作するとき、アプリケーションは拡大鏡の左側に拡大率情報を表示し、左利き用モードで動作する場合、逆もまた同様である。これは、ズームツールの拡大率情報の閲覧をユーザの手が遮ることを防ぐ。さらに、いくつかの実施形態は、２つの異なるモード間でのズームインやズームアウトをするための回転方向を切り替える。
【０００８】
上述したように、いくつかの実施形態では、サムネイル表示領域は、アプリケーションＧＵＩの２つの異なる側の間で移動可能である。さらに、アプリケーションは、ユーザがスワイプジェスチャ（例えば、タッチスクリーン上の左右のスワイプジェスチャ）を利用してサムネイル表示領域をアプリケーションＧＵＩの上又はその外に移動することを可能にする。また、ユーザがタッチスクリーン上でドラッグジェスチャをすることでサムネイル表示領域と画像表示領域との境界を移動することにより、サムネイル表示の大きさ（およびサムネイルの列数）を変更することができる。
【０００９】
異なるモードでの動作に加えて、画像閲覧、編集、及び整理アプリケーションは、画像を閲覧、及び操作のための種々の新規な動作及びインタラクションを提供する。例えば、いくつかの実施形態では、画像表示領域に表示する複数の画像を選択するためのいくつかの異なる操作を可能にする。このような操作の１つは、第１のサムネイル及び第２のサムネイルと、その間のすべてのサムネイルとを選択するために、サムネイル表示領域における第１のサムネイルおよび第２のサムネイルを（例えば、２つの異なるタッチ入力を介して）同時選択することを伴う。このようなブロック選択に応じて、アプリケーションは画像表示領域内に選択されたサムネイルに対応するすべての画像を表示する。
【００１０】
いくつかの実施形態はさらに、サムネイル選択入力の異なるタイプを区別する。例えば、ユーザが第１の方法（例えば、タッチスクリーン上のタップ又はシングルクリック）により特定のサムネイルを選択すると、アプリケーションは、その特定のサムネイルのみを選択し、対応する画像のみを表示領域に表示する。しかし、第１のサムネイルが既に選択されていて、ユーザが第２の方法（例えば、タッチスクリーン上の長押し、又はクリック及び保持）で、第２のサムネイルを選択した場合、アプリケーションは第１のサムネイルの選択を維持しながら第２のサムネイルを選択する。アプリケーションは、画像表示領域に第１の画像および第２の画像の両方（および他の選択された画像）を表示する。このように、いくつかの実施形態では、ユーザが画像表示領域に任意の数の画像を追加することができる。
【００１１】
なお、いくつかの実施形態の画像閲覧、編集、および整理アプリケーションは、特定の基準セットに従って選択画像に類似しているすべての画像を表示することができる。ユーザが第３の方法で（例えば、タッチスクリーン上でのダブルタップ、ダブルクリックなどを介して）画像を選択すると、アプリケーションは関連付けられている画像（例えば、サムネイル表示領域に表示可能なサムナイルを有する画像）のコレクション内のすべての画像を選択画像と比較し、その画像のうちから特定の基準セットに従って、選択画像に対して閾値類似度の範囲内の画像を識別する。いくつかの実施形態は、（例えば、画素の色、テクスチャ、および勾配値に基づいて）画像の画素のヒストグラムを生成し、類似する画像を識別するためにヒストグラムを比較する。いくつかの実施形態において、アプリケーションは、画像の異なる領域に対して異なるヒストグラムを生成し、対応する領域のヒストグラムを比較する。画像は、いくつかの画素が複数の区域の一部になり、他の画素が１つだけの区域に含まれるように区域に分割される。これは、アプリケーションが２つの画像間の比較を行う際に画像の内容表している画素（例えば、中央のもの）をより重要視することを可能にする。
【００１２】
画像表示領域内に複数の画像を表示する際に、いくつかの実施形態は、異なる画像間の一定の視覚的重みを維持する。すなわち、画像を異なる大きさとして表示することにより、画像表示領域内のすべてのスペースを埋めるようにするのではなく、アプリケーションは、画像の大きさに関わらず同じ大きさに各画像を表示する。異なる画像間の視覚的重み付けを一定に保つために、いくつかの実施形態では、画像表示領域に表示する画像の全ての平均アスペクト比を算出し、そして平均アスペクト比を有する正しい数の区域を得るための画像表示領域の最適な分割を識別する。これらの区域内で、アプリケーションは、各画像が同じ画素数を使用して表示されるように画像を表示する。
【００１３】
複数のサムネイルが選択され、複数の画像が画像表示領域に表示されると、いくつかの実施形態は画像の閲覧とインタラクションのための種々の新規なインタラクションを提供している。例えば、ユーザは、表示画像のいずれかに対して、選択操作（例えば、タッチスクリーン上のタップや、マウスクリック）を行うことができる。いくつかの実施形態では、画像表示領域に選択画像のみ（すなわち、一次選択画像）を表示するが、他の画像の二次選択を維持する。これらの選択を示すために、アプリケーションは、（例えば、太いハイライト境界と細いハイライト境界を使用して、）第２の選択インジケータで一次選択画像（表示画像）のサムネイルをハイライトしながら、第１の選択インジケータで二次画像の選択のサムネイルをハイライトする。
【００１４】
複数の画像のためのこの閲覧モードにある場合に、いくつかの実施形態では、水平方向のスワイプジェスチャで異なる選択画像をユーザが巡回することができる。また、ユーザは、垂直方向のスワイプで選択画像のセットから画像を除去することができる。ある画像がセットから除去されるとき、アプリケーションは、対応するサムネイルから選択インジケータを除去する。複数の画像が画像表示領域に表示されている場合、ユーザは、画像のすべてにタグ（例えば、お気に入りタグ）を適用することができ、又は一次表示用の画像のいずれかを選択し、その後、一次画像選択のみにタグを適用することができる。
【００１５】
画像を閲覧している際に、いくつかの実施形態のアプリケーションでは、ユーザが画像ホスティングおよびソーシャルメディアのウェブサイトと双方向性インタラクションをすることができる。例えば、ユーザは、画像閲覧アプリケーション内の画像だけでなく、画像が外部のアプリケーションやウェブサイトにエクスポートされるときにも画像に添付されるキャプションを画像に追加することができる。なお、外部ウェブサイトのユーザがホスティングされた画像にコメントをすると、いくつかの実施形態は、この情報を自動的に取得し、画像閲覧アプリケーション内で外部のコメントを表示する。
【００１６】
上述した機能に加えて、いくつかの実施形態のアプリケーションはコンテキスト依存ヘルプ機能を提供する。具体的には、ヘルプツールが呼び出されたときに、アプリケーションは、ユーザが現在作業している項目に合わせたヘルプインジケータを表示する。ユーザが使用中のツールのアクティブセットを変更すると、アプリケーションはツールのアクティブセットに応じたヘルプインジケータを表示する。移動可能なツール（例えば、スライダ）に関して、いくつかの実施形態では、ツールが移動されると共に、ヘルプインジケータを移動する。
【００１７】
前述の概要は、本発明のいくつかの実施形態について簡単な説明として役立つことを意図している。本明細書に開示されたすべての発明的主題の導入又は概説であることを意味しない。以下の詳細な説明と、詳細な説明において参照される図面は、概要に記載された実施形態又はその他の実施形態について、さらに説明する。したがって、本明細書に記述されているすべての形態を理解するために、概要、詳細な説明及び図面の全面的な検討が必要である。さらに、クレームされた主題は、概要、詳細な説明および図面における説明的な詳細に限定されるものではなく、むしろ主題の精神から離れることなくクレームされる主題が他の形態で実施することができるので、添付の特許請求の範囲によって規定される。
【００１８】
本発明の新規な特徴は、添付の特許請求の範囲に記載されている。しかし、説明のために、本発明のいくつかの実施形態が、以下の図面に記載されている。
【図面の簡単な説明】
【００１９】
【図１】いくつかの実施形態の画像閲覧アプリケーション用のＧＵＩの２つの異なるモードを示す図である。
【図２】ＧＵＩの画像表示領域内に同時に表示する複数の画像の選択を示す図である。
【図３】特定の基準のセットに応じて、選択された画像に類似しているすべての画像を表示するためのプロセスを示す図である。
【図４】ＧＵＩのタグ画像のアプリケーションを示す図である。
【図５】ＧＵＩにおけるコンテキスト依存ヘルプ機能の使用を示す図である。
【図６】いくつかの実施形態に係る画像の新しいコレクションの作成を示す図である。
【図７】画像の新しいコレクション（例えば、アルバム）を作成するためのいくつかの実施形態のプロセスを概念的に示す図である。
【図８】いくつかの実施形態のコレクションデータ構造８００を概念的に示す図である。
【図９】画像整理、閲覧、および編集ＧＵＩとコレクション整理ＧＵＩとの間の移動を示す図である。
【図１０】新しく作成されたアルバムを閲覧するためにコレクション整理ＧＵＩ内を移動するユーザを示す図である。
【図１１】いくつかの実施形態に従った上で、コレクション整理ＧＵＩを移動するユーザを示す図である。
【図１２】いくつかの実施形態に係る縦スクロール技術を示す図である。
【図１３】縦向きモードにある間、携帯電話やメディアプレーヤのいくつかの実施形態の実装のための４つの段階上の画像閲覧及び画像整理ＧＵＩと、コレクション整理ＧＵＩとの間の移動を示す図である。
【図１４】画像を閲覧、編集、および整理するためのいくつかの実施形態のＧＵＩの詳細図を示す図である。
【図１５】いくつかの実施形態のアプリケーションによって格納されている画像のデータ構造を概念的に示す図である。
【図１６】ユーザが右利き用モードから左利き用モードに切り替えるためにＧＵＩの左側から右側にサムネイル表示領域を移動する４つの段階にわたるＧＵＩを示す図である。
【図１７】、
【図１８】、
【図１９】縦向きモード及び横向きモードの両方におけるいくつかの実施形態の左利き用ＧＵＩモードと右利き用ＧＵＩモードを示す図である。
【図２０】いくつかの実施形態の画像閲覧ＧＵＩのサムネイル表示領域の状態及び状態の変化を示す状態図を概念的に示す図である。
【図２１】サムネイル表示領域のサイズを大きくするユーザを示す図である。
【図２２】サムネイル表示領域のサイズを小さくするユーザを示す図である。
【図２３】右利き用ＧＵＩモードにある間にＧＵＩからサムネイル表示領域を除去するためのスワイプジェスチャを示す図である。
【図２４】左利き用ＧＵＩモードにある間にＧＵＩからサムネイル表示領域を除去するための同様のスワイプジェスチャを示す図である。
【図２５】サムネイル表示領域をＧＵＩの外へスライドさせることを引き起こすＧＵＩ項目の選択を示す図である。
【図２６】右利き用ＧＵＩモードにある間にＧＵＩ内にサムネイル表示領域を戻すためのスワイプジェスチャを示す図である。
【図２７】左利き用ＧＵＩモードにある間にＧＵＩ内にサムネイル表示領域を戻すための同様のスワイプジェスチャを示す図である。
【図２８】ＧＵＩ上にサムネイル表示領域をスライドさせることを引き起こすＧＵＩ項目の選択を示す図である。
【図２９】サムネイル表示領域をスクロールするユーザを示す図である。
【図３０】サムネイル表示領域内のコレクションのサムネイルをユーザがスクロールする間の縦向きモードのＧＵＩを示す図である。
【図３１】縦向きＧＵＩにおけるサムネイル表示領域の大きさの変更を示す図である。
【図３２】１つの行にサイズを小さくした場合のサムネイル表示領域の水平方向のスクロールを示す図である。
【図３３】いくつかの実施形態の携帯電話やメディアプレーヤＧＵＩのサムネイル表示領域における画像をスクロールするユーザを示す図である。
【図３４】ズームツールを起動するためのいくつかの実施形態のプロセスを概念的に示す図である。
【図３５】いくつかの実施形態の右利き用ＧＵＩを介してズームツールを起動し、選択解除する例を示す図である。
【図３６】ＧＵＩが左利き用モードのときに、ＧＵＩを介してズームツールを起動する例を示す図である。
【図３７】いくつかの実施形態における、ズームツールの様々な動作を提示する状態図を概念的に示す図である。
【図３８】右利き用ＧＵＩにおけるズームツールの拡大動作を示す図である。
【図３９】右利き用ＧＵＩにおけるズームツールの縮小動作を示す図である。
【図４０】ズームツールの移動操作を示す図である。
【図４１】左利き用ＧＵＩにおけるズームツールの拡大動作を示す図である。
【図４２】左利き用ＧＵＩにおけるズームツールの縮小動作を示す図である。
【図４３】コレクション内の類似画像を識別し、表示するためのいくつかの実施形態のプロセスを概念的に示す図である。
【図４４】ユーザが特定の画像を選択し、アプリケーションが選択画像に類似しているコレクション内の画像のセットを識別する画像閲覧アプリケーションのＧＵＩを示す図である。
【図４５】それぞれが画像の４分の１のサイズである９つの異なるタイルに画像を分割することを概念的に示す図である。
【図４６】この特定の画像の分割の結果として生じる画素の１６個の象限と、タイルのうちのどれが各象限からの画素を含むかと示す図である。
【図４７】本発明のいくつかの実施形態に係るヒストグラムのセットを生成するためのプロセス４７００を概念的に示す図である。
【図４８】ＨＳＶ色空間４８００を概念的に示す図である。
【図４９】２つの領域が定められたＨＳＶ色空間の円形断面（すなわち、一定値）を示す図である。
【図５０】２つの領域に分割されたＨＳＶ色空間の三次元部分を示す図である。
【図５１】中心画素のテクスチャを計算するためにいくつかの実施形態で使用される９つの画素を示す図である。
【図５２】ヒストグラムを生成し、類似度のために画像を比較するいくつかの実施形態の画像閲覧、編集、および整理用のアプリケーションの一部のソフトウェアアーキテクチャを概念的に示す図である。
【図５３】画像表示領域内のサムネイルのブロックを選択するためのいくつかの実施形態のプロセスを概念的に示す図である。
【図５４】、
【図５５】サムネイルのブロックの選択の例を示す図である。
【図５６】選択されていないサムネイル上のユーザ入力をサムネイルの選択に変換するためのいくつかの実施形態のプロセスを概念的に示す図である。
【図５７】いくつかの実施形態のＧＵＩにおける種々の選択入力を示す図である。
【図５８】いくつかの実施形態の携帯電話やメディアプレーヤＧＵＩの同様の選択操作のセットを示す図である。
【図５９】画像表示領域内で同時に複数の画像を表示するためのいくつかの実施形態のプロセスを概念的に示す図である。
【図６０】ユーザが、４つのサムネイルのブロック選択を行うＧＵＩを示す図である。
【図６１】４つの選択画像の平均アスペクト比領域を示す図である。
【図６２】４：３画像表示領域６００５内の１８７：１４４アスペクト比領域の理想的な列数は２であり、行を２つ有することを示す図である。
【図６３】グリッド領域内に収まる異なるアスペクト比の画像を示す図である。
【図６４】画像表示領域内で他の画像のうちの特定の１つと同じ領域を占めるようにフィットする画像の大きさを示す図である。
【図６５】画像表示領域内に表示された４つの画像を示す図である。
【図６６】画像の選択／選択解除、及び選択した画像の閲覧に関連する、いくつかの実施形態のＧＵＩの、異なる状態と、これらの状態間の移行を表す状態図を概念的に示す図である。
【図６７】ＧＵＩにおいて、複数の選択した画像の表示からアクティブ画像として選択画像のいずれかの表示への移行を示す図である。
【図６８】選択画像を巡回するためのＧＵＩの右方向への一連のスワイプジェスチャを示す図である。
【図６９】選択画像を巡回するためのＧＵＩの左方向へのスワイプジェスチャを示す図である。
【図７０】いくつかの実施形態のＧＵＩにおける下向きのスワイプジェスチャを示す図である。
【図７１】ＧＵＩにおける選択サムネイルをタップするユーザの例を示す図である。
【図７２】３つの異なる状態でタグの適用に関するいくつかの実施形態のＧＵＩの状態図を概念的に示す図である。
【図７３】画像に画像非表示タグを適用することを示す図である。
【図７４】画像にフラグ画像タグを適用することを示す図である。
【図７５】複数の画像にフラグ画像タグを適用することを示す図である。
【図７６】タグフィルタリングボタンの使用を示す図である。
【図７７】画像にお気に入りタグを適用することを示す図である。
【図７８】複数の画像にお気に入りタグを適用することを示す図である。
【図７９】画像に適用するタグを受信する際に、いくつかの実施形態のアプリケーションによって実行されるプロセスを概念的に示す図である。
【図８０】アルバムからお気に入りの画像のコレクションに移動するユーザを示す図である。
【図８１】、
【図８２】、
【図８３】ＧＵＩ内の１つ以上の画像の画像情報へのアクセスを示す図である。
【図８４】画像にキャプションを追加するユーザを示す図である。
【図８５】いくつかの実施形態によるソーシャルメディアサイトを介して画像を共有するための、ＧＵＩとのユーザインタラクションを示す図である。
【図８６】ソーシャルメディアや写真共有サイトを介して画像を共有するためのいくつかの実施形態のプロセスを概念的に示す図である。
【図８７Ａ】、
【図８７Ｂ】、
【図８７Ｃ】フェイスブック（登録商標）に画像をアップロードするユーザを示す図である。
【図８８】図８７にアップロードした画像の編集されたバージョンを含む、フェイスブックにアップロードするための２つの画像を選択するユーザを示す図である。
【図８９】写真共有やソーシャルメディアのウェブサイト上の画像に投稿されたコメントを取得するためのいくつかの実施形態のプロセスを概念的に示す図である。
【図９０】いくつかの実施形態のＧＵＩにおける情報ウィンドウを介して共有画像にコメントを投稿するユーザを示す図である。
【図９１】いくつかの実施形態のヘルプ機能の各種操作を提示する状態図を概念的に示す図である。
【図９２】いくつかの実施形態に係る、目立つようにしてヘルプアイコンを表示する例を示す図である。
【図９３】ヘルプツールを起動する例を示す図である。
【図９４】ユーザがＧＵＩ内のツールの新しいセットを選択したときにヘルプツールのレベルを変更する例を示す図である。
【図９５】対応するツールとともに、ヘルプインジケータを自動的に移動するアプリケーションの例を示す図である。
【図９６】ＧＵＩ項目のいずれかに関連する詳細なヘルプ記事の表示例を示す図である。
【図９７】いくつかの実施形態における、異なるＧＵＩ項目のヘルプインジケータの表示の他の例を示す図である。
【図９８】いくつかの実施形態に係る画像閲覧、編集、及び整理用のアプリケーションのソフトウェアアーキテクチャを概念的に示す図である。
【図９９】いくつかの実施形態が実装されたモバイルコンピューティングデバイスのアーキテクチャの例である図である。
【図１００】いくつかの実施形態が実施された電子システムを概念的に示す図である。
【発明を実施するための形態】
【００２０】
以下の説明では、多くの詳細、例、および実施形態が説明のために記載されている。しかしながら、当業者は、本発明は記載された実施形態に限定されないこと、および説明した特定の詳細および例のいくつかがなくても実施できることを理解するであろう。他の例では、周知の構造および装置は、不必要な詳細で本発明の説明を不明瞭にしないために、ブロック図形式で示される。
【００２１】
本発明のいくつかの実施形態は、画像の閲覧や操作をするための新規なアプリケーションを提供する。いくつかの実施形態において、アプリケーションは、異なるモードに対して異なるグラフィカルユーザインタフェース（ＧＵＩ）を用いて複数の異なるモードで動作する。例えば、いくつかの実施形態において、アプリケーションは、左利き用モード及び右利き用モードの両方においてタッチスクリーンデバイス上で動作する。異なるモードに対する異なるＧＵＩに加えて、いくつかの実施形態は、異なるモードで異なる方法（例えば、異なる向き）に特定のユーザインタフェースツールを提供する。アプリケーションは、１つ以上の画像を操作するためのさまざまな機能を提供する。例えば、いくつかの実施形態では、（ｉ）複数の項目を選択するための新規なタッチインタラクションや、（ｉｉ）画像のグループから類似画像を識別するための新規な方法を含む、複数の異なる画像を閲覧するための様々な方法を可能にする。さらに、アプリケーションは画像を巡回するため、及び画像にタグを付けるため等の、複数の選択画像を操作するための種々の新規なインタラクションを提供する。
【００２２】
前述のように、いくつかの実施形態の画像編集、閲覧、および整理アプリケーション（以下、画像閲覧アプリケーション、及び画像編集アプリケーションなどと呼ばれる）は、複数の異なるモード（例えば、左利き用モードと右利き用モード）を提供する。いくつかの実施形態は、特定のＧＵＩ項目のＧＵＩにおける位置に応じてモードを切り替える。いくつかの実施形態では、モードを切り替えるときに、ＧＵＩ項目の第２のセットにおける関係を変更しながらＧＵＩ項目の第１のセットのＧＵＩにおける関係（例えば、順序）を維持する。さらに、いくつかの実施形態のアプリケーションは、ツールが異なるモードで起動されるときに、異なる方法（例えば、向き）で何らかのツールを提示する。
【００２３】
図１は、いくつかの実施形態の画像閲覧アプリケーションのためのこのようなＧＵＩ１００の２つの異なるモードを示す。具体的には、この図は右利き用モードにおけるＧＵＩ１００を２つの段階１１０及び１２０で示しつつ、左利き用モードにおけるＧＵＩ１００を２つの段階で示す。
【００２４】
ＧＵＩ１００は、サムネイル表示領域１０５と、画像表示領域１１５と、ＧＵＩ項目の第１のセット１２５と、ＧＵＩ項目の第２のセット１３５とを含む。サムネイル表示領域１０５は、画像のセット（例えば、ユーザが作成したアルバムまたは関連する画像の他のコレクション）のサムネイルを表示する。サムネイルは、コレクション内の画像の縮尺したバージョンである。いくつかの実施形態では、サムネイルは必ずしも画像全体を表示するのではなく、各サムネイルが同じアスペクト比（例えば、正方形）を有するように、各画像の一部だけを表示する。ユーザは、画像表示領域１１５に対応する画像を表示させるために、サムネイルを選択する（例えば、タッチインタラクションやマウスクリックなどを介してする）ことができる。
【００２５】
画像表示領域１１５は１つ以上の選択画像の拡大版を表示する。この場合、サムネイル表示領域１０５でサムネイル１０７が選択され、よって対応する画像が画像表示領域１１５に表示される。図示のように、いくつかの実施形態では、サムネイル表示領域内の任意の選択サムネイル各々に対して、目印を表示する。この場合、サムネイル１０７は太い破線で表示されているが、当業者は、多くの異なる選択目印が可能であることを認識するであろう。
【００２６】
画像表示領域における閲覧機能の提供に加え、いくつかの実施形態は、表示される画像に適用するさまざまな編集、タグ付け、およびその他の操作をユーザに提供する。ＧＵＩ項目の第１のセット１２５は、画像を編集するための編集ツールの異なるセットを起動する３つの項目１２６−１２８を含む。項目１２６−１２８は、ユーザがよく画像を編集したい順序に沿う、左から右への特定の順に配置されている。ＧＵＩ項目の第２のセット１３５は、ＧＵＩ内の他の項目（例えば、サムネイル表示領域１０５および画像表示領域１１５）に対する相対位置に基づいて機能を提供するように設計された順序で配置された３つの項目１３６−１３８を含む。
【００２７】
上述したように、段階１１０は右利き用モードのＧＵＩ１００を示す。このモードでは、サムネイル表示領域１０５は、ＧＵＩの左側にある。また、ＧＵＩ項目１２６‐１２８は、ＧＵＩの左側に配置され、項目１２６は左、項目１２７は中央、及び項目１２８は右の位置にある。ＧＵＩ項目１３６−１３８はＧＵＩの右側に配置され、項目１３６左、項目１３７は中央、及び項目１３８は右の位置にある。
【００２８】
段階１３０は、左利き用モードのＧＵＩを示す。この場合には、サムネイル表示領域１０５は、ＧＵＩの右側に位置している。これにより、ユーザがＧＵＩ上で左手を動かしたとき、彼女の腕がサムネイル表示領域の閲覧を妨げないことが保証される。同様に、右利き用モードにおいてサムネイル表示領域１０５をＧＵＩの左側に位置すると、ユーザの右腕は、サムネイル表示領域１０５の閲覧を妨げない。
【００２９】
段階１３０において、ＧＵＩ項目の第１のセット１２５は、ＧＵＩ１００の右側且つサムネイル表示領域１０５の下に配置され、ＧＵＩ項目の第２のセット１２５は、ＧＵＩ１００の左側に配置されている。しかし、項目の第１のセット１２５は関連する編集ツールをユーザが一般に使う順序と一致する左から右への同じ順を維持するが、項目の第２のセット１３５の順序は、右利き用モードの同項目に比べ、逆の順序である。
【００３０】
いくつかの実施形態において、アプリケーションは、これら２つのモードを切り替えるためのユーザインタフェース機構を提供する。例えば、いくつかの実施形態では、サムネイル表示領域は移動可能であり、アプリケーションはサムネイル表示領域が移動されたＧＵＩにおける位置に基づいて、左利き用モードと右利き用モードとの間で切り替わる。段階１１０から段階１３０に移動するために、ユーザはサムネイル表示領域１０５をピックアップし、タッチスクリーンディスプレイの左側からタッチスクリーンディスプレイの右側にドラッグすることができる。そうする際に、アプリケーションはツールの第１のセット１２５及び第２のセット１３５を自動的に移動し、ツールの第２のセット１３５の順序を逆にする。
【００３１】
また、画像閲覧アプリケーションは、異なるモードで異なる方法で何らかのＧＵＩツールを提供する。例えば、いくつかの実施形態では、アプリケーションが左利き用モードであるか右利き用モードであるかに応じて異なる向きにおいて特定のツールを表示する。図１は、このような、２つの異なるモードで異なる向きで起動されるＧＵＩツール１４５の例を示す。この場合、ＧＵＩツール１４５は、画像表示領域の特定の領域を拡大するズームツールである。
【００３２】
図示のように、段階１１０において、ユーザは、ズームツール１４５を起動するために、右手で画像表示領域とインタラクションする。この図は１本の指のインタラクションを示しているが、異なる実施形態は、このようなツールを起動するために、異なるタイプの入力に反応する。例えば、いくつかの実施形態では、ズームツールを起動するために、時間的に少なくとも部分的に同時に生じる２つの別のタッチインタラクションを必要とする。
【００３３】
段階１２０は、右利き表示モードにある場合の、このインタラクションの結果を示す。アプリケーションは、ユーザのタッチインタラクションの位置の上にズームツール１４５を表示する。示されているように、アプリケーションは、ツール１４５を、＋記号（拡大率を上げることを示す）を右側に、そして−記号（拡大率を下げることを示す）を左側にする第１の向きで表示する。
【００３４】
従って、段階１３０において、ユーザは、ズームツール１４５を起動するために、左手で画像表示領域とインタラクションする。段階１４０は、左利き用表示モードにある場合、このインタラクションの結果を示す。段階１２０のように、アプリケーションは、ユーザのタッチインタラクションの位置の上にズームツール１４５を表示する。しかし、この場合、アプリケーションはズームツール１４５を、＋記号を左側に、そして−記号を右側にする、第２の向きで表示する。
【００３５】
いくつかの実施形態では、ズームツールは、拡大率の程度を変化させることができる。拡大率を変更するには、ユーザは２つの別々のタッチ入力（例えば、親指と人差し指で）の回転ジェスチャを実行する。いくつかの実施形態において、アプリケーションが右利き用モードで動作している場合に、時計回りの回転は拡大率を増加させ、反時計回りの回転は、拡大率を減少させる。左利き用モードの場合、その逆であり、反時計回りの回転は拡大率を増加させ、時計回りの回転は拡大率を減少させる。
【００３６】
さらに、いくつかの実施形態では、拡大率情報（例えば、起動したツール内の拡大率のレベル）を、ツールの一部として表示する。右利き用モードでは、この拡大率情報は拡大鏡の左側に表示され、左利き用モードでは、情報は拡大鏡の右側に表示される。これは、ズームインまたはズームアウトをするときに、拡大率情報の閲覧がユーザの手により妨げられることを防ぐ。
【００３７】
上述したように、いくつかの実施形態では、サムネイル表示領域は、アプリケーションのＧＵＩの２つの異なる側の間で移動可能である。さらに、画像編集アプリケーションは、ユーザがスワイプジェスチャ（例えば、タッチスクリーン上の左及び右のスワイプジェスチャ）でサムネイル表示領域をアプリケーションＧＵＩ上、又はその外に移動させることを可能にする。さらに、ユーザはサムネイル表示領域と画像表示領域との境界をタッチスクリーン上のドラッグジェスチャで移動させることにより、サムネイル表示領域の大きさ（およびサムネイルの列数）を変更することができる。
【００３８】
異なるモードで動作することに加え、画像閲覧アプリケーションは、画像を閲覧または操作するための新規な動作又はインタラクションを数多く提供する。例えば、いくつかの実施形態では、画像表示領域に表示する複数の画像を選択するためのいくつかの異なる操作を可能にする。図２は、４つの段階２１０〜２４０において、ＧＵＩ２００の画像表示領域内に同時に表示する複数の画像の選択を示す。
【００３９】
ＧＵＩ２００は、ＧＵＩ１００について上述した対応する表示領域に類似しているサムネイル表示領域２０５と画像表示領域２１５とを含む。同図（および本出願の多くの他の図）において、ＧＵＩは、サムネイル表示領域が左側にある右利き用モードで示される。当業者は、図示のインタラクションの多くは左利き用ＧＵＩモードにも等しく適用可能であることを認識するであろう。
【００４０】
第１の段階２１０は、サムネイル２２５が選択されていることを示し、対応する選択画像２２７が（画像のアスペクト比を維持したまま）可能な最大のサイズで画像表示領域に表示されていることを示す。第２の段階２２０において、ユーザは、タッチインタラクションを介して第２の画像２３７に対応する第２のサムネイル２３５を選択する。当業者は、タッチスクリーンデバイスは、さまざまなタイプのインタラクション（例えば、タップ、ダブルタップ、長押し、別個の同時インタラクション、マルチフィンガーインタラクションなど）を区別する能力を提供することを認識するであろう。
【００４１】
第３の段階２３０は、画像表示領域２１５が、選択画像２２７と２３７の両方を表示していることを示す。さらに、アプリケーションは、サムネイル２２５と２３５を前の段階よりも薄い破線の境界で表示する。いくつかの実施形態は、単一の選択画像と複数の選択画像とを区別するためにサムネイル表示領域内の異なる選択の目印（例えば、太い又は細いボーダーやハイライト、異なる色など）を使用する。
【００４２】
画像表示領域２１５に示される２つの画像２２７及び２３７は、同じアスペクト比を有しないが、ほぼ同じサイズで表示される。いくつかの実施形態は、画像表示領域内に複数の画像を表示する際に、異なる画像間の一定の視覚的重みを維持する。すなわち、異なるサイズとして画像を表示することにより、画像表示領域内のすべてのスペースを埋めようとするよりも、アプリケーションは、画像の大きさに関わらず同じ大きさで各画像を表示する。異なる画像間の視覚的重みを一定に保つために、いくつかの実施形態は、画像表示領域に表示する画像の全ての平均アスペクト比を算出し、の平均アスペクト比を有する正しい個数の領域への、画像表示領域の最適な分割を識別する。その後、これらの領域内で、アプリケーションは、各画像が同じ画素数を使用して表示されるように画像を表示する。
【００４３】
第３の段階２３０はさらに、別のタッチインタラクションを介して画像２４７に対応する第３のサムネイル２４５を選択したユーザを示す。結果として、第４の段階２４０において、画像表示領域２１５には、３つの選択画像２２７、２３７、及び２４７が表示される。第３の画像を表示するためにアプリケーションは、縮小することなく３つの画像の同じ視覚的重みを維持できるため、他の２つの画像のサイズを縮小する必要がない。
【００４４】
上述したように、いくつかの実施形態は、画像表示領域に複数の画像を表示するために、種々の異なるタッチインタラクションに応答する。そのようなタッチ操作の一例は、第１のサムネイルおよび第２のサムネイルと、その間のすべてのサムネイルを選択するために、サムネイル表示領域における第１のサムネイルおよび第２のサムネイルの同時選択（例えば、２つの異なるタッチ入力を介して）を含む。このようなブロック選択に対して、アプリケーションは選択サムネイル画像に対応するすべての画像を画像表示領域内に表示する。
【００４５】
いくつかの実施形態はさらに、異なるタイプのサムネイル選択入力を区別する。例えば、ユーザが第１の方法（例えば、タッチスクリーン上のタップまたはシングルクリック）で特定のサムネイルを選択すると、アプリケーションは、特定のサムネイルのみを選択し、対応する画像のみを表示領域に表示する。しかし、第１のサムネイルが既に選択されているときに、ユーザが第２の方法（例えば、タッチスクリーンを押してホールドすることまたはクリックしてホールドすること）で、第２のサムネイルを選択すると、アプリケーションは第１のサムネイルの選択を維持しながら第２のサムネイルを選択する。アプリケーションは、画像表示領域に第１の画像および第２の画像（および任意の他の選択画像）の両方を表示する。このように、いくつかの実施形態では、ユーザは画像表示領域に任意の数の画像を追加することができる。
【００４６】
さらに、いくつかの実施形態の画像閲覧アプリケーションは、特定の基準のセットに従って選択画像に類似しているすべての画像を表示することができる。図３は、ＧＵＩ３００の三段階３１０〜３３０にわたって、このようなプロセスを示す。ＧＵＩ３００は、前の図面の対応する領域と同様のサムネイル表示領域３０５と、画像表示領域３１５とを含む。
【００４７】
図３の第１の段階３１０は、サムネイル３３５が選択され、それに対応する画像３４０が画像表示領域３１５に表示されていることを示す。第２の段階３２０において、ユーザは、選択サムネイル３３５に対するタッチ操作を行った。当業者は、これは汎用のユーザ入力であること、そして、他の実施形態は、同様の画像特徴の起動を異なる方法で提供してもよいことを認識するであろう（例えば、サムネイルのダブルタップやダブルクリック（既に選択されているか否かに関わらず）、ホットキーやホットキーのシーケンス、タッチジェスチャやジェスチャのシーケンス、またはメニュー項目やＵＩボタンなど）。第３の段階３３０は、アプリケーションが、選択画像３４０に類似した画像を識別し、識別された別画像３４５及び３５０を画像表示領域３１５に表示したことを示している。なお、破線で示されるように、対応するサムネイル画像３３５、３５５、および３６０は全て、サムネイル表示領域３０５で選択されている。
【００４８】
これらの類似画像を識別するために、いくつかの実施形態では、関連付けられている画像（例えば、サムネイルがサムネイル表示領域内の表示の対象となる画像）のコレクション内のすべての画像を選択画像と比較し、画像のうち特定の基準のセットに従って選択画像に対して閾値内の類似性を有するものを識別する。いくつかの実施形態は、画像の画素のヒストグラムを生成し（例えば、画素の色、テクスチャ、および勾配値に基づいて）、類似画像を識別するためにヒストグラムを比較する。いくつかの実施形態において、アプリケーションは、画像の異なる領域について異なるヒストグラムを生成し、画像間の対応する領域のヒストグラムを比較する。画像は、いくつかの画素が複数の領域の一部になり、他の画素が１つの領域だけに含まれるように領域に分割される。これによりアプリケーションは、２つの画像間の比較を行う際に画像の内容をより表している画素（例えば、画像の中心のもの）に、より配慮することを可能にする。
【００４９】
複数のサムネイルを選択し、画像表示領域に複数の画像が表示されると、いくつかの実施形態は、画像の閲覧および画像とのインタラクションのための種々の新規なインタラクションを提供する。例えば、ユーザは、（対応するサムネイルではなく）表示された画像のいずれかに選択操作（例えば、タッチスクリーン上のタップ、またはマウスクリック）を行うことができる。いくつかの実施形態では、画像表示領域に選択画像（すなわち、一次選択画像）のみが表示されるが、他の画像の二次選択を維持する。これらの選択を示すために、アプリケーションは、第２の選択インジケータで（例えば、太い及び細いハイライト境界線を使用して）一次選択画像（表示された画像）のサムネイルをハイライトしながら、第１の選択インジケータで二次選択画像のサムネイルをハイライトする。
【００５０】
複数の画像のためのこの閲覧モードにある場合、いくつかの実施形態は、水平方向のスワイプジェスチャでユーザが異なる選択画像を巡回することを可能にする。また、ユーザは、垂直方向のスワイプジェスチャで選択画像のセットから画像を除去することができる。画像がセットから削除されるとき、アプリケーションは、対応するサムネイルから選択インジケータを除去する。複数の画像が画像表示領域に表示されている場合、ユーザは、画像のすべてにタグ（例えば、お気に入りタグ）を適用することができ、または一次表示のために画像のいずれかを選択して、一次選択画像のみにタグを適用することができる。
【００５１】
図４は、３つの段階４１０〜４３０に渡ってＧＵＩ３００内の画像３４０〜３５０へのそのようなタグの適用を示す。第１の段階４１０は、図３の第３の段階３３０と同じ状態でＧＵＩ３００を示し、画像表示領域３１５に画像３４０〜３５０が表示されている。第２の段階４２０で、ユーザは選択した画像にタグを付けるためにＧＵＩ項目４０５を選択する。ＧＵＩ項目４０５は概念的項目であり、画像編集アプリケーションのいくつかの実施形態は、異なるＵＩ項目、特定のタイプの選択ジェスチャ、ホットキー等を用いてこのような機能を実装してもよい。なお、項目４０５は、汎用のタグを表すが、いくつかの実施形態では、お気に入りタグ、フラグ、カスタム情報タグなど様々な異なるタグを含んでもよい。
【００５２】
第３の段階は、ＧＵＩ項目４０５の選択結果を示す図である。３つのサムネイル３３５、３５５、および３６０は、タグ付けされたことを示すマーカーを表示する。いくつかの実施形態では、アプリケーションは、サムネイル内にいくつかのタグのアイコンを表示し、単にタグ付けされた画像の属性として他のタグを記憶する。また、ＧＵＩ項目４０５は、選択画像のすべてがタグ付けされていることを示すように現在ハイライトされている。いくつかの実施形態では、ＧＵＩのタグボタンをハイライトすることにより表示領域に表示される画像のすべてに特定のタグが付いていることが示される。その後のタグボタンの選択は、選択画像からタグを削除する。
【００５３】
いくつかの実施形態のアプリケーションでは、画像を閲覧しながら、ユーザが画像ホスティングやソーシャルメディアのウェブサイトと双方向にインタラクションすることができる。例えば、ユーザは、画像閲覧アプリケーション内の画像に添付されるだけでなく、画像が外部のアプリケーションやサイトにエクスポートされるときに画像に添付されるキャプションを画像に追加することができる。さらに、いくつかの実施形態は、ホストされた画像に外部ウェブサイトのユーザがコメントをしたときに、この情報を自動的に取得し、画像閲覧アプリケーション内で外部のコメントを表示する。
【００５４】
上述した特徴に加えて、いくつかの実施形態のアプリケーションはコンテキスト依存ヘルプ機能を提供する。具体的には、ユーザが、ヘルプツールを呼び出したときに、アプリケーションは、ユーザが現在操作している項目に合わせたヘルプインジケータを表示する。図５は、４つの段階５１０〜５４０に渡ってＧＵＩ１００におけるこのようなコンテキスト依存ヘルプ機能の使用を示す。ＧＵＩはコンテキスト依存ヘルプ機能を呼び出すためのヘルプ起動項目１３７を含む。第１の段階では、画像表示領域１１５に１つの選択画像が表示されているＧＵＩ１００が示される。
【００５５】
第２の段階５２０において、ユーザは、タッチインタラクションを介してヘルプ起動項目１３７を選択する。上記の他のＧＵＩの項目と同様に、ヘルプ起動項目１３７は、実際には様々なタッチインタラクション及びカーソルインタラクションなどの様々な方法で呼び出すことができる概念的な項目である。
【００５６】
第３の段階５３０は、ヘルプ起動項目１３７が現在アクティブであることを示し、ＧＵＩ項目１２６〜１２８のためのヘルプインジケータ５０５が表れている。これらのヘルプインジケータ５０５は、異なるＧＵＩの項目の目的を表示し、いくつかの実施形態では、選択した項目に関する追加情報を含むヘルプマニュアルにアクセスするために選択可能である。第３の段階は、さらに、ユーザが露光項目１２７を選択することを示す。
【００５７】
ユーザが使用中のツールのアクティブセットを変更すると、アプリケーションはツールのアクティブセットのためのヘルプインジケータを表示する。その結果、第４の段階５４０は、ヘルプインジケータ５１５の異なるセットを示す。これらのヘルプインジケータ５１５は、ＧＵＩ１００に登場する異なる露光調整項目の目的を表示する。ユーザが編集ツールのこれらのセットの特定の１つに移動したため、トリミング、露光、及び色項目のためのヘルプインジケータの表示はもはや表示されていない。さらに、移動可能ツール（例えば、露光調整スライダ）に関して、いくつかの実施形態では、ユーザがツールを移動すると、ツールと一緒にヘルプインジケータが移動される。
【００５８】
図１〜図５は、画像の閲覧または操作のためのいくつかの実施形態によって提供される新規な特徴の様々な例を示す。いくつかのより詳細な実施形態を以下に説明する。セクションＩは画像コレクション及びアプリケーション内でコレクションの異なるグループ間を移動することについて説明する。セクションＩＩＩで異なるＧＵＩモードと異なるモードでのＧＵＩとの様々なインタラクションを説明する前に、セクションＩＩは、いくつかの実施形態のＧＵＩや画像データ構造について説明する。その後、セクションＩＶは、複数の画像を選択するためのさまざまな技術およびいくつかの実施形態のアプリケーションが一度に複数の画像を表示する方法を説明する。セクションＶは、選択および選択解除操作とタグ付け操作とを含む、いくつかの実施形態の１つ以上の操作に適用することができる様々な操作を説明する。次に、セクションＶＩは、画像共有機能について説明し、セクションＶＩＩは、いくつかの実施形態のコンテキスト依存ヘルプ機能について説明する。その後、セクションＶＩＩＩはいくつかの実施形態のメディア編集アプリケーションのソフトウェアアーキテクチャについて説明する。最後に、セクションＩＸは、本発明のいくつかの実施形態が実装される、電子システムについて説明する。
【００５９】
Ｉ．画像コレクション
画像のコレクションの操作に関係するさまざまな機能を説明する前に、本出願は、本発明のいくつかの実施形態によるそのようなコレクションの作成および整理を説明する。いくつかの実施形態の画像編集、閲覧、および整理アプリケーションは、ユーザが画像（例えば、写真）をインポートすること、コレクション（例えば、アルバムなど）になるように画像を関連付けること、画像から共有可能なメディア（例えば、ジャーナル）を作成すること、および画像編集などを可能にする。いくつかの実施形態は、イベントとして別のデバイス（つまり、アプリケーションを実行するデバイス以外のデバイス）から一緒にインポートされた画像を自動的に関連付ける。一方では、アルバムは、ユーザが作成した画像のコレクションである。ここでは、アプリケーションによって整理されるメディアとして主に画像が説明されるが、本発明のいくつかの実施形態はさらに、ビデオなどの他のタイプのメディアを整理、閲覧、および編集する。
【００６０】
図６は、いくつかの実施形態による４つの段階６１０〜６４０に渡る新しい画像のコレクションの作成を示す。具体的には、段階は、ユーザが特定のイベントコレクションを選択し、イベント内で複数の画像を選択し、その後選択した画像からアルバムを作成することを示す。この図において、および本明細書の他の多くの図において、説明のために、ユーザインタラクションが第１の段階に示され、結果的にＧＵＩで生じる変化が次の段階に示される。しかし、当業者は、大抵の場合、ユーザインタラクションの受信と表示の変更との間の遅延はほぼ瞬間的であることを認識するであろう。
【００６１】
第１の段階６１０は、デバイス上で使用可能な画像のコレクションを表示するためのコレクション整理ＧＵＩ６００を示す。ＧＵＩ６００は、ユーザが様々なタイプのコレクションを切り替えることを可能にするタブ６０５のセットを含む。タブ６０５はユーザがアルバム（ユーザが作成した画像のコレクション）、写真（他の様々なコレクションからの画像のすべてを合併する１つのコレクション）、イベント（画像閲覧アプリケーションが動作するデバイスに一緒にインポートされた画像のコレクション）、及びジャーナル（画像のコレクションを提示し、共有する具体的な方法）を選択可能にする。いくつかの実施形態では、ユーザは、さまざまなタイプのコレクションを切り替えるために異なるタブ６０５を選択することができる。当業者は、いくつかの実施形態では、別のタブ（例えば、特定のビデオタブ、共有可能コレクションの他のタイプのタブなど）が含まれることを認識するであろう。
【００６２】
ＧＵＩ６００はさらに、ユーザが利用できる様々なコレクションを表すアイコンを表示する棚６１５を含む。いくつかの実施形態では、棚６１５は、反射や影を有する、ガラス棚の三次元的外観を与えるように表示される。アルバム、写真、イベント、ジャーナルを表すアイコンは、ガラス棚の上に置かれた外見を有し、ＧＵＩに見られる影を落とすような外見をもつ。段階６１０において、ＧＵＩは、（ここでは、タッチ操作を介して）ユーザが選択した「イベント２」と呼ばれる画像のコレクションを表すアイコン６２５を含む。
【００６３】
第２の段階６２０は、ユーザがアイコン６２５を選択した結果のＧＵＩ６５０、ならびに結果的に得られたＧＵＩ６５０内の追加の選択の結果を示す。特定のコレクションを選択すると、アプリケーションは特定のコレクションのためのＧＵＩを表示する。ＧＵＩ６５０は、サムネイル表示領域６５５、画像表示領域６６０、および図１４を参照して以下にさらに詳細に説明される様々な他のＧＵＩ項目を含む。ＧＵＩ６５０はさらに、表示中のコレクションの名前（この場合、「イベント２」）を最上部に表示する。
【００６４】
この段階では、ユーザは、サムネイル表示領域６５５における３つのサムネイルを選択しており、アプリケーションは画像表示領域６６０に３つの対応する画像を表示する。複数の画像を選択する異なる方法に関する詳細は、セクションＩＶにおいて以下に詳細に説明する。
【００６５】
第３の段階６３０において、ユーザは、（例えば、タッチインタラクション、またはカーソルコントローラなどを介して）設定ＧＵＩ項目６６５を選択する。いくつかの実施形態では、設定項目は、アプリケーション内のユーザの以前の行動のコンテキストに基づくメニューを起動する。例えば、ユーザが編集ツールの特定のセットを起動していたときに、設定メニューは起動された編集ツールに関するオプションを含むことができる。
【００６６】
しかし、この場合、ユーザは閲覧モードにあり、設定メニューは、「新しいアルバムの作成」のオプションを含む。第４の段階６４０は、新しいアルバムを作成するためにユーザがこのメニューオプションを選択することを示す。いくつかの実施形態では、このオプションを選択すると、結果としてアプリケーションは選択した画像から新しいアルバムを作成する。いくつかの実施形態は、設定メニューに、以前に作成したアルバムに選択した画像を追加するなどのアルバムに関連するその他のオプションを含む。さらに、いくつかの実施形態は、新しいアルバムを作成するための異なるメカニズムを提供する。例えば、いくつかの実施形態では、ユーザはコレクション整理ＧＵＩ６００を通して新しいアルバムを作成することができ、その後、別のコレクションにアクセスすることによって、アルバムに新しい画像を追加できる。
【００６７】
さらに、新しいアルバムを作成する際に、いくつかの実施形態では、ユーザが新しいアルバムのパラメータを設定することができる新しいウィンドウまたはダイアログボックスを表示する。例えば、ユーザは、アルバム名を入力することと、いくつかの場合には、すべての選択画像を含めるか、現在のコレクション内のすべての画像を含めるか、別のコレクションから画像を選択するか、又は他のオプションかを判断する。
【００６８】
しかし、いくつかの実施形態は、新しいアルバムを作成するためのオプションを提供しない。アルバムは、同じデバイス（例えば、別の画像整理アプリケーション）上で実行されている追加のアプリケーションから画像閲覧アプリケーションにインポートすることができる。代わりに、ユーザがいくつかの画像の選択から作成することができるコレクションの唯一の形式はジャーナルである。また、画像にフラグを付けることまたは画像をお気に入りとして設定することにより、ユーザは、それらのタグに特有のアルバムに画像を追加する。
【００６９】
図７は、画像の新しいコレクション（例えば、アルバム）を作成するためのいくつかの実施形態のプロセス７００を概念的に示す。図示のように、プロセス７００は、（７０５で）画像の新たなコレクションを作成するためのコマンドを受信することによって開始する。いくつかの実施形態では、このコマンドは、例えば図６に示す「新規アルバム作成」メニューオプションなどのようなユーザコマンドであるが、当業者は、様々な異なるユーザ入力装置及び様々な異なるＧＵＩ構造を介してコマンドを受信することができることを認識するであろう。また、上記のように、いくつかの実施形態では、ユーザが要求して作成できるコレクションの唯一のタイプはジャーナルである。
【００７０】
プロセス７００は次に（７１０で）、現在の選択画像を識別する。いくつかの実施形態において、ユーザは特定のコレクション内の画像のサブセットを選択でき、その後、選択した画像から新しいコレクションを作成するようにアプリケーションを指示することができる。
【００７１】
その後プロセスは、（７１５で）識別された画像を新しいコレクションとして関連付ける。図６では、３つの画像が現在選択されているとして示されているので、これら３つの画像は新たなコレクションとして関連付けられる。いくつかの実施形態において、アプリケーションは、新たに生成されたコレクションのための新しいコレクションデータ構造を作成し、コレクション内の各画像への参照（例えば、ポインタ、データベースの参照ＩＤなど）を記憶する。
【００７２】
図８は、いくつかの実施形態のコレクションデータ構造８００を概念的に示す。ユーザが新しいアルバムを生成すると、または新しいイベントについて新しい画像をインポートすると、アプリケーションはアルバムやイベントのための新しいコレクションデータ構造を自動的に作成する。コレクションデータ構造８００は、コレクションＩＤ、コレクションタイプ、コレクション名、キー画像、及び画像のセットへの参照を含む。コレクションＩＤは、コレクションを参照するときにアプリケーションが使用する、コレクションのための一意な識別子である。コレクションタイプは、コレクションのタイプ（例えば、アルバム、イベント、ジャーナルなど）である。いくつかの実施形態では、アプリケーションは、画像を含む他のコレクションに関係なく、アプリケーションにインポートされた各画像を参照する「写真」コレクションを含む。コレクション名は、コレクションが選択されている場合に画像閲覧および編集ＧＵＩの上部に表示されるユーザがコレクションに割り当てた名前、およびコレクション整理ＧＵＩ内のコレクションのアイコンに使われる名前である。
【００７３】
キー画像は、コレクションを代表する、ユーザによって設定された画像である。いくつかの実施形態では、アプリケーションがコレクション整理ＧＵＩのガラス棚上のコレクションのための選択可能なアイコンとしてキー画像を表示する。また、コレクションデータ構造８００は、コレクション内の各画像への参照の順序付けられた系列を含む。いくつかの実施形態では、画像の順序は、サムネイルがサムネイル表示領域内に表示される順序を決定する。後述するように、いくつかの実施形態は、アプリケーションにインポートされる各画像に対してデータ構造を記憶し、コレクションはこれらのデータ構造を参照する。これらの参照は、データベースエントリへのポインタ、参照などであってもよい。
【００７４】
図９は、４つの段階９１０〜９４０に渡って、画像閲覧、整理、及び編集ＧＵＩ６５０（以下、一部の場合には画像表示ＧＵＩ、画像編集ＧＵＩなどと呼ばれる）と、コレクション整理ＧＵＩ６００との間の移動を示す。図示のように、第１の段階９１０において、ユーザは、戻るボタン９０５を選択する。いくつかの実施形態では、このボタンはアプリケーションをコレクション整理ＧＵＩ６００へ再び移行させる。いくつかの実施形態では、アプリケーションは、表示されたコレクションのコレクションアイコンに最小化するように画像閲覧ＧＵＩ６５０を最小化することによって、この移行をアニメーション化する。段階９２０〜９４０は、このアニメーションを示す。
【００７５】
第２の段階９２０で、画像閲覧ＧＵＩ６５０は、コレクション整理ＧＵＩ６００の端が視認可能なように縮小し始めている。図示のように、アプリケーションは、必ずしも中心に向かって最小化するのではなく、ＧＵＩに表示されるコレクションを表すアイコンの位置に向かって画像閲覧ＧＵＩ６５０を最小化する。第３の段階９３０は、画像閲覧ＧＵＩがコレクションアイコン６２５よりも僅かに大きくなった時点のアプリケーションの表示を示す。最後に、第４の段階９４０において、画像閲覧ＧＵＩは、完全に最小化され、コレクション表示領域のみが示されている。この図はＧＵＩ６５０の全体（すなわち、サムネイル表示領域、ツールバー、および画像表示領域）が最小化されることを示すが、いくつかの実施形態は、ユーザが戻るボタンに触るとすぐに、ディスプレイからサムネイル表示領域とツールバーとを除去して、画像表示領域のみが最小化されるよう表示する。
【００７６】
図１０は、４つの段階１０１０〜１０４０にわたって、新しく作成されたアルバムを表示するために、ユーザがコレクション整理ＧＵＩ６００内を移動することを示す。コレクション整理ＧＵＩ６００内では、ユーザは、アルバム、写真、イベント、及びジャーナルのいずれかを選択するためにタブ６０５を使用できる。後述するように、ユーザは、別のタブ間を移動するためにスワイプジェスチャも使用することができる。第１の段階１０１０はイベントタブ１０１５がアクティブである間のアルバムタブ１００５の選択を示す。図示のように、いくつかの実施形態は、選択中に（例えば、タブの上を指で押している間、タブの上にカーソルがあるときにマウスボタンが押されている間などに）選択したタブをハイライトする。
【００７７】
第２の段階１０２０はアルバムタブ１００５が現在アクティブであることを示す。いくつかの実施形態では、アプリケーションは、異なるタブ間の移行をアニメーション化する（すなわち、イベントがＧＵＩの外にスライドしながら、アルバムを含む新しい棚がディスプレイにスライドするように表示する）。アルバム用の棚は「アルバム１」を表すアイコン１０２５のみを含む。この段階で、ユーザは、このアルバムにアクセスするためにアイコン１０２５を選択する。いくつかの実施形態において、これは、画像閲覧ＧＵＩ６５０に移行させる。
【００７８】
段階１０３０に示されるように、いくつかの実施形態のアプリケーションは、図９に示される最小化アニメーションの反対としてこの移行をアニメーション化する。このように、段階１０３０で、画像閲覧ＧＵＩ６５０は、選択したアイコン１０２５の外に拡大し始めている。第４の段階１０４０は、画像閲覧ＧＵＩ６５０を表示するアプリケーションで、この選択の結果を示す。ＧＵＩは、現在アクティブなコレクションが「アルバム１」であることを一番上に示している。サムネイル表示領域には、図６に「アルバム１」のために選択されたものとして示された３つの画像のサムネイルのみがある。いくつかの実施形態では、最初は画像表示領域内に画像を表示しないで、代わりにユーザが１つ以上の画像を選択するのを待つ。しかし、他の実施形態は、コレクションの順序付けられた系列の最初の画像を、またはコレクションのためのキー画像を最初に選択する。さらに他の実施形態では、前回コレクションがデバイス上で開かれたときに選択された１つ以上の画像を示す、各コレクションについての永続的データを記憶し、選択された際にこの永続的データを用いてコレクションを表示する。
【００７９】
図１１は、いくつかの実施形態に係る４つの段階１１１０〜１１４０にわたってコレクション整理ＧＵＩ６００を移動するユーザを示す。第１の段階１１１０に示すように、アプリケーションはお気に入りアルバム、カメラロールアルバム、フラグ付き写真アルバムだけでなく、他のアルバムを含む少なくとも９つのアルバムに関する情報を記憶する。いくつかの実施形態では、ユーザは、画像をお気に入り又はフラグ付きとしてタグ付けすることができ、これにより対応するアルバムに画像が自動的に置かれる。さらに、いくつかの実施形態は、アプリケーションが動作する装置で撮った任意の画像をカメラロールアルバムに自動的に追加する。
【００８０】
いくつかの実施形態では、スワイプジェスチャは、アプリケーションにタブ間を移動させる。図１１はそのようなジェスチャを示す。図示のように、第１の段階１１１０でユーザは２本の指でタッチスクリーンに触れる。次の段階１１２０において、ユーザは、タッチスクリーンとの接触を維持したまま２本の指を左方向に移動する。図示のように、棚１１０５が左へ移動し始めると同時に、ＧＵＩの右側から棚の第２のセット１１１５が近づく。第３の段階１１３０では、ユーザは少なくともスワイプジェスチャとして見なされるに必要な閾値距離だけ指をスライドした後、タッチスクリーンとの接触点をリリースする。加えて、矢印で示すように新しい棚のセット１１１５は左に移動し続け、棚１１０５を置き換えている。
【００８１】
第４の段階１１４０は、棚１１１５が完全にＧＵＩ６００に移動したことを示す。さらに、ディスプレイにおいて写真タブ１１２５が現在ハイライトされている。これらのスワイプジェスチャを使用して、ユーザは簡単に、特にタブを選択する必要なく異なるタブ間を移動することができる。ユーザが写真タブに移動すると、いくつかの実施形態は、他のタブのためのものと同様の棚のセットを表示するが、コレクションの代わりに個々の画像のサムネイルを表示する。これらの棚は、ユーザが（例えば、画像を編集するために、画像を共有するために、など）特定の画像に直接移動できるように、画像閲覧アプリケーションにインポートされた各画像のサムネイルを含む。
【００８２】
棚１１０５は図１１の第１の段階１１１０で完全に一杯になるが、アプリケーションの特定の例によっては、一度にデバイスに表示することができる最大数を超える数のコレクションを記憶することがあり得る。このように、いくつかの実施形態のアプリケーションは、ユーザが垂直方向に棚をスクロールすることを可能にする。図１２は、ＧＵＩ６００の２つの段階１２１０および１２２０にわたって、いくつかの実施形態による、スクロール技術を示す。
【００８３】
段階１２１０で、ユーザは２本の指でタッチスクリーンに触れる。次の段階１２２０において、ユーザはタッチスクリーンとの接触を維持したまま２本の指を上方向に移動する。これは、ＧＵＩ６００を通して棚を上向きにスライドさせる。その結果、追加の棚がＧＵＩ６００の一番下に登場し、一番上の棚は消えてしまう。これはスムーズスクロール技術であるため、いくつかの実施形態においては、棚は離散的に移動しない代わりに、ユーザのスワイプジェスチャの距離に応じて、画面の上部と下部から部分的にスクロールしてもよい。
【００８４】
いくつかの実施形態の画像閲覧アプリケーションにより、ユーザはデバイス上で記憶容量が利用可能であるかぎり、アルバムを基本的に数に制限なく作成することができる。同様に、ユーザはイベント、写真、ジャーナルを数に制限なく持てる。当業者は、棚のセット間で移動するために他のジェスチャと入力が使用され得ることを認識するであろう。例えば、いくつかの実施形態では、上方向にスワイプすると棚を連続的にスクロールするように、垂直に積み重ねられた棚を数に制限なく含む。さらに、いくつかの実施形態は、スワイプ入力の代替として、またはそれと連動して、画面の左側や右側でのタップまたはクリック入力に応答する。
【００８５】
いくつかの実施形態の画像閲覧、編集、および整理アプリケーションは、モバイルデバイス上で動作する。いくつかの実施形態は、タブレットデバイス（例えば、ｉＰａｄ（登録商標））で動作するが、いくつかの実施形態は、携帯電話（例えば、ｉＰｈｏｎｅ（登録商標））、またはメディアプレーヤ（例えば、のｉＰｏｄ（登録商標））で動作する。いくつかの実施形態のタブレット実装のＧＵＩは、いくつかの実施形態の携帯電話／メディアプレーヤ実装のＧＵＩと異なるが、タブレット実装の他の実施形態は、携帯電話／メディアプレーヤのＧＵＩを使用することができ、その逆もあり得る。
【００８６】
図１３は、縦向きモードにおける間の、いくつかの実施形態の携帯電話やメディアプレーヤの実装について、４つの段階１３１０〜１３４０にわたって、画像閲覧及び編集ＧＵＩ１３５０とコレクション整理ＧＵＩ１３００との間の移動を示す。第１の段階１３１０は画像閲覧および編集ＧＵＩ６５０と同じ機能を多く含む画像閲覧および編集ＧＵＩ１３５０を示す。このＧＵＩは、以下でより詳細に説明する。この段階では、ユーザは、コレクション整理ＧＵＩに戻って移動するために、戻るボタン１３０５を選択する。
【００８７】
第２の段階１３２０は、いくつかの実施形態のコレクション整理ＧＵＩ１３００を示す。ＧＵＩ６００と同様に、このＧＵＩは、異なるコレクションを表すアイコンを有する棚（例えば、ガラス棚）のセットを表示する。しかし、ＧＵＩ６００はコレクションのタイプごとにタブのセット含んでいたのに対し、ＧＵＩ７００は、ディスプレイの下部にある選択可能なアイコンのセット１３１５を含む。これらのアイコンは、（現在選択されている）アルバム、写真、イベント、およびジャーナルの選択を含む。また、表示は設定メニューを含む。
【００８８】
この段階１３２０で、ユーザはイベントアイコン１３２５を選択する。第３の段階１３２５は、イベントアイコン１３２５が現在選択されていることを表し、異なるコレクション（２つのイベント）のアイコンが棚に表示されている。ユーザは、これらのイベントの１つを選択し、第４の段階１３４０は、結果として、選択したコレクションのための画像閲覧ＧＵＩ１３５０を示す。
【００８９】
ＩＩ．画像閲覧
上述の図面は、いくつかの実施形態の画像閲覧ＧＵＩの様々な例を示した。図１４は、画像の閲覧、編集、及び整理をするためのいくつかの実施形態のＧＵＩ１４００の詳細図を示す。ＧＵＩ１４００は、いくつかの実施形態のアプリケーションによって記憶された画像のデータ構造１５００を概念的に示している図１５を参照することにより部分的に説明される。
【００９０】
データ構造１５００は、画像ＩＤ１５０５、画像データ１５１０、編集指示１５１５、エクスチェンジャブル・イメージ・ファイル・フォーマット（Ｅｘｉｆ）データ１５２５、キャプション１５３０、共有画像データ１５３５、画像のキャッシュされたバージョン１５４０、画像上の任意のタグ１５４５、および画像のための任意の追加データ１５５０を含む。画像ＩＤ１５０５は、いくつかの実施形態では、コレクションに格納された画像を参照するために、コレクションデータ構造で使用される画像の一意の識別子である。
【００９１】
画像データ１５１０は、画像を表示するための実際のフルサイズの画素データ（例えば、画像またはそのエンコードされたバージョンの各画素の色空間チャネルの一連の値）である。いくつかの実施形態において、このデータは、画像閲覧、編集、および整理アプリケーションのデータベースに記憶されてもよく、又は同じデバイス上の別のアプリケーションのデータとともに格納することができる。したがって、データ構造は、アプリケーションに関連付けられているローカルファイルへのポインタまたは別のアプリケーションのデータベースを照会するために使用することができるＩＤへのポインタを格納することができる。いくつかの実施形態では、アプリケーションがジャーナル内の画像を使用したり、画像を編集したりすると、アプリケーションは画像データが含まれている画像ファイルのローカルコピーを自動的に作成する。
【００９２】
編集指示１５１５は、ユーザが画像に適用した任意の編集に関する情報を含む。このように、アプリケーションは、アプリケーションが画像の編集されたバージョンから元の画像に容易にいつでも戻すことができるように非破壊形式で画像を記憶する。例えば、ユーザは、画像に彩度効果を適用してからアプリケーションを終了し、その後、別の時にアプリケーションを再度開いて効果を削除することができる。これらの指示に記憶された編集内容は、トリミングや回転、画像全体の露光および色調整、局所的な調整、特殊効果、ならびに画像の画素に影響を及ぼす他の編集内容でもよい。いくつかの実施形態は、ユーザが編集の何らかのセットのみが適用された画像の異なるバージョンを閲覧することができるように、特定の順序でこれらの編集指示を格納する。
【００９３】
Ｅｘｉｆ情報１５２５は、その情報が利用可能である場合に、画像を撮像したカメラによって記憶された各種情報を含む。Ｅｘｉｆデータは、一般的にデジタルカメラで使用されている１つの特定のファイル形式であるが、当業者は、比較可能な情報が他の形式で利用可能であってもよいし、あるいはユーザによって直接入力されてもよいことを認識するであろう。Ｅｘｉｆ情報１５２５は、カメラの設定データ、ＧＰＳデータ、およびタイムスタンプを含む。カメラの設定データには、画像を撮像したカメラから情報が取得可能であれば、画像のカメラの設定に関する情報が含まれる。この情報は、例えば、絞り値、焦点距離、シャッター速度、露光補正、およびＩＳＯを含み得る。ＧＰＳデータ１５２５は、画像が撮像された場所を示し、タイムスタンプは、画像が撮像された（カメラのクロックによる）時刻示す。
【００９４】
キャプション１５３０は、ユーザが入力した画像の説明である。いくつかの実施形態では、この情報は、画像閲覧領域内の画像と共に表示されるが、作成したジャーナルで画像の上に表示するために使用されてもよく、画像をソーシャルメディアや写真共有ウェブサイトに投稿する場合に使用することもできる。ユーザがこのようなウェブサイトへ画像を投稿するとき、アプリケーションは、画像の共有画像データ１５３５を生成する。この情報は、位置（例えば、フェイスブック、Ｆｌｉｃｋｒ等）、ならびにウェブサイトのデータベース内の画像にアクセスするためのオブジェクトＩＤを格納する。最終アクセス日は、アプリケーションがソーシャルメディアや写真共有サイトから画像上の任意のユーザコメントにアクセスするためにオブジェクトＩＤを最後に使用した日付と時刻である。
【００９５】
キャッシュされた画像のバージョン１５４０は、一般的に、アプリケーションがフルサイズの画像データ１５１０からこれらの画像を繰り返し生成する必要がないように、アクセスされ、表示される画像のバージョンを格納する。例えば、アプリケーションは、多くの場合、画像のサムネイルだけでなく、ディスプレイ解像度バージョン（例えば、画像表示領域に合わせたバージョン）を格納する。いくつかの実施形態のアプリケーションは、編集が適用されるごとに新しいサムネイル画像を生成し、以前のサムネイルを置き換える。いくつかの実施形態は、元の画像と画像の１つ以上の編集されたバージョンとを含む複数のディスプレイ解像度バージョンを格納する。
【００９６】
タグ１５４５は、アプリケーションが、画像に関連付けることをユーザに可能にする情報である。例えば、いくつかの実施形態では、ユーザは、画像をお気に入りとしてマークを付け、（例えば、さらなる検討のために）画像にフラグを付けることができ、標準のサムネイルグリッド内に画像表示されず、ユーザが画像を含むコレクションを巡回する場合に画像表示領域に画像が表示されないように画像を非表示にすることができる。他の実施形態は、追加のタグを含むことができる。最後に、画像データ構造１５００は、アプリケーションが画像とともに格納する可能性がある追加データ１５５０（例えば、場所や顔の大きさなど）を含む。
【００９７】
当業者は、画像データ構造１５００が、アプリケーションが画像に必要な情報を格納するために使用する取りうるデータ構造の１つであることを認識するであろう。例えば、異なる実施形態は、追加のまたはより少ない情報を格納してもよいし、異なる順序で情報を格納してもよい。
【００９８】
図１４に戻って、ＧＵＩ１４００は、サムネイル表示領域１４０５、画像表示領域１４１０、第１のツールバー１４１５、第２のツールバー１４２０、および第３のツールバー１４２５を含む。サムネイル表示領域１４０５は、選択したコレクション内の画像のサムネイルを表示する。サムネイルは、フルサイズ画像の小さな表現であり、いくつかの実施形態では、画像の一部のみを表す。例えば、サムネイル表示領域１４０５内のサムネイルは、フルサイズの画像のアスペクト比に関係なく、すべて正方形である。サムネイルに使用する矩形画像の部分を決定するために、アプリケーションは、画像のより小さい寸法を識別し、長手方向における画像の中央部を使用する。例えば、１６００×１２００画素の画像では、アプリケーションは１２００×１２００の正方形を使用する。サムネイル用の選択された部分をさらに絞り込むために、いくつかの実施形態において、（顔検出アルゴリズムを使用して）画像内の全ての顔の中心を識別し、その後、切り取り方向にサムネイル部分を中央にするために、この位置を使用する。よって、仮想の１６００×１２００画像中の顔がすべて画像の左側に位置していた場合に、アプリケーションは、両側から２００列を切り落とすのではなく、左端の１２００列の画素を使用する。
【００９９】
サムネイルに使用する画像の部分を決定した後に、画像閲覧アプリケーションは、（例えば、画素ブレンディングおよびその他の技術を使用して）画像の低解像度バージョンを生成する。いくつかの実施形態のアプリケーションでは、画像のキャッシュされたバージョン１５４０として画像のサムネイルを格納する。これにより、ユーザがコレクションを選択すると、アプリケーションは、（コレクションデータ構造を介して）コレクション内のすべての画像を識別し、サムネイル表示領域に表示するための各画像データ構造内のキャッシュされたサムネイルにアクセスする。
【０１００】
ユーザは、（例えば、以下のセクションＩＶに記載された各種タッチインタラクションを介して）サムネイル表示領域内の１つ以上の画像を選択することができる。選択サムネイルはハイライトまた他の選択のインジケータで表示される。サムネイル表示領域１４０５において、サムネイル１４３０が選択される。さらに、図のように、いくつかの実施形態のサムネイル表示領域１４０５は、フラグが付けられた（すなわち、ｙｅｓに設定されたフラグのタグ１５４５を有する）コレクション内の画像の数を示す。いくつかの実施形態では、このテキストは、フラグが付けられた画像のサムネイルのみを表示するために選択可能である。
【０１０１】
アプリケーションは、対応するサムネイルよりも高い解像度で画像表示領域１４１０に選択画像を表示する。画像はしばしば表示装置よりも高い解像度を有すため、画像は典型的には、画像のフルサイズで表示されない。よって、いくつかの実施形態のアプリケーションは、画像表示領域に収まるように設計された画像のキャッシュされたバージョン１５４０を格納する。画像表示領域１４１０内の画像はフルサイズ画像のアスペクト比で表示される。１つの画像が選択されると、アプリケーションは、画像の一部を切断することなく、画像表示領域内でできるだけ大きく画像を表示する。複数の画像を選択すると、アプリケーションは、画像のアスペクト比が異なる場合であっても、各画像のほど同数の画素を使用して視覚的重み付けを維持するような方法で画像を表示する。
【０１０２】
第１のツールバー１４１５は、タイトル情報（例えば、ＧＵＩに示されるコレクションの名前、現在選択されている画像などにユーザが追加したキャプションなど）を表示する。また、ツールバー１４１５は、ＧＵＩ項目１４３５〜１４３８の第１のセットとＧＵＩ項目１４４０〜１４４３の第２のセットとを含む。
【０１０３】
ＧＵＩ項目の第１のセットは、戻るボタン１４３５、グリッドボタン１４３６、ヘルプボタン１４３７、およびアンドゥボタン１４３８を含む。戻るボタン１４３５は、上の図９のように、ユーザがコレクション整理ＧＵＩに戻るように移動することを可能にする。グリッドボタン１４３６の選択は、ＧＵＩ内に、または外に（例えば、スライドアニメーションを経由して）サムネイル表示領域をアプリケーションに移動させる。いくつかの実施形態では、ユーザは、スワイプジェスチャを介してサムネイル表示領域をＧＵＩ上にまたはその外にスライドすることができる。ヘルプボタン１４３７は、ユーザのアクティブなツールの現在のセットを識別し、簡潔にユーザにツールを説明し、これらのツールのヘルプインジケータを提供するコンテキスト依存ヘルプ機能を起動する。いくつかの実施形態では、ヘルプインジケータはツールに関する追加情報にアクセスするために選択可能である。アンドゥボタン１４３８の選択は、画像に対する直近の編集を、その編集がトリミング、色調整などであるにも関わらず、アプリケーションに除去させる。このアンドゥを実行するために、いくつかの実施形態では、画像とともに記憶された編集指示１５１５のセットから直近の指示を削除する。
【０１０４】
ＧＵＩ項目の第２のセットは共有ボタン１４４０、情報ボタン１４４１、オリジナル表示ボタン１４４２、および編集ボタン１４４３を含む。共有ボタン１４４０は、ユーザがさまざまな方法で画像を共有することを可能にする。いくつかの実施形態では、ユーザはとりわけ、同じネットワーク上（例えば、ＷｉＦｉ（登録商標）ネットワークやＢｌｕｅｔｏｏｔｈ（登録商標）ネットワーク）の別の互換性のあるデバイスに選択画像を送信すること、画像ホスティングやソーシャルメディアのウェブサイトに画像をアップロードすること、選択画像のセットからジャーナル（すなわち、追加コンテンツが追加できるような配置された画像の提示）を作成することができる。
【０１０５】
情報ボタン１４４１は、１つ以上の選択画像についての追加情報を表示する表示領域を起動する。起動された表示領域に表示される情報は、画像のために格納されているＥｘｉｆデータ１５２５（例えば、カメラの設定、タイムスタンプなど）の一部または全部を含んでもよい。複数の画像を選択すると、いくつかの実施形態では、選択画像の全てに共通するＥｘｉｆデータのみを表示する。いくつかの実施形態は、（ｉ）この情報が利用可能である場合に、ＧＰＳデータに従って画像または複数の画像が撮像された場所を示す地図を表示する、および（ｉｉ）任意の写真共有ウェブサイトの、画像に関するコメントストリームを表示するために、情報表示領域内に追加のタブを含む。ウェブサイトからこの情報をダウンロードするために、アプリケーションは、共有された画像データ１５３５とともに画像について格納されたオブジェクトＩＤを使用して、ウェブサイトにこの情報を送信する。コメントストリームと、場合によっては追加情報とは、ウェブサイトから受信され、ユーザに表示される。
【０１０６】
オリジナル表示ボタン１４４２で、ユーザは画像のオリジナルのバージョンと画像の現在の編集されたバージョンとの間を切り替えることができる。ユーザがボタンを選択すると、アプリケーションは編集指示１５１５のいずれも適用せずに画像のオリジナルのバージョンを表示する。いくつかの実施形態では、迅速にアクセスできるように、画像のキャッシュされたバージョン１５４０の１つとして適切なサイズの画像が記憶される。ユーザがまた１４４２ボタンを選択すると、アプリケーションは編集指示１５１５が適用された、編集された画像のバージョンを表示する。
【０１０７】
編集ボタン１４４３は、ユーザが編集モードを開始または終了することを可能にする。図１４に示すように、ユーザがツールバー１４２０で編集ツールのセットのいずれかを選択した場合、編集ボタン１４４３は、ユーザを閲覧および整理モードに戻す。閲覧モードのときに、ユーザが編集ボタン１４４３を選択すると、アプリケーションはツールバー１４２０に示す順序で最後に使用した編集ツールのセットに戻る。つまり、ツールバー１４２０内の項目は、特定の順序で配置され、編集ボタン１４４３は、選択した画像に対して編集が行われた項目の右端のものを起動する。
【０１０８】
ツールバー１４２０は、前述のように、左から右に特定の順序で配置された５つの項目１４４５〜１４４９を含む。トリミング項目１４４５は、ユーザが曲がった画像を治す、および画像の不要な部分を削除することを可能にするトリミングや回転ツールを起動する。露光項目１４４６は、ユーザが画像のブラックポイント、影、コントラスト、明るさ、ハイライト、およびホワイトポイントを変更できるようにする露光ツールのセットを起動する。いくつかの実施形態では、露光ツールのセットは、画像の階調属性を変更するさまざまな組み合わせで一緒に働くスライダのセットである。色項目１４４７はユーザが彩度と鮮やかさと、ならびに色固有の彩度（例えば、青色の画素または緑色の画素）やホワイトバランスを変更することを可能にするカラーツールのセットを起動する。いくつかの実施形態では、これらのツールの一部は、スライダのセットとして提示される。ブラシ項目１４４８は、ユーザが画像への変更をローカライズできるようにするエンハンスツールのセットを起動する。ブラシを使用すると、ユーザは、赤目や汚れを取り除くことができ、画像の上をこする動作を行うことによって、画像の局所的な部分に彩度やその他の機能を適用や削除できる。最後に、効果項目１４４９は、ユーザが画像に適用できる特殊効果のセットを起動する。これらの効果は、グラデーション、チルトシフト、非写実的な不彩度化の効果、グレースケール効果、各種フィルタなどを含む。いくつかの実施形態では、アプリケーションはツールバー１４２５から扇形に広がる項目のセットとして、これらの効果を提示する。
【０１０９】
上述のように、ＵＩ項目１４４５〜１４４９は、特定の順序で配置されている。この順序は、５つの異なるタイプの編集をユーザが最も一般的に適用する順序に従う。したがって、編集指示１５１５は、いくつかの実施形態において、この同じ順序で格納される。ユーザが項目１４４５〜１４４９のいずれかを選択すると、いくつかの実施形態は、選択したツールの左側にあるツールからの編集のみを、表示された画像に適用する（他の編集は指示セット１５１５内に格納されたままである）。
【０１１０】
ツールバー１４２５は、ＧＵＩ項目１４５０〜１４５４のセットと、設定項目１４５５を含む。自動補正項目１４５０は自動的に画像に補正編集（例えば、見かけの赤目の除去、色のバランスなど）を行う。回転ボタン１４５１は、任意の選択した画像を回転させる。いくつかの実施形態では、回転ボタンが押されるたびに、画像が特定の方向に９０度回転する。自動補正は、いくつかの実施形態では、指示セット１５１５内におかれた編集指示の所定のセットを含む。いくつかの実施形態は、画像の解析を実行し、解析に基づいて指示のセットを定義する。例えば、自動補正ツールは画像内の赤目を検出しようとするが、赤目が検出されない場合は、それを修正するための指示は生成されない。同様に、自動色バランスは、画像の解析に基づく。回転ボタンによって生成された回転はまた、編集指示として記憶される。
【０１１１】
フラグボタン１４５２は任意の選択した画像をフラグ付きとしてタグを付ける。いくつかの実施形態では、コレクションのフラグが付けられた画像はフラグの付いていない画像を除いて表示することができる。お気に入りボタン１４５３では、ユーザは、任意の選択した画像をお気に入りとしてマークすることができる。一部の実施形態では、画像をお気に入りとしてタグ付けするとともに、お気に入りの画像のコレクションに画像を追加する。非表示ボタン１４５４では、ユーザは、画像を非表示としてタグを付けることができる。いくつかの実施形態では、非表示の画像はサムネイル表示領域に表示されず、及び／又はユーザが画像表示領域内でコレクションの画像を巡回するときに表示されない。図１５に示すように、これらの機能の多くは、画像データ構造内にタグとして記憶されている。
【０１１２】
最後に、設定ボタン１４５５は、現在起動されているツールセットに応じて、異なるメニューオプションを提供するコンテキスト依存メニューを起動する。例えば、閲覧モードでは、いくつかの実施形態のメニューは新しいアルバムを作成するオプション、アルバムのキー画像を設定するオプション、１つの画像から別の画像へ設定をコピーするオプション、及びその他のオプションを提供する。編集ツールの異なるセットが起動されていると、メニューには、特定の起動されているツールセットに関連するオプションが提供される。
【０１１３】
当業者は、画像閲覧および編集ＧＵＩ１４００は、画像閲覧、編集、および整理アプリケーションの多くの可能なグラフィカルユーザインタフェースの一例に過ぎないことを認識するであろう。例えば、様々な項目は異なる領域に、または異なる順序で配置することができ、いくつかの実施形態では、追加のまたは異なる機能を有する項目が含まれる場合もあり得る。いくつかの実施形態のサムネイル表示領域は、サムネイルに対応するフルサイズの画像のアスペクト比と一致するサムネイルを表示することなどもあり得る。
【０１１４】
ＩＩＩ．異なるＧＵＩモードにおけるインタラクション
上記の図１４は、画像閲覧、編集、および整理アプリケーションの特定のグラフィカルユーザインタフェース１４００を示す。いくつかの実施形態において、アプリケーションは、複数のＧＵＩのモードを提供し、ＧＵＩ１４００はそのうちのただ１つである。これらのモードは、縦向きと横向き、または左利きと右利きのユーザ、またはその他の要因を区別することができ得る。いくつかの実施形態では、３つの異なるモード、すなわち縦向き、左利き用の横向き、および右利き用の横向きである。これらのモードは、ユーザに同じＧＵＩ項目および表示領域を提示するが、それらは異なるように配置されている。
【０１１５】
Ａ．左利き用ＧＵＩおよび右利き用ＧＵＩ
いくつかの実施形態は、ユーザが切り替えることができる、左利き用ＧＵＩと右利き用ＧＵＩとの両方を提供する。異なるオプションは、縦向きモードと横向きモードとの両方、また横向きモードのみで提示することができる。いくつかの実施形態では、左利き用ＧＵＩと右利き用ＧＵＩとを切り替えるために、ユーザは、ＧＵＩ内の特定のＧＵＩ項目（例えば、サムネイル表示領域）を移動させる。第１の位置から第２の位置に特定のＧＵＩ項目を移動した結果として、アプリケーションは、右利き用ＧＵＩの提供から左利き用ＧＵＩの提供に切り替える、またはその逆もあり得る。２つのＧＵＩの違いは、いくつかの実施形態では、特定のＧＵＩ項目の位置だけでなく、ＧＵＩ項目の追加のセットの位置と順序（例えば、左から右の順）である。
【０１１６】
図１６は、ユーザが右利き用モードから左利き用モードに切り替えるためにＧＵＩの左側から右側にサムネイル表示領域１６０５を移動する４つの段階１６１０〜１６４０にわたるＧＵＩ１６００を示す。ＧＵＩ１６００は、サムネイル表示領域１６０５、画像表示領域１６１５、ＧＵＩ項目の第１のセット１６２５（グリッドオン／オフ、ヘルプ、アンドゥボタン）、戻るボタン１６３５、ＧＵＩ項目の第２のセット１６４５（共有、情報、およびトグルオリジナルボタン）、編集ボタン１６５０、ＧＵＩ項目の第３のセット１６５５（編集ツールの起動ボタン）、および設定メニューボタン１６６０を含む。
【０１１７】
第１の段階１６１０は右利き用モードのＧＵＩ１６００を示す。右利き用モードでは、サムネイル表示領域１６０５は、ＧＵＩの左側に位置している。戻るボタン１６３５とＧＵＩ項目の第１のセット１６２５とは上部ツールバーの左側に位置し、編集ボタン１６５０とＧＵＩ項目の第２のセット１６５５とは、上部ツールバーの右側に位置し、ＧＵＩ項目の第３のセット１６５５は、左下（サムネイル表示領域の下）に位置し、設定メニューボタンは右下に位置する。この段階はさらに、ユーザが表示領域にタッチジェスチャを実行するために、サムネイル表示領域の上に指を置いていることを示している。いくつかの実施形態では、サムネイル表示領域は、表示領域を移動させるために選択することができるヘッダ領域を含む。
【０１１８】
第２の段階１６２０は、ユーザが指１本でドラッグ（またはスワイプ）ジェスチャを実行している最中であることを示している。このようなジェスチャを実行するために、ユーザはサムネイル表示領域上に指を押し付け、接触を離すことなく、右方向にタッチスクリーンに沿って指をスライドする。ユーザがタッチスクリーン上で指を移動すると、アプリケーションは、指とともにサムネイル表示領域１６０５を移動させる。
【０１１９】
第３の段階１６３０は、ユーザがタッチスクリーンに沿ってさらに右へタッチスクリーンを移動したことを示している。また、この図は、ユーザが画面との接触を離すと、サムネイル表示領域１６０５はＧＵＩ１６００の右端にスナップすることを示している。いくつかの実施形態では、ユーザがＧＵＩの左側で表示領域との接触を離すと、サムネイル表示領域は、自動的に左側に戻るようにスナップし、右側に関しても同様である。
【０１２０】
第４の段階１６４０は、ユーザがサムネイル表示領域を解放した後の左利き用モードのＧＵＩ１６００を示している。左利き用モードでは、ＧＵＩツールのほとんどはどちら側にあるかを切り替えている。ここでは、設定メニューボタン１６６０は左下に位置し、ＧＵＩ項目の第３のセット１６５５は右下に位置している。ＧＵＩ項目の第３のセット１６５５は、トリミング起動ボタンから効果起動ボタンの左から右への順を維持する。これらの項目は、ユーザが画像に編集をする典型的な順序（最初に画像をトリミングや回転させ、次に露光や色の調製をし、その後修正用ブラシを使用して、最終的に画像に特殊効果を適用する）で配置されている。このように、これらのツールは、両方のＧＵＩモードで同じ順序で配置されている。
【０１２１】
しかし、上部ツールバーのツールのセットは、場所を交換し、順序を逆にする。戻るボタン１６３５と編集ボタン１６５０とは、（ツールバー全体が、サムネイル表示領域１６０５に合わせて左にスライドすることを除いて）それぞれ左端と右端のボタンとして固定されている。しかし、ＧＵＩ項目の第１のセット１６２５およびＧＵＩ項目の第２のセット１６４５は、場所を交換し、順序を逆にする。ＧＵＩ項目の第１のセット１６２５は、現在、反対の左から右への順序であるが、編集ボタン１６５０の隣に位置する。同様に、ＧＵＩ項目の第２のセット１６４５は、今は反対の左から右の順で、戻るボタン１６３５の隣に位置する。特定の順序で配置されていないこれらの項目は、よってサムネイル表示領域１６０５への相対的な位置を維持する。
【０１２２】
いくつかの実施形態において、ＧＵＩはまた、自動補正ボタン、回転ボタン、フラグボタン、お気に入りボタン、および非表示ボタンを、図１４に示すように含む。いくつかのこのような実施形態では、左利き用モードの場合、これらのＧＵＩの項目はＧＵＩの下部中央に残り、同じ順序を維持する。しかしながら、他の実施形態では、左利き用モードの場合、自動補正ボタンは項目のセットの右側にあり、非表示ボタンは左側にある。
【０１２３】
この図は左利き用ＧＵＩへ切り替えるために、ユーザが左手でドラッグジェスチャを行うことを示しているが、いくつかの実施形態では、いずれかの手の指で（または２本指のドラッグ、スワイプ等の別のジェスチャで）いずれかの方向にサムネイル表示領域をユーザがドラッグすることを可能にする。この意味で、ＧＵＩは、ユーザが実際に使用する手ではなく、サムネイル表示領域の位置に対応する。一方、いくつかの実施形態のアプリケーションは、ユーザが使用している手を（例えば、タッチスクリーン上の異なる接触点の相対位置に基づいて）認識し、それに応じて表示を切り替えることができる。他の実施形態は、何らかのジェスチャ（例えば、画面の中央に５つの指すべての同時タッチ）に関して手を区別し、あるモードから別のモードに切り替えるためのコマンドとして、これらのジェスチャを使用することができる。
【０１２４】
左利き用ＧＵＩモードと右利き用ＧＵＩモードとを有することに加えて、いくつかの実施形態は、縦向きモードと横向きモードとで画像閲覧および編集ＧＵＩを異なるように表示する。いくつかの実施形態では、左利き用横向きモードまたは右利き用横向きモードと比較して、縦向きモードでのサムネイル表示領域は、ディスプレイの異なる領域に位置している。例えば、いくつかの実施形態では、アプリケーションは、縦向きＧＵＩの下部にサムネイル表示領域を表示する。
【０１２５】
いくつかの実施形態は、アプリケーションのために直近に使用された横向きモードに基づいて、縦向きモードでの様々なＧＵＩの項目の位置を決定する。例えば、いくつかの実施形態は、デバイスが直立であるかまたは横配向であるかを識別し、この情報をオペレーティングシステムを介してアプリケーションに提供する内蔵の加速度計またはジャイロスコープを有するデバイス上で動作する。ユーザが縦向きモードにデバイスを再配向すると、いくつかの実施形態では、ＧＵＩが再配向する前に設定されていた横向きモードに基づいて画像閲覧アプリケーションのＧＵＩ要素を配向する。
【０１２６】
図１７〜図１９は、縦向きモードと横向きモードとの両方でいくつかの実施形態による左利き用ＧＵＩモードと右利き用ＧＵＩモードとを示す。図１４および上記他の図に示したいくつかの実施形態のＧＵＩ実装を示すのではなく、これらの図面は、いくつかの実施形態の携帯電話およびメディアプレーヤの実装に使用される画像閲覧および編集ＧＵＩ１７００を示す。
【０１２７】
図１７は、画像閲覧アプリケーションが動作するデバイスが縦向きモードから横向きモードへ回転される際のＧＵＩ１７００を３つの段階１７１０〜１７３０にわたって示している。図１７に示すように、ＧＵＩ１７００は、サムネイル表示領域１７０５、画像表示領域１７１５、（ＧＵＩの下部に位置する）第１のツールバー１７２５、および（ＧＵＩの上部に位置する）第２のツールバー１７２７を含む。
【０１２８】
第１のツールバー１７２５は、自動補正ボタン１７３０、回転ボタン１７３５、フラグボタン１７４０、お気に入りボタン１７４５、非表示ボタン１７５０、設定ボタン１７５５、およびツールボックスボタン１７６０を含む。図１４を参照して上述したように、様々なＧＵＩ項目１７３０〜１７５５は、同様に動作する。いくつかの実施形態のツールボックス１７６０は、ユーザが編集ツールの様々な異なるセットにアクセスできるようにする。いくつかの実施形態では、ユーザがツールボックス１７６０を選択した場合、項目１７３０〜１７５０が消え、項目１４４５〜１４４９（トリミング項目、露光項目、色項目、ブラシ項目、および効果項目）と同様のＧＵＩ項目に置き換えられる。
【０１２９】
第２のツールバー１７２７は戻るボタン１７６５、グリッドボタン１７７０、オリジナル表示ボタン１７８０、共有ボタン１７８５、および編集ボタン１７９０を含む。図１４を参照して上述したように、これらのＧＵＩ項目も同様に動作する。いくつかの実施形態では、ヘルプ機能とアンドゥ機能は、別々の項目ではなく設定項目１７５５を介してアクセスできる。
【０１３０】
図１７の第１の段階１７１０は、アプリケーションが動作するデバイスが直立位置に保持される縦向きモードのＧＵＩ１７００を示す。第２の段階１７２０において、ユーザはデバイスを横向きにし始めている。デバイスが完全に９０度回転される第３の段階１７３０に至るまでは、アプリケーションは横向きモードのＧＵＩの表示から縦向きモードのＧＵＩの表示に切り替えない。いくつかの実施形態では、デバイスは、デバイスが縦向きモードであるべきかまたは横向きモードであるべきかをデバイスのオペレーティングシステムが決定する加速度計又はジャイロスコープを含む。この判定結果は、アプリケーションに渡され、アプリケーションは適切なＧＵＩを出力する。
【０１３１】
第３の段階１７３０は、いくつかの実施形態の横向きモードＧＵＩ１７００を示す。項目はもっと広がっているが、ＧＵＩは、上部と下部のツールバーでＵＩ項目の同じセットを含む。また、サムネイル表示領域１７０５は、ディスプレイの底部ではなく左にある。この場合では、縦向きモードＧＵＩは右利き用モードで（すなわち、段階１７１０および１７２０で）あったため、アプリケーションが横向きに切り替わるときに、ＧＵＩ１７００のための右利き用横向きモードを使用する。
【０１３２】
図１８は、ユーザが右利き用モードから左利き用モードに切り替えるためにＧＵＩの左側からＧＵＩの右側にサムネイル表示領域１７０５を移動する４つの段階１８１０〜１８４０にわたってＧＵＩ１７００を示している。第１の段階１８１０〜第３の段階１８３０でサムネイル表示領域１７０５をドラッグするために使用されるタッチジェスチャは、上記図１６で示したものと同様のジェスチャである。第４の段階１８４０は、ＧＵＩの右側にサムネイル表示領域１７０５がある左利き用モードのＧＵＩ１７００を示す。この実装では、アプリケーションはツールバー１７２５におけるＧＵＩ項目１７３０〜１７６０の順序を逆にし、ツールボックスアイコン１７６０は右にあり、設定アイコン１７５５は左にあり、自動補正項目、回転項目、フラグ項目、お気に入り項目、および非表示項目も逆になっている。
【０１３３】
図１９は、アプリケーションが動作するデバイスを縦向きモードに戻すようにユーザが回転するときのＧＵＩ１７００を３つの段階１９１０〜１９３０にわたって示す。しかし、この場合、アプリケーションは、縦向きモードでありつつ、左利き用モードで動作している。その結果、段階１９３０では、ツールバー１７２５におけるＧＵＩの項目は、図１７に示した右利き用縦向きモードに比べて逆になっている。
【０１３４】
Ｂ．サムネイル表示領域とのインタラクション
左利き用モードまたは右利き用モードのいずれかで、画像閲覧アプリケーションは、（以下でサムネイルグリッドとも参照される）サムネイル表示領域との様々なインタラクションを可能にする。ユーザは、サムネイル表示領域のサイズを変更すること、サムネイルの列数を変更すること、およびサムネイルをスクロールすることができる。図２０にいくつかの実施形態の画像閲覧ＧＵＩのサムネイル表示領域の状態および状態の変化を示す状態図２０００を概念的に示す。当業者は、この状態図はサムネイル表示領域とのすべての可能なインタラクションを含んでいるわけではないことを認識するであろう。例えば、状態図は、サムネイルのスクロールやサムネイルの選択を含んでいない。なお、状態図は、左利き用ＧＵＩモードおよび右利き用ＧＵＩモードの異なる状態を示しているが、片方のモードで示されている状態に対応するもう片方のモードの状態は、簡略化のために省略されている。状態図２０００を、左利き用モードと右利き用モードの両方のＧＵＩ１６００との様々なインタラクションを示す図２１〜２８を参照して説明する。
【０１３５】
ユーザがＧＵＩとインタラクションしていない場合は、ＧＵＩは状態２００５（ＧＵＩの左側にサムネイルグリッドがある右利き用モード）または状態２０５０（ＧＵＩの右側にサムネイルグリッドがある左利き用モード）のどちらかである。上に図１６に示すように、ユーザは、ＧＵＩの左側からＧＵＩの右側にサムネイルグリッドをドラッグすることにより、状態２００５から状態２０５０への移行させることができる。逆に、ユーザがＧＵＩの右側からＧＵＩの左側にサムネイルグリッドをドラッグしたときに、ＧＵＩは状態２０５０から状態２００５に移行する。
【０１３６】
いくつかの実施形態では、ユーザは、サムネイルグリッドと画像表示領域との境界（または継ぎ目）をドラッグすることにより、サムネイルグリッドの列の幅および／または数を増減することができる。状態図２０００は、ＧＵＩが右利き用モード（状態２００５）にあるときのこのような入力イベントを表す状態を示しているが、当業者であれば、反対方向の動作は、左利き用モード（状態２０５０）における、それ以外は相当する状態に適用されることを認識するであろう。いくつかの実施形態では、サムネイルグリッドは、アプリケーションが初期化されたときに２列のデフォルトの幅を有する。
【０１３７】
状態２００５にある間に、ユーザがサムネイルグリッドと画像表示領域との間の境界を選択し、右に移動したときに、ＧＵＩは次第に広くなるサムネイルグリッドを表示するために、状態２０１０に移行する。いくつかの実施形態では、ユーザはタッチスクリーンで境界上に（すなわち、接触領域がサムネイルグリッドの一部と画像表示領域の一部との両方を含むように）指１本を置くことによって境界を選択する。ユーザが右に指を動かし続ける限り、サムネイルグリッドは広くなり続ける。ユーザが（例えば、タッチスクリーンから指を外すことによって）境界線を解放した場合、状態２００５にＧＵＩは戻る。
【０１３８】
ユーザが境界線を閾値を超える距離動かすと、アプリケーションはサムネイルの列を追加するために状態２０１５に移行する。これは、サムネイルグリッドのサムネイルの再配置を引き起こす。いくつかの実施形態のアプリケーションでは、（グリッドが２つの列を有する場合）最初の２つを一番上の行に、次の２つを２番目の行に、などのようにサムネイルを順序づける。列の数が３に増えるとき、２行目の最初のサムネイルは一番上の行に移動し、３行目のサムネイルの両方は２行目に移動し、あとは同様である。
【０１３９】
図２１は、ＧＵＩ１６００の４つの段階２１１０〜２１４０にわたってサムネイル表示領域のサイズを大きくするユーザを示している。図示のように、第１の段階２１１０において、ユーザはサムネイル表示領域１６０５と画像表示領域１６１５と間の境界上に指を置く。いくつかの実施形態において、アプリケーションは、実際に境界線または継ぎ目を引くのではなく、その代わりに境界は単にサムネイル表示領域と画像表示領域との間の色の変化の結果として見える。しかし、明瞭にするために、これらの図はそのような境界を示す。
【０１４０】
第２の段階２１２０及び第３の段階２１３０において、ユーザは、右方向に境界をドラッグする。第４の段階２１４０において、境界はサムネイルを３列に再配置するために十分に移動されている。図示のように、雲のサムネイル２１０５は一番上の行まで移動し、他のサムネイルも同様に再配置される。この図は（状態図２０００のように）、３列目が作成される前にサムネイル表示領域１６０５が拡大すること（およびそれに応じて画像表示領域が縮小すること）を示している。しかしながら、いくつかの実施形態では、離散的な量で境界が移動する。即ち、ユーザの指が画面上で閾値距離を移動すると、アプリケーションはサムネイル表示領域の幅を２列の幅から３列の幅に自動的に変更する。すなわち、ユーザが境界から指を遠ざけて移動するにつれて、閾値移動が達成されるまでＧＵＩは静止のままであり、達成された時点で、境界が右に一定の量移動するにつれてサムネイル表示領域は別の列を追加するために動的に再配置し、これによって画像表示領域の大きさを低減する。
【０１４１】
状態図２０００に戻り、サムネイルの列を追加した後に、タッチ移動が継続し、サムネイルグリッドが最大サイズに達していない場合にＧＵＩは状態２０１０に戻り、列の最大数が達成された場合にＧＵＩは状態２０２０に移行する。列の最大数に達した場合、アプリケーションは、（状態２０２０で）グリッド領域の拡大を可能にすることを停止する。いくつかの実施形態ではアプリケーションはサムネイル表示領域に１つ、２つまたは３つのサムネイルの列のみを可能にする；他の実施形態（例えば、より小さなデバイス上）において、１つまたは２つの列のみを可能にする。これらの３つの状態のいずれにおいても、ユーザが境界を離すと（すなわち、タッチ入力を除去することによって）、アプリケーションは状態２００５に戻る。
【０１４２】
ユーザがサムネイル表示領域と、画像表示領域との境界を画面の端に向かってドラッグするとき、同様の状態変化が発生する。やはり、これらの状態変化は、ＧＵＩが右利き用モードにある場合について図２０に示されているが、左利き用モードのＧＵＩにも（反対方向への移動で）等しく適用可能である。
【０１４３】
状態２００５にある間、ユーザがサムネイルグリッドと画像表示領域との間の境界を選択して、左に移動すると、ＧＵＩは徐々に狭くなるサムネイルグリッドを表示するために状態２０１０へ移行する。いくつかの実施形態では、ユーザはタッチスクリーンで境界上に（すなわち、接触領域がサムネイルグリッドの一部と画像表示領域の一部との両方を含むように）指１本を置くことによって境界を選択する。ユーザが左に指を移動し続けている限り、サムネイルグリッドは狭くなり続ける。ユーザが（例えば、タッチスクリーンから指を除去することによって）境界を解放した場合、ＧＵＩは状態２００５に戻る。
【０１４４】
ユーザが境界を閾値距離移動させると、アプリケーションはサムネイルの列を削除するために、状態２０３０に移行する。これは、サムネイルグリッドのサムネイルの再配置を引き起こす。いくつかの実施形態のアプリケーションは、（グリッドが２つの列を有する場合）最初の２つを一番上の行に、次の２つを２行目に、などのようにサムネイルを順序付ける。列の数が１に低減された場合、一番上の行の二番目のサムネイルは２行目に移動し、２行目の最初のサムネイルは３行目に移動し、以下同様である。
【０１４５】
図２２は、ＧＵＩ１６００の４つの段階２２１０〜２２４０にわたってサムネイル表示領域のサイズを小さくするユーザを示している。図示のように、第１の段階２２１０において、ユーザがサムネイル表示領域１６０５および画像表示領域１６１５との間の境界上に指を置く。いくつかの実施形態において、アプリケーションは、実際には境界線又は継ぎ目を引くのではなく、代わりに境界は単にサムネイル表示領域と、画像表示領域との間の色の変化の結果として見られる。しかし、これらの図は、明瞭化のため、そのような境界を示す。
【０１４６】
第２の段階２２２０において、ユーザは左に境界をドラッグし始めている。この図では、境界が二番目の列に入り始めたら、アプリケーションは単一の列にサムネイルを再配置する。図示のように、カヤックのサムネイル２２０５は２行目まで移動し、他のサムネイルも再配置される。第３の段階２２３０において、ユーザは左側に境界をドラッグし続ける。最後に、第４の段階２２４０で、サムネイル表示領域１６０５は、その最小幅に達し、収縮し続けることができない。この図（および状態図２０００）は継続的にサムネイル表示領域１６０５が収縮（及び画像表示領域も応じて減少）することを示している。しかしながら、上述したサムネイル表示領域の増加と同様に、いくつかの実施形態では、離散的な量のみで境界を移動する。すなわち、ユーザの指が画面上で閾値距離を移動すると、アプリケーションがサムネイル表示領域の幅を２列の幅から１列の幅に自動的に変更する。
【０１４７】
状態図２０００に戻り、サムネイルの列を除去した後に、タッチ移動が続き、サムネイルグリッドが最大サイズに達しない場合に、ＧＵＩは状態２０２５に戻るように移行し、列の最大数に達した場合に、ＧＵＩは状態２０３５に移行する。列の最大数に達した場合、アプリケーションは、（状態２０２０で）グリッド領域の拡大を可能にすることを停止する。いくつかの実施形態において、アプリケーションは、サムネイル表示領域に１つ、２つまたは３つのサムネイルの列のみを持たせることを可能にし、他の（例えば、より小さなデバイス上の）実施形態は１つまたは２つの列のみを可能にする。これらの３つの状態のいずれかにおいても、ユーザが境界を離すと（すなわち、タッチ入力を除去することによって）アプリケーションは状態２００５に戻るように移行する。加えて、ユーザが、境界上のタッチ入力の移動方向を逆にする場合、拡大状態２０１０から、ＧＵＩは、状態２０２５に移行することができる。（又はその逆もできる。）
【０１４８】
サムネイル表示領域の列のサイズと数を変更することに加えて、いくつかの実施形態では、ユーザがＧＵＩの外へ、及びＧＵＩ上へ戻すようにサムネイル表示領域をスライドできるようにする。これは、いくつかの実施形態では、スワイプジェスチャまたはＧＵＩ項目の選択、ならびに他のＧＵＩインタラクション（例えば、ホットキーまたはホットキーのセット、メニューオプションの選択等）を介して、達成することができる。状態図２０００は、（サムネイル表示領域が右側にある）左利き用ＧＵＩのコンテキストにおいて、これらのインタラクションを概念的に示しているが、これらのインタラクションは、（方向を逆にして）右利き用ＧＵＩにも等しく適用可能である。
【０１４９】
示されているように、ＧＵＩが状態２０５０（サムネイルグリッドが表示された左利き用モード）にあり、ユーザがグリッド上で右方向のスワイプジェスチャを実行するか、またはグリッドボタンＵＩ項目を選択したときに、グリッドをディスプレイの右側から外へスライドさせるために、ＧＵＩは状態２０５５に移行する。グリッドがディスプレイの外にスライドすると、ＧＵＩは、サムネイルグリッドなしで左利き用モードのＧＵＩを表示するために、状態２０６０に移行する。
【０１５０】
図２３は、右利き用ＧＵＩモードにある間に４つの段階２３１０〜２３４０にわたってＧＵＩ１６００からサムネイル表示領域１６０５を除去する、そのようなスワイプジェスチャを示している。図示のように、第１の段階２３１０において、ユーザは、（異なる数の接触点を用いる他のスワイプジェスチャまたは全体的に異なる他のジェスチャを用いてもよいが）１つの指でサムネイル表示領域１６０５上でタッチスクリーンに接触することを始める。第２の段階２３２０は、ユーザが左に指を移動し、サムネイル表示領域をその方向にスライドさせることを示す。第３の段階２３３０において、サムネイル表示領域１６０５が左にＧＵＩの外にスライドし続けながらユーザがスワイプジェスチャを解除することを示す。第４の段階２３４０は、サムネイル表示領域がもはやＧＵＩに示されず、画像表示領域１６１５が拡大していることを示している。様々なユーザインタフェースツールの位置に基づいて、ユーザは容易にＧＵＩがまだ右利き用モード中であることを見いだせる。
【０１５１】
いくつかの実施形態において、アプリケーションは、スワイプジェスチャとして見なされるために、ユーザの指は、特定の閾値距離をタッチスクリーンに接触したままにするか、および／または閾値速度で移動する必要がある。しかし、いくつかの実施形態では、入力がスワイプジェスチャとして適格か否かのこの判定は、アプリケーション自体ではなく、画像閲覧アプリケーションが動作するデバイスのオペレーティングシステムによって行われる。スワイプジェスチャと位置とは、オペレーティングシステムからアプリケーションに渡され、アプリケーションはその後、ＧＵＩの外へサムネイルグリッドをスライドさせる指示にそのスワイプジェスチャを翻訳する。
【０１５２】
図２４は、４つの段階２４１０〜２４４０にわたって左利き用モードのＧＵＩ１６００からサムネイル表示領域１６０５を除去するための、同じようなスワイプジェスチャを示している。これらの段階は、図２３の段階に対応する。図示のように、第１の段階２４１０において、ユーザは、（異なる数の接触点を用いる他のスワイプジェスチャまたは全体的に異なる他のジェスチャを用いてもよいが）１つの指でサムネイル表示領域１６０５上でタッチスクリーンとの接触を始める。第２の段階２４２０は、ユーザが右方向に指を動かし、サムネイル表示領域をその方向にスライドさせ始めることを示す。第３の段階２４３０では、サムネイル表示領域１６０５が右にＧＵＩの外にスライドし続けながら、ユーザがスワイプジェスチャを解除する。第４の段階２４４０は、サムネイル表示領域がもはやＧＵＩに示されず、画像表示領域１６１５が拡大していることを示している。様々なユーザインタフェースツールの位置に基づいて、ユーザはＧＵＩがなおも左利き用モード中であることを容易に見いだすことができる。
【０１５３】
図２０に示すように、いくつかの実施形態ではまた、ユーザがサムネイル表示領域を、ＧＵＩの中または外にスライドさせるグリッドボタンを選択すると、状態２０５０から状態２０５５へ移行し、その後状態２０６０へ移行する。図２５は、４つの段階２５１０〜２５４０にわたってＧＵＩ１６００でこのようなＧＵＩ項目２５０５の選択を示している。図示のように、第１の段階２５１０において、ユーザは、グリッドボタン２５０５をタップする。スワイプジェスチャと同じように、いくつかの実施形態では、デバイスのオペレーティングシステムは、画面の接触情報をタップジェスチャおよび位置に変換し、画像閲覧アプリケーションにこの情報を渡す。第２の段階２５２０と第３の段階２５３０は、ＧＵＩの外へサムネイル表示領域１６０５がスライドすることを示す。段階２５４０に示す、得られたＧＵＩは、拡大画像表示領域１６１５を有する図２３の最後に得られたＧＵＩと同じである。
【０１５４】
ＧＵＩが状態２０６０（サムネイルグリッドなしの左利き用モード）にあり、ユーザがＧＵＩの右端から左方向にスワイプジェスチャを実行するか、グリッドボタンＵＩ項目を選択すると、ＧＵＩは右側からグリッドをディスプレイ上に戻すために状態２０６５に移行する。グリッドがディスプレイにスライドして戻ったら、サムネイルグリッドが存在する左利き用モードにおいてＧＵＩを表示するために、ＧＵＩは状態２０５０へ戻るように移行する。
【０１５５】
図２６は、４つの段階に２６１０〜２６４０にわたって右利き用ＧＵＩモードでＧＵＩ１６００にサムネイル表示領域１６０５を返すようなスワイプジェスチャを示している。図示のように、第１の段階２６１０において、ユーザは、（異なる数の接触点を用いる他のスワイプジェスチャまたは全体的に異なる他のジェスチャを用いてもよいが）１つの指でＧＵＩの左端付近のタッチスクリーンに接触し始める。異なる実施形態では、サムネイル表示領域をＧＵＩにスライドして戻すために、タッチ接触が端に近いとみなされるためにどの程度の近さが必要であるかを決定するために、異なる閾値を使用する。第２の段階２６２０は、ユーザが右に指を動かし、ＧＵＩ上に戻すようにサムネイル表示領域１６０５をその方向にスライドさせ始めることを示す。第３の段階２６３０において、サムネイル表示領域１６０５が右にＧＵＩ上にスライドし続けながら、ユーザがスワイプジェスチャを解除する。第４の段階２６４０は、サムネイル表示領域１６０５が、右利き用モードでは、完全にＧＵＩ中に存在することを示している。
【０１５６】
図２７は、４つの段階２７１０〜２７４０にわたって左利き用ＧＵＩモードでＧＵＩ１６００にサムネイル表示領域１６０５を戻すための同じようなスワイプジェスチャを示している。図示のように、第１の段階２７１０において、ユーザは、（異なる数の接触点を用いる他のスワイプジェスチャまたは全体的に異なる他のジェスチャを用いてもよいが）１つの指でＧＵＩの右端付近のタッチスクリーンに接触し始める。異なる実施形態では、サムネイル表示領域をＧＵＩにスライドして戻すために、タッチ接触が端に近いとみなされるためにどの程度の近さが必要であるかを決定するために、異なる閾値を使用する。第２の段階２７２０は、ユーザが左に指を動かし、サムネイル表示領域１６０５がＧＵＩ上に戻るようにその方向にスライドさせ始めることを示す。第３の段階２７３０において、サムネイル表示領域１６０５が左にＧＵＩ上をスライドし続けながら、ユーザがスワイプジェスチャを解除する。第４の段階２３４０は、サムネイル表示領域１６０５が、左利き用モードで、完全にＧＵＩ中に存在することを示している。
【０１５７】
図２０に示すように、いくつかの実施形態ではまた、サムネイル表示領域をＧＵＩの中または外にスライドさせるグリッドボタンをユーザが選択すると、状態２０６０から状態２０６５へ移行し、その後状態２０５０へ移行する。図２８は、４つの段階２８１０〜２８４０にわたってＧＵＩが右利き用モードにある間のＧＵＩ１６００でのこのようなＧＵＩ項目２５０５の選択を示している。図示のように、第１の段階２８１０において、ユーザは、グリッドボタン２５０５をタップする。スワイプジェスチャと同じように、いくつかの実施形態では、デバイスのオペレーティングシステムは、画面の接触情報をタップジェスチャおよび位置に変換し、画像閲覧アプリケーションにこの情報を渡す。第２の段階２８２０と第３の段階２８３０は、サムネイル表示領域１６０５がＧＵＩ上に戻るようにスライドすることを示す。段階２８４０に示した得られたＧＵＩは、サムネイル表示領域１６０５がディスプレイの左側に現れる図２６の最後に得られたＧＵＩと同じである。
【０１５８】
上記の説明および図は、左利き用モードと右利き用モードのＧＵＩとのインタラクションの様々な側面をハイライトした。さらに、横向きモード（右利き用や左利き用を問わず）と縦向きモードとの間に特定の違いが存在する。その違いの１つは、サムネイル表示領域の位置やスクロールを含む。
【０１５９】
図２９は、ＧＵＩ１６００の４つの段階２９１０〜２９４０にわたってサムネイル表示領域１６０５をスクロールするユーザを示す。第１の段階２９１０において、ユーザは、サムネイル表示領域１６０５上に指１本でタッチスクリーンに接触し始めている。第２の段階２９２０に示すように、タッチスクリーンとの接触を維持しつつ、ユーザが指を上方向に移動する。これにより、サムネイル表示領域内のサムネイルは上方向にスライドし、最上部のサムネイルは画面から消え、追加のサムネイルが下部に現れる。段階２９３０で、ユーザは、サムネイルのスクロールを続けるために、この動作を継続する。第４の段階２９４０で、ユーザは、ドラッグ操作を解放し、サムネイルのスクロールは停止する。いくつかの実施形態では、ドラッグ／スウィープジェスチャの速度に応じて、ユーザがジェスチャを解放した後に、サムネイルのスクロールが継続してもよい（すなわち、慣性スクロール）。すべてのコレクションは有限個の画像を含むので、最終的にはサムネイルが最後に到達し、スクロールが停止する。さらに、この図は（上向きタッチジェスチャを介して）下へのスクロールのみを示すが、ユーザは、サムネイル表示を下にドラッグして上へスクロールすることもできる。
【０１６０】
上の図は、左利き用と右利き用の両方における横向きモードでのＧＵＩを示している。一方、図３０〜３２は、いくつかの実施形態の縦向きモードにあるＧＵＩ３０００を示している。図３０に示すようにＧＵＩ３０００は、サムネイル表示領域３００５、画像表示領域３０１５、ＧＵＩ項目の第１のセット３０２５、ＧＵＩ項目の第２のセット３０３５、ＧＵＩ項目の第３のセット３０４５、戻るボタン３０５０、編集ボタン３０５５、および設定メニュー起動項目３０６０を含む。これらは、図１６のＧＵＩ１６００を参照して上記の項目と同じである。
【０１６１】
これらの図に示すように、アプリケーションは、横向きＧＵＩ１６００の右利き用モードと同じ位置に（即ち、左下に編集起動ＧＵＩ項目３０２５、左上に戻るボタン３０５０および左上にＧＵＩ項目の第２のセット３０３５など）ＧＵＩ項目３０２５、３０３５、及び３０４５〜３０６０を表示する。縦向きモードでは、一部のアプリケーションは、サムネイル表示領域３００５がいずれにせよＧＵＩの下部に位置しているため、左利き用モードから右利き用モードに切り替えるためのメカニズムを提供しない。前述のように、他の実施形態は、一度に（相対位置が右手に比べて左手は異なる）５本の指のタップなどのような、ユーザの利き手を示すアクションに応答することができる。上述したように、いくつかの実施形態は、アプリケーションについて最近使用された横向きモードに基づいて、縦向きモードにおける種々のＧＵＩ項目の位置を決定する。
【０１６２】
図３０は、４つの段階３０１０〜３０４０にわたって、ユーザがサムネイル表示領域内のコレクションのサムネイルをスクロールする際のＧＵＩ３０００を示している。示されたように、縦向きモードでは、アプリケーションはＧＵＩの下部にサムネイル表示領域３００５を配置するが、他の実施形態では、サムネイル表示はＧＵＩの上部にあり得る。サムネイル表示領域３００５はＧＵＩの幅に広がり、サムネイルの固定された列の数（この場合は５）を有する。この図では、サムネイル表示領域は、サムネイル２つ分の高さを有する。
【０１６３】
第１の段階３０１０で、ユーザは１本の指でサムネイル表示領域に接触する。第２の段階３０２０に示されるように、ユーザは、サムネイル表示領域上で指を上にスライドさせ始める。これは、サムネイル表示領域３００５を通してサムネイルを上方向にスライドさせ、新しいサムネイルが表示領域の下部に現れ始める。第３の段階３０３０は、ユーザが指を上にスライドし続け、サムネイルも移動することを示す。第４の段階３０３５において、ユーザがタッチスクリーンとの接触を解除したため、サムネイルももはや移動してない（しかし、いくつかの実施形態では、ユーザは、スワイプジェスチャした後に、ジェスチャの速度に基づいて、スクロールを継続するようにアプリケーションまたはデバイスを設定することができる）。
【０１６４】
図３１は、縦向きＧＵＩ３０００の４つの段階３１１０〜３１４０にわたって、サムネイル表示領域３００５の大きさの変更を示す。横向きモードと同様に、ユーザは、サムネイル表示領域のサイズを変更するために、サムネイル表示領域３００５と画像表示領域３０１５と間の境界をドラッグすることができる。しかし、横向きモードではこの境界はスクロールの方向に対して垂直に移動する（そして、したがって閾値を超えた場合にサムネイルが再配置され、列が追加または減算される）のに対して、縦向きモードでは、境界はスクロールの方向と平行に移動する。このように、大半については、列を追加または削除するときに離散ジャンプをするのではなく、サムネイル表示領域はサムネイルを再配置せずに連続的に変更することができる。
【０１６５】
第１の段階３１１０は、約サムネイル２つ分の高さを有するサムネイル表示領域を有するＧＵＩ３０００を示している。第２の段階３１２０において、ユーザは、サムネイル表示領域３００５と画像表示領域３０１５との間の境界上に指を置き、境界を下方向にドラッグし始める。この場合では、サムネイルは境界と一緒に移動する（すなわち、サムネイルと境界の関係が変化しない）。他の実施形態では、サムネイルは、境界へのそのような変更中に静止したままであり、境界はサムネイル上に移動する。ユーザが境界を上方向に移動させ、サムネイルの一番上の行に至ると、いくつかのそのような実施形態は、その後、サムネイル表示領域の最上部に隙間が現れることを防止するために、境界とともにサムネイルを上に移動し始める。
【０１６６】
第３の段階３１３０は、ユーザが境界を下方向にドラッグし続け、同様にサムネイルをスライドすることを示している。最後の段階３１４０で、サムネイル表示領域３００５は、１行分の高さのみを有する。いくつかの実施形態では、縦向きモードでのサムネイル表示領域がサムネイル１行分のみに低減されるとき、アプリケーションがサムネイル表示領域のサイズが縮小されることを自動的に防ぎ（しかし、ユーザはサムネイル表示領域を完全に取り除くために、グリッドボタンをタップまたはスワイプジェスチャを使用することがなおもできる）、スクロールの方向を垂直から水平に変更する。アプリケーションは、現在選択されているコレクションに格納されている順序で単一の行にサムネイルを再配置するが、ユーザがスクロールし始めるまで、ユーザには表示されるサムネイルが同じように見えてもよい。
【０１６７】
図３２は、ＧＵＩ３０００の４つの段階３２１０〜３２４０にわたって、１行の大きさに縮小された場合のサムネイル表示領域の横方向のスクロールを示す。第１の段階３２１０は、サムネイル表示領域３００５が１行の高さを有する図３１の段階３１４０と同じ状態であるＧＵＩ３０００を示している。図示のように、ユーザは指一本でサムネイル表示領域に接触し始めている。ユーザは、第２の段階３２２０で左に指を動かし始め、第３の段階３２３０でこの動作を続けている。この動作の結果、サムネイル表示領域３００５を通して左にサムネイルがスクロールし、いくつかのサムネイルが左にＧＵＩの外へスクロールし、右から新しいサムネイルが入る。いくつかの実施形態では、ユーザが、コレクションの終わりに到達したときにスクロールが停止し、他の実施形態では、連続的なスクロール方法のように、サムネイルを包み込む。第４の段階３２４０は、ユーザがタッチスクリーンとの接触を解除したことを示し、サムネイルは現在静止している。
【０１６８】
図３３は、いくつかの実施形態の携帯電話およびメディアプレーヤＧＵＩ１７００のサムネイル表示領域の画像をスクロールするユーザを示す図である。第１の段階３３１０において、第１のサムネイル３３０５が選択され、対応する画像３３１５が画像表示領域１７１５に表示されている。しかし、ユーザは、現在、画像表示領域上で左方向にスワイプジェスチャを行い、コレクション内の次の画像を示し始めている。第２の段階３３２０は、このスワイプジェスチャの結果を示し、画像３３２５が現在表示され、対応するサムネイル３３３５が選択されていることを示している。上記の図には示していないが、いくつかの実施形態では、より大きい（例えば、タブレット）デバイス上のアプリケーションのユーザも、コレクション内の画像を速やかにスキャンするために同様のスワイプジェスチャ（左右両方）を使用することができる。スワイプジェスチャで選択画像のセットをスキャンすることは、以下でセクションＶにも説明する。
【０１６９】
第２の段階３３２０〜第４の段階３３４０は、スワイプジェスチャでサムネイル表示領域１７０５を横にスクロールするユーザを示している。図示のように、ユーザは、上記の図３２に示すように、サムネイル表示領域上を横に指をスワイプし、サムネイルが通るようにスライドする。
【０１７０】
上記図面は、（マルチタッチジェスチャを含む）タッチスクリーンジェスチャを用いて、（縦向きモードであれ横向きモードであれ）サムネイル表示領域をスクロールすることを示しているが、当業者は、図２９〜３３に記載された特徴（および本明細書で示される他の特徴）を他の方法で、例えば、（ボタンのクリック、カーソルコントローラの移動、およびカーソルコントローラを介するタッチ入力の組み合わせを含み得る）カーソルコントローラデバイス、キーボードなどを用いて行うことも可能であることを認識するであろう。
【０１７１】
Ｃ．ズームツール
このセクションのサブセクションＡは、左利き用モードと右利き用モードのために異なるＧＵＩを備えるアプリケーションを記述し、それらにおいて、アプリケーションはモードを切り替えるときに、何らかのＧＵＩ要素の位置と順序を変更し、他の要素を同じ場所に残す。さらに、いくつかの実施形態では、ＧＵＩが左利き用モードであるか右利き用モードであるかに応じて何らかのＧＵＩツールを異なるように（例えば、異なる方向で）起動する。そのようなツールの１つは、いくつかの実施形態のズームツールであって、ＧＵＩのどのモードが起動されているかに応じて、ズームツールは異なる方向に表示され、何らかのジェスチャに異なるように反応する。
【０１７２】
図３４は、かかるズームツールを呼び出すためのいくつかの実施形態のプロセス３４００を概念的に示す。プロセス３４００は、いくつかの実施形態の右利き用と左利き用のメディア編集および閲覧ＧＵＩ内のズームツールの呼び出しを示す図３５および図３６を参照して説明する。いくつかの実施形態の画像閲覧、編集、および整理のアプリケーションは、アプリケーションのユーザインタフェースを介して受信された特定のユーザ入力（例えば、タッチ）ジェスチャに応じて、プロセス３４００を行う。しかし、いくつかの実施形態（例えば、アプリケーションのいくつかの携帯電話やメディアプレーヤの実装）は、このようなズームツールを含まない。
【０１７３】
図示のように、プロセスは、閲覧モードにあるときに、（３４０５において）画像表示領域内の画像の上に２つの別々のタッチ入力を受信することによって開始する。いくつかの実施形態では、画像表示領域が１つ以上の画像を表示し、編集ツールのセットのうちの１つ（例えば、トリミング、露光、色、ブラシ、または特殊効果ツール）が起動されたときにアプリケーションは閲覧モードにある。いくつかの実施形態は、２つの別々のタッチ入力が少なくとも部分的に同時に起きるときに、ズームツールを呼び出すものとして２つの別々のタッチ入力を認識する。つまり、２つの別々の入力は同時にタッチスクリーンに接触する必要はない（すなわち、ユーザは、ズームツールを呼び出すために、画面上に親指を置き、親指が画面上に残っている限り１秒後に人差し指で画面に接触してもよい）。他の実施形態は、第１のタッチ入力及び第２のタッチ入力を受信してもよい期間（例えば、０．５秒、１秒など）を制限する。さらに、いくつかの実施形態は閾値距離（例えば、３インチ（７．６２ｃｍ）または画像のサイズに対して相対的な距離のような絶対距離）内のタッチ入力のみに応じてズームツールを起動する。
【０１７４】
さらに、いくつかの実施形態は、２本指ジェスチャと２つの別々のジェスチャとを区別する。マルチタッチデバイスは、ユーザがタッチスクリーン上に指一本を置いているかまたは（例えば、何らかのスウィープジェスチャのために）複数の指を一緒に置いているかを識別できる。これらの様々なタッチジェスチャは、いくつかの実施形態では、デバイスのオペレーティングシステムによって検出され、アプリケーションに送信される。アプリケーションが表示された画像上の異なる位置での２つの別々のジェスチャをオペレーティングシステムから受信すると、アプリケーションは、ズームツールを呼び出す。
【０１７５】
２つの別個したタッチ入力の受信に応じて、プロセス３４００は（３４１０で）ズームツール表示に関連付けられた効果音を出力する。いくつかの実施形態では、効果音は、カメラのシャッターの開く音を模倣する。他の目的の中でも、効果音は、ズームツールが起動されたことをユーザに示す。さらに、いくつかの実施形態では、ズームツールが占める領域内に、カメラのシャッター開口部の外観を与えるアニメーションを表示する。プロセス３４００は、ズームツールを表示する前に効果音を出力するアプリケーションを示しているが、当業者は、これは概念的なプロセスであることを認識し、効果音は、ズームツールの表示と並行して出力されてもよいことを認識するであろう。
【０１７６】
プロセスはまた、（３４１５で）２つの別個のタッチ入力の間の中点を識別する。示されるように、いくつかの実施形態では、アプリケーションは、ユーザから受けたタッチ入力に応じて、オペレーティングシステムからジェスチャ情報を受信する。ジェスチャ情報は、各ジェスチャの中心となる場所（例えば、スクリーン画素座標）を含む。いくつかの実施形態のアプリケーションでは、各ジェスチャの中心座標を結ぶ線の中点（例えば、平均ｘ座標および平均ｙ座標）を識別する。
【０１７７】
その後、プロセスは（３４２０において）ＧＵＩが右利き用モードであるかを判定する。図１６を参照して上述したように、画像編集アプリケーションは、ユーザがその間を切り替えることができる右利き用ＧＵＩと左利き用ＧＵＩを提供する。これらの実施形態のいくつかにおいて、画像編集アプリケーションは、ＧＵＩが右利き用モードであるか左利き用モードであるかを示すパラメータを記憶する。ユーザが（例えば、サムネイル表示領域を移動させることにより）２つのモードを切り替える場合に、アプリケーションは、パラメータを切り替える。これらの実施形態において、プロセスは、この記憶されたパラメータをチェックすることにより、ＧＵＩが右利き用モードであるかを判定する。他の実施形態において、アプリケーションは、アプリケーションが現在、左利き用モードであるか右利き用モードであるかを判定するためにサムネイル表示領域（または他のＧＵＩ項目）の位置を使用する。
【０１７８】
ＧＵＩが右利き用モードにある場合、プロセスは（３４２５で）識別された中点を中心としたズームツールを表示し、ズームリングの左側に拡大率情報が示される。その後、プロセスは終了する。いくつかの実施形態では、ズームツールは、２つのタッチ入力間の識別された中点を中心とする楕円（例えば、円形）として表示されるズームリングである。しかし、他の実施形態は、異なる形状（例えば、正方形、六角形など）を使用する。拡大率情報は、いくつかの実施形態において、ユーザにＧＵＩコントロール内の画像のズームレベルを示す。
【０１７９】
図３５は、ＧＵＩが右利き用モードになっているときに４つの段階３５０５〜３５２０にわたってＧＵＩ３５００を通して円形のズームツールの呼び出し及びその終了を行う例を示す。図３５の第１の段階３５０５と第２の段階３５１０は、ズームツールの呼び出しを示し、第３の段階３５１５と第４の段階３５２０は、ズームツールの呼び出し終了を示している。
【０１８０】
図示のように、ＧＵＩ３５００は、ＧＵＩ３５００の左側に配置されているサムネイル表示領域３５３０、画像表示領域３５４５、およびツールバー３５４０を含む。アプリケーションは、画像表示領域３５４５内に画像３５５５を表示する。第１の段階３５０５に示されるように、ＧＵＩ３５００の左側にサムネイル表示領域３５３０が配置され、それはＧＵＩ３５００が右利き用モードであることを示している。ツールバー３５４０の編集ツール起動項目のいずれも現在選択されていないので、アプリケーションは閲覧モードである。
【０１８１】
第２の段階３５１０は、ユーザが画像３５５５上でズームツールを呼び出した後のＧＵＩ３５００を示している。上述したように、ズームツールは、画像上に２つの別々のタッチ入力を提供することによって呼び出すことができる。図示のように、ユーザは、ゴルフボールを表示する位置の近くに、画像３５５５上の別の位置で２本の指をタップしてズームツールを呼び出す。
【０１８２】
２つのタッチ入力の結果として、ズームリング３５２５は、２つの別々のタッチ入力の間の中点を中心として（すなわち、ゴルフボールを含む画像３５５５内の、現在拡大されたように示されている位置の周りに）画像３５５５上に重畳されている。さらに、サムネイル表示領域３５３０の位置によって示されるようにＧＵＩが右利き用モードであるので、拡大率情報３５３５は、ズームリング３５２５の左側に表示されている。この拡大率情報は、ズームリング３５２５内部の現在のズームレベルが２倍であることを示す。ユーザの右手がズームツール上にあるときに、ズームリング３５２５の左側に拡大率情報を表示すると、ユーザがこの情報を簡単に見えるようになる。以下に説明するように、ユーザは、拡大レベルを変更するために、回転ジェスチャを使用できる。
【０１８３】
図３４を再び参照すると、プロセス３４００が、動作３４２０で、ＧＵＩは右利き用モードでないこと（したがって、ＧＵＩは左利き用モードであること）を判定した場合、プロセスは、識別された中点を中心としたズームツールを（３４３０で）表示し、ズームリングの右側に拡大率情報が表示される。その後、プロセスは終了する。いくつかの実施形態では、左利き用モードまたは右利き用モードのいずれにも、ズームツールは同じ形状を有するズームリング（例えば、円形）である。
【０１８４】
図３６は、２つの段階３６０５と３６１０において、ＧＵＩが左利き用モードになっている場合に、ＧＵＩ３５００を介して円形のズームツールを呼び出す例を示す。図示のように、第１の段階３６０５は、図３６のＧＵＩ３５００が左利き用モードであり、ＧＵＩ３５００の右側にサムネイル表示領域３５３０が位置していることを除いて、図３５の第１の段階３５０５と同一である。
【０１８５】
第２の段階３６０５は、ユーザが画像３５５５上でズームツールを呼び出した後のＧＵＩ３５００を示している。上述したように、ズームツールは、画像上に２つの別々のタッチ入力を提供することによって呼び出すことができる。図示のように、ユーザは、ゴルフボールを表示する位置の近くに、画像３５５５上の別の位置で２本の指をタップしてズームツールを呼び出す。
【０１８６】
画像３５５５上の２つのタッチ入力の結果として、ズームリング３５２５は、２つの別々のタッチ入力の間の中点を中心として（すなわち、現在拡大して表示されているゴルフボールを含む画像３５５５内の位置の周りに）画像３５５５上に重畳されている。さらに、サムネイル表示領域３５３０の位置によって示されるように、ＧＵＩは左利き用モードであるため、拡大率情報３５３５は、ズームリング３５２５の右側に表示されている。この拡大率情報は、ズームリング３５２５内部の現在のズームレベルが２倍であることを示す。ズームリング３５２５の右側に拡大率情報を表示すると、ユーザの左手がズームツール上にあるときに、ユーザがこの情報を簡単に見えるようになる。以下に説明するように、ユーザは、拡大レベルを変更するために、回転ジェスチャを使用できる。
【０１８７】
ズームツールが呼び出され、画像上に表示されると（すなわち、画像上に重畳されると）、画像編集アプリケーションはまた、ユーザにズームツールの選択解除または呼び出し終了を可能にする。アプリケーションの異なる実施形態は、ユーザがズームツールを選択解除できる異なる方法を提供する。例えば、いくつかの実施形態のアプリケーションは、タッチ入力が画像上のズームツールの外側で受信された場合に、ズームツールを除去する。
【０１８８】
図３５を再び参照すると、第３の段階３５１５および第４の段階３５２０は、ＧＵＩ３５００を介するズームツールの選択解除の例を示す。第３の段階３５１５のＧＵＩは、第２の段階３５１０と同じであり、ズームリング３５２５はまだ画像３５５５に重畳され、ゴルフボールとその周囲の草が拡大されている。第４の段階３５２０は、ユーザがズームツールを選択解除した後のＧＵＩ３５００を示している。上述したように、ユーザは、ズームツールの外側の画像にタッチ入力を提供することによって、ズームツールの選択を解除することができる。図示のように、ユーザはズームツール３５２５の外側の画像３５５５の位置で指をタップしてズームツール３５２５の選択を解除した。ズームリングの外の１つのタッチ入力の結果として、アプリケーションはＧＵＩ３５００からズームリング３５２５を削除する。いくつかの実施形態では、アプリケーションはまた、ズームツールが呼び出し終了されると効果音（例えば、カメラのシャッターを閉じる音）を表示する。いくつかの実施形態はさらに、ツールが除去されるときに、ズームツール内にカメラのシャッターが閉まるような、対応するアニメーションを表示する。
【０１８９】
いくつかの実施形態のズームツールを単に呼び出して除去することに加えて、ユーザは、別のセクションにズームインするために画像の別の場所にズームツールを移動することができ、ズームツール内で示された領域の拡大レベルを変更し、他の操作を実行することができる。これらの操作は、次に図３７を参照して説明する。
【０１９０】
図３７はいくつかの実施形態のＧＵＩ内のズームツールの各種動作を示した状態図３７００を概念的に示している。当業者は、状態図３７００が、画像閲覧ＧＵＩのすべての状態や、ズームツールのすべての状態さえも包含しているわけではなく、画像閲覧ＧＵＩのズームツール操作のサブセットだけを包含することを認識する。
【０１９１】
状態図３７００は、図３８、３９、４１、４２、および４０に示されたＵＩ例を参照して説明される。具体的には、図３８および４１は、ズームツールの拡大（すなわち、ズームイン）の動作に関連する複数の段階でいくつかの実施形態の画像閲覧および編集アプリケーションのＧＵＩを示す。図３９および４２は、ズームツールの縮小（すなわち、ズームアウト）の動作に関連する複数の段階でいくつかの実施形態の画像閲覧および編集アプリケーションのＧＵＩを示す。図４０は、ズームツールの再配置（すなわち、移動）に関連する複数の段階でいくつかの実施形態の画像閲覧および編集アプリケーションのＧＵＩを示す。
【０１９２】
図３７に示すように、ＧＵＩは、２つの初期状態３７０５及び３７１０を有している。初期状態３７０５において、ＧＵＩは、右利き用モードにおいて、サムネイルグリッド（すなわち、サムネイル表示領域）および画像表示領域に表示された画像を表示する。状態３７１０は、状態３７０５と同一であるが、ＧＵＩは右利き用モードの代わりに左利き用モードであり、サムネイルグリッドはＧＵＩの右側にある。右利き用モードのズームツールの各種動作を、図３８，３９、および４０を参照して最初に説明する。
【０１９３】
ズームツールが画像上で２つの別々のタッチ入力を受信すると、ズームツールは初期状態３７０５から状態３７１５に移行し、ＧＵＩは右利き用モードでズームリングを画像上に表示する。上述したように、ＧＵＩは、いくつかの実施形態において、右利き用モード用に１つ、および左利き用モード用に１つの、ズームリングの２つの異なるバージョンを提供する。いくつかの実施形態では、右利き用モードでズームツールは、ズームリングの左側に表示された拡大率情報を有する。これは、ユーザの右手がズームリングの上にあるときに、ユーザが拡大率情報を見えるようにする。右利き用モードでズームリングを呼び出し表示する動作については、図３５を参照して上記で詳細に記載されている。
【０１９４】
ズームリングに影響を与える入力が提供されない限り、ズームツールは状態３７１５にとどまる。しかし、時計回りの回転入力が受信されると、ＧＵＩは、ズームツール内の画像の領域の拡大率を上げるために状態３７２５に移行する。いくつかの実施形態では、ユーザは、ズームリングに２本の指を置き、時計回り方向に２本の指を回転させることにより時計回りの回転入力を提供することができる。いくつかの実施形態では、入力の位置を追跡し、２箇所を結ぶ線の角度（例えば、水平方向とのなす角度）を測定することによりそのような入力を識別する。この角度が時計回りに変化すると、アプリケーションは、右利き用ズームツールの拡大率を上げる。いくつかの実施形態では、２つのタッチ入力は、ズームツールの直接上に位置する必要はないが、多くの場合、そうすると、ユーザに対してズームインおよびズームアウトを視覚化するのに役立つ。ズームリングの内側にある画像の領域の拡大率を上げた後、ＧＵＩは、ユーザが時計回りに指を回転させ続けていないかぎり、状態３７１５に戻る。
【０１９５】
図３８は、４つの異なる段階３８０５〜３８２０にわたって、ＧＵＩ３５００を介するズームツールの拡大操作を示す。第１の段階３８０５は、図３５の第１の段階３５０５と同一であり、ＧＵＩ３５００の左側にサムネイル表示領域３５３０が位置し、画像３５５５は閲覧モードで画像表示領域３５４５に表示される。
【０１９６】
第２の段階３８１０は、ユーザが画像３５５５上に２つの別々のタッチ入力を提供することで、ズームツールを呼び出した後のＧＵＩ３５００を示している。図示のように、ユーザは、ゴルフボールの位置の周囲に画像３５５５上で２本の指をタップしている。２つの別々のタッチ入力の結果として、アプリケーションは、２つの別々のタッチ入力の中点を中心として画像３５５５にズームリング３５２５を重畳する。さらに、ＧＵＩが右利き用モードになっているため、アプリケーションはズームリング３５２５の左側に拡大率情報３５３５を表示する。いくつかの実施形態では、デフォルトの拡大率は２倍ズームであり、拡大率は１倍から３倍の間で調整可能である。
【０１９７】
第３の段階３８１５は、ユーザがズームツールを使用して画像の拡大率を上げ始めた後のＧＵＩ３５００を示している。上述したように、ユーザは、時計回りの回転入力を提供することにより、ズームツール内の画像の領域の拡大率を上げることができる。図示のように、ユーザは、矢印３８２５で示すように、時計回り方向に２本の指を回転し始めている。時計回りの回転入力の結果として、ズームリング３５２５の内側にある画像の領域をさらに拡大して表示する。
【０１９８】
第４の段階３８２０は、ユーザがズームツールを使用して画像の拡大率をさらに上げた後のＧＵＩ３５００を示している。図示のように、矢印３８３０で示すように、ユーザは、時計回り方向に２本の指を回転し続けている。回転操作の結果として、第４の段階３８２０のズームリング３５２５内の画像の領域は、第３の段階３８１５の画像よりも拡大されている。この段階では、ズームツールは、最大である３倍の拡大レベルである。
【０１９９】
いくつかの実施形態では、ズームツールは、フルサイズ表示を超えて画像の一部分を拡大しない。小さいスクリーンデバイス上の画像は多くの場合、デバイスのディスプレイ内に収まるように、サイズが縮小されている。例えば、１９２０×１０８０の画像は６４０×４８０の表示画面上にフルサイズで表示されないかもしれない。ズームツールを使用すると、ユーザは、そのフルサイズに近く、画像の一部を閲覧することができる。しかし、画像が既にそのフルサイズにある場合（例えば、１９２０×１０８０の表示画面上に６４０×４８０の画像）には、いくつかの実施形態では、ズームされた領域内にピクセレーションを作成させることを理由に、ユーザは、ズームツールを呼び出すことが許可されない。
【０２００】
図３７に戻って参照すると、状態３７１５になっている間にアプリケーションが反時計回りの回転の入力を受けると、ＧＵＩは、ズームツール内の画像の領域の拡大率を下げるために状態３７３５に移行する。いくつかの実施形態では、ユーザは、ズームリングに２本の指を置き、反時計回り方向に２本の指を回転させることによって反時計回りの回転入力を提供することができる。時計回りの回転と同様に、いくつかの実施形態は、２つの入力の位置を追跡し、その位置を結ぶ線の角度を測定することによって入力を識別する。ズームリング内の画像の領域の拡大率を下げた後、ＧＵＩは、ユーザが指を回転し続けていない限り、状態３７１５に戻る。
【０２０１】
図３９は、４つの異なる段階３９０５〜３９２０にわたって、ＧＵＩ３５００を介するズームツールの縮小操作を示す。第１の段階３９０５でのＧＵＩ３５００は、図３８の第４の段階３８２０でのＧＵＩと同一である。図示のように、ＧＵＩ３５００は、３倍の拡大率でズームリング３５２５を含み、ズームリングの内側の画像の領域が拡大されている。
【０２０２】
第２の段階３９１０は、ユーザがズームツールを使用して画像の拡大率を下げ始めた後のＧＵＩ３５００を示している。上述したように、ユーザは反時計回りの回転入力を提供することにより、ズームリング内の画像の領域の拡大率を下げることができる。図示のように、ユーザは、矢印３９２５で示すように、反時計回り方向に２本の指を回転し始めている。反時計回りの回転入力の結果として、アプリケーションは、ズームリング３５２５内にある画像の領域の拡大率を下げている。
【０２０３】
第３の段階３９１５は、ユーザがズームツールを使用して画像の拡大率をさらに下げた後のＧＵＩ３５００を示している。図示のように、ユーザは、矢印３９３０で示すように、反時計回り方向に２本の指を回転し続けている。回転操作の結果として、第３の段階３９１５でズームリング３５２５内の画像の領域は、第２の段階３９１０に比べて拡大率が低い。第４の段階３９２０は、ユーザがズームリング３５２５から２本の指を持ち上げた後のＧＵＩ３５００を示している。図示のように、ユーザが指を持ち上げた後、ズームリング３５２５内の画像の領域は第３の段階３９１５での画像の領域と同じままである。
【０２０４】
ズームツールの拡大レベルの変更に加えて、いくつかの実施形態では、ユーザは画像のあちこちにツールを移動でき、それによって画像内の異なる領域に注目する。図３７に戻って参照すると、ズームツールがリング移動起動イベントを受信すると、ズームツールはリング移動状態３７４５に移行する。いくつかの実施形態では、リング移動起動イベントは、ユーザがズームリングに指を押して、維持すること（すなわち、シングルタッチ）を含む。リング移動状態３７４５中に、ズームリングは、ユーザの入力の動きを追う。つまり、ズームリングは、ユーザが指を動かすところに移動する。ズームツールはズームリングの移動終了イベントを受信するまでこの状態にとどまる。いくつかの実施形態では、ユーザは、ズームリングから指を持ち上げることによってズームリング移動操作を終了することができる。ズームリング移動終了イベントを受信すると、ズームツールは、状態３７１５に戻る。
【０２０５】
図４０は、４つの異なる段階４００５、４０１０、４０１５、および４０２０にわたって、ＧＵＩ３５００を介するズームツールの移動操作を示す。第１の段階４００５は、図３５の第１の段階３５０５と同一である。図示のように、ＧＵＩ３５００は、ＧＵＩ３５００の左側に配置されているサムネイル表示領域３５３０と、画像表示領域３５４５と、メニューバー３５４０とを含む。画像３５５５は、閲覧モードでの画像表示領域３５４５に表示される。また、図４０は、ＧＵＩ３５００の左側に位置するサムネイル表示領域３５３０によって示されるように、ＧＵＩ３５００が右利き用モードになっていることを示している。
【０２０６】
第２の段階４０１０は、ユーザがズームツールを呼び出した後のＧＵＩ３５００を示している。図示のように、ユーザは、画像３５５５上に２つの別々のタッチ入力を提供することにより、ズームツールを呼び出す。２つの別々のタッチ入力の結果として、アプリケーションは、２つの別々のタッチの中点を中心として画像３５５５にズームリング３５２５を重畳する。さらに、ＧＵＩ３５００は（サムネイル表示領域３５３０の位置によって示される）右利き用モードになっているため、ＧＵＩはズームリング３５２５の左側に拡大率情報３５３５を表示する。
【０２０７】
第３の段階４０１５は、ユーザがタッチジェスチャでズームリング３５２５を移動し始めた後のＧＵＩ３５００を示している。いくつかの実施形態では、ユーザは、ズームリング３５２５上に１つの指を配置し、画像上の別の位置に指をドラッグすることにより、ズームリングを移動することができる。図示のように、矢印４０２５で示すように、ユーザが画像３５５５の右上の隅に向かって指をドラッグし始めている。ドラッグ移動の結果として、ズームリング３５２５は画像３５５５の右上の隅に向かって移動する。第４の段階３９１５は、ユーザが画像上の別の場所にズームリング３５２５を移動した後のＧＵＩ３５００を示している。図示のように、矢印４０３０で示すように、ユーザが画像３５５５の上部に向かって指をドラッグする。ドラッグ移動の結果として、ズームリング３５２５は、画像３５５５の上部に向かって移動する。
【０２０８】
いくつかの実施形態では、ズームツールは、ズームツール終了イベントによって終了することができる。例えば、単一の入力がズームリングの外側で受信された場合、ズームツールを終了することができる。図３７に戻って参照すると、状態３７１５で、ズームツールがズームリングの外側で入力（例えば、ズームリングの外側でのシングルタッチ）を受け取ると、ズームツールは初期状態３７０５に戻る。いくつかの実施形態のズームリングの終了操作は図３５の段階３５１５及び３５２０を参照して、上記に詳細に記載されている。
【０２０９】
上に詳細に記載したように、ユーザはＧＵＩの右側にサムネイル表示領域（すなわち、サムネイルグリッド）を移動させることにより画像閲覧および編集ＧＵＩを右利き用モードから左利き用モードに切り替えることができる。したがって、初期状態３７０５にある間、ディスプレイの右側にサムネイルグリッドを移動したときにズームツールは他の初期状態３７１０に移行する（ユーザが左側に戻すようにサムネイルグリッドを移動した場合にはその逆になる）。初期状態３７１０から始まるズームツールの様々な操作を、図４１および４２を参照して説明する。これらの操作は、拡大操作および縮小操作が逆方向への回転によって引き起こされることを除いて、右利き用操作と同様である。
【０２１０】
ズームツールが画像の上に２つの別々のタッチ入力を受信すると、ズームツールは初期状態３７１０からＧＵＩが左利き用モードでズームリングを画像に表示する状態３７２０に移行する。上述したように、ＧＵＩは、いくつかの実施形態において、右利き用モード用に１つと左利き用モード用に１つの、ズームリングの２つの異なるバージョンを提供する。いくつかの実施形態では、左利き用モードのズームツールは、ズームリングの右側に表示された拡大率情報を有する。これはユーザの左手がズームリングの上にあるときに、ユーザが拡大率情報を見えるようにする。左利き用モードでズームリングを呼び出し、表示する動作は、図３６を参照して、上記に詳細に記載されている。
【０２１１】
ズームリングに影響を与える入力がない限り、ズームツールは状態３７２０にとどまる。しかし、反時計回りの回転入力が受信されると、ＧＵＩはズームツール内の画像の領域の拡大率を上げるために状態３７３０に移行する。いくつかの実施形態では、ユーザは、ズームリングに２本の指を置き、反時計回り方向に２本の指を回転することによって反時計回りの回転入力を提供することができる。いくつかの実施形態では、入力の位置を追跡し、２箇所を結ぶ線の角度（例えば、水平方向となす角度）を測定することによりそのような入力を識別する。この角度が反時計回りに変化するとき、アプリケーションは、左利き用ズームツールの拡大率を上げる。いくつかの実施形態では、２つのタッチ入力はズームツールの直接上に配置される必要はないが、多くの場合、そうすると、ユーザがズームインとズームアウトの動きを視覚化するために役立つ。ズームリングの内側にある画像の領域の拡大率を上げた後、ユーザが反時計回りに指を回転し続けていないかぎり、ＧＵＩは状態３７２０に戻る。
【０２１２】
図４１は、４つの異なる段階４１０５〜４１２０におけるＧＵＩ３５００を介するズームツールの拡大動作を示す。第１の段階４１０５は、図３６の第１の段階３６０５と同一であり、サムネイル表示領域３５３０はＧＵＩ３５００の右側に位置し、画像３５５５は閲覧モードにおける画像表示領域３５４５に表示される。
【０２１３】
第２の段階４１１０は、ユーザが画像３５５５上の２つの別々のタッチ入力を提供することで、ズームツールを呼び出した後のＧＵＩ３５００を示している。図示のように、ユーザは、ゴルフボールの位置の周囲の画像３５５５上で２本の指をタップしている。２つの別々のタッチ入力の結果として、アプリケーションは、２つの別々のタッチ入力の中点を中心として画像３５５５にズームリング３５２５を重畳する。さらに、ＧＵＩは左利き用モードになっているため、アプリケーションはズームリング３５２５の左側に拡大率情報３５３５を表示する。いくつかの実施形態では、デフォルトの拡大率は２倍ズームであり、拡大率は１倍から３倍の間で変更可能である。
【０２１４】
第３の段階４１１５は、ユーザがズームツールを使用して画像の拡大率を上げ始めた後のＧＵＩ３５００を示している。上述したように、ユーザは反時計回りの回転入力を提供することにより、ズームツール内の画像の領域の拡大率を上げることができる。図示のように、ユーザは、矢印４１２５で示すように、反時計回り方向に２本の指を回転し始めている。反時計回りの回転入力の結果として、ズームリング３５２５内にある画像の領域はさらに拡大して表示される。
【０２１５】
第４の段階４１２０は、ユーザがズームツールを使用して画像の拡大率をさらに上げた後のＧＵＩ３５００を示している。図示のように、ユーザは、矢印４１３０で示すように、反時計回り方向に２本の指を回転し続けている。回転移動の結果として、第４の段階４１２０でズームリング３５２５内の画像の領域は、第３の段階３８１５の画像よりも拡大される。この段階では、ズームツールは、最大である３倍の拡大レベルである。
【０２１６】
図３７に戻って参照すると、状態３７２０にある間に、アプリケーションが時計回りの回転入力を受けると、ＧＵＩは、ズームツール内の画像の領域の拡大率を下げるために、状態３７４０に移行する。いくつかの実施形態では、ユーザは、ズームリング上に２本の指を置き、時計回り方向に２本の指を回転することにより、時計回りの回転入力を提供することができる。反時計回りの回転と同様に、いくつかの実施形態は、２つの入力の位置を追跡し、当該位置を結ぶ線の角度を測定することによって、入力を識別する。ズームリング内の画像の領域の拡大率を下げた後、ＧＵＩは、ユーザが指を回転し続けていない限り、状態３７２０に戻る。
【０２１７】
図４２は、４つの異なる段階４２０５〜４２２０におけるＧＵＩ３５００を介するズームツールの縮小動作を示す。第１の段階４２０５でＧＵＩ３５００は、図４１の第４の段階４１２０のＧＵＩと同一である。図示のように、ＧＵＩ３５００は３倍の拡大率であるズームリング３５２５を含み、ズームリングの内側にある画像の領域を拡大している。
【０２１８】
第２の段階４２１０は、ユーザがズームツールを使用して画像の拡大率を下げ始めた後のＧＵＩ３５００を示している。上述したように、ユーザは、時計回りの回転入力を提供することにより、ズームリング内の画像の領域の拡大率を下げることができる。図示のように、ユーザは、矢印４２２５で示すように、時計回り方向に２本の指を回転し始めている。時計回りの回転入力の結果として、アプリケーションは、ズームリング３５２５内にある画像の領域の拡大率を下げている。
【０２１９】
第３の段階４２１５は、ユーザがズームツールを使用して画像の拡大率をさらに下げた後のＧＵＩ３５００を示している。図示のように、ユーザは、矢印４２３０で示すように、時計回り方向に２本の指を回転し続けている。この回転移動の結果として、第３の段階４２１５でズームリング３５２５内の画像の領域は、第２の段階４２１０に比べて少なく拡大されている。第４の段階４２２０は、ユーザがズームリング３５２５から２本の指を持ち上げた後のＧＵＩ３５００を示している。図示のように、ユーザが指を持ち上げた後、ズームリング３５２５内の画像の領域は第３の段階４２１５での画像の領域と同じままである。
【０２２０】
右利き用ズームツールと同様に、ユーザは左利き用モードにおいてもツールを画像の異なる領域に移動させることができる。拡大ジェスチャおよび収縮ジェスチャは左利き用モードと右利き用モードとで反対方向にあるが、いくつかの実施形態では、どちらのモードでもズームリングの移動は同一のジェスチャを含む。図３７に戻って参照すると、ズームツールがリング移動起動イベントを受信した場合、ズームツールはリング移動状態３７５０に移行する。いくつかの実施形態では、リング移動起動イベントは、ユーザがズームリングを指で押し、保持すること（すなわち、シングルタッチ入力）を含む。リング移動状態３７５０の間に、ズームリングは、ユーザ入力の移動に追従する。つまり、ズームリングは、ユーザが指を動かす位置に移動する。ズームツールはズームリング移動終了イベントを受信するまでこの状態にとどまる。いくつかの実施形態では、ユーザは、ズームリングから指を持ち上げることによってズームリング移動操作を終了することができる。ズームリング移動終了イベント（例えば、ズームリングの外側でのシングルタッチ）を受信すると、ズームツールは状態３７２０に戻る。ズームツールは、状態３７２０でズームリングの外側で入力を受信した場合は、ＧＵＩが左利き用モードである初期状態３７１０に戻る。
【０２２１】
ＩＶ．複数の画像の表示
上記の例の多くは、画像表示領域内に１つの画像のみを有するＧＵＩを示しているが、いくつかの実施形態では、ユーザが一度に表示するための複数の画像を選択することを可能にする。様々な実施形態では、複数の画像を表示するために異なるプロセスがユーザに利用可能である。ユーザは、（特定のタイプの選択入力で対応するサムネイルを選択することによって）コレクション内の特定の画像を選択でき、アプリケーションは選択画像のある閾値内の類似性を有するコレクション内の他の画像を自動的に識別する。また、ユーザは、閾値期間にわたって各サムネイルを長押しすることにより、（例えば、マルチタッチデバイス上の別々の入力を介して）サムネイル表示領域内の画像のブロック、または複数の個別の画像を選択することができる。さらに、いくつかの実施形態は、一度に複数の画像を選択するための設定メニューオプションを含む。
【０２２２】
複数の画像が画像表示領域に表示するために選択されている場合、いくつかの実施形態では、全ての画像にわたって視覚的重み付けが等しいことを保証しながら、ディスプレイの使用を最大化する表示アルゴリズムを使用する。いくつかの実施形態において、アプリケーションは、表示する画像の平均アスペクト比を識別し、その後、グリッドの各矩形領域が平均アスペクト比を有するように、画像の数に対して理想的なグリッドに画像表示領域を分割する。その後、アプリケーションは、グリッドの四角形のいずれかに各画像を収める。
【０２２３】
Ａ．類似画像の識別と表示
上述したように、画像表示領域に表示するための複数の画像を選択するための方法の１つは、画像を選択し、選択した画像に対して閾値類似度内である同じコレクション内の画像をアプリケーションに識別させることである。いくつかの実施形態では、ユーザがサムネイル上をダブルタップ（またはダブルクリック）すると、アプリケーションは選択した画像に対して、コレクション内の他の画像を自動的に比較する。２つの画像間の比較を行うために、いくつかの実施形態では、画像のそれぞれについてヒストグラムのセットを使用し、画像のヒストグラムが閾値類似度内であるかを判断する。いくつかの実施形態は、色、テクスチャ、および勾配ヒストグラムを使用するが、他の実施形態では、画像を比較するために他の画素の特性を使用することができる。画像のより重要な部分（例えば、中央）の比較に集中するために、いくつかの実施形態は、いくつかの領域に画像を分割し、対応する領域についてヒストグラムを比較する。領域は、いくつかの画素（例えば、画像の中心にあるもの）が他の画素よりも多くの領域で使用されるように、重なっていてもよい。
【０２２４】
図４３は、コレクション内の類似画像を識別および表示するためのいくつかの実施形態のプロセス４３００を概念的に示す。いくつかの実施形態の画像閲覧、編集、および整理アプリケーションは、アプリケーションが閲覧モードである間に類似画像を表示するためのユーザコマンドに応じて、このプロセスを実行する。プロセス４３００は、図４４〜４６を部分的に参照して説明する。図４４は、ユーザが特定の画像を選択し、アプリケーションが選択画像に類似しているコレクション内の画像のセットを識別する３つの段階４４１０〜４４３０にわたって画像閲覧アプリケーション用のＧＵＩ４４００を示している。
【０２２５】
ＧＵＩ４４００は、サムネイル表示領域４４０５と画像表示領域４４１５とを含む。これらの表示領域は、図１４について上述したものと同様である。画像表示領域４４１５の上のバーに示されるように、サムネイル表示領域４４０５は、コレクション「アルバム１」内の画像のサムネイルのセットを表示する。
【０２２６】
図示のように、プロセス４３００は、（４３０５において）アルバム内の特定の画像の選択と、類似画像を識別するためのコマンドとを受信することによって開始する。上述のように、いくつかの実施形態は、ユーザが画像のサムネイルをダブルタップ（すなわち、同じサムネイル上の閾値期間内の２つの急速な連続タップ）やダブルクリックすると自動的にこのプロセスを実行する。しかし、この機能は、画像が選択されるメニューオプションまたは別のＧＵＩ項目を選択することやキーストロークのセットを入力することなどの他のＧＵＩインタラクションを介してアクセスすることもできる。
【０２２７】
図４４の第１の段階４４１０は、サムネイル表示領域４４０５内のサムネイルのいずれもが現在選択されていないことを示している。第２の段階４４２０において、ユーザは１つの指でサムネイル４４２５をダブルタップする。この画像は、ゴルフボールをちょうど打ったゴルファーを示している。サムネイル表示領域４４０５に見られるように、コレクションは、このゴルフシーンの４つの他の画像だけでなく、様々な無関係な画像を含む。
【０２２８】
次に、プロセス４３００は（４３１０で）画像比較動作に関連する効果音を出力する。当業者は、様々な異なる実施形態は、異なる効果音を使用でき、そしていくつかは、効果音を全く出力しなくてもよいことを認識するであろう。いくつかの実施形態では、使用される効果音は、物理的な写真の大きなセットを人がめくることをシミュレーションするように設計されてもよく、計算を実行するプロセッサを想起させるように設計されてもよい。効果音の出力は比較動作の前に行うようにプロセス４３００に概念的に示されているが、多くの場合、アプリケーションを実行するデバイス上のプロセッサは、デバイスが効果音を出力する間に、比較のために必要な計算を実行する。
【０２２９】
プロセスはその後、（４３１５で）選択した画像用の統計情報を取得する。いくつかの実施形態では、統計は、画像に関する情報を提供するヒストグラムのセットを含む。ヒストグラムは、いくつかの実施形態では、画像中の色の分布、画像内の色の多様性、および画像中に存在する形状に関する情報を提供する。図４７を参照して以下にさらに詳細に記載されるように、いくつかの実施形態のアプリケーションは、色の範囲、テクスチャの範囲、および勾配の範囲内に各画素を配置する。色は特定の色空間における画素の位置を識別し、テクスチャは画素の色データがその近傍のものとどの程度類似又は異なっているかを識別し、勾配は近傍のものに対して画素の強度の変化の方向および量を識別する。これら（およびその他）のヒストグラムに加えて、いくつかの実施形態はまた、ファイル名、ユーザが入力した説明、Ｅｘｉｆデータ等の、他の情報を、画像を比較するために使う。
【０２３０】
いくつかの実施形態において、アプリケーションは、いくつかの領域に画像を分割し、２つの画像の対応する領域に対してヒストグラムを比較する。異なる実施形態は、異なるように画像を分割する。図４５は、それぞれ画像の４分の１のサイズである９つの異なるタイルに画像４５００を分割するそのような分割を概念的に示す。図４５は、９つのタイル４５２５〜４５６５を説明するために４つのパネル４５０５〜４５２０を使用する。最初の４つのタイル４５２５〜４５４０は画像４５００の４つの隅領域である。パネル４５１０における次の２つのタイル４５４５と４５５０は、画像の垂直方向の中心を占め、パネル４５１５における次の２つのタイル４５５５と４５６０は、画像の水平方向の中心を占めている。最後に、最後のパネル４５２０は、画像の実際の中心点を中心にする１つのタイル４５６５のみを有する。
【０２３１】
この特定の領域のセットを使用すると、一部の画素が他の画素よりも、２つの画像の比較において重要であるように、その一部の画素に多くの重みを与える。図４６は、この特定の画像４５００の分割の結果として得られた画素の１６個の象限と、タイル４５２５〜４５６５のうち、どのタイルが各象限からの画素を含んでいるかとを示す。図示のように、４つの隅の象限は、タイルの１つのみに含まれているため、これらの画素は、画像のヒストグラム９セットの１つのみに寄与している。画像の１つの縁だけに接するエッジを有する８つの象限は、それぞれ２つのタイルに含まれ、中央の４つの象限はそれぞれ４つのタイルに含まれている。このように、中央の画素は別の画像との比較において、隅の画素の４倍の重みが与えられる。
【０２３２】
いくつかの実施形態では、アプリケーションは、類似画像を識別するよう求められたときにすべての計算を行うのではなく、予めヒストグラム（および他の統計情報）を計算する。いくつかの実施形態では、アプリケーションがまず画像をインポートするときに画像のヒストグラムを生成し、画像と一緒に画像のヒストグラムを（例えば、上述した図１５の画像データ構造１５００内に追加データの一部として）記憶する。９つのタイルについてそれぞれ３つのヒストグラムを有すると、いくつかの実施形態は、各画像に対して２７個の異なるヒストグラムを格納する。
【０２３３】
図４３に戻ると、プロセス４３００はその後（４３２０で）、（最初に選択した画像がその一部である）現在表示されているコレクションから新しい比較画像を選択する。いくつかの実施形態は、コレクションデータ構造に格納されている順番に並べられた列の先頭から画像を横断し、他の実施形態は、順番に並べられた列における選択画像の次の画像から始まるか、コレクション内の画像をランダムに選択するか、または他のアルゴリズムを使用する。
【０２３４】
このプロセスは、その後（４３２５で）現在の比較画像のための統計情報を取得する。これらの統計情報は、ユーザが選択した画像のために取得されたものと同じ統計情報（すなわち、画像の様々な領域の色、テクスチャ、および勾配のヒストグラム）である。上述のように、いくつかの実施形態では、これらのヒストグラムを予め計算し、画像のデータ構造とともにヒストグラムを記憶する。
【０２３５】
次に、プロセス４３００は、（４３３０で）現在の比較画像の統計情報に対して特定のユーザが選択した画像の統計情報を比較する。異なる実施形態は異なるようにこの比較を行う。いくつかの実施形態では、選択した画像の各ヒストグラムを現在の比較画像の対応するヒストグラムに対して比較する。例えば、第１の画像のタイル１の色ヒストグラムを第２の画像のタイル１の色ヒストグラムと比較し、第１の画像のタイル５のテクスチャヒストグラムを第２の画像のタイル５のテクスチャヒストグラムと比較する等である。このように、いくつかの実施形態は、２つの画像が類似したものとして適格かどうかを判定する際に２７個の異なる比較を行う。
【０２３６】
異なる画像からのヒストグラムを比較するために、異なる実施形態は、異なる技術を使用する。各ヒストグラムは、値の範囲によって定義されるビンのセットである。ビンは、一次元であってもよいし、多次元であってもよい。例えば、テクスチャは単一の値によって定義され、従って、各ビンはこのテクスチャ値の範囲である。画素に対する勾配は、角度および長さ（又は、代替的に、ｘ方向の値及びｙ方向の値）の両方を有するベクトルとして定義される。したがって、各ビンは角度の特定の範囲および長さの特定の範囲内に入る画素を含む。画素の色値は、多くの場合、色空間（例えば、ＲＧＢ空間、ＨＳＬ空間、ＹＣｂＣｒ空間、または別の色空間）における三次元の値である。したがって、各ビンは、図４８〜５０を参照して以下にさらに詳細に説明するように、三次元の各々に定義された範囲を有する。
【０２３７】
アプリケーションは、第１の画像のヒストグラムの各ビンの画素数を第２の画像の対応するヒストグラムの対応する各ビン内の画素数と比較する。いくつかの実施形態では、２つのヒストグラムの間の差を計算するために、ヒストグラムの各ビンの差の平均値の平方根をとる、二乗平均平方根関数を使用する。単純化した例として、第１のヒストグラムが［４、２、１、５］の値を有し、第２のヒストグラムが［３、２、４、３］の値を有する場合の二乗平均平方根関数を以下に示す。
Ｓｑｒｔ［｛（４−３）２＋（２−２）２＋（１−４）２＋（５−３）２｝／４］＝Ｓｑｒｔ（３．５）＝１．８７
【０２３８】
アプリケーションは、その後、比較スコアを決定するために、ヒストグラム内の画素の総数（即ち、画像の画素数の４分の一）に対して二乗平均平方根の出力を比較する。この比較スコアは、ヒストグラムの各々（すなわち、図示の例の２７個の異なるヒストグラム）に対して計算される。二乗平均平方根分析ではなく、いくつかの実施形態は、２つのヒストグラム間の偏差の単純平均値、又は２つのヒストグラム間の差を定量化する他のアルゴリズムを使用する。
【０２３９】
画素数が異なる画像のヒストグラムを比較するために、いくつかの実施形態では、画素数の比を決定し、小さい画像のヒストグラム値にこの値を掛ける。他の実施形態は、同じ画素数やアスペクト比を有する画像のみを比較する。
【０２４０】
他のいくつかの実施形態は、画像（又はタイル）内の画素の総数で各ヒストグラムの値を割り、よってそのヒストグラム全体にわたって合計が１になる分数のヒストグラムを有する。いくつかのそのような実施形態では、アプリケーションは、ヒストグラムを比較するために、乗算関数の平方根を使用する。この関数は、第１のヒストグラム中の各ビンの値に第２のヒストグラム中の対応するビンの値を掛けた値の平方根をとり、その後ヒストグラムにおけるビンのセット全体にわたってこれら平方根の合計をとる。したがって、［０．１、０．４、０．３、０．２］の値を有する第１のシンプルなヒストグラムと、［０．３５、０．２５、０．３、０．１］の値を有する第２のヒストグラムとの場合、スコアはＳｑｒｔ（０．１×０．３５）＋Ｓｑｒｔ（０．４×０．２５）＋Ｓｑｒｔ（０．３×０．３）＋Ｓｑｒｔ（０．２×０．１）＝０．９４４７である。この比較方法は、ヒストグラムが同一である場合は１のスコアを与え、ヒストグラムがより異なるにつれて減少する。
【０２４１】
いくつかの実施形態で採用する別の方法は、重なり合う有意ビンの合計を使用する。このプロセスは、両方のヒストグラムの値が特定の閾値よりも大きいビンのみをカウントする。閾値は、ヒストグラムを生成するために使用される全画素の特定の割合、またはビンの数の関数（例えば、Ｎがビンの数である場合、５／Ｎ）である。第１のヒストグラムおよび第２のヒストグラムの両方のビンの値が閾値よりも大きい場合、これらの値は、ヒストグラム比較の合計スコアに加算される。この比較では、スコアは０（重なり合う有意ビンが無い場合）から２（全画素が重なり合う有意ビンにおける場合）の範囲をとりうる。この比較手法は、小さい（そしてしたがって、有意性の低い）ヒストグラムのビンにおける違いにより比較プロセスが不明瞭になることを防ぐ。
【０２４２】
２つの画像の統計情報が比較されると、プロセス４３００は（４３３５で）画像が閾値類似度内かを判定する。いくつかの実施形態では、アプリケーションはそれぞれのヒストグラムの比較スコアの平均をとり、平均スコアが閾値内に収まるかどうかを判定する。これは、小さい差（例えば、画像の隅にある項目が存在する／しない）が、他の点では類似する画像が類似する画像として識別される妨げにならないことを保証する。
【０２４３】
他の実施形態は、色ヒストグラムの差に関しては第１の平均、テクスチャのヒストグラムの差に関しては第２の平均、および勾配ヒストグラムの差に関しては第３の平均を行う。いくつかのこのような実施形態では、３つの平均比較スコアのすべてが閾値内に入ることが必要であるが、他では３つの平均スコアのうち２つが閾値を満たす必要がある。さらに他の実施形態では、アプリケーションはヒストグラム比較スコアの各々を閾値と比較し、２つの画像を類似画像として見なすために、特定の数のスコア（例えば、全て、２７個のうち１８個、など）が閾値を満たす必要がある。
【０２４４】
いくつかの実施形態において、アプリケーションは、色ヒストグラム、勾配ヒストグラム、およびテクスチャヒストグラムに対して異なる閾値類似度を用いる。例えば、アプリケーションは、異なる露光画像または曇り対晴れた画像が同じ形状を有する場合にも類似すると見なされることを可能にするために、勾配ヒストグラムよりも色ヒストグラムにおいて、大きな変動を認めてもよい。
【０２４５】
いくつかの実施形態では、類似度閾値は、機械学習決定木法に基づいている。この技術は、以前に類似または類似していないと分類されたサンプル画像のペアを使用し、（例えば、上述した比較手法の１つ以上を使用して）画像のための異なる比較スコアを算出する。これらのスコアはその後、有用な比較スコアの閾値または閾値の組み合わせを識別するために、類似の及び非類似のペアについて分析される。
【０２４６】
画像の閾値類似度内にある場合、プロセスは特定の画像に類似すると分類された画像群に（４３４０で）現在の比較画像を追加する。すなわち、現在の比較画像は、ユーザが選択した画像および他の類似画像と共に画像表示領域に表示される選択画像の１つになる。
【０２４７】
プロセス４３００は次に（４３４５で）、プロセスがまだユーザが選択した特定の画像に対して比較していない追加の画像を現在のコレクションが含んでいるかを判定する。前述のように、コレクションがアプリケーションによってインポートされた画像をすべて含む場合でも、アプリケーションはコレクション全体を横断する。追加の画像が残っていると、プロセスは現在の比較画像として次の画像を設定するために４３２０に戻る。
【０２４８】
一旦、現在のコレクション内のすべての画像をユーザが選択した画像に対して比べると、（４３５０において）プロセスは、画像表示領域内にユーザが選択した特定の画像およびそれに類似する画像を表示する。図４４に戻り、第３の段階４４３０はダブルタップ入力でサムネイル４４２５をユーザが選択した結果を示す。この段階では、アプリケーションは、画像表示領域内に４つの画像４４３５〜４４５０を表示する。これらは、ゴルファーを示す５つの画像のうちの４つである。第５の画像であるサムネイル４４５５は、（例えば、ゴルフクラブの異なる位置により十分な勾配の差が生じるか、または画像の暗さにより十分な色差が生じるため）類似するとして見なされないために十分に異なる。画像４４３５〜４４５０のサムネイルは、この段階で、これらの画像が閲覧のために選択されていることを示すためにハイライト枠を有する。いくつかの実施形態は、すべての画像にわたって等しい視覚的重み付けを維持するアルゴリズムに従って画像表示領域４４１５に画像を表示する（しかし、アスペクト比が全ての画像に対して等しいので、この場合には問題ではない）。
【０２４９】
図４３のプロセス４３００は、アプリケーションが画像の様々なヒストグラムを比較することによって、複数の画像間の比較を実行する方法を表す。図４７は、本発明のいくつかの実施形態に係るヒストグラムのセットを生成するためのプロセス４７００を概念的に示す。述べたように、いくつかの実施形態は、ヒストグラムを事前に計算し（例えば、画像のインポート時にヒストグラムを生成し、画像とともにこれを保存する）、したがって、各画像についてプロセス４７００または同様のプロセスを画像がアプリケーションにインポートされるときに行う。プロセス４７００を、画像の色ヒストグラムのセットを生成するためにアプリケーションによって一般的に使用される色空間を概念的に表す図４８〜５０を参照することにより部分的に説明する。
【０２５０】
図示のように、プロセス４７００は、（４７０５において）画像を受信することにより開始する。典型的な画像は矩形に配置された画素のセットを含む。各画素は、一般的には、（ｉ）特定の色空間における色値セットと、（ｉｉ）矩形での位置とにより定義される。画像は、符号化された形態であってもよく、その場合にアプリケーションは画像の画素の色値を識別するために画像を復号する。
【０２５１】
プロセスは、（４７１０で）、ヒストグラムを生成する対象の異なるタイルの画像内の寸法を計算する。図４５および図４６を参照して上述したように、いくつかの実施形態は、９つの異なるタイルの各々のために３つのヒストグラムを生成する。プロセスでは、タイルのそれぞれの画素寸法を決定する。例えば、画像が６４０×４８０の画素の寸法（すなわち、水平方向に６４０画素、垂直方向に４８０画素）を有する場合、タイル１  ４５２５は、（１，１）（画像の左隅）および（３２０，２４０）（画像の中心）を隅に有する画素の矩形を使用し、タイル９  ４５６５は、画素位置（１６，１２１）から（４８０，３６０）の矩形を使用する。
【０２５２】
プロセスはその後（４７１５で）、画像の次の画素を選択する。いくつかの実施形態は、左上隅の（１，１）画素から始まり、一番上の行に沿って横断し、損五次の行に下りるなどのようにして、画素の各行を横断する。他の実施形態は、（例えば、ランダム、列優先など）異なる方法で画素を選択する。
【０２５３】
次に、プロセス４７００は、選択画素が属する画像のすべてのタイルを識別する（４７２０）。図４５と図４６に示すタイル配置を使用すると、隅の方に位置する画素は画像の１つの領域のみに属し、中心部に位置する画素は４つの領域に属する。この配置を使用すると、１つの端のみに近い象限内の画素は、２つの領域に属する。
【０２５４】
次にプロセスはヒストグラムを生成し始める。このプロセス４７００の例において、アプリケーションは、最初に色値を、その後テクスチャ値を、そして最後に勾配値を生成する。しかしながら、当業者は、異なる実施形態は、異なる順序でこれらの計算を実行すること、または並列に実行することを認識するであろう。
【０２５５】
（４７２５で）プロセスは、画素値を色相・彩度・明値（ＨＳＶ）色空間に変換する。記憶された画素値は、多くの場合はデバイス固有のＲＧＢ色空間であり、ＨＳＶへの変換は、単純な変換である。図４８はＲＧＢデカルト座標系よりも直感的かつ知覚的に関連するように設計された円筒座標系であるＨＳＶ色空間４８００を概念的に示す。図示のように、色空間４８００で、色相は角度次元で表され、赤色は０°、緑色は１２０°、および青色は２４０°に一般的に位置する。半径次元は彩度を表し、中心ではゼロ彩度（無彩色）から外側の端では完全に飽和（純正色）までの範囲におよぶ。縦軸は、中心において黒（明度＝０）から白（明度＝１）までにおよぶ明度を表す。
【０２５６】
ＨＳＶ色空間は、色ヒストグラムを生成するために使用することができる可能な色空間の１つにすぎない。いくつかの実施形態は、ＨＳＬ（色相?彩度?明度）色空間、ＹＣｂＣｒ（輝度?彩度）色空間、または他の開発者が定義した色空間のような異なる色空間を使用する。他の実施形態は、色変換を行わず、ただ画素が既に定義されているデバイスのガンマ補正されたＲＧＢ空間を使用する。
【０２５７】
画素値が変換された後、プロセス４７００はその後（４７３０で）、現在選択されている画素が属するＨＳＶ色空間の領域を識別する。各領域は、色空間における三次元領域である。しかし、いくつかの実施形態では、各領域が人間の区別可能な色空間の似たような容積を覆うように、領域は色空間における異なるサイズを有する。つまり、人間の目が簡単に異なる色値を区別する色空間の領域と比較して、人間の目が異なる色値を区別し難い色空間では領域が大きい。
【０２５８】
例えば、２つの領域は、異なる色相範囲、異なる彩度範囲、および／または異なる明値範囲を有し得る。図４９は、２つの領域が定義されたＨＳＶ色空間の円形断面４９００（すなわち、一定値）を示す。第１の領域４９０５は、色相次元の赤い部分にあり、第２の領域４９１０は、色相次元の青色部分にある。一般的に、人間の目は赤色の色合いよりも青の色合いをより容易に区別することができるため、いくつかの実施形態は、この例が示すように、色空間の赤色部分に比べて色空間の青色部分で小さい色相範囲の領域を使用する。
【０２５９】
図５０は、２つの領域５００５と５０１０に分割したＨＳＶ色空間の三次元部５０００を示している。この場合には、２つの領域の彩度と色相は同じであるが、明値の範囲が異なる。当業者は、これらの領域が単なる例であること、及び領域が色空間内の任意の形状を有することができることを認識するであろう。図４９または図５０のいずれにも示されていないが、特定の色相および明値内に、複数の領域が異なる彩度範囲に対して定義され得る。さらに、その領域は、すべての次元で一定の範囲を有する必要はない。例えば、特定の領域は、領域が色空間の全体を占める限り、外側の彩度で第１の色相範囲を有し、最も内側の彩度で第２の異なる色相範囲を有してもよい。
【０２６０】
図４７に戻り、プロセス４７００は（４７３５で）画像内の隣接する画素に対して画素を比較することで、現在選択されている画素のテクスチャ値を算出する。いくつかの実施形態では、画素の単一のテクスチャ値を決定するために、周囲の画素の輝度値に対して画素の輝度値を比較する、テクスチャ計算を使用する。画素輝度を決定するために、いくつかの実施形態では、ＲＧＢ画素値を用いる計算を行う。他の実施形態では、隣接画素に対して、画素の（輝度以外の）異なる特性を比較する。
【０２６１】
いくつかの実施形態で使用される新規なテクスチャ計算アルゴリズムを、図５１を参照して説明する。この図は、中心画素（Ｐ０）に対するテクスチャを計算するためにいくつかの実施形態で使用される９つの画素を示す。最初に、いくつかの実施形態は、画素毎の（明るさ、輝度、または明値と同様の）強度値を計算する。これは、基本的に、１つの色チャネル値又は他の色チャネル値に大きな重みを付けることができる、ＲＧＢ値の加重平均である。例えば、いくつかの実施形態では、赤の色チャネルにより大きな重みを付ける。
【０２６２】
図５１内の画素はＩ０（画素Ｐ０用）からＩ８（画素Ｐ８用）の強度値を有する。いくつかの実施形態のテクスチャ計算は、テクスチャ値を決定するための条件チェックのセットを使用する。当業者は、テクスチャ値が物理量に対応するのではなく、単に異なるビンであることを認識するであろう。いくつかの実施形態のテクスチャの計算は次のとおりである。
●Ｐ０がウィンドウ内の最大強度を有する場合、Ｐ０に０のテクスチャを割り当てる。
●Ｐ０がウィンドウ内の最小強度を有する場合、Ｐ０に１のテクスチャを割り当てる。
●Ｐ０が最小強度または最大強度を有していないが、Ｉ０、Ｉ１、…Ｉ８がすべてお互いに閾値内であれば（すなわち、それらはすべて同一または類似する強度を有する場合）、Ｐ０に２のテクスチャを割り当てる。
【０２６３】
これら３つの条件のいずれも満たされていない場合、アプリケーションは次のような差を計算する。
●（Ｉ１＋Ｉ２＋Ｉ３）−（Ｉ６＋Ｉ７＋Ｉ８）
●（Ｉ３＋Ｉ５＋Ｉ８）−（Ｉ１＋Ｉ４＋Ｉ６）
●（Ｉ１＋Ｉ２＋Ｉ４）−（Ｉ５＋Ｉ７＋Ｉ８）
●（Ｉ２＋Ｉ３＋Ｉ５）−（Ｉ４＋Ｉ６＋Ｉ７）
【０２６４】
その後、アプリケーションは、画素Ｐ０の周りのウィンドウ内で最大の強度変化の方向を示すものとして、これらの差のどれが最大の絶対値を有するかを決定する。最初の差は強度の垂直変化に対応し、二番目の差は強度の水平変化に対応し、三番目の差は右上から左下への変化に対応し、および四番目の差は右下から左上への変化に対応する。
【０２６５】
最初の不等式が一番大きい場合、アプリケーションは、次の２つのテクスチャ値のいずれかを割り当てる。
●（Ｉ１＋Ｉ２＋Ｉ３）＞（Ｉ６＋Ｉ７＋Ｉ８）ならば、Ｐ０に３のテクスチャを割り当てる。
●（Ｉ１＋Ｉ２＋Ｉ３）≦（Ｉ６＋Ｉ７＋Ｉ８）ならば、Ｐ０に４のテクスチャを割り当てる。
【０２６６】
二番目の不等式が一番大きい場合、アプリケーションは、次の２つのテクスチャ値のいずれかを割り当てる。
●（Ｉ３＋Ｉ５＋Ｉ８）＞（Ｉ１＋Ｉ４＋Ｉ６）ならば、Ｐ０に５のテクスチャを割り当てる。
●（Ｉ３＋Ｉ５＋Ｉ８）≦（Ｉ１＋Ｉ４＋Ｉ６）ならば、Ｐ０に６のテクスチャを割り当てる。
【０２６７】
三番目の不等式が一番大きい場合、アプリケーションは、次の２つのテクスチャ値のいずれかを割り当てる。
●（Ｉ１＋Ｉ２＋Ｉ４）＞（Ｉ５＋Ｉ７＋Ｉ８）ならば、Ｐ０に７のテクスチャを割り当てる。
●（Ｉ１＋Ｉ２＋Ｉ４）≦（Ｉ５＋Ｉ７＋Ｉ８）ならば、Ｐ０に８のテクスチャを割り当てる。
【０２６８】
そして最後に、四番目の不等式が一番大きい場合、アプリケーションは、次の２つのテクスチャ値のいずれかを割り当てる。
●（Ｉ２＋Ｉ３＋Ｉ５）＞（Ｉ４＋Ｉ６＋Ｉ７）ならば、Ｐ０に９のテクスチャを割り当てる。
●（Ｉ２＋Ｉ３＋Ｉ５）≦（Ｉ４＋Ｉ６＋Ｉ７）ならば、Ｐ０に１０のテクスチャを割り当てる。
【０２６９】
したがって、アプリケーションは、不等式に基づいて、１１個の異なるテクスチャビンのいずれかに、各画素を割り当てる。当業者は、この例では３×３画素のウィンドウを示しているが、いくつかの実施形態では、５×５のウィンドウを使用し、各不等式はいずれかの側に３つではなく１０個の画素強度を有することを認識するであろう。
【０２７０】
選択した画素のテクスチャを計算した後、プロセス４７００はその後（４７４０で）画素が属するテクスチャ範囲を識別する。テクスチャは一次元の値であるため、テクスチャヒストグラムの各ビンは、その１つの次元に沿った特定の範囲を表している。色ヒストグラムと同様に、異なるテクスチャ範囲は必ずしも同じ長さでなくてもよい。
【０２７１】
プロセス４７００はまた、（４７４５で）隣接する画素における最大の変化の方向を識別することによって、勾配値を計算する。いくつかの実施形態では、水平方向と垂直方向との両方における画素の強度の変化の方向と量を特定する勾配計算を使用する。例えば、いくつかの実施形態は、相対的な強度変化（すなわち、水平方向の変化に比べた垂直方向の変化）のみを測定する勾配を使用する。いくつかの実施形態は、勾配Θ＝ａｔａｎ２（δＩ／δｙ，δＩ／δｘ）の式を使用し、ここでＩはやはり強度（上記のテクスチャの計算に使用された同じ値）を示している。
【０２７２】
図５１を再び参照すると、Ｐ０の勾配はΘ＝ａｔａｎ２（Ｉ２−Ｉ７，Ｉ４−Ｉ５）である。関数ａｔａｎ２は、いずれもゼロに等しくない任意の実引数（ｙ，ｘ）に対して、デカルト平面の正のｘ軸と当該平面上の座標（ｘ，ｙ）により与えられる点の間の角度をラジアンで与える関数である。したがって、いくつかの実施形態の勾配は垂直強度変化と水平強度変化との間の相対的な差に関する角度である。
【０２７３】
勾配が計算された後に、プロセスは（３８５０で）画素が属する勾配範囲を識別する。上記の勾配は、一次元の値（すなわち、単なる角度）である。いくつかの実施形態では、勾配は、２次元値である（例えば、ｘｙベクトルや角度および長さとして表現される）。したがって、勾配ヒストグラムの各ビンは、ｘ勾配値およびｙ勾配値の特定の範囲を表している。色ヒストグラムと同様に、異なる勾配の範囲は必ずしもデカルトのｘｙ空間において等しいサイズでではない。
【０２７４】
画素の３つの異なる性質の範囲を識別した後に、プロセスは（４７５５で）、動作４７２０で決定したように、画素が属する画像の各タイルの色ヒストグラム、テクスチャヒストグラム、および形状（勾配）ヒストグラムに画素を追加する。示されるように、上記の図に示されるタイル配置の場合、これは、画素の位置に応じて、３つの異なるヒストグラム、６つの異なるヒストグラム、または１２個の異なるヒストグラムであってもよい。
【０２７５】
現在選択されている画素を分析した後に、プロセス４７００は（４７６０で）画像内に分析されていない画素が残っているかを判定する。追加の画素が残る場合、プロセス４７００は動作４７１５へ戻り、次の画素を選択する。一旦すべての画素が分析されると、プロセスは終了する。
【０２７６】
図５２は、ヒストグラムを生成し、類似度のために画像を比較するいくつかの実施形態の画像閲覧、編集、および整理アプリケーションの一部のソフトウェアアーキテクチャを概念的に示す。図５２は、ヒストグラム生成モジュール５２００、類似度比較部５２５０、および画像選択部５２７５を示している。また、この図は、画像データ５２８０（すなわち、アプリケーションによって格納された画像データ構造および画像ファイル）とコレクションデータ５２８５（すなわち、アプリケーションによって格納されたコレクションデータ構造）を示す。
【０２７７】
ヒストグラム生成モジュール５２００は、画像（例えば、画像閲覧アプリケーションがインポートしている画像）を受信し、画像の様々な領域の色ヒストグラム、テクスチャヒストグラム、及び形状ヒストグラムを生成し、ヒストグラムを画像とともに記憶する。ヒストグラム生成モジュール５２００は、画像タイル化部５２０５、ＨＳＶ変換部５２１０、強度計算部５２１５、テクスチャ計算部５２２０、勾配計算部５２２５、およびヒストグラム生成部５２３０を含む。
【０２７８】
図示のように、画像タイル化部５２０５、ＨＳＶ変換部５２１０、および強度計算部５２１５は、画像データを受信する。画像タイル化部５２０５は、画像を受信し、画像の寸法を識別し、および画像内の、ヒストグラム生成モジュール５２００がヒストグラムを生成する対象の異なる領域の座標（すなわち、画素座標）を計算する。画像タイル化部５２０５は、ヒストグラム生成部５２２０にこのタイル座標を渡す。
【０２７９】
ＨＳＶ変換部５２１０は、画像の画素データを受信し、（例えば、ＲＧＢ空間から）ＨＳＶ色空間に各画素を変換する。当業者は、異なる実施形態が、ＲＧＢからＨＳＶへの変換の異なるバージョンを使用してもよいし、全く異なる色空間を使用してもよいことを認識するであろう。ＨＳＶ変換部は、ヒストグラム生成部５２２０に、画像の各画素に対するこの色空間データを渡す。
【０２８０】
強度計算部５２１５は、画像の画素データを受信し、画素毎の強度値を算出する。ＨＳＶ変換部と同様に、異なる実施形態は、ＲＧＢ画素値から強度を導出するために別の計算を使用することができる。強度計算部５２１５は、テクスチャ計算部５２２０と勾配計算部５２２５とにこの強度データを提供する。
【０２８１】
テクスチャ計算部５２２０は、（例えば、上述のテクスチャアルゴリズム、または異なるプロセスを使用して）各画素に対するテクスチャ値を算出し、ヒストグラム生成部５２２０にこれらの値を提供する。勾配計算部５２２５は、（例えば、上述した勾配アルゴリズム、または異なるプロセスを使用して）各画素について勾配値を算出し、ヒストグラム生成部５２２０に勾配値を提供する。
【０２８２】
ヒストグラム生成部５２２０は、画像タイル化部５２０５から受信したタイルの各々のヒストグラムを生成するために色データ、テクスチャ値、および勾配値を用いる。ヒストグラム生成部５２２０は、例えば、各画素に対するテクスチャ値を受信する。特定の画素のために、ヒストグラム生成部は画素が属する（２つ以上の可能性もある）タイルを画素座標に基づいて識別する。生成部はその後、１つ以上のタイルのためのヒストグラムの適切なビンにテクスチャ値を追加する。ヒストグラム生成部５２２０は画像について画像データ５２８０にこれらのヒストグラムを格納する。
【０２８３】
類似度比較部５２５０は、ユーザが選択した特定の画像に類似する画像を識別する。図示のように、類似度比較部５２５０は、比較スコア生成部５２５５および閾値チェック部５２６０を含む。ユーザが特定の画像に対する類似画像を要求すると、類似度比較部５２５０は、コレクションデータ５２８５から画像のリスト（例えば、特定のコレクション内の画像のリスト）を受信する。類似度比較部５２５０は、画像のためのヒストグラムを取得し、画像の各ペアに対して１つ以上の比較スコアを算出する。
【０２８４】
閾値チェック部５２６０は、比較スコアを受信し、画像の各ペアが類似画像として適格であるかを判定する。閾値チェック部は、上述したように、異なるスコア（いくつかの実施形態では、２７個の異なる比較スコアがある）に対して様々な異なるチェックを行うことができる。閾値チェック部５２６０は、ＧＵＩのための特定の画像の選択を管理する画像選択部５２７５に類似画像のリストを出力する。
【０２８５】
Ｂ．複数の画像のユーザ選択
上述したように、いくつかの実施形態は、選択画像を同時に表示するために複数の画像を選択するための様々な他の方法を提供する。例えば、アプリケーションは、マルチタッチ可能デバイス（すなわち、タッチスクリーン、タッチパッド等との複数の異なる接触点を認識できるデバイス）上で動作し、サムネイル表示領域上のマルチタッチ入力をサムネイルのブロック選択に変換することができる。さらに、いくつかの実施形態では、選択画像のセットにサムネイルを追加するために、ユーザはサムネイルを長押しすることができる。
【０２８６】
図５３は画像表示領域内のサムネイルのブロックを選択するためのいくつかの実施形態のプロセス５３００を概念的に示す。いくつかの実施形態において、アプリケーションは、このブロックを選択するために、マルチタッチ選択を受信する。図５３は、サムネイルのこのようなブロックの選択の例を示す図５４および５５を参照して説明される。これらの図の両方は上述のＧＵＩ内の対応する表示領域と同様のサムネイル表示領域５４０５と画像表示領域５４１５とを含むＧＵＩ５４００の３つの段階を示す。図５４の第１の段階５４１０と図５５の第１の段階５５１０との両方は画像が選択されていないＧＵＩ５４００を示している。
【０２８７】
図示のように、プロセス５３００は（５３０５で）サムネイル表示領域内に２つの別々で少なくとも一部が同時に起きた選択を受信することによって開始する。アプリケーションは、マルチタッチ入力を変換することができるデバイスのタッチスクリーンから、これらの選択を受けることができる。例えば、ユーザは、サムネイル表示領域における２つの別々のサムネイルを２本の指で押し付けてもよい。ユーザが２本の指でぴったり同時にタッチスクリーンに最初の接触をする可能性は低いので、いくつかの実施形態では、入力が部分的に同時であることのみを必要とする。
【０２８８】
プロセスはその後（５３１０で）サムネイル表示領域内の第１のタッチ選択に関連する第１のサムネイルおよび（５３１５で）第２のタッチ選択に関連する第２のサムネイルを識別する。いくつかの実施形態は、サムネイルが表示領域をスクロールすると変化する、特定の二次元配列に各サムネイルを関連付ける。ユーザがサムネイルグリッド上に画面にタッチすると、このタッチ入力は、画素値のセット（例えば、特定の半径を有する円、特定の辺の長さの正方形など）に変換される。その後、アプリケーションは、ユーザが選択したサムネイルを決定するために、これらの画素値をサムネイルの画素値と比較する。いくつかの実施形態では、タッチ入力画素の最大の部分に対応するサムネイル画像を識別する。
【０２８９】
図５４の第２の段階５４２０は、ユーザが人差し指で第１のサムネイル５４２５をタップし、親指で第２のサムネイル５４３５をタップすることを示す。左上のサムネイルがコレクション内の最初の画像を表していると仮定すると、これらは、順序付けられた画像のコレクションの３番目のサムネイルおよび８番目のサムネイルである。図５５の第２の段階５５２０において、ユーザは、第１のサムネイル５５０５（順序付けられたコレクション内の４番目のサムネイル）と、同じ第２のサムネイル５４３５とをタップする。
【０２９０】
選択のための境界サムネイルが識別された後に、プロセス５３００は（５３２０で）第１のサムネイルが表示領域において第２のサムネイルよりも前にあるかを判断する。順序はコレクションデータ構造（例えば、サムネイルを格納する画像データ構造への参照の配列インデックス）における順序値から決定されてもよく、またはサムネイルが表示される画面の画素から相対的な順序が導出されてもよい。
【０２９１】
いくつかの実施形態では、受信した第１の入力を第１のサムネイルとして使用し、受信した第２の入力を第２のサムネイルとして使用する。しかし、適切に選択を定義するために、アプリケーションは、第１のサムネイルが第２のサムネイルの前の順番に来ることを必要とする。このように、第１のサムネイルが第２のサムネイルの後である場合、プロセスは（５３２５で）第１のサムネイルが前の順番になるように第１のサムネイルと第２のサムネイルとを入れ替える。
【０２９２】
次に、プロセスは（５３３０で）グリッド内で第１のサムネイルから第２のサムネイルまでのサムネイルを有するすべての画像を選択する。例えば、図５４では、３番目のサムネイルが第１のサムネイルであり、８番目のサムネイルが第２のサムネイルである。このように、３番目から８番目のサムネイルのすべてが、このユーザの動作によって選択される。同様に、図５５では、４番目から８番目のサムネイルが選択される。
【０２９３】
プロセスは、その後に、選択サムネイル上に選択インジケータを（５３３５で）表示する。いくつかの実施形態は、選択サムネイルが二次選択画像（すなわち、いくつかの選択画像のうちの１つ）に対応するか、一次選択画像（すなわち、画像表示領域に示す唯一の画像であるアクティブな画像）に対応するかを示すために２つの異なる形式の選択インジケータを使用する。
【０２９４】
したがって、プロセス５３００はまた、（５３４０で）、画像表示領域に選択画像を表示する。複数の画像がプロセス５３００でブロック状に選択された場合、いくつかの実施形態では、画像表示領域内にすべての画像を必ず表示する。いくつかの実施形態において、アプリケーションは、各画像についてほぼ同数の画素を使用することによって、同じ視覚的重み付けを使用してすべての画像を表示する。理想的な表示を識別するためのいくつかの実施形態のプロセスが、このセクションのサブセクションＣで以下に説明される。
【０２９５】
図５４の第３の段階５４３０および図５５の５５３０は、それぞれのマルチタッチのブロック選択の結果の表示を示している。段階５４３０で、サムネイル５４２５から５４３５までの６つのサムネイルすべてが薄いハイライトで表示されている。さらに、アプリケーションは、画像表示領域に６つの画像を等しいサイズで表示する。段階５５３０は１つだけ少なくサムネイルを選択した状態で同じ結果を示している。アプリケーションが画像表示領域５４１５に５つの画像のみを表示するので、画像のうちの２つは下の行に沿って中央に表示されるが、上の行に沿って表示される他の画像と同じサイズを有する。これら２つの画像から明らかなように、いくつかの実施形態では、サムネイルがサムネイル表示領域に示された順序で（この順序は、画像がコレクションデータ構造に格納されている順序である）、画像表示領域に画像を表示する。
【０２９６】
マルチタッチのブロック選択に加えて、いくつかの実施形態では、ユーザは、選択画像のグループのうちの１つとしてサムネイルを選択するためにサムネイルを長押しできる。ユーザが単にサムネイルをタップすると、対応する画像が唯一の選択画像となる。一方、ユーザが入力の押しを維持しているとき（例えば、閾値期間、タッチスクリーン上に押し付けると）、アプリケーションは、以前に選択した画像の選択を維持し、選択画像のセットにサムネイルを追加する。
【０２９７】
図５６は、選択されていないサムネイル上のユーザ入力をサムネイルの選択に変換するためのいくつかの実施形態のプロセス５６００を概念的に示す。また、ユーザは、（一次選択であっても二次選択であってもよい）すでに選択されたサムネイルをタップ又は長押ししてもよく、これらの入力は、図６６を参照して以下に説明される。さらに、このプロセスはタッチスクリーン入力に対する応答として記載されているが、当業者は、いくつかの実施形態では、非タッチスクリーン入力（例えば、タップの代わりにマウスクリック、およびタッチスクリーン上の長押しの代わりにマウスボタンの長押し）に対して同様のプロセスを実装することを認識するであろう。図５６は、６つの段階５７１０〜５７６０にわたってＧＵＩ５４００における様々な選択入力を示す図５７を参照して説明される。
【０２９８】
図示のように、プロセス５６００は（５６０５において）、選択されていないサムネイル上に、サムネイル表示領域内のシングルタッチ入力を受信することによって開始する。いくつかの実施形態では、アプリケーションは、サムネイル表示領域上のすべての入力を解決するための単一プロセスを有する。他の実施形態では、アプリケーションは、入力タイプ（例えば、タップ、ホールド、スワイプなど）および画面位置を与える形態でタッチスクリーンデバイスからマルチタッチ情報を受信する。その後、アプリケーションは、実行するアクション（例えば、項目の選択、表示領域のスライド、編集の実行など）に、このイベント（入力と位置）を、現在の状態に基づいて解決する。しかし、この概念的なプロセスは、サムネイル表示領域における選択されていないサムネイルの上へのシングルタッチ入力（すなわち、タップやホールドのいずれか）の受信のみを扱っている。
【０２９９】
プロセスはその後（５６１０で）タッチ入力に関連付けられている選択されていないサムネイルを識別する。図５３を参照して上述したように、いくつかの実施形態は、サムネイルが表示領域をスクロールして通ると変化する画面の画素の特定の二次元配列に各サムネイルを関連付ける。ユーザがサムネイルグリッド上で画面にタッチすると、このタッチ入力は、画素値のセット（例えば、特定の半径を有する円、特定の辺の長さを有する正方形など）に変換される。その後、アプリケーションは、ユーザがどのサムネイルを選択したかを決定するために、これらの画素値をサムネイルの画素値と比較する。いくつかの実施形態では、タッチ入力画素の最大の部分に対応するサムネイル画像を識別する。
【０３００】
その後、プロセスは（５６１５において）入力がタッチスクリーンから除去されたかを判定する。この概念的なプロセスでは、タッチスクリーンの特定部分がタッチ入力を受信しているという基本データをタッチスクリーンデバイスがアプリケーションに提供する間に、アプリケーションは、タップとホールドとのどちらであるかの判定を保留する。上述したように、いくつかの実施形態では、タップとホールドとの間の差は、デバイスレベルで（例えば、デバイスのオペレーティングシステム内のフレームワークによって）行われ、アプリケーションはこれらの異なる入力を対処するためのいくつかの異なるイベント駆動型プロセスを実際に有する。
【０３０１】
入力がまだタッチスクリーンから除去されていないとき、プロセスは入力が閾値期間の間、存在しているかを（５６２０において）判定する。この期間は、入力がタップではなく長押しとして認められるためにユーザがタッチスクリーンとの接触を維持しなければならない時間の長さである。ホールドの閾値期間にまだ達していない場合、アプリケーションは５６１５に戻る。本質的に、これら２つの動作はタップ（閾値時間に達する前にユーザがタッチスクリーンから入力を除去したとプロセスが判定した場合）およびホールド（入力がまだ存在するときに期間に達した場合）との間の判定を形成する。上述のように、いくつかの実施形態では、アプリケーションが動作するデバイスのフレームワークからの判定を受信する。
【０３０２】
閾値期間の前にタッチスクリーンから入力が除去された場合、プロセスは（５６２５で）識別されたサムネイルを選択し、（５６３０で）他のサムネイルの選択を除去する。つまり、アプリケーションは識別されたサムネイルを唯一の選択サムネイルとする。その後、プロセスは（５６３５において）サムネイルに関連付けられた画像を画像表示領域に唯一の画像として表示する。その後、プロセスは終了する。
【０３０３】
図５７の第１の段階５７１０は、画像表示領域５４１５に第１の画像が表示され、それに対応するサムネイル５７０５が一次選択としてハイライトされているＧＵＩ５４００を示している。図示のように、この段階で、ユーザは、タップ入力でサムネイル５７１５を選択する。第２の段階５７２０は、このタップ選択の結果として、アプリケーションは一次選択としてサムネイル５７１５をハイライトし、サムネイル５７０５がもはやハイライトされていないことを示している。また、サムネイル５７１５に対応する画像５７１７は、これが唯一の選択画像であるため、画像表示領域５４１５に表示される。
【０３０４】
図５６に戻り、閾値期間の間、サムネイルの上に入力が存在する場合、アプリケーションは、（５６４０において）識別されたサムネイルを選択する。その後、アプリケーションは（５６４５で）、サムネイルに関連付けられた画像を、他の選択した画像と一緒に表示する。すなわち、１つ以上の画像が既に選択されていてもよく、アプリケーションはこれらのすべての画像を画像表示領域に表示する。その後、プロセスは終了する。
【０３０５】
第２の段階５７２０は、（概念的に、ＧＵＩの一部ではない小さな時計アイコンで示される）長押し選択でサムネイル５７２５を選択するユーザを示す。その結果、第３の段階５７３０でアプリケーションは画像５７１７と（サムネイル５７２５に対応する）画像５７２７との両方を表示する。さらに、サムネイル５７１５およびサムネイル５７２５の両方は、選択されているとしてハイライトされている。しかし、アプリケーションは、これらのサムネイルの両方が二次選択であり、および、現時点では一次選択が存在しないことを示すために、より細い選択指標ハイライトを使用する。以下のサブセクションＣで説明するように、２つの画像５７１７及び５７２７は、アスペクト比を維持し（すなわち、画像を歪ませることまたはトリミングすることなく）、画像サイズを最大化するような方法で表示されている。
【０３０６】
第３の段階５７３０は、ユーザが今度はサムネイル５７３５上で再び長押し選択を実行することを示している。段階５７４０において、アプリケーションは、必要に応じて表示領域における他の画像を再配置して、画像表示領域に画像５７３７を追加する。さらに、サムネイル５７３５は現在、他の２つのサムネイルと同様に二次選択のハイライトでハイライトされている。
【０３０７】
さらに、ユーザは、この段階でマルチタッチのブロック選択を行い、サムネイル５７４５及び５７５５をタップする。段階５７５０に示されるように、これは、２つのタップされたサムネイルに加えて、サムネイル５７６５の選択を引き起こす。結果として、段階５７５０で、６つのサムネイルが現在、より細い選択指標でハイライトされ、対応する６つの画像が画像表示領域に表示される。同じ視覚的重み付きで表示領域に６つの画像を収めるために、前の段階に比べて、アプリケーションは、これらの画像の大きさを減少している。
【０３０８】
段階５７５０で、ユーザは選択されていないサムネイル５７７５をタップする。段階５７６０はこの選択の結果を示し、画像５７７７が画像表示領域に独自に表示される。他の６つのサムネイルの選択は除去され、アプリケーションはサムネイル５７７５に、より太い選択指標ハイライト表示している。
【０３０９】
図５８は、いくつかの実施形態の携帯電話およびメディアプレーヤＧＵＩ１７００における選択操作の同様のセットを示す。第１の段階５８１０はサムネイル５８０５のタップ選択をユーザが行うことを示し、表示領域１７１５内の対応する画像の表示をもたらす。第２の段階５８２０は、対応する画像がその後に画像表示領域に追加されるようにするためのサムネイル５８１５の長押し選択を示す。次に、ユーザはこれらのサムネイル画像に対応する画像およびそれらの間のサムネイル５８４５がすべて画面表示領域に追加されるようにするために、サムネイル５８２５及び５８３５の同時タップ選択を行う。
【０３１０】
Ｃ．複数の画像を表示
上記のサブセクションは、画像表示領域における同時表示のために複数の画像を選択するための、いくつかの実施形態で使用可能な異なる動作を説明した。簡単に説明したように、画像表示領域に複数の画像を表示する際に、いくつかの実施形態は、各画像のアスペクト比を維持しながら、各画像に同じ視覚的重み（例えば、画面の画素数）を与える。
【０３１１】
図５９は画像表示領域内で同時に複数の画像を表示するためのいくつかの実施形態のプロセス５９００を概念的に示す。図５９は、異なるアスペクト比を有する４つの画像を同じ視覚的な重み付けで表示するためのいくつかの実施形態によって実行される計算の概念図である図６０〜図６５を参照して説明される。
【０３１２】
図示のように、プロセス５９００は、画像表示領域に表示するＮ個の画像を（５９０５で）受信することから始まる。この場合、Ｎは、非ゼロの正の整数（すなわち、１、２、３等）である。単一の画像のみがある場合に、いくつかの実施形態では、プロセスはフルサイズで１つの画像を表示する正しい結果を提供するが、プロセス５９００を実行しない。これらの画像は、上記のサブセクションで説明したユーザインタラクション（例えば、ブロック選択、類似画像を識別するための要求、または複数の画像の選択および表示をもたらす他の選択）のいずれかを介して受信することができ、本明細書に記載されていない他の任意のインタラクションであってもよい。
【０３１３】
図６０は、４つのサムネイルのブロック選択をユーザが行うＧＵＩ６０００を示している。ＧＵＩ６０００は、拡大図に４：３のアスペクト比を有するように示されている画像表示領域６００５を含む。いくつかの実施形態では、画像表示領域は、ＧＵＩが表示されるデバイスの表示画面の解像度及び画面アスペクト比、サムネイルの表示領域のサイズ、他のＧＵＩの領域が画面の一部を占有するか等に応じて、サイズ（すなわち、画素数）及びアスペクト比が変わる。
【０３１４】
画像表示領域に画像を表示するためのコマンドを受信すると、プロセスは（５９１０において）受信された画像の平均アスペクト比を算出する。この平均アスペクト比は、画像が収まる先となる画像表示領域内の領域のセットのアスペクト比として使用される。図６１に示すように、４つの選択画像６１０５〜６１２０は、４：３、３：４、１６：９、および４：３のアスペクト比を有する。画像６１０５及び６１２０は同じアスペクト比を有するが、異なるサイズである。多くの場合、特に複数の画像が表示される場合、すべての画像は、利用可能な画面の画素数よりも高い解像度（すなわち、定義された画素数）を有する。したがって、各画像に画面のより小さい部分が割り当てられる。画像６１０５〜６１２０の平均アスペクト比は、領域６１２５によって示されるように、［（４／３）＋（３／４）＋（１６／９）＋（４／３）］／４＝１８７／１４４である。
【０３１５】
プロセス５９００はその後、（５９１５において）算出された平均アスペクト比を有する少なくともＮ個の画像のために、画像ごとの画面領域を最大化する行数及び列数に画像表示領域を分割する。表示領域はすべて同じ寸法を有するため、領域に最も効率的に詰める方法は、グリッド形態にすることである。よって、５つの画像がある場合、領域のグリッドは３×２のグリッド、２×３のグリッド、または画像が極端に長くされている場合は１×５または５×１のグリッドであってもよい。
【０３１６】
最適解を識別するために、いくつかの実施形態では、平均アスペクト比を有する領域当たりの最大可能領域を与える組み合わせを決定するために、Ｎ個の画像を保持するために使用可能な行／列の組み合わせの空間をテストする。いくつかの実施形態は、１つの列から始まり、表示する画像の数まで反復する（しかし、いくつかの実施形態では、列数に上限を設ける）。
【０３１７】
特定の列数に対して、アプリケーションはすべての画像を表示するために必要な行数を決定する。例えば、３つの列と５つの画像との場合、領域の１つが使用されないが、２つの行が必要である。その後、アプリケーションは、閲覧領域の合計の幅を（場合によっては、表示における画像間に少なくとも小さな隙間があることを確保するために定数を減算した）列数で割ったものとして、特定の列数および行数のための最大の大きさの領域の幅を算出する。また、アプリケーションは、閲覧領域の高さの合計を（やはり、場合によっては、定数を減算した）行数で割ったものとして、最大サイズの領域の高さを算出する。アプリケーションはその後、この最大領域内に収まる平均アスペクト比を有する領域の寸法を決定する。使用される列数は、この領域の面積を最大にするものである。
【０３１８】
図６２は、４：３の画像表示領域６００５内の１８７：１４４のアスペクト比領域６１２５のための理想的な列数は２であり、そして２行であることを示している。実際には、１８７：１４４は４：３に非常に近いため、このグリッドはほぼ領域全体を埋める。
【０３１９】
次に、アプリケーションは（５９２０において）、行数および列数に基づいて画像の各々に使用可能な領域を算出する。この算出は、いくつかの実施形態では、前の段落で説明したように、動作５９１５の行数と列数を決定するために使用される最大サイズの領域である。この例では、この領域は画像表示領域６００５内の領域６１２５の領域である。
【０３２０】
その後、アプリケーションは（５９２５で）利用できる領域に収めるときに、最小の面積を有する画像（すなわち、グリッド領域のサイズ）を識別する。これは、一般的に平均アスペクト比から最大限に異なるアスペクト比を有する画像となる。いくつかの実施形態では、この画像を識別するために、アプリケーションは、画像のアスペクト比を維持し、グリッド領域内に画像全体を収めるために、各画像の高さと幅を算出する。平均よりも大きいアスペクト比を有する画像について、幅はグリッド領域に等しく、高さはグリッド領域よりも減らされている。平均よりも小さいアスペクト比を有する画像について、高さはグリッド領域に等しく、幅はグリッド領域よりも減らされている。
【０３２１】
図６３は、グリッド領域６１２５内の異なるアスペクト比の画像を示す。４：３の画像６１０５は、グリッド領域の９７％を占め（および別の４：３画像６１２０は、同じ部分を占め）、１６：９の画像６１１５は、グリッド領域の７３％を占め、３：４の画像６１１０はグリッド領域の５８％を占める。よって、画像６１１０は、グリッド領域に収める際の最小の面積を有するものとして識別される。従って、各画像が同じ画素数を使用するために、各画像はグリッド領域の面積の５８％を占める。
【０３２２】
その後、プロセスは（５９３０において）、アスペクト比を維持し、動作５９２５で決定された最小の面積を有する画像と同じ面積をグリッド領域内で使用するために、各画像の幅と高さを算出する。特定の画像について、いくつかの実施形態は、最小面積と画像のアスペクト比との積の平方根として幅を計算する。その後、特定の画像の高さは、幅をアスペクト比で割ったものとして算出される。
【０３２３】
図６４は、画像６１１０と同じ領域を画像表示領域内に占めるように収める際の、画像６１０５（これは画像６１２０と同じサイズである）と画像６１１５の大きさを示している。これらの画像の両方は、領域６１２５の５８％のみを占めるように縮小されている。例示の数値を使用すると、領域６１２５が３７４画素の幅と２８８画素の高さを有する場合、表示用の画像６１０５のサイズは、約２８８画素×２１６画素である。画像６１１５の大きさは約３３３画素×１８７画素になる。図６３に示す画像６１１０のサイズは、約２１６画素×２８８画素である。
【０３２４】
プロセス５９００は（５９３５で）画像をそれぞれ表示領域における自身の領域に割り当てる。アプリケーションは、いくつかの実施形態では、画像を順番（例えば、コレクション内での順序によって決定されるサムネイル表示領域内での画像の順番）にとり、これをグリッド領域に割り当てる。また、最後の行のグリッド領域の一部が使用されない場合、アプリケーションは、これらのグリッド領域を除去し、一番下の行のグリッド領域を中心に配置する。
【０３２５】
最後に、プロセスは（５９４０において）画像表示領域内に画像を割り当てられたサイズで割り当てられた領域に表示する。図６５は、画像表示領域６００５内に表示された画像６１０５〜６１２０を示している。示されるように、それら各々が同じ画素数を有しているので、（例えば、人間の観察者にとって）画像がすべて同じ大きさに見える。これによって、画像が単に他の画像よりも大きいために、画像の比較でより好ましく見えることがないことという有益な結果が得られる。複数の画像の表示機能の一般的な用途は、ユーザが同じシーンの複数の写真のどれをキープするかを判定することであるから、画像が同じサイズに見えることはユーザに大きなメリットを提供する。
【０３２６】
Ｖ．１つ以上の画像に対する操作
上記セクションＩＶは、選択画像のグループに対応する画像を追加するために類似する画像のグループを自動的に識別すること、サムネイルのブロック選択、およびサムネイルを長押しすることを含む、１つ以上の画像を選択するためのいくつかの実施形態で使用可能な様々な技術を記載する。次のセクションでは、画像にタグを付けるため、選択範囲内の画像を巡回するため、並びに個々の画像を選択し、選択解除するために使用され得る様々な動作を説明する。
【０３２７】
Ａ．選択動作と選択解除動作
図６６は、画像の選択／選択解除および選択した画像の閲覧に関連するいくつかの実施形態のＧＵＩの異なる状態とこれらの状態間での移行とを説明する状態図６６００を概念的に示す。当業者は、いくつかの実施形態のＧＵＩは、入力イベントのすべての異なるタイプに関連する多くの異なる状態を有することを認識するであろうし、状態図６６００は、これらのイベントの一部に特に注目することを認識するだろう。状態図６６００は、様々な選択動作および選択解除動作を説明する図６７〜図７１を部分的に参照して説明される。状態図６６００、ならびに付随する図面は、ＧＵＩの状態を変更するためのタッチインタラクションを説明し、示している。当業者は、カーソルコントローラのジェスチャ、ボタンのクリック、キーボード入力、またはタッチパッド／トラックパッド入力などの、他の様々なインタラクションも、同様の選択操作に使用され得ることを認識するであろう。同図中では、移行条件の多くは、ユーザインタラクション（例えば、「左スワイプ」）として示されている。当業者は、状態移行は画像閲覧および編集アプリケーションによるこのようなユーザ入力の受信に応答して発生することを認識するであろう。
【０３２８】
１つの画像のみが選択されると、ＧＵＩは状態６６０５にあり、画像表示領域内に単一の選択画像を表示し、対応するサムネイル上に一次選択インジケータを表示する。前のセクションで示したように、いくつかの実施形態は、１つの画像のみが画像表示領域に表示された場合を示すためにサムネイルに一次選択インジケータを使用し、サムネイルが複数の選択画像の１つである場合を示すためにサムネイルに二次選択インジケータを使用する。いくつかの実施形態では、両方の選択インジケータはサムネイルの境界の周りのハイライトであり、一次選択インジケータは二次選択インジケータよりも強いハイライトである。
【０３２９】
１つの画像を選択した際、ユーザは選択されていないサムネイルをタップすることにより別の画像を選択することができる。ユーザが選択されていないサムネイル（この場合、表示している画像に対応するもの以外のサムネイル）をタップすると、アプリケーションは新たな選択画像としてタップされたサムネイル（およびそれに対応する画像）を設定するために状態６６０７に移行し、その後、状態６６０５に戻るように移行する。また、ユーザは、左右のスワイプジェスチャで画像を巡回することができる。アプリケーションが右方向のスワイプジェスチャを受信した場合、図示のように、アプリケーションは新たな選択画像としてコレクション内の前の画像を設定するために状態６６０８に移行する。同様に、アプリケーションが左方向のスワイプジェスチャを受信した場合、新たな選択画像としてコレクション内の次の画像を設定するために状態６６０９に移行する。いずれかのそのような変更の後、アプリケーションは状態６６０５に戻るように移行し、画像表示領域に新しい選択画像が表示される。これらのスワイプジェスチャのいずれかを受信すると、いくつかの実施形態は、以前の選択画像がディスプレイの外へスライドし、新しい選択画像がディスプレイ上に（左方向のジェスチャの場合は右側から、右方向のジェスチャの場合は左側から）スライドすることを表示するためにスライドアニメーションを使用する。他の実施形態は、画像の変化を示すために他のアニメーションを使用するか、またはアニメーションなしに画像表示領域内の画像を単に置き換える。図３３は、コレクション内の画像を巡回するためのこのようなスワイプジェスチャの例を示している。
【０３３０】
ＧＵＩが状態６６０５であると、ユーザは、画像表示領域に１つ以上の画像を加えることができる。これらは、（例えば、選択されていない画像に類似したすべての画像を表示するためにユーザがその選択されていない画像上をダブルタップした場合に）現在の選択画像を交換したり、または（例えば、ユーザがサムネイル上を長押しした場合に）現在の選択画像に追加したりすることができる。プレビュー表示領域に１つ以上の画像を追加するために、ユーザがこれらの操作のいずれかを行うと、ＧＵＩは状態６６１０に移行し、画像表示領域内に複数の選択画像を表示し、対応するサムネイル上に二次選択インジケータを表示する。このような移行の多数の例が上記セクションに示されている（例えば、図４４、５４、５５、および５７）。
【０３３１】
（複数の画像が選択および表示された）状態６６１０になると、ユーザが選択されていないサムネイルをタップした場合、その後ＧＵＩは、図５７の段階５７５０および５７６０に示すように、タップされたサムネイルを唯一の選択画像として設定するために状態６６０７に移行し、その後に状態６６０５に戻る。また、状態６６１０にある間に、ユーザはサムネイル表示領域内のサムネイルのいずれかを長押しすることができる。特定のサムネイルが以前に選択されたサムネイルの１つである場合に、アプリケーションは、選択サムネイルのセットから特定のサムネイルを削除するために、状態６６１５に移行する。１つのサムネイルのみが選択したままであれば、ＧＵＩはその１つの選択画像だけを表示するために状態６６０５に移行する。それ以外の場合、ＧＵＩは、もはや特定のサムネイルを含まない選択画像を表示するために状態６６１０に戻るように移行する。さらに、ユーザが画像表示領域内の特定の画像上で下方向のスワイプジェスチャを実行した場合に、これは選択されたセットから特定の画像を除去するのと同じ効果を有する。一方、特定のサムネイルが現在選択されていない場合、前のセクションに示すように、アプリケーションは、現在の選択画像のセットに、サムネイルに対応する画像を追加するために、状態６６１７に移行し、その後、６６１０に戻り、画像表示領域に追加の画像が示される。図５７の段階５７３０と５７４０は、このような動作を示す。
【０３３２】
さらに、ユーザが選択サムネイルの１つ又は画像表示領域に表示された画像の１つをタップすると、ＧＵＩは状態６６１０から状態６６２０に移行する。状態６６２０で、アプリケーションはプレビュー領域内に単一のアクティブな画像を表示し、それに対応するサムネイル上に一次選択インジケータがあり、その他の選択画像に対応するサムネイル上に二次選択インジケータがある。図６７は、ＧＵＩ６７００の２つの段階６７１０と６７２０にわたるこの移行を示している。ＧＵＩ６７００は、サムネイル表示領域６７０５と画像表示領域６７１５とを含む。第１の段階６７１０において、ＧＵＩは、画像表示領域６７１５に３つの画像６７２５〜６７３５を表示し、対応するサムネイル６７４０〜６７５０サがムネイル表示領域６７０５でハイライトされる。
【０３３３】
また、第１の段階６７１０において、ユーザは画像６７３０をタップする。第２の段階６７２０は、このインタラクションの結果を示し、画像６７３０は画像表示領域６７１５の全体を占める。さらに、画像６７３０に対応するサムネイル６７４５は、現時点でサムネイル６７４０と６７５０よりも強いハイライトで囲まれている。いくつかの実施形態は、この移行をアニメーション化する。例えば、いくつかの実施形態において、アプリケーションは、画像が少なくとも一方向に、表示された複数の画像の中の位置から画像表示領域の全体を使用する大きな画像になるように拡大することを表示する。さらに、図６７の第２の段階６７２０は、画像表示領域のほぼ全体を占める画像６７３０を示しているが、いくつかの実施形態では、アプリケーションは、一次表示画像の背後にある他の選択画像の色あせた、暗いバージョンを表示する。（例えば、画像と表示領域のアスペクト比の違いにより）一次表示画像が画像表示領域の一部を占有しない場合に、他の選択画像（の色あせた、暗い形態）の一部がディスプレイで可視である。
【０３３４】
以下の説明では、一次選択画像はアクティブ画像と呼ばれ、選択範囲内のすべての画像は、一次選択であるか二次選択の１つであるかに関わらず選択されたものと呼ばれる。ＧＵＩが状態６６２０にあると、（例えば、セットのベストを識別するために様々な写真を比較する場合に）ユーザは画像を巡回するためにさまざまな操作を行うことができる。アプリケーションは、図示のように、画像表示領域上に右スワイプジェスチャを受信すると、ＧＵＩは、コレクションの順序における以前の選択画像を新しいアクティブ画像として設定するために状態６６２５に移行し、その後新しいアクティブ画像を表示するために状態６６２０に戻るように移行する。いくつかの実施形態は、この移行をアニメーション化し、例えば、新しいアクティブ画像をより大きな表示に拡大しながら以前のアクティブ画像を画像表示領域内での位置（すなわち、すべての選択画像を一度に表示する場合に当該画像が占める場所）に戻るように最小化する。
【０３３５】
他の実施形態は、スライドアニメーションの様々な形態を使用する。いくつかの実施形態では、アプリケーションは、以前のアクティブ画像をディスプレイの外にスライドさせながら、ディスプレイ上に、この新しいアクティブ画像をスライドする。他の実施形態では、以前の画像が外へスライドすると画像のより多くが見えてくるように、新しいアクティブ画像は以前のアクティブ画像の下にあるように見える。さらなる実施形態は、古いアクティブ画像の上に新しいアクティブ画像をディスプレイでスライドさせる。いくつかの実施形態では、アプリケーションがこの移行をどのように表示するかの選択は、ユーザに任されている。
【０３３６】
図６８は、５つの段階６８１０〜６８５０にわたってユーザインタフェース６７００におけるこのような一連の右方向のスワイプジェスチャを示している。第１の段階６８１０は、図６７の段階６７２０と同じ状態のＧＵＩ６７００を示している。図示のように、ユーザは、１つの指でタッチスクリーンに接触し始めている。次の段階６８２０で、ユーザは、画像６７３０を画面の右側から外にスライドさせ、下にある画像６７２５を見せるように、右に指をスイープし始めている。このスワイプジェスチャの結果が段階６８３０で示され、現時点で画像表示領域６７１５に画像６７２５が表示されている。さらに、対応するサムネイル６７４０は現時点で、一次選択を示す太いハイライトで囲まれ、他の選択サムネイルは細いハイライトで囲まれている。
【０３３７】
また、この段階で、ユーザは再度タッチスクリーンに接触し、第４の段階６８４０は、ユーザが右に別のスワイプジェスチャを行うことを示している。これは、画面の右側から外へ画像６７２５をスライドさせ、下の画像６７３５を見えるようにする。このスワイプジェスチャの結果が段階６８５０で示され、現時点で画像表示領域６７１５に画像６７３５が表示されている。さらに、現時点で、対応するサムネイル６７５０が一次選択インジケータの太いハイライトで囲まれ、他の選択サムネイルが細いハイライトで囲まれている。
【０３３８】
右スワイプジェスチャと同様に、アプリケーションが状態６６２０にあり、画像表示領域上で左スワイプジェスチャを受信したときに、ＧＵＩはコレクション順序内の次の選択画像を新しいアクティブ画像として設定するために状態６６３０に移行し、その後新しいアクティブ画像を表示するために状態６６２０に戻って移行する。いくつかの実施形態は、この移行をアニメーション化する、例えば、新しいアクティブ画像を大きな表示に拡大しながら、以前のアクティブ画像を画像表示領域内での位置（すなわち、すべての選択画像が一度に表示される場合に画像が占める場所）に戻るように最小化する。
【０３３９】
他の実施形態は、スライドアニメーションの様々な形態を使用する。いくつかの実施形態では、アプリケーションは、以前のアクティブ画像をディスプレイの外にスライドさせながら、ディスプレイ上に、この新しいアクティブ画像をスライドする。他の実施形態では、以前の画像が外へスライドすると画像のより多くが見えてくるように、新しいアクティブ画像は以前のアクティブ画像の下にあるように見える。さらなる実施形態は、古いアクティブ画像の上に新しいアクティブ画像をディスプレイでスライドさせる。いくつかの実施形態では、アプリケーションがこの画像の巡回をどのように表示するかの選択は、ユーザに任されている。
【０３４０】
図６９は、３つの段階６９１０〜６９３０にわたってＧＵＩ６７００におけるこのような左方向のスワイプジェスチャを示している。第１の段階６９１０は図６８の段階６８５０と同じ状態であるＧＵＩ６７００を示しており、アクティブ画像として画像６７３５が画像表示領域にあり、対応するサムネイル６７５０が太いハイライトで選択されている。図示のように、ユーザは、１つの指でタッチスクリーンに接触し始めている。次の段階６９２０で、ユーザは、画像６７３５を画面の左側から外へスライドさせ、下の画像６７２５が見えるようにさせるように、左に指をスイープし始めている。このスワイプジェスチャの結果が段階６９３０に示され、現段階で画像表示領域６７１５に画像６７２５が表示されている。さらに、現段階で、対応するサムネイル６７４０が一次選択を示す太いハイライトで囲まれ、他の選択サムネイルが細いハイライトで囲まれている。
【０３４１】
これらの図面が示すように、いくつかの実施形態ではアプリケーションは、選択画像のセットをユーザが巡回することを可能にし、この巡回はユーザがセットの終わりに到達すると一方向のスワイプジェスチャを防ぐのではなく、セット内の最後の画像からセット内の最初の画像にスワイプをすることを含む。
【０３４２】
ユーザの右および左へのスワイプに応じて選択画像のセットを巡回することに加えて、いくつかの実施形態ではまた、ユーザはスワイプジェスチャを介してセットから画像を削除することができる。状態図６６００に示すように、アプリケーションが状態６６２０にある間に下方向のスワイプジェスチャを受信すると、ＧＵＩは選択画像のセットからアクティブ画像を削除し、選択画像のセット内の次の画像を新しいアクティブ画像として設定するために状態６６３５に移行する。左右のスワイプジェスチャとほぼ同様に、いくつかの実施形態では、アプリケーションは移行をアニメーション化する。例えば、より大きな表示に新しいアクティブ画像を拡大しながら、以前のアクティブ画像を最小化する。
【０３４３】
他の実施形態は、スライドアニメーションの様々な形態を使用する。いくつかの実施形態では、アプリケーションは、以前のアクティブ画像をディスプレイの底にスライドさせながら、ディスプレイ上に、この新しいアクティブ画像をスライドする。他の実施形態では、以前の画像が外へスライドすると画像のより多くが見えてくるように、新しいアクティブ画像は以前のアクティブ画像の下にあるように見える。さらなる実施形態は、古いアクティブ画像の上に新しいアクティブ画像をディスプレイでスライドさせる。いくつかの実施形態では、アプリケーションがこの移行をどのように表示するかの選択は、ユーザに任されている。
【０３４４】
選択画像のセットに２つだけの画像があったときは、下スワイプは１つの選択画像のみを残し、その場合は、ＧＵＩは状態６６０５へ戻るように移行し、単一の選択画像が画像表示領域に表示される。一方、アクティブ画像を削除した後に少なくとも２つの画像が選択されて残っているときに、ＧＵＩは状態６６２０に戻り、セットの次の画像がアクティブ画像として設定される。選択画像について、いくつかのアプリケーションの実施形態は、それらの画像表示領域での大きさと位置を再計算し、アクティブ画像の背後にある新しい位置にアクティブでない選択画像の色あせた暗いバージョンを表示する。
【０３４５】
図７０は、３つの段階７０１０〜７０３０にわたってユーザインタフェース６７００におけるこのような下向きのスワイプジェスチャを示している。第１の段階７０１０は、前の図の段階６９３０と同じ状態でＧＵＩ６７００を示し、画像表示領域にアクティブ画像として画像６７２５が表示され、それに対応するサムネイル６７４０が太いハイライトで選択されている。図示のように、ユーザは、１つの指でタッチスクリーンに接触し始めている。次の段階７０２０で、ユーザは、画像６７２５を画面の下から外へスライドさせ、下の画像６７３０を見えるようにさせるように、指を下方向にスイープし始めている。このスワイプジェスチャの結果は段階７０３０で示され、現時点で画像表示領域６７１５に画像６７３０が表示されている。さらに、対応するサムネイル６７４５は現時点で一次選択を示す太いハイライトで囲まれ、サムネイル６７４０は選択解除されているため、もはやハイライト表示されていない。
【０３４６】
いくつかの実施形態では、図示のように、ユーザがアクティブ画像のサムネイルを長押しすることは、選択画像のセットからアクティブ画像を削除し、セット内の次の画像をアクティブ画像として設定するためにＧＵＩを状態６６３５に移行させるという同じ効果を有する。加えて、ユーザが選択してあるがアクティブでないサムネイルを長押しすると（すなわち、対応する画像は表示されている画像ではない）、選択画像のセットから対応する画像を削除するためにアプリケーションは状態６６４０へ移行する。段階６６３５のように、アプリケーションは状態６６０５へ移行する（アクティブ画像のみが選択されたままである場合）か、または状態６６２０に戻る（複数の画像が選択されたままである場合）。アプリケーションが状態６６２０に戻るように移行する際、アプリケーションのいくつかの実施形態は選択されたままの画像の画像表示領域内のサイズと位置を再計算し、アクティブでない選択画像の色あせた暗いバージョンを、アクティブ画像の背後にある新しい位置に表示する。
【０３４７】
加えて、ユーザが選択されていないサムネイルを長押しすると、対応する画像を選択画像のセットに追加するために、アプリケーションは状態６６１７に移行する。図示のように、いくつかの実施形態はまた、ユーザがセットに新しい画像を追加すると、状態６６１０に戻るように移行する。一方、いくつかの実施形態は、画像を選択するが、アクティブ画像のビューア全体の表示を維持する。
【０３４８】
図６６に示すように、ＧＵＩが状態６６２０にある場合、ユーザが選択されていないサムネイルをタップすると、アプリケーションは他のすべての画像の選択を解除し、（タップされたサムネイルに対応する）新たに選択した画像を唯一の選択画像として設定するために状態６６０７に移行する。その後、アプリケーションは、新たに選択された画像を画像表示領域内に表示するために状態６６０５へ戻るように移行する。ユーザがアクティブサムネイルをタップすると、これは、画像表示領域に選択画像の全てが表示される状態６６１０にＧＵＩを移行させ、タップされたサムネイルに対応する画像からアクティブの指定を除去する。最後に、いくつかの実施形態は、ユーザがアクティブでない画像のいずれかに対応する選択サムネイルをタップすることにより、セット内の異なる画像間でアクティブ画面を切り替えることを可能にする。図に示すように、ユーザが選択されているがアクティブでないサムネイルをタップしたとき、アプリケーションは、タップされたサムネイルに対応する画像を新しいアクティブ画像として設定するために状態６６４５に移行し、その後状態６６２０に戻るように移行する。
【０３４９】
図７１は、４つの段階７１１０〜７１４０にわたってＧＵＩ６７００における選択サムネイルをタップするユーザの例を示す。第１の段階７１１０は、図６７の第１の段階６７１０と同じ状態でＧＵＩ６７００を示し、３つの画像６７２５〜６７３５がすべて画像表示領域に表示され、それらに対応するサムネイル６７４０〜６７５０はより明るいハイライトで選択されている。
【０３５０】
また、この段階７１１０で、ユーザは、サムネイル６７４０上でタッチスクリーンをタップする。第２の段階７１２０は、このインタラクションの結果を示し、対応する画像６７２５は現時点で画像表示領域６７１５の全体を占有しているアクティブ画像である。加えて、ユーザがタップしたサムネイル６７４０は現時点で他の選択サムネイルよりも太いハイライトで囲まれているように表示されている。
【０３５１】
この段階７１２０で、ユーザはサムネイル６７４５上でタッチスクリーンをタップする。第３の段階７１３０は、このインタラクションの結果を示し、対応する画像６７３０は現時点で画像表示領域６７１５の全体を占有するアクティブ画像である。さらに、ユーザがタップしたサムネイル６７４５は、現時点でより太いハイライトで囲まれているように表示されている。これらの段階は、ＧＵＩが状態６６１０にあるか状態６６２０にあるかを示し、選択されているがアクティブではないサムネイルをタップすると、対応する画像がアクティブ画像になる。
【０３５２】
また、段階７１３０において、ユーザが再びアクティブ画像のサムネイル６７４５をタップする。このインタラクションの結果が段階７１４０に示され、アプリケーションは再びすべての３つの画像６７２５〜６７３５をアクティブ画像なしに表示し、従ってサムネイルのいずれに関しても一次選択インジケータはない。この２つの段階は状態６６２０から状態６６１０への移行を示し、一度に複数の画像が表示される。
【０３５３】
Ｂ．画像のタグ付け
上記のセクションでは、いくつかの実施形態の画像閲覧アプリケーションで１つ以上の画像に実行される様々な選択および選択解除の動作について説明している。状態図６６００は、３つの一次選択状態６６０５、６６１０、および６６２０を含んでいた。いくつかの実施形態では、アプリケーションが、ユーザが選択したタグを適用する画像は、ユーザがタグを選択したときにＧＵＩがこれらの３つの状態のうちどれであったかに依存する。図７２は、これらの３つの異なる状態でのタグの適用に関するいくつかの実施形態のＧＵＩの状態図を示す。図７２は、１つ以上の画像への異なるタグの適用を示す図７３〜図７７を参照して説明される。
【０３５４】
図示のように、状態図は状態６６０５（１つの画像だけが選択されている）、状態６６１０（複数の画像が選択され表示されている）、および状態６６２０（複数の画像が選択され、アクティブ画像のみが表示されている）だけでなく、これらの状態間の移行（図６６を参照して上に説明されている）を示している。また、図７２は、これらの３つの異なる状態でタグＵＩ項目が選択された結果の状態を示している。図１４を参照して上述したように、いくつかの実施形態は、１つ以上の画像に異なるタグを適用するためのＧＵＩ項目のセットを含む。これらのタグはお気に入りタグ（すなわち、ユーザが特に好きな画像を示すため）、フラグ（すなわち、ユーザが後でもう一度確認したい画像を示すため）、および非表示タグ（すなわち、サムネイル表示領域に示される画像のセットから不要な画像を除去するため）を含む。これらのタグは、いくつかの実施形態では、タグ付けされた画像のためのデータ構造で格納され、そのタグを有する画像のための特定のアルバムに追加するために使用することができる。
【０３５５】
図６６に示すように、ＧＵＩが状態６６０５にあり、ユーザが画像に適用するタグを選択すると、ＧＵＩは唯一の現在の選択画像に、選択したタグを適用するために状態７２０５に移行する。その後ＧＵＩは状態６６０５に戻って移行する。いくつかの実施形態では、タグが画像非表示タグである場合、ＧＵＩはまた、ディスプレイから画像を削除し、コレクション内の次の画像を選択および表示のために選択する。他の実施形態は、ディスプレイから非表示画像をすぐに削除しないで、代わりにユーザがまず別の画像を閲覧するのを待つ。
【０３５６】
ＧＵＩが状態６６１０にあり、ユーザが適用するタグを選択すると、ＧＵＩは、現在の選択画像のすべてに、選択したタグを適用するために状態７２１０に移行する。その後、ＧＵＩは状態６６１０に戻って移行する。最後に、ＧＵＩが状態６６２０にあり、ユーザが適用するタグを選択すると、ＧＵＩは、現在の選択画像のすべてではなく、アクティブ画像にのみ選択されたタグを適用するために状態７２２０に移行する。その後ＧＵＩは状態６６２０に戻って移行する。
【０３５７】
図７３〜図７８はいくつかの実施形態の画像閲覧アプリケーション内の画像への様々なタグの適用を示す。図７３は、ＧＵＩ７３００の４つの段階７３１０〜７３００にわたって画像非表示タグの適用を示している。ＧＵＩ７３００は、画像表示領域７３０５と画像表示領域７３１５の他に、ＧＵＩ項目の様々なセットを含む。これらのＧＵＩ項目は、フラグボタン７３２５、お気に入りボタン７３３２、および画像非表示ボタン７３３５を含む。
【０３５８】
第１の段階７３１０において、画像表示領域７３１５に画像７３４２が表示され、対応するサムネイル７３４５が選択される。この段階では、ユーザは画像非表示ボタン７３３５を選択し、よってボタンがハイライトされる。いくつかの実施形態では、アプリケーションは画像への非表示タグの適用をアニメーション化する。第２の段階７３２０は、画像表示領域内の画像への画像非表示タグの適用を示すために、いくつかの実施形態で使用されるアニメーションを示す。画像非表示アイコン７３５０（Ｘ）は、画像から出てくるように、そして画像の中へ戻るように（すなわち、画像の特性となるように）示されている。
【０３５９】
第３の段階７３３０は、アプリケーションが非表示画像７３４２に対応するサムネイル７３４５を、サムネイル上に重畳される非表示アイコン７３５５（Ｘ）でマークしていることを示している。また、この段階では、ユーザは、異なるサムネイル７３６０を選択する。第４の段階７３４０は、サムネイル７３６０に対応する画像が現時点で表示されていることを示している。さらに、アプリケーションは、サムネイル表示領域７３０５から非表示画像のサムネイル７３４５を削除し、それに応じて表示領域におけるサムネイルを再配置している。図示のように、いくつかの実施形態では、アプリケーションは、ユーザが別のサムネイルに移動するまで、表示されたサムネイルのセットから非表示サムネイルを除去することを待機する。
【０３６０】
図７４は、ＧＵＩ７４００の４つの段階７４１０〜７４４０にわたってフラグ画像タグの適用を示している。ＧＵＩ７４００はＧＵＩ７３００と同じ機能、すなわちサムネイル表示領域７４０５、画像表示領域７４１５、およびフラグボタン７４２５を含む様々なＧＵＩ項目を含む。また、ＧＵＩは、現在選択されているコレクション内の１５個の画像のいずれもタグ付けされていないことを現時点で示しているタグフィルタリングボタン７４３５を含んでいる。このボタン７４３５は、いくつかの実施形態では、アプリケーションがコレクション内のどの画像をサムネイル表示領域に提示するべきかを識別するために使用される。現時点では、（サムネイル７４４５〜７４５５に対応する）３つの画像が選択されているが、選択画像の１つのみ（画像７４６０）が画像表示領域に表示されている。
【０３６１】
第１の段階７４１０で、ユーザがフラグボタン７４２５を選択することにより、ボタンがハイライト表示される。いくつかの実施形態では、アプリケーションは画像へのフラグ画像タグの適用をアニメーション化する。さらに、図６６を参照することにより上記に示したように、複数の画像が選択され、選択画像のいずれかがアクティブである場合、アプリケーションは、アクティブ画像（ここでは、画像７４６０）のみにタグを適用する。
【０３６２】
第２の段階７４２０および第３の段階７４３０は、画像表示領域内の画像にフラグ付きタグを適用することを示すためにいくつかの実施形態で使用されるアニメーションを示す。フラグアイコン７４６５は、アクティブ画像から出てきて、その後画像に戻るように（すなわち、画像の特性になるように）示されている。
【０３６３】
第４の段階７４４０において、アプリケーションはこの画像にフラグが付けられていることを示すために、サムネイル７４４５上に小さなフラグアイコン７４７０を表示する。サムネイル表示領域にサムネイルを表示する際に、いくつかの実施形態は、画像が何らかのタグを有するかを判定するために、コレクション内の画像に対する画像データ構造をチェックする。フラグ付きタグが画像に存在している場合、アプリケーションは、画像のサムネイル上にフラグを表示する。フラグボタン７４２５は、現在のアクティブ画像にフラグが付いていることを示すためにハイライトされたままである。いくつかの実施形態では、ユーザはこの状態のときにアクティブ画像からフラグを消すために、フラグボタンを選択することができる。また、この段階では、タグフィルタリングボタン７４３５は、コレクション内の１５個の画像の１つにフラグが設定されていることを示している。
【０３６４】
図７５は、ＧＵＩ７４００の４つの段階７５１０〜７５４０にわたって複数の画像へのフラグ画像タグの適用を示している。示されているように、第１の段階７５１０において、フラグアイコン７４７０は、サムネイル７４４５上に表示されている。しかし、画像表示領域は、３つの選択画像７５０５、７５１５、及び７５２５を表示し、これらの画像に対応するサムネイルが選択されている。この段階で、ユーザはフラグボタン７４２５を選択する。図６６を参照して上述したように、複数の画像が画像表示領域に表示されている場合、アプリケーションは、これらの選択画像のすべてにタグを適用する。いくつかの実施形態では、アプリケーションは画像へのフラグ画像タグの適用をアニメーション化する。
【０３６５】
第２の段階７５２０および第３の段階７５３０は、画像表示領域内の画像へのフラグ画像タグの適用を示すための、いくつかの実施形態のアニメーションを示す。アプリケーションは、フラグ画像タグの複数のインスタンスを表示し、１つのインスタンスは、表示されたそれぞれの画像から出てきて、その後画像に戻るように（すなわち、画像の特性になるように）表示される。
【０３６６】
第４の段階７５４０で、アプリケーションは画像７５０５、７５１５、および７５２５にフラグが付いていることを示すために、サムネイル７５３５、７４５０、および７４５５のそれぞれの上に小さなフラグアイコン７５７０を表示している。フラグボタン７４２５は、現在表示されている画像のすべてにフラグが付いていることを示すためにハイライトされたままである。また、タグフィルタリングボタン７４３５は現時点で、コレクション内の１５個の画像のうち４つにフラグタグが適用されていることを示す。
【０３６７】
図７６は、ＧＵＩ７６００の３つの段階７６１０〜７６３０にわたってタグフィルタリングボタン７４３５の使用を示している。第１の段階７６１０で、ボタン７４３５は、１５個の画像のうち４つにフラグが付けられていることを示し、アプリケーションは、４つのサムネイル７４４５、７５３５、７４５０および７４５５の上にフラグアイコンを表示する。現時点で、画像表示領域にフラグが付いていない画像７６０５が表示され、従ってアプリケーションはフラグボタン７４２５をハイライト表示しない。第１の段階７６１０において、ユーザはボタン７４３５をタップする。
【０３６８】
第２の段階７６２０に示されるように、これは、メニュー７６１５を表示させる。このメニューは、ユーザが画像に適用されたタグに基づいて、選択したコレクション内の画像の異なるセット間で選択をすることを可能にする。示されているように、オプションは、「すべての写真」（いくつかの実施形態では、非表示写真を含まない）、「フラグ付き写真」、「編集済写真」、「非表示写真」、および「すべておよび非表示写真」である。フラグ付き写真、編集済写真、そして非表示写真のオプションは、これらのタグを有する画像のみを表示させる一方、すべておよび非表示写真のオプションは非表示写真をコレクション内の残りとともに表示可能にする。
【０３６９】
第２の段階７６２０では、ユーザが「フラグ付き写真」オプションを選択する。第３の段階７６３０は、この選択の結果を示し、アプリケーションは、フラグ付き画像としてサムネイル７４４５、７５３５、７４５０、および７４５５のみを表示している。基本的に、アプリケーションは、コレクション内の画像にフィルタを適用し、フラグ付きタグが付いている画像だけがフィルタを通る。また、アプリケーションは現時点で、画像表示領域に、タグ付き画像の１つである画像７４６０を表示する。
【０３７０】
図７７は、図７３を参照して前述した、ＧＵＩ７３００の４つの段階７７１０〜７７４０にわたって画像へのお気に入りタグの適用を示している。この場合、画像７７０５は、２つの選択画像の１つとしてアクティブである。第１の段階７７１０で、ユーザはお気に入りボタン７３３２を選択し、それによりボタンがハイライトされる。いくつかの実施形態では、アプリケーションは画像にお気に入りタグを適用することをアニメーション化する。さらに、図６６を参照して示されるように、（この図の場合のように）複数の画像が選択され、選択画像のいずれかがアクティブである場合、アプリケーションは、アクティブ画像のみにタグを適用する。
【０３７１】
第２の段落７７２０および第３の段階７７３０は、画像表示領域内の画像にお気に入りタグを適用することを示すためにいくつかの実施形態で使用されるアニメーションを示す。お気に入りアイコン７７１５は、アクティブ画像から出てきて、その後画像に戻るように（すなわち、画像の特性になるように）示されている。
【０３７２】
第４の段階７７４０で、お気に入りのボタン７３３２は、アクティブ画像がお気に入りであることを示すためにハイライトされたままである。フラグ付き画像タグと同様に、ユーザはこの状態にある場合、アクティブ画像からお気に入りタグを除去するためにお気に入りボタンを選択することができる。いくつかの実施形態において、（この図に示すように）アプリケーションはどの画像がお気に入りであるかを示すためにサムネイル上にアイコンを表示することをしない。しかし、後述するように、アプリケーションは、お気に入りの画像の別のコレクションを保持し、このコレクションにお気に入りタグでタグ付けされた画像を追加する。
【０３７３】
いくつかの実施形態では、アプリケーションは、お気に入りタグと画像非表示タグとの両方で画像がタグ付けされることを防ぐ。ユーザが非表示としてタグ付けされた画像に対してお気に入りボタンを選択すると、アプリケーションは、画像非表示タグを除去しながら、お気に入りタグを適用する。同様に、ユーザがお気に入り画像を非表示にしたときに、アプリケーションは、画像からお気に入りタグを削除する。
【０３７４】
図７８は、ＧＵＩ７８００の４つの段階７８１０〜７８４０にわたって複数の画像にお気に入りタグを適用することを示している。図示のように、第１の段階７８１０において、アプリケーションは、画像表示領域内に画像７８０５、７８１５、及び７８２５を表示し、対応するサムネイル画像が選択される。この段階で、ユーザはお気に入りボタン７３３２を選択する。図６６を参照して上述したように、複数の画像が画像表示領域に表示されるときに、アプリケーションは、これらの選択画像のすべてにタグを適用する。いくつかの実施形態では、アプリケーションは画像にお気に入り画像タグの適用することをアニメーション化する。
【０３７５】
第２の段階７８２０及び第３の段階７８３０は、画像表示領域内の画像へのお気に入りタグの適用を示すために、いくつかの実施形態のアニメーションを示す。アプリケーションは、お気に入りタグの複数のインスタンスを表示し、１つのインスタンスは表示された各画像から出てきて、その後画像に戻るように（すなわち、画像の特性になるように）示される。第４の段階７３４０において、お気に入りボタン７３３２は、選択画像がお気に入りとしてマークされていることを示すためにハイライトされたままになっている。上記の図のように、サムネイル表示はお気に入りタグには影響されない。
【０３７６】
お気に入りタグを参照して述べたように、いくつかの実施形態は、アプリケーションが画像に適用できるタグの一部またはすべてに対して個別のコレクションを作成する。他の実施形態では、お気に入りコレクションのみが作成され、他の実施形態は、お気に入り画像、フラグ付き画像、非表示画像、および編集済画像、またはそれらの任意の組み合わせのためにコレクションを作成する。
【０３７７】
図７９は、画像に適用するタグを受信すると、いくつかの実施形態のアプリケーションによって実行されるプロセス７９００を概念的に示している。図示のように、プロセス７９００は（７９０５で）１つ以上の画像に適用するタグの選択を受信することによって開始する。いくつかの実施形態では、タグの選択は、（例えば、画像にフラグを付けるため、画像を非表示にするため、またはお気に入り画像として画像をマークするために）ユーザがタグ付けボタンのいずれかを選択することによって、または以前に編集されていない画像を編集することによって発生してもよい。
【０３７８】
プロセスはその後、画像のためのデータ構造に（７９１０で）選択したタグを追加する。上の図１５に示すように、いくつかの実施形態のアプリケーションによって格納された画像のためのデータ構造は、画像に適用されるタグのフィールドを含む。いくつかの実施形態において、タグを適用するために、アプリケーションは特定のタグに対する変数の値を０から１に切り替える。
【０３７９】
その後、プロセスは（７９１５において）選択されたタグを有する画像のコレクションが既に存在するかを判定する。いくつかの実施形態において、アプリケーションは空のコレクションを作成せず、従って、例えば、少なくとも１つの画像がお気に入りとしてマークされるまで、お気に入りのアルバムは存在しない。しかしながら、他の実施形態は、アプリケーションが少なくとも１つの画像を有するか、空であるかにかかわらず、それぞれの可能なタグに対するコレクションを常に格納する。
【０３８０】
選択したタグのコレクションが既に存在する場合に、プロセスは特定のタグを有する画像の既存のコレクションに、新たにタグ付けされた画像を（７９２０で）追加する。いくつかの実施形態では、画像は、コレクションの画像の順序付けられたシリーズの末尾においてコレクションに追加される。他の実施形態では、アプリケーションは、画像の全体的な順序（例えば、すべての画像のコレクション内の順序）を格納し、この順序はタグ付き画像のコレクション内に維持される。
【０３８１】
一方、特定のタグに対するコレクションがまだ存在しないときに、プロセス７９００は（７９２５で）タグ付き画像のための新しいコレクションを作成する。プロセスはその後、新しいコレクションに（７９３０で）新たにタグ付けされた画像を追加する。いくつかの実施形態において、アプリケーションは、「お気に入り」のような名前で、特定のタグのための新しいコレクションデータ構造を作成する。その後、アプリケーションは、新しく作成されたデータ構造に、新たにタグ付けされた画像のための画像データ構造への参照を追加する。いくつかの実施形態では、タグ付けされた画像の異なるコレクションはアルバムとして現れる。
【０３８２】
図８０は、ＧＵＩ７３００の３つの段階８０１０〜８０３０にわたってアルバムからお気に入り画像のコレクションへのユーザの移動を示している。第１の段階８０１０において、アプリケーションは、ハイライトされたお気に入りボタン７７３５によって示されるように、お気に入りタグが適用された画像７７０５を表示している。また、この段階で、ユーザは戻るボタン８００５を選択する。
【０３８３】
その結果、第２の段階８０２０は、現時点で、アプリケーションがコレクション整理ＧＵＩ８０００を表示し、アルバムタブ８０１５がハイライトされていることを示す。アプリケーションは、現時点で２つのアルバム、「アルバム１」およびお気に入りアルバムを格納している。図示のように、ユーザは、この段階でお気に入りアルバムを選択する。第３の段階８０３０において、選択したコレクションがお気に入りになっているＧＵＩ７３００を示している。４つの画像のみがお気に入りとしてマークされているため、コレクションはこれらの４つの画像のみを含む。いくつかの実施形態では、ユーザがお気に入りアルバムを閲覧し、画像を選択し、そして（ハイライトされている）お気に入りボタンを選択すると、アプリケーションは選択画像からお気に入りタグを削除するだけでなく、お気に入りコレクションから画像を削除し、（特定のコレクションのための画像非表示タグのようにタグが機能するように）もはや画像を表示しないようになる。
【０３８４】
Ｃ．画像情報の閲覧
いくつかの実施形態で、ユーザは、１つ以上の画像に関する情報を閲覧することを希望する可能性がある。いくつかの実施形態は、ＧＵＩ項目を提供し（またはキーボードショートカット、メニューオプションなどを提供し）、その選択は、画像についての情報を画像閲覧アプリケーションに提示させる。いくつかの実施形態において、アプリケーションは、画像のデータ構造にこの情報を格納するか、または表示される情報にアクセスするためにデータ構造からの情報を使用する。複数の画像が選択され、画像表示領域に表示される場合、いくつかの実施形態は、各選択画像に個別の情報を表示し、他の実施形態は、選択画像の全てに共通する情報のみを表示する。
【０３８５】
図８１は、本発明のいくつかの実施形態による３つの段階８１１０〜８１３０にわたって画像８１０５のＧＵＩ７３００におけるそのようの情報へのアクセスを示している。図示のように、第１の段階８１１０において、アプリケーションは、現時点で画像８１０５を表示している。第２の段階８１２０において、ユーザは、情報ボタン８１１５を選択する。
【０３８６】
第３の段階８１３０は、ユーザが情報ボタン８１１５を選択したときに現れる情報ウィンドウ８１２５を示している。示されているように、ウィンドウ８１２５は、３つのタブ、すなわち情報タブ、マップタブ、およびコメントタブを有する。情報タブは、主にＥｘｉｆデータを使用して、選択画像の情報を表示する。画像がＧＰＳデータを有する場合、ユーザは、画像が撮像された場所を示す地図を閲覧するためにマップタブを選択することができる。いくつかの実施形態において、アプリケーションは、地図データのデータベースにアクセスするためにＧＰＳデータを使用し、ＧＰＳ位置の周辺の地図データの特定領域をダウンロードする。このデータベースは、アプリケーションを実行しているデバイスに対するローカルデータベースであってもよいし、インターネットなどのネットワークを介してアクセスするリモートデータベースであってもよい。コメントタブは、セクションＶＩで後述するように、画像がソーシャルメディアや写真共有サイトにアップロードされた場合に、画像に関する他人のコメントを閲覧するため、および共有画像上にコメントを追加するために使用できる。
【０３８７】
いくつかの実施形態のアプリケーションは、情報タブ内に、画像を撮像したデバイス（キヤノンＥＯＳ−１ＤｓＭａｒｋＩＩＩ）、画像データを格納するために使用されたファイルタイプ（ＪＰＥＧ）、画像の解像度（３０７２×４６０８）とファイルサイズ（２．６ＭＢ）、画像が撮像された時刻と日付（２０１２年３月４日、１２：１０：１７ＰＭ）、および画像が撮像された位置（ジョシュアツリー国立公園）を表示する。いくつかの実施形態では、位置はＧＰＳデータに基づいて自動的に解決されるが、他の実施形態では、ユーザがこのデータを入力する。ウィンドウ８１２５の下部に、アプリケーションは、開口（ｆ／５．６）、シャッター速度（１／２００）、焦点距離（１８０ｍｍ）、露光（０．７ＥＶ）、およびフィルム速度（ＩＳＯ２００）を含むカメラ設定情報を表示する。
【０３８８】
図８２は、本発明のいくつかの実施形態に係る３つの段階８２１０〜８２３０にわたってＧＵＩ７３００内の画像８２０５の情報にアクセスするユーザを示している。画像表示領域内の異なる画像８２０５を除いて、最初の２つの段階８２１０と８２２０は上記図８１に示されるものと同じである。第３の段階において、情報ウィンドウ８１２５は、画像８１０５とは情報の一部が異なるため、情報について異なる値を表示する。例えば、タイムスタンプ（３：１５：５７ＰＭ）は、同日のより遅い時間であり、ファイルサイズならびにカメラの設定の一部が異なっている。
【０３８９】
図８３は、ＧＵＩ７３００の３つの段階８３１０〜８３３０にわたって画像８１０５と８２０５の両方で情報ウィンドウの選択を示している。また、図の最初の２つの段階は、この場合、アプリケーションが画像表示領域内に画像８１０５および８２０５の両方を表示することを除いて、前の２つの図と同様である。第３の段階８３３０において、情報ウィンドウ８１２５は、選択画像のすべてに共通する情報のみを表示する。この場合、画像は両方とも１４．２ＭＰのＪＰＥＧファイルであるが、異なるファイルサイズを有する（したがって図示されていない）。さらに、両方の画像のＧＰＳデータはジョシュアツリー国立公園に解決し、タイムスタンプが異なっているが、両方の画像は（異なる時刻で）３月４日に撮像された。画像設定では、シャッター速度、焦点距離、およびフィルム速度の設定は、２つの画像に同じであったが、撮影者が開口部および露光補正に関して２つの画像間に異なる設定をしていたので、アプリケーションは、この情報を表示しない。
【０３９０】
ＶＩ．画像の共有
前のセクションで簡単に述べたように、いくつかの実施形態は、サイト上のユーザのアカウントを介して画像をソーシャルメディアや写真共有サイトにアップロードすることにより、ユーザは画像編集、閲覧、および整理アプリケーションから画像を直接共有することができる。ユーザが画像の共有を要求すると、アプリケーションは、アプリケーションを動作するデバイスに（例えば、インターネットを介して）ウェブサイトへ接続するように指示し、その後ウェブサイト上のユーザのアカウントに画像を自動的にアップロードする。いくつかの実施形態において、アプリケーションはさらに、ウェブサイトの他のユーザがいつ画像にコメントしたかを識別し、アプリケーションのユーザにこれらのコメントを表示する。
【０３９１】
いくつかの実施形態は、ユーザが画像にキャプションを追加するための機能を提供する。ユーザが写真ホスティングサイト上で画像を共有したい場合、ユーザは、画像にキャプションを持たせることを望むことがある。いくつかの実施形態では、ユーザは、アプリケーション内の画像について記憶されているキャプションを使用することに加えて、又はこれに代えて、ウェブサイトに画像を共有するためのダイアログ内でこのキャプションを追加することができる。上記の図１５に示すように、アプリケーション内で、このキャプションは、画像のデータ構造に格納されている。図８４は、ＧＵＩ８４００の６つの段階８４１０〜８４６０にわたって画像にキャプションを追加するユーザを示している。ＧＵＩ８４００は、以前のＧＵＩ（例えば、ＧＵＩ３５００）と同様であるが、上部のツールバーの中央にキャプション追加ボタン８４０５がさらに含まれている。第１の段階８４１０において、アプリケーションは、画像表示領域８４１５に選択画像を表示する。
【０３９２】
第２の段階８４２０において、選択画像８４１５にキャプションを追加するために、ユーザはキャプション追加ボタン８４０５をタップする。第３の段階８４３０は、ユーザがキャプションを入力するために、アプリケーションがタッチスクリーンの一部またはすべての上にタッチスクリーンキーボード８４２５を重畳することを示している。いくつかの実施形態において、キーボードはデバイスのオペレーティングシステムによって提供され、ユーザがキャプションを追加するために入力を提供するときに、アプリケーションは、オペレーティングシステムにキーボードの要求を送信する。
【０３９３】
なお、いくつかの実施形態ではタッチスクリーンデバイスは、ユーザがキャプションを入力するために使用できる別個のキーボードに接続されうる。さらに、当業者は、画像閲覧アプリケーションは、キャプション追加ボタンを選択するためのカーソルコントローラ（または他のデバイス）と、その後にキャプションを入力するためにキーボードとを用いてユーザがインタラクションする非タッチスクリーンデバイス上で動作してもよいことを認識するであろう。
【０３９４】
第３の段階８４３０及び第４の段階８４４０は、ユーザが画像８４０５のために「最前列！（In the Front Row!）」というキャプションをタイプする場合のＧＵＩ８４００を示している。ユーザがタイプすると、キャプションは、画像表示領域の上の上部ヘッダ領域に現れる。第５の段階８４５０において、ユーザは、キャプションを完了するために、キーボード上の「リターン」ボタンを選択する。第６の段階８４６０は、ユーザがキャプションを入力した後のＧＵＩ８４００を示している。アプリケーションは現時点で、キャプション追加ボタンの代わりに画像の上にキャプションを表示している。また、アプリケーションは、サムネイル８４３５上に小さなテキストでキャプションを重畳する。現時点で、アプリケーションは、画像８４１５のためのデータ構造で入力キャプションを格納している。
【０３９５】
述べたように、画像がキャプションを有するか否かに関わらず、いくつかの実施形態では、ユーザはソーシャルメディアや写真共有サイトに画像をアップロードするために画像閲覧および編集アプリケーションを使用することができる。図８５は、いくつかの実施形態によるソーシャルメディアサイトＦａｃｅｂｏｏｋを介して画像８４０５を共有するためのＧＵＩ８４００とのユーザインタラクションを示している。第１の段階８５１０において、ユーザは、様々な方法で選択画像を共有するためのオプションを提供する共有ボタン８５０５を選択する。第２の段階８５２０に示すように、アプリケーションは画像を送信（beam）するオプション、選択画像でジャーナルを作成するオプション、および画像をインターネットを介して共有するオプションを含む共有メニュー８５１５を表示する。いくつかの実施形態では、画像を送信することは、同じローカルネットワーク（例えば、Ｂｌｕｅｔｏｏｔｈネットワーク、ＷｉＦｉネットワークなど）上の別のデバイスと画像を直接に共有することを含む。ジャーナルは、いくつかの実施形態では、ユーザがテキストメモ、グラフィックス、および他の情報を追加できる画像のセットの共用可能な構成である。
【０３９６】
第２の段階８５２０において、ユーザは「インターネット上の共有」オプションを選択する。第３の段階８５３０は、アプリケーションが現時点で、３つの写真共有サイトのオプション（ｔｗｉｔｔｅｒ、Ｆｌｉｃｋｒ、およびＦａｃｅｂｏｏｋ）を有する新しいメニュー８５２５を表示していることを示すが、他の実施形態は、ユーザが画像を共有することができる異なるウェブサイトを含み得る。この例では、ユーザは自分のＦａｃｅｂｏｏｋアカウントに画像を共有するためにＦａｃｅｂｏｏｋオプションを選択する。この時点で、アプリケーションは、ユーザのＦａｃｅｂｏｏｋアカウントに画像をアップロードすることを試み始める。
【０３９７】
いくつかの実施形態では、異なるソーシャルメディア／写真共有サイトは、ジャーナルの作成、画像の送信、および様々な他の共有オプションとともに、メニュー８５１５の一部である。さらに、ユーザが画像を共有するウェブサイトを選択した後に、アプリケーションは、写真共有サイトにアップロードする画像（すなわち、選択画像または選択画像群、現在のアルバム内のすべての画像、現在のアルバムからの画像の新しいセットなど）をユーザが選択するためのオプションを提供する。
【０３９８】
図８６は、ソーシャルメディアや写真共有サイトを介して画像を共有するためのいくつかの実施形態のプロセス８６００を概念的に示している。図８６は、「写真共有」サイトを参照するが、これは写真共有のために特別に設計されたＦｌｉｃｋｒなどのサイトであってもよいし、ＦａｃｅｂｏｏｋやＴｗｉｔｔｅｒなどの広範なソーシャルメディアウェブサイトなどであってもよい。図示のように、プロセス８６００は（８６０５で）写真共有サイトに画像をアップロードするコマンドを受信することによって始まる。アプリケーションは、図８５に示すユーザインタラクションのセット、またはその変形を介してこのコマンドを受信することができる。
【０３９９】
プロセスはその後、（８６１０で）アプリケーションが動作しているデバイスからユーザアカウントが選択した写真共有サイトにログオンされているかを判定する。アプリケーションのいくつかの実施形態は、デバイスが必要に応じて自動的にソーシャルメディアウェブサイトにログオンするために使用する異なるソーシャルメディアおよび写真共有サイトのための特定のアプリケーションを含むデバイス上で動作する。この場合、アプリケーションは、ウェブサイトにログインする際に問題はない。他の実施形態では、ユーザは、サイトへ（サイト固有のアプリケーョンまたはウェブブラウザを介して）肯定的にログオンする必要がある。
【０４００】
ユーザがログオンしていない場合、プロセス８６００は（８６１５で）、画像をアップロードする前に、Ｗｅｂサイトにサインインするようにユーザを促し、その後終了する。ユーザがログオンすると、アプリケーションは再度プロセス８６００を開始する。いくつかの実施形態において、画像閲覧アプリケーションは、ユーザがウェブサイトにログインするために使用するインタフェースを表示するが、他の実施形態は、ユーザがログオンするために別のアプリケーション（例えば、サイト専用アプリケーションまたはウェブブラウザ）に切り替えることを必要とする。
【０４０１】
要求された写真共有サイトにユーザがログオンしたときに、プロセスは（８６１６において）、画像が既にサイトにアップロードされているかを判定する。いくつかの実施形態において、アプリケーションは、特定の写真共有ウェブサイトについて画像に対して画像ＩＤが既に格納されているかを判定するために画像のデータ構造をチェックする。さらに、いくつかの実施形態は、ウェブサイトのデータベースに照会することによって、ウェブサイト上に画像がまだ存在するかを判定する。いくつかの実施形態は、いくつかのウェブサイト対してこの確認を実行するが、他のサイトに対しては実行しない。
【０４０２】
画像が既に共有されている場合、プロセス８６００は、ユーザが新しい画像として画像を共有したいかを（８６１９において）判定する。ユーザは、写真共有ウェブサイト内の別のアルバムに画像を追加したい場合がある。また、ユーザは画像を編集し、（例えば、編集前と編集後との両方の画像を表示するために）新しい画像として編集画像を追加したい可能性がある。ユーザが新しい画像として画像を追加すると、プロセスは後述する８６２０へ進む。そうでない場合、プロセスはまた、ユーザが写真共有サイトにアップロードした画像を置き換えたいかを（８６１７において）判定する。例えば、ユーザは画像を編集し、共有している画像を新しいバージョンと置き換えたい可能性がある。動作８６１９および８６１７を実装するに、いくつかの実施形態は、アップロードをキャンセルするか、新しい画像として画像を共有するか、または写真共有サイト上の既存の画像のバージョンを置き換えるかをユーザが選択できるようにするために、ユーザにプロンプトを提供する。ユーザが画像を置き換えたり、または新しい画像を共有したりしたくない場合に、プロセスは、画像をアップロードすることなく終了する。
【０４０３】
ユーザが共有画像を置き換えたい場合、プロセスは（８６１８で）画像を置き換えるために、既存の画像ＩＤを使用して、写真共有サイトのインタフェースを介して新しい画像をアップロードし、その後終了する。画像はまだ共有されていないときに、プロセスは、（８６２０で）写真共有サイトのインタフェースを介して画像をアップロードする。いくつかの実施形態では、画像閲覧および編集アプリケーションは、アップロード動作を実行するために、デバイス上のサイト固有のアプリケーション（例えば、Ｆａｃｅｂｏｏｋアプリケーション）を使用する。他の実施形態では、アプリケーションは、ウェブサイト自体とトランザクションを行う。画像をアップロードするために、いくつかの実施形態は、編集指示が適用されたフルサイズの画像を生成する（上述のように、いくつかの実施形態は、元のフルサイズ画像を、元の画像から編集画像を生成するための編集指示とともに格納する）。
【０４０４】
写真共有サイトのインタフェースを介して画像をアップロードした後、プロセス８６００は（８６２５で）写真共有サイトのデータベース内のアップロードされた画像のためのＩＤを受信する。プロセスは（８６３０で）、ウェブサイト上の画像へのアクセスに使用するための画像ＩＤを格納し、終了する。この画像ＩＤは、（例えば、コメントをダウンロードするために）アプリケーションがウェブサイトにコンタクトすることやアップロードされた画像についての情報を要求することを可能にする。いくつかの実施形態において、アプリケーションは、図１５を参照して上記したように、画像データ構造に画像ＩＤを記憶する。
【０４０５】
いくつかの実施形態のプロセス８６００において、ユーザが画像をアップロードすることを選択すると、アプリケーションはさらなるインタラクションなしに写真共有サイトに画像を自動的にアップロードする。しかしながら、いくつかの実施形態では、ユーザは、アップロードをさらにカスタマイズすることができる。図８７は、ＧＵＩ８７００の１０個の段階８７０１〜８７１０にわたってＦａｃｅｂｏｏｋに画像をアップロードするユーザを示している。ＧＵＩ８７００は、以前に示したいくつかの実施形態によるＧＵＩ８４００と同様であり、共有ボタン８７０５を含む。第１の段階８７０５は、ユーザがすでにアプリケーションに種々の異なる共有オプションのメニューを表示させるように、共有ボタン８７１５を選択したことを示している。この場合、メニューはさまざまな異なる写真共有／ソーシャルメディアのウェブサイトのため、ならびにジャーナルを作成するためのいくつかのアイコンを含む。いくつかの実施形態では、このメニューは別のデバイスへの画像の送信すること、画像を電子メールで送信することなどの追加の共有オプションを含む。示されるように、ユーザは、段階８７０１で「Ｆａｃｅｂｏｏｋ」アイコンを選択する。
【０４０６】
このオプションの選択は、アプリケーションに、第２の段階８７０２でＧＵＩ８７００に追加のメニュー８７２０を表示させる。このメニュー８７２０は、ユーザがどの画像を共有するかを決定することを可能にする。ユーザは、現時点でサムネイル表示領域に表示されているアルバムの全体を共有すること、現在選択されている画像を共有すること、または新しい画像を共有する第３の選択肢を選択することができ、後者に関して、いくつかの実施形態では現在のアルバム（または他の実施形態においては異なるアルバム）から画像のセットをユーザが共有するために選択できるダイアログボックスを呼び出す。この場合、ユーザは、１つの選択画像を共有することを選択する。
【０４０７】
第３の段階１０３において、ＧＵＩ８７００は、現時点で、ユーザが特定の選択された写真共有サイト（この場合は、Ｆａｃｅｂｏｏｋ）への画像のアップロードをカスタマイズすることを可能にする画像共有ダイアログボックス８７２５を含む。ダイアログボックス８７２５は、サムネイル画像８７３０、キャプションボックス８７３５、場所追加項目８７４０、および友達タグ付け項目８７４５を含む。いくつかの実施形態において、ユーザは複数の画像を共有する場合に、アプリケーションは共有するために選択された各画像に対してこれらの項目を表示する。また、ダイアログボックス８７２５は、ユーザが共有操作をキャンセルすることを可能にするキャンセルオプションと、実際に画像をアップロードし始めることを可能にする共有オプションとを含む。最後に、ダイアログボックス８７２５は、ユーザが（画像閲覧および編集アプリケーション内のアルバムとは対照的に）写真共有サイト上の異なるアルバム間で共有画像のための宛先として選択できるようにするアルバム選択ボタン８７５０を含む。図示のように、第３の段階８７０３において、ユーザは、アルバム選択ボタン８７５０を選択する。
【０４０８】
この選択の結果、ユーザが第４の段階８７０４で別のアルバムを選択することができるメニュー（またはピッカー）８７５５が表示される。いくつかの実施形態において、アプリケーション（またはアプリケーションが動作するデバイス）は写真共有サイト上のユーザのアカウントにログインし（上述したように、画像をアップロードするために必要）、ユーザがウェブサイトで作成した異なるアルバムのリストを取得する。ユーザがボタン８７５０（またはそれに相当するもの）を選択すると、アプリケーションはユーザのアルバムのリストとだけでなく、新しいアルバムを作成するためのオプションを表示する。いくつかの実施形態は、事前にユーザが作成または画像をアップロードした特定の個数の直近のアルバムをピッカーに事前に投入入力する。この場合、ユーザは、「自然」アルバムのオプションを選択して、雷の写真がＦａｃｅｂｏｏｋ上のこのアルバムにアップロードされるようにする。
【０４０９】
第５の段階８７０５において、ユーザは場所追加項目８７４０を選択する。第６の段階８７０６に示すように、この選択の結果としてメニュー（またはピッカー）８７６０が表示され、そこからユーザは画像にタグ付けするのとは異なる場所を選択できる。いくつかの実施形態において、アプリケーション（またはアプリケーションが動作するデバイス）は、ユーザが以前に写真共有サイト上の画像にタグ付けした異なる場所のリストを取得する。図示のように、メニュー８７６０は以前に作成した「ホーム」の場所を選択するオプション、新しい場所を選択するオプション、または現在の場所を選択するオプションを含む。いくつかの実施形態において、画像閲覧および編集アプリケーション、または画像閲覧および編集アプリケーションを動作するデバイス上の別のアプリケーションは、ユーザの位置を特定する位置検出機構（例えば、ＧＰＳ）を使用し、その後、識別された現在位置の特定の距離（例えば、１キロメートル、１マイル（１．６キロメートル）など）内の場所（例えば、レストラン、住所などの）のリストをこの場所に関連付ける。さらに、いくつかの実施形態は、場所を決定するために、画像と一緒に格納された（例えば、Ｅｘｉｆデータ内の）ＧＰＳデータを使用し、画像が撮像された位置から特定の距離内にある場所を列挙する。その後、アプリケーションはメニュー８７６０内の現在位置オプションとしてこれを提供する。いくつかの実施形態は、ユーザが画像にタグ付けした特定の数の直近の場所をピッカーに事前に投入する。この場合、ユーザは、「ホーム」位置のタグを選択する。
【０４１０】
第７の段階８７０７において、ユーザは友達タグ付け項目８７４５を選択する。第８の段階８７０８に示すように、この選択の結果として、写真共有サイトのコンテキスト内でユーザの友達を列挙するメニュー（またはピッカー）８７６５が表示される。様々な写真共有／ソーシャルメディアウェブサイトは、ユーザが友達のネットワークを有することを可能にし、いくつかの実施形態では、ユーザが画像閲覧および編集アプリケーションのインタフェースを介して画像における自分の友達にタグ付けすることができるように、これらの友達のリストを取得する。いくつかの実施形態では、直近にタグ付けされたユーザの特定の数の友達をピッカーに事前に投入する。いくつかの実施形態において、ユーザは、希望する任意の数の友達にタグ付けすることができる。ただし、この例では、ユーザは友達にタグを付けない代わりに、キャプションボックス８７３５内を選択する。
【０４１１】
第９の段階８７０９は、ユーザが（例えば、タップして）キャプションボックス内を選択した場合、ユーザが画像のキャプションを入力するためのアプリケーションがタッチスクリーンキーボード８７７０を重畳することを示している。いくつかの実施形態において、キーボードは、デバイスのオペレーティングシステムによって提供され、ユーザがキャプションボックス内をタップすると、アプリケーションがオペレーティングシステムにキーボードの要求を送信する。この場合では、ユーザはキャプションボックス８７３５内に「家のすぐ前！（Right outside my house!）」を入力するためにキーボード８７７０を使用し、キャプションを完成するために、キーボード上の「リターン」ボタンを選択する。第１０の段階８７１０において、ユーザはキャプションと一緒に写真を共有するために、共有ボタンを選択する。いくつかの実施形態では、このキャプションは写真共有サイトのために使用されているが、画像閲覧および編集アプリケーション内に画像と格納されていない。
【０４１２】
図８６を参照して上述したように、画像が以前にアップロードされた写真共有ウェブサイトで共有するための画像をユーザが選択すると、いくつかの実施形態では、ユーザは、新しい画像として画像をアップロードするか、またはウェブサイト上の古い画像と置き換えることができる。また、画像を置き換える際、いくつかの実施形態は、キャプション、タグ、および／または他の情報をユーザが更新するためにこの付随する情報をウェブサイトから取得する。
【０４１３】
図８８は、ＧＵＩ８７００の４つの段階８８０１〜８８０４にわたって、図８７にアップロードした画像の編集されたバージョンを含む、Ｆａｃｅｂｏｏｋにアップロードするための２つの画像を選択するユーザを示す。最初の２つの段階８８０１と８８０２は、この場合は（サムネイル上に重畳されたツールボックスアイコンにより示されるように）雷の写真が編集され、第２の画像が選択されていることを除いて、段階８７０１と８７０２と同じである。また、雷の写真は、すでに少なくとも１つの写真共有サイトで共有されていることを示す、そのサムネイルに重畳されているアイコンを有する。
【０４１４】
ユーザが選択画像をアップロードすることを選択した後、アプリケーションは、画像のいずれかが既にアップロードされているかを判定する。（例えば、上記の図１５を参照して説明したように）画像のデータ構造は、画像が共有されている先の場所を示す。この例で選択された画像のいずれかが既にＦａｃｅｂｏｏｋに共有されているので、アプリケーションは、写真が既に共有されていることを示すとともに、ユーザが画像を置き換え、（写真共有ウェブサイトのコンテキスト内の新しい画像として）画像を共有し、またはアップロードをキャンセルすることを可能にするダイアログボックス８８０５を表示する。この場合、ユーザは、画像を置き換えることを選択する。しかしながら、いくつかの実施形態において、アプリケーションは、ユーザが以前のバージョンと同一の写真共有サイトのアルバムに画像をアップロードしようとする際にのみダイアログボックス８８０５を表示する。
【０４１５】
結果として、第４の段階でアプリケーションは画像共有ダイアログボックス８８１０を表示する。これは、ダイアログボックス８７２５に類似するが、２つの別々のセットのキャプションボックス、サムネイル、場所追加項目、友達タグ付け項目を含む。雷の画像に関して、アプリケーションは写真共有サイトからキャプションとタグ付け情報とを取得し、ダイアログボックス８８１０内で編集可能な情報として表示する。この場合に、キャプションと位置とは編集可能な情報として表示されている。
【０４１６】
写真共有サイトにアップロードされた画像に関して、いくつかの実施形態は、これらのウェブサイトから画像とのインタラクションを自動的に取得する。図８９は、写真共有やソーシャルメディアのウェブサイト上の画像に投稿されたコメントを取得するためのいくつかの実施形態のプロセス８９００を概念的に示している。いくつかの実施形態のアプリケーションは、アプリケーションのＧＵＩの画像表示領域に現在表示されている画像が写真共有サイトに投稿された際にプロセス８９００を行う。いくつかの実施形態は、設定された期間（例えば、１秒、５秒、１分等）画像を表示領域に表示した後にのみ、コメント取得プロセスを実行する。
【０４１７】
図示のように、プロセス８９００は、現在表示されている画像が写真共有サイトに投稿されたことを（８９０５で）識別することから始まる。いくつかの実施形態は、画像を表示しながら特定の期間を待ち、その後、画像がどこかに共有されているかを判定する。画像が共有されていない場合、プロセス８９００は実行されない。また、画像が複数の異なるサイトに共有されている場合、いくつかの実施形態は、プロセス８９００またはその変形を、サイトごとにまたはサイトのサブセットについて実行する。
【０４１８】
プロセス８９００は、（８９１０で）写真共有ウェブサイトのデータベース内の画像のために使用される画像ＩＤを取得する。アプリケーションは、いくつかの実施形態で、表示される画像のデータ構造からこの画像ＩＤを取得する。その後、プロセスは（８９１５で）サイトのデータベース内の画像を識別するために取得した画像のＩＤを使用して、画像に関する情報の要求を写真共有サイトに送信する。いくつかの実施形態では、この画像ＩＤはサイトのデータベース内の画像用に作成されたオブジェクトを識別するオブジェクトＩＤであり、アプリケーションはそのオブジェクトの何らかの属性を要求する。
【０４１９】
要求を送信したことに応答して、プロセスは、（８９２０において）コメントストリームと要求された追加情報とを写真共有サイトから受信する。いくつかの実施形態では、コメントストリームは、それぞれにコメントをしたユーザ、ユーザのプロファイルのサムネイル、コメントのテキスト自体、およびタイムスタンプを含む一連のコメントとして受信される。しかしながら他の実施形態は、ネストされたコメントのツリー構造を受信し、構文解析する。また、Ｆａｃｅｂｏｏｋまたは類似の特徴を有するサイトに投稿された画像に関して、いくつかの実施形態は、投稿画像が受けた「いいね！」の数を受信するだけでなく、誰が画像を気に入ったかを受信する。
【０４２０】
この情報が受信されると、プロセス８９００は画像のコメントストリームの最終アクセス日を（８９２５で）取得する。取得した日付と時刻は、ユーザが画像閲覧アプリケーション内で画像の何れかのコメントを閲覧した最後の時刻である。ユーザが画像をアップロードした後、画像上のコメントをいずれも閲覧していない場合、取得した時刻は、アップロードしたときのものである。いくつかの実施形態では、ユーザが写真共有サイトから直接画像上のコメントを閲覧したかどうかは最終アクセス日に影響しない。
【０４２１】
プロセスはその後（８９３０で）、取得した最終アクセス日がコメントストリーム内の直近のコメントより前であるかを判定する。プロセスは最終アクセス日を直近のコメントのタイムスタンプに対して比較し、どちらが前かを判定する。最終アクセス日が前である場合は、プロセスは（８９３５で）新しいコメントが利用可能であることの通知をユーザに表示する。いくつかの実施形態では、通知は、（コメントにアクセスするために使用される）情報ボタン上に小さなアイコン、すなわちバッジから成る。いくつかの実施形態は、新しいコメントが利用可能であることを単に示す通知ボタンを使用し、他の実施形態は、新規のコメントの数の指標（例えば、アイコン内の数字）を提供する。新しいコメントの数を決定するために、いくつかの実施形態は、最終アクセス日のよりも前のコメントに至るまで、連続して古い各コメントに対して最終アクセス日を比較する。必要であれば通知を表示した後、プロセス８９００は終了する。
【０４２２】
いくつかの実施形態では、ユーザは情報ウィンドウ内のコメントタブにアクセスすることによって、これらのコメントを閲覧することができる。このウィンドウを介して、いくつかの実施形態では、ユーザは写真共有サイトに投稿されている追加のコメントに応答することができる。
【０４２３】
図９０は、いくつかの実施形態のＧＵＩ８４００の６つの段階９０１０〜９０６０にわたって情報ウィンドウを介してそのようなコメントを投稿するユーザを示す。第１の段階９０１０において、アプリケーションは、ユーザが以前にキャプションを与え、Ｆａｃｅｂｏｏｋに投稿した画像８４１５を表示する。さらに、アプリケーションは、情報ボタン８５０５上に小さなアイコン９００５を表示する。この小さなアイコンは、表示された画像が２つのコメントを受信したことを示している。いくつかの実施形態は、異なるサイトを区別することなく、異なる写真共有サイトのために同じアイコンを使用する。他の実施形態は、ＦａｃｅｂｏｏｋやＦｌｉｃｋｒなどについて異なるアイコン（例えば、異なる色、異なるアイコンの形など）を使用する。
【０４２４】
第２の段階９０２０において、ユーザは情報ボタン８５０５を選択する。図８１〜図８３に示すように、これは段階９０３０に表示上に情報ウィンドウ９０１５が現れるようにする。その後、ユーザはコメントタブを選択する。第４の段階９０４０は、コメントタブを表示する。図示のように、情報ウィンドウ９０１５では、現時点で、ユーザの画像に「ポール・スミス（Paul Smith）」が書いたＦａｃｅｂｏｏｋのコメントが表示されている。この図は、情報タブが最初に表示され、その後ユーザがコメントタブを選択することを示す。しかし、いくつかの実施形態は、ユーザが新しいコメントを閲覧したい可能性が最も高いという前提で、通知アイコンが表示された情報ボタンをユーザが選択したことに応じて、コメントタブを自動的に表示する。情報ウィンドウ９０１５は、すべてのコメントを表示するために、段階９０３０に比べて段階９０４０で大きい。いくつかの実施形態において、情報ウィンドウ９０１５は、拡大するのではなく、同じサイズを維持し、ウィンドウの最上部に最初の新しいコメントがあり、ユーザがコメントストリームをスクロールすることができるように自動的にコメントを表示する。
【０４２５】
段階９０４０で、コメントストリームはまた、ユーザがコメントを入力できるセクションを含む。ユーザは、このセクションをタップし、第５の段階９０５０は結果として現れるタッチスクリーンのキーボード８４２５を示している。これは、ユーザが画像についてＦａｃｅｂｏｏｋに投稿するコメントをタイプすることを可能にする。ユーザが彼女の返事をタイプした後、情報ウィンドウ８４１５は、コメントがＦａｃｅｂｏｏｋに投稿されたことを示すように、段階９０６０のコメントストリームの末尾に新しいコメントを表示する。ユーザのコメントを投稿するために、アプリケーションはユーザ情報とともに写真共有サイトに、保存された画像ＩＤとユーザのコメントを送信する。いくつかの実施形態では、アプリケーションは、アプリケーションのＧＵＩにコメントを表示する前に、ウェブサイトからの確認を待つ。
【０４２６】
ＶＩＩ．コンテキスト依存ヘルプ
いくつかの実施形態は、ツールの機能に関するさまざまなユーザインタフェースツールの指標を提供するコンテキスト依存ヘルプ機能を含む。いくつかの実施形態において、アプリケーションは、アプリケーションの現在のアクティブツールに基づいてどのユーザインタフェース機能に対してヘルプ情報が提供されるべきであるかを判定する。例えば、ユーザが編集ツールの特定のセットを選択したときに、アプリケーションはディスプレイに編集ツールの選択されたセットのための特定の情報を追加しながら、画面からヘルプ情報の一部を削除する。
【０４２７】
図９１はヘルプ機能の各種操作を提示するいくつかの実施形態のＧＵＩの状態図９１００を概念的に示している。当業者は、状態図９１００が、画像閲覧および編集ＧＵＩのあらゆる状態、あるいはコンテキスト依存ヘルプ機能に関連するすべての状態を包含するのではなく、ＧＵＩ内のヘルプ機能操作のサブセットのみを包含していることを認識するであろう。
【０４２８】
状態図９１００は、図９２〜９６に示したＵＩの例を参照して説明する。具体的には、図９２は、ヘルプアイコンの出現に関連する複数の段階でいくつかの実施形態の画像編集アプリケーションのＧＵＩ９２００を示している。図９３〜９６は、ユーザがＧＵＩ内のさまざまな操作を実行する際のヘルプ機能の起動や表示に関する複数の段階にわたるＧＵＩ９２００を示している。
【０４２９】
図９１に示すように、ユーザが、状態９１０５で画像閲覧、編集、および整理アプリケーションを開くと状態図９１００が始まる。アプリケーションが開くと、アプリケーションが動作するデバイス上でヘルプツールが以前に起動されたかどうかに応じて状態９１１０または９１１５のどちらかの状態に移行する。いくつかの実施形態では、画像編集アプリケーションは、デバイス上に２つの状態（例えば、１または０）を有するパラメータを格納する。まずデバイスにロードされると、アプリケーションはパラメータを第１の状態（例えば、０）に初期化する。ユーザがデバイス上でヘルプツールを起動した後、アプリケーションは他の状態（例えば、１）にパラメータを切り替える。このように、アプリケーションは、パラメータをチェックすることにより、デバイス上でヘルプツールが起動されたかを判定する。
【０４３０】
ヘルプツールがデバイス上で一度も起動されたことのない（例えば、パラメータが０の値である）場合、アプリケーションが開くとＧＵＩは状態９１１０に移行し、この状態において、アプリケーションは、アプリケーションの他のＧＵＩ項目に異なる目立つ方法でヘルプアイコンを表示する。いくつかの実施形態では、ヘルプアイコンは、ユーザがヘルプツールを起動するために選択することができる選択可能なＵＩ項目である。ヘルプツールの異なる実施形態は、ヘルプアイコンの目立つ表示を異なるように実装する。例えば、いくつかの実施形態では、点滅するヘルプアイコン、または鼓動するように見えるアイコンを使って、目立つ方法でヘルプアイコンが表示される。アプリケーションは、小さな第１の状態とより大きい第２の状態の間で切り替わるように、すなわち２つの状態を切り替えるために２つを交互に点滅するか、または拡大・縮小するように、ヘルプアイコンを表示する。
【０４３１】
図９２は、３つの段階９２０５〜９２１５にわたってＧＵＩ９２００に目立つ方法でヘルプアイコンを表示する例を示す。図示のように、ＧＵＩ９２００は、サムネイル表示領域９２３０、画像表示領域９２４５、メニューバー９２４０、ＵＩコントロール表示領域９２６０、およびツールバー９２３５を含む。メニューバー９２４０は、画像トリミングツールのセットを呼び出すための選択可能なＵＩ項目９２４２、露光調整ツールのセットを呼び出すための選択可能なＵＩ項目９２４４、色調整ツールのセットを呼び出すための選択可能なＵＩ項目９２４６、ブラシツールのセットを呼び出すための選択可能なＵＩ項目９２４８、および特殊効果ツールのセットを呼び出すための選択可能なＵＩ項目９２５０を含む、画像編集ツールの異なるセットを呼び出すための選択可能なＵＩ項目のセットを含む。ＵＩコントロール表示領域９２６０は、呼び出されたときにＵＩコントロールの異なるセットを表示するためのものである。この例では、ＵＩコントロール表示領域９２６０は、画像上で自動補正動作を開始するための選択可能なＵＩ項目９２６２、画像の回転動作を開始するための選択可能なＵＩ項目９２６４、画像にフラグを付けるための選択可能なＵＩ項目９２６６、お気に入りとして画像をマークするための選択可能なＵＩ項目９２６８、および画像を非表示にするための選択可能なＵＩ項目９２７０を含む、画像閲覧ＧＵＩ用のＵＩ項目のデフォルトのセットを含む。
【０４３２】
ツールバー９２３５は、コレクション整理ＧＵＩに戻るように移動するための選択可能なＵＩ項目９２３２、ヘルプツールを呼び出すための選択可能なＵＩ項目９２５０（すなわち、ヘルプアイコン）、表示されている画像のための情報ウィンドウの呼び出しを表示するための選択可能なＵＩ項目９２５２、および表示された画像の元のバージョンと編集されたバージョンとの間を切り替えるための選択可能なＵＩ項目９２５４を含む、追加の選択可能な項目を含む。
【０４３３】
図９２において、ヘルプツールは、デバイス上で一度も起動されていないため、アプリケーションは目立つ方法でヘルプアイコンを表示する。この例では、アプリケーションは拍動、または鼓動するようにヘルプアイコン９２５０を表示する。図示のように、ヘルプアイコンは、クエスチョンマークのグラフィックを含む。このクエスチョンマークは鼓動するような外観を生成するために拡大および縮小する。第１の段階９２０５で、ヘルプアイコンは、アイコンの境界を越える大きなクエスチョンマークを有する。
【０４３４】
第２の段階９２１０は、ヘルプアイコン９２５０が最小の状態であるＧＵＩ９２００を示している。図示のように、ヘルプアイコン９２５０は、ヘルプアイコン９２５０の枠で完全に囲まれているアイコン上の小さなクエスチョンマークで示されるように、もはやハイライトされていない。第１の段階９２０５から第２の段階９２１０になるために、アプリケーションはアイコンのクエスチョンマーク部分のサイズを素早く小さくする。いくつかの実施形態において、第２の段階９２１０は、第１の段階９２０５の後に、非常に短い期間（例えば、０．５秒）内でのみ発生する。
【０４３５】
第３の段階９２１５は、段階９２０５と同様に、アプリケーションがヘルプアイコン９２５０内のクエスチョンマークの大きさをその最大の大きさに再び拡大した後のＧＵＩ９２００を示す。いくつかの実施形態において、アプリケーションが第１の段階９２０５から第２の段階９２１０になるための時間は、第２の段階９２１０から第３の段階９２１５になるまでの時間と同じである。アプリケーションは、いくつかの実施形態では、ヘルプアイコンのサイズを縮小し、その後そのアイコンのサイズを素早く拡大し、以下同様である。いくつかの実施形態において、アプリケーションは、ユーザが少なくとも一度はヘルプ機能を呼び出すまで、このようにヘルプアイコンを表示する。
【０４３６】
図９１に戻って参照すると、アプリケーションが開く際にヘルプツールが以前にデバイス上で呼び出されていたとアプリケーションが判定した場合、ヘルプツールは状態９１１５に移行し、ＧＵＩは他のアイコンと同じ方法でヘルプアイコンを表示する。すなわち、ヘルプアイコンは、図９２の第２の段階９２１０に示されるものと同様に通常の状態で現れる。
【０４３７】
状態９１１０または状態９１１５にある間、アプリケーションがヘルプアイコンの選択を受信すると、（ｉ）不変ＧＵＩ項目と（ｉｉ）ユーザツールの現在選択されているレベルとのためのヘルプインジケータを表示するために、ＧＵＩは状態９１２０に移行する。いくつかの実施形態ではＧＵＩ項目は、ユーザツールの異なるセットを含む。例えば、いくつかの実施形態では、第１のセットとしてデフォルトのツール（自動補正、回転、フラグ付け、お気に入り、非表示）を含み、さらに編集ツールの様々なセット（例えば、トリミングツール、露光ツール、色調整ツール、ブラシツール、および特殊効果ツール）を含む。デフォルトツールがＧＵＩに表示される際、いくつかの実施形態では、デフォルトのツールだけでなく、（編集ツールの異なるセットを起動するための）様々な編集起動項目のヘルプインジケータを表示する。編集ツールのセットのいずれかが起動されると、アプリケーションは、デフォルトツールの代わりにこれらのツールを表示する。ヘルプ機能が呼び出されている場合、いくつかの実施形態は、異なる編集起動項目のヘルプインジケータを表示するのではなく、その代わりに、選択された編集ツールのヘルプインジケータのみを表示する。いくつかの実施形態では、不変ＧＵＩ項目は、どの項目が選択されているかにかかわらず、常にＧＵＩに存在する項目を含む。これらの項目は、オリジナル切り替えボタン、共有ボタン、情報ボタン、および他のＧＵＩ項目を含み得る。
【０４３８】
いくつかの実施形態において、アプリケーションは、（１）ユーザが編集ツールの新しいセットを選択するか、（２）ユーザが、現在選択されている編集ツールのいずれかを移動するか、または（３）ユーザがヘルプ機能を無効にするためにヘルプアイコンを選択するかをしない限り、状態９１２０にとどまる。ユーザがツールの新しいセットを選択すると、アプリケーションは現在選択されているユーザツールのレベルを変更するために状態９１２５に移行し、その後新しい現在選択されているツールのレベルのためのヘルプインジケータを表示するために状態９１２０に戻るように移行する。
【０４３９】
図９３は、３つの異なる段階９３０５〜５７１５にわたってＧＵＩ９２００のコンテキスト依存ヘルプツールを呼び出して、ユーザツールの選択されたセットを変更する例を示している。第１の段階９３０５は、画像表示領域９２４５が１つの画像のみを含むことを除いて、図９２の第１の段階９２０５と同様である。第２の段階９３１０は、ユーザがヘルプツールを起動した後のＧＵＩ９２００を示している。いくつかの実施形態では、ヘルプツールはヘルプアイコンを選択することによって起動することができる。図示のように、ユーザはヘルプアイコン９２５０に指をタップすることによって、ヘルプツールを起動した。選択の結果として、アプリケーションは、ＧＵＩ上に様々なヘルプインジケータを重畳する。これらのヘルプインジケータは、さまざまなＧＵＩ項目のための短い説明情報を表示する。
【０４４０】
第２の段階９３１０では、アプリケーションはツールバー９２３５内で常に表示されるＧＵＩ項目９２３８、９２５２、および９２５４に対してヘルプインジケータ９３２５を表示する。これらのヘルプインジケータは共有ボタン９２３８に「共有（Share）」、情報ボタン９２５２に「画像情報（Image info）」、およびオリジナル切り替えボタン９２５４に「オリジナル表示（Show Original）」のラベルが付くが、様々な実施形態は、項目の１つ以上に対して異なる記述を用いる。また、いくつかの実施形態は、選択可能である項目のためのヘルプインジケータのみを表示する。ユーザが表示された画像をまだ編集していない場合、オリジナル切り替えボタンは効果がないので、いくつかの実施形態では、そのヘルプインジケータを表示しない。いくつかの実施形態は、ツールバー９２３５内に異なる項目（例えば、アンドゥボタン）のヘルプインジケータを表示する。
【０４４１】
ヘルプツールはまた、ユーザツールの現在選択されているレベルのためのインジケータ９３３５のセット（「自動補正（Auto-Enhance）」、「回転（Rotate）」、「フラグ付き（Flag）」、「お気に入り（Favorite）」、および「非表示（Hide）」）を表示する。また、ツールのこのレベル（編集起動項目のいずれもが選択されていないときに表示される、ユーザツールのデフォルトのセット）である際に、アプリケーションは、ユーザに異なる編集オプション（「トリミング（Crop）」、「露光（Exposure）」、「色（Color）」、「ブラシツール（Brush Tool）」、および「特殊効果（Special Effects）」）を示す編集起動項目９２４２、９２４４、９２４６、９２４８、および９２６２用のヘルプインジケータ９３３０を表示する。常に存在するＧＵＩの項目と同様に、異なる実施形態は、同じ項目に異なる説明を使用してもよく、またはＧＵＩ項目の異なるセットを有してもよい。いくつかの実施形態では、ヘルプインジケータのセットは選択可能なＵＩ項目である。このような実施形態では、ユーザがヘルプインジケータを選択すると、アプリケーションは、対応するＧＵＩ項目の機能と動作についてのより詳細な情報を重畳する。
【０４４２】
いくつかの実施形態は、項目の一部についてヘルプインジケータ内で使用するための指示が表示される。例えば、いくつかの実施形態では、「回転」インジケータは「９０°回転。さらなるオプションには長押し」などのさらなる情報を含む。図示のように、９３１０においてアプリケーションが重畳されたヘルプインジケータは、ズームツールの使用に関する指示を提供する、画像表示領域の中央のズームツールのためのインジケータ９３６５と、選択入力の異なる種類を説明するサムネイル表示領域のためのインジケータ９３７５とを含む。
【０４４３】
図９３の第３の段階９３１５は、ＧＵＩ９２００の新しいツールのセットをユーザが選択する例を示す。第３の段階９３１５に示されるように、ユーザは、露光調整ツールのセットを呼び出すためのメニューバー９２４０内の選択可能なＵＩ項目９２４４を選択している。その結果、アプリケーションは、自動補正、回転、およびタグ付けのＵＩ項目に置き換えて、ＵＩコントロール表示領域９２６０内に露光調整ツールのセットを表示する。露光調整ツールのセットは、影調整ツール９３４０、コントラスト調整ツール９３４５及び９３５０のセット、明るさ調整ツール９３５５、およびハイライト調整ツール９３６０を含む。ツールの新しいセットをユーザが選択した結果、様々な編集起動ツール９２４２、９２４４、９２４６、９２４８、および９２６２のためのヘルプインジケータ９３３０を除去しながら、新しく表示されるツールのセットのためのヘルプインジケータ９３７０（「ブラックポイントおよび影（Black point & Shadows）」、「コントラスト（Contrast）」、「ハイライト（Highlights）」、「コントラスト（Contrast）」、および「ホワイトポイントおよびハイライト（White point & Highlights）」）を重畳する。また、アプリケーションは、ユーザが画像自体の上にタッチしてドラッグすることによって、画像のための露光データを調整することができることを示すために画像表示領域内にインジケータ９３８０を重畳する。また、ユーザがＧＵＩツールのどのセットを選択したかにかかわらず、共有ボタン、画像情報ボタン、およびオリジナル切り替えボタンのためのヘルプインジケータシェア９３２５は残る。
【０４４４】
図９４は、ユーザが２つの異なる段階９４０５及び９４１０でＧＵＩ９２００内の新しいツールのセットを選択した場合のヘルプ機能の変更の別の例を示す。第１の段階９４０５は、図９３の第２の段階９３１０と同一である。図示のように、ＧＵＩ９２００におけるヘルプインジケータ９３２５、９３３０、９３３５、９３６５、および９３７５のセットの出現によって示されるように、ヘルプツールが起動されている。第２の段階９４１０は、ユーザがＧＵＩ９２００で表示するためのツールの新しいセットを選択した後のＧＵＩ９２００を示している。この場合、ユーザは、ブラシツールのセットを呼び出すためのメニューバー９２４０内の選択可能なＵＩ項目９２４８を選択している。このように、アプリケーションは、ＧＵＩ９２００において異なる画像調整動作を呼び出すためのブラシツールのセット９４２５を表示する。ツールの新しいセットをユーザが選択した結果、ヘルプツールはさらに、異なる編集起動ツールのためのヘルプインジケータ９３３０のセットを除去しながら、ブラシツール９４２５の新しいセットのためのヘルプインジケータ９４３０の新しいセットを表示する。
【０４４５】
図９１の段階図９１００に戻って、アプリケーションが状態９１２０にある間、ユーザが現在選択されているツールのいずれかを移動すると、アプリケーションは、移動するＧＵＩツールと一緒にヘルプインジケータを移動するために状態９１３０に移行する。例えば、ユーザがスライダを移動すると、そのスライダのヘルプインジケータはそれと一緒に移動する。
【０４４６】
図９５は、３つの段階９５０５〜９５１５にわたってアプリケーションがヘルプインジケータを対応する編集ツールと一緒に自動的に移動する例を示している。第１の段階９５０５は、図９３の第３の段階の９３１５と同一であり、ヘルプツールは起動してあり、露光調整ツールは選択されている。図示のように、アプリケーションは、露光調整ツール９３４０〜９３６０のセットのためのヘルプインジケータ９３７０のセットを表示する。第２の段階９５１０は、ユーザが露光調整スライダのいずれかを移動するためにタッチスクリーンに接触し始める際のＧＵＩ９２００を示している。第３の段階９５１５は、ユーザによるコントラスト調整ツール９３４５の移動を示す。この移動の結果として、（「コントラスト（Contrast）」のラベルが付いている）ヘルプインジケータ９３７０はツールと一緒に右に移動する。また、コントラストツールのいずれかを移動すると、他のコントラストツールも同様に移動し、これによりその他のコントラストスライダ９３５０はそのヘルプインジケータと一緒に左に移動する。この移動の結果として、表示された画像のコントラストが変更される。
【０４４７】
図９１に戻って参照すると、ヘルプツールが起動された後、ユーザが再度ヘルプアイコンを選択すると、ヘルプツールは、ＧＵＩからすべてのヘルプインジケータを削除する。さらに、ユーザが既にデバイスのヘルプツールを起動しているので、図９３の段階９３０５に示されているように、ヘルプツールが他のアイコンと同様にヘルプアイコンを表示した状態９１１５にヘルプツールは戻る。
【０４４８】
上述したように、ユーザがヘルプインジケータの１つを選択すると、いくつかの実施形態では、選択された機能に関する詳細なヘルプ記事が表示される。いくつかの実施形態は、外部の場所から（例えば、インターネットを介して）これらのヘルプ記事をダウンロードするか、またはアプリケーションと記憶する。
【０４４９】
図９６は、３つの異なる段階９６０５〜９６１０にわたってＧＵＩ９２００を介してＧＵＩ項目のいずれかに関連した詳細なヘルプ記事を表示する例を示す。第１の段階９６０５は、図９４の第１の段階９４０５と同一であり、ＧＵＩ９２００に示すＧＵＩ項目のためのヘルプインジケータの表示によって示されるようにヘルプツールを起動する。ユーザがヘルプインジケータのいずれかを選択すると、アプリケーションは、対応するＧＵＩ項目に関連する機能及び動作に関する詳細情報を表示する。
【０４５０】
第２の段階９４１０は、ヘルプインジケータの１つをユーザが選択することを示している。具体的に、ユーザは、トリミング項目９２４２のためのヘルプインジケータを（例えば、示されるようにタップ、クリック選択などにより）選択することにより、アプリケーションにトリミングインジケータをハイライトさせる。
【０４５１】
選択の結果として、アプリケーションは段階９６１５でＧＵＩ９２００上にトリミングツールの詳細なヘルプ情報９６３０を重畳する。上述のように、いくつかの実施形態では、詳細なヘルプ情報の内容は画像編集アプリケーションが実行されるデバイス上に格納されている。これらの実施形態において、ユーザがヘルプインジケータを選択すると、アプリケーションは、ＧＵＩ９２００上に情報を表示する前に、デバイスから対応するヘルプ情報を取得する。他の実施形態では、詳細なヘルプ情報は、デバイスがネットワーク（例えば、インターネット）を介して接続する１つ以上の遠隔地に格納される。これらの実施形態において、ユーザがヘルプインジケータを選択すると、アプリケーションは、ＧＵＩ９２００上に情報を表示する前に、ネットワークを介してこれらの遠隔地のうちの１つから詳細なヘルプ情報を取得する。
【０４５２】
図９７は、いくつかの実施形態における異なるＧＵＩ項目のためのヘルプインジケータの表示の別の例を示す。具体的には、図９７は、ＧＵＩ９３００の４つの段階９７１０〜９７４０にわたってヘルプインジケータの動きおよび色調整ツールのためのヘルプインジケータの複数のレベルを示している。第１の段階９７１０は、図９４の第１の段階９４０５と同一であり、ＧＵＩ９２００に示すＧＵＩ項目のためのヘルプインジケータの表示によって示されるように、ヘルプツールが起動されている。
【０４５３】
第２の段階９７２０は、ユーザが色調整起動項目９２４６を選択した後のＧＵＩ９２００を示している。これにより、アプリケーションはツールバー９２６０に４つの色調整スライダを表示させる。ヘルプインジケータ９７０５によって示されるように、これらのスライダは、ユーザが表示画像の彩度、空の色、緑の色、および皮膚の色調を調整することを可能にする。また、色調整ツールは、ヘルプインジケータ９７２５によって示されるホワイトバランス項目９７１５を含む。
【０４５４】
第３の段階９７３０において、ユーザは、画像の空の色の彩度を増加させるために、青い空のスライダ９７４５を右に移動する。これはまた、スライダ９７４５のためのヘルプインジケータ９７０５を右に移動させる。そうすることで、インジケータは緑のスライダのためのヘルプインジケータと重なるようになる。その結果、アプリケーションは、ユーザがヘルプインジケータの全体を見ることができるように、緑のスライダヘルプインジケータを（より長い脚を使用して）上向きに自動的に移動する。
【０４５５】
第４の段階９７４０は、ホワイトバランス項目９７１５をユーザが選択した結果を示す。図示のように、アプリケーションは多数の選択可能なホワイトバランスオプションを提供するツールバー９７５０を重畳する。これらの項目が表示された状態で、アプリケーションは色調整のスライダのためのヘルプインジケータ９７０５を除去し、代わりに異なるホワイトバランス項目のインジケータ９７５５を重畳する。
【０４５６】
ＶＩＩＩ．ソフトウェアアーキテクチャ
いくつかの実施形態において、上記のプロセスは、コンピュータまたはハンドヘルドデバイスなどの特定の機械上で実行されるソフトウェアとして実装されるか、又は機械可読媒体に格納されている。図９８はいくつかの実施形態による画像閲覧、編集、および整理アプリケーション９８００のソフトウェアアーキテクチャを概念的に示している。いくつかの実施形態では、画像閲覧、編集、および整理アプリケーションは、スタンドアロンのアプリケーションであるか、または別のアプリケーションに統合されるが、他の実施形態では、アプリケーションはオペレーティングシステム内に実装されてもよい。さらに、いくつかの実施形態では、アプリケーションは、サーバベースのソリューションの一部として提供される。いくつかのそのような実施形態では、アプリケーションは、シンクライアントを介して提供される。つまり、サーバから遠く離れた別個の機械を介してユーザがアプリケーションとインタラクションしながら、アプリケーションはサーバ上で実行される。他のそのような実施形態では、アプリケーションはシッククライアントを介して提供される。つまり、アプリケーションはサーバからクライアントマシンに配信され、クライアントマシン上で実行される。
【０４５７】
画像閲覧、編集、および整理アプリケーション９８００は、ユーザインタフェース（ＵＩ）インタラクションおよび生成モジュール９８０５、メディア取り込みモジュール９８１０、ヒストグラム生成部９８１５、編集モジュール９８２０、画像処理部９８２５、画像表示領域生成部９８３０、画像選択部９８３５、画像タグ付け部９８４０、画像比較部９８４５、および共有管理部９８５０を含む。この図はさらに、アプリケーション９８００に関連付けられた格納データ、すなわちソース画像９８５５、画像データ９８６０、コレクションデータ９８６５、およびキャッシュ画像９８７０を示す。
【０４５８】
いくつかの実施形態では、ソース画像９８３５は、アプリケーションにインポートされた画像ファイル（および、場合によっては、ビデオファイル又は他のメディア）を記憶する（すなわち、ローカル画像データベース）。いくつかの実施形態では、画像ファイルは、アプリケーション９８００が通信する他の画像閲覧および整理アプリケーションに関連付けられてもよい。画像データ９８６０はいくつかの実施形態の画像データ構造を格納し、コレクションデータ９８６５はコレクションデータ（例えば、アルバム、イベント、ジャーナルなど）を格納する。キャッシュ画像９８７０は画像のキャッシュされたバージョン（例えば、サムネイル、表示サイズの画像など）を格納する。いくつかの実施形態では、データの４つのセット９８５５〜９８７０は１つの物理記憶装置（例えば、内部ハードドライブ、外部ハードドライブ、ソリッドステートメモリ等）に格納される。いくつかの実施形態では、データは複数の物理記憶装置間で分割されてもよい。
【０４５９】
図９８はまた、入力デバイスドライバ（群）９８８０、ディスプレイモジュール９８８５、メディアインポートモジュール９８９０、及びネットワークインタフェース（群）９８９５を含むオペレーティングシステム９８７５を示す。いくつかの実施形態では、図示するように、メディア編集アプリケーション９８００がオペレーティングシステムとは別々のアプリケーションである場合に、デバイスドライバ９８８０、ディスプレイモジュール９８８５、メディアインポートモジュール９８９０、およびネットワークインタフェース９８９５はオペレーティングシステムの一部である。
【０４６０】
入力デバイスドライバ９８６０は、タッチスクリーンだけでなく、キーボード、マウス、タッチパッド、タブレットなどからの信号を変換するためのドライバを含み得る。対応するデバイスドライバに信号を送信するこれらの入力デバイスのうちの１つ以上とユーザはインタラクションをする。その後デバイスドライバは、ＵＩインタラクションおよび生成モジュール９８０５に提供されるユーザ入力データに信号を変換する。
【０４６１】
本出願は、動作および機能の異なるセットを行うためにさまざまな方法をユーザに提供するグラフィカルユーザインタフェースを記述する。いくつかの実施形態では、これらの動作と機能は、異なるタイプのタッチスクリーンデバイスを介してユーザから受信される異なるコマンドに基づいて行われる。例えば、本出願は、グラフィカルユーザインタフェース内のオブジェクトを制御（例えば、選択、移動）するために（例えば、１以上の指での）タッチスクリーン入力の使用を示す。しかし、いくつかの実施形態では、グラフィカルユーザインタフェース内のオブジェクトはまた、カーソルなどの他のコントロールによって制御又は操作することができる。いくつかの実施形態では、カーソル制御は、デバイスのディスプレイ上の異なる位置にカーソルを移動する入力デバイスを介して実装される。カーソルの位置に基づいて、さまざまなアクション（例えば、ＧＵＩ項目の選択）を実行するために、異なる入力（例えば、マウスボタンのクリック等）を使用することができる。したがって、上記の画像の多くはカーソルを示していないが、いくつかの実施形態では、（タッチコントロールの有無にかかわらず）カーソルを使用して同じアクションを実行する。
【０４６２】
表示モジュール９８８５は表示デバイスのためにユーザインタフェースの出力を変換する。すなわち、表示モジュール９８８５は、表示するべきものを記述する信号を（例えば、ＵＩインタラクションおよび生成モジュール９８０５から）受信し、表示デバイスに送信される画素情報にこれらの信号を変換する。表示デバイスは、ＬＣＤ、プラズマススクリーン、ＣＲＴモニタ、タッチスクリーンなどであってもよい。いくつかの実施形態では、表示モジュール９８８５と、入力デバイスドライバ（群）９８８０とは、単一のタッチスクリーンドライバの一部である。
【０４６３】
メディアインポートモジュール９８９０はメディア編集アプリケーション９８００が動作するデバイスの１つ以上のポート（例えば、ＵＳＢポート、ファイヤワイヤポート等）を介して外部記憶装置（例えば、外付けドライブ、記録装置など）からメディアファイル（例えば、画像ファイル等）を受信し、アプリケーション９８００のためにこのメディアデータを変換するか、またはデータをデバイスの記憶装置に直接格納する。
【０４６４】
メディア編集アプリケーション９８００のＵＩインタラクションおよび生成モジュール９８０５は、入力デバイスドライバから受信したユーザ入力データを解釈し、メディア取り込みモジュール９８１０、編集モジュール９８２０、画像処理部９８２５、画像表示領域生成部９８３０、画像選択部９８３５、および画像タグ付け部９８４０を含む、様々なモジュールにそれを渡す。ＵＩインタラクションモジュールはさらに、メディア編集アプリケーションのＧＵＩの表示を管理し、表示モジュール９８６５にこの表示情報を出力する。このＵＩ表示情報は編集モジュール９８１５、タイムライン生成部９８２０、角度ビューア生成部９８２７、再生部９８３０、データ９８３５〜９８５０等に基づいてもよい。さらに、モジュール９８０５は、例えば、ＵＩの片側から反対側にウィンドウを移動することや、クリップブラウザとクリップライブラリの相対的なサイズを変更することなど、他の何れかのモジュールではなく表示のみに影響を与えるＵＩ内の項目をユーザが移動する場合に、ユーザ入力のみに基づいてＵＩの部分を生成することができる。いくつかの実施形態では、ＵＩインタラクションおよび生成モジュール９８０５は、基本的なＧＵＩを生成し、他のモジュールと格納されたデータとからの情報をＧＵＩに投入する。
【０４６５】
メディア取り込みモジュール９８１０は、アプリケーション９８００へのソースメディアのインポートを管理する。いくつかの実施形態は、図示のように、オペレーティングシステム９８７５のメディアインポートモジュール９８９０からソースメディアを受信する。メディア取り込みモジュール９８１０は、どのファイルをインポートするべきかに関する指示を、ＵＩモジュール９８０５を介して受信し、その後メディアインポートモジュール９８９０に、（例えば、外付けドライブ、外付けカメラ、アプリケーションが動作するデバイス上のカメラ、デバイス上の別のアプリケーションなどからの）このインポートを可能にするように指示する。いくつかの実施形態のメディア取り込みモジュール９８１０は、ソース画像９８５５にこれらの画像を記憶する。いくつかの実施形態において、メディア取り込みモジュール９８１０はまた、ソース画像のインポートの際に画像データ構造の作成を管理する。
【０４６６】
ヒストグラム生成部９８１５は、いくつかの実施形態において、インポートされた各画像に対して色ヒストグラム、テクスチャヒストグラム、および形状ヒストグラムを生成する。いくつかの実施形態のヒストグラム生成部９８１５は、図５２を参照して上に詳細に説明する。
【０４６７】
編集モジュール９８１５は、画像を編集するためのさまざまなモジュールを含む。編集モジュール９８１５は、さまざまな編集ＧＵＩツールを生成し、これらのツールからの入力を画像用の編集命令（例えば、トリミング命令、回転命令、色調整命令など）に変換する。画像を出力する必要がある場合、画像処理部９８２５は、画像に編集命令を適用する。例えば、ユーザが表示された画像に編集を追加するときに、編集モジュール９８２０のうちの適切なものは、画像用の編集命令を変更し、画像処理部９８２５は、所望の画像を生成するためにこれらの命令を適用する。
【０４６８】
画像表示領域生成部９８３０は、画像表示領域の生成を処理する。画像表示領域生成部９８３０は、表示する画像のセットを（例えば、ＵＩインタラクションおよび生成モジュール９８０５又は画像選択部９８３５から）受信する。いくつかの実施形態の生成部９８３０は、画像の平均アスペクト比を算出し、画像表示領域にグリッドを定義し、画像を表示するために使用する画素数を算出し、各画像のサイズを算出する。
【０４６９】
画像選択部９８３５は様々なユーザインタラクションを、画像表示領域生成部９８３０に送信するための１つ以上の選択に変換する。ユーザが特定の画像に類似する画像のセットを要求すると、画像選択部は、類似画像を識別するために画像比較部９８４５を使用する。いくつかの実施形態の画像比較部９８４５は、図５２を参照して上に説明してある。画像タグ付け部９８４０は、１つ以上の画像にタグを付けするためにユーザ入力を受信し、それに応じて画像のデータ構造を変更する。
【０４７０】
共有管理部９８５０は、さまざまな写真共有ウェブサイト（例えば、Ｆａｃｅｂｏｏｋ、Ｔｗｉｔｔｅｒ、およびＦｌｉｃｋｒなど）上の画像の共有を管理する。いくつかの実施形態では、共有管理部９８５０は、画像をアップロードし、アップロードされた画像のオブジェクトＩＤを受信および格納し、画像へのコメントを受信／アップロードするために、ネットワークインタフェース（群）９８９５を介してこれらのウェブサイトに接続する。
【０４７１】
メディア編集アプリケーション９８００の特徴の多くが１つのモジュール（例えば、ＵＩインタラクションおよび生成モジュール９８０５、メディア取り込みモジュール９８１０等）によって実行されるものとして説明してきたが、当業者は本明細書に説明された機能は、複数のモジュールに分割され得ることを認識するであろう。同様に、複数の異なるモジュールによって実行されるものとして説明された機能は、いくつかの実施形態では単一のモジュールによって実行され得る（例えば、画像表示領域生成部９８３０と画像選択部９８３５とは、ＵＩインタラクションおよび生成モジュール９８０５の一部であってもよい）。
【０４７２】
ＩＸ．電子システム
上述の機能とアプリケーションの多くは、コンピュータ読み取り可能な記憶媒体（コンピュータ可読媒体とも呼ばれる）に記録された命令セットとして特定されたソフトウェアプロセスとして実施される。これらの命令は、１つ以上の演算または処理ユニット（群）（例えば、１つ以上のプロセッサ、プロセッサのコア、または他の処理ユニット）により実行されたときに、命令に示された動作を処理ユニット（群）に実行させる。コンピュータ可読媒体の例は、ＣＤ−ＲＯＭ、フラッシュドライブ、ランダムアクセスメモリ（ＲＡＭ）チップ、ハードドライブ、消去可能なプログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）などを含むが、これらに限定されない。コンピュータ可読媒体は、搬送波と、ワイヤレスまたは有線接続を介して伝わる電子信号とを含んでいない。
【０４７３】
本明細書において、「ソフトウェア」という用語は、リードオンリメモリにあるファームウェアまたはプロセッサによる処理のためにメモリに読み込むことが可能な磁気記憶装置に記憶されたアプリケーションを含むことを意味する。さらに、いくつかの実施形態では、複数のソフトウェア発明は、特徴的なソフトウェア発明を維持しながらも、より大きなプログラムの下位部分として実装することができる。いくつかの実施形態において、複数のソフトウェア発明はまた、別々のプログラムとして実装することができる。最後に、本明細書に記載されているソフトウェアの発明を一緒になって実装する別々のプログラムの任意の組合せも、本発明の範囲内である。いくつかの実施形態では、ソフトウェアプログラムは、１つ以上の電子システム上で動作するようにインストールされた場合、ソフトウェアプログラムの動作を実行し、行う１つ以上の特定のマシンの実装を規定する。
【０４７４】
Ａ．モバイルデバイス
いくつかの実施形態の画像編集および閲覧アプリケーションはモバイルデバイス上で動作する。図９９は、このようなモバイルコンピューティングデバイスのアーキテクチャ９９００の例である。モバイルコンピューティングデバイスの例は、スマートフォン、タブレット、ノートパソコンなどを含む。図示のように、モバイルコンピューティングデバイス９９００は、１つ以上の処理ユニット９９０５、メモリインタフェース９９１０および周辺インタフェース９９１５を含む。
【０４７５】
周辺インタフェース９９１５は様々なセンサや、カメラサブシステム９９２０、無線通信サブシステム（群）９９２５、オーディオサブシステム９９３０、Ｉ／Ｏサブシステム９９３５などを含むサブシステムに結合されている。周辺インタフェース９９１５は、処理ユニット９９０５と様々な周辺機器間の通信を可能にする。例えば、方位センサ９９４５（例えば、ジャイロスコープ）と加速度センサ９９５０（例えば、加速度計）が方位機能と加速度機能とを容易にするために、周辺インタフェース９９１５に結合されている。
【０４７６】
カメラサブシステム９９２０は、１つ以上の光学センサ９９４０（例えば、電荷結合素子（ＣＣＤ）光学センサ、相補型金属酸化膜半導体（ＣＭＯＳ）光学センサ等）に結合されている。光学センサ９９４０に結合されたカメラサブシステム９９２０は、画像および／またはビデオデータ取り込みなどのカメラ機能を容易にする。無線通信サブシステム９９２５は、通信機能を容易にする役割を果たす。いくつかの実施形態では、無線通信サブシステム９９２５は、高周波受信機と高周波送信機および光学受信機と光学送信機（図９９には図示されていない）を含む。いくつかの実施形態のこれらの受信機と送信機は、ＧＳＭ（登録商標）ネットワーク、ＷｉＦｉネットワーク、Ｂｌｕｅｔｏｏｔｈネットワーク等などの１つ以上の通信ネットワークで動作するように実装されている。オーディオサブシステム９９３０は、オーディオを出力するために（例えば、異なる画像操作に関連付けられた異なる効果音を出力するために）スピーカに結合される。また、オーディオサブシステム９９３０は、音声認識、デジタル録音などの音声対応機能を容易にするために、マイクロフォンに結合されている
【０４７７】
Ｉ／Ｏサブシステム９９３５は、周辺インタフェース９９１５を介してディスプレイやタッチスクリーンなどの入出力周辺デバイスと処理ユニット９９０５のデータバス９９０５との間での転送を伴う。Ｉ／Ｏサブシステム９９３５は、入出力周辺デバイスと処理ユニット９９０５のデータバスとの間の転送を容易にするためにタッチスクリーンコントローラ９９５５および他の入力コントローラ９９６０を含む。図示のように、タッチスクリーンコントローラ９９５５は、タッチスクリーン９９６５に結合されている。タッチスクリーンコントローラ９９５５は、複数のタッチ感知技術のいずれかを使用して、タッチスクリーン９９６５上の接触と動きを検知する。他の入力コントローラ９９６０は、１つ以上のボタンなどの他の入力／制御デバイスに結合される。いくつかの実施形態は、タッチインタラクションの代わりに又はこれに追加して、ニアタッチインタラクションを検出することができるニアタッチセンシティブスクリーンおよび対応するコントローラを含む。
【０４７８】
メモリインタフェース９９１０はメモリ９９７０に結合されている。いくつかの実施形態では、メモリ９９７０は、揮発性メモリ（例えば、高速ランダムアクセスメモリ）、不揮発性メモリ（例えば、フラッシュメモリ）、揮発性メモリおよび不揮発性メモリの組み合わせ、および／または他のタイプのメモリを含む。図９９に示すように、メモリ９９７０は、オペレーティングシステム（ＯＳ）９９７２を格納する。ＯＳ９９７２は、基本的なシステムサービスを処理するための命令、およびハードウェアに依存するタスクを実行するための命令を含む。
【０４７９】
メモリ９９７０は、１つ以上の追加デバイスとの通信を容易にするための通信命令９９７４、グラフィックユーザインタフェース処理を容易にするためのグラフィカルユーザインタフェース命令９９７６、画像関連処理及び機能を容易にするための画像処理命令９９７８、入力（例えば、タッチ入力）関連の処理および機能を容易にするための入力処理命令、オーディオ関連処理及び機能を容易にするためのオーディオ処理命令９９８２、およびカメラに関する処理及び機能を容易にするためのカメラ命令９９８４を含む。前述の命令は、単に例示的なものであり、いくつかの実施形態において、メモリ９９７０は追加の命令および／または他の命令を含む。例えば、スマートフォンのメモリは電話関連処理及び機能を容易にするための電話命令を含んでもよい。上記で識別された命令は、別個のソフトウェアプログラム又はモジュールとして実装される必要はない。モバイルコンピューティングデバイスの種々の機能は、１つ以上の信号処理集積回路及び／又は特定用途向け集積回路を含む、ハードウェアおよび／またはソフトウェアで実装することができる。
【０４８０】
図９９に示すコンポーネントは、別々のコンポーネントとして示されているが、当業者は、２つ以上のコンポーネントが１つ以上の集積回路に統合されてもよいことを認識するであろう。また、２つ以上のコンポーネントは１つ以上の通信バスや信号線によって互いに結合されてもよい。さらに、機能の多くは１つのコンポーネントによって実行されるものとして説明してきたが、また、当業者は、図９９に関して説明した機能は、２つ以上の集積回路に分割することができることを理解するであろう。
【０４８１】
Ｂ．コンピュータシステム
図１００は、本発明のいくつかの実施形態を実装する電子システム１００００の他の例を概念的に示す。電子システム１００００は、コンピュータ（例えば、デスクトップコンピュータ、パーソナルコンピュータ、タブレットコンピュータ等）、電話、ＰＤＡ、または任意の他の種類の電子デバイス又はコンピューティングデバイスのであってもよい。このような電子システムは、様々なタイプのコンピュータ可読媒体と、様々な他のタイプのコンピュータ可読媒体とのインタフェースとを含む。電子システム１００００は、バス１０００５、処理ユニット（群）１００１０、グラフィックス処理ユニット（ＧＰＵ）１００１５、システムメモリ１００２０、ネットワーク１００２５、リードオンリメモリ１００３０、永久記憶装置１００３５、入力デバイス１００４０および出力デバイス１００４５を含む。
【０４８２】
バス１０００５は電子システム１００００の多数の内部デバイスを通信可能に接続するすべてのシステムバス、周辺機器バス、およびチップセットバスをまとめて表す。例えば、バス１０００５は、処理ユニット（群）１００１０を、リードオンリメモリ１００３０と、ＧＰＵ１００１５、システムメモリ１００２０、および永久記憶装置１００３５に通信可能に接続する。
【０４８３】
これらの種々のメモリユニットから、処理ユニット（群）１００１０は、本発明のプロセスを実行するために実行する命令及び処理するデータを取得する。処理ユニット（群）は、別の実施形態で、単一のプロセッサ又はマルチコアプロセッサであってもよい。いくつかの命令はＧＰＵ１００１５に渡され、ＧＰＵ１００１５によって実行される。ＧＰＵ１００１５は、各種の演算をオフロードするか、または処理ユニット（群）１００１０によって提供される画像処理を補完することができる。いくつかの実施形態では、そのような機能は、Ｃｏｒｅｌｍａｇｅのカーネルシェーディング言語を使用して提供することができる。
【０４８４】
リードオンリメモリ（ＲＯＭ）１００３０は処理ユニット（群）１００１０および電子システムの他のモジュールによって必要とされる静的データ及び命令を記憶する。一方、永久記憶装置１００３５は、リード・ライトメモリデバイスである。このデバイスは、電子システム１００００がオフの状態でも、命令およびデータを記憶する不揮発性メモリユニットである。本発明のいくつかの実施形態は、永久記憶装置１００３５として大容量記憶装置（磁気ディスクまたは光ディスクおよびそれに対応するディスクドライブなど）を使用する。
【０４８５】
他の実施形態は、永久記憶装置としてリムーバブルストレージデバイス（例えば、フロッピーディスク（登録商標）、フラッシュメモリデバイス等、及びそれに対応するドライブ）を使用する。永久記憶装置１００３５のように、システムメモリ１００２０は、リード・ライトメモリデバイスである。しかし、記憶装置１００３５とは異なり、システムメモリ１００２０は、ランダムアクセスメモリのような、揮発性リード・ライトメモリである。システムメモリ１００２０は、プロセッサが実行時に必要とする命令とデータの一部を記憶する。いくつかの実施形態では、本発明のプロセスは、システムメモリ１００２０、永久記憶装置１００３５、および／またはリードオンリメモリ１００３０に格納される。例えば、様々なメモリユニットは、いくつかの実施形態によるマルチメディアクリップを処理するための命令を含む。これらの種々のメモリユニットから、処理ユニット（群）１００１０は、いくつかの実施形態のプロセスを実行するために実行する命令と処理するデータとを取得する。
【０４８６】
バス１０００５はさらに、入力デバイス１００４０と出力デバイス１００４５に接続する。入力デバイス１００４０は、ユーザが電子システムに情報を伝え、コマンドを選択することを可能にする。入力デバイス１００４０は、英数字キーボードおよびポインティングデバイス（また、「カーソルコントロールデバイス」と呼ばれる）、カメラ（例えば、ウェブカメラ）、音声コマンド等を受信するためのマイクロフォンまたは類似のデバイスなどを含む。出力デバイス１００４５は、電子システムによって生成された表示画像又は他の出力データを表示する。出力デバイス１００４５は、例えば陰極線管（ＣＲＴ）または液晶ディスプレイ（ＬＣＤ）などのプリンタやディスプレイデバイス、ならびにスピーカまたは類似のオーディオ出力デバイスを含む。いくつかの実施形態では、例えばタッチスクリーンなどの、入力デバイスおよび出力デバイスの両方として機能するデバイスを含む。
【０４８７】
最後に、図１００に示すように、バス１０００５はネットワークアダプタ（図示せず）を介してネットワーク１００２５に電子システム１００００を結合する。このように、コンピュータはコンピュータのネットワーク（例えば、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、もしくはイントラネット、またはインターネットなどのようなネットワークのネットワーク）の一部でありうる。電子システム１００００のすべて又はいずれかのコンポーネントは、本発明と共に使用することができる。
【０４８８】
いくつかの実施形態は、マイクロプロセッサ、記憶装置、およびメモリなどの、機械可読又はコンピュータ可読媒体（あるいはコンピュータ読み取り可能な記憶媒体、機械可読媒体又は機械可読記憶媒体と呼ばれる）にコンピュータプログラム命令を記憶する電子部品を含む。そのようなコンピュータ可読媒体のいくつかの例は、ＲＡＭ、ＲＯＭ、リードオンリコンパクトディスク（ＣＤ−ＲＯＭ）、記録可能なコンパクトディスク（ＣＤ−Ｒ）、書き換え可能コンパクトディスク（ＣＤ−ＲＷ）、リードオンリデジタル多用途ディスク（例えば、ＤＶＤ−ＲＯＭ、２層ＤＶＤ−ＲＯＭ）、さまざまな種類の記録可能／書き換え可能ＤＶＤ（例えば、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等）、フラッシュメモリ（例えば、ＳＤカード、ミニＳＤカード、マイクロＳＤカード等）、磁気ハードドライブおよび／またはソリッドステートハードドライブ、リードオンリおよび記録可能ブルーレイディスク、超高密度光学ディスク、その他の光学ディスクまたは磁気媒体、及びフロッピーディスクを含む。コンピュータ可読媒体は、少なくとも１つの処理ユニットによって実行可能であり、各種動作を実行するための命令セットを含むコンピュータプログラムを記憶し得る。コンピュータプログラム又はコンピュータコードの例は、コンパイラによって生成されるマシンコード、コンピュータによって実行される高レベルのコードを含むファイル、またはインタプリタなどを用いるマイクロプロセッサを含む。
【０４８９】
上記の議論は、主にソフトウェアを実行するマイクロプロセッサまたはマルチコアプロセッサを参照するが、いくつかの実施形態は、例えば、特定用途向け集積回路（ＡＳＩＣ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの１つ以上の集積回路によって実行される。いくつかの実施形態では、そのような集積回路は、回路自体に格納された命令を実行する。さらに、いくつかの実施形態は、プログラマブルロジックデバイス（ＰＬＤ）、ＲＯＭ、又はＲＡＭデバイスに格納されたソフトウェアを実行する。
【０４９０】
本明細書および本願のいずれかの請求項で使用されるように、「コンピュータ」、「サーバ」、「プロセッサ」及び「メモリ」という用語はすべて、電子デバイスまたは他の技術的なデバイスを意味する。これらの用語は、人や人のグループを除外する。明細書においては、表示や、表示するという用語は、電子デバイス上に表示することを意味する。本明細書や本願の何れかの請求項で使用されるように、「コンピュータ読み取り可能な記録媒体」、「コンピュータ読み取り可能な媒体」及び「機械可読媒体」という用語は、完全に有形な、コンピュータに読み取り可能な形式で情報を格納する物理オブジェクトに制限されている。これらの用語は、無線信号、有線ダウンロード信号、および他の一時的な信号を除外する。
【０４９１】
本発明は、多数の特定の詳細を参照して説明されたが、当業者は、本発明は、本発明の精神から逸脱することなく他の特定の形態で実施できることを認識するであろう。例えば、図の多くは、さまざまなタッチジェスチャ（例えば、タップ、ダブルタップ、スワイプジェスチャ、長押しジェスチャなど）を示している。しかし、図示の操作の多くは、異なるタッチジェスチャ（例えば、タップの代わりにスワイプなど）を介して、または非タッチ入力（例えば、カーソルコントローラ、キーボード、タッチパッド／トラックパッド、ニアセンシティブスクリーンなど）により実行することができる。また、（図７、３４、４３、４７、５３、５９、７９、８６、および８９を含む）いくつかの図面は、概念的にプロセスを示す。これらのプロセスの具体的な動作は、図示および説明された正確な順序で実行されなくてもよい。特定の動作は、連続的な動作として処理されなくてもよく、異なる特定の動作は、異なる実施形態で実施することができる。さらに、プロセスはいくつかのサブプロセスを用いて、またはより大きなマクロプロセスの一部として実施することができる。従って、当業者は、本発明は、前述の例示的な詳細によって限定されるものではないことを理解し、むしろ添付の特許請求の範囲によって規定されるものだと理解するであろう。
【図１】
2014112380.tif 000003
【図２】
2014112380.tif 000004
【図３】
2014112380.tif 000005
【図４】
2014112380.tif 000006
【図５】
2014112380.tif 000007
【図６】
2014112380.tif 000008
【図７】
2014112380.tif 000009
【図８】
2014112380.tif 000010
【図９】
2014112380.tif 000011
【図１０】
2014112380.tif 000012
【図１１】
2014112380.tif 000013
【図１２】
2014112380.tif 000014
【図１３】
2014112380.tif 000015
【図１４】
2014112380.tif 000016
【図１５】
2014112380.tif 000017
【図１６】
2014112380.tif 000018
【図１７】
2014112380.tif 000019
【図１８】
2014112380.tif 000020
【図１９】
2014112380.tif 000021
【図２０】
2014112380.tif 000022
【図２１】
2014112380.tif 000023
【図２２】
2014112380.tif 000024
【図２３】
2014112380.tif 000025
【図２４】
2014112380.tif 000026
【図２５】
2014112380.tif 000027
【図２６】
2014112380.tif 000028
【図２７】
2014112380.tif 000029
【図２８】
2014112380.tif 000030
【図２９】
2014112380.tif 000031
【図３０】
2014112380.tif 000032
【図３１】
2014112380.tif 000033
【図３２】
2014112380.tif 000034
【図３３】
2014112380.tif 000035
【図３４】
2014112380.tif 000036
【図３５】
2014112380.tif 000037
【図３６】
2014112380.tif 000038
【図３７】
2014112380.tif 000039
【図３８】
2014112380.tif 000040
【図３９】
2014112380.tif 000041
【図４０】
2014112380.tif 000042
【図４１】
2014112380.tif 000043
【図４２】
2014112380.tif 000044
【図４３】
2014112380.tif 000045
【図４４】
2014112380.tif 000046
【図４５】
2014112380.tif 000047
【図４６】
2014112380.tif 000048
【図４７】
2014112380.tif 000049
【図４８】
2014112380.tif 000050
【図４９】
2014112380.tif 000051
【図５０】
2014112380.tif 000052
【図５１】
2014112380.tif 000053
【図５２】
2014112380.tif 000054
【図５３】
2014112380.tif 000055
【図５４】
2014112380.tif 000056
【図５５】
2014112380.tif 000057
【図５６】
2014112380.tif 000058
【図５７】
2014112380.tif 000059
【図５８】
2014112380.tif 000060
【図５９】
2014112380.tif 000061
【図６０】
2014112380.tif 000062
【図６１】
2014112380.tif 000063
【図６２】
2014112380.tif 000064
【図６３】
2014112380.tif 000065
【図６４】
2014112380.tif 000066
【図６５】
2014112380.tif 000067
【図６６】
2014112380.tif 000068
【図６７】
2014112380.tif 000069
【図６８】
2014112380.tif 000070
【図６９】
2014112380.tif 000071
【図７０】
2014112380.tif 000072
【図７１】
2014112380.tif 000073
【図７２】
2014112380.tif 000074
【図７３】
2014112380.tif 000075
【図７４】
2014112380.tif 000076
【図７５】
2014112380.tif 000077
【図７６】
2014112380.tif 000078
【図７７】
2014112380.tif 000079
【図７８】
2014112380.tif 000080
【図７９】
2014112380.tif 000081
【図８０】
2014112380.tif 000082
【図８１】
2014112380.tif 000083
【図８２】
2014112380.tif 000084
【図８３】
2014112380.tif 000085
【図８４】
2014112380.tif 000086
【図８５】
2014112380.tif 000087
【図８６】
2014112380.tif 000088
【図８７Ａ】
2014112380.tif 000089
【図８７Ｂ】
2014112380.tif 000090
【図８７Ｃ】
2014112380.tif 000091
【図８８】
2014112380.tif 000092
【図８９】
2014112380.tif 000093
【図９０】
2014112380.tif 000094
【図９１】
2014112380.tif 000095
【図９２】
2014112380.tif 000096
【図９３】
2014112380.tif 000097
【図９４】
2014112380.tif 000098
【図９５】
2014112380.tif 000099
【図９６】
2014112380.tif 000100
【図９７】
2014112380.tif 000101
【図９８】
2014112380.tif 000102
【図９９】
2014112380.tif 000103
【図１００】
2014112380.tif 000104
【手続補正書】
【提出日】平成25年12月19日(2013.12.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像閲覧アプリケーションについて、
サムネイル表示領域内の第１の選択サムネイルおよび第２の選択サムネイルに対応する第１の画像および第２の画像を画像表示領域内に表示しながら、前記第１の選択サムネイルおよび前記第２の選択サムネイルのために第１の選択指標を表示する工程と、
前記画像表示領域を介して前記表示された第１の画像の選択を受信する工程と、
前記表示された第１の画像の前記選択に応じて、
前記画像表示領域内に前記第１の画像のみを表示し、
前記第２のサムネイルのための前記第１の選択指標を維持しながら、前記サムネイル表示領域内の第１のサムネイルのために第２の選択指標を表示する工程とを含むことを特徴とする方法。
【請求項２】
前記第１の選択指標および第２の選択指標は両方とも、前記サムネイルの周りのハイライトされた境界を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第２の選択指標は、前記第１の選択指標よりも強いハイライトを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記画像表示領域に前記第１の画像のみが表示され、前記第２のサムネイルが選択されている際に、前記画像表示領域を介して前記第１の画像の第２の選択を受信する工程と、
前記第２の選択に応じて、
前記画像表示領域内に前記第１の画像および前記第２の画像を表示し、
前記第１の選択サムネイルおよび前記第２の選択サムネイルの両方のために前記第１の選択指標を表示する工程とをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記画像表示領域内に前記第１の画像および前記第２の画像の両方が表示されている際に、前記第１のサムネイルの選択を受信する工程と、
前記第１のサムネイルの前記選択に応じて、
前記画像表示領域内に前記第１の画像のみを表示し、
前記第２のサムネイルのための前記第１の選択指標を維持しながら、前記サムネイル表示領域内の前記第１のサムネイルのために第２の選択指標を表示する工程とをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記画像表示領域内に前記第１の画像および前記第２の画像の両方が表示されている際に、選択指標なしに第３のサムネイルの選択を受信する工程と、
前記第３のサムネイルの前記選択に応じて、
前記画像表示領域内に前記第３のサムネイルに対応する第３の画像のみを表示し、
前記第２のサムネイルのための前記第１の選択指標を除去しながら、前記第３のサムネイルのために前記第２の選択指標を表示する工程とをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
画像閲覧アプリケーションについて、
複数の順序付けられたサムネイルを含むサムネイルグリッドを表示する工程であって、前記複数のサムネイルのサブセットが選択され、前記サブセットは前記順序において連続しない第１のサムネイルおよび第２のサムネイルを少なくとも含む、工程と、
画像表示領域内に、前記第１のサムネイルに対応する第１の画像を表示する工程と、
前記画像表示領域内の前記第１の画像上での水平方向のスワイプジェスチャを受信する工程と、
前記水平方向のスワイプジェスチャに応じて、前記画像表示領域内に前記第２のサムネイルに対応する第２の画像を表示する工程とを含むことを特徴とする方法。
【請求項８】
前記水平方向のスワイプジェスチャは、左方向のスワイプジェスチャであることを特徴とする請求項７に記載の方法。
【請求項９】
前記サブセットは第３の選択サムネイルを含み、前記方法は、
前記画像表示領域内に前記第１の画像が表示されている際に、前記第１の画像上での右方向のスワイプジェスチャを受信する工程と、
前記右方向のスワイプジェスチャに応じて、前記画像表示領域内に前記第３のサムネイルに対応する第３の画像を表示する工程とをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記水平方向のスワイプジェスチャに応じて第２の画像を表示する工程は、前記画像表示領域内に前記第２の画像を追加しながら、前記画像表示領域から前記第１の画像を除去する工程を含むことを特徴とする請求項７に記載の方法。
【請求項１１】
前記第２の画像を追加しながら前記第１の画像を除去する工程は、前記第２の画像の大きさを増大しながら前記第１の画像の大きさを減少する工程を含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記選択画像のそれぞれは前記画像表示領域内の位置を割り当てられ、前記第１の画像を表示する工程は、前記第２の画像の色あせたバージョンを、前記表示された第１の画像の後の割り当てられた位置に表示する工程を含み、前記第２の画像を追加しながら前記第１の画像を除去する工程は、
前記第１の画像を前記画像表示領域内の割り当てられた位置に最小化する工程と、
前記第２の画像を前記画像表示領域内の割り当てられた位置から最大化する工程とを含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記第２の画像の色あせたバージョンは、前記第２の画像の割り当てられた位置の少なくとも一部が前記表示された第１の画像により占められていない場合にのみ見えることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記画像閲覧アプリケーションは、タッチスクリーンデバイス上で動作するものであり、前記水平方向のスワイプジェスチャはタッチジェスチャであることを特徴とする請求項７に記載の方法。
【請求項１５】
画像閲覧アプリケーションについて、
複数のサムネイルを含むサムネイルグリッドを表示する工程であって、前記複数のサムネイルのサブセットが選択され、前記サブセットは第１のサムネイルおよび第２のサムネイルを少なくとも含む、工程と、
画像表示領域内に前記第１のサムネイルに対応する第１の画像を表示する工程と、
前記画像表示領域内の前記第１の画像上での垂直方向のスワイプジェスチャを受信する工程と、
前記垂直方向のスワイプジェスチャに応じて、
前記画像表示領域内の前記第２のサムネイルに対応する第２の画像を表示し、
前記選択されたサムネイルのサブセットから前記第１のサムネイルを除去する工程とを含むことを特徴とする方法。
【請求項１６】
前記画像表示領域内に前記第１の画像が表示された際に、前記第１のサムネイルの特定の選択ジェスチャを受信する工程と、
前記特定の選択ジェスチャに応じて、前記画像表示領域内に前記第２のサムネイルに対応する第２の画像を表示し、前記選択されたサムネイルのサブセットから前記第１のサムネイルを除去する工程とをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記特定の選択ジェスチャは、前記第１のサムネイルの長押し選択であることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記画像閲覧アプリケーションは、タッチスクリーンデバイス上で実行するためのものであり、前記垂直方向のスワイプジェスチャはタッチジェスチャであることを特徴とする請求項１５に記載の方法。
【請求項１９】
少なくとも１つの処理ユニットにより実行されるプログラムを記憶する機械可読媒体であって、前記プログラムは請求項１乃至１８の何れか１項に記載の方法を実行するための命令セットを含むことを特徴とする機械可読媒体。
【請求項２０】
電子デバイスであって、
タッチスクリーン表示スクリーンと、
少なくとも１つの処理ユニットにより実行されるプログラムを記憶する機械可読媒体であって、前記プログラムは請求項１乃至１８の何れか１項に記載の方法を実行するための命令セットを含む、機械可読媒体とを備えることを特徴とする電子デバイス。
【外国語明細書】
2014112380000001.pdf