JP2016516365A - 映像方向の自動調整 - Google Patents

映像方向の自動調整 Download PDF

Info

Publication number
JP2016516365A
JP2016516365A JP2016503148A JP2016503148A JP2016516365A JP 2016516365 A JP2016516365 A JP 2016516365A JP 2016503148 A JP2016503148 A JP 2016503148A JP 2016503148 A JP2016503148 A JP 2016503148A JP 2016516365 A JP2016516365 A JP 2016516365A
Authority
JP
Japan
Prior art keywords
video
reference direction
computer
image
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016503148A
Other languages
English (en)
Other versions
JP6563896B2 (ja
Inventor
マシーク・エス・ノーヴァコヴスキー
バラージュ・ツァーボ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2016516365A publication Critical patent/JP2016516365A/ja
Application granted granted Critical
Publication of JP6563896B2 publication Critical patent/JP6563896B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2628Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Television Signal Processing For Recording (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Studio Devices (AREA)

Abstract

映像方向の自動調整のための方法と、システムと、コンピュータプログラム製品とを提供する。コンピュータに実装された方法は、複数の画像フレームを備える映像を受信するステップと、映像内の方向変化を検出するステップと、基準方向を映像について決定するステップと、映像を基準方向に、画像フレームのうちの1つまたは複数をリサイズすることによって、また画像フレームのうちの1つまたは複数を基準方向に回転させることによって調整するステップとを含むことができる。その後、基準方向に調整された映像をユーザに提供することができる。

Description

本分野は、一般にビデオ画像に関し、より具体的には、ビデオ画像の提示に関する。
多くのウェブサイトは、ユーザが映像を世界中の他者と共有することを可能にする。加えて、技術の進歩も、ユーザが彼ら自身の映像コンテンツを撮影し、共有することをますます便利にした。たとえば、1つまたは複数の高画質デジタルカメラとジャイロセンサと大容量の記憶スペースと、モバイルブローバンドとを有するスマートフォンは、ユーザが実質的にどこからでも映像を柔軟に録画し、共有することを可能にする。
しかしながら、ユーザによって生成された映像はいろいろな方向から撮影されることがあり、映像コンテンツの間違った表示となることがある。たとえば、ユーザは、映像を撮影している間、不注意に、または誤って録画デバイスを回転させるかもしれない。結果として、映像の1つまたは複数の部分が、横向きまたは逆さまに表示され得る。さらに、ユーザは、映像が後に固定ディスプレイ上で提示されるまで、そのような結果に気が付かないことがある。
実施形態は、一般に、ビデオ画像の調整と修正とに関する。一実施形態では、コンピューティングデバイスは、複数の画像フレームを備える映像を受信し、映像内の方向変化を検出する。次いで、コンピューティングデバイスは、映像について基準方向を決定し、映像内の画像フレームのうちの1つまたは複数をリサイズし、映像内の画像フレームのうちの1つまたは複数を基準方向に回転させることによって、映像を基準方向に調整する。
別の実施形態では、コンピュータ可読記憶媒体は、そこに記憶して、プロセッサによって実行された時にプロセッサに動作を実行させる命令を有する。この命令は、プロセッサに、複数の画像フレームを備える映像を受信することと、映像内の方向変化を検出することと、映像について基準方向を決定することと、画像フレームのうちの1つまたは複数をリサイズし、画像フレームのうちの1つまたは複数を基準方向に回転させることによって、映像を基準方向に調整することと、を行わせるように構成されたコンピュータ可読プログラムコードを含む。
さらなる実施形態では、システムは、メモリと、メモリに連結され、複数の画像フレームを備える映像を受信し、映像内の方向変化を検出し、映像について基準方向を決定し、画像フレームのうちの1つまたは複数をリサイズし、画像フレームのうちの1つまたは複数を基準方向に回転させることによって、映像を基準方向に調整するように構成された処理デバイスとを含む。
本開示のさらなる実施形態と特徴と利点、ならびに本開示の様々な実施形態の構造と動作とを、添付図面を参照して以下に詳細に説明する。
本開示の様々な実施形態は、以下に提供する詳細な説明から、および本開示の様々な実施形態の添付図面から、より完全に理解される。図面では、同じ参照番号が、同一の要素または機能的に類似の要素を示すことができる。ある要素が最初に現れる図面を、一般に、対応する参照番号の左端の数字によって示す。
本開示の様々な実施形態による、例示的システムアーキテクチャの図である。 一実施形態による、映像調整システムのブロック図である。 一実施形態による、映像方向の自動調整を示したフロー図である。 一実施形態による、映像コンテンツの自動調整の追加的な態様を示したフロー図である。 本明細書で説明する動作のうちの1つまたは複数を実行することができる例示的コンピュータシステムのブロック図である。
ユーザによって作成された何百万もの映像が毎日インターネット上で共有される。これらの映像の多くは、スマートフォンやデジタルカメラなどの携帯デバイス上で録画されている。加えて、これらのデバイスの多くは、ジャイロスコープや加速度計などの、デバイスの方向と位置とを取得する1つまたは複数のセンサを有する機器である。
携帯デバイスは、ユーザに、彼ら自身の映像を撮影し、共有するための利便性と柔軟性とを提供する一方、映像を録画している時、携帯デバイスを不注意に動かしまたは回転させることが非常に簡単である。結果として、映像のうちの1つまたは複数の部分を間違った方向から撮影することがある。加えて、映像のうちの1つまたは複数の部分が、意図しない揺れおよび/または動きを含んでいることもある。しかしながら、ユーザは、通常、後で、たとえば、コンピュータのモニタなどの固定ディスプレイ上で映像を再生するまで意図しない結果に気付かない。
一例では、ユーザは、映像を、スマートフォンを使用して撮影することができる。ユーザは、次いで、映像を、映像共有ウェブサイトまたはソーシャルネットワーキングウェブサイトにアップロードすることができる。その後、ユーザは、アップロードした映像を、たとえば、公開でまたは個人的に、それを共有する前にプレビューすることができる。プレビュー中、ユーザは、映像のうちの複数の部分が1つまたは複数の間違った方向から撮影されたことを発見することがある。たとえば、映像のうちのいろいろな部分は、横向き、逆さま、および/またはある角度で表示され得る。映像を修正するために、ユーザは、映像コンテンツを、映像編集ソフトウェアを有するシステムに転送し、映像のうちの1つまたは複数の部分を手作業で調整するであろう。その後、ユーザは、手作業で修正した映像をウェブサイトにアップロードするであろう。したがって、ユーザが撮影した映像コンテンツ内の方向の変化の検出および修正は、ユーザにとって不便でもあり面倒でもある。
本開示の実施形態は、映像コンテンツを調整して、1つまたは複数の間違った方向から撮影された、映像のうちの部分を修正することによって、上記の欠点に対処する。間違った方向の映像コンテンツの検出と修正とを自動的に実行することができ、ユーザが、映像編集ソフトウェアツールを使用して手作業による修正を行う必要がないようにする。
たとえば、ユーザは、映像を、携帯デバイスから、映像コンテンツの自動調整を提供する映像共有ウェブサイトにアップロードすることができる。ウェブサイトは、映像からの画像フレームに関連する位置データおよび/または方向データを分析して、1つまたは複数の方向変化、揺れ、および/または過度の動きが映像内で発生したことを検出することができる。ウェブサイトは、その状態についてユーザに通知することができ、ユーザが映像をプレビューすることを可能にし、ユーザが、映像を修正するために使用される基準方向および/または基本アラインメントを選択することを可能にすることができる。その後、ウェブサイトは映像を修正し、各映像フレームの方向が、ユーザによって選択された基準方向および/または基本アラインメントに一致するようにする。その後、ユーザは、映像編集ツールを使用してビデオ画像フレームを手作業で調整することなしに、修正された映像を見て、共有することができる。したがって、映像調整システムは、映像全体を通して、1つまたは複数のいろいろな方向で、様々な時間において録画された映像コンテンツを、自動的に検出し、修正することができる。映像調整システムは、また、映像を通して、様々な時間において検出される揺れと動きとを検出し、修正することができる。さらに、調整を1つまたは複数のビデオ画像フレームに適用して、たとえば、常に、1つの固定された基準方向および/または位置で表示される、調整映像を作成することができる。
図1は、本開示の様々な実施形態による、例示的システムアーキテクチャを示している。システムアーキテクチャ100は、ネットワーク104に接続された、サーバマシン110と、データストア140と、クライアントマシン102A〜クライアントマシン102Nとを含む。ネットワーク104は、パブリックネットワーク(たとえば、インターネット)、プライベートネットワーク(たとえば、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN))、またはそれらの組み合わせであることができる。
データストア140は、映像コンテンツおよび画像コンテンツなどの様々な種類のデータを記憶することができる永続記憶装置である。いくつかの実施形態では、データストア140はネットワークに取り付けされたファイルサーバであることができ、一方、他の実施形態では、データストア140は、オブジェクト指向型データベース、リレーショナルデータベースなどの、他の種類の永続記憶装置であることができる。データストア140は、クライアントマシン102A〜クライアントマシン102Nによってアップロードされる、ユーザが作成したコンテンツ(映像コンテンツおよび/または画像コンテンツ)を含むことができる。データは、1つまたは複数の他の関係者によって提供されるコンテンツをさらに、または代替的に含むことができる。画像コンテンツと映像コンテンツとをデータストア140に、個別のファイル(たとえば、motion picture experts group(MPEG)ファイル、ウィンドウズ(登録商標)メディアビデオ(WMV)ファイル、joint photographic experts group(JPEG)ファイル、画像交換フォーマット(GIF)ファイル、portable network graphics(PNG)ファイルなど)として、または1つの圧縮ファイル(たとえば、zipファイル)の構成要素として追加することができる。
一実施形態では、データストア140は、位置メタデータおよび/または方向メタデータを備える映像コンテンツと画像コンテンツとを記憶するために使用される。別の実施形態では、データストア140は、映像コンテンツと画像コンテンツとのうちの1つまたは複数と、映像コンテンツと画像コンテンツとに関連またはリンクする位置メタデータおよび/または方向メタデータとを記憶する。
クライアントマシン102A〜クライアントマシン102Nは、パーソナルコンピュータ(PC)、ラップトップ、携帯電話、タブレットコンピュータ、カメラ、または任意の他のコンピューティングデバイスであることができる。クライアントマシン102A〜クライアントマシン102Nは、クライアントマシン102A〜クライアントマシン102Nのハードウェアとソフトウェアとを管理するオペレーティングシステム(OS)を動かすことができる。(図示しない)ブラウザは、クライアントマシン上(たとえば、クライアントマシンのOS上)で動くことができる。ブラウザは、ウェブサーバによって提供されるコンテンツにアクセスすることができるウェブブラウザであることができる。ブラウザは、ウェブサーバによって提供される映像コンテンツと他のビジュアルメディアとを表示することができ、映像と他のビジュアルメディアとの編集を可能にすることができる。
サーバマシン110は、ラックマウント式サーバ、ルータコンピュータ、パーソナルコンピュータ、携帯情報端末、携帯電話、ラップトップコンピュータ、タブレットコンピュータ、カメラ、ビデオカメラ、ネットブック、デスクトップコンピュータ、メディアセンタ、または上記の任意の組み合わせであることができる。サーバマシン110は、ウェブサーバ120と映像調整システム130とを含むことができる。代替的な実施形態では、ウェブサーバ120および映像調整システム130は、1つまたは複数の異なるマシン上で動くことができる。
ウェブサーバ120は、映像コンテンツを、データストア140からクライアント102A〜クライアント102Nに提供することができる。クライアント102A〜クライアント102Nは、ウェブサーバ120からの映像コンテンツを、ウェブブラウザを使用して、見つけ、アクセスし、見ることができる。ウェブサーバ120は、また、データストア140の中に保存と配信とを含む目的のために保存される、クライアント102A〜クライアント102Nからの映像コンテンツを受信することができる。
ウェブサーバ120は、映像コンテンツに対するクエリを受信し、映像コンテンツの検索をデータストア140を使用して実行して、検索クエリを満たす映像データを見つけることができる。次いで、ウェブサーバ120は、クライアント102A〜クライアント102Nに検索クエリに一致する映像データ結果を送信することができる。一実施形態では、ウェブサーバ120は、クライアント102A〜クライアント102Nが映像コンテンツをアップロードし、プレビューし、編集し、表示し、公開することを可能にするように構成されたアプリケーションを提供する。たとえば、ウェブサーバ120は、そのような機能を提供する1つまたは複数のアプリケーションを含むことができ、またはそれらにアクセスすることができる。一例では、ウェブサーバ120は、1つまたは複数のサーバマシン110上のウェブサーバ120と共に、またはそれとは別にホストされ得る、1つまたは複数のアプリケーションサーバと通信する。そのような機能は、また、たとえば、1つまたは複数の異なるウェブアプリケーションと、独立型のアプリケーションと、システムと、プラグインと、ウェブブラウザ拡張機能と、アプリケーションプログラミングインターフェース(API)とによって提供され得る。
映像は、動きのある場面を表す、順次的な画像フレームのセットである。たとえば、順次的画像のシリーズを、継続的に撮影することができ、または後で再構築してアニメーションを作成することができる。映像コンテンツを、アナログ映像とデジタル映像と2次元映像と3次元映像とを含むがこれらに限定されない、様々な形式で提示することができる。さらに、映像コンテンツは、ムービー、ビデオクリップ、または順番に表示されるアニメ画像の任意のセットを含むことができる。
映像調整システム130は、映像コンテンツを分析して、1つまたは複数の方向の変化が映像コンテンツの中に存在するかどうかを決定することができる。たとえば、映像調整システム130は、1つまたは複数のビデオ画像フレームに関連する方向情報を分析することができる。方向情報は、たとえば、ビデオ画像フレームが撮影される時/された時の、その瞬間における録画デバイスの具体的な位置および/または方向を含むことができる。たとえば、映像録画デバイスは、デバイスの方向および/または位置を測定するジャイロスコープセンサおよび/または加速度計などの、1つまたは複数のセンサを含むことができる。映像録画デバイスは、そのような測定結果を1つまたは複数のセンサから、対応するビデオ画像フレーム内のメタデータとして受信し、記憶することができる。別の例では、1つまたは複数のビデオ画像フレームに関連する位置データおよび/または方向データなどの測定結果を、ビデオ画像フレームとは別に記憶することができ、後で関連付け/参照することができる。
一実施形態では、映像調整システム130は、クライアント102A〜クライアント102Nによってアップロードされた映像に関連するビデオ画像フレームのシリーズが、複数の方向から録画されたかどうかを決定することができる。映像調整システム130は、また、映像コンテンツの自動調整を実行して、映像を通して発生する、ビデオ画像フレーム方向の1つまたは複数の変化を修正することができる。
一実施形態では、ウェブサーバ120は、1つまたは複数のサーバマシン110上に存在し得るウェブアプリケーションを、クライアント102A〜クライアント102Nに提供する。ウェブアプリケーションは、ユーザが映像コンテンツをアップロードし、表示し、管理することを可能にするように構成された、グラフィカルユーザインターフェースを含むことができる。ウェブアプリケーションは、また、映像調整システム130を含みまたは活用することができる。一実施形態では、映像調整システム130は、システム設定、ユーザ選択、ユーザ要求、またはデフォルトのうちの1つまたは複数に基づいて、映像コンテンツを、アップロード処理中に自動的に分析することができる。映像コンテンツ分析を、また、映像調整システム130によって、たとえば、映像コンテンツがデータストア140にアップロードされた後に受信したユーザ要求に基づいて実行することができる。ユーザは、たとえば、1つまたは複数のコマンド(たとえば、音声、テキスト、動き)を使用して、または1つまたは複数の動作/グラフィカルユーザインターフェースとの相互作用(たとえば、ボタンのクリック、キーボードでのショートカット)を実行することによって、要求を開始することができる。
一実施形態では、映像調整システム130は、映像コンテンツが複数の方向で録画されたと決定し、対応する表示をユーザ(たとえば、コンテンツの所有者、コンテンツの管理者、コンテンツの視聴者)に提供する。ウェブアプリケーションは、ユーザに、状況についてグラフィカルユーザインターフェースを使用して通知することができる。たとえば、ウェブアプリケーションは、メッセージまたはアラートを表示し、ラベルを更新し、インターフェースをリダイレクトまたはリフレッシュし、および/または1つまたは複数の追加的な選択可能な制御装置(たとえば、映像方向修正プレビューボタン、映像方向修正実行ボタン)を提供することができる。
一実施形態では、グラフィカルユーザインターフェースは、ユーザが映像方向修正を開始し、修正案を用いて調整した映像コンテンツのフルバージョンまたはサンプルバージョンをプレビューし、調整映像コンテンツを保存し、既存映像コンテンツを調整映像コンテンツで置き換えることを可能にするように構成されている。グラフィカルユーザインターフェースを、ユーザが、調整/修正映像コンテンツ(たとえば、サンプルクリップ、フルバージョン)を、対応する元の映像コンテンツと共にプレビューすることを可能にするようにさらに構成することもできる。たとえば、調整映像コンテンツを元の映像コンテンツと同時に、並べて再生して、対照比較を可能にすることができる。一実施形態では、修正方向案を有する調整映像コンテンツのフルバージョンまたはサンプルバージョンを自動的に生成し、ユーザ要求によりプレビューに使用可能にする。
図2は、本開示の実施形態による、映像調整システム130のブロック図である。映像調整システム130は、映像受信モジュール202と、映像分析モジュール204と、映像方向決定モジュール206と、映像調整モジュール208と、映像配信モジュール210とを含む。他の実施形態では、映像受信モジュール202と映像分析モジュール204と映像方向決定モジュール206と映像調整モジュール208と映像配信モジュール210とのうちの1つまたは複数に関連する機能を、組み合わせ、分割し、様々な配置に編成することができる。
一実施形態では、映像調整システム130を、データストア140と作業データストア240とに連結する。データストア140は、映像データ220と画像データ230とを含む。作業データストア240は、一時映像データ250と一時画像データ260とを含む。
映像データ220は、一般に、任意の種類の動画を指し、映画フィルムと、映像と、デジタル映像と、アニメ描画またはアニメ表示の他の形態とを含むがそれらに限定されない。たとえば、映像データ220は、画像データ230として記憶することができる静止画フレームのシーケンスを有する、デジタル映像を含むことができる。したがって、各画像フレームは、時間間隔に従って撮影された、場面のスナップショットを表すことができる。
映像データ220は、2次元図形と3次元図形とを含む、コンピュータアニメーションを含むことができる。映像データ220は、また、動きの錯覚を生むグラフィック図を含む、画像のシーケンスを含むことができる。
画像データ230は、一般に、現実空間のレンズを通したカメラセンサへの投射を指す。画像データ230は、任意の種類の2次元画像、3次元画像、映像コンテンツおよび/または描画を含むが、これらに限定されない。
一実施形態では、映像調整システム130は、作業データストア240を一時的な記憶スペースとして活用して、映像データ220と画像データ230との調整を実行する。作業データストア240は、たとえば、任意の種類または組み合わせの揮発性記憶装置と非揮発性記憶装置と(たとえば、ディスク、メモリ)を含むことができる。
一実施形態では、作業データストア240は、一時映像データ250と一時画像データ260とを含む。たとえば、一時映像データ250は、元のバージョンおよび変更/調整されたバージョンなどの、映像データ220の1つまたは複数のコピーを含むことができる。さらに、一時画像データ260は、元のビデオ画像フレームおよび変更/調整ビデオ画像フレームなどの、画像データ230の1つまたは複数のコピーを含むことができる。
作業データストア240は、また、映像調整システム130によって生成される、一時データと結果とを含むことができる。たとえば、作業データストア240は、元の映像コンテンツと、元のビデオ画像フレームと、修正ビデオ画像フレームと、調整映像コンテンツとを含むことができる。
さらに、映像調整システム130は作業データストア240を使用して、たとえば、調整計算を実行し、中間処理結果を保持し、修正した映像方向を有する調整映像コンテンツをユーザに提供することができる。
映像受信モジュール202は、映像コンテンツを1つまたは複数のソースから受信する。たとえば、映像受信モジュールは、サーバマシン110またはカメラやスマートフォンなどのクライアントデバイス102A〜クライアントデバイス102N上の複数のビデオ画像フレームを含む、映像コンテンツを受信することができる。一例では、映像受信モジュール202は、同じコンピューティングデバイス上で録画され、直接記憶された映像コンテンツを受信する。別の例では、映像受信モジュール202は、映像コンテンツを、外部の映像録画デバイス、別のクライアント102A〜クライアント102N、またはサーバマシン110などの他のソースから受信する。
一実施形態では、映像分析モジュール204は、映像データ220および/または画像データ230を分析して、映像コンテンツに関連するビデオ画像フレームのシリーズが、1つまたは複数の方向から、いつ録画されたかを決定する。たとえば、映像分析モジュール204は、1つまたは複数のビデオ画像フレームに関連する、位置ベースおよび/または方向ベースのメタデータを読み出し、比較することができる。映像分析モジュール204は、たとえば、位置メタデータおよび/または方向メタデータを、複数のビデオ画像フレームの間で、および/または複数のビデオ画像フレームにわたって比較して、方向変化、揺れ、および/または動きが映像コンテンツ内で発生するかどうかを決定することができる。
一実施形態では、映像分析モジュール204は、映像方向の変化を閾値に基づいて検出する。たとえば、方向の変化と見なされる、2つ以上のビデオ画像フレーム間の回転度を特定するように、閾値を定義することができる。閾値を、たとえば、ユーザの好み、システム設定、またはデフォルト値として提供することができる。
映像方向決定モジュール206は、映像コンテンツについて基準方向を決定する。一実施形態では、映像の最初の方向を基準方向として決定することができる。映像の基準方向を、また、映像を通して検出された最も頻度の高い方向、ユーザの好み、ユーザ選択、または映像が表示される表示デバイス/ビデオプレーヤの方向および/または大きさに基づいて決定することができる。
映像調整モジュール208は、映像内の1つまたは複数のビデオ画像フレームの調整とリサイズとを実行する。たとえば、映像調整モジュール208は、ビデオ画像フレームを非基準方向から、映像について決定された基準方向に調整するために必要な回転度を計算することができる。回転度を、たとえば、ビデオ画像フレームの方向と基準方向との間の差に基づいて計算することができる。映像調整モジュール208は、その後、ビデオ画像フレームを基準方向に、計算した回転度に基づいて調整することができる。加えて、映像調整モジュール208は、また、ビデオ画像フレームをリサイズすることができる。たとえば、映像調整モジュールは、ビデオ画像フレームの解像度を拡張し、および/またはビデオ画像フレームをクロップして、調整映像を通して同一なビデオ画像表示サイズを提供することができる。
映像配信モジュール210は、基準方向に調整した映像を生成する。一実施形態では、映像配信モジュール210は、基準方向に調整した映像を、映像調整モジュール208から受信した調整映像フレームのセットを使用して生成する。映像配信モジュール210は、その後、基準方向に調整した映像をユーザに表示のために提供することができる。
図3は、一実施形態による、映像方向の自動調整を示すフロー図である。方法300を、ハードウェア(回路、専用論理、など)、(汎用コンピュータシステムまたは専用マシン上で動かされるものなどの)ソフトウェア、または両方の組み合わせを備え得る処理論理によって実行する。一実施形態では、方法300を、図1のサーバマシン110によって実行する。方法300を、サーバマシン110または1つまたは複数の他のコンピューティングデバイス上で動いている映像調整システム130によって実行することができる。
方法300は、映像コンテンツが受信される段階302において開始する。一実施形態では、映像受信モジュール202が、複数のビデオ画像フレームを含む映像コンテンツを受信する。たとえば、映像受信モジュール202は、同じコンピューティングデバイス上で録画され、記憶された映像コンテンツを受信することができる。別の実施形態では、映像受信モジュール202は、別のコンピュータシステムなどの他のソースから映像コンテンツを受信することができる。
段階304で、映像コンテンツ内で発生する方向変化を検出する。一実施形態では、映像分析モジュール204が、段階302で受信した映像コンテンツからのビデオ画像フレームを分析する。たとえば、映像分析モジュールは、ビデオ画像フレーム内に記憶されている位置メタデータおよび/または方向メタデータを分析して、いつ方向変化が映像内で発生したかを決定することができる。
たとえば、映像録画デバイスは、1つまたは複数のジャイロスコープなどのデバイスセンサを含み、映像コンテンツが録画されるにつれてデバイスセンサを継続的に監視することができる。映像録画デバイスは、その後、センサのうちの1つまたは複数から受信した位置情報および/または方向情報を、ビデオ画像フレーム内にメタデータとして記憶することができる。一実施形態では、位置データおよび/または方向データを、映像録画デバイスによって継続的に取得し、各それぞれのビデオ画像フレームの中にメタデータとして記憶することができる。別の実施形態では、位置データおよび/または方向データの変化のみをビデオ画像フレーム内でメタデータとして、映像記録中に変化が起こった時に取得する。
一実施形態では、1つまたは複数の画像フレームの中に記憶された方向データを比較して、方向変化が映像内で起こったかどうかを決定することができる。たとえば、方向変化を、2つ以上のビデオ画像フレーム間の方向の単一差または累積差が1つまたは複数の定義された閾値を超えた時に検出することができる。
別の実施形態では、1つまたは複数のビデオ画像フレームに関連する方向データおよび/または位置データを比較して、録画映像内に発生する揺れおよび/または他の意図しない動きまたは混乱させる動きを検出し、修正することができる。一例では、1つまたは複数のビデオ画像フレームに関連する方向データおよび/または位置データを使用して、基本アラインメント(たとえば、基準方向または別の基準位置)を確立する。確立した基本アラインメントから逸れているビデオ画像フレームを、決定した基本アラインメントに調整して、ビデオ画像フレームにわたって発生する揺れおよび/または他の意図しない動きまたは混乱させる動きを修正することができる。
段階306で、映像コンテンツを表示するための基準方向を決定する。一実施形態では、基準方向は、映像コンテンツを表示するために使用される1つの固定方向である。たとえば、基準方向を、映像の最初の方向、映像を通して検出された最も頻度の高い方向、ユーザが好む再生方向、ユーザが選択した方向、映像コンテンツが表示されるデバイスまたはビデオプレーヤの方向、および/または映像コンテンツを表示するビデオプレーヤの1つまたは複数の属性(たとえば、ビデオプレーヤの高さ、幅、画面位置、方向、固定されている、変更可能である、など)に基づいて決定することができる。
段階308で、映像コンテンツを基準方向に調整する。一実施形態では、映像調整モジュール208が、映像内の1つまたは複数のビデオ画像フレームの調整とリサイズとを実行する。たとえば、映像調整モジュール208は、ビデオ画像フレームをその最初の方向から基準方向に調整するために必要な回転度を計算することができる。映像調整モジュール208は、また、映像コンテンツを基本表示解像度にリサイズすることができる。
一実施形態では、映像調整モジュール208は、ビデオ画像フレームを基準方向に調整するために必要な回転度を決定する。一例では、映像調整モジュール208は、録画された映像フレームの方向と映像について決定された基準方向との間の差を計算する。映像調整モジュール208は、その後、映像フレームを、変化を修正するという決定に基づいて調整することができる。
加えて、映像調整モジュール208は、また、ビデオ画像フレームをリサイズすることができる。たとえば、映像調整モジュール208は、ビデオ画像フレームをクロップして、調整映像について基本表示サイズを提供し、および/またはビデオ画像の一部を別の方向または再生画面に合わせることができる。
一実施形態では、映像調整モジュール208は、映像について基本表示サイズを、すべてのビデオ画像フレームの最も短い辺に基づいて計算する。たとえば、3000x2000の横方向解像度と2000x3000の縦方向解像度とを有する映像は、2000x2000の基本表示サイズを有することになる。したがって、2000x3000縦方向ビデオ画像フレームと3000x2000横方向ビデオ画像フレームの両方の中央の2000x2000正方形領域を、標準方向に調整し、2000x2000の共通表示サイズで一緒に表示することができる。
一例では、各2000x3000縦方向ビデオ画像フレームをクロップして、中央の2000x2000領域を保つようにする。クロップされた縦方向ビデオ画像フレームを、その後、回転させ、中央揃えし、3000x2000横長映像フレームと共に調整映像内で表示することができる。
別の例では、3000x2000横方向ビデオ画像フレームの中央の2000x2000の正方形を、回転させ、中央揃えし、2000x3000縦方向ビデオフレームと共に調整映像内で表示することができる。
別の実施形態では、最初の3000x2000横方向解像度を有する映像を、2000x3000縦方向解像度に回転させることができる。さらに、その後、映像内の2000x3000縦方向ビデオ画像フレームを回転させて、調整した横長画像フレームの方向に一致させ、1500x2000エリアにリサイズして縦横比を保つことができる。
図4は、一実施形態による、映像コンテンツの自動調整の追加的な態様を示すフロー図である。方法400を、ハードウェア(回路、専用論理、など)、(汎用コンピュータシステムまたは専用マシン上で動くものなどの)ソフトウェア、または両方の組み合わせを備え得る処理論理によって実行する。
段階402では、映像コンテンツを受信する。一実施形態によると、映像コンテンツを1つまたは複数のソースから受信または集めることができる。たとえば、映像コンテンツは、順次的な画像フレームのセットを有する1つの映像ファイルとして到着することができる。加えて、映像ファイルを、順次的な順序または関係を有する2つ以上の画像から集めおよび/または作成することができる。段階402を、たとえば、映像受信モジュール202によって実行することができる。
段階404では、方向変化および/またはアラインメント変化(すなわち、揺れまたはビデオ画像の動き)を映像コンテンツ内で検出する。一実施形態では、2つ以上のビデオ画像フレームからの方向データおよび/または位置データを分析し、比較して、いつ方向変化および/またはアラインメント変化が映像内で発生したかを決定する。一例では、方向変化および/またはアラインメント変化を、映像内で、2つ以上のビデオ画像フレーム間の方向データおよび/または位置データの変化が閾値を超えた時に検出することができる。段階404を、たとえば、映像分析モジュール204によって実行することができる。
段階406では、ユーザは、映像コンテンツ内で検出された方向変化および/またはアラインメント変化について通知される。一実施形態では、ユーザは、検出された方向変化および/またはアラインメント変化についての通知を、映像コンテンツが録画されたデバイス上で受信することができる。別の実施形態では、ユーザは、通知を、ユーザが映像コンテンツをアップロードした映像共有ウェブサイトまたはソーシャルネットワークウェブサイトから受信することができる。ユーザに与えられる通知は、カメラの回転が映像内で検出されたことを示すことができる。加えて、ユーザは、映像をプレビューするオプションと、1つまたは複数の検出された方向またはアラインメントの変化をプレビューするオプションと、映像中の1つまたは複数の検出した方向変化またはアラインメント変化を自動的に修正するオプションとのうちの1つまたは複数を提供され得る。さらに、ユーザを、映像を表示するための基準方向および/または基本アラインメントを選択するように促すことができる。段階406を、たとえば、映像方向決定モジュール206によって実行することができる。
段階408では、映像コンテンツを表示するために使用する基準方向および/または基本アラインメントを、ユーザのフィードバックに基づいて決定する。一例では、基準方向および/または基本アラインメントを、受信したユーザ入力に基づいて受信する。たとえば、ユーザは、基準方向および/または基本アラインメントを、映像コンテンツ内で検出された方向および/またはアラインメントの変化について通知された後に選択することができる。ユーザは、また、基準方向および/または基本アラインメントを、映像コンテンツの検出された変化および/または他の部分のプレビューを見た後に選択することができる。
別の実施形態では、基準方向を、映像の最初の方向および/またはアラインメント、映像を通して検出された最も頻度の高い方向またはアラインメント、ユーザが好む再生方向、ユーザが選択した方向/アラインメント、または映像コンテンツが表示されるデバイスまたはビデオプレーヤの方向に基づいて決定することができる。一実施形態では、映像コンテンツの調整を、映像調整システム130によって、ユーザから受信した入力に基づいて、またはシステムとユーザ入力の両方の組み合わせに基づいて、自動的に開始することができる。段階408を、たとえば、映像方向決定モジュール208によって実行することができる。
段階410では、映像コンテンツを基準方向および/または基本アラインメントに、ビデオ画像フレームのうちの1つまたは複数を修正することによって調整する。一実施形態では、画像フレームのうちの1つまたは複数を、画像フレームを非基準方向から段階408で決定した基準方向に回転させることによって調整することができる。さらに、画像フレームのうちの1つまたは複数を、調整映像について決定した基準映像表示サイズに基づいてリサイズすることもできる。
一実施形態では、ビデオ画像フレームを、ビデオ画像フレームの解像度を映像の最も長い辺の正方形に拡張することによってリサイズする。たとえば、3000x2000の横長解像度と2000x3000の縦長解像度とを有する映像を、3000x3000に拡張することができる。したがって、ビデオ画像フレームを基準方向に回転させて、調整した映像の中で一緒に、コンテンツを失わずに表示することができる。段階410を、たとえば、映像調整モジュール208によって実行することができる。
段階412では、基準方向および/または基本アラインメントに調整した映像をユーザに提供する。調整映像を、基準方向および/または基本アラインメントに調整された画像フレームに基づいて生成することができる。その後、調整映像コンテンツを、ユーザに、プレビューまたは完全な表示のために提示することができる。
代替的な実施形態では、ビデオプレーヤまたは映像再生ウェブサイトは、ビデオ画像フレームをリサイズしないことがある。代わりに、ビデオ画像フレームを基準方向に回転させて、最初の大きさで表示することができる。たとえば、600x400の横長ビデオ画像フレームを、それらの最初の大きさで、基準方向で表示することができる。その後、400x600の縦長画像フレームを、ビデオプレーヤ領域をリサイズすることによって、それらの最初の大きさで、基準方向で表示することができる(その逆もまた可能である)。一例では、ビデオプレーヤ/映像再生領域を取り囲んでいるテキストなどのコンテンツを、ビデオプレーヤ領域を自動的にリサイズした時に、1回または複数回自動的に再配置することができる。段階412を、たとえば、映像配信モジュール210によって実行することができる。
図5は、マシンに本明細書で説明する方法論のうちの任意の1つまたは複数を実行させるための命令のセットを内部で実行することができる、コンピュータシステム500という例示的な形態でのマシンの図を示している。代替的な実施形態では、マシンを、LAN、イントラネット、エクストラネット、またはインターネット上の他のマシンに接続する(たとえば、ネットワークで結ぶ)ことができる。マシンを、クライアント-サーバネットワーク環境におけるサーバまたはクライアントの能力内で、またはピアツーピア(または分散)ネットワーク環境におけるピアマシンとして、動かすことができる。マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチまたはブリッジ、またはそのマシンによって行われる動作を特定する、(順次的であろうとなかろうと)命令のセットを実行することができる任意のマシンであることができる。さらに、1つのマシンのみを示したが、「マシン」という言葉を、命令のセット(または複数のセット)を単独または合同で実行して本明細書で説明した方法論のうちの任意の1つまたは複数を実行する、任意のマシンの集合を含むように解釈すべきである。
例示的なコンピュータシステム500は、バス530を介してお互いに通信する、処理デバイス(プロセッサ)502と、メインメモリ504(たとえば、リードオンリメモリ(ROM)、フラッシュメモリ、シンクロナスDRAM(SDRAM)などのダイナミックランダムアクセスメモリ(DRAM)、ダブルデータレート(DDR SDRAM)、またはDRAM(RDRAM)、など)と、スタティックメモリ506(たとえば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)、など)と、データ記憶デバイス518とを含む。
プロセッサ502は、マイクロプロセッサ、中央処理装置などの、1つまたは複数の汎用処理デバイスを表している。より具体的には、プロセッサ502は、複雑命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、または他の命令セットを実行するプロセッサまたは命令セットの組み合わせを実行するプロセッサであることができる。プロセッサ502は、また、1つまたは複数の、特定用途向け集積回路(ASIC)などの特殊用途処理デバイス、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどであることができる。プロセッサ502は、本明細書で説明する動作とステップとを実行するための命令522を実行するように構成されている。
コンピュータシステム500は、ネットワークインターフェースデバイス508をさらに含むことができる。コンピュータシステム500は、また、映像表示部510(たとえば、液晶ディスプレイ(LCD)またはブラウン管(CRT))と、英数字入力デバイス512(たとえば、キーボード)と、カーソル制御デバイス514(たとえば、マウス)と、信号生成デバイス516(たとえば、スピーカ)とを含むことができる。
データ記憶デバイス518は、本明細書で説明する方法論または機能のうちの1つまたは複数を具現化する命令522(たとえば、ソフトウェア)の1つまたは複数のセットを記憶した、コンピュータ可読記憶媒体528を含むことができる。命令522は、また、コンピュータシステム500による命令522の実行中、メインメモリ504内および/またはプロセッサ502内に完全にまたは少なくとも部分的に存在することができ、メインメモリ504およびプロセッサ502もコンピュータ可読記憶媒体を構成している。命令522を、さらに、ネットワーク520を介して、ネットワークインターフェースデバイス508を介して送信または受信することができる。
一実施形態では、命令522は、映像調整モジュール(たとえば、図1の映像調整システム130)のための命令、および/または映像調整モジュールを呼び出す方法を含むソフトウェアライブラリを含む。コンピュータ可読記憶媒体528(機械可読記憶媒体)を例示的な実施形態では単一媒体であると示したが、「コンピュータ可読記憶媒体」という言葉は、命令の1つまたは複数のセットを記憶する、単一媒体または複数媒体(たとえば、集中型または分散型データベース、および/または関連キャッシュおよびサーバ)を含むように解釈されるべきである。「コンピュータ可読記憶媒体」という言葉は、また、マシンによる実行のための命令のセットを記憶、符号化、または実行することができ、マシンに本開示の方法論のうちの任意の1つまたは複数を実行させる任意の媒体を含むように解釈されるべきである。したがって、「コンピュータ可読記憶媒体」という言葉は、半導体メモリと光媒体と磁気媒体とを含むがこれらに限定されない、と解釈されるものである。
前述の説明では、多数の詳細を明記した。しかしながら、本開示の利益を有する当業者には、本開示をこれらの特定の詳細なしに実践することができるということが明白である。いくつかの例では、良く知られた構造とデバイスとを、本開示を曖昧にすることを避けるために、詳細としてよりも、ブロック図の形態で示した。
詳細な説明のいくつかの部分を、コンピュータメモリ内のデータビットに対する動作のアルゴリズムと象徴との観点から表した。アルゴリズムは、ここでは、一般に、所望の結果につながる、ステップの首尾一貫したシーケンスであると考えられる。ステップは、物理的量の物理的操作を必要とするものである。通常、必ずしもそうとは限らないが、これらの量は、記憶され、伝送され、結合され、比較され、そうでなければ操作され得る、電気信号または磁気信号の形態を取る。一般的な慣習から、これらの信号をビット、値、要素、記号、文字、期間、数字などと呼ぶことが時には都合が良いことが分かっている。
しかしながら、これらの用語と類似の用語とのすべてが、適切な物理的量と関連付けられ、これらの量に与えられた単に便利な名前であるということに留意すべきである。以下の説明から明白なものとは反対であると特に述べない限り、本明細書を通して、「計算」、「比較」、「適用」、「作成」、「順位付け」、「分類」などの言葉を活用した説明が、コンピュータシステムのレジスタとメモリとの中の物理的(たとえば、電子)量として表されるデータを、コンピュータシステムのメモリまたはレジスタ、または他のそのような情報の記憶デバイス、伝送デバイス、または表示デバイスの中の物理的量として同様に表される他のデータに操作し、変換する、コンピュータシステムまたは類似の電子コンピューティングデバイスの動作と処理とを指すということが理解される。
本開示の特定の実施形態は、また、本明細書の動作を実行するための装置にも関する。本装置を意図する目的のために構築することができ、または、それは、コンピュータ内に記憶されたコンピュータプログラムによって選択的に始動または再構成される、汎用コンピュータを備えることができる。そのようなコンピュータプログラムを、フロッピー(登録商標)ディスク、光ディスク、CD-ROM、光磁気ディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、または電子情報を記憶するのに適切な任意の種類の媒体などであるがこれらに限定されない、コンピュータ可読記憶媒体の中に記憶することができる。
上記の説明が、限定でなく説明を意図しているということが理解される。多くの他の実施形態が、上記の説明を読み、理解することで当業者に明白になる。したがって、本開示の範囲は、添付の特許請求の範囲を参照し、その特許請求の範囲が権利を有する同等物の全範囲と共に決定されるべきである。
100 システムアーキテクチャ
102A クライアントマシン
102N クライアントマシン
104 ネットワーク
110 サーバマシン
120 ウェブサーバ
130 映像調整システム
140 データストア
202 映像受信モジュール
204 映像分析モジュール
206 映像方向決定モジュール
208 映像調整モジュール
210 映像配信モジュール
220 映像データ
230 画像データ
240 作業データストア
250 一時映像データ
260 一時画像データ
500 コンピュータシステム
502 プロセッサ
504 メインメモリ
506 スタティックメモリ
508 ネットワークインターフェースデバイス
510 映像ディスプレイ
512 英数字入力デバイス
514 カーソル制御デバイス
516 信号生成デバイス
518 データ記憶デバイス
520 ネットワーク
522 命令
528 機械可読記憶媒体
530 バス

Claims (20)

  1. プロセッサによって、複数の画像フレームを備える映像を受信するステップと、
    前記プロセッサによって、前記映像内の方向変化を検出するステップと、
    前記プロセッサによって、前記映像について基準方向を決定するステップと、
    前記プロセッサによって、前記映像を前記基準方向に調整するステップであって、
    前記映像内の前記複数の画像フレームのうちの1つまたは複数をリサイズするステップと、
    前記映像内の前記複数の画像フレームのうちの1つまたは複数を前記基準方向に回転させるステップと、
    を備える、調整するステップと、
    を備える、コンピュータに実装された方法。
  2. 前記方向変化を検出するステップが、
    前記プロセッサによって、前記映像内の第1の画像フレームに関連するカメラ位置を、前記映像内の第2の画像フレームに関連する第2のカメラ位置と比較するステップ、
    を備える、請求項1に記載のコンピュータに実装された方法。
  3. 前記映像を前記基準方向に調整するステップが、
    前記画像フレームを前記基準方向に調整するために必要な回転度を決定するステップ、
    をさらに備える、請求項1に記載のコンピュータに実装された方法。
  4. 前記基準方向に前記調整された映像をユーザに提供するステップ、
    をさらに備える、請求項1に記載のコンピュータに実装された方法。
  5. 前記リサイズするステップが、前記画像フレームのうちの1つまたは複数をクロッピングするステップを備える、請求項1に記載のコンピュータに実装された方法。
  6. 前記リサイズするステップが、前記画像フレームのうちの1つまたは複数の表示解像度を拡張するステップを備える、請求項1に記載のコンピュータに実装された方法。
  7. ユーザに、前記映像内の前記検出された方向変化について通知するステップ、
    をさらに備える、請求項1に記載のコンピュータに実装された方法。
  8. 前記ユーザが前記基準方向に前記調整された映像をプレビューすることを可能にするインターフェースを提供するステップ、
    をさらに備える、請求項1に記載のコンピュータに実装された方法。
  9. 前記ユーザが前記映像を前記基準方向に調整することを可能にするインターフェースを提供するステップ、
    をさらに備える、請求項1に記載のコンピュータに実装された方法。
  10. 前記基準方向を前記映像の最初の方向に基づいて決定する、請求項1に記載のコンピュータに実装された方法。
  11. 前記基準方向を記憶されたユーザの好みに基づいて決定する、請求項1に記載のコンピュータに実装された方法。
  12. 前記基準方向をユーザ選択に基づいて決定する、請求項1に記載のコンピュータに実装された方法。
  13. 前記基準方向を、前記調整される映像を提示するビデオプレーヤの1つまたは複数の属性に基づいて決定する、請求項1に記載のコンピュータに実装された方法。
  14. プロセッサによって実行された時に、前記プロセッサに、
    前記プロセッサによって、複数の画像フレームを備える映像を受信するステップと、
    前記プロセッサによって、前記映像内の方向変化を検出するステップと、
    前記プロセッサによって、前記映像について基準方向を決定するステップと、
    前記プロセッサによって、前記映像を前記基準方向に調整するステップであって、
    前記映像内の前記複数の画像フレームのうちの1つまたは複数をリサイズするステップと、
    前記映像内の前記複数の画像フレームのうちの1つまたは複数を前記基準方向に回転させるステップと、
    を備える、調整するステップと、
    を備える動作を実行させる命令を、そこに記憶して有するコンピュータ可読媒体。
  15. 前記方向変化を検出するステップが、
    前記プロセッサによって、前記映像内の第1の画像フレームに関連するカメラ位置を、前記映像内の第2の画像フレームに関連する第2のカメラ位置と比較するステップ、
    を備える、請求項14に記載のコンピュータ可読媒体。
  16. 前記映像を前記基準方向に調整するステップが、
    前記画像フレームを前記基準方向に調整するために必要な回転度を決定するステップ、
    を備える、請求項14に記載のコンピュータ可読媒体。
  17. 前記動作が、
    前記基準方向に前記調整された映像をユーザに提供するステップ、
    をさらに備える、請求項14に記載のコンピュータ可読媒体。
  18. メモリと、
    前記メモリに連結されたプロセッサであって、
    複数の画像フレームを備える映像を受信することと、
    前記映像内の方向変化を検出することと、
    基準方向を前記映像について決定することと、
    前記映像を前記基準方向に調整することであって、
    前記映像内の前記複数の画像フレームのうちの1つまたは複数をリサイズすることと、
    前記映像内の前記複数の画像フレームのうちの1つまたは複数を前記基準方向に回転させることと、
    を備える、調整することと、
    を行う、プロセッサと、
    を備える、システム。
  19. 前記方向変化を検出することが、
    前記映像内の第1の画像フレームに関連するカメラ位置を、前記映像内の第2の画像フレームに関連する第2のカメラ位置と比較すること、
    を備える、請求項18に記載のシステム。
  20. 前記映像を前記基準方向に調整することが、
    前記画像フレームを前記基準方向に調整するために必要な回転度を決定すること、
    をさらに備える、請求項18に記載のシステム。
JP2016503148A 2013-03-15 2014-03-14 映像方向の自動調整 Active JP6563896B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/838,686 US9762848B2 (en) 2013-03-15 2013-03-15 Automatic adjustment of video orientation
US13/838,686 2013-03-15
PCT/US2014/029579 WO2014144959A1 (en) 2013-03-15 2014-03-14 Automatic adjustment of video orientation

Publications (2)

Publication Number Publication Date
JP2016516365A true JP2016516365A (ja) 2016-06-02
JP6563896B2 JP6563896B2 (ja) 2019-08-21

Family

ID=50687655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016503148A Active JP6563896B2 (ja) 2013-03-15 2014-03-14 映像方向の自動調整

Country Status (5)

Country Link
US (3) US9762848B2 (ja)
EP (2) EP3726829A1 (ja)
JP (1) JP6563896B2 (ja)
CN (2) CN113438511B (ja)
WO (1) WO2014144959A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160149956A1 (en) * 2014-11-21 2016-05-26 Whip Networks, Inc. Media management and sharing system
US9800778B2 (en) 2015-07-21 2017-10-24 Qualcomm Incorporated Camera orientation notification system
US10622023B2 (en) 2016-07-01 2020-04-14 Snap Inc. Processing and formatting video for interactive presentation
US10623662B2 (en) 2016-07-01 2020-04-14 Snap Inc. Processing and formatting video for interactive presentation
CN110089117B (zh) * 2016-07-01 2023-02-17 斯纳普公司 处理和格式化视频用于交互式呈现
US9916493B2 (en) 2016-08-03 2018-03-13 At&T Intellectual Property I, L.P. Method and system for aggregating video content
US10475483B2 (en) 2017-05-16 2019-11-12 Snap Inc. Method and system for recording and playing video using orientation of device
CN107733874B (zh) * 2017-09-20 2021-03-30 平安科技(深圳)有限公司 信息处理方法、装置、计算机设备和存储介质
EP3698540A1 (en) * 2017-12-05 2020-08-26 Google LLC Method for converting landscape video to portrait mobile layout using a selection interface
CN109348139A (zh) * 2018-10-19 2019-02-15 北京凯视达科技有限公司 视频旋转方法、装置、计算机可读存储介质及电子设备
US11178085B2 (en) * 2019-02-27 2021-11-16 A Social Company Social media platform for sharing reactions to videos
US11196692B2 (en) 2019-02-27 2021-12-07 A Social Company Social contract based messaging platform
US11178374B2 (en) * 2019-05-31 2021-11-16 Adobe Inc. Dynamically rendering 360-degree videos using view-specific-filter parameters
US10983363B2 (en) * 2019-09-19 2021-04-20 Fotonation Limited Method for stabilizing a camera frame of a video sequence

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158959A (ja) * 2000-11-16 2002-05-31 Seiko Epson Corp 画像データ保存フォーマット変換方法および画像データ保存フォーマット変換処理プログラムを記録した記録媒体ならびにカメラ
JP2005523596A (ja) * 2002-04-16 2005-08-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ装置または写真装置のための画像の回転の修正
JP2005229394A (ja) * 2004-02-13 2005-08-25 Canon Inc 画像撮影装置、画像撮影装置の画像配信方法、画像配信システム、及びプログラム
JP2009033223A (ja) * 2007-07-24 2009-02-12 Fujifilm Corp 撮像装置
JP2010016548A (ja) * 2008-07-02 2010-01-21 Canon Inc 動画像処理装置
JP2010045733A (ja) * 2008-08-18 2010-02-25 Sony Corp 画像処理装置、画像処理方法、プログラム、および撮像装置
JP2011259342A (ja) * 2010-06-11 2011-12-22 Panasonic Corp 画像処理装置および画像処理方法
JP2012124939A (ja) * 2012-02-07 2012-06-28 Canon Inc 撮像装置及び撮像装置の制御方法

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0611125B1 (en) * 1993-02-12 2000-11-22 Sony Corporation Electronic zoom control and image stabilization
EP0807352A1 (en) 1995-01-31 1997-11-19 Transcenic, Inc Spatial referenced photography
US6297185B1 (en) * 1998-02-23 2001-10-02 T/J Technologies, Inc. Catalyst
DE19909627A1 (de) * 1999-03-05 2000-09-07 Bosch Gmbh Robert Verfahren und Vorrichtung zur Bestimmung einer Verschiebung von Bildern einer Bildsequenz
US7893963B2 (en) 2000-03-27 2011-02-22 Eastman Kodak Company Digital camera which estimates and corrects small camera rotations
US6915025B2 (en) 2001-11-27 2005-07-05 Microsoft Corporation Automatic image orientation detection based on classification of low-level image features
US7071970B2 (en) * 2003-03-10 2006-07-04 Charles Benton Video augmented orientation sensor
US7327873B2 (en) * 2003-06-06 2008-02-05 Intel Corporation Fast software rotation of video for portrait mode displays
US20050093891A1 (en) 2003-11-04 2005-05-05 Pixel Instruments Corporation Image orientation apparatus and method
US7705884B2 (en) 2004-07-21 2010-04-27 Zoran Corporation Processing of video data to compensate for unintended camera motion between acquired image frames
JP2006054698A (ja) * 2004-08-12 2006-02-23 Canon Inc 手振れ補正機能を有する撮像装置
JP4390274B2 (ja) * 2004-12-27 2009-12-24 キヤノン株式会社 撮像装置及び制御方法
JP4179279B2 (ja) * 2004-12-28 2008-11-12 セイコーエプソン株式会社 撮像装置並びにこれを備えた携帯機器及び携帯電話機
US7656428B2 (en) 2005-05-05 2010-02-02 Avago Technologies General Ip (Singapore) Pte. Ltd. Imaging device employing optical motion sensor as gyroscope
JP4687420B2 (ja) * 2005-11-25 2011-05-25 セイコーエプソン株式会社 撮影装置、撮影方法及びプログラム
CN1979322A (zh) * 2005-12-02 2007-06-13 上海乐金广电电子有限公司 使用加速度传感器的照相机影像调整***及其方法
KR100820353B1 (ko) 2005-12-29 2008-04-10 주식회사 팬택 이동통신 단말기에 전송되는 영상 데이터의 회전 보정을제공하는 시스템 및 방법
JP4596268B2 (ja) 2006-02-14 2010-12-08 ソニー株式会社 撮像装置
JP4457358B2 (ja) * 2006-05-12 2010-04-28 富士フイルム株式会社 顔検出枠の表示方法、文字情報の表示方法及び撮像装置
JP5354244B2 (ja) * 2007-05-07 2013-11-27 ソニー株式会社 データ管理装置およびデータ管理方法、並びにプログラム
JP5109803B2 (ja) * 2007-06-06 2012-12-26 ソニー株式会社 画像処理装置、画像処理方法及び画像処理プログラム
WO2009001512A1 (ja) 2007-06-27 2008-12-31 Panasonic Corporation 撮像装置、方法、システム集積回路、及びプログラム
KR101362011B1 (ko) * 2007-08-02 2014-02-12 삼성전자주식회사 링잉 아티펙트없는 블러 제거 방법
JP4985201B2 (ja) * 2007-08-07 2012-07-25 ソニー株式会社 電子機器、動きベクトル検出方法及びプログラム
KR101402624B1 (ko) * 2007-08-17 2014-06-30 삼성전자 주식회사 영상처리장치 및 그 영상처리방법
WO2009054333A1 (ja) * 2007-10-23 2009-04-30 Sony Corporation 映像再生装置及び映像再生方法
KR101041366B1 (ko) * 2007-11-02 2011-06-14 주식회사 코아로직 객체 추적을 이용한 디지털 영상의 손떨림 보정 장치 및방법
US8713215B2 (en) * 2009-05-29 2014-04-29 Z Microsystems, Inc. Systems and methods for image stream processing
CN101930302B (zh) * 2009-06-19 2013-02-20 宏碁股份有限公司 具有晃动补偿功能的电子装置及其对象显示方法
JP2011055476A (ja) * 2009-08-06 2011-03-17 Canon Inc 表示装置
JP5410908B2 (ja) * 2009-09-30 2014-02-05 富士フイルム株式会社 撮像装置
KR20110091378A (ko) * 2010-02-05 2011-08-11 삼성전자주식회사 카메라 동영상 처리 및 재생 방법 및 장치
WO2011100480A1 (en) 2010-02-10 2011-08-18 Brian Lamb Automatic motion tracking, event detection and video image capture and tagging
JP2011175128A (ja) * 2010-02-25 2011-09-08 Panasonic Corp カメラシステムおよびカメラボディ
US20110243532A1 (en) * 2010-03-31 2011-10-06 Motorola, Inc. System and method of video stabilization during movement
WO2012046536A1 (ja) * 2010-10-04 2012-04-12 Necカシオモバイルコミュニケーションズ株式会社 画像表示装置、画像一覧表示方法、及び画像一覧表示プログラム
US9883116B2 (en) 2010-12-02 2018-01-30 Bby Solutions, Inc. Video rotation system and method
US9930225B2 (en) 2011-02-10 2018-03-27 Villmer Llc Omni-directional camera and related viewing software
US9118970B2 (en) 2011-03-02 2015-08-25 Aria Glassworks, Inc. System and method for embedding and viewing media files within a virtual and augmented reality scene
US8731335B2 (en) * 2011-11-28 2014-05-20 Ati Technologies Ulc Method and apparatus for correcting rotation of video frames
KR101978214B1 (ko) * 2012-11-19 2019-05-14 엘지전자 주식회사 동영상 디스플레이 장치 및 그 방법
US9516229B2 (en) * 2012-11-27 2016-12-06 Qualcomm Incorporated System and method for adjusting orientation of captured video
RU2632215C2 (ru) * 2013-03-08 2017-10-03 Томсон Лайсенсинг Способ и система для стабилизации и центрирования изображения
US20140267806A1 (en) * 2013-03-12 2014-09-18 Sony Corporation Device and method for processing video content

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158959A (ja) * 2000-11-16 2002-05-31 Seiko Epson Corp 画像データ保存フォーマット変換方法および画像データ保存フォーマット変換処理プログラムを記録した記録媒体ならびにカメラ
JP2005523596A (ja) * 2002-04-16 2005-08-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ装置または写真装置のための画像の回転の修正
JP2005229394A (ja) * 2004-02-13 2005-08-25 Canon Inc 画像撮影装置、画像撮影装置の画像配信方法、画像配信システム、及びプログラム
JP2009033223A (ja) * 2007-07-24 2009-02-12 Fujifilm Corp 撮像装置
JP2010016548A (ja) * 2008-07-02 2010-01-21 Canon Inc 動画像処理装置
JP2010045733A (ja) * 2008-08-18 2010-02-25 Sony Corp 画像処理装置、画像処理方法、プログラム、および撮像装置
JP2011259342A (ja) * 2010-06-11 2011-12-22 Panasonic Corp 画像処理装置および画像処理方法
JP2012124939A (ja) * 2012-02-07 2012-06-28 Canon Inc 撮像装置及び撮像装置の制御方法

Also Published As

Publication number Publication date
US20170374314A1 (en) 2017-12-28
CN105247850A (zh) 2016-01-13
EP3726829A1 (en) 2020-10-21
JP6563896B2 (ja) 2019-08-21
US20140267901A1 (en) 2014-09-18
EP2974272A1 (en) 2016-01-20
CN113438511B (zh) 2023-09-12
CN113438511A (zh) 2021-09-24
US20200068168A1 (en) 2020-02-27
US10887543B2 (en) 2021-01-05
WO2014144959A1 (en) 2014-09-18
US10469797B2 (en) 2019-11-05
EP2974272B1 (en) 2020-05-13
US9762848B2 (en) 2017-09-12

Similar Documents

Publication Publication Date Title
JP6563896B2 (ja) 映像方向の自動調整
US10657667B2 (en) Systems and methods for content streaming
AU2012352520B2 (en) Multiple-angle imagery of physical objects
AU2016326378B2 (en) Spherical videos mappings
TWI619088B (zh) 圖像資料處理系統和相關方法以及相關圖像融合方法
US9865033B1 (en) Motion-based image views
US20150215532A1 (en) Panoramic image capture
WO2017024964A1 (zh) 一种物品关联图片快速预览的方法以及装置
US20230412788A1 (en) Systems and methods for stabilizing views of videos
US11581018B2 (en) Systems and methods for mixing different videos
US20210289147A1 (en) Images with virtual reality backgrounds
US10270721B2 (en) Method and apparatus for uploading an attachment
US10074401B1 (en) Adjusting playback of images using sensor data
US8054332B2 (en) Advanced input controller for multimedia processing
JP2015198332A (ja) 端末装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190701

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190725

R150 Certificate of patent or registration of utility model

Ref document number: 6563896

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250