JP2021506019A - 静的な映像認識 - Google Patents

静的な映像認識 Download PDF

Info

Publication number
JP2021506019A
JP2021506019A JP2020531438A JP2020531438A JP2021506019A JP 2021506019 A JP2021506019 A JP 2021506019A JP 2020531438 A JP2020531438 A JP 2020531438A JP 2020531438 A JP2020531438 A JP 2020531438A JP 2021506019 A JP2021506019 A JP 2021506019A
Authority
JP
Japan
Prior art keywords
video frame
video
smoothed
motion
static
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
JP2020531438A
Other languages
English (en)
Other versions
JP6946566B2 (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 JP2021506019A publication Critical patent/JP2021506019A/ja
Priority to JP2021150160A priority Critical patent/JP7568597B2/ja
Application granted granted Critical
Publication of JP6946566B2 publication Critical patent/JP6946566B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

ある実施形態は、静的映像を認識するためのコンピュータで実行される方法および/またはシステムを含み得る。方法は、入力映像の1つまたは複数の映像フレームの中から入力映像フレームを取得することを含み得、映像フレームは、シャッター押下指示の受信前に、およびシャッター押下指示の受信後に取得されている。本方法は、ダウンサンプリングと、平滑化と、時間勾配を計算することと、局所的な動きを推定することと、全体的な動きを推定することと、1つまたは複数の被写体動きベクトルを計算することと、1つまたは複数の被写体動きベクトルをスコアマップに変換することと、スコアマップに基づいてエントロピースコアを計算することと、エントロピースコアをマッピングすることと、静的なフレームの数を識別することと、入力映像における映像フレームの数に対する静的なフレームの数の比率が静的なフレーム閾値を満たす場合に入力映像が静的な映像であると判定することと、をさらに含む。

Description

あるモバイルデバイスは、映像および静止画像をキャプチャする機能を含み得る。場合によっては、静止画を取り込むためのシャッタ押下を検出する直前および直後に発生する画像を記録する映像を取り込むことができる。そのような映像は、面白く、単一の静止画像が含まないかもしれない主題の画像をキャプチャするために有用であり得る。しかしながら、建物または風景などの静的なまたは一般に静的なシーンの映像は、ユーザに有益ではない可能性があり、オンデバイスメモリまたは外部ストレージに格納するのに価値がない可能性がある。静止映像と動きのある映像とを区別するための技術的困難が存在する。例えば、モバイルデバイスを使用して画像がキャプチャされる場合、ユーザの手は、映像があたかも動きを含むかのように見えるように十分に震えるかもしれない。したがって、映像が静的であることを認識すること(例えば、比較的静的なシーンまたは被写体の記録)は有用であり得る。
本明細書において提供される背景技術の説明は、本開示の文脈を概して提示することを目的としている。現時点で明記された発明者らの研究は、この背景技術のセクションで説明される限り、ならびに出願時に従来技術としてそうでなければ適格でないかもしれない説明の態様は、本開示に対する従来技術として明示的にも暗黙的にも認めるものではない。
概要
ある実施形態は、一般に、モバイルデバイスの画像キャプチャに関し、特に、静的映像を認識するための方法およびシステムに関する。
ある実施形態は、コンピュータで実行される方法を含み得る。本方法は、入力映像の1つまたは複数の映像フレームの中から入力映像フレームを取得することを含むことができ、映像フレームは、シャッタ押圧指示の受信前に、およびシャッタ押圧指示の受信後に取得されている。本方法は、入力映像フレームをダウンサンプリングしてダウンサンプリングされた映像フレームを生成することをさらに含む。本方法は、ダウンサンプリングされた映像フレームを平滑化して平滑化映像フレームを生成することをさらに含む。本方法は、平滑化映像フレームの時間勾配および空間勾配を計算することをさらに含む。本方法は、平滑化映像フレーム内の1つまたは複数の候補画素パッチの中からそれぞれの候補画素パッチに対応するローカル動きベクトルを計算することによって、局所的な動きを推定することをさらに含み、ローカル動きベクトルは、空間勾配および時間勾配に基づく。本方法は、平滑化映像フレームに対応するグローバル動きベクトルを計算することによって全体的な動きを推定することをさらに含む。本方法は、対応するローカル動きベクトルおよびグローバル動きベクトルに基づいて1つまたは複数の被写体動きベクトルを計算することをさらに含む。本方法は、1つまたは複数の被写体動きベクトルをスコアマップに変換することをさらに含む。本方法は、スコアマップに基づいてエントロピースコアを計算することをさらに含む。本方法は、エントロピースコアを平滑化映像フレームに対応する被写体動きスコアにマッピングすることをさらに含む。本方法はさらに、被写体動きスコアに基づいて、静的なフレームの数を識別することを含む。本方法は、入力映像における映像フレームの数に対する静的なフレームの数の比率が静的なフレーム閾値を満たす場合に、入力映像が静的な映像であると判定すること、および、比率が静的なフレーム閾値を満たさない場合に、入力映像が動き映像であると判定することをさらに含む。本方法は、入力映像が静的映像であると認識された場合に第1の動作を実行することをさらに含む。本方法は、入力映像が動き映像であると認識された場合に第2の動作を実行することをさらに含む。
本方法はまた、平滑化の前にダウンサンプリングされた映像フレームをカラーからグレースケールに変換することを含み得る。ある実施形態では、平滑化映像フレームに対する空間勾配および時間勾配を計算することは、平滑化映像フレーム内の露出不足画素および平滑化映像フレーム内の露出過多画素を無効としてマークすることを含み、平滑化映像フレーム内の有効な画素について、時間勾配を計算することと、x方向の空間勾配を計算することと、y方向の空間勾配を計算することとを含む。ある実施形態では、1つまたは複数の候補画素パッチは、1つまたは複数の格子点を、動き推定のための平滑化映像フレーム内の基準点として選択することと、1つまたは複数の格子点の各々に対応する画素パッチについて画素パッチ幅および画素パッチ高さを選択することと、各画素パッチの統計を計算することと、画素パッチが閾値テクスチャ値を満たすテクスチャを有するかどうかを判定することと、画素パッチが閾値テクスチャ値を満たすテクスチャを有する場合、画素パッチを動き推定のための候補画素パッチとして識別することと、によって判定される。ある実施形態では、ローカル動きベクトルを計算することは、候補画素パッチ内の画素に対する空間勾配および時間勾配に基づいて、局所的なx動き値を計算することと局所的なy動き値を計算することとを含む。ある実施形態では、グローバル動きベクトルを計算することは、有効なローカル動きベクトルの平均に基づいてグローバル動きベクトルを計算することを含む。ある実施形態では、1つまたは複数の被写体動きベクトルを計算することは、それぞれのローカル動きベクトルからグローバル動きベクトルを減算することを含む。ある実施形態では、1つまたは複数の被写体動きベクトルをスコアマップに変換することは、平滑化映像フレーム内の画素についてそれぞれの被写体動きベクトルの大きさを正規化することを含む。ある実施形態では、スコアマップ上でエントロピースコアに反相関する被写体動きスコアを計算することは、動きがローカライズされる場合により高いスコアを平滑化映像フレームに割り当てることと、動きが平滑化映像フレーム内でグローバルである場合により低いスコアを平滑化映像フレームに割り当てることとを含む。ある実施形態では、第1の動作は、入力映像を静的なものとしてマーキングすることと、入力映像に対応するシャッタ画像をストレージ内に保持することと、入力映像をストレージから削除することとを含む。ある実施形態では、第2の動作は、入力映像に対応するシャッタ画像および入力映像をストレージに保持することを含む。
ある実施形態は、システムを含み得る。システムは、1つまたは複数のプロセッサと、命令を記憶したメモリとを備えてもよく、命令が1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに複数の動作を実行させ、複数の動作は、入力映像の1つまたは複数の映像フレームの中から入力映像フレームを取得することを含み、映像フレームは、シャッタ押下指示の受信前に、およびシャッタ押下指示の受信後に、取得されており、当該複数の動作はさらに、入力映像フレームをダウンサンプリングしてダウンサンプリングされた映像フレームを生成することと、ダウンサンプリングされた映像フレームを平滑化して平滑化映像フレームを生成することと、平滑化映像フレームの時間勾配および空間勾配を計算することと、平滑化映像フレーム内の1つまたは複数の候補画素パッチの中からそれぞれの候補画素パッチに対応するローカル動きベクトルを計算することによって、局所的な動きを推定することとを含み、ローカル動きベクトルは、空間勾配および時間勾配に基づいており、当該複数の動作はさらに、平滑化映像フレームに対応するグローバル動きベクトルを計算することによって全体的な動きを推定することと、対応するローカル動きベクトルおよびグローバル動きベクトルに基づいて1つまたは複数の被写体動きベクトルを計算することと、1つまたは複数の被写体動きベクトルをスコアマップに変換することと、スコアマップに基づいてエントロピースコアを計算することと、エントロピースコアを平滑化映像フレームに対応する被写体動きスコアにマッピングすることと、被写体動きスコアに基づいて静的フレームの数を識別することと、入力映像における映像フレームの数に対する静的なフレームの数の比率が静的なフレーム閾値を満たす場合に、入力映像が静的な映像であると判定すること、および、比率が静的なフレーム閾値を満たさない場合に、入力映像が動き映像であると判定することと、入力映像が静的な映像であると認識された場合に第1の動作を実行することと、入力映像が動き映像であると認識された場合に第2の動作を実行することとを含む。
ある実施形態では、命令は、平滑化の前にダウンサンプリングされた映像フレームをカラーからグレースケールに変換することを含む複数の動作を1つまたは複数のプロセッサにさらに実行させる。ある実施形態では、平滑化映像フレームに対する空間勾配および時間勾配を計算することは、平滑化映像フレーム内の露出不足画素および平滑化映像フレーム内の露出過多画素を無効としてマークすることと、平滑化映像フレーム内の有効な画素について、時間勾配を計算することと、x方向の空間勾配を計算することと、y方向の空間勾配を計算することとを含む。ある実施形態では、1つまたは複数の候補画素パッチは、1つまたは複数の格子点を、動き推定のための平滑化映像フレーム内の基準点として選択することと、1つまたは複数の格子点の各々に対応する画素パッチについて画素パッチ幅および画素パッチ高さを選択することと、各画素パッチの統計を計算することと、画素パッチが閾値テクスチャ値を満たすテクスチャを有するかどうかを判定することと、画素パッチが閾値テクスチャ値を満たすテクスチャを有する場合に、画素パッチを動き推定のための候補画素パッチとして識別することとを含む。
ある実施形態は、命令を有する非一時的なコンピュータ可読媒体を含むことができ、命令は1つまたは複数のコンピュータによって実行されると、当該1つまたは複数のコンピュータに複数の動作を実行させ、複数の動作は、入力映像の1つまたは複数の映像フレームの中から入力映像フレームを取得することを含み、映像フレームは、シャッタ押下指示の受信前に、およびシャッタ押下指示の受信後に、取得されており、当該複数の動作はさらに、入力映像フレームをダウンサンプリングしてダウンサンプリングされた映像フレームを生成することと、ダウンサンプリングされた映像フレームを平滑化して平滑化映像フレームを生成することと、平滑化映像フレームの時間勾配および空間勾配を計算することと、平滑化映像フレーム内の1つまたは複数の候補画素パッチの中からそれぞれの候補画素パッチに対応するローカル動きベクトルを計算することによって、局所的な動きを推定することとを含み、ローカル動きベクトルは空間勾配および時間勾配に基づいており、当該複数の動作はさらに、平滑化映像フレームに対応するグローバル動きベクトルを計算することによって全体的な動きを推定することと、対応するローカル動きベクトルおよびグローバル動きベクトルに基づいて1つまたは複数の被写体動きベクトルを計算することと、1つまたは複数の被写体動きベクトルをスコアマップに変換することと、スコアマップに基づいてエントロピースコアを計算することと、エントロピースコアを平滑化映像フレームに対応する被写体動きスコアにマッピングすることと、被写体動きスコアに基づいて静的フレームの数を識別することと、入力映像における映像フレームの数に対する静的なフレームの数の比率が静的なフレーム閾値を満たす場合に、入力映像が静的な映像であると判定すること、および、比率が静的なフレーム閾値を満たさない場合に、入力映像が動き映像であると判定することと、入力映像が静的な映像であると認識された場合に第1の動作を実行することと、入力映像が動き映像であると認識された場合に第2の動作を実行することとを含む。
ある実施形態では、複数の動作は、平滑化の前にダウンサンプリングされた映像フレームをカラーからグレースケールに変換することをさらに含む。ある実施形態では、平滑化映像フレームに対する空間勾配および時間勾配を計算することは、平滑化映像フレーム内の露出不足画素および平滑化映像フレーム内の露出過多画素を無効としてマークすることと、平滑化映像フレーム内の有効な画素について、時間勾配を計算することと、x方向の空間勾配を計算することと、y方向の空間勾配を計算することとを含む。ある実施形態では、1つまたは複数の候補画素パッチは、1つまたは複数の格子点を、動き推定のための平滑化映像フレーム内の基準点として選択することと、1つまたは複数の格子点の各々に対応する画素パッチに対する画素パッチ幅および画素パッチ高さを選択することと、各画素パッチの統計を計算することと、画素パッチが閾値テクスチャ値を満たすテクスチャを有するかどうかを判定することと、画素パッチが閾値テクスチャ値を満たすテクスチャを有する場合に、画素パッチを動き推定のための候補画素パッチとして識別することとを含む。ある実施形態では、ローカル動きベクトルを計算することは、候補画素パッチ内の画素に対する空間勾配および時間勾配に基づいて、局所的なx動き値を計算することと局所的なy動き値を計算することとを含む。
本明細書で説明する1つまたは複数の実施形態のために使用され得る例示的なシステムおよびネットワーク環境のブロック図である。 ある実施形態に従って静的映像を認識する例示的な方法を示すフロー図である。 ある実施形態に従う例示的な映像およびシャッタ押下タイムラインの図である。 ある実施形態に従う静的映像を認識する例示的な方法を示すフロー図である。 本明細書で説明する1つまたは複数の実施形態のために使用され得る例示的なデバイスのブロック図である。
本明細書で提供されるシステムおよび方法は、いくつかの従来の画像化システムおよび方法の1つまたは複数の欠点を克服し得る。例えば、画像化デバイス(例えば、スマートフォンなど)は、ユーザが、単一のシャッタ押下イベントで映像および静止画像をキャプチャすることを可能にする。本明細書で提供されるシステムおよび方法のある実施形態は、静的な映像(例えば、静的なシーンまたは静的な被写体の映像)を認識することができ、メモリ使用、通信帯域幅使用、および/またはプロセッササイクル使用の低減を助けることができる静的な映像の認識に基づいてアクション(例えば、ストレージから静的な映像を削除するまたは取り除く)を取ることができる。特に、ある実施形態は、画像取得におけるグローバル動き(例えば、画像取得中のスマートフォンまたは他のデバイスにおける手振れ)を補償するのに役立ち、局在化された被写体動き(例えば、遊んでいる子供)を強調するためにエントロピー計算ベースのスコアリングシステムを使用することによって、動きがフレームにわたって広範に及ぶときに動きの検出を低減するのに役立ち、広範な一般的な動き(例えば、風で動いている木の葉)を弱めるのに役立つことができる。いくつかの従来の撮像システムは、静的な映像を認識する効率的かつ効果的な方法を提供しないことがあり、静的な映像を効率的にかつ効果的に認識することは、ユーザに有用であり得る。
図1は、本明細書で説明するある実施形態で使用され得る例示的なネットワーク環境100のブロック図を示す。ある実施形態では、ネットワーク環境100は、1つまたは複数のサーバシステム、たとえば、図1の例示におけるサーバシステム102を含む。サーバシステム102は、例えば、ネットワーク130と通信することができる。サーバシステム102は、サーバデバイス104およびデータベース106または他のストレージデバイスを含むことができる。ネットワーク環境100はまた、ネットワーク130を介して互いにおよび/またはサーバシステム102と通信することができる1つまたは複数のクライアントデバイス、たとえば、クライアントデバイス120,122,124,および126を含むことができる。ネットワーク130は、インターネット、ローカルエリアネットワーク(LAN)、ワイヤレスネットワーク、スイッチまたはハブ接続などのうちの1つまたは複数を含む、任意のタイプの通信ネットワークであり得る。ある実施形態では、ネットワーク130は、たとえば、ピアツーピアワイヤレスプロトコルを使用して、デバイス間のピアツーピア通信132を含み得る。
説明を容易にするために、図1は、サーバシステム102、サーバデバイス104、およびデータベース106に対する1つのブロックを示し、クライアントデバイス120,122,124,および126に対する4つのブロックを示す。サーバシステム102,104,および106を表すブロックは、複数のシステム、サーバデバイス、およびネットワークデータベースを表してもよく、ブロックは、示されるものとは異なる構成で提供されてもよい。例えば、サーバシステム102は、ネットワーク130を介して他のサーバシステムと通信することができる複数のサーバシステムを表すことができる。いくつかの例では、データベース106および/または他の記憶デバイスは、サーバデバイス104とは別個のサーバシステムブロック内に提供され、ネットワーク130を介してサーバデバイス104および他のサーバシステムと通信することができる。また、任意の数のクライアントデバイスが存在してもよい。
各クライアントデバイスは、任意のタイプの電子デバイス、例えば、デスクトップコンピュータ、ラップトップコンピュータ、携帯またはモバイルデバイス、カメラ、携帯電話、スマートフォン、タブレットコンピュータ、テレビ、テレビセットトップボックスまたはエンターテインメントデバイス、ウェアラブルデバイス(例えば、ディスプレイ眼鏡またはゴーグル、ヘッドマウントディスプレイ(HMD)、腕時計、ヘッドセット、アームバンド、ジュエリーなど。)、仮想現実(VR)および/または拡張現実(AR)対応デバイス、携帯情報端末(PDA)、メディアプレーヤ、ゲーム装置等とすることができる。あるクライアントデバイスはまた、データベース106または他のストレージと同様のローカルデータベースを有し得る。他の実施形態では、ネットワーク環境100は、示される構成要素の全てを有しなくてもよく、および/または本明細書で説明される構成要素の代わりに、またはそれに加えて、他のタイプの構成要素を含む他の構成要素を有してもよい。
様々な実施形態では、エンドユーザU1、U2、U3、およびU4は、会話における1人または複数の参加者を含んでも良く、それぞれのクライアントデバイス120,122,124,および126を使用して、サーバシステム102と、および/または互いに通信することができる。いくつかの例では、ユーザU1、U2、U3、およびU4は、それぞれのクライアントデバイスおよび/またはサーバシステム102上で実行するアプリケーションを介して、および/または、サーバシステム102上で実現されるネットワークサービス、たとえば画像共有サービス、メッセージングサービス、ソーシャルネットワークサービス、または他のタイプのネットワークサービスを介して、互いに対話することができる。たとえば、それぞれのクライアントデバイス120,122,124,および126は、1つまたは複数のサーバシステム(たとえば、サーバシステム102)との間でデータを通信することができる。
ある実施形態では、サーバシステム102は、各クライアントデバイスがサーバシステム102および/またはネットワークサービスにアップロードされた通信コンテンツまたは共有コンテンツを受信することができるように、適切なデータをクライアントデバイスに提供することができる。いくつかの例では、ユーザは、オーディオもしくは映像会議、オーディオ、映像、もしくはテキストチャット、または他の通信方式もしくはアプリケーションを介して対話することができる。いくつかの例では、ネットワークサービスは、ユーザが様々な通信を実行し、リンクおよび関連付けを形成し、画像、画像組成物(例えば、1つまたは複数の画像、画像コラージュ、映像等を含むアルバム)、音声データ、および他のタイプのコンテンツなどの共有コンテンツをアップロードおよびポストし、様々な形態のデータを受信し、および/または社会的に関連した機能を実行することを可能にする任意のシステムを含むことができる。例えば、ネットワークサービスは、ユーザが、特定のまたは複数の他のユーザにメッセージを送信すること、ネットワークサービス内の他のユーザへの関連付けの形態でソーシャルリンクを形成すること、他のユーザをユーザリスト、友達リスト、または他のユーザグループにグループ化すること、テキスト、画像、画像組成物、オーディオシーケンス、または録画を含むコンテンツ、または、ネットワークサービスのユーザの指定されたセットによるアクセスのための他のタイプのコンテンツをポストまたは送信すること、ライブ映像、オーディオ、および/またはテキスト映像会議に参加すること、またはサービスの他のユーザとチャットすることを可能にする。ある実施形態では、「ユーザ」は、システムまたはネットワークとインターフェイスする人と同様に、1つまたは複数のプログラムまたは仮想エンティティを含み得る。
ユーザインターフェイスは、画像、画像組成物、データ、および他のコンテンツ、ならびに通信、プライバシー設定、通知、および他のデータをクライアントデバイス120,122,124,および126上で(または代替的にサーバシステム102上で)表示することを可能にすることができる。そのようなインターフェイスは、クライアントデバイス上のソフトウェア、サーバデバイス上のソフトウェア、および/またはサーバデバイス104上で実行するクライアントソフトウェアとサーバソフトウェアの組み合わせ、例えば、サーバシステム102と通信するアプリケーションソフトウェアまたはクライアントソフトウェアを使用して表示することができる。ユーザインターフェイスは、クライアントデバイスまたはサーバデバイスのディスプレイデバイス、例えば、ディスプレイスクリーン、プロジェクタなどによって表示され得る。ある実施形態では、サーバシステム上で実行されるアプリケーションプログラムは、クライアントデバイスにおいてユーザ入力を受信し、クライアントデバイスにおいて視覚データ、音声データなどのデータを出力するために、クライアントデバイスと通信することができる。
本明細書で説明する特徴の様々な実施形態は、任意のタイプのシステムおよび/またはサービスを使用することができる。例えば、ソーシャルネットワーキングサービス、画像収集および共有サービス、支援メッセージングサービス、または(例えば、インターネットに接続された)他のネットワークサービスは、クライアントデバイスおよびサーバデバイスによってアクセスされる1つまたは複数の記載された特徴を含むことができる。任意の種類の電子デバイスは、本明細書に記載の特徴を利用することができる。ある実施形態は、本明細書で説明される1つまたは複数の特徴を、コンピュータネットワークから切断されるか、または断続的に接続されるクライアントデバイスまたはサーバデバイス上に提供することができる。いくつかの例では、ディスプレイデバイスを含むか、またはディスプレイデバイスに接続されたクライアントデバイスは、クライアントデバイスのローカルな(例えば、通信ネットワークを介して接続されない)ストレージデバイスに格納された画像を検査および表示することができ、本明細書に記載するように、ユーザに見ることができる特徴および結果を提供することができる。
図2は、ある実施形態による、静的映像を認識するための例示的な方法200(たとえば、コンピュータで実行される方法)を示すフロー図である。静的な映像は、映像の所与のパーセンテージのフレームが本明細書で説明するように静的なものであると判定される映像を含むことができる。静的な映像はまた、映像の特定の時間部分の間静的であり、(例えば、映像は、被写体が動くとき、または画像を撮影している装置が下降または動かされるときなど、映像の先頭から最後付近まで静止している)他の時間部分で動きが発生し得る映像を含み得る。代替的に、動きが映像の特定の部分(例えば、開始、中間、または終了)において発生する映像は、特定の実施に応じて、動き映像または静的な映像として認識され得る。一般に、静的な映像を認識するためのパラメータは、本明細書で開示される主題の企図される適用例または実施に基づいて、追加、調整、構成、または除去され得る。そのようなパラメータは、局所的な動き推定のための閾値、被写体動きスコアのための閾値、閾値を満たす被写体動きスコアを有するフレームの、映像の他のフレームに対する比率のための閾値などを含み得る。閾値については、図4を参照して以下でより詳細に説明する。
ある実施形態では、方法200(および方法400)は、たとえば、図1に示されるように、サーバシステム102上で実施され得る。他の実施形態では、方法200の一部または全部は、図1に示されるように、1つまたは複数のクライアントデバイス120,122,124,または126上で、1つまたは複数のサーバデバイス上で、および/または、サーバデバイスとクライアントデバイスの両方上で実施され得る。説明される例では、実施システムは、1つまたは複数のデジタルハードウェアプロセッサまたは処理回路(「プロセッサ」)と、1つまたは複数の記憶デバイス(例えば、データベース106または他の記憶装置)とを含む。ある実施形態では、1つまたは複数のサーバおよび/またはクライアントの異なる構成要素は、方法200の異なるブロックまたは他の部分を実行することができる。
ある実施形態は、ユーザ入力および/または(ユーザの許可とともに取得される)デバイスコンテキストに基づいて方法200を開始することができる。ユーザは、例えば、表示されたユーザインターフェイスから方法200の開始を選択してもよい。ある実施形態では、方法200またはその部分は、ユーザ入力を介したユーザによるガイダンスを用いて実行され得る。たとえば、ある実施形態は、静的映像認識を有効化または無効化するためのオプションをユーザに提示することを含み得る。システムは、ユーザからの明示的な許可なしに、映像および画像情報などのようなユーザ情報を使用、処理、または記憶しなくてもよい。
ある実施形態では、方法200は、自動的に呼び出され得る(またはユーザ許可とともに自動的に呼び出され得る)。例えば、静的映像の認識は、ユーザが写真を撮影しているときに自動的に実行されてもよく、写真に関連する映像をユーザに提示するかどうかを判定するために使用されてもよい(例えば、映像が静的であると認識される場合、映像は、提示されるなくても記憶されるなくてもよく、映像が動き映像であると判定される場合、例えば、ユーザが映像が関連付けられている写真を見るとき、映像は、記憶され、ユーザに提示されることができる)。
ある実施形態では、方法200または方法の一部は、デバイスによって自動的に開始され得る。例えば、方法(またはその部分)は、周期的に実行され得るか、または、1つまたは複数の特定の事象または条件の発生に基づいて、実行され得る。例えば、そのような事象または条件は、ユーザが取得し、デバイス(例えば、ユーザデバイス)によって受信され、アップロードされ、またはそうでなければアクセス可能な所与の数の写真、方法200の最後の実行から経過した所定の時間、および/または方法200を実施するデバイスの設定において指定することができる1つまたは複数の他のイベントまたは条件の発生を含み得る。ある実施形態では、そのような条件は、ユーザの(ユーザの同意を伴うデバイスまたは方法によってアクセス可能な)格納されたカスタム選好においてユーザによって前もって指定され得る。いくつかの例では、デバイス(サーバまたはクライアント)は、(ユーザの同意が受信された場合)電子会話メッセージを受信する1つまたは複数のアプリケーションへのアクセスで方法200を実行することができる。別の例では、カメラ、携帯電話、タブレットコンピュータ、ウェアラブルデバイス、または他のクライアントデバイスは、映像および静止画を取得することができ、方法200を実行することができる。加えて、または代替的に、クライアントデバイスは、ネットワークを介してサーバに1つまたは複数の映像を送信することができ、サーバは、方法200を使用して映像を処理することができる。方法200に関する上記説明は、方法400にも当てはまる。
202において、フレームを含む入力映像が受信される。たとえば、映像は、ユーザに関連付けられたモバイルデバイスなどのクライアントデバイスによってキャプチャされ得る。映像は、フレームをキャプチャするためにカメラまたは他の撮像装置のシャッタ押下に応答してキャプチャされ得る。例えば、ユーザは、スマートフォンまたは他のモバイルデバイス上でカメラアプリケーションを開くことができる。カメラアプリケーションは、シャッタ押下指示が受信される前に映像画像の取得を開始し、シャッタ押下指示が受信された後に映像をキャプチャし続けることができる。したがって、映像は、スマートフォン上で実行されるカメラアプリケーション内でシャッタ押下の直前および直後の瞬間を取り込む。処理は204へ進む。
例えば、図3に示されるように、映像302は、シャッタ押下表示310の前にキャプチャされたフレーム(304、306)と、シャッタ押下表示310の後にキャプチャされたフレーム(308)とを含むことができる。映像はまた、カメラまたは他の画像取得デバイス内で同様の方法でキャプチャされ得る。前処理は、ダウンサンプリング、グレースケールへの変換、および/または平滑化を含むことができる。
204では、入力映像のフレームが前処理される。例示的な前処理の詳細は、図4の404〜408に関連して以下で説明する。処理は206へ進む。
206において、局所的な動きが推定される。局所的な動きは、ひらひらしている葉に関連する動きなど、映像のフレームのサブセットの一部である動きを含む。たとえば、映像フレームの1つまたは複数の画素パッチ(すなわち、画素のセクションまたはグループ)内の局所的な動きの推定を表すローカル動きベクトルを計算することができる。例示的な局所的な動き推定の詳細は、図4の410〜424において以下で説明される。処理は208へ進む。
208において、全体的な動きが補償される。全体的な動きは、映像のフレームの全部または大部分において発生する動きを含み得る。全体的な動きは、手の動きから生じ得る。例えば、スマートフォンで写真を撮影しているユーザは、手振れ、スマートフォンの偶発的な落下などに起因して画像をキャプチャする前、間、および/または後に何らかの手の動きを有することがある。ユーザの手の動きは、シャッタ押下前からシャッタ押下後までの期間をカバーする映像内で全体的な動きとして現れることがある。グローバル動き補償は、全体的な動きの影響を低減または排除し、グローバル動きアーチファクトが補償されない場合よりも、システムが静的映像をより正確に認識することを可能にする。例示的なグローバル動き補償の詳細は、図4の426〜428で以下で説明する。処理は210へ進む。
ブロック210において、被写体動きスコアは、グローバル動き補償によって調整されたローカル動き推定値のエントロピーに基づいて計算される。エントロピーベースの被写体動きスコア計算の詳細は、図4の430-432で以下で説明する。処理は212へ進む。
212では、被写体動きスコアが正規化される。処理は214へ進む。
ステップ214では、入力映像が静的な映像であるか否かを判定する。判定は、静的なシーンまたは被写体の映像を認識し、静的なシーンまたは被写体の映像の(または、静的映像認識がない場合の動き映像の)表示を提供するために、本明細書で説明されるシステムまたは方法を使用することを含み得る。処理は、判定に基づいて216または218に進む。
入力映像が静的映像でない場合、216において、入力映像およびフレームの両方がユーザに提供される。ある実施形態では、入力映像およびフレームの両方がストレージに含まれる。入力映像が静的映像である場合、218において、入力映像ではなくフレームがユーザに提供される。幾つかの実施形態では、入力映像ではなくフレームはストレージに保たれる。
図2および図4では、様々なブロック(例えば、ブロック202〜218および402〜440それぞれ)が、順次実行されるものとして示されている。しかしながら、これらのブロックのうちの1つまたは複数は、特定の実施に適合させるために都合よく再配列されてもよく、これらのブロックまたはその一部は、いくつかの実施において同時に実行され得ることを理解されたい。いくつかの例では、様々なブロックが排除され、追加のブロックに分割され、および/または他のブロックと組み合わされ得ることも理解されよう。次いで、テーブルを使用して、テーブル内の値に基づいて閾値を決定することができる。
図4は、ある実施形態にしたがって、静的映像を認識する例示的な方法を示すフロー図である。図4において、402および412は、データまたはデータストレージであり、方法を例示することを補助するために破線で示されている。
動作中、映像フレーム402が得られる。入力映像フレームは、映像の1つまたは複数の映像フレームの中から取得され得、映像フレームは、シャッタ押下指示の受信前に、およびシャッタ押下指示の受信後に取得された。例えば、映像フレームは、シャッタ押下表示の前後2秒のように、シャッタ押下表示の前後の所定の時間量、キャプチャされ得る。
404では、映像フレームがダウンサンプリングされる。ダウンサンプリングは、処理時間を改善し、メモリ使用量を低減するために、映像フレームのサイズ(ファイルサイズ、フレームサイズ、映像解像度など)を低減することなどを含み得る。処理は406へ進む。
406において、映像フレームはグレースケールに変換される。カラーは、静的な映像を認識するのに必要ではない可能性があるため、グレースケールに変換することは、処理時間を高速化し、メモリ使用量を低減するのに役立ち得る。処理は408へ進む。
408において、ダウンサンプリングされたグレースケール画像は、以下に記載するように平滑化される。
404〜408は、前処理を含むことができる。たとえば、入力映像フレーム402は、高解像度、たとえば、4032×3024であり得る。計算を低減するために、入力映像フレーム402は、まずはるかに小さいフレームI、例えば64×48にダウンサンプリングされる。入力映像フレームは、場合によっては、バイエル赤色緑色青色(RGB)フォーマットまたはYUVフォーマットであり得る。グレースケールフレームは、動きがあるかどうかを検出するために使用され得るので、カラー映像フレームは、グレースケールフレームに変換され得る。例えば、64×48バイエルフレームが取得され、ダウンサンプリングされる。バイエルフレームは、R、Gr、Gb、Bチャネルを平均化することによってグレースケール画像に変換することができる。12/14/16ビットバイエルデータを8ビットに迅速に変換し、ダイナミックレンジを保持するために、バイエルフレームの平均値が計算され、所望の平均値/平均値によって画素がスケーリングされ、ここで、所望の平均値は、手動で選択された値、例えば、所望の平均値=128である。
画像ノイズに対する技術のロバスト性を改善するために、入力フレームIをガウスフィルタによって平滑化することができ、得られたフレームをI_smoothedと表す。ガウス平滑化された前のフレームは、I_smoothed_previousと表される。
前処理の後、例えば、ブロック410〜424において、局所的な動きが推定される。処理は410へ進む。
410において、時間勾配は、フレームバッファ412からの前のフレームおよび現在の映像フレーム402を使用して計算される。414において、現在の映像フレームを使用して空間勾配が計算される。
ある実施形態では、局所的な動き推定を加速するために、入力フレームの空間勾配および時間勾配を事前計算することができる。例えば、空間勾配および時間勾配は、以下のように計算することができる。
全ての露光過多画素(例えば閾値を超える強度を有する画素を、例えば、over_expose_threshold)および露光不足画素(例えば、閾値未満の強度を有する画素を、例えばunder_expose_threshold)を無効画素としてマークする。
under_expose_threshold≦I_smoothed(x,y)≦over_expose_thresholdであり、
under_expose_threshold<I_smooothed_previous(x,y)<over_expose_thresholdであり、
under_expose_threshold<I_smoothed(x+1,y)<over_expose_thresholdであり、
under_expose_threshold<I_smoothed(x-1,y)<over_expose_thresholdであり、
under_expose_threshold<I_smoothed(x,y+1)<over_expose_thresholdであり、
under_expose_threshold<I_smoothed(x,y-1)<over_exposed_thresholdであるならば、Valid(x,y)=1である。
他の場合では、Valid(x,y)=0である。
Valid(x,y)=1を有する有効な画素について、3つの勾配I_t(x,y),I_x(x,y),I_y(x,y)を以下のように計算する。
時間勾配、すなわち、I_smoothedとI_smoothed_previousとの間の画素差は、I_t(x,y)=I_smoothed(x,y)-I_smoothed_previous(x,y)として表される。
x方向に沿ったI_smooothedの空間勾配は、I_x(x,y)=(I_smoothed(x+1,y)-I_smoothed(x-1,y))/2と表される。
y方向に沿ったI_smoothedの空間勾配は、I_y(x,y)=(I_smoothed(x,y+1)-I_smoothed(x,y−1))/2として表される。
Valid(x,y)=0の無効画素について、集合I_t(x,y)=I_x(x,y)=I_y(x,y)=0と設定する。
処理は416に進む。
416において、点のグリッドが生成され、418において、各グリッドの点について画素のパッチが決定される。
例えば、フレーム内のiが1とgridWidthの間であり、jが1とgridHeightの間である点p(ij)のグリッドが、局所的な動き推定を行うために計算される。グリッドを計算する際、各辺におけるある割合のマージン、例えば6.25%を除外することができる。格子点は、等間隔に、例えばx方向に沿って4画素離間し、y方向に沿って4画素離間することができる。例えば、フレームサイズが64×48である場合、4辺の64×6.25%=4画素を除外し、gridHeight=11によってgridWidth=15のグリッドを残す。
処理は420へ進む。
420では、統計が画素の各パッチについて計算される。例えば、
グリッド内の各点p(i,j)について、I_smoothedからpatchWidth×patchHeight(例えば、patchWidth=patchHeight=7)を得る。
まず、このパッチの統計のセットを収集する。
Ixxは、パッチ内の全ての画素に対するI_x(x,y)×I_x(x,y)の平均である。
Iyyは、パッチ内の全ての画素に対するI_y(x,y)×I_y(x,y)の平均である。
Ixyは、パッチ内の全ての画素に対するI_x(x,y)×I_y(x,y)の平均である。
Ixtは、パッチ内の全ての画素に対するI_x(x,y)×I_t(x,y)の平均である。
Iytは、パッチ内の全ての画素に対するI_y(x,y)×I_t(x,y)の平均である。
統計の計算は積分画像を使用することによって最適化することができる。
処理は422へ進む。
422において、各パッチがテクスチャ閾値を満たすテクスチャを有するかどうかが判定される。テクスチャレスパッチを使用して動きを検出することは有用ではないので、パッチのテクスチャを確認することは有用であり得る。また、エッジ上のパッチは、動きがエッジ検出に沿って任意であり得るため、使用するのに役立たない可能性がある。結果として、テクスチャがテクスチャ閾値を満たさない場合、ある実施形態では、方法400は、テクスチャがテクスチャ閾値を満たすまでステップ402から開始する。適切なテクスチャのチェックは、以下を含むことができる。
上記のパッチのヘッセ行列は、2×2行列である。
{Ixx Ixy
Ixy Iyy}
この行列の決定基はdetと表される。この行列は、2つの固有値を有する。大きい方をmax_eigenvalueとし、小さい方をmin_eigenvalueとする。
パッチは、十分なテクスチャを有するとみなされるべき以下の条件を満たさなければならない。
det>0、かつ、
min_eigenvalue>EigenvalueThreshold×frameWidth×frameHeight、かつ、
max_eigenvalue<EigenvalueRatioThreshold×min_eigenvalue
EigenvalueThresholdは手動で調整することができ、典型的な値は0.0025である。
EigenvalueRatioThresholdも手動で調整することができ、典型的な値は5である。
パッチが上記条件チェックに失敗すると、そのパッチの動きベクトルは利用不能に設定され、このパッチは以下のステップで除外される。
motion_x=利用不能である。
motion_y=利用不能である。
テクスチャ閾値を満たすテクスチャを有するパッチに対して、処理は424に進む。
424において、対応するパッチの局所的な動きを推定するためにローカル動きベクトルが計算される。ローカル動きベクトルは、平滑化映像フレーム内の1つまたは複数の候補画素パッチの中からそれぞれの候補画素パッチに対応することができ、ローカル動きベクトルは、空間勾配および時間勾配に基づく。例えば、
motion_x=(−Ixt×Iyy−Iyt×Ixy)/det
motion_y=(Ixt×Ixy−Iyt×Ixx)/det
処理は426へ進む。
426において、グローバル動きベクトルが、全体的な動きを推定するために計算される。ある実施形態では、グローバル動きベクトルは平滑化映像フレームに対応する。ユーザがモバイルデバイス上で写真または映像をキャプチャするとき、多くの場合、小さな手の動きがあるので、現在のフレームと前のフレームとの間の全体的なカメラの動きの推定は、全体的な動きを補償するのに有用である。カメラの動きは、並進ベクトル[global_motion_x,global_motion_y]としてモデル化され、前のステップからの有効な動きベクトルを平均化することによって推定され得る。代替的には、より多くの計算が利用可能である場合、アフィンモデルまたはホモグラフィモデルをランダムサンプルコンセンサス(RAN SAC)と共に使用して、全体的な動きをより正確に推定することができる。処理は428へ進む。
428において、被写体動きベクトルは、ローカル動きベクトルからグローバル動きベクトルを減算することによって計算される。例えば、
動きベクトルから全体的な動きを減算して、被写体動きベクトルを得る。
[subject_motion_x,subject_motion_y]=[motion_x−global_motion_x,motion_y−global_motion_y]を得る。
処理は430へ進む。
430において、各パッチのスコアが計算され、スコアマップに入れられる。例えば、
各パッチについて動きベクトルの大きさを0から1の間のスコアに変換し、以下のようにスコアマップを作成する。
score(ij)=1−exp(−(subject_motion_x(i,j)×subject_motion_x(i,j)+subject_motion_y(i,j)×subject_motion_y(i,j))/motion_param)
motion_paramは、手動で決定することができ、ある実施形態では、典型的な値は3である。
処理は432へ進む。
432において、エントロピーベースの被写体動きスコアが映像フレームについて計算される。被写体動きスコアは、対応するローカル動きベクトルおよびグローバル動きベクトルに基づくことができる。例えば、
まず、スコアマップのエントロピースコアを以下のように計算する。
全てのkおよびlについて、total_score=sum(score(k,l)+Epsilon)。
p(k,l)=(score(k,l)+Epsilon)/total_score。
entropy=−sum(Log[p(k,l)]×p(k,l))
Epsilonは、0によって引き起こされる問題を避けるため少数とすることができる。
次いで、エントロピーを、非線形マッピング関数を使用して、subject_motion_scoreが0と1との間である平滑化映像フレームに対応するsubject_motion_scoreににマッピングする。
subject_motion_score=1−exp(entropy×subject_mootion_param1)×subject_motion_param2
subject_motion_param1およびsubject_motion_param2は、手動で調整される2つのパラメータである。
この被写体動きスコア(subject_motion_score)は、シーン内に大きな被写体動きがある場合に大きくなる。シーンが静止しているとき、それは0に非常に近い。
処理は434へ進む。
434において、1つまたは複数のフレームに対する被写体動きスコアが正規化される。例えば、
各映像について、静的映像認識のために処理された(フレーム番号iを有する)全てのフレームが、被写体動きスコア(i)を受け取った。被写体動きスコアの最大値は、以下のように表される。
全てのiについて、subject_motion_score_max=max(subject_motion_score(i))
subjct_motion_score_iが小さすぎない場合、subject_motion_score_maxによりsubject_motion_score_iを正規化する。例えば、
subject_motion_score_i>subject_motion_min_thresholdであるとき、normalized_subject_motion_score_i=subject_motion_score_i/subject_motion_score_max
そうでないとき、normalized_subject_motion_score_i=subject_motion_score_i
処理は436へ進む。
436において、正規化された被写体動きスコアが閾値化される。例えば、
低い正規化された被写体動きスコアを有するフレームの数をカウントする。
number_of_static_frames=count(normalized_subject_motion_score_i<normalized_subject_motion_score_threshold)
処理は438へ進む。
438において、静的なものとして識別された映像フレームの、映像内の全てのフレームに対する比率が、静的なフレーム比率閾値と比較される。例えば、
number_of_static_frames/number_of_all_frames>static_frame_ratio_thresholdである場合、映像を静的な映像としてマークし、そうでなければ映像を静的な映像としてマークしない。
処理は440へ進む。
440では、映像が静的な映像として認識されたか否かに基づいてアクションが取られる。例えば、映像が静的であると認識された場合には、1つの動作が行われ、映像が静的でないと認識された場合には、別の動作が行われる。いくつかの例では、映像が静的であると認識されるとき、映像は、静的であるとマークされ得、映像に対応するシャッタ画像(または静止画像)はストレージ内に保持され得、映像はストレージから削除され得る。映像が静的でないと認識されるとき、シャッタ画像(または静止画像)および映像の両方は、ストレージ(たとえば、メモリ)内に保持され得、いくつかの例では、映像は、ユーザに提示され得、たとえば、ユーザデバイスまたは他のデバイスのディスプレイデバイス上に連続フレームとして表示され得る。
図5は、本明細書で説明する1つまたは複数の特徴を実施するために使用され得る例示的なデバイス500のブロック図である。一例では、デバイス500は、コンピュータデバイス、たとえば、サーバデバイス(例えば、図1のサーバデバイス104)を実現し、本明細書で説明する適切な方法の実施を行なうために使用され得る。デバイス500は、任意の適切なコンピュータシステム、サーバ、または他の電子もしくはハードウェアデバイスとすることができる。例えば、デバイス500は、メインフレームコンピュータ、デスクトップコンピュータ、ワークステーション、ポータブルコンピュータ、または電子デバイス(携帯デバイス、モバイルデバイス、携帯電話、スマートフォン、タブレットコンピュータ、テレビ、テレビセットトップボックス、携帯情報端末(PDA)、メディアプレーヤ、ゲーム装置、ウェアラブルデバイスなど。)とすることができる。ある実施形態では、デバイス500は、プロセッサ502と、メモリ504と、I/Oインターフェイス506とを含む。
プロセッサ502は、プログラムコードを実行し、デバイス500の基本動作を制御する1つまたは複数のプロセッサおよび/または処理回路であり得る。「プロセッサ」は、データ、信号または他の情報を処理する任意の適切なハードウェアおよび/またはソフトウェアシステム、メカニズムまたはコンポーネントを含む。プロセッサは、汎用中央処理ユニット(CPU)、複数の処理ユニット、機能を達成するための専用回路、または他のシステムを有するシステムを含み得る。処理は、特定の地理的位置に限定される必要はなく、または時間的制限を有する必要はない。例えば、プロセッサは、「リアルタイム」、「オフライン」、「バッチモード」等でその機能を実行することができる。処理の部分は、異なる(または同じ)処理システムによって、異なる時間および異なる場所で実行されてもよい。コンピュータは、メモリと通信する任意のプロセッサであり得る。
メモリ504は、典型的には、プロセッサ502によるアクセスのためにデバイス500内に提供され、プロセッサによる実行のための命令を記憶するのに適した任意の適切なプロセッサ可読記憶媒体、例えば、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的消去可能読み取り専用メモリ(EEPROM)、フラッシュメモリなどであり得、また、プロセッサ502から分離して、および/またはプロセッサ502と一体化して配置され得る。メモリ504は、オペレーティングシステム508、1つまたは複数のアプリケーション510、たとえば、静的映像認識アプリケーション512、他のアプリケーション514、およびアプリケーションデータ520を含む、プロセッサ502によってサーバデバイス500上で動作するソフトウェアを記憶することができる。ある実施形態では、アプリケーション510は、プロセッサ502が本明細書で説明された機能、たとえば、図2および/または図4の方法の一部または全てを実行することを可能にする命令を含み得る。
他のアプリケーション514(またはエンジン)も、または代替として、アプリケーション510、たとえば、カメラアプリケーション、電子メールアプリケーション、SMSおよび他の電話通信アプリケーション、ウェブブラウザアプリケーション、メディアディスプレイアプリケーション、通信アプリケーション、ウェブホスティングエンジンまたはアプリケーション、ソーシャルネットワーキングエンジンまたはアプリケーションなどに含まれ得る。あるいは、メモリ504内の任意のソフトウェアは、任意の他の適切な記憶場所またはコンピュータ可読媒体に記憶することができる。さらに、メモリ504(および/または他の接続された記憶装置)は、電子会話メッセージ、電子会話メッセージのグループ、会話フレーミング要素、ユーザデータおよび選好、ならびに本明細書で説明する特徴で使用される他の命令およびデータなどのアプリケーションデータを記憶することができる。メモリ504および任意の他のタイプのストレージ(磁気ディスク、光ディスク、磁気テープ、または他の有形媒体)は、「ストレージ」または「ストレージデバイス」と見なすことができる。例えば、アプリケーションデータ520は、画像522および映像524を含むことができる。
I/Oインターフェイス506は、デバイス500を他のシステムおよびデバイスとインターフェイスすることを可能にする機能を提供することができる。例えば、ネットワーク通信デバイス、ストレージデバイス(例えば、メモリおよび/またはデータベース106)、および入出力デバイスは、I/Oインターフェイス506を介して通信することができる。ある実施形態では、I/Oインターフェイスは、入力デバイス(キーボード、ポインティングデバイス、タッチスクリーン、マイクロフォン、カメラ、スキャナなど。)および/または出力デバイス(ディスプレイデバイス、スピーカデバイス、プリンタ、モータ、触覚出力デバイスなど。)を含むインターフェイスデバイスに接続することができる。オーディオ入力/出力デバイス530は、本明細書で説明するように、オーディオ入力を受信し、オーディオ出力(たとえば、ボイスインターフェイス出力)を提供するために使用され得る入力および出力デバイスの例である。音声入力/出力デバイス530は、ローカル接続(例えば、ワイヤードバス、ワイヤレスインターフェイス)を介して、および/またはネットワーク接続を介してデバイス500に接続することができ、かつ任意の適切なデバイスであり、そのいくつかの例は以下にされる。
説明を容易にするために、図5は、プロセッサ502、メモリ504、I/Oインターフェイス506、ならびにソフトウェアブロック508および510の各々について1つのブロックを示す。これらのブロックは、1つまたは複数のプロセッサまたは処理回路、オペレーティングシステム、メモリ、I/Oインターフェイス、アプリケーション、および/または、ソフトウェアモジュールを表し得る。他の実施形態では、デバイス500は、示される構成要素の全てを有する必要はなく、および/または、本明細書に示される構成要素の代わりに、またはそれに加えて、他のタイプの構成要素を含む他の構成要素を有してもよい。サーバシステム102は、本明細書のいくつかの実施形態において説明される動作を実行するものとして説明されるが、サーバシステム102または同様のシステムの任意の好適なコンポーネントまたはコンポーネントの組み合わせ、または、そのようなシステムに関連する任意の好適なプロセッサまたは複数のプロセッサは、説明される動作を実行することができる。
クライアントデバイスはまた、本明細書で説明される特徴、たとえば、図1に示されるクライアントデバイス120〜126を実現し、および/またはそれらとともに使用することができる。例示的なクライアントデバイスは、デバイス500として、いくつかの同様の構成要素、たとえば、プロセッサ502、メモリ504、およびI/Oインターフェイス506を含むコンピュータデバイスであり得る。クライアントデバイスに適したオペレーティングシステム、ソフトウェア、および、アプリケーション、例えば、画像管理ソフトウェア、クライアントグループ通信アプリケーションソフトウェアなどは、メモリにおいて提供され、プロセッサによって使用され得る。クライアントデバイスのためのI/Oインターフェイスは、入力デバイスおよび出力デバイス、例えば、画像または映像をキャプチャするためのカメラ、音を出力するためのオーディオスピーカデバイス、画像または映像を出力するためのディスプレイデバイス、または他の出力デバイスと同様に、ネットワーク通信デバイスに接続され得る。
本明細書で説明する1つまたは複数の方法(たとえば、方法200および400)は、コンピュータ上で実行され得るコンピュータプログラム命令またはコードによって実現され得る。たとえば、コードは、1つまたは複数のデジタルプロセッサ(たとえば、マイクロプロセッサまたは他の処理回路)によって実施することができ、非一時的コンピュータ可読媒体(たとえば、記憶媒体)を含むコンピュータプログラム製品、たとえば、磁気、光学、電磁、または半導体または固体メモリを含む半導体記憶媒体、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、リジッド磁気ディスク、光ディスク、ソリッドステートメモリドライブなどに格納することができる。プログラム命令はまた、例えばサーバ(例えば、分散システムおよび/またはクラウドコンピューティングシステム)から配信されるサービス(SaaS)としてのソフトウェアの形態で、電子信号に含まれ、かつ、電子信号として提供されることもできる。代替的には、1つまたは複数の方法は、ハードウェア(論理ゲートなど)で、またはハードウェアとソフトウェアとの組み合わせで実現され得る。ハードウェアの例は、プログラム可能なプロセッサ(例えば、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブルロジックデバイス)、汎用プロセッサ、グラフィックプロセッサ、特定用途向け集積回路(ASICs)などであり得る。1つまたは複数の方法は、システム上で実行するアプリケーションの一部または構成要素として、または他のアプリケーションおよびオペレーティングシステムとともに実行するアプリケーションまたはソフトウェアとして実行することができる。
本明細書で説明する1つまたは複数の方法は、任意のタイプのコンピューティングデバイス上で実行することができる独立型プログラム、ウェブブラウザ上で実行されるプログラム、モバイルコンピューティングデバイス(例えば、携帯電話、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス(ウォッチ、アームバンド、ジュエリー、ヘッドウェア、ゴーグル、眼鏡など)、ラップトップコンピュータなど)上で実行されるモバイルアプリケーション(「app」)で実行することができる。一例では、クライアント/サーバアーキテクチャを使用することができ、例えば、(クライアントデバイスとして)モバイルコンピューティングデバイスは、ユーザ入力データをサーバデバイスに送信し、(例えば、表示のために)出力のための最終出力データをサーバから受信する。別の例では、全ての計算は、モバイルコンピューティングデバイス上のモバイルアプリ(および/または他のアプリ)内で実行することができる。別の例では、モバイルコンピューティングデバイスと1つまたは複数のサーバデバイスとの間で計算を分割することができる。
あるいは、メモリ内の任意のソフトウェアは、任意の他の適切な記憶場所またはコンピュータ可読媒体に記憶することができる。さらに、メモリ(および/または他の接続された記憶装置)は、1つまたは複数のメッセージ、1つまたは複数の分類、電子エンサイクロペディア、辞書、類語辞典、知識ベース、メッセージデータ、文法、ユーザ選好、および/または本明細書に記載の特徴で使用される他の命令およびデータを記憶することができる。メモリおよび任意の他のタイプのストレージ(磁気ディスク、光ディスク、磁気テープ、または他の有形媒体)は、「ストレージ」または「ストレージデバイス」とみなすことができる。
I/Oインターフェイスは、サーバデバイスを他のシステムおよびデバイスとインターフェイスすることを可能にする機能を提供することができる。インターフェイスされたデバイスは、デバイスの一部として含めることができ、または別個であり、デバイスと通信することができる。例えば、ネットワーク通信デバイス、ストレージデバイス(例えば、メモリおよび/またはデータベース106)、および入出力デバイスは、I/Oインターフェイスを介して通信することができる。ある実施形態では、I/Oインターフェイスは、入力デバイス(キーボード、ポインティングデバイス、タッチスクリーン、マイクロフォン、カメラ、スキャナ、センサなど。)および/または出力デバイス(ディスプレイデバイス、スピーカデバイス、プリンタ、モータなど。)などのインターフェイスデバイスに接続することができる。
I/Oインターフェイスに接続できるインターフェイスされたデバイスのいくつかの例は、コンテンツ、たとえば、画像、映像、および/または本明細書で説明する出力アプリケーションのユーザインターフェイスを表示するために使用することができる1つまたは複数のディスプレイデバイスを含むことができる。ディスプレイデバイスは、ローカル接続(例えば、ディスプレイバス)を介して、および/またはネットワーク接続を介してデバイスに接続することができ、任意の適切なディスプレイデバイスとすることができる。ディスプレイデバイスは、LCD、LED、またはプラズマディスプレイスクリーンのような任意の適切なディスプレイデバイス、CRT、テレビ、モニタ、タッチスクリーン、3Dディスプレイスクリーン、または他の視覚ディスプレイデバイスを含み得る。例えば、ディスプレイデバイスは、モバイルデバイス上に設けられる平坦なディスプレイ画面、ゴーグルもしくはヘッドセットデバイス内に設けられる複数のディスプレイ画面、またはコンピュータデバイスのためのモニタ画面とすることができる。
I/Oインターフェイスは、他の入力および出力デバイスとインターフェイスすることができる。いくつかの例は、画像をキャプチャすることができる1つまたは複数のカメラまたは他の撮像装置を含む。ある実施形態は、(例えば、キャプチャされた画像、音声コマンドなどの一部として)音をキャプチャするためのマイクロフォン、音を出力するためのオーディオスピーカデバイス、または他の入力デバイスおよび出力デバイスを提供することができる。
説明は、その特定の実施形態に関して説明されてきたが、これらの特定の実施形態は、例示にすぎず、限定的ではない。実施形態において示される概念は、他の例および実施形態に適用され得る。
本明細書で説明するある実施形態が、ユーザに関する個人情報(例えば、ユーザデータ、ユーザのソーシャルネットワークに関する情報、その場所におけるユーザの場所および時間、ユーザのバイオメトリック情報、ユーザの活動および人口統計情報)を収集または使用し得る状況では、ユーザは、情報が収集されるかどうか、個人情報が記憶されるかどうか、個人情報が使用されるかどうか、および情報がどのようにユーザに関して収集され、記憶され、使用されるかを制御する1つまたは複数の機会を提供される。すなわち、本明細書で説明されるシステムおよび方法は、特に、関連するユーザからそのようにするための明示的な許可を受けて、ユーザ個人情報を収集し、記憶し、および/または使用する。例えば、ユーザは、プログラムまたは特徴が、その特定のユーザまたはそのプログラムまたは特徴に関連する他のユーザに関するユーザ情報を収集するかどうかに関する制御を提供される。個人情報が収集されるべき各ユーザには、そのユーザに関連する情報収集の制御を可能にし、情報が収集されるかどうか、および情報のどの部分が収集されるべきかに関する許可または認可を提供するための1つまたは複数のオプションが提示される。例えば、ユーザは、通信ネットワークを介して1つまたは複数のそのような制御オプションを提供され得る。さらに、特定のデータは、個人的に識別可能な情報が取り除かれるように、保存または使用される前に、1つまたは複数の方法で処理されてもよい。一例として、ユーザのアイデンティティは、個人的に識別可能な情報を判定できないように取り扱われ得る。別の例として、ユーザの特定の位置を判定することができないように、ユーザの地理的位置は、より大きな領域に一般化され得る。
本開示で説明する機能ブロック、動作、特徴、方法、デバイス、およびシステムは、当業者に知られているように、システム、デバイス、および機能ブロックの異なる組み合わせに統合または分割され得ることに留意されたい。任意の適切なプログラミング言語およびプログラミング技術を使用して、特定の実施形態のルーチンを実現することができる。異なるプログラミング技法、例えば手続き的またはオブジェクト指向の技法を採用することができる。ルーチンは、単一の処理装置または複数のプロセッサ上で実行することができる。ステップ、動作、または計算は、特定の順序で提示され得るが、順序は、異なる特定の実施形態で変更され得る。ある実施形態では、本明細書で順次に示される複数のステップまたは動作は、同時に実行され得る。

Claims (20)

  1. コンピュータで実行される方法であって、
    入力映像の1つまたは複数の映像フレームの中から入力映像フレームを取得することを備え、前記映像フレームは、シャッタ押下指示の受信前に、および前記シャッタ押下指示の受信後に、取得されており、前記方法はさらに、
    前記入力映像フレームをダウンサンプリングしてダウンサンプリングされた映像フレームを生成することと、
    前記ダウンサンプリングされた映像フレームを平滑化して平滑化映像フレームを生成することと、
    前記平滑化映像フレームの時間勾配および空間勾配を計算することと、
    前記平滑化映像フレーム内の1つまたは複数の候補画素パッチの中からそれぞれの候補画素パッチに対応するローカル動きベクトルを計算することによって、局所的な動きを推定することとを備え、前記ローカル動きベクトルは、前記空間勾配および前記時間勾配に基づいており、前記方法はさらに、
    前記平滑化映像フレームに対応するグローバル動きベクトルを計算することによって全体的な動きを推定することと、
    対応するローカル動きベクトルおよび前記グローバル動きベクトルに基づいて1つまたは複数の被写体動きベクトルを計算することと、
    前記1つまたは複数の被写体動きベクトルをスコアマップに変換することと、
    前記スコアマップに基づいてエントロピースコアを計算することと、
    前記エントロピースコアを前記平滑化映像フレームに対応する被写体動きスコアにマッピングすることと、
    前記被写体動きスコアに基づいて、静的なフレームの数を識別することと、
    前記入力映像における前記映像フレームの数に対する静的なフレームの数の比率が静的なフレーム閾値を満たす場合に、前記入力映像が静的な映像であると判定すること、および、前記比率が前記静的なフレーム閾値を満たさない場合に、前記入力映像が動き映像であると判定することと、
    前記入力映像が前記静的な映像であると認識された場合に第1の動作を実行することと、
    前記入力映像が前記動き映像であると認識された場合に第2の動作を実行することとを備える、コンピュータで実行される方法。
  2. 平滑化の前に前記ダウンサンプリングされた映像フレームをカラーからグレースケールに変換することをさらに備える、請求項1に記載のコンピュータで実行される方法。
  3. 平滑化映像フレームに対する前記空間勾配および前記時間勾配を計算することは、
    前記平滑化映像フレーム内の露出不足画素および前記平滑化映像フレーム内の露出過多画素を無効としてマークすることと、
    前記平滑化映像フレーム内の有効な画素について、
    時間勾配を計算することと、
    x方向の空間勾配を計算することと、
    y方向の空間勾配を計算することとを含む、請求項1に記載のコンピュータで実行される方法。
  4. 前記1つまたは複数の候補画素パッチは、
    1つまたは複数の格子点を、動き推定のための前記平滑化映像フレーム内の基準点として選択することと、
    前記1つまたは複数の格子点の各々に対応する画素パッチについて画素パッチ幅および画素パッチ高さを選択することと、
    各画素パッチの統計を計算することと、
    前記画素パッチが閾値テクスチャ値を満たすテクスチャを有するかどうかを判定することと、
    前記画素パッチが前記閾値テクスチャ値を満たすテクスチャを有する場合、前記画素パッチを動き推定のための候補画素パッチとして識別することと、によって判定される、請求項1に記載のコンピュータで実行される方法。
  5. 前記ローカル動きベクトルを計算することは、前記候補画素パッチ内の画素に対する前記空間勾配および前記時間勾配に基づいて、局所的なx動き値を計算することと局所的なy動き値を計算することとを含む、請求項1に記載のコンピュータで実行される方法。
  6. 前記グローバル動きベクトルを計算することは、有効なローカル動きベクトルの平均に基づいて前記グローバル動きベクトルを計算することを含む、請求項1に記載のコンピュータで実行される方法。
  7. 前記1つまたは複数の被写体動きベクトルを計算することは、それぞれのローカル動きベクトルから前記グローバル動きベクトルを減算することを含む、請求項1に記載のコンピュータで実行される方法。
  8. 前記1つまたは複数の被写体動きベクトルを前記スコアマップに変換することは、前記平滑化映像フレーム内の画素についてそれぞれの被写体動きベクトルの大きさを正規化することを含む、請求項1に記載のコンピュータで実行される方法。
  9. 前記スコアマップ上で前記エントロピースコアに反相関する前記被写体動きスコアを計算することは、動きがローカライズされる場合により高いスコアを前記平滑化映像フレームに割り当てることと、動きが前記平滑化映像フレーム内でグローバルである場合により低いスコアを前記平滑化映像フレームに割り当てることとを含む、請求項1に記載のコンピュータで実行される方法。
  10. 前記第1の動作は、前記入力映像を静的なものとしてマーキングすることと、前記入力映像に対応するシャッタ画像をストレージ内に保持することと、前記入力映像をストレージから削除することとを含む、請求項1に記載のコンピュータで実行される方法。
  11. 前記第2の動作は、前記入力映像に対応するシャッタ画像および前記入力映像をストレージ内に保持することを含む、請求項1に記載のコンピュータで実行される方法。
  12. システムであって、
    1つまたは複数のプロセッサと、
    命令を記憶したメモリとを備え、前記命令は前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに複数の動作を実行させ、前記複数の動作は、
    入力映像の1つまたは複数の映像フレームの中から入力映像フレームを取得することを備え、前記映像フレームは、シャッタ押下指示の受信前に、および前記シャッタ押下指示の受信後に、取得されており、前記複数の動作はさらに、
    前記入力映像フレームをダウンサンプリングしてダウンサンプリングされた映像フレームを生成すること、
    前記ダウンサンプリングされた映像フレームを平滑化して平滑化映像フレームを生成することと、
    前記平滑化映像フレームの時間勾配および空間勾配を計算することと、
    前記平滑化映像フレーム内の1つまたは複数の候補画素パッチの中からそれぞれの候補画素パッチに対応するローカル動きベクトルを計算することによって、局所的な動きを推定することとを備え、前記ローカル動きベクトルは、前記空間勾配および前記時間勾配に基づいており、前記複数の動作はさらに、
    前記平滑化映像フレームに対応するグローバル動きベクトルを計算することによって全体的な動きを推定することと、
    対応するローカル動きベクトルおよび前記グローバル動きベクトルに基づいて1つまたは複数の被写体動きベクトルを計算することと、
    前記1つまたは複数の被写体動きベクトルをスコアマップに変換することと、
    前記スコアマップに基づいてエントロピースコアを計算することと、
    前記エントロピースコアを前記平滑化映像フレームに対応する被写体動きスコアにマッピングすることと、
    前記被写体動きスコアに基づいて、静的なフレームの数を識別することと、
    前記入力映像における前記映像フレームの数に対する静的なフレームの数の比率が静的なフレーム閾値を満たす場合に、前記入力映像が静的な映像であると判定すること、および、前記比率が前記静的なフレーム閾値を満たさない場合に、前記入力映像が動き映像であると判定することと、
    前記入力映像が前記静的な映像であると認識された場合に第1の動作を実行することと、
    前記入力映像が前記動き映像であると認識された場合に第2の動作を実行することとを備える、システム。
  13. 前記命令はさらに、平滑化の前に前記ダウンサンプリングされた映像フレームをカラーからグレースケールに変換することを含む動作を前記1つまたは複数のプロセッサに実行させる、請求項12に記載のシステム。
  14. 前記平滑化映像フレームに対する前記空間勾配および前記時間勾配を計算することは、
    前記平滑化映像フレーム内の露出不足画素および前記平滑化映像フレーム内の露出過多画素を無効としてマークすることと、
    前記平滑化映像フレーム内の有効な画素について、
    時間勾配を計算することと、
    x方向の空間勾配を計算することと、
    y方向の空間勾配を計算することとを含む、請求項12に記載のシステム。
  15. 前記1つまたは複数の候補画素パッチは、
    1つまたは複数の格子点を、動き推定のための前記平滑化映像フレーム内の基準点として選択することと、
    前記1つまたは複数の格子点の各々に対応する画素パッチについて画素パッチ幅および画素パッチ高さを選択することと、
    各画素パッチの統計を計算することと、
    前記画素パッチが閾値テクスチャ値を満たすテクスチャを有するかどうかを判定することと、
    前記画素パッチが前記閾値テクスチャ値を満たすテクスチャを有する場合、前記画素パッチを動き推定のための候補画素パッチとして識別することと、によって判定される、請求項14に記載のシステム。
  16. 命令を有する非一時的なコンピュータ可読媒体であって、前記命令は1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに複数の動作を実行させ、前記複数の動作は、
    入力映像の1つまたは複数の映像フレームの中から入力映像フレームを取得することを備え、前記映像フレームは、シャッタ押下指示の受信前に、および前記シャッタ押下指示の受信後に、取得されており、前記複数の動作はさらに、
    前記入力映像フレームをダウンサンプリングしてダウンサンプリングされた映像フレームを生成することと、
    前記ダウンサンプリングされた映像フレームを平滑化して平滑化映像フレームを生成することと、
    前記平滑化映像フレームの時間勾配および空間勾配を計算することと、
    前記平滑化映像フレーム内の1つまたは複数の候補画素パッチの中からそれぞれの候補画素パッチに対応するローカル動きベクトルを計算することによって、局所的な動きを推定することとを備え、前記ローカル動きベクトルは、前記空間勾配および前記時間勾配に基づいており、前記複数の動作はさらに、
    前記平滑化映像フレームに対応するグローバル動きベクトルを計算することによって全体的な動きを推定することと、
    対応するローカル動きベクトルおよび前記グローバル動きベクトルに基づいて1つまたは複数の被写体動きベクトルを計算することと、
    前記1つまたは複数の被写体動きベクトルをスコアマップに変換することと、
    前記スコアマップに基づいてエントロピースコアを計算することと、
    前記エントロピースコアを前記平滑化映像フレームに対応する被写体動きスコアにマッピングすることと、
    前記被写体動きスコアに基づいて、静的なフレームの数を識別することと、
    入力映像における前記映像フレームの数に対する静的なフレームの数の比率が静的なフレーム閾値を満たす場合に、前記入力映像が静的な映像であると判定すること、および、前記比率が前記静的なフレーム閾値を満たさない場合に、前記入力映像が動き映像であると判定することと、
    前記入力映像が前記静的な映像であると認識された場合に第1の動作を実行することと、
    前記入力映像が前記動き映像であると認識された場合に第2の動作を実行することとを備える、非一時的なコンピュータ可読媒体。
  17. 前記複数の動作は、平滑化の前に前記ダウンサンプリングされた映像フレームをカラーからグレースケールに変換することをさらに備える、請求項16に記載の非一時的なコンピュータ可読媒体。
  18. 平滑化映像フレームに対する前記空間勾配および前記時間勾配を計算することは、
    前記平滑化映像フレーム内の露出不足画素および前記平滑化映像フレーム内の露出過多画素を無効としてマークすることと、
    前記平滑化映像フレーム内の有効な画素について、
    時間勾配を計算することと、
    x方向の空間勾配を計算することと、
    y方向の空間勾配を計算することとを含む、請求項16に記載の非一時的なコンピュータ可読媒体。
  19. 前記1つまたは複数の候補画素パッチは、
    1つまたは複数の格子点を、動き推定のための前記平滑化映像フレーム内の基準点として選択することと、
    前記1つまたは複数の格子点の各々に対応する画素パッチについて画素パッチ幅および画素パッチ高さを選択することと、
    各画素パッチの統計を計算することと、
    前記画素パッチが閾値テクスチャ値を満たすテクスチャを有するかどうかを判定することと、
    前記画素パッチが前記閾値テクスチャ値を満たすテクスチャを有する場合、前記画素パッチを動き推定のための候補画素パッチとして識別することと、によって判定される、請求項18に記載の非一時的なコンピュータ可読媒体。
  20. 前記ローカル動きベクトルを計算することは、前記候補画素パッチ内の画素に対する前記空間勾配および前記時間勾配に基づいて、局所的なx動き値を計算することと局所的なy動き値を計算することとを含む、請求項16に記載の非一時的なコンピュータ可読媒体。
JP2020531438A 2018-03-11 2019-03-08 静的な映像認識 Active JP6946566B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021150160A JP7568597B2 (ja) 2018-03-11 2021-09-15 静的な映像認識

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862641383P 2018-03-11 2018-03-11
US62/641,383 2018-03-11
PCT/US2019/021442 WO2019177906A1 (en) 2018-03-11 2019-03-08 Static video recognition

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021150160A Division JP7568597B2 (ja) 2018-03-11 2021-09-15 静的な映像認識

Publications (2)

Publication Number Publication Date
JP2021506019A true JP2021506019A (ja) 2021-02-18
JP6946566B2 JP6946566B2 (ja) 2021-10-06

Family

ID=65861729

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020531438A Active JP6946566B2 (ja) 2018-03-11 2019-03-08 静的な映像認識
JP2021150160A Active JP7568597B2 (ja) 2018-03-11 2021-09-15 静的な映像認識

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021150160A Active JP7568597B2 (ja) 2018-03-11 2021-09-15 静的な映像認識

Country Status (5)

Country Link
US (2) US11006122B2 (ja)
EP (2) EP3823267B1 (ja)
JP (2) JP6946566B2 (ja)
CN (2) CN111819837B (ja)
WO (1) WO2019177906A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023149188A1 (ja) * 2022-02-02 2023-08-10 ソニーグループ株式会社 信号処理装置および方法、並びにプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113870303A (zh) * 2020-06-30 2021-12-31 晶晨半导体(上海)股份有限公司 静态标识区域检测方法及模块、芯片、电子设备和介质
CN113411569B (zh) * 2021-06-15 2022-08-12 北京百度网讯科技有限公司 检测静态画面的方法和装置
CN113873099B (zh) * 2021-08-27 2024-04-12 山东信通电子股份有限公司 一种输电通道视频稳像方法、设备及介质
CN117255222A (zh) * 2023-11-20 2023-12-19 上海科江电子信息技术有限公司 一种数字电视监测的方法、系统及应用

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011097576A (ja) * 2009-10-02 2011-05-12 Nikon Corp 撮像装置
JP2015111746A (ja) * 2012-04-09 2015-06-18 ソニー株式会社 画像処理装置、画像処理方法、プログラム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0767077A (ja) * 1993-08-30 1995-03-10 Sanyo Electric Co Ltd 映像記録再生装置
JP2002016867A (ja) * 2000-06-30 2002-01-18 Toshiba Corp 静止画取込システム、静止画保存方法および静止画識別方法
JP4234968B2 (ja) 2002-09-27 2009-03-04 富士フイルム株式会社 デジタルカメラ
US7408986B2 (en) 2003-06-13 2008-08-05 Microsoft Corporation Increasing motion smoothness using frame interpolation with motion analysis
CN100379283C (zh) * 2004-04-29 2008-04-02 明基电通股份有限公司 动态判定视频数据以对其编码的方法及视频传送装置
JP2008536429A (ja) * 2005-04-12 2008-09-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 領域の動的なアスペクト比を用いた領域ベース3drs動き推定
JP4835356B2 (ja) * 2006-09-28 2011-12-14 カシオ計算機株式会社 撮像装置、撮像制御プログラム及び撮像制御方法
JP2008131572A (ja) 2006-11-24 2008-06-05 Toshiba Corp 監視カメラ装置および監視カメラの撮影方法
JP4623111B2 (ja) * 2008-03-13 2011-02-02 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
CN101339661B (zh) * 2008-08-18 2010-07-28 清华大学 一种基于手持设备运动检测的实时人机交互方法和系统
RU2011117298A (ru) * 2008-09-29 2012-11-10 Мэньюфэкчеринг Ресорсиз Инетрнэшнл, Инк. (Us) Система для обеспечения изменяющегося контента на множество дисплеев с использованием одного проигрывателя
CN101778275B (zh) * 2009-01-09 2012-05-02 深圳市融创天下科技股份有限公司 一种自适应时间域和空间域分辨率框架的图像处理方法
CN101489031A (zh) * 2009-01-16 2009-07-22 西安电子科技大学 基于运动分类的自适应帧速率上转换方法
JP5498059B2 (ja) 2009-06-02 2014-05-21 オリンパスイメージング株式会社 撮影装置、撮影方法、再生方法、画像処理装置、および画像処理用プログラム
JP2014527778A (ja) * 2011-08-29 2014-10-16 アイ.シー.ブイ.ティー リミテッド ビデオコンテンツシステムの制御
CN103139578A (zh) * 2011-11-24 2013-06-05 联咏科技股份有限公司 调整影像的运动景深的方法
KR101931631B1 (ko) * 2012-05-02 2018-12-21 삼성전자주식회사 카메라 장치의 이미지 부호화장치 및 방법
US9070020B2 (en) * 2012-08-21 2015-06-30 International Business Machines Corporation Determination of train presence and motion state in railway environments
CN103856764B (zh) * 2012-11-30 2016-07-06 浙江大华技术股份有限公司 一种利用双快门进行监控的装置
CN103297752A (zh) * 2013-04-25 2013-09-11 杭州阿启视科技有限公司 一种视频监控方法及视频监控系统
CN104144345B (zh) * 2013-09-18 2016-08-17 腾讯科技(深圳)有限公司 在移动终端进行实时图像识别的方法及该移动终端
US9715903B2 (en) 2014-06-16 2017-07-25 Qualcomm Incorporated Detection of action frames of a video stream
US9811732B2 (en) * 2015-03-12 2017-11-07 Qualcomm Incorporated Systems and methods for object tracking
GB2539198B (en) * 2015-06-08 2019-09-25 Imagination Tech Ltd Motion estimation using collocated blocks
CN105227927A (zh) * 2015-10-15 2016-01-06 桂林电子科技大学 一种监控视频数据存储方法及装置
CN106027893A (zh) * 2016-05-30 2016-10-12 广东欧珀移动通信有限公司 控制Live Photo生成的方法、装置及电子设备
CN107635101B (zh) * 2017-10-27 2020-07-03 Oppo广东移动通信有限公司 拍摄方法、装置、存储介质和电子设备
US11070813B2 (en) * 2018-06-29 2021-07-20 Intel Corporation Global motion estimation and modeling for accurate global motion compensation for efficient video processing or coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011097576A (ja) * 2009-10-02 2011-05-12 Nikon Corp 撮像装置
JP2015111746A (ja) * 2012-04-09 2015-06-18 ソニー株式会社 画像処理装置、画像処理方法、プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023149188A1 (ja) * 2022-02-02 2023-08-10 ソニーグループ株式会社 信号処理装置および方法、並びにプログラム

Also Published As

Publication number Publication date
US11917158B2 (en) 2024-02-27
EP3823267A1 (en) 2021-05-19
CN111819837B (zh) 2022-01-14
EP3707895A1 (en) 2020-09-16
JP7568597B2 (ja) 2024-10-16
US20210021833A1 (en) 2021-01-21
US11006122B2 (en) 2021-05-11
CN111819837A (zh) 2020-10-23
CN114143555A (zh) 2022-03-04
JP6946566B2 (ja) 2021-10-06
WO2019177906A1 (en) 2019-09-19
JP2022003797A (ja) 2022-01-11
EP3823267B1 (en) 2023-05-10
EP3707895B1 (en) 2021-07-28
US20210258584A1 (en) 2021-08-19

Similar Documents

Publication Publication Date Title
JP6946566B2 (ja) 静的な映像認識
US8854412B2 (en) Real-time automatic scene relighting in video conference sessions
US9639956B2 (en) Image adjustment using texture mask
US9105088B1 (en) Image blur with preservation of detail
JP2022528294A (ja) 深度を利用した映像背景減算法
US11538211B2 (en) Puppeteering remote avatar by facial expressions
JP2023085325A (ja) ダイナミックデプス画像を撮影して編集するための手法
CN106254784A (zh) 一种视频处理的方法及装置
JP7101269B2 (ja) ポーズ補正
US8983188B1 (en) Edge-aware smoothing in images
JP2017507626A (ja) 関連アプリケーションに対するビデオ会議相互参照の改善
US11776201B2 (en) Video lighting using depth and virtual lights
CN113205011A (zh) 图像掩膜确定方法及装置、存储介质和电子设备
CN111314627B (zh) 用于处理视频帧的方法和装置
WO2019205566A1 (zh) 一种显示图片的方法和设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200610

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210803

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: 20210817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210915

R150 Certificate of patent or registration of utility model

Ref document number: 6946566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250