傾斜画像の社会的な基準の補正のためのシステムおよび方法
傾斜画像の社会的な基準の補正のためのシステムおよび方法。実施形態において、本発明は、(1)画像を受信すること、(2)画像をランダムな角度で回転させること、(3)少なくとも1人のユーザが画像を回転させて画像を水平にすることを要求すること、(4)各ユーザの回転に基づいて集合的なユーザ提案角度を決定すること、および(5)通信ネットワーク上で補正角度を伝送することによって、傾斜画像を水平にし、補正角度は、ランダムな角度および集合的なユーザ提案角度に基づく。
【発明の詳細な説明】
【技術分野】
【0001】
(発明の分野)
本発明は、デジタル画像処理に関する。
【背景技術】
【0002】
(背景)
ユーザは、あらゆるズームレベルで、かつあらゆるアングルからデジタル写真を撮影する。時には、これらのデジタル写真は、対象物が直立して見えるように撮影される。ある場合には、これは意図的であり、他の場合には、これは意図的ではない。ユーザはまた、デジタルソフトコピーを作成するために、アナログおよび/またはデジタルアイテムをスキャンする。ここでも、時には意図せず、アナログおよび/またはデジタルアイテムは、わずかに傾斜してスキャンされる。
【0003】
ユーザによって所望される場合、これらの傾斜デジタル画像を自動的に水平にするように、画像処理技術が使用できる。しかしながら、場合によっては、画像処理技術は、どれが直立しているか、または直立すべきかを解釈することが困難であるため、これらの傾斜デジタル画像を水平にすることができない。例として、画像処理技術を使用するコンピュータは、花およびその花弁の接写写真を水平にする手順を決定することが困難である場合がある。
【発明の概要】
【課題を解決するための手段】
【0004】
(簡単な概要)
本発明の実施形態は、傾斜画像を水平にすることに関する。本発明のシステムの実施形態は、傾斜画像の社会的な基準の(socially−based)補正を提供する。システムの実施形態は、画像回転装置と、画像表示装置と、画像角度計算機とを含む。画像回転装置は、画像を受信するように構成され、かつ画像をランダムな角度で回転させるように構成される。画像回転装置に連結される画像表示装置は、画像を表示するように構成され、かつ少なくとも1人のユーザが画像を水平にするように画像を回転させることを要求するように構成される。回転は、個別のユーザ提案角度を表す。そして最後に、画像表示装置および画像回転装置に連結される画像角度計算機は、各ユーザの個別のユーザ提案角度に基づいて、集合的なユーザ提案角度を決定するように構成され、かつ集合的なユーザ提案角度およびランダムな角度に基づいて、補正角度を計算するように構成される。
【0005】
本発明の方法の実施形態は、傾斜画像の社会的な基準の補正を提供する。方法の実施形態は、画像を受信するステップと、画像をランダムな角度で回転させるステップと、少なくとも1人のユーザが画像を水平にするように画像を回転させることを要求するステップであって、回転は個別のユーザ提案角度を表す、ステップと、各ユーザの個別のユーザ提案角度に基づいて、集合的なユーザ提案角度を決定するステップと、通信ネットワーク上で補正角度を伝送するステップとを含み、補正角度は、ランダムな角度および集合的なユーザ提案角度に基づく。
【0006】
この方式において、傾斜画像を水平にする手順に関する提案は、傾斜画像の所有者に与えられ得る。提案は、さらにコンピュータまたは画像処理技術が、画像が直立しているかどうかを解釈できないような画像に対して与えられ得る。
【0007】
本発明のさらなる実施形態、特徴、および利点、ならびに本発明の種々の実施形態の構造および操作を、添付図面を参照して以下で詳細に説明する。
【0008】
本発明の実施形態を、添付図面を参照して説明する。図面中、類似参照番号は、同一または機能的に同様の要素を示し得る。要素が最初に現れる図面は、概して、対応する参照番号における最も左の数字によって示される。
【図面の簡単な説明】
【0009】
【図1】図1は、本発明の実施形態による、傾斜画像を水平にするためのシステムの設計図である。
【図2】図2は、本発明の実施形態による、図1のシステムの構成要素の詳細図である。
【図3】図3は、本発明の実施形態による、図1のシステムの構成要素がどのように相互作用し得るかを示す図である。
【図4】図4は、本発明の実施形態による図1のシステムの詳細図である。
【図5】図5は、本発明の実施形態による、傾斜画像を水平にするための方法のフローチャートである。
【図6】図6は、本発明の実施形態による、例示的な画像表示装置である。
【図7】図7は、本発明の実施形態による、別の例示的な画像表示装置である。
【図8A】図8A〜Cは、本発明の実施形態による、3つの画像に対して収集された個別のユーザ提案角度に基づいて描かれたグラフの例である。
【図8B】図8A〜Cは、本発明の実施形態による、3つの画像に対して収集された個別のユーザ提案角度に基づいて描かれたグラフの例である。
【図8C】図8A〜Cは、本発明の実施形態による、3つの画像に対して収集された個別のユーザ提案角度に基づいて描かれたグラフの例である。
【図9】図9は、本発明の実施形態によるコンピュータシステムである。
【発明を実施するための形態】
【0010】
(実施形態の詳細な説明)
本発明の実施形態は、傾斜画像を水平にすることに関する。これは、傾斜画像の社会的な基準の補正を含み得る。本発明は、本明細書においては特定の用途に対する例示的実施形態に関して説明されるが、本発明はそれに限定されないことを理解されたい。本明細書に提供される教示が入手可能な当業者は、その範囲内の追加の修正、用途、および実施形態、ならびに本発明が重要な有用性となる追加の分野を認識するであろう。以下の項では、傾斜画像を水平にするためのシステムおよび方法を説明する。
【0011】
(システム)
本項は、傾斜画像を水平にするために好適なシステムを説明する。本明細書では、「傾斜画像」という用語は、水平軸に沿って整列された水平方向の境界線と、縦軸に沿って整列された縦方向の境界線とを有するが、水平軸または縦軸に沿って明確に整列されていないかもしれない景色を含有する、画像を言う。図1は、本発明の実施形態による、傾斜画像を水平にするためのシステムの基本設計概念図である。図1は、システム100を示す。システム100は、1つ以上のネットワーク120によって連結される、クライアント110a〜n、クライアント114、サーバ150、サーバ151、および画像データベース160を含む。本明細書では、「データベース」という用語は、表データベース、階層データベース、ネットワークデータベース、関係型データベース、次元型データベース、および/またはオブジェクトデータベースを含むが、これらに限定されない。
【0012】
クライアント110a〜nおよび114、サーバ150および151、ならびに画像データベース160の各々は、コンピューティングデバイス上に実装され得る。そのようなコンピューティングデバイスとして、パーソナルコンピュータ、携帯電話機等のモバイルデバイス、ワークステーション、埋め込み型システム、ゲーム機、テレビ、セットトップボックスが挙げられ得るが、これらに限定されない。そのようなコンピューティングデバイスとして、命令の実行および格納のためのプロセッサおよびメモリを有するデバイスが挙げられてもよいが、これに限定されない。そのようなコンピューティングデバイスは、ソフトウェア、ファームウェア、ハードウェア、またはこれらの組み合わせを含み得る。ソフトウェアは、1つ以上のアプリケーションおよびオペレーティングシステムを含み得る。ハードウェアは、プロセッサ、メモリ、およびグラフィカルユーザインターフェースディスプレイを含み得るが、これらに限定されない。
【0013】
クライアント110a〜nおよび114、サーバ150および151、ならびに画像データベース160は、同じまたは異なる場所にある1つ以上のコンピューティングデバイス上に実装され得る。例えば、クライアント110a〜nおよび114、サーバ150および151、ならびに画像データベース160は、ネットワーク120等のネットワークに連結される異なるコンピューティングデバイス上にあって相互に遠隔であり得る。さらに別の実施例において、サーバ150および151、ならびに画像データベース160は、共通の場所にある1つ以上のコンピューティングデバイス上に実装され、ネットワーク120上で遠隔のクライアント110a〜nおよび114に連結され得る。この説明を所与として当業者には明らかであるように、クライアント110a〜nおよび114、サーバ150および151、ならびに画像データベース160を配置するための他の組み合わせおよび構成が使用され得る。
【0014】
ネットワーク120は、データ通信を担うことができる任意のネットワークまたはネットワークの組み合わせであり得る。そのようなネットワーク120は、ローカルエリアネットワーク、中域ネットワーク、およびインターネット等の広域ネットワークを含み得るが、それらに限定されない。ネットワーク120は、ワールドワイドウェブプロトコルおよび/またはサービスを含むがそれらに限定されない、プロトコルおよび技術をサポートすることができる。特定の用途または環境に応じて、中間ウェブサーバ、ゲートウェイ、または他のサーバが、システム100の構成要素の間に提供され得る。
【0015】
一つの例示的な実施形態において、クライアント110a〜nおよび114は、それぞれ、ブラウザ111a〜nおよび115を含む。例えば、ブラウザ111a〜nおよび115は、コンテンツを閲覧するためのウェブブラウザまたは他の種類のブラウザであり得る。ブラウザ111a〜nおよび115は、リクエストをネットワーク120上でサーバ150および151等のサーバのうちの1つ以上へ送信し、サーバ150および151等のサーバのうちの1つ以上から応答を受信することができる。例としてであって限定ではなく、リクエストは、ハイパーテキスト転送プロトコル(HTTP)リクエストであり得る。HTTPリクエストは、ユーザインターフェースを使用して、ユーザによって入力されるパラメータを含み得る。応答は、HTTP応答であり得る。HTTP応答は、ハイパーテキストマークアップ言語(HTML)、画像、ビデオまたはマルチメディアコンテンツ等のウェブコンテンツを含み得る。
【0016】
サーバ150および151の各々は、ウェブサーバを含んでもよく、または、同じまたは異なる場所にあるウェブサーバと通信するように連結され得る。ウェブサーバは、HTTP応答を用いてHTTPリクエストに応答する、ソフトウェアコンポーネントである。例示的な実施例として、ウェブサーバは、アパッチHTTPサーバ、アパッチトムキャット、MICROSOFTインターネットインフォメーションサーバ、JBOSSアプリケーションサーバ、WEBLOGICアプリケーションサーバ、またはSUN JAVA(登録商標)システムウェブサーバであり得るが、これらに限定されない。ウェブサーバは、HTTPリクエストに応答してコンテンツを生成する、ウェブアプリケーションを含み得る。ウェブサーバは、生成されたコンテンツをパッケージ化し、コンテンツをHTTP応答の形でクライアントにサービスし得る。そのようなコンテンツは、HTML、拡張可能マークアップ言語(XML)、ドキュメント、ビデオ、画像、マルチメディア機能、またはこれらの任意の組み合わせを含み得る。これらの例は、厳密に説明のためであって、本発明を制限しない。
【0017】
実施形態によると、サーバ150は、画像整列装置170を含む。自動的に、またはユーザが要求したときに、画像整列装置170は、画像データベース160から選択された画像の傾斜を水平にするために必要な角度を計算する。
【0018】
実施形態によると、サーバ151は、画像レポジトリ180を含む。画像レポジトリ180は、例えば、選択された画像等の画像を共有、表示、および/または格納するために使用される任意のウェブベースまたはデスクトップベースのアプリケーションであり得る。例としてであって、限定ではなく、画像レポジトリ180は、Googleによるピカサウェブアルバムであり得る。図3を参照して以下に詳細を説明するように、画像整列装置170は、画像レポジトリ180によって管理されるいずれの傾斜画像をも水平にするよう角度を提供するように、画像レポジトリ180と通信し得る。
【0019】
画像データベース160は、デジタル画像および/またはデジタルビデオを格納する。画像データベース160は、デジタル画像および/またはデジタルビデオを画像整列装置170および/または画像レポジトリ180へ供給し得る。実施形態において、画像整列装置170および/または画像レポジトリ180は、必要に応じて画像データベース160内のデジタル画像および/またはデジタルビデオを修正するように構成され得る。
【0020】
ブラウザ111a〜nおよび115、画像整列装置170、ならびに画像レポジトリ180は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせとして実装され得る。
【0021】
図2は、本発明の実施形態による、図1のシステム100の構成要素の詳細図である。図2に示されるように、クライアント110a〜nは、サーバ150と通信してもよく、サーバ150は、画像データベース160と通信し得る。代替実施形態において、図示されないが、画像データベース160は、サーバ150の中のメモリ内に存在する。前述のように、この通信は、インターネット等の1つ以上のネットワーク120上で発生し得る。
【0022】
画像整列装置170は、画像回転装置210、画像マスク装置220、画像表示装置230、および画像角度計算機240を含む。画像回転装置210は、デジタル画像またはデジタルビデオのフレームを取り込み、ランダムに選択された角度でそれを回転させるように構成される。デジタル画像またはフレームは、ゼロと360度との間で時計回りまたは反時計回りに回転させられてもよい。実施形態において、選択されたデジタル画像またはフレームは、未知の角度で以前に傾斜されている。デジタル画像またはフレームは、ランダムに選択された角度でさらに傾斜される。未知の角度で本来傾斜していたデジタル画像またはフレームを識別するように、画像処理技術が使用され得ることに注意する。
【0023】
画像マスク装置220は、回転デジタル画像またはフレームを取り込み、それをマスクするように構成される。実施形態において、このマスキングは、デジタル画像またはフレームの丸い切り抜きを作成するステップを含んでもよく、丸い切り抜きは、デジタル画像またはフレームの境界線およびエッジを隠す。この方式において、マスク付きデジタル画像またはフレームを視認するユーザは、デジタル画像またはフレームを水平にする、または整列するように求められた場合、本来の境界によって影響されることがない。本明細書では、「水平にする」という用語は、画像を正しく配向することを言う。代替実施形態において、マスクは、楕円形または任意の多角形形状であり得る。画像マスク装置220は、デジタル画像またはフレームの寸法に基づいて、デジタル画像またはフレームの切り抜きを作成するために使用されるマスクのサイズを決定し得る。本来のデジタル画像またはフレームは永久的にクロップされないことに注意する。また、マスキングは、画像回転装置210がデジタル画像またはフレームを回転させる前に実施され得ることに注意する。以下に詳細を説明するように、マスキングは一時的である。
【0024】
画像表示装置230は、1つ以上の、回転され、マスクされたデジタル画像および/またはフレームを1人以上のユーザに表示するように構成される。画像表示装置230は、デジタル画像および/またはフレームを表示する能力を有する任意のアプリケーションに組み込まれてもよい。画像表示装置230はまた、デジタル画像および/またはフレームを表示する能力を有するスタンドアロン型アプリケーションであり得る。代替実施形態において、図示されないが、画像表示装置230は、1つ以上のクライアント110a〜nの中に存在するデスクトップ型アプリケーションであり得る。いずれの実施形態においても、画像表示装置230は、各ユーザが、どの傾斜も排除するように、各表示されたデジタル画像またはフレームを回転させることを要求する。画像表示装置230は、各ユーザが各デジタル画像またはフレームを回転させる角度を記録する。画像表示装置230の実施例は、図6を参照して以下に提供する。
【0025】
画像角度計算機240は、デジタル画像またはフレームに対して画像表示装置230によって記録される角度、および画像回転装置210によって選択されるランダムな角度を使用して、本来の傾斜デジタル画像またはフレームを水平にするために使用される補正角度を計算するように構成される。画像角度計算機240は、図4を参照して以下に詳細を説明する。
【0026】
実施形態において、画像レポジトリ180は、画像角度計算機240によって計算される角度を使用して、本来のデジタル画像またはフレームに1つ以上の補正を提案し得る。この提案は、例えば、ネットワーク120等の任意の通信ネットワーク上で、デジタル画像またはフレームの所有者へ送信され得る。同様に、所有者が、デジタル画像またはフレームにアクセスするとき、補正が通知され得る。別の実施形態において、画像レポジトリ180は、画像角度計算機240によって計算される角度を使用して、本来のデジタル画像またはフレームを自動的に水平にし得る。
【0027】
この方式において、画像整列装置170は、傾斜デジタル画像またはフレームを水平にする手順に関する提案を提出し、適切な補正が行われたかどうかを示すように、複数のユーザからのフィードバックを使用することができる。画像整列装置170はまた、傾斜デジタル画像および/またはフレームの自己補正を導くように、フィードバックを使用することができる。
【0028】
画像回転装置210、画像マスク装置220、画像表示装置230、および画像角度計算機240は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせとして実装され得る。
【0029】
代替実施形態において、図示されないが、画像整列装置170は、クライアント114等のクライアントの中に含まれ得る。
【0030】
図3は、本発明の実施形態による、図1のシステム100の構成要素がどのように相互作用し得るかを示す図である。実施形態において、自動的に、またはクライアント110a〜nのうちのいずれかのリクエストの際に、画像回転装置210は、画像データベース160から本来の画像302を受信する。本来の画像302は、デジタル画像またはデジタルビデオのフレームであり得る。本来の画像302は、画像回転装置210によって未知の角度で傾斜し得る。
【0031】
画像回転装置210は、本来の画像302をランダムな角度304で回転させる。実施形態において、ランダムな角度304は、ゼロ以上360度以下である。回転画像306を表す、この本来の画像302の回転は、画像マスク装置220へ送信され、一方で、ランダムな角度304は、画像角度計算機240へ送信される。
【0032】
画像マスク装置220は、図2を参照して上述したように、回転画像306を取り込み、マスキングを実施する。マスク画像308によって表される、マスク付き回転画像306は、画像表示装置230へ送信される。
【0033】
代替実施形態において、図示されないが、本来の画像302は、画像マスク装置220へ送信される。上述のように、画像マスク装置220は、そのマスキングを実施し、マスク付き画像を画像回転装置210へ送信するので、マスク付き画像が回転し得る。画像回転装置210は、次いで、マスク付き回転画像を画像表示装置230へ送信する。
【0034】
画像回転装置210および画像マスク装置220は、いくつかの画像を回転およびマスクしてもよく、同時に画像表示装置230は、各回転してマスクされた画像を集積し、表示する。簡素化のために、システム100は、本明細書では、1つの画像が分析される場合において説明される。図2を参照して上述したように、画像表示装置230は、ブラウザ111a〜nを通して、画像を水平にするリクエスト310を1つ以上のクライアント110a〜nへ送信し、ユーザがマスク付き画像308を回転することを可能にするために必要なツールを提供する。実施形態において、各ブラウザ111a〜nは、個別のユーザ提案角度312を画像表示装置230へ送信する。個別のユーザ提案角度312は、個別のユーザがマスク付き画像308を回転させる角度を表す。例として、ブラウザ111a〜nとサーバ150との間で、個別のユーザ提案角度312は、ブラウザ111a〜nによって生成されるHTTPパラメータであり得る。実施例において、各ユーザは、マスク付き画像308を回転させる適切な角度を選択し、提出ボタンを押し得る。これによって、各ブラウザ111a〜nが、HTTPパラメータとして個別のユーザ提案角度312を含む、HTTPリクエストを生成するように起動する。この実施例は、例示に過ぎず、制限を目的としない。
【0035】
実施形態において、画像表示装置230は、個別のユーザ提案角度312を画像角度計算機240へ送信する。加えて、画像角度計算機240は、画像回転装置210からランダムな角度304を受信し得る。個別のユーザ提案角度312およびランダムな角度304を使用して、画像角度計算機240は、本来の画像302が補正角度314で回転させられている場合、本来の画像302を水平にする補正角度314を計算する。補正角度314を決定するために必要な計算および条件は、図4を参照して以下に詳細を説明する。
【0036】
補正角度314は、ネットワーク120を経由して伝送される1つ以上の信号の形で、画像レポジトリ180へ送信される。上述のように、画像レポジトリ180は、本来の画像302を補正角度314で回転させられることを、本来の画像302の所有者に提案し得る。代替実施形態において、画像レポジトリ180は、本来の画像302を補正角度314で自動的に回転し得る。
【0037】
次項では、画像角度計算機240の動作を詳細に説明する。
【0038】
図4は、画像角度計算機240の詳細図である。図4に示されるように、画像角度計算機240は、角度分析装置410、角度合計装置420、および補正角度計算機430を含む。画像角度計算機240は、本明細書ではいくつかの別個の構成要素を含むとして説明されるが、構成要素は組み合わされてもよく、例えば、3つの構成要素の機能は、単一の構成要素またはプログラム内部に存在する。このように、図4に示される個別の構成要素は、例示であって、本発明を制限することを目的としない。
【0039】
角度分析装置410は、画像表示装置230から、個別のユーザ提案角度312を受信する。実施形態において、角度分析装置410は、個別のユーザ提案角度312を以前の個別のユーザ提案角度312に比較する。第1の実施形態において、個別のユーザ提案角度312が、他の以前の個別のユーザ提案角度312と共に、中央の角度の所定範囲内にある場合、角度分析装置410は、中央の角度を共通角度402として角度合計装置420へ送信する。例として、個別のユーザ提案角度312が、35から40度の範囲内にあり、他の以前の個別のユーザ提案角度312の少なくとも50%が同じ範囲内にある場合、角度分析装置410は、37.5度の角度を角度合計装置420へ送信し得る。
【0040】
代替実施形態は、他の閾値および範囲を使用し得る。第2の実施形態において、個別のユーザ提案角度312が、他の以前の個別のユーザ提案角度312の過半数と共に、中央の角度の所定範囲内にある場合、かつ以前の個別のユーザ提案角度312の数が所定の値を超える場合、角度分析装置410は、中央の角度を共通角度402として角度合計装置420へ送信する。例として、個別のユーザ提案角度312が、55から56度の範囲内にあり、かつ他の以前の個別のユーザ提案角度312の少なくとも50%が同じ範囲内にあり、55から56度の範囲内の他の以前の個別のユーザ提案角度312の数が100を超える場合、角度分析装置410は、55.5度の角度を角度合計装置420へ送信し得る。
【0041】
第3の実施形態において、個別のユーザ提案角度312と共に、以前の個別のユーザ提案角度312の少なくとも所定のパーセントが、中央の角度の所定範囲内にある場合、角度分析装置410は、中央の角度を共通角度402として角度合計装置420へ送信する。例として、個別のユーザ提案角度312が、他の以前の個別のユーザ提案角度312の少なくとも35%と共に、35から40度の範囲内にある場合、角度分析装置410は、37.5度の角度を角度合計装置420へ送信し得る。
【0042】
代替実施形態において、角度分析装置410は、所定範囲内の任意の角度を共通角度402として送信し得ることに注意する。また、上記の条件のうちのどれもが満たされない場合、角度分析装置410は、共通角度402を出力する前に、特定の条件が選択されるまで待機し得ることに注意する。さらに、共通角度402は、さらなる変更が本来の画像302に行われるかどうかのさらなる結果が受信されるにつれて変化し得る。
【0043】
代替実施形態において、角度分析装置410は、個別のユーザ提案角度312を以前の個別のユーザ提案角度に比較し、最も頻度の高い個別のユーザ提案角度を角度合計装置420へ送信する。例えば、60の受信された個別のユーザ提案角度のうち56が37.5度である場合、角度分析装置410は、37.5度の値を角度合計装置420へ送信し得る。
【0044】
別の代替実施形態において、角度分析装置410は、全ての個別のユーザ提案角度を分析し、標準偏差を計算して共通角度402を決定し得る。例えば、標準偏差を取ることによって、個別のユーザ提案角度が、個別のユーザ提案角度の中央値に近似する場合、中央値が共通角度402として設定され得る。いくつかの実施形態において、中央値から標準偏差の1倍を超える個別のユーザ提案角度は、個別のユーザ提案角度の外れ値が共通角度402を決定するために使用されないように、削除され得る。他の統計分析もまた、共通角度402を決定するために使用され得る。
【0045】
いくつかの実施形態において、個別のユーザ提案角度の数は、共通角度402を決定するために必要である。そのような数は、統計的検定に基づいて計算され得る。例えば、一実施形態において、画像を補正するために収集される個別のユーザ提案角度の数を決定するために、t検定が使用される。t検定は、当技術分野では周知の統計的仮説検定で、集団の標本サイズを決定するために適用され得る。標本サイズを決定するための他の統計的アルゴリズムもまた使用され得る。
【0046】
角度合計装置420は、共通角度402およびランダムな角度306を受信する。実施形態において、角度合計装置420は、共通角度402およびランダムな角度306を合計して、角度合計404を得る。角度合計装置420は、角度合計404を補正角度計算機430へ送信し得る。
【0047】
補正角度計算機430は、角度合計404を受信し、分析する。実施形態において、補正角度計算機430は、角度合計404がゼロでないかどうかを決定する。角度合計404がゼロでない場合、補正角度計算機430は、集合的なユーザ提案角度を共通角度402として設定し得る。補正角度計算機430は、合計を補正角度314として画像レポジトリ180へ送信し得る。角度合計404がゼロである場合、ランダムな角度306は、共通角度402によって相殺されたので、本来の画像302は全く傾斜していなかったことを示し得る。この場合、補正角度計算機430は、補正角度314を全く送信しない場合がある。さらなる実施形態において、補正角度計算機430は、角度合計404が、ゼロ周辺の所定範囲内にあるかどうかを決定する。角度合計404が、所定範囲内である場合、補正角度計算機430は、角度合計404がゼロであるように作動する。例として、所定範囲は、5度であり得る。
【0048】
いずれの角度も正または負の値であり得ることに注意する。実施形態において、画像が回転する方向は、角度の符号を決定する。実施形態において、画像を時計回りに回転させると、正の角度値であり得る。同様に、画像を反時計回り様式に回転させると、負の角度値であり得る。代替実施形態において、時計回りおよび反時計回りに回転させると、それぞれ、正および負の値であり得る。
【0049】
この方式において、1人以上のユーザから収集されたデータは、画像の所有者に画像を水平にする手順に関する提案を受信することを可能にし得る。具体的には、画像の所有者は、画像の傾斜を水平にする手順に関して、社会的な基準の提案を受信し得る。これは、コンピュータまたは画像処理技術がデジタル画像またはフレームが直立しているかどうかを解釈できない場合に、特に有用であり得る。
【0050】
(方法)
本項では、傾斜画像を水平にするために使用される方法を説明する。図5は、本発明の実施形態による、傾斜画像を水平にするための方法500のフローチャートである。方法500は、本発明の実施形態に関して説明されるが、方法500は限定を目的とせず、他の用途において使用され得る。実施例において、方法500は、図1〜3の画像レポジトリ180等の画像レポジトリに格納された画像に対する傾斜補正を提案するために使用され得る。しかしながら、方法500は、画像レポジトリ180に制限されることを目的としない。
【0051】
図5に示されるように、方法500は、工程502で開始し、傾斜画像が受信される。実施形態において、傾斜画像は、複数の画像を格納する画像データベースから受信される。工程502が完了すると、方法500は、工程504へ進む。
【0052】
工程504で、傾斜画像は、ランダムな角度で回転させられる。工程504が完了すると、方法500は、引き続き工程506へ進む。
【0053】
工程506で、画像はマスクされる。実施形態において、このマスキングは、画像の隅を覆うステップを含む。これは、円状マスクを介して達成され得る。さらなる実施形態において、円状マスクは、本来の画像のサイズに応じてサイズが決定される。工程506が完了すると、方法500は、工程508へ進む。
【0054】
代替実施形態において、図示されないが、工程502が完了すると、方法500は、工程506へ進む。そのような実施形態において、方法500は、工程506が完了すると、工程504に続き、次いで、工程504が完了すると、工程508へ進む。
【0055】
工程508で、1人以上のユーザは、画像を水平にするように求められる。実施形態において、これは、図2〜3の画像表示装置230等の画像表示装置を介して達成され得る。画像表示装置は、1人以上のユーザが、画像と共に他の画像を回転させることを要求し得る。工程508が完了すると、方法500は、工程510へ進む。
【0056】
工程510で、共通角度が決定される。実施形態において、共通角度は、1人以上のユーザのうちの過半数が、共通角度の所定範囲内にある角度で画像を回転させる、角度であり得る。別の実施形態において、共通角度は、1人以上のユーザのうちの所定の人数が、共通角度の所定範囲内にある角度で画像を回転させる、角度であり得る。また別の実施形態において、共通角度は、画像を回転させるためにほとんどのユーザによって使用される角度であり得る。工程510が完了すると、方法500は、引き続き工程512へ進む。
【0057】
工程512で、共通角度およびランダムな角度が合計される。工程512が完了すると、方法500は、工程514へ進む。
【0058】
工程514で、合計がゼロに等しいかどうかを決定するための確認が実施される。合計がゼロである場合、方法500は工程508に戻る。合計がゼロでない場合、方法500は工程516に続く。
【0059】
工程516で、補正角度は、合計に等しく設定される。実施形態において、補正角度は、画像の傾斜が補正され得る角度を画像の所有者に提案するために使用され得る。工程516が完了すると、方法500は終了する。
【0060】
工程502、504、506、508、510、512、514、および516は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせとして実装され得る。
【0061】
(例)
図6は、本発明の実施形態による例示的な画像表示装置である。図6に示されるように、画像表示装置600は、画像602a〜cおよびスライダ604a〜cを含み得る。画像表示装置は、図2〜3の画像表示装置230の例であり得ることに注意する。画像表示装置600は、クライアント上のブラウザ内に表示し得る。実施形態において、画像602a〜cは、既にマスクされ、ランダムに回転されている。円形状のマスクが使用されているが、任意の種類の多角形状マスクが好適であっても良いことに注意する。
【0062】
スライダ604a〜cは、各画像602a〜cそれぞれを回転させるために使用され得る。実施形態において、各スライダ604a〜cは、左から右へゼロから360度の範囲で、各画像602a〜cは、時計回りに回転する。代替実施形態において、各画像602a〜cは、反時計回りに回転し得る。さらなる代替実施形態において、画像602a〜cのうちのいくつかは時計回りに回転してもよく、一方で他は反時計回りに回転し得る。また、図6に示される以外にさらに画像およびスライダが表示されても良いことに注意する。
【0063】
ユーザは、各画像602a〜cを回転させるように要求されてもよく、画像表示装置600は、各画像602a〜cが回転する角度を保存し、提出ボタンまたはその同等物が押されると、伝送する。
【0064】
図7は、本発明の実施形態による、別の例示的な画像表示装置である。図7に示されるように、画像710は、モバイルデバイス700上に表示される。ユーザは、画像自体を回転させることができる。モバイルデバイス700を使用して、ユーザは、ディスプレイがタッチ画面である場合、自分の指を使用し、画像710を回転させ得る。この直接操作方法は、より直感的で、相対的運動(例えば、指でつつき、持ち上げてから、再びつつく)を可能にする。
【0065】
図8A〜Cは、本発明の実施形態による、3つの画像に対して収集された個別のユーザ提案角度に基づいて描かれたグラフの例である。図8Aにおいて、傾けて撮影された画像812に対するグラフ810は、ユーザが平均で60度の角度を推定していることを示す。標準偏差は、データが中央値(または平均角度)に近似することを示す。したがって、画像812は、画像812を60度回転させることによって、高い信頼性をもって補正され得る。図8Bにおいて、画像822に対するグラフ820は、中央値の角度が正確な調整であることに対してより低い信頼性を示す。図8Cにおいて、画像832に対するグラフ830によると、標準偏差の2倍を超える個別のユーザ提案角度は、補正角度を決定する際に削除され得る。これは、約70度の個別のユーザ提案角度を表すデータポイント834によって例示される。
【0066】
(コンピュータシステム)
本発明は、ハードウェア、ソフトウェア、またはこれらの組み合わせを使用して実装されてもよく、コンピュータシステムまたは他の処理システムの中に実装され得る。ハードウェア、ソフトウェア、または組み合わせは、図4のモジュールのうちのいずれも、および/または図5のいずれの工程も具現化することができる。実施形態において、本発明は、本明細書において説明される機能性を実行することが可能であるコンピュータシステム上で実行するコンピュータプログラム製品に関する。これは、システム100のサーバおよび/またはクライアントのうちのいずれにも適用する。コンピュータシステム900の実施例は、図9に示される。コンピュータシステム900は、プロセッサ904等の1つ以上のプロセッサを含む。プロセッサ904は、通信バス906へ接続される。この例示的なコンピュータシステムに関して多様なソフトウェアの実施形態が説明される。本説明を一読後、当業者には、他のコンピュータシステムおよび/またはコンピュータ基本概念設計を使用して、本発明を実装する手順が明らかであろう。
【0067】
コンピュータシステム900はまた、メインメモリ908、好ましくはランダムアクセスメモリ(RAM)を含み、二次メモリ910も含み得る。二次メモリ910は、例えば、ハードディスクドライブ912および/またはフロッピー(登録商標)ディスクドライブ、磁気テープドライブ、光ディスクドライブ等を表す、取り外し可能ストレージドライブ914を含み得る。取り外し可能ストレージドライブ914は、周知の様式において、取り外し可能ストレージユニット918から読み取る、および/または書き込む。取り外し可能ストレージユニット918は、磁気テープ、光ディスク、メモリカード等を表し、取り外し可能ストレージドライブ914によって読み取られ、書き込まれる。明らかであるように、取り外し式ストレージユニット918は、その中に格納されたコンピュータソフトウェアおよび/またはデータを有するコンピュータ使用可能ストレージ媒体を含む。
【0068】
代替実施形態において、二次メモリ910は、コンピュータプログラムまたは他の命令がコンピュータシステム900にロードされることを可能にするための他の類似の手段を含み得る。そのような手段は、例えば、取り外し式ストレージユニット922およびインターフェース920を含み得る。そのような例として、取り外し式メモリチップ(EPROM、またはPROM等)および関連ソケット、ならびに、ソフトウェアおよびデータが取り外し式ストレージユニット922からコンピュータシステム900へ転送されることを可能にする、他の取り外し式ストレージユニット922およびインターフェース920が挙げられる。
【0069】
コンピュータシステム900はまた、通信インターフェース924を含み得る。通信インターフェース924は、コンピュータシステム900が外部および/または遠隔のデバイスと通信することを可能にする。例えば、通信インターフェース924は、ソフトウェアおよびデータが、コンピュータシステム900と外部デバイスとの間で転送されることを可能にする。通信インターフェース924はまた、コンピュータシステム900が、LAN、WAN、インターネット等の通信ネットワーク上で通信することも可能にする。通信インターフェース924は、ワイヤまたはワイヤレス接続を介して、遠隔の場所またはネットワークとインターフェースし得る。通信インターフェース924の実施例として、モデム、ネットワークインターフェース(イーサネット(登録商標)カード等)、通信ポート、PCMCIAスロットおよびカード等が挙げられてもよい。コンピュータシステム900は、通信ネットワーク924を介して、データおよび/またはコンピュータプログラム製品を受信する。通信インターフェース924を介して転送されるソフトウェアおよびデータは、通信インターフェース924によって受信されることが可能な電子、電磁、光学、または他の信号であり得る、信号928の形である。信号928は、通信経路(つまり、チャネル)926を介して通信インターフェース924に提供される。このチャネル926は、信号928を運び、ワイヤまたはケーブル、光ファイバ、電話線、携帯電話リンク、RFリンクおよび他のワイヤまたはワイヤレス通信チャネルを使用して実施され得る。
【0070】
本明細書において、「コンピュータプログラム媒体」および「コンピュータ使用可能媒体」という用語は、概して、取り外し式ストレージドライブ914、およびハードディスクドライブ912にインストールされたハードディスク等の媒体を指すために使用される。これらのコンピュータプログラム製品は、コンピュータシステム900にソフトウェアを提供するための手段である。
【0071】
コンピュータプログラム(コンピュータ制御ロジックとも呼ばれる)は、メインメモリ908および/または二次メモリ910内に格納される。コンピュータプログラムはまた、信号928および通信インターフェース924を介して受信され得る。そのようなコンピュータプログラムは、実行されるとき、コンピュータシステム900が本明細書において説明される本発明の機能を実施することを可能にする。特に、コンピュータプログラムは、実行されるとき、プロセッサ904が本発明の機能を実施することを可能にする。したがって、そのようなコンピュータプログラムは、コンピュータシステム900のコントローラを表す。
【0072】
本発明がソフトウェアを使用して実装される実施形態において、ソフトウェアは、コンピュータプログラム製品の中に格納され、取り外し式ストレージドライブ914、ハードディスクドライブ912、または通信インターフェース924を使用して、コンピュータシステム900内へロードされ得る。制御ロジック(ソフトウェア)は、プロセッサ904によって実行されるとき、プロセッサ904に、本明細書において説明されるような本発明の機能を実施させる。
【0073】
コンピュータシステム900はまた、モニタ、キーボード、ポインティングデバイス等の入力/出力表示デバイス932を含む。
【0074】
本発明は、本明細書において説明された以外のソフトウェア、ハードウェア、およびオペレーティングシステム実装で有効であり得る。本明細書において説明される機能を実施するために好適な任意のソフトウェア、ハードウェア、およびオペレーティングシステム実装が使用され得る。
【0075】
(結論)
発明の概要および要約の項は、本発明者らによって検討されるような、本発明の全てではないが1つ以上の例示的実施形態を説明してもよく、したがって、決して本発明および添付の図面を限定することを目的としない。
【0076】
特定機能の実装およびその関係を例証する機能的構成要素を用いて、本発明を上記で説明している。これらの機能的構成要素の境界は、説明の便宜上、本明細書では任意に画定されている。特定機能およびその関係が適切に実施される限り、代替境界を画定することができる。
【0077】
具体的実施形態の先述の説明は、本発明の一般概念から逸脱することなく、必要以上の実験を伴わずに、当技術分野内の知識を適用することによって、他者が種々の用途についてそのような具体的実施形態を容易に修正および/または適合させることができる、本発明の一般的性質を完全に明らかにする。したがって、そのような適合および修正は、本明細書で提示される教示および指導に基づいて、開示された実施形態の同等物の意味および範囲内となることを目的とする。本明細書の用語または表現が、教示および指導に照らして当業者によって解釈されるように、本明細書の表現または用語は、限定ではなく説明の目的によるものであると理解されたい。
【0078】
本発明の幅および範囲は、上記の例示的実施形態のうちのいずれかによって決して限定されるべきではないが、以下の請求項およびそれらの同等物のみに従って定義されるべきである。
【技術分野】
【0001】
(発明の分野)
本発明は、デジタル画像処理に関する。
【背景技術】
【0002】
(背景)
ユーザは、あらゆるズームレベルで、かつあらゆるアングルからデジタル写真を撮影する。時には、これらのデジタル写真は、対象物が直立して見えるように撮影される。ある場合には、これは意図的であり、他の場合には、これは意図的ではない。ユーザはまた、デジタルソフトコピーを作成するために、アナログおよび/またはデジタルアイテムをスキャンする。ここでも、時には意図せず、アナログおよび/またはデジタルアイテムは、わずかに傾斜してスキャンされる。
【0003】
ユーザによって所望される場合、これらの傾斜デジタル画像を自動的に水平にするように、画像処理技術が使用できる。しかしながら、場合によっては、画像処理技術は、どれが直立しているか、または直立すべきかを解釈することが困難であるため、これらの傾斜デジタル画像を水平にすることができない。例として、画像処理技術を使用するコンピュータは、花およびその花弁の接写写真を水平にする手順を決定することが困難である場合がある。
【発明の概要】
【課題を解決するための手段】
【0004】
(簡単な概要)
本発明の実施形態は、傾斜画像を水平にすることに関する。本発明のシステムの実施形態は、傾斜画像の社会的な基準の(socially−based)補正を提供する。システムの実施形態は、画像回転装置と、画像表示装置と、画像角度計算機とを含む。画像回転装置は、画像を受信するように構成され、かつ画像をランダムな角度で回転させるように構成される。画像回転装置に連結される画像表示装置は、画像を表示するように構成され、かつ少なくとも1人のユーザが画像を水平にするように画像を回転させることを要求するように構成される。回転は、個別のユーザ提案角度を表す。そして最後に、画像表示装置および画像回転装置に連結される画像角度計算機は、各ユーザの個別のユーザ提案角度に基づいて、集合的なユーザ提案角度を決定するように構成され、かつ集合的なユーザ提案角度およびランダムな角度に基づいて、補正角度を計算するように構成される。
【0005】
本発明の方法の実施形態は、傾斜画像の社会的な基準の補正を提供する。方法の実施形態は、画像を受信するステップと、画像をランダムな角度で回転させるステップと、少なくとも1人のユーザが画像を水平にするように画像を回転させることを要求するステップであって、回転は個別のユーザ提案角度を表す、ステップと、各ユーザの個別のユーザ提案角度に基づいて、集合的なユーザ提案角度を決定するステップと、通信ネットワーク上で補正角度を伝送するステップとを含み、補正角度は、ランダムな角度および集合的なユーザ提案角度に基づく。
【0006】
この方式において、傾斜画像を水平にする手順に関する提案は、傾斜画像の所有者に与えられ得る。提案は、さらにコンピュータまたは画像処理技術が、画像が直立しているかどうかを解釈できないような画像に対して与えられ得る。
【0007】
本発明のさらなる実施形態、特徴、および利点、ならびに本発明の種々の実施形態の構造および操作を、添付図面を参照して以下で詳細に説明する。
【0008】
本発明の実施形態を、添付図面を参照して説明する。図面中、類似参照番号は、同一または機能的に同様の要素を示し得る。要素が最初に現れる図面は、概して、対応する参照番号における最も左の数字によって示される。
【図面の簡単な説明】
【0009】
【図1】図1は、本発明の実施形態による、傾斜画像を水平にするためのシステムの設計図である。
【図2】図2は、本発明の実施形態による、図1のシステムの構成要素の詳細図である。
【図3】図3は、本発明の実施形態による、図1のシステムの構成要素がどのように相互作用し得るかを示す図である。
【図4】図4は、本発明の実施形態による図1のシステムの詳細図である。
【図5】図5は、本発明の実施形態による、傾斜画像を水平にするための方法のフローチャートである。
【図6】図6は、本発明の実施形態による、例示的な画像表示装置である。
【図7】図7は、本発明の実施形態による、別の例示的な画像表示装置である。
【図8A】図8A〜Cは、本発明の実施形態による、3つの画像に対して収集された個別のユーザ提案角度に基づいて描かれたグラフの例である。
【図8B】図8A〜Cは、本発明の実施形態による、3つの画像に対して収集された個別のユーザ提案角度に基づいて描かれたグラフの例である。
【図8C】図8A〜Cは、本発明の実施形態による、3つの画像に対して収集された個別のユーザ提案角度に基づいて描かれたグラフの例である。
【図9】図9は、本発明の実施形態によるコンピュータシステムである。
【発明を実施するための形態】
【0010】
(実施形態の詳細な説明)
本発明の実施形態は、傾斜画像を水平にすることに関する。これは、傾斜画像の社会的な基準の補正を含み得る。本発明は、本明細書においては特定の用途に対する例示的実施形態に関して説明されるが、本発明はそれに限定されないことを理解されたい。本明細書に提供される教示が入手可能な当業者は、その範囲内の追加の修正、用途、および実施形態、ならびに本発明が重要な有用性となる追加の分野を認識するであろう。以下の項では、傾斜画像を水平にするためのシステムおよび方法を説明する。
【0011】
(システム)
本項は、傾斜画像を水平にするために好適なシステムを説明する。本明細書では、「傾斜画像」という用語は、水平軸に沿って整列された水平方向の境界線と、縦軸に沿って整列された縦方向の境界線とを有するが、水平軸または縦軸に沿って明確に整列されていないかもしれない景色を含有する、画像を言う。図1は、本発明の実施形態による、傾斜画像を水平にするためのシステムの基本設計概念図である。図1は、システム100を示す。システム100は、1つ以上のネットワーク120によって連結される、クライアント110a〜n、クライアント114、サーバ150、サーバ151、および画像データベース160を含む。本明細書では、「データベース」という用語は、表データベース、階層データベース、ネットワークデータベース、関係型データベース、次元型データベース、および/またはオブジェクトデータベースを含むが、これらに限定されない。
【0012】
クライアント110a〜nおよび114、サーバ150および151、ならびに画像データベース160の各々は、コンピューティングデバイス上に実装され得る。そのようなコンピューティングデバイスとして、パーソナルコンピュータ、携帯電話機等のモバイルデバイス、ワークステーション、埋め込み型システム、ゲーム機、テレビ、セットトップボックスが挙げられ得るが、これらに限定されない。そのようなコンピューティングデバイスとして、命令の実行および格納のためのプロセッサおよびメモリを有するデバイスが挙げられてもよいが、これに限定されない。そのようなコンピューティングデバイスは、ソフトウェア、ファームウェア、ハードウェア、またはこれらの組み合わせを含み得る。ソフトウェアは、1つ以上のアプリケーションおよびオペレーティングシステムを含み得る。ハードウェアは、プロセッサ、メモリ、およびグラフィカルユーザインターフェースディスプレイを含み得るが、これらに限定されない。
【0013】
クライアント110a〜nおよび114、サーバ150および151、ならびに画像データベース160は、同じまたは異なる場所にある1つ以上のコンピューティングデバイス上に実装され得る。例えば、クライアント110a〜nおよび114、サーバ150および151、ならびに画像データベース160は、ネットワーク120等のネットワークに連結される異なるコンピューティングデバイス上にあって相互に遠隔であり得る。さらに別の実施例において、サーバ150および151、ならびに画像データベース160は、共通の場所にある1つ以上のコンピューティングデバイス上に実装され、ネットワーク120上で遠隔のクライアント110a〜nおよび114に連結され得る。この説明を所与として当業者には明らかであるように、クライアント110a〜nおよび114、サーバ150および151、ならびに画像データベース160を配置するための他の組み合わせおよび構成が使用され得る。
【0014】
ネットワーク120は、データ通信を担うことができる任意のネットワークまたはネットワークの組み合わせであり得る。そのようなネットワーク120は、ローカルエリアネットワーク、中域ネットワーク、およびインターネット等の広域ネットワークを含み得るが、それらに限定されない。ネットワーク120は、ワールドワイドウェブプロトコルおよび/またはサービスを含むがそれらに限定されない、プロトコルおよび技術をサポートすることができる。特定の用途または環境に応じて、中間ウェブサーバ、ゲートウェイ、または他のサーバが、システム100の構成要素の間に提供され得る。
【0015】
一つの例示的な実施形態において、クライアント110a〜nおよび114は、それぞれ、ブラウザ111a〜nおよび115を含む。例えば、ブラウザ111a〜nおよび115は、コンテンツを閲覧するためのウェブブラウザまたは他の種類のブラウザであり得る。ブラウザ111a〜nおよび115は、リクエストをネットワーク120上でサーバ150および151等のサーバのうちの1つ以上へ送信し、サーバ150および151等のサーバのうちの1つ以上から応答を受信することができる。例としてであって限定ではなく、リクエストは、ハイパーテキスト転送プロトコル(HTTP)リクエストであり得る。HTTPリクエストは、ユーザインターフェースを使用して、ユーザによって入力されるパラメータを含み得る。応答は、HTTP応答であり得る。HTTP応答は、ハイパーテキストマークアップ言語(HTML)、画像、ビデオまたはマルチメディアコンテンツ等のウェブコンテンツを含み得る。
【0016】
サーバ150および151の各々は、ウェブサーバを含んでもよく、または、同じまたは異なる場所にあるウェブサーバと通信するように連結され得る。ウェブサーバは、HTTP応答を用いてHTTPリクエストに応答する、ソフトウェアコンポーネントである。例示的な実施例として、ウェブサーバは、アパッチHTTPサーバ、アパッチトムキャット、MICROSOFTインターネットインフォメーションサーバ、JBOSSアプリケーションサーバ、WEBLOGICアプリケーションサーバ、またはSUN JAVA(登録商標)システムウェブサーバであり得るが、これらに限定されない。ウェブサーバは、HTTPリクエストに応答してコンテンツを生成する、ウェブアプリケーションを含み得る。ウェブサーバは、生成されたコンテンツをパッケージ化し、コンテンツをHTTP応答の形でクライアントにサービスし得る。そのようなコンテンツは、HTML、拡張可能マークアップ言語(XML)、ドキュメント、ビデオ、画像、マルチメディア機能、またはこれらの任意の組み合わせを含み得る。これらの例は、厳密に説明のためであって、本発明を制限しない。
【0017】
実施形態によると、サーバ150は、画像整列装置170を含む。自動的に、またはユーザが要求したときに、画像整列装置170は、画像データベース160から選択された画像の傾斜を水平にするために必要な角度を計算する。
【0018】
実施形態によると、サーバ151は、画像レポジトリ180を含む。画像レポジトリ180は、例えば、選択された画像等の画像を共有、表示、および/または格納するために使用される任意のウェブベースまたはデスクトップベースのアプリケーションであり得る。例としてであって、限定ではなく、画像レポジトリ180は、Googleによるピカサウェブアルバムであり得る。図3を参照して以下に詳細を説明するように、画像整列装置170は、画像レポジトリ180によって管理されるいずれの傾斜画像をも水平にするよう角度を提供するように、画像レポジトリ180と通信し得る。
【0019】
画像データベース160は、デジタル画像および/またはデジタルビデオを格納する。画像データベース160は、デジタル画像および/またはデジタルビデオを画像整列装置170および/または画像レポジトリ180へ供給し得る。実施形態において、画像整列装置170および/または画像レポジトリ180は、必要に応じて画像データベース160内のデジタル画像および/またはデジタルビデオを修正するように構成され得る。
【0020】
ブラウザ111a〜nおよび115、画像整列装置170、ならびに画像レポジトリ180は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせとして実装され得る。
【0021】
図2は、本発明の実施形態による、図1のシステム100の構成要素の詳細図である。図2に示されるように、クライアント110a〜nは、サーバ150と通信してもよく、サーバ150は、画像データベース160と通信し得る。代替実施形態において、図示されないが、画像データベース160は、サーバ150の中のメモリ内に存在する。前述のように、この通信は、インターネット等の1つ以上のネットワーク120上で発生し得る。
【0022】
画像整列装置170は、画像回転装置210、画像マスク装置220、画像表示装置230、および画像角度計算機240を含む。画像回転装置210は、デジタル画像またはデジタルビデオのフレームを取り込み、ランダムに選択された角度でそれを回転させるように構成される。デジタル画像またはフレームは、ゼロと360度との間で時計回りまたは反時計回りに回転させられてもよい。実施形態において、選択されたデジタル画像またはフレームは、未知の角度で以前に傾斜されている。デジタル画像またはフレームは、ランダムに選択された角度でさらに傾斜される。未知の角度で本来傾斜していたデジタル画像またはフレームを識別するように、画像処理技術が使用され得ることに注意する。
【0023】
画像マスク装置220は、回転デジタル画像またはフレームを取り込み、それをマスクするように構成される。実施形態において、このマスキングは、デジタル画像またはフレームの丸い切り抜きを作成するステップを含んでもよく、丸い切り抜きは、デジタル画像またはフレームの境界線およびエッジを隠す。この方式において、マスク付きデジタル画像またはフレームを視認するユーザは、デジタル画像またはフレームを水平にする、または整列するように求められた場合、本来の境界によって影響されることがない。本明細書では、「水平にする」という用語は、画像を正しく配向することを言う。代替実施形態において、マスクは、楕円形または任意の多角形形状であり得る。画像マスク装置220は、デジタル画像またはフレームの寸法に基づいて、デジタル画像またはフレームの切り抜きを作成するために使用されるマスクのサイズを決定し得る。本来のデジタル画像またはフレームは永久的にクロップされないことに注意する。また、マスキングは、画像回転装置210がデジタル画像またはフレームを回転させる前に実施され得ることに注意する。以下に詳細を説明するように、マスキングは一時的である。
【0024】
画像表示装置230は、1つ以上の、回転され、マスクされたデジタル画像および/またはフレームを1人以上のユーザに表示するように構成される。画像表示装置230は、デジタル画像および/またはフレームを表示する能力を有する任意のアプリケーションに組み込まれてもよい。画像表示装置230はまた、デジタル画像および/またはフレームを表示する能力を有するスタンドアロン型アプリケーションであり得る。代替実施形態において、図示されないが、画像表示装置230は、1つ以上のクライアント110a〜nの中に存在するデスクトップ型アプリケーションであり得る。いずれの実施形態においても、画像表示装置230は、各ユーザが、どの傾斜も排除するように、各表示されたデジタル画像またはフレームを回転させることを要求する。画像表示装置230は、各ユーザが各デジタル画像またはフレームを回転させる角度を記録する。画像表示装置230の実施例は、図6を参照して以下に提供する。
【0025】
画像角度計算機240は、デジタル画像またはフレームに対して画像表示装置230によって記録される角度、および画像回転装置210によって選択されるランダムな角度を使用して、本来の傾斜デジタル画像またはフレームを水平にするために使用される補正角度を計算するように構成される。画像角度計算機240は、図4を参照して以下に詳細を説明する。
【0026】
実施形態において、画像レポジトリ180は、画像角度計算機240によって計算される角度を使用して、本来のデジタル画像またはフレームに1つ以上の補正を提案し得る。この提案は、例えば、ネットワーク120等の任意の通信ネットワーク上で、デジタル画像またはフレームの所有者へ送信され得る。同様に、所有者が、デジタル画像またはフレームにアクセスするとき、補正が通知され得る。別の実施形態において、画像レポジトリ180は、画像角度計算機240によって計算される角度を使用して、本来のデジタル画像またはフレームを自動的に水平にし得る。
【0027】
この方式において、画像整列装置170は、傾斜デジタル画像またはフレームを水平にする手順に関する提案を提出し、適切な補正が行われたかどうかを示すように、複数のユーザからのフィードバックを使用することができる。画像整列装置170はまた、傾斜デジタル画像および/またはフレームの自己補正を導くように、フィードバックを使用することができる。
【0028】
画像回転装置210、画像マスク装置220、画像表示装置230、および画像角度計算機240は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせとして実装され得る。
【0029】
代替実施形態において、図示されないが、画像整列装置170は、クライアント114等のクライアントの中に含まれ得る。
【0030】
図3は、本発明の実施形態による、図1のシステム100の構成要素がどのように相互作用し得るかを示す図である。実施形態において、自動的に、またはクライアント110a〜nのうちのいずれかのリクエストの際に、画像回転装置210は、画像データベース160から本来の画像302を受信する。本来の画像302は、デジタル画像またはデジタルビデオのフレームであり得る。本来の画像302は、画像回転装置210によって未知の角度で傾斜し得る。
【0031】
画像回転装置210は、本来の画像302をランダムな角度304で回転させる。実施形態において、ランダムな角度304は、ゼロ以上360度以下である。回転画像306を表す、この本来の画像302の回転は、画像マスク装置220へ送信され、一方で、ランダムな角度304は、画像角度計算機240へ送信される。
【0032】
画像マスク装置220は、図2を参照して上述したように、回転画像306を取り込み、マスキングを実施する。マスク画像308によって表される、マスク付き回転画像306は、画像表示装置230へ送信される。
【0033】
代替実施形態において、図示されないが、本来の画像302は、画像マスク装置220へ送信される。上述のように、画像マスク装置220は、そのマスキングを実施し、マスク付き画像を画像回転装置210へ送信するので、マスク付き画像が回転し得る。画像回転装置210は、次いで、マスク付き回転画像を画像表示装置230へ送信する。
【0034】
画像回転装置210および画像マスク装置220は、いくつかの画像を回転およびマスクしてもよく、同時に画像表示装置230は、各回転してマスクされた画像を集積し、表示する。簡素化のために、システム100は、本明細書では、1つの画像が分析される場合において説明される。図2を参照して上述したように、画像表示装置230は、ブラウザ111a〜nを通して、画像を水平にするリクエスト310を1つ以上のクライアント110a〜nへ送信し、ユーザがマスク付き画像308を回転することを可能にするために必要なツールを提供する。実施形態において、各ブラウザ111a〜nは、個別のユーザ提案角度312を画像表示装置230へ送信する。個別のユーザ提案角度312は、個別のユーザがマスク付き画像308を回転させる角度を表す。例として、ブラウザ111a〜nとサーバ150との間で、個別のユーザ提案角度312は、ブラウザ111a〜nによって生成されるHTTPパラメータであり得る。実施例において、各ユーザは、マスク付き画像308を回転させる適切な角度を選択し、提出ボタンを押し得る。これによって、各ブラウザ111a〜nが、HTTPパラメータとして個別のユーザ提案角度312を含む、HTTPリクエストを生成するように起動する。この実施例は、例示に過ぎず、制限を目的としない。
【0035】
実施形態において、画像表示装置230は、個別のユーザ提案角度312を画像角度計算機240へ送信する。加えて、画像角度計算機240は、画像回転装置210からランダムな角度304を受信し得る。個別のユーザ提案角度312およびランダムな角度304を使用して、画像角度計算機240は、本来の画像302が補正角度314で回転させられている場合、本来の画像302を水平にする補正角度314を計算する。補正角度314を決定するために必要な計算および条件は、図4を参照して以下に詳細を説明する。
【0036】
補正角度314は、ネットワーク120を経由して伝送される1つ以上の信号の形で、画像レポジトリ180へ送信される。上述のように、画像レポジトリ180は、本来の画像302を補正角度314で回転させられることを、本来の画像302の所有者に提案し得る。代替実施形態において、画像レポジトリ180は、本来の画像302を補正角度314で自動的に回転し得る。
【0037】
次項では、画像角度計算機240の動作を詳細に説明する。
【0038】
図4は、画像角度計算機240の詳細図である。図4に示されるように、画像角度計算機240は、角度分析装置410、角度合計装置420、および補正角度計算機430を含む。画像角度計算機240は、本明細書ではいくつかの別個の構成要素を含むとして説明されるが、構成要素は組み合わされてもよく、例えば、3つの構成要素の機能は、単一の構成要素またはプログラム内部に存在する。このように、図4に示される個別の構成要素は、例示であって、本発明を制限することを目的としない。
【0039】
角度分析装置410は、画像表示装置230から、個別のユーザ提案角度312を受信する。実施形態において、角度分析装置410は、個別のユーザ提案角度312を以前の個別のユーザ提案角度312に比較する。第1の実施形態において、個別のユーザ提案角度312が、他の以前の個別のユーザ提案角度312と共に、中央の角度の所定範囲内にある場合、角度分析装置410は、中央の角度を共通角度402として角度合計装置420へ送信する。例として、個別のユーザ提案角度312が、35から40度の範囲内にあり、他の以前の個別のユーザ提案角度312の少なくとも50%が同じ範囲内にある場合、角度分析装置410は、37.5度の角度を角度合計装置420へ送信し得る。
【0040】
代替実施形態は、他の閾値および範囲を使用し得る。第2の実施形態において、個別のユーザ提案角度312が、他の以前の個別のユーザ提案角度312の過半数と共に、中央の角度の所定範囲内にある場合、かつ以前の個別のユーザ提案角度312の数が所定の値を超える場合、角度分析装置410は、中央の角度を共通角度402として角度合計装置420へ送信する。例として、個別のユーザ提案角度312が、55から56度の範囲内にあり、かつ他の以前の個別のユーザ提案角度312の少なくとも50%が同じ範囲内にあり、55から56度の範囲内の他の以前の個別のユーザ提案角度312の数が100を超える場合、角度分析装置410は、55.5度の角度を角度合計装置420へ送信し得る。
【0041】
第3の実施形態において、個別のユーザ提案角度312と共に、以前の個別のユーザ提案角度312の少なくとも所定のパーセントが、中央の角度の所定範囲内にある場合、角度分析装置410は、中央の角度を共通角度402として角度合計装置420へ送信する。例として、個別のユーザ提案角度312が、他の以前の個別のユーザ提案角度312の少なくとも35%と共に、35から40度の範囲内にある場合、角度分析装置410は、37.5度の角度を角度合計装置420へ送信し得る。
【0042】
代替実施形態において、角度分析装置410は、所定範囲内の任意の角度を共通角度402として送信し得ることに注意する。また、上記の条件のうちのどれもが満たされない場合、角度分析装置410は、共通角度402を出力する前に、特定の条件が選択されるまで待機し得ることに注意する。さらに、共通角度402は、さらなる変更が本来の画像302に行われるかどうかのさらなる結果が受信されるにつれて変化し得る。
【0043】
代替実施形態において、角度分析装置410は、個別のユーザ提案角度312を以前の個別のユーザ提案角度に比較し、最も頻度の高い個別のユーザ提案角度を角度合計装置420へ送信する。例えば、60の受信された個別のユーザ提案角度のうち56が37.5度である場合、角度分析装置410は、37.5度の値を角度合計装置420へ送信し得る。
【0044】
別の代替実施形態において、角度分析装置410は、全ての個別のユーザ提案角度を分析し、標準偏差を計算して共通角度402を決定し得る。例えば、標準偏差を取ることによって、個別のユーザ提案角度が、個別のユーザ提案角度の中央値に近似する場合、中央値が共通角度402として設定され得る。いくつかの実施形態において、中央値から標準偏差の1倍を超える個別のユーザ提案角度は、個別のユーザ提案角度の外れ値が共通角度402を決定するために使用されないように、削除され得る。他の統計分析もまた、共通角度402を決定するために使用され得る。
【0045】
いくつかの実施形態において、個別のユーザ提案角度の数は、共通角度402を決定するために必要である。そのような数は、統計的検定に基づいて計算され得る。例えば、一実施形態において、画像を補正するために収集される個別のユーザ提案角度の数を決定するために、t検定が使用される。t検定は、当技術分野では周知の統計的仮説検定で、集団の標本サイズを決定するために適用され得る。標本サイズを決定するための他の統計的アルゴリズムもまた使用され得る。
【0046】
角度合計装置420は、共通角度402およびランダムな角度306を受信する。実施形態において、角度合計装置420は、共通角度402およびランダムな角度306を合計して、角度合計404を得る。角度合計装置420は、角度合計404を補正角度計算機430へ送信し得る。
【0047】
補正角度計算機430は、角度合計404を受信し、分析する。実施形態において、補正角度計算機430は、角度合計404がゼロでないかどうかを決定する。角度合計404がゼロでない場合、補正角度計算機430は、集合的なユーザ提案角度を共通角度402として設定し得る。補正角度計算機430は、合計を補正角度314として画像レポジトリ180へ送信し得る。角度合計404がゼロである場合、ランダムな角度306は、共通角度402によって相殺されたので、本来の画像302は全く傾斜していなかったことを示し得る。この場合、補正角度計算機430は、補正角度314を全く送信しない場合がある。さらなる実施形態において、補正角度計算機430は、角度合計404が、ゼロ周辺の所定範囲内にあるかどうかを決定する。角度合計404が、所定範囲内である場合、補正角度計算機430は、角度合計404がゼロであるように作動する。例として、所定範囲は、5度であり得る。
【0048】
いずれの角度も正または負の値であり得ることに注意する。実施形態において、画像が回転する方向は、角度の符号を決定する。実施形態において、画像を時計回りに回転させると、正の角度値であり得る。同様に、画像を反時計回り様式に回転させると、負の角度値であり得る。代替実施形態において、時計回りおよび反時計回りに回転させると、それぞれ、正および負の値であり得る。
【0049】
この方式において、1人以上のユーザから収集されたデータは、画像の所有者に画像を水平にする手順に関する提案を受信することを可能にし得る。具体的には、画像の所有者は、画像の傾斜を水平にする手順に関して、社会的な基準の提案を受信し得る。これは、コンピュータまたは画像処理技術がデジタル画像またはフレームが直立しているかどうかを解釈できない場合に、特に有用であり得る。
【0050】
(方法)
本項では、傾斜画像を水平にするために使用される方法を説明する。図5は、本発明の実施形態による、傾斜画像を水平にするための方法500のフローチャートである。方法500は、本発明の実施形態に関して説明されるが、方法500は限定を目的とせず、他の用途において使用され得る。実施例において、方法500は、図1〜3の画像レポジトリ180等の画像レポジトリに格納された画像に対する傾斜補正を提案するために使用され得る。しかしながら、方法500は、画像レポジトリ180に制限されることを目的としない。
【0051】
図5に示されるように、方法500は、工程502で開始し、傾斜画像が受信される。実施形態において、傾斜画像は、複数の画像を格納する画像データベースから受信される。工程502が完了すると、方法500は、工程504へ進む。
【0052】
工程504で、傾斜画像は、ランダムな角度で回転させられる。工程504が完了すると、方法500は、引き続き工程506へ進む。
【0053】
工程506で、画像はマスクされる。実施形態において、このマスキングは、画像の隅を覆うステップを含む。これは、円状マスクを介して達成され得る。さらなる実施形態において、円状マスクは、本来の画像のサイズに応じてサイズが決定される。工程506が完了すると、方法500は、工程508へ進む。
【0054】
代替実施形態において、図示されないが、工程502が完了すると、方法500は、工程506へ進む。そのような実施形態において、方法500は、工程506が完了すると、工程504に続き、次いで、工程504が完了すると、工程508へ進む。
【0055】
工程508で、1人以上のユーザは、画像を水平にするように求められる。実施形態において、これは、図2〜3の画像表示装置230等の画像表示装置を介して達成され得る。画像表示装置は、1人以上のユーザが、画像と共に他の画像を回転させることを要求し得る。工程508が完了すると、方法500は、工程510へ進む。
【0056】
工程510で、共通角度が決定される。実施形態において、共通角度は、1人以上のユーザのうちの過半数が、共通角度の所定範囲内にある角度で画像を回転させる、角度であり得る。別の実施形態において、共通角度は、1人以上のユーザのうちの所定の人数が、共通角度の所定範囲内にある角度で画像を回転させる、角度であり得る。また別の実施形態において、共通角度は、画像を回転させるためにほとんどのユーザによって使用される角度であり得る。工程510が完了すると、方法500は、引き続き工程512へ進む。
【0057】
工程512で、共通角度およびランダムな角度が合計される。工程512が完了すると、方法500は、工程514へ進む。
【0058】
工程514で、合計がゼロに等しいかどうかを決定するための確認が実施される。合計がゼロである場合、方法500は工程508に戻る。合計がゼロでない場合、方法500は工程516に続く。
【0059】
工程516で、補正角度は、合計に等しく設定される。実施形態において、補正角度は、画像の傾斜が補正され得る角度を画像の所有者に提案するために使用され得る。工程516が完了すると、方法500は終了する。
【0060】
工程502、504、506、508、510、512、514、および516は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせとして実装され得る。
【0061】
(例)
図6は、本発明の実施形態による例示的な画像表示装置である。図6に示されるように、画像表示装置600は、画像602a〜cおよびスライダ604a〜cを含み得る。画像表示装置は、図2〜3の画像表示装置230の例であり得ることに注意する。画像表示装置600は、クライアント上のブラウザ内に表示し得る。実施形態において、画像602a〜cは、既にマスクされ、ランダムに回転されている。円形状のマスクが使用されているが、任意の種類の多角形状マスクが好適であっても良いことに注意する。
【0062】
スライダ604a〜cは、各画像602a〜cそれぞれを回転させるために使用され得る。実施形態において、各スライダ604a〜cは、左から右へゼロから360度の範囲で、各画像602a〜cは、時計回りに回転する。代替実施形態において、各画像602a〜cは、反時計回りに回転し得る。さらなる代替実施形態において、画像602a〜cのうちのいくつかは時計回りに回転してもよく、一方で他は反時計回りに回転し得る。また、図6に示される以外にさらに画像およびスライダが表示されても良いことに注意する。
【0063】
ユーザは、各画像602a〜cを回転させるように要求されてもよく、画像表示装置600は、各画像602a〜cが回転する角度を保存し、提出ボタンまたはその同等物が押されると、伝送する。
【0064】
図7は、本発明の実施形態による、別の例示的な画像表示装置である。図7に示されるように、画像710は、モバイルデバイス700上に表示される。ユーザは、画像自体を回転させることができる。モバイルデバイス700を使用して、ユーザは、ディスプレイがタッチ画面である場合、自分の指を使用し、画像710を回転させ得る。この直接操作方法は、より直感的で、相対的運動(例えば、指でつつき、持ち上げてから、再びつつく)を可能にする。
【0065】
図8A〜Cは、本発明の実施形態による、3つの画像に対して収集された個別のユーザ提案角度に基づいて描かれたグラフの例である。図8Aにおいて、傾けて撮影された画像812に対するグラフ810は、ユーザが平均で60度の角度を推定していることを示す。標準偏差は、データが中央値(または平均角度)に近似することを示す。したがって、画像812は、画像812を60度回転させることによって、高い信頼性をもって補正され得る。図8Bにおいて、画像822に対するグラフ820は、中央値の角度が正確な調整であることに対してより低い信頼性を示す。図8Cにおいて、画像832に対するグラフ830によると、標準偏差の2倍を超える個別のユーザ提案角度は、補正角度を決定する際に削除され得る。これは、約70度の個別のユーザ提案角度を表すデータポイント834によって例示される。
【0066】
(コンピュータシステム)
本発明は、ハードウェア、ソフトウェア、またはこれらの組み合わせを使用して実装されてもよく、コンピュータシステムまたは他の処理システムの中に実装され得る。ハードウェア、ソフトウェア、または組み合わせは、図4のモジュールのうちのいずれも、および/または図5のいずれの工程も具現化することができる。実施形態において、本発明は、本明細書において説明される機能性を実行することが可能であるコンピュータシステム上で実行するコンピュータプログラム製品に関する。これは、システム100のサーバおよび/またはクライアントのうちのいずれにも適用する。コンピュータシステム900の実施例は、図9に示される。コンピュータシステム900は、プロセッサ904等の1つ以上のプロセッサを含む。プロセッサ904は、通信バス906へ接続される。この例示的なコンピュータシステムに関して多様なソフトウェアの実施形態が説明される。本説明を一読後、当業者には、他のコンピュータシステムおよび/またはコンピュータ基本概念設計を使用して、本発明を実装する手順が明らかであろう。
【0067】
コンピュータシステム900はまた、メインメモリ908、好ましくはランダムアクセスメモリ(RAM)を含み、二次メモリ910も含み得る。二次メモリ910は、例えば、ハードディスクドライブ912および/またはフロッピー(登録商標)ディスクドライブ、磁気テープドライブ、光ディスクドライブ等を表す、取り外し可能ストレージドライブ914を含み得る。取り外し可能ストレージドライブ914は、周知の様式において、取り外し可能ストレージユニット918から読み取る、および/または書き込む。取り外し可能ストレージユニット918は、磁気テープ、光ディスク、メモリカード等を表し、取り外し可能ストレージドライブ914によって読み取られ、書き込まれる。明らかであるように、取り外し式ストレージユニット918は、その中に格納されたコンピュータソフトウェアおよび/またはデータを有するコンピュータ使用可能ストレージ媒体を含む。
【0068】
代替実施形態において、二次メモリ910は、コンピュータプログラムまたは他の命令がコンピュータシステム900にロードされることを可能にするための他の類似の手段を含み得る。そのような手段は、例えば、取り外し式ストレージユニット922およびインターフェース920を含み得る。そのような例として、取り外し式メモリチップ(EPROM、またはPROM等)および関連ソケット、ならびに、ソフトウェアおよびデータが取り外し式ストレージユニット922からコンピュータシステム900へ転送されることを可能にする、他の取り外し式ストレージユニット922およびインターフェース920が挙げられる。
【0069】
コンピュータシステム900はまた、通信インターフェース924を含み得る。通信インターフェース924は、コンピュータシステム900が外部および/または遠隔のデバイスと通信することを可能にする。例えば、通信インターフェース924は、ソフトウェアおよびデータが、コンピュータシステム900と外部デバイスとの間で転送されることを可能にする。通信インターフェース924はまた、コンピュータシステム900が、LAN、WAN、インターネット等の通信ネットワーク上で通信することも可能にする。通信インターフェース924は、ワイヤまたはワイヤレス接続を介して、遠隔の場所またはネットワークとインターフェースし得る。通信インターフェース924の実施例として、モデム、ネットワークインターフェース(イーサネット(登録商標)カード等)、通信ポート、PCMCIAスロットおよびカード等が挙げられてもよい。コンピュータシステム900は、通信ネットワーク924を介して、データおよび/またはコンピュータプログラム製品を受信する。通信インターフェース924を介して転送されるソフトウェアおよびデータは、通信インターフェース924によって受信されることが可能な電子、電磁、光学、または他の信号であり得る、信号928の形である。信号928は、通信経路(つまり、チャネル)926を介して通信インターフェース924に提供される。このチャネル926は、信号928を運び、ワイヤまたはケーブル、光ファイバ、電話線、携帯電話リンク、RFリンクおよび他のワイヤまたはワイヤレス通信チャネルを使用して実施され得る。
【0070】
本明細書において、「コンピュータプログラム媒体」および「コンピュータ使用可能媒体」という用語は、概して、取り外し式ストレージドライブ914、およびハードディスクドライブ912にインストールされたハードディスク等の媒体を指すために使用される。これらのコンピュータプログラム製品は、コンピュータシステム900にソフトウェアを提供するための手段である。
【0071】
コンピュータプログラム(コンピュータ制御ロジックとも呼ばれる)は、メインメモリ908および/または二次メモリ910内に格納される。コンピュータプログラムはまた、信号928および通信インターフェース924を介して受信され得る。そのようなコンピュータプログラムは、実行されるとき、コンピュータシステム900が本明細書において説明される本発明の機能を実施することを可能にする。特に、コンピュータプログラムは、実行されるとき、プロセッサ904が本発明の機能を実施することを可能にする。したがって、そのようなコンピュータプログラムは、コンピュータシステム900のコントローラを表す。
【0072】
本発明がソフトウェアを使用して実装される実施形態において、ソフトウェアは、コンピュータプログラム製品の中に格納され、取り外し式ストレージドライブ914、ハードディスクドライブ912、または通信インターフェース924を使用して、コンピュータシステム900内へロードされ得る。制御ロジック(ソフトウェア)は、プロセッサ904によって実行されるとき、プロセッサ904に、本明細書において説明されるような本発明の機能を実施させる。
【0073】
コンピュータシステム900はまた、モニタ、キーボード、ポインティングデバイス等の入力/出力表示デバイス932を含む。
【0074】
本発明は、本明細書において説明された以外のソフトウェア、ハードウェア、およびオペレーティングシステム実装で有効であり得る。本明細書において説明される機能を実施するために好適な任意のソフトウェア、ハードウェア、およびオペレーティングシステム実装が使用され得る。
【0075】
(結論)
発明の概要および要約の項は、本発明者らによって検討されるような、本発明の全てではないが1つ以上の例示的実施形態を説明してもよく、したがって、決して本発明および添付の図面を限定することを目的としない。
【0076】
特定機能の実装およびその関係を例証する機能的構成要素を用いて、本発明を上記で説明している。これらの機能的構成要素の境界は、説明の便宜上、本明細書では任意に画定されている。特定機能およびその関係が適切に実施される限り、代替境界を画定することができる。
【0077】
具体的実施形態の先述の説明は、本発明の一般概念から逸脱することなく、必要以上の実験を伴わずに、当技術分野内の知識を適用することによって、他者が種々の用途についてそのような具体的実施形態を容易に修正および/または適合させることができる、本発明の一般的性質を完全に明らかにする。したがって、そのような適合および修正は、本明細書で提示される教示および指導に基づいて、開示された実施形態の同等物の意味および範囲内となることを目的とする。本明細書の用語または表現が、教示および指導に照らして当業者によって解釈されるように、本明細書の表現または用語は、限定ではなく説明の目的によるものであると理解されたい。
【0078】
本発明の幅および範囲は、上記の例示的実施形態のうちのいずれかによって決して限定されるべきではないが、以下の請求項およびそれらの同等物のみに従って定義されるべきである。
【特許請求の範囲】
【請求項1】
傾斜画像の社会的な基準の補正のためのコンピュータ実装方法であって、
(a) 画像を受信することと、
(b) 該画像をランダムな角度で回転させることと、
(c) 少なくとも1人のユーザが該画像を回転させて該画像を水平にすることを要求することであって、該回転は、個別のユーザ提案角度を表す、ことと、
(d) 各ユーザの該個別のユーザ提案角度に基づいて、集合的なユーザ提案角度を決定することと、
(e) 通信ネットワークを介して、補正角度に対応する信号を伝送することであって、該補正角度は、該ランダムな角度および該集合的なユーザ提案角度に基づく、ことと
を含む、コンピュータ実装方法。
【請求項2】
(f) ステップ(b)の後、かつステップ(c)の前に、前記画像をマスキングすることをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
ステップ(f)は、前記画像の丸い切り抜きを作成することを含み、該丸い切り抜きは、該画像の各境界線およびエッジを隠す、請求項2に記載のコンピュータ実装方法。
【請求項4】
ステップ(d)は、
(i) 共通角度を決定することであって、前記少なくとも1人のユーザは、前記画像を、角度の範囲内の個別のユーザ提案角度で回転させ、該共通角度は、該範囲内である、ことと、
(ii) 該共通角度および前記ランダムな角度を合計することと、
(iii) 該合計がゼロでない場合、前記集合的なユーザ提案角度を該共通角度に設定することと
を含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
ステップ(i)は、前記角度の範囲内で前記画像を回転させたユーザの数に基づいて、前記共通角度を決定することを含み、該数は、所定の閾値を超える、請求項4に記載のコンピュータ実装方法。
【請求項6】
ステップ(i)は、前記角度の範囲内で前記画像を回転させた前記ユーザの過半数に基づいて、前記共通角度を決定することを含む、請求項4に記載のコンピュータ実装方法。
【請求項7】
前記補正角度は、前記ランダムな角度および前記集合的なユーザ提案角度の合計である、請求項1に記載のコンピュータ実装方法。
【請求項8】
画像を受信するように構成され、該画像をランダムな角度で回転させるように構成されている画像回転装置と、
該画像を表示するように構成され、少なくとも1人のユーザが該画像を回転させて該画像を水平にすることを要求するように構成されている、該画像回転装置に連結される画像表示装置であって、該回転は、個別のユーザ提案角度を表す、画像表示装置と、
各ユーザの該個別のユーザ提案角度に基づいて、集合的なユーザ提案角度を決定するように構成され、該集合的なユーザ提案角度および該ランダムな角度に基づいて、補正角度を計算するように構成されている、該画像表示装置および該画像回転装置に連結される画像角度計算機と
を備えている、システム。
【請求項9】
前記補正角度による前記画像の回転を提案するように構成されている、前記画像角度計算機に連結される画像レポジトリをさらに備えている、請求項8に記載のシステム。
【請求項10】
前記画像をマスクするように構成されている、前記画像回転装置および前記画像表示装置に連結される画像マスク装置をさらに備えている、請求項8に記載のシステム。
【請求項11】
前記画像マスク装置は、前記画像の丸い切り抜きを作成するように構成され、該丸い切り抜きは、該画像の各境界線およびエッジを隠す、請求項10に記載のシステム。
【請求項12】
前記画像角度計算機は、
共通角度を決定するように構成されている角度分析装置であって、前記少なくとも1人のユーザのうちの少なくとも1人は、前記画像を、該共通角度の境界を示す所定範囲内の個別のユーザ提案角度で回転させる、角度分析装置と、
該共通角度および前記ランダムな角度を合計するように構成されている、該角度分析装置に連結される角度合計装置と、
該合計がゼロでない場合、前記集合的なユーザ提案角度を該共通角度に設定するように、かつ補正角度を計算するように構成されている、該角度合計装置に連結される補正角度計算機であって、該補正角度は、該ランダムな角度および該集合的なユーザ提案角度の合計である、補正角度計算機と
を備えている、請求項8に記載のシステム。
【請求項13】
前記角度分析装置は、前記角度の範囲内で前記画像を回転させたユーザの数に基づいて、前記共通角度を決定するように構成され、該数は、所定の閾値を超える、請求項12に記載のシステム。
【請求項14】
前記角度分析装置は、前記角度の範囲内で前記画像を回転させたユーザの過半数に基づいて、前記共通角度を決定するように構成されている、請求項12に記載のシステム。
【請求項15】
傾斜画像を自動的に水平にするための、コンピュータ実装方法であって、
(a) 画像を受信することと、
(b) 該画像をランダムな角度で回転させることと、
(c) 少なくとも1人のユーザが該画像を回転させて該画像を水平にすることを要求することであって、該回転は、個別のユーザ提案角度を表す、ことと、
(d) 各ユーザの該個別のユーザ提案角度に基づいて、集合的なユーザ提案角度を決定することと、
(e) 補正角度を計算することであって、該補正角度は、該ランダムな角度および該集合的なユーザ提案角度に基づく、ことと
(f) 該補正角度を使用して該画像を自動的に水平にすることであって、該水平画像は、画像レポジトリに表示される、ことと
を含む、コンピュータ実装方法。
【請求項16】
(g) ステップ(b)の後、かつステップ(c)の前に、前記画像をマスキングすることをさらに含む、請求項15に記載のコンピュータ実装方法。
【請求項17】
ステップ(g)は、前記画像の丸い切り抜きを作成することを含み、該丸い切り抜きは、前記画像の各境界線およびエッジを隠す、請求項16に記載のコンピュータ実装方法。
【請求項18】
ステップ(d)は、
(i) 共通角度を決定することであって、前記ユーザのうちの少なくとも1人は、前記画像を、角度の範囲内の個別のユーザ提案角度で回転させて、前記共通角度は、該範囲内である、ことと、
(ii) 該共通角度および前記ランダムな角度を合計することと、
(iii) 該合計がゼロでない場合、前記集合的なユーザ提案角度を該共通角度に設定することと
を含む、請求項15に記載のコンピュータ実装方法。
【請求項19】
ステップ(i)は、前記角度の範囲内で前記画像を回転させたユーザの数に基づいて、前記共通角度を決定することを含み、該数は、所定の閾値を超える、請求項18に記載のコンピュータ実装方法。
【請求項20】
ステップ(i)は、前記角度の範囲内で前記画像を回転させたユーザの過半数に基づいて、前記共通角度を決定することを含む、請求項18に記載のコンピュータ実装方法。
【請求項21】
前記補正角度は、前記ランダムな角度および前記集合的なユーザ提案角度の合計である、請求項15に記載のコンピュータ実装方法。
【請求項1】
傾斜画像の社会的な基準の補正のためのコンピュータ実装方法であって、
(a) 画像を受信することと、
(b) 該画像をランダムな角度で回転させることと、
(c) 少なくとも1人のユーザが該画像を回転させて該画像を水平にすることを要求することであって、該回転は、個別のユーザ提案角度を表す、ことと、
(d) 各ユーザの該個別のユーザ提案角度に基づいて、集合的なユーザ提案角度を決定することと、
(e) 通信ネットワークを介して、補正角度に対応する信号を伝送することであって、該補正角度は、該ランダムな角度および該集合的なユーザ提案角度に基づく、ことと
を含む、コンピュータ実装方法。
【請求項2】
(f) ステップ(b)の後、かつステップ(c)の前に、前記画像をマスキングすることをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
ステップ(f)は、前記画像の丸い切り抜きを作成することを含み、該丸い切り抜きは、該画像の各境界線およびエッジを隠す、請求項2に記載のコンピュータ実装方法。
【請求項4】
ステップ(d)は、
(i) 共通角度を決定することであって、前記少なくとも1人のユーザは、前記画像を、角度の範囲内の個別のユーザ提案角度で回転させ、該共通角度は、該範囲内である、ことと、
(ii) 該共通角度および前記ランダムな角度を合計することと、
(iii) 該合計がゼロでない場合、前記集合的なユーザ提案角度を該共通角度に設定することと
を含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
ステップ(i)は、前記角度の範囲内で前記画像を回転させたユーザの数に基づいて、前記共通角度を決定することを含み、該数は、所定の閾値を超える、請求項4に記載のコンピュータ実装方法。
【請求項6】
ステップ(i)は、前記角度の範囲内で前記画像を回転させた前記ユーザの過半数に基づいて、前記共通角度を決定することを含む、請求項4に記載のコンピュータ実装方法。
【請求項7】
前記補正角度は、前記ランダムな角度および前記集合的なユーザ提案角度の合計である、請求項1に記載のコンピュータ実装方法。
【請求項8】
画像を受信するように構成され、該画像をランダムな角度で回転させるように構成されている画像回転装置と、
該画像を表示するように構成され、少なくとも1人のユーザが該画像を回転させて該画像を水平にすることを要求するように構成されている、該画像回転装置に連結される画像表示装置であって、該回転は、個別のユーザ提案角度を表す、画像表示装置と、
各ユーザの該個別のユーザ提案角度に基づいて、集合的なユーザ提案角度を決定するように構成され、該集合的なユーザ提案角度および該ランダムな角度に基づいて、補正角度を計算するように構成されている、該画像表示装置および該画像回転装置に連結される画像角度計算機と
を備えている、システム。
【請求項9】
前記補正角度による前記画像の回転を提案するように構成されている、前記画像角度計算機に連結される画像レポジトリをさらに備えている、請求項8に記載のシステム。
【請求項10】
前記画像をマスクするように構成されている、前記画像回転装置および前記画像表示装置に連結される画像マスク装置をさらに備えている、請求項8に記載のシステム。
【請求項11】
前記画像マスク装置は、前記画像の丸い切り抜きを作成するように構成され、該丸い切り抜きは、該画像の各境界線およびエッジを隠す、請求項10に記載のシステム。
【請求項12】
前記画像角度計算機は、
共通角度を決定するように構成されている角度分析装置であって、前記少なくとも1人のユーザのうちの少なくとも1人は、前記画像を、該共通角度の境界を示す所定範囲内の個別のユーザ提案角度で回転させる、角度分析装置と、
該共通角度および前記ランダムな角度を合計するように構成されている、該角度分析装置に連結される角度合計装置と、
該合計がゼロでない場合、前記集合的なユーザ提案角度を該共通角度に設定するように、かつ補正角度を計算するように構成されている、該角度合計装置に連結される補正角度計算機であって、該補正角度は、該ランダムな角度および該集合的なユーザ提案角度の合計である、補正角度計算機と
を備えている、請求項8に記載のシステム。
【請求項13】
前記角度分析装置は、前記角度の範囲内で前記画像を回転させたユーザの数に基づいて、前記共通角度を決定するように構成され、該数は、所定の閾値を超える、請求項12に記載のシステム。
【請求項14】
前記角度分析装置は、前記角度の範囲内で前記画像を回転させたユーザの過半数に基づいて、前記共通角度を決定するように構成されている、請求項12に記載のシステム。
【請求項15】
傾斜画像を自動的に水平にするための、コンピュータ実装方法であって、
(a) 画像を受信することと、
(b) 該画像をランダムな角度で回転させることと、
(c) 少なくとも1人のユーザが該画像を回転させて該画像を水平にすることを要求することであって、該回転は、個別のユーザ提案角度を表す、ことと、
(d) 各ユーザの該個別のユーザ提案角度に基づいて、集合的なユーザ提案角度を決定することと、
(e) 補正角度を計算することであって、該補正角度は、該ランダムな角度および該集合的なユーザ提案角度に基づく、ことと
(f) 該補正角度を使用して該画像を自動的に水平にすることであって、該水平画像は、画像レポジトリに表示される、ことと
を含む、コンピュータ実装方法。
【請求項16】
(g) ステップ(b)の後、かつステップ(c)の前に、前記画像をマスキングすることをさらに含む、請求項15に記載のコンピュータ実装方法。
【請求項17】
ステップ(g)は、前記画像の丸い切り抜きを作成することを含み、該丸い切り抜きは、前記画像の各境界線およびエッジを隠す、請求項16に記載のコンピュータ実装方法。
【請求項18】
ステップ(d)は、
(i) 共通角度を決定することであって、前記ユーザのうちの少なくとも1人は、前記画像を、角度の範囲内の個別のユーザ提案角度で回転させて、前記共通角度は、該範囲内である、ことと、
(ii) 該共通角度および前記ランダムな角度を合計することと、
(iii) 該合計がゼロでない場合、前記集合的なユーザ提案角度を該共通角度に設定することと
を含む、請求項15に記載のコンピュータ実装方法。
【請求項19】
ステップ(i)は、前記角度の範囲内で前記画像を回転させたユーザの数に基づいて、前記共通角度を決定することを含み、該数は、所定の閾値を超える、請求項18に記載のコンピュータ実装方法。
【請求項20】
ステップ(i)は、前記角度の範囲内で前記画像を回転させたユーザの過半数に基づいて、前記共通角度を決定することを含む、請求項18に記載のコンピュータ実装方法。
【請求項21】
前記補正角度は、前記ランダムな角度および前記集合的なユーザ提案角度の合計である、請求項15に記載のコンピュータ実装方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図8C】
【図9】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図8C】
【図9】
【公表番号】特表2012−507083(P2012−507083A)
【公表日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2011−533378(P2011−533378)
【出願日】平成21年10月23日(2009.10.23)
【国際出願番号】PCT/US2009/061895
【国際公開番号】WO2010/048534
【国際公開日】平成22年4月29日(2010.4.29)
【出願人】(502208397)グーグル インコーポレイテッド (161)
【Fターム(参考)】
【公表日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願日】平成21年10月23日(2009.10.23)
【国際出願番号】PCT/US2009/061895
【国際公開番号】WO2010/048534
【国際公開日】平成22年4月29日(2010.4.29)
【出願人】(502208397)グーグル インコーポレイテッド (161)
【Fターム(参考)】
[ Back to top ]