JP5502747B2 - リソース適応型ビデオ補間または外挿 - Google Patents

リソース適応型ビデオ補間または外挿 Download PDF

Info

Publication number
JP5502747B2
JP5502747B2 JP2010538138A JP2010538138A JP5502747B2 JP 5502747 B2 JP5502747 B2 JP 5502747B2 JP 2010538138 A JP2010538138 A JP 2010538138A JP 2010538138 A JP2010538138 A JP 2010538138A JP 5502747 B2 JP5502747 B2 JP 5502747B2
Authority
JP
Japan
Prior art keywords
frame
interpolation
threshold
video
extrapolation
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.)
Expired - Fee Related
Application number
JP2010538138A
Other languages
English (en)
Other versions
JP2011507405A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2011507405A publication Critical patent/JP2011507405A/ja
Application granted granted Critical
Publication of JP5502747B2 publication Critical patent/JP5502747B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • H04N7/0132Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter the field or frame frequency of the incoming video signal being multiplied by a positive integer, e.g. for flicker reduction
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/172Methods 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 picture, frame or field
    • 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
    • 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
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Description

本出願は、その内容全体が参照により本明細書に組み込まれる、2007年12月10日に出願された米国仮出願第61/012,703号の利益を主張する。
本開示は、デジタルビデオコーディングに関し、より詳細には、ビデオフレーム補間または外挿のための技法に関する。
デジタルビデオシーケンスを符号化するために、いくつかのビデオ符号化技法が開発されてきた。たとえば、Moving Picture Experts Group(MPEG)は、MPEG−1、MPEG−2、およびMPEG−4を含むいくつかの技法を開発した。他の例には、International Telecommunication Union(ITU)−T H.263規格、ならびにITU−T H.264規格およびその相対物、ISO/IEC MPEG−4、Part10、すなわち、Advanced Video Coding(AVC)がある。これらのビデオ符号化規格は、圧縮方法でデータを符号化することによって、ビデオシーケンスの効率的な送信をサポートする。圧縮は、送信する必要があるデータの総量を低減する。
ビデオ圧縮では、ビデオシーケンスに固有の冗長性を低減するために空間予測および/または時間予測を行う。イントラコーディングは、空間予測を使用して、同じビデオフレーム内のビデオブロック間の空間冗長性を低減する。インターコーディングは、時間予測を使用して、連続するビデオフレーム中のビデオブロック間の時間冗長性を低減する。インターコーディングの場合、ビデオエンコーダが、動き推定を実行して、1つまたは複数の参照フレーム中の対応する予測ビデオブロックに対するビデオブロックの変位を示す動きベクトルを発生する。ビデオエンコーダは、動き補償を実行して、参照フレームから予測ビデオブロックを発生し、コーディングされている元のビデオブロックから予測ビデオブロックを減算することによって残差ビデオブロックを形成する。
低帯域幅要件を満たすために、いくつかのビデオアプリケーションでは、低減されたフレームレートでビデオを符号化し、および/またはいくつかのフレームの符号化をスキップする。残念ながら、低フレームレートビデオは、動きジャーキネスの形態で時間アーティファクトを生成することがある。フレーム補間または外挿をデコーダ側で採用して、エンコーダによってスキップされたフレーム、またはエンコーダによって生成された基本フレームレートを超えるフレームのコンテンツを近似することができる。フレーム補間または外挿は一般にフレーム置換と呼ばれることがある。フレーム置換を使用して、実際に、実際のフレームレートをアップコンバートして、より滑らかな動きの知覚を与えることができる。フレーム置換を使用して、しばしばフレームレートアップコンバージョン(FRUC)と呼ばれるプロセスをサポートすることができる。FRUCは、たとえば、補間または外挿を使用して、フレームを置換することによって時間品質を向上させることができるが、いくつかのフレームの置換は、視覚的品質を損なう望ましくない空間アーティファクトを導入することがある。
本開示は、たとえば、補間または外挿によってビデオユニットの置換に使用すべき1つまたは複数の参照ビデオユニットを選択するための技法を対象とする。ビデオユニットは、ビデオフレーム、スライス、ブロック、または他のユニットとすることができる。ビデオコーダは、1つまたは複数の品質基準の分析に基づいて参照ビデオユニットを選択する品質重視ビデオモードを適用することができる。品質基準は、たとえば、選択された参照ビデオユニットによって生成される可能性のある補間または外挿品質のレベルを示すことができる。品質基準は、空間および/または時間視覚的品質を含むことができる。参照ビデオユニットのいずれも適用可能な品質基準を満たさない場合、フレーム置換は、追加すべき特定のビデオユニットに対して無効にされる。
ビデオコーダは、ビデオシーケンスの動きレベルに基づいて、いくつかのビデオユニットに対して置換を選択的に有効または無効にするリソース重視ビデオモードを適用することができる。1つまたは複数の参照ビデオユニットが概して静的である場合、ビデオデコーダまたは別のデバイスは置換を無効にし、それによって、電力、計算および/またはメモリリソースなどのリソースを節約することができる。動きレベルは、利用可能リソースのレベルに応じて固定または調節可能である、しきい値と比較できる。参照ビデオユニットがかなりの動きを含む場合、ビデオデコーダまたは別のデバイスは、たとえば、参照ビデオユニットの選択のための品質基準を使用して、置換を有効にすることができる。
ビデオ電話などの遅延敏感ビデオアプリケーションの場合、処理および提示遅延を低減するためにビデオ参照ビデオユニットを選択するように、ビデオコーダまたは別のデバイスを構成することができる。たとえば、将来の参照ビデオユニットを選択するときに、追加すべきビデオユニットからの距離に基づいて参照ビデオユニットを選択するようにビデオコーダを構成することができる。また、補間または外挿されたビデオユニットに関連する1つまたは複数の品質特性を分析し、分析に基づいてビデオユニットの表示を選択的に有効または無効にするようにビデオコーダを構成することができ、それによって、場合によっては追加のビデオユニットを表示するために必要なリソースを節約することができる。
一態様では、本開示は、1つまたは複数の候補参照ビデオユニットの少なくとも1つの特性を分析することと、分析に少なくとも部分的に基づいて追加のビデオユニットの補間または外挿のための参照ビデオユニットとして候補参照ビデオユニットの1つまたは複数を選択することとを備える方法を提供する。
別の態様では、本開示は、1つまたは複数の候補参照ビデオユニットの少なくとも1つの特性を分析する分析ユニットと、分析に少なくとも部分的に基づいて追加のビデオユニットの補間または外挿のための参照ビデオユニットとして候補参照ビデオユニットの1つまたは複数を選択する選択ユニットとを備えるデバイスを提供する。
追加の態様では、本開示は、追加のビデオユニットの補間または外挿のための1つまたは複数の候補参照ビデオユニットの動きレベルを分析することと、追加のビデオユニットの補間または外挿のためのリソースレベルを決定することと、動きレベルおよびリソースレベルに基づいて追加のビデオユニットの補間または外挿を選択的に無効にすることとを備える方法を提供する。
さらなる態様では、本開示は、追加のビデオユニットの補間または外挿のための1つまたは複数の候補参照ビデオユニットの動きレベルを分析するように構成された動き分析器と、追加のビデオユニットの補間または外挿のためのリソースレベルを決定するように構成されたリソースモニタと、動きレベルおよびリソースレベルに基づいて追加のビデオユニットの補間または外挿を選択的に無効にする選択ユニットとを備えるデバイスを提供する。
別の態様では、本開示は、フレームレートアップコンバージョンプロセスによって生成された、補間または外挿されたビデオユニットに関連する1つまたは複数の特性を分析する分析ユニットと、分析に基づいてディスプレイ上での補間または外挿されたビデオユニットの提示を選択的に無効にする制御ユニットとを備えるビデオ復号デバイスを提供する。
追加の態様では、本開示は、フレームレートアップコンバージョンプロセスによって生成された、補間または外挿されたビデオユニットに関連する1つまたは複数の特性を分析することと、分析に基づいてディスプレイ上での補間または外挿されたビデオユニットの提示を選択的に無効にすることとを備える方法を提供する。
本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装できる。ソフトウェアで実装した場合、ソフトウェアは、1つまたは複数のプロセッサによって実行できる。ソフトウェアは、最初にコンピュータ可読媒体に記憶し、実行のためにプロセッサによってロードすることができる。したがって、本開示は、1つまたは複数のプロセッサに、本開示で説明する技法を実行させる命令を備えるコンピュータ可読媒体を企図する。
たとえば、いくつかの態様では、本開示は、1つまたは複数のプロセッサに、1つまたは複数の候補参照ビデオユニットの少なくとも1つの特性を分析することと、分析に少なくとも部分的に基づいて追加のビデオユニットの補間または外挿のための参照ビデオユニットとして候補参照ビデオユニットの1つまたは複数を選択することとを行わせる命令を備えるコンピュータ可読媒体を提供する。
他の態様では、本開示は、1つまたは複数のプロセッサに、追加のビデオユニットの補間または外挿のための1つまたは複数の候補参照ビデオユニットの動きレベルを分析することと、追加のビデオユニットの補間または外挿のためのリソースレベルを決定することと、動きレベルおよびリソースレベルに基づいて追加のビデオユニットの補間または外挿を選択的に無効にすることとを行わせる命令を備えるコンピュータ可読媒体を提供する。
別の態様では、本開示は、1つまたは複数のプロセッサに、フレームレートアップコンバージョンプロセスによって生成された、補間または外挿されたビデオユニットに関連する1つまたは複数の特性を分析することと、分析に基づいてディスプレイ上での補間または外挿されたビデオユニットの提示を選択的に有効および無効にすることとを行わせる命令を備えるコンピュータ可読媒体を提供する。
開示する技法の1つまたは複数の態様の詳細を添付の図面および以下の説明に示す。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
ビデオユニット置換に使用するための参照ビデオユニットを選択するように構成されたビデオ符号化および復号システムを示すブロック図。 ビデオデコーダにおけるビデオユニットの補間のための技法の例を示す図。 選択された参照ビデオユニットを使用したビデオユニットの補間を示す図。 ビデオデコーダにおけるビデオユニットの外挿のための技法の例を示す図。 選択された参照ビデオユニットを使用したビデオユニットの外挿を示す図。 フレーム置換において使用するための参照フレームを選択するように構成されたビデオデコーダの例を示すブロック図。 フレーム置換において使用するための参照フレームを選択するように構成されたビデオデコーダの別の例を示すブロック図。 図3または図4に示すビデオデコーダとともに使用できる分析ユニットを示すブロック図。 ビデオデコーダがビデオユニット置換のための参照ビデオユニットを選択する例示的な技法を示す流れ図。 参照ビデオユニット選択のための例示的な技法をより詳細に示す流れ図。 ビデオユニット置換のための参照ビデオユニット選択をサポートするための、参照ビデオユニットの品質分析のための例示的な技法を示す流れ図。 ビデオユニット置換のための参照ビデオユニット選択をサポートするための、参照ビデオユニットの品質スコアを発生するための例示的な技法を示す流れ図。 リソース重視モードにおける動き分析に基づく選択的置換の例示的な技法を示す流れ図。 リソース重視モードにおける動き分析に基づく選択的置換の別の例示的な技法を示す流れ図。 置換フレームの表示を選択的に有効または無効にするように構成されたビデオデコーダの例を示すブロック図。 品質分析に基づく置換フレームの選択的表示のための例示的な技法を示す流れ図。 図12に示すビデオデコーダとともに使用できる分析ユニットを示すブロック図。 図12に示すビデオデコーダとともに使用できる別の分析ユニットを示すブロック図。 置換フレームの選択的表示をサポートするための、品質スコアを発生するための例示的な技法を示す流れ図。 ビデオユニットが遅延敏感ビデオアプリケーションをサポートするときの、ビデオユニット置換のための参照ビデオユニット選択をサポートするための、参照ビデオユニットの品質分析のための例示的な技法を示す流れ図。
図1は、ビデオユニット置換に使用するための参照ビデオユニットを選択するように構成されたビデオ符号化および復号システム10を示すブロック図である。様々な態様では、置換されるビデオユニットおよび選択される参照ビデオユニットは、たとえば、ビデオフレーム、ビデオスライス、またはビデオブロックとすることができる。図1に示すように、システム10は、ビデオエンコーダ12とビデオデコーダ14とを含むことができ、各々は一般的にビデオコーダと呼ばれることがある。図1の例では、ビデオエンコーダ12は、入力ビデオフレーム16を符号化して、符号化ビデオフレーム18を生成する。ビデオエンコーダ12は、符号化ビデオフレーム18を通信チャネル19を介してビデオデコーダ14に送信することができる。
本開示で説明する技法は、フレーム、スライス、ブロックまたはサブブロックなどの様々なビデオユニットに適用可能であるが、本開示では、本開示で広く説明するそのような技法の態様の限定なしに、例示のためにビデオフレームへの本技法の適用について一般的に説明する。
エンコーダ12とデコーダ14との間で送信されなければならないデータ量を低減し、それによって、チャネル19の低減された帯域幅要件に準拠するために、ビデオエンコーダ12は、ソースビデオユニットコーディングレートよりも小さい基本ビデオユニットコーディングレートで動作することができる。たとえば、ビデオエンコーダ12は、たとえば、15、30、60フレーム毎秒(fps)などの低減されたビデオフレームレートで動作することができる。
代替的に、または追加的に、場合によっては、ビデオエンコーダ12は、所与のビデオフレームレートで動作し、エンコーダ12にいくつかのビデオユニットの符号化をスキップさせるスキップユニット20を随意に含むかまたは選択的に活動化することができる。たとえば、エンコーダ12にいくつかのフレームの符号化をスキップさせるようにビデオユニットスキップユニット20を構成し、それによって、たとえば、ソースビデオフレームレートに対するビデオエンコーダ12の実効フレームレートを低減することができる。図1では、スキップされたビデオフレームは、符号化フレーム18中の影付きフレームで示されている。
フレームがスキップされるか、またはコーディングレートがアップコンバートできる場合、実際のビデオフレームレートを高いビデオフレームレートに変換するために、たとえば、補間または外挿によって、デコーダ側で追加のビデオユニットを置換することが望ましい。そのようなプロセスは、フレームレートアップコンバーション(FRUC)をサポートするためのフレーム置換と呼ばれることがある。実際に、デコーダ14は、ビデオエンコーダ12によって生成された実際のフレームレートを、アップコンバートされたフレームレートに高めることができる。
一例として、フレームスキッピングを用いてまたは用いずにエンコーダ12によって生成された実際のフレームレートが30fpsである場合、デコーダ14は、たとえば、補間または外挿によって追加のフレームを置換し、実効フレームレートを30fpsから60fpsまたは120fpsに高めるように構成できる。実際に、追加のフレームは、スキップされたフレームと置換されるか、またはビデオエンコーダ12の基本フレームコーディングレートがより大きければ含めることができたであろうフレームと置換される。上述のように、ビデオエンコーダ12によって生成されたフレームレートは、ソースビデオレートよりも小さい基本フレームレート、および/または、たとえば、随意のスキップユニット20によるいくつかのフレームの随意のスキッピングにより、所望のフレームレートよりも小さくなる。
上述のように、いくつかのフレームをスキップするかまたはより小さいフレーム毎秒でコーディングすることによって、ビデオエンコーダ12は、低減されたフレームレートでビデオを符号化することができる。しかしながら、低フレームレートビデオは、動きジャーキネスの形態で時間アーティファクトを生成することがある。より滑らかな動きの知覚を与えるために、フレーム置換をデコーダ14によって採用して、スキップされたフレームまたは他の除外されたフレームのコンテンツを近似し、実際に、実際のフレームレートをアップコンバートすることができる。たとえば、ビデオデコーダ14は、復号ビデオの実効フレームレートを高めるために、少なくともいくつかの追加のビデオフレームを補間または外挿するフレームレートアップコンバージョン(FRUC)ユニット22を含むことができる。
ここでも、フレームの実効コーディングレートのアップコンバージョンに関してFRUCユニット22を説明するが、本開示で説明する技法は、スライス、ブロック、またはサブブロックなどの他のビデオユニットにも適用できる。ビデオデコーダ14は、FRUCユニット22を介して受信フレーム24を復号し、追加のビデオフレームを近似して、出力ビデオフレーム26を生成することができる。復号された出力ビデオフレーム26を使用して、ディスプレイデバイスを駆動することができる。図1では、スキップされたフレームの例は、受信ビデオフレーム24中の影付きビデオフレームで示されている。
図1の例では、FRUCユニット22はビデオデコーダ14内に示されている。他の実装形態では、FRUCユニット22はビデオ後処理モジュールの一部をなすことができる。ビデオ後処理モジュールは、ビデオデコーダ14の出力を処理することができ、平滑化、シャープニング、輝度調節、および/またはコントラスト強調、ならびにFRUC動作など、様々な処理動作を実行することができる。別の代替形態として、FRUCユニット22は、ビデオディスプレイプロセッサ、または、たとえば、モバイルマルチメディアデバイス用のモバイルディスプレイプロセッサ(MDP)デバイスの一部をなすことができる。したがって、ビデオデコーダ14内のFRUCユニット22の実装形態は、例示のために図1および他の図に示されており、本開示で概して説明する技法を限定するものとみなされるべきでない。
動き補償(MC)ビデオフレーム補間(VFI)は、デコーダ側のFRUCなどのアプリケーションにおいてビデオの時間知覚品質を向上させるために使用される技法の一例である。FRUCプロセスをサポートするために、他の補間技法、ならびに外挿技法を適用して、追加のフレームを近似することができる。FRUC技法は、スキップされたフレームを近似することによって、またはビデオエンコーダ12の基本フレームレートを超える追加のフレームを発生することによって時間品質を向上させることができるが、いくつかのフレームの補間または外挿は、視覚的品質を損なう望ましくない空間アーティファクトを導入することがある。
たとえば、置換されたビデオフレームの視覚的品質は、保証されないことがあり、特定の参照フレームあるいは補間または外挿を実行するために使用されるフレームに大いに依存することがある。さらに、VFI方法は、非常に複雑で、多くの電力および他のリソースを消費することがあり、これは、限られた電力、計算および/またはメモリリソースをもつモバイルデバイスなど、いくつかのデバイスにおけるビデオアプリケーションでのVFIの使用を阻むことがある。他のフレーム置換技法は、同様の品質およびリソースの問題を提示することがある。
FRUCユニット22は、ビデオデコーダ14によって受信された1つまたは複数の参照ビデオフレームに関連する少なくとも1つの特性を分析し、ビデオデコーダによってビデオフレームの置換において使用するための参照ビデオフレームの1つまたは複数を分析に基づいて選択するように構成できる。参照ビデオフレームは、時間的に置換すべきフレームの前または後に存在する受信フレーム24から選択できる。言い換えれば、FRUCユニット22は、置換すべき追加のフレームを近似することにおいて使用するための1つまたは複数の以前のまたは将来のフレーム24を選択することができる。
以前のビデオフレームは、置換すべきフレームに直接先行するフレーム、または置換すべきフレームに近接する1つまたは複数の前のフレームを含むことができる。将来のフレームは、置換すべきフレームの直接後にくるフレーム、または置換すべきフレームに近接する1つまたは複数のフレームを含むことができる。補間による置換の場合、1つまたは複数の以前のフレームおよび1つまたは複数の将来のフレームを、追加の中間のフレームを補間するために使用することができる。外挿による置換の場合、1つまたは複数の以前のフレームまたは1つまたは複数の将来のフレームを、追加の以前または将来のフレームの外挿のために使用することができる。
いくつかの態様では、FRUCユニット22は、参照ビデオフレームの品質を分析して、追加のビデオフレームの置換において使用するための1つまたは複数の参照フレームを選択することができる。このようにして、FRUCユニット22は、たとえば、補間または外挿によるビデオフレーム置換のための参照フレームとしてどのフレームを使用すべきかを判断する。この場合、FRUCユニット22は、出力ビデオフレーム26の時空間ビデオ品質を向上させるように参照ビデオフレームを選択することができる。他の態様では、FRUCユニット22は、参照フレームの品質とビデオデコーダ14が常駐するデバイスのリソース制約との両方を分析することができる。この場合、FRUCユニット22は、電力消費の低減、計算リソースの節約、および/またはメモリリソースの節約における利害関係のバランスをとりながら、出力ビデオフレーム26の時空間ビデオ品質を向上させることができる。FRUCユニット22は、補間または外挿されたフレーム品質ならびにビデオシーケンスの時間品質を向上させることができる。一般に、計算およびメモリリソースの消費は、電力消費の増加、ならびに場合によっては待ち時間の増加に寄与することがある。
さらに、いくつかの態様では、FRUCユニット22は、終端間処理および/または提示遅延の低減への偏りをもつ参照ビデオフレームを選択するように構成できる。そのような遅延は、遅延敏感である、ビデオ電話などのいくつかのリアルタイムまたはほとんどリアルタイムのアプリケーションでは特に望ましくないことがある。たとえば、将来の参照ビデオフレームを使用して置換されたフレームを近似するとき、FRUCユニット22は、近似すべきフレームに時間的に比較的近接した将来の参照ビデオフレームの選択に有利であるように構成できる。代替的に、FRUCユニット22は、そのような遅延敏感アプリケーションのためのビデオフレーム置換を無効にすることができる。
一例として、ビデオ電話アプリケーションでは、終端間遅延を低減するために、将来のフレームに基づいてフレーム外挿を選択することはあまり望ましくなく、また、ビデオフレーム補間の場合、さらに将来にある将来のフレームではなく、より近い将来のフレームを選択し、それによって、ユーザのための時間品質を保持することが望ましい。特に、さらに将来に存在する将来の参照フレームに依拠する結果、そのような将来のフレームが復号されるのを待機する必要による遅延が生じることがある。フレームが将来のより先に存在するほど、待機は長くなり、ビデオ電話提示に混乱させる遅延を生じることがある。
いくつかの態様では、ビデオデコーダ14は、1つまたは複数の参照フレーム品質基準の分析に基づいて参照フレームを選択する第1の動作モードとして品質重視フレーム置換モードを与えることができる。さらに、ビデオデコーダ14は、リソース考慮事項と品質考慮事項の組合せに基づいて、いくつかのフレームのフレーム置換を選択的に有効または無効にする第2の動作モードとしてリソース重視フレーム置換モードを与えることができる。品質重視およびリソース重視モードは、いくつかの態様では、品質最適化および電力最適化モードと呼ばれることがある。したがって、いくつかの態様では、ビデオデコーダ14は、電力を節約し、ビデオの補間フレーム品質ならびに時間品質を向上させるために、ビデオフレーム補間または外挿のための参照フレームとしてどのフレームを使用すべきかを決定し、また、どのフレームを補間または外挿すべきかを決定することができる。代替的に、または追加的に、ビデオデコーダ14は、補間または外挿が実行された後でも、品質基準に基づいてビデオバッファからディスプレイへの置換フレームの送信を無効にするように構成できる。
いくつかの態様では、上述のように、このリソース重視モードを電力最適化モードと考えることができる。たとえば、ビデオデコーダ14は、視覚的品質を電力の節約および/または計算負荷に対してバランスをとるように構成できる。場合によっては、ビデオデコーダ14は、たとえば、置換すべきフレームのためのFRUC動作が適用されるときにビデオデコーダに利用可能なリソースに従って、品質重視モードとリソース重視モードとの間で選択的に切替え可能とすることができる。
品質重視モードおよび/またはリソース重視モードでは、品質基準は、たとえば、(1つまたは複数の)選択された参照フレームを使用して生成される可能性のある置換されたフレーム品質のレベルを示す1つまたは複数の特性を含むことができる。言い換えれば、参照フレームを使用して補間または外挿されるフレームの、可能性のある品質の指示として特性を選択することができる。参照フレームのいずれも品質基準を満たさない場合、ビデオデコーダ14は特定のフレームに対するフレーム置換を無効にすることができる。したがって、品質重視モードでは、参照フレームのいずれも満足な、たとえば、しきい値を上回る補間または外挿品質を生成する可能性がないとき、ビデオデコーダ14は、電力を節約するためにフレーム補間または外挿を無効にすることができる。
いくつかの態様では、置換されたフレームがデコーダ14によって実際に発生される前または後に品質重視基準を適用することができる。たとえば、フレーム補間または外挿の後に品質分析を適用することができ、その場合、結果に基づいてディスプレイデバイスに置換フレームを選択的に適用することができる。補間または外挿されたフレームの品質がしきい値品質レベルを満たさない場合、FRUCユニット22は、補間または外挿されたフレームを出力ビデオフレームバッファから送信してディスプレイデバイスを駆動するのではなく、そのフレームを廃棄することができる。
この場合、補間または外挿がすでに実行されていても、品質レベルが、フレームを表示するために必要とされる追加のリソースを補わない場合、フレームを廃棄することは依然として有利なことがある。ディスプレイを駆動するためにフレームをビデオバッファからディスプレイバッファに送信する際に、かなりの量の電力が消耗されることがある。したがって、補間または外挿が実行された後でも、置換フレームを廃棄することにより、さもなければビデオバッファとディスプレイとの間のビデオデータトラフィックに起因する電力消費を節約することができる。
リソース重視モードでは、ビデオデコーダ14は、1つまたは複数の候補参照フレームの動きレベルがしきい値未満の場合、フレーム置換を無効にすることができる。この場合、ビデオシーンが概して静的であるとき、補間または外挿されたフレームと繰り返しフレームとの間の差は無視することができる。したがって、補間または外挿の代わりにフレーム繰り返しを使用することにより、電力などのリソースを節約することができる。動きレベルしきい値は、ビデオデコーダのリソースレベルまたはリソース節約要件に応じて固定または調節可能とすることができる。品質重視モードまたはリソース重視モードのいずれが活動化される場合も、フレーム置換が有効にされた場合、1つまたは複数の品質基準を使用して、参照フレームを選択することができる。
候補参照フレームを分析するために使用される1つまたは複数の品質基準は、候補参照フレームを使用することによって生成される可能性のある補間または外挿の品質を示す特性として選択できる。たとえば、検討中の候補参照フレームが、その追加のフレームの補間または外挿に使用される場合、品質基準は、補間または外挿されたフレームの、可能性のある品質を示すことができる。また、FRUCユニット22は、参照フレーム品質のさらなる指示として動きベクトル信頼性を分析することができる。FRUCユニット22によって分析される品質基準の例は、量子化パラメータ(QP)値、符号化ブロックパターン(CBP)値、および参照ビデオフレームに関連する0でない変換係数の数を含むことができる。CBP値が0に等しくない場合、QP値を0でない係数の数と結合して、参照フレームによって与えられた動きベクトルの信頼性を判定することができる。
FRUCユニットはまた、補間または外挿において使用するための候補参照フレームの品質を判断するために、構造的類似性メトリック(SSIM)、ブロッキネス(blockiness)、および/またはぼけ度(blurriness)などを考慮することができる。さらに、参照フレームのためのイントラモードおよび動きベクトルカウントに加えてイントラモードのタイプを考慮することができる。
FRUCユニット22は、一般的にビデオユニット損失と呼ばれる、完全または部分ビデオユニット損失の証拠などの他の品質基準を分析することができる。たとえば、FRUCユニット22は、フレームのためのエラー隠蔽機構の利用可能性の欠如に関連する参照ビデオフレームのスライスまたはフレーム損失を分析することができる。たとえば、FRUCユニット22は、エラーのレベルおよびエラー隠蔽機構の品質を評価することができる。上記の品質基準のタイプの追加または代替として、他の品質基準を使用することができる。
場合によっては、FRUCユニット22は、1つまたは複数の品質しきい値を満たす参照ビデオフレームを選択することができる。他の場合には、FRUCユニット22は、複数の参照ビデオフレームの品質を記録し、ランク付けし、最良のスコアを生成する1つまたは複数の参照フレームを選択することができる。2つのフレーム(たとえば、2つの以前のフレームまたは2つの将来のフレーム)がほぼ同じにランク付けされる場合、補間すべきスキップされたフレームに時間的により近いフレームを選択することが望ましい。
例示のために、本開示では、一般的に、追加のフレームの補間または外挿のための参照フレームの選択に言及する。ただし、いくつかの実装形態では、本開示は、より一般的に、フレーム以外の追加のビデオユニットの近似のための参照ビデオユニットの選択を企図する。たとえば、本開示で説明する技法は、ビデオフレーム、ビデオスライス、またはマクロブロックなどのビデオブロックなど、様々な参照ビデオユニットのいずれかを分析し、選択するように適合できる。
フレーム、スライスまたはブロックなどのビデオユニットがビデオエンコーダ12によってスキップされるとき、本技法を使用して、補間または外挿に使用できる様々な候補参照フレームの中の対応するフレーム、スライスまたはブロックを識別することができる。代替的に、フレーム、スライスまたはブロックがスキップされないときでも、本技法を使用して、たとえば、フレームレート変換アプリケーションの場合にエンコーダ12の基本フレームコーディングレートを高めるために追加のフレームを近似することができる。
スキッピングまたは低いフレームレートのためにフレーム全体を近似することが望ましいときでも、近似すべきフレームのスライスまたはブロックを補間することにおいて使用するための個々のスライスまたはブロックを選択することが有利である。この場合、異なる候補フレームからのスライスまたはブロックは、近似すべきフレーム中の対応するスライスまたはブロックを補間または外挿するように選択できる。たとえば、追加のビデオユニットの補間または外挿のための参照ビデオユニットを選択するために、本開示で説明する品質分析または品質分析と同様の分析をスライスごとまたはブロックごとに適用することができる。したがって、本開示は、置換すべきスキップされたフレームの補間または外挿のための参照フレームの選択に重点を置くことによって、概して説明する態様を限定するものとみなされるべきではない。
図1をさらに参照すると、ビデオエンコーダ12とビデオデコーダ14は、伝送チャネル19によって接続できる。伝送チャネル19は、ビットストリーム内でビデオフレームを搬送することが可能な有線またはワイヤレス媒体、または両方の組合せとすることができる。チャネル19は、双方向または単方向ビデオ送信をサポートすることができる。システム10は、ビデオ電話、ビデオストリーミング、ビデオブロードキャストなどのために構成できる。したがって、相互符号化、復号、多重化(MUX)および逆多重化(DEMUX)構成要素をチャネル19の両端に設けることができる。いくつかの実装形態では、いわゆるワイヤレスビデオ電話またはカメラ付き携帯電話など、ビデオストリーミング、ビデオブロードキャスト受信、および/またはビデオ電話などが可能なワイヤレスモバイル端末などのビデオ通信デバイス内に、エンコーダ12およびデコーダ14を設けることができる。
そのようなワイヤレス通信デバイスは、ワイヤレス通信、オーディオコーディング、ビデオコーディング、およびユーザインターフェース機能をサポートするために様々な構成要素を含む。たとえば、ワイヤレス通信デバイスは、1つまたは複数のプロセッサ、オーディオ/ビデオエンコーダ/デコーダ(CODEC)、メモリ、1つまたは複数のモデム、増幅器などの送信受信(TX/RX)回路、周波数変換器、フィルタなどを含むことができる。さらに、ワイヤレス通信デバイスは、画像およびオーディオキャプチャデバイス、画像およびオーディオ出力デバイス、関連するドライバ、ユーザ入力メディアなどを含むことができる。
エンコーダ12、デコーダ14または両方は、上述のようにワイヤレスまたは有線通信デバイスに組み込むことができる。また、エンコーダ12、デコーダ14または両方は、ワイヤレスまたは有線通信デバイスに組み込むことができる集積回路チップまたはチップセットなどの集積回路デバイス、あるいはデジタルメディアプレーヤ、携帯情報端末(PDA)、デジタルテレビジョンなど、デジタルビデオアプリケーションをサポートする別のタイプのデバイスとして実装できる。
システム10は、セッション開始プロトコル(SIP)、ITU−T H.323規格、ITU−T H.324規格、または他の規格に従ってビデオ電話をサポートすることができる。ビデオエンコーダ12は、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264、またはMPEG−4、Part10などのビデオ圧縮規格に従って符号化ビデオデータを発生することができる。図1には示されていないが、ビデオエンコーダ12およびビデオデコーダ14は、それぞれ、オーディオエンコーダおよびデコーダと一体化でき、データストリームのオーディオ部分とビデオ部分の両方を処理するために適切なハードウェアおよびソフトウェア構成要素を含むことができる。
エンコーダ12は、イントラフレーム(Iフレーム)と、予測フレーム(Pフレーム)と、双方向予測フレーム(Bフレーム)とを含むことができるビデオフレーム16を符号化する。Iフレームは、空間コーディング技法を使用して、すべてのビデオ情報を完全に符号化するフレームである。符号化フレームは、フレームを形成する一連のビデオブロックを表す情報を備えることができる。ビデオブロックは、マクロブロック(MB)と呼ばれることがあり、たとえば、輝度(Y)チャネル、クロミナンス赤(Cr)およびクロミナンス青(Cb)色チャネルのピクセル値を定義するコーディングビットを含むことができる。
上述のように、エンコーダ12は、伝送チャネル19を介して送信されるデータのフレームレートを低減するためにフレームスキッピングを実装することができる。特に、エンコーダ12は、選択されたフレームをコーディングしないかまたは選択された符号化フレームを送信しないことによって、選択されたフレームを意図的にスキップするように構成できる。代替的に、エンコーダ12は、フレームスキッピングを用いてまたは用いずに、所望のフレームレート未満の基本フレームコーディングレートでフレームを発生することができる。フレームスキッピングまたは低減されたフレームレートコーディングにより、エンコーダ12は、チャネル19の低減された伝送レート要件に準拠することが可能になる。
フレームスキッピングの場合、スキッピングが交互のフレームで起こるかまたはn番目のフレームごとに起こるように、フレームスキップユニット20によって固定レートでフレームをスキップすることができる。代替的に、たとえば、知的フレームスキッピング基準に基づいて、変動レートでフレームをスキップすることができる。また、エンコーダ12は、固定ベースで所与のフレームレートでフレームを符号化するか、またはフレームレートがチャネル状態または他の要件などの考慮事項に従って変化するように適応ベースでフレームを符号化することができる。いずれの場合も、フレームレートをデコーダ14によって効果的にアップコンバートして、たとえば、30fpsから60fpsまたは120fpsに高められたフレームレートを生成することができる。
FRUCユニット22をデコーダ14によって使用して、フレームレートを高めるために、フレーム置換を実行して、スキップされたフレームを交換するか、または追加のフレームを発生することができる。さらに、いくつかの実装形態では、FRUCユニット22は、送信中に破棄されたかまたは失われたフレームに使用できる。エンコーダ12によってスキップされたフレームおよび送信中に破棄されたかまたは失われたフレームは、本開示では一般的にスキップされたフレームと呼ばれる。各場合において、実効フレームレートを高め、それによって時間品質を改善するために、デコーダ14のFRUCユニット22は、FRUCプロセスを実行して、ビデオフレーム補間または外挿および参照フレーム選択を使用して、スキップされたフレームの少なくとも一部を置換フレームで近似することができる。
参照ビデオフレームのいずれも十分な品質レベルをもつフレーム置換をサポートする可能性がない場合、FRUCユニット22は、フレーム置換を無効にし、フレーム繰り返しを適用することができる。フレーム置換が無効にされたとき、デコーダ14は、以前のフレームと将来のフレームとの間にフレームを補間または外挿する代わりに、以前のまたは将来のフレームを単に繰り返すことができる。この場合、デコーダ14は、スキップされたフレームの代わりに、またはフレームレート変換のための追加のフレームとして、以前のまたは将来のフレームの複製バージョンを使用することができる。
フレーム繰り返しを使用することによって、デコーダ14は、補間または外挿によって導入されることがある望ましくない空間アーティファクトを回避することができる。フレーム繰り返しはビデオの知覚時間品質を低減することがあるので、十分な品質が達成できるときには、通常、補間または外挿によるフレーム置換がより望ましい。しかしながら、電力、計算、および/またはメモリリソースの過大な消費は、置換技法の全体的な有用性を低減することがある。本開示に記載されているリソース重視モードは、品質対リソース消費のバランスをとるのに役立つことができる。
図1の例では、ビデオエンコーダ12はビデオ情報の入力フレーム16(Ft−2、t−1、F、Ft+1、Ft+2)を受信する。Fは、随意のフレームスキップユニット20によるフレームスキッピング、またはエンコーダ12によって生成される基本フレームレートのために、時間tにおいてコーディングされないフレームを表す。したがって、本開示に記載されているフレーム置換は、一般的に、フレームスキッピング、チャネル損失、またはエンコーダ12の基本フレームレートのいずれかのために、デコーダ14によって受信されるフレーム中で供給されなかったフレームFを近似するフレームF’の追加を指すことに留意されたい。
フレームスキップユニット20が適用可能な場合、上述のように、フレームは、固定、調節可能または動的フレームスキッピングプロセスに従ってスキップできる。Ft−2およびFt−1は、時間的にフレームFより前にある過去のフレームを表し、Ft+1およびFt+2は、一時的にフレームFの後にある将来のフレームである。フレームFの補間または外挿に使用できる参照フレームは、フレームFの前と後の両方に多数のフレームを含むことができる。しかしながら、説明しやすいように、図1では、Fの前後に2つのフレームのみを示す。
一般に、ビデオエンコーダ12は、入力フレーム16を上述のI、P、またはBフレームの1つとして符号化して、符号化フレーム18を生成する。この場合も、フレームFは、時間的に以前のフレームFt−2、Ft−1と将来のフレームFt+1、Ft+2との間に存在する。ビデオエンコーダ12は、符号化フレームFt−2、Ft−1、Ft+1、Ft+2を含むが、フレームFを含まない符号化フレーム18を伝送チャネル19を介してビデオデコーダ14に送信する。一般に、エンコーダ12は、これらのフレームをIBBPBBPBBPBBIなどのあらかじめ定義されたシーケンスで送信し、I、B、およびPは、それぞれ、Iフレーム、Bフレーム、およびPフレームを指す。
符号化フレーム18は、イントラコーディングまたはインターコーディングでき、入力フレーム16中に存在するビデオコンテンツを生成するために復号できる。さらに、符号化フレーム18は、ビデオシーケンス中の他のインターコーディングされたフレームの復号のための参照フレームとして、すなわち、予測されたフレームの動き推定および動き補償のための参照として役立つことができる。予測コーディングの技術分野でよく知られているように、符号化フレームは、参照フレームとして役立つ異なる符号化フレーム中の同様の対応するブロックに対する、符号化フレーム中のブロックの変位を示す動きベクトルによって特徴づけることができる。さらに、符号化フレームは、符号化フレーム中のビデオブロックと参照フレーム中の対応するビデオブロックとの間の差異を示す残差情報によって特徴づけることができる。
入力フレーム16の符号化および受信フレーム24の復号は、予測コーディングの場合、上述の参照フレームに依拠することができる。しかしながら、置換すべきフレームの場合、本開示に記載されている参照フレームは、一般的に、デコーダ側で追加のフレームを与えるための補間または外挿に使用されるフレームを指す。したがって、いくつかの例では、所与のフレームを補間と予測コーディングの両方のための参照フレームとして使用できるが、補間または外挿のための参照フレームは、予測コーディングのための参照フレームとはその使用において異なることに留意されたい。予測コーディングのための参照フレームは、エンコーダ側で指定され、予測コーディングに使用される。反対に、補間または外挿のための参照フレームは、デコーダ側で選択し、たとえば、補間または外挿によって追加のフレームの置換に使用できる。
図1の例では、フレーム16は、多くのフレームを含んでいるビデオシーケンス中の5つのフレームを表し、時間的に符号化フレーム18間(たとえば、以前のフレームFt−2、Ft−1と将来のフレームFt+1、Ft+2との間)に存在するフレームFを近似する、追加の、すなわち、余分のフレームF’の補間または外挿について説明するために使用される。いくつかの態様では、複数のフレームを追加する必要があり、その場合、2つの送信されたフレーム間に存在する2つ以上のフレームが補間または外挿を必要とすることがある。説明しやすいように、本開示では、選択された参照フレームを使用して、以前のフレームと将来のフレームとの間の単一のフレームF’を補間する例示的な場合に言及する。
ビデオデコーダ14は伝送チャネル19を介してフレーム24を受信する。受信フレーム24は、ビデオエンコーダ12によって送信され、伝送チャネル19の特性によるスライス、フレームまたはブロック損失を受ける符号化フレーム18と実質的に同じである。ビデオデコーダ14は、受信フレーム24(Ft−2、Ft−1、Ft+1、Ft+2)の各々を復号するために、たとえば、MPEG−1、MPEG−2、MPEG−4、H.263、H.264、またはMPEG−4、Part10規格のうちの1つに従って標準的な復号技法を適用することができる。本開示によれば、デコーダ14は、追加のフレームF’を選択的に近似するためにフレーム24に適用するFRUCユニット22をさらに含む。FRUCユニット22を用いて、ビデオデコーダ14は、フレームFを発生するためにフレームを補間または外挿し、復号フレームFt−2、Ft−1、Ft+1、Ft+2と、追加すべきフレームFの近似F’とを含む出力フレーム26を発生する。
FRUCユニット22は、ビデオシーケンス中の連続するフレームを受信する。補間すべき各追加のフレームについて、補間のための参照フレームとして使用できる少なくとも1つの以前のフレームおよび少なくとも1つの将来のフレームがある。補間すべきフレームは、時間的に複数の以前のフレームと複数の将来のフレームとの間に存在する。補間の代わりに外挿が近似に使用される場合、外挿すべきフレームは、時間的に1つまたは複数の参照フレームの後、または時間的に1つまたは複数の参照フレームの前に存在することができる。以前および将来のフレームのいくつかは、他のフレームよりも良好なフレーム置換結果を生成することができる。補間は、動き補償補間(MCI)、直線補間、双1次補間、双3次補間、スプライン補間、最近隣補間、候補フレームの線形または非線形フィルタ処理など、様々な技法のいずれかによって実行できる。補間は、単方向の補間に対して単一の参照フレームを利用するか、または双方向の補間に対して2つ以上のフレームを利用することができる。同様に、外挿は、単方向の外挿に対して単一の参照フレームまたは2つ以上のフレームを利用することができる。
FRUCユニット22は、以前および/または将来の候補フレームを分析し、追加のフレームの補間または外挿において参照フレームとして使用するためにフレームの1つまたは複数を選択することができる。FRUCユニット22は、好ましいフレーム置換結果を生成する可能性の高い特定の参照フレームを選択するように構成できる。たとえば、FRUCユニット22は、候補参照フレームのセットの1つまたは複数の特性を分析することができる。候補参照フレームは、ビデオシーケンス内のフレームのサブセットから選択できる。たとえば、FRUCユニット22は、N個の以前のフレームおよびM個の将来のフレームのサブセットを分析することができ、NとMは、等しいかまたは等しくない。
候補参照フレームのいずれもフレーム置換のための十分な品質レベルを有しないことを分析が示す場合、FRUCユニット22はフレーム置換を無効にすることができる。この場合、FRUCユニット22は、フレーム置換結果の品質に関して潜在的なFRUC障害を検出することができる。低品質補間結果を生成するために電力および計算リソースを浪費する代わりに、たとえば、FRUCユニット22は、フレーム繰り返しを適用して、スキップされたフレームの近似を生成することができる。フレーム繰り返しの場合、前述のように、デコーダ14は、スキップされたフレームの代わりに以前のまたは将来のフレームのうちの1つの複製バージョンを使用する。したがって、品質重視モードでは、FRUCユニット22は、補間または外挿のための特定の参照フレームを選択するように構成でき、許容品質レベルの可能性がないとき、フレーム置換を無効にすることができる。FRUCユニット22は、デコーダ14がリソース重視モードで動作するとき、フレーム置換を補うために、より高い品質レベルを探すことができる。
いくつかの構成では、システム10は1つまたは複数の利益を与えることができる。たとえば、いくつかの構成では、システム10は、好ましい結果をおそらく生成しないとき、フレーム置換を無効にすることによってビデオデコーダ14の電力消費を低減することができる。さらに、いくつかの構成では、システム10は、フレーム置換において使用するための特定の参照フレームを選択することによって、置換されたフレームの品質を向上させることができる。置換されたフレームの補間または外挿において使用するためのより高品質の参照フレームの選択は、符号化ビデオが可変ビットレート(VBR)レート制御技法を使用して圧縮されるアプリケーションなど、様々なビデオアプリケーションにおいて有用である。VBRの場合、いくつかのフレームが、補間または外挿のための参照フレームとして使用されるときに他のフレームよりも良好であるように、品質は異なるフレームの間で変化する。
また、ビデオデコーダ14は、スライス、フレームまたはブロック損失を被る候補参照フレームを検出するように構成でき、適用されるエラー隠蔽機構がないとき、または利用可能なエラー隠蔽機構が良好な品質のフレームをおそらく与えない場合、そのようなフレームを考慮事項から除外することができる。不十分なエラー隠蔽をもつ候補参照フレームの除外は、ビデオ電話アプリケーションの場合など、著しい伝送損失が起こるときに有用である。リソース重視モードは、たとえば、低い動きのビデオクリップにおいて妥当な客観的および主観的ビデオ品質を維持しながら電力消費を低減することにおいて有用である。
図2Aは、ビデオデコーダ14においてFRUC技法をサポートするための追加のフレームの補間のための単純な技法の例を示す図である。一般に、選択された以前のフレームFt−Nと選択された将来のフレームFt+Mとの間の補間されたフレームF’中のマクロブロック(MB)28を補間するために、ビデオデコーダ14は、以前のフレームFt−N中のMB30と将来のフレームFt+M中の対応するMB32との間に延びる動きベクトルvNMに依拠することができる。この例では、時間tは、補間すべき追加のフレームがビデオシーケンス中に現れるであろう時間位置、すなわち、時間を示す。フレームFt−NおよびFt+Mは、それぞれ、補間を必要とする追加のフレームF’の、時間的に先行する(t−N)フレームと後にくる(t+M)フレームである。図2Aの例では、フレームFt−NおよびFt+Mは、追加のフレームF’の補間のための参照フレームとして役立つ。
NおよびMは、時間tに対する時間オフセットを示し、互いに等しいことも等しくないこともある。たとえば、N=1およびM=2の場合、フレームFt−Nは、補間されたフレームに直接先行するフレームであり、フレームFt+Mは、補間されたフレームの後の第2のフレームである。N=1およびM=1である単純な例では、補間の場合、フレームFt−NとフレームFt+Mとの間に延びるベクトルv13を一般に(1:2のフレームレート変換の場合)2で除算して、動きベクトルvNM/2および−vMN/2を生成し、補間すべきフレームF’中の対応するMB28を識別する。したがって、この簡略例では、MB28の位置は、動きベクトルvNM/2と−vNM/2との関数であり、この例のためにN=1およびM=1である。MB28には、MB30またはMB32に対応するピクセル値のセット、またはMB30および32のピクセル値の平均を割り当てることができる。より高いまたは低いフレームアップコンバージョン、たとえば、1:X変換では、動きベクトルは、それに応じてスケーリングされる。他の場合、たとえば、NとMの少なくとも1つが1に等しくない場合には、動き推定および動きベクトル処理によって得られる異なる動きベクトルを使用することができる。
さらに、補間のいくつかのタイプでは、FRUCユニット22は、2つ以上の以前のフレームおよび2つ以上の将来のフレームなど、複数の参照フレームに依拠することができる。一般に、参照フレームは、スキップされたフレームなどのフレームを補間するために、単独で使用されるか、あるいは1つまたは複数の他の参照フレームと組み合わせて使用されるフレームを指す。補間プロセスでは、1つまたは複数の参照フレーム中に存在するマクロブロックに関連するピクセル値を使用して、たとえば、図2Aに示す補間すべき追加のフレーム中の対応するマクロブロックにおいてピクセル値を補間することができる。ピクセル値は、輝度および/またはクロミナンスピクセル値を含むことができる。
一例として、補間されたマクロブロックは、以前のフレーム中のマクロブロックにおけるピクセル値、将来のフレーム中のマクロブロックにおけるピクセル値、または以前および将来のフレーム中の対応するマクロブロックにおけるピクセル値の平均に等しいピクセル値を含むことができる。補間されたフレーム中のマクロブロックは、図2Aに示すように、参照ビデオフレーム中の対応するブロックに対して動き補償できる。マクロブロックは、図2Aに示すように、以前のフレームと将来のフレームとの間に延びる動きベクトルによって識別できる。図2Aに示す補間の図は一例であり、本開示で概して説明する技法を限定しないものとみなされるべきである。多種多様な異なる補間技法を本開示によるフレーム置換に使用することができる。
図2Bは、選択された参照フレームを使用した余分のビデオフレームの補間を示す図である。図2Bの例では、FRUCユニット22は、追加のフレームF’を補間することにおいて使用するための参照フレームFt−1とFt+2とを選択する。FRUCユニット22は、複数の以前のフレームFt−1、Ft−2、およびFt−3ならびに複数の将来のフレームFt+1、Ft+2、およびFt+3のうちの1つまたは複数の特性を分析することができる。図2Bの例では、FRUCユニット22は、説明のために、3つの以前の参照フレームおよび3つの将来の参照フレームを分析する。この例では、FRUCユニット22は、この分析に基づいて、補間されたフレームF’の補間において使用するための1つの以前の参照フレームと1つの将来の参照フレームとを選択することができる。ただし、以前および将来の参照フレームの実際の数は、図2Bの例とは異なることがある。さらに、FRUCユニット22によって分析される以前のフレームの数は、FRUCユニットによって分析される将来のフレームの数とは異なることがある。一般に、FRUCユニット22は、品質分析に基づいて、容認できる品質レベルをもつ補間結果を生成する可能性のある以前のフレームと将来のフレームとを選択することができる。図2Bの例では、選択された参照フレームFt−1およびFt+2はクロスハッチングで示されている。
図2Cは、ビデオデコーダ14におけるビデオユニットの外挿のための技法の例を示す図である。図2Cの例では、2つの以前の参照フレームFt−MおよびFt−Nを使用して、フレーム置換をサポートするために追加のフレームF’を外挿する。一般に、選択された以前のフレームFt−Nおよび選択された以前のフレームFt−Mの後にくるフレームF’中のMB31を外挿するために、ビデオデコーダ14は、以前のフレームFt−N中の対応するMB33と以前のフレームFt+M中の対応するMB35との間に延びるベクトルvに依拠することができる。この例では、tは、補間すべき追加のフレームがビデオシーケンス中に現れるであろう時間位置、すなわち、時間を示す。フレームFt−NおよびFt+Mは、それぞれ、外挿を必要とする追加のフレームF’に、(t−N)および(t+M)だけ時間的に先行するフレームである。図2Cの例では、以前の参照フレームFt−NおよびFt+Mは、追加のフレームF’の外挿のための参照フレームとして役立つ。しかしながら、1つまたは複数の以前の参照フレームまたは1つまたは複数の将来の参照フレームを使用して、追加のフレームF’を外挿することができる。言い換えれば、追加のフレームは、それぞれ、以前のフレームまたは将来のフレームを使用して前方または後方に外挿できる。
図2Aの例の場合のように、図2CのNおよびMは、時間tに対する時間オフセットを示し、互いに等しいことも等しくないこともある。たとえば、N=2およびM=1の場合、フレームFt−Mは、外挿されたフレームに直接先行するフレームであり、フレームFt−Nは、外挿されたフレームの2つ前のフレームである。MB31には、MB33またはMB35に対応するピクセル値のセット、またはMB33および35のピクセル値の平均を割り当てることができる。外挿プロセスは動き補償された外挿を利用することができる。補間の場合のように、外挿では、参照フレームは、復号ビデオフレームに追加すべき余分のフレームを外挿するために、単独で使用されるか、あるいは1つまたは複数の他の参照フレームと組み合わせて使用されるフレームを指すことができる。
外挿では、図2Cに示すように、参照フレーム中の対応するブロックから動きベクトルvを外挿することによって動き補償することができる。外挿プロセスでは、1つまたは複数の参照フレーム中に存在するMBに関連するピクセル値を使用して、外挿すべき追加のフレーム中の対応するMBにおいてピクセル値を外挿することができる。図2Cに示す外挿の図は一例であり、本開示で概して説明する技法を限定しないものとみなされるべきである。多種多様な異なる外挿技法を本開示によるフレーム置換に使用することができる。
図2Dは、選択された参照フレームを使用した余分のビデオフレームの外挿を示す図である。図2Dの例では、FRUCユニット22は、追加のフレームF’を外挿することにおいて使用するための参照フレームFt−1とFt−2とを選択する。FRUCユニット22は、外挿に以前のフレームが使用されるか将来のフレームが使用されるかに応じて、複数の以前のフレームFt−1、Ft−2、およびFt−3または複数の将来のフレームのうちの1つまたは複数の特性を分析することができる。図2Dの例では、FRUCユニット22は、説明のために、4つの以前の参照フレームFt−1、Ft−2、Ft−3、Ft−4を分析する。この例では、FRUCユニット22は、この分析に基づいて、フレームF’の外挿において使用するための2つの以前の参照フレームを選択することができる。ただし、参照フレームの実際の数は、図2Dの例とは異なることがある。一般に、FRUCユニット22は、品質分析に基づいて、容認できる品質レベルをもつ外挿結果を生成する可能性のある参照フレームを選択することができる。図2Dでは、選択された参照フレームFt−1およびFt−2はクロスハッチングで示されている。
図3は、図1のビデオデコーダ14の一例をより詳細に示すブロック図である。図3の例では、ビデオデコーダ14は、受信フレームバッファ34と、復号ユニット36と、フレーム置換ユニット38と、出力フレームバッファ40と、FRUC分析ユニット42と、選択ユニット44とを含む。フレーム置換ユニット38と、FRUC分析ユニット42と、選択ユニット44とは、ビデオデコーダ14のFRUCユニット22の一部を形成することができる。図3の例では、FRUCユニット22はビデオデコーダ14内に常駐する。ただし、上述のように、FRUCユニット22は、他の実装形態では、ビデオデコーダ14の外部に、たとえば、ビデオポストプロセッサモジュール、またはビデオディスプレイプロセッサ、またはMDPデバイス内に常駐することがある。受信フレームバッファ34は、ビデオエンコーダ12からチャネル19上で送信される符号化フレームを受信し、記憶する。復号ユニット36は、適用可能なコーディングプロセスを使用して受信フレームを復号し、復号フレームを出力フレームバッファ40中に入れる。
受信フレーム34は、補間または外挿すべき様々なフレームを除外することができる。そのようなフレームは、エンコーダ12によってスキップされたフレームと、チャネル19上での送信中に損失したフレームまたはフレームの部分と、エンコーダ12の基本フレームレートによってサポートされなかったフレームとを含む。時空間品質を促進するために、フレーム置換ユニット38は、適用可能な場合に、補間または外挿において使用するための特定の受信フレームの分析および選択に基づいて追加のフレームを補間または外挿するように構成できる。
前述のように、フレーム置換ユニット38による補間は、動き補償補間(MCI)、直線補間、双1次補間、双3次補間、スプライン補間、最近隣補間など、様々な補間技法のいずれかを含む。補間は、単方向の補間に対して単一の参照フレームを利用するか、または双方向の補間に対して2つ以上のフレームを利用することができる。同様に、外挿は1つまたは複数のフレームを利用することができる。場合によっては、フレーム置換ユニット38は、フレーム置換を無効にし、代わりに、たとえば、追加すべきフレームの代わりに以前または将来のフレームを繰り返すことによって、フレーム繰り返しを適用することができる。
フレーム置換ユニット38は置換または繰り返しフレームをビデオ出力フレームバッファ40に追加する。ビデオ出力フレームバッファ40中の復号フレームと、置換または繰り返しフレームとを使用して、ディスプレイなどのビデオ出力デバイスを駆動することができる。一例として、ビデオデコーダ14は、移動無線電話、デジタルメディアプレーヤ、携帯情報端末(PDA)、デジタルテレビジョンなどのワイヤレス通信デバイスを含む、デジタルビデオ機能を含む様々なデバイスのいずれかの一部を形成する。代替的に、出力フレームバッファ40中のフレームを、アーカイブまたは表示のための1つまたは複数の他のデバイスに送信することができる。各場合において、フレーム置換ユニット38によって生成された置換または繰り返しフレームは、たとえば、ビデオクリップの時間的視覚的品質を向上させるために、復号ユニット36によって復号されたフレームを捕捉する。
図3にさらに示すように、フレーム置換ユニット38は、フレームを補間または外挿する際に参照フレームとして使用するために、復号ユニット36の出力から復号フレームを受信することができる。復号ユニット26から受信した復号フレームは、受信フレームバッファ34からの符号化フレームに基づいて復号ユニット36によって生成されるピクセル領域フレームとすることができる。フレーム置換ユニット38は、追加のフレームの補間または外挿のための参照フレームとして復号参照フレームを使用することができる。補間または外挿のために使用される特定の参照フレームは、FRUC分析ユニット42による候補参照フレームの分析に基づいて選択ユニット44によって特定される。
分析ユニット42は、候補参照ビデオフレームを分析するために設けられる。たとえば、分析ユニット42は、たとえば、構造的類似性メトリック(SSIM)などの客観的品質メトリック、ブロッキネス、および/またはぼけ度、および随意にカラーブリーディングの分析のために、復号ユニット36の出力からピクセル領域中の復号フレームを得て、補間または外挿において使用するための候補参照フレームの品質を決定することができる。代替的に、または追加的に、分析ユニット42は、フレームの相対品質レベルの指示として、候補フレームに関連するQP値およびCBP値など、候補参照フレームのためのコーディング情報を分析することができる。QP値およびCBP値などのコーディング情報は、たとえば、復号ユニット36によって、受信フレームバッファ34中のフレームに関連するビットストリームからパースされ、図2Aにさらに示すように分析ユニット42に与えられる。したがって、いくつかの実装形態では、分析ユニット42は、復号ユニット36の出力からの復号ピクセル領域フレーム、および/または復号ユニット36によって候補フレームからパースされたQP値およびCBP値などのビットストリーム情報を受信する。
復号ユニット36から得られるビデオフレームは、追加のフレームの置換のための参照フレームとして置換ユニット38によって使用することができるという点で、候補参照フレームとみなすことができる。追加すべきフレームごとに、分析ユニット42は、追加すべきフレームに対して、以前および/または将来のフレームのサブセットのピクセル領域情報、および/またはビットストリーム情報を分析し、置換ユニット38によるフレーム補間または外挿において使用するための選択されるべきフレームを特定するために、選択ユニット44に出力を与えることができる。選択ユニット44は、分析ユニット42による分析出力に基づいて追加のフレームの補間または外挿のための1つまたは複数のフレームを選択するように構成される。さらに、場合によっては、選択ユニット44は、たとえば、分析が候補参照フレームのいずれも容認できる品質レベルでのフレーム置換において使用するのに適切でないことを示すとき、置換ユニット38にフレーム置換を有効または無効にするように指示するように構成できる。
図3に示すように、選択ユニット44は、追加すべきフレームの補間または外挿において使用するために、受信フレームバッファ34から1つまたは複数のフレームを選択するようにフレーム置換ユニット38に指示する、フレーム選択信号またはコマンドを発生することができる。たとえば、追加すべきフレームごとに、選択ユニット44は、補間において使用するための1つの以前のフレームと1つの将来のフレームとを選択するようにフレーム置換ユニット38に指示する。次いで、フレーム置換ユニット38は、選択されたフレームをスキップされたフレームの補間のための参照フレームとして適用することができる。一例として、以前のフレームと将来のフレームとは、たとえば、図2Aに示すように、以前および将来のフレーム中の対応するブロック間に広がる動きベクトルに基づいて、追加すべきフレーム中のブロックを補間するために使用される。別の例として、選択ユニット44は、追加のフレームの外挿において使用するための以前のフレームのペアを選択するようにフレーム置換ユニット38に指示することができる。
選択ユニット44は、フレーム置換有効化/無効化コマンドを発生することもできる。分析ユニット42による分析が候補参照フレームのいずれもフレーム置換において使用するために適切ではないことを示すとき、選択ユニット44はフレーム置換ユニット38による補間または外挿を無効にする。また、フレーム置換とフレーム繰り返しとの間の視覚差が比較的微小であるとき、選択ユニット44はリソース重視モードにおける補間を無効にする。いずれの場合も、フレーム置換ユニット48は、置換フレームを生成するために補間または外挿を実行するのではなく、追加のフレームの代わりに以前または将来のフレームを繰り返すことができる。フレーム繰り返しは、補間または外挿よりも消費する電力および計算リソースが実質的に少なくなる。分析ユニット42が、受信フレームバッファ34が適切な参照フレームを含むことを示すとき、選択ユニット44はフレーム置換を有効にし、フレーム置換において使用するために選択されたフレームを特定する。
フレーム置換のために選択される参照フレームは、追加すべきフレームに最も近接したフレームでも、追加すべきフレームからはるかに離れたフレームでもよい。場合によっては、最も近接したフレーム(すなわち、最も近い以前のフレームおよび最も近い将来のフレーム)は、一般に通常のFRUCプロセスのために選択されるが、実際は、たとえば、VBRコーディングまたは他のファクタによる、他の参照フレームよりも補間または外挿において使用するための適合性を低くする特性を有することがある。分析ユニット42は、フレーム置換において使用するためのそのようなフレームの適合性の指示を与えるために候補参照フレームを分析する。デフォルト値としてスキップされたフレームに隣接するフレームを単に使用する代わりに、分析ユニット42と選択ユニット44とにより、フレーム置換ユニット38は、より最適な結果を与える参照フレームを使用することが可能になる。
図4は、図1のビデオデコーダ14の別の例をより詳細に示すブロック図である。図4の例では、ビデオデコーダ14は、図3Aのビデオデコーダに実質的に対応する。ただし、図4のビデオデコーダ14のFRUCユニット22は、モード選択ユニット46とリソースモニタ48とをさらに含む。さらに、FRUCユニット22は随意に、遅延検出ユニット51を含むことがある。モード選択ユニット46は、FRUCユニット22の2つ以上の動作モードをサポートすることができる。たとえば、FRUCユニット22は、第1の動作モードとして品質重視モードで、または第2の動作モードとしてリソース重視モードで動作するように構成される。図4の例では、FRUCユニット22はビデオデコーダ14内に常駐する。他の実装形態では、FRUCユニット22は、ビデオデコーダ14の外部に、たとえば、ビデオポストプロセッサモジュール、またはビデオディスプレイプロセッサ、またはモバイルディスプレイプロセッサ内に常駐することができる。
リソースモニタ48は、ビデオデコーダ14が設けられているデバイス内で利用可能な電力、計算および/またはメモリリソースを監視、検出、推定、あるいは決定するように構成される。場合によっては、リソースモニタ48は、フレームの処理に適用可能なリソースバジェットを監視するように構成される。したがって、リソースモニタ48は、フレームがビデオデコーダ14内で処理される所与の時間に利用可能な実際のリソースを監視するか、またはフレームの処理に適用可能なリソースバジェットに対する推定されたリソース消費を監視するように構成される。異なるリソースレベルに応じて、リソースモニタ48は、FRUCユニット22の動作のために異なるモード(たとえば、品質重視またはリソース重視)を選択するようにモード選択ユニット46をトリガすることができる。モード選択ユニット46は、参照フレーム選択のための候補フレームのその分析を変更するために、FRUC分析ユニット42にモード選択を送信することができる。代替的に、モード選択ユニット46は、後述するように、置換(たとえば、補間または外挿)を有効または無効にするためにモード選択を送信することができる。
一例として、リソースモニタ48は、処理リソースの消費のためのバジェットに対するデコーダ14中の処理リソースの消費を監視または推定することによって、電力レベルを決定するように構成される。一般に、デジタル信号プロセッサ(DSP)などのプロセッサにおいて費やされたMIPS(100万命令毎秒)と、DSPの動作のために消費された電力との間に対応がある。また、外部メモリからフェッチされたデータ量と、そのようなデータをフェッチするために消費された電力との間に対応がある。さらに、ディスプレイに送信されたフレームデータの量と、この動作のために費やされた電力との間に対応がある。この対応は、既知のデバイスまたはチップセットのために確実に確立され、次いで、ルックアップテーブル中のエントリによって表される。たとえば、MIPS、データフェッチ量、および表示量は、ルックアップテーブル中の電力消費値エントリにマッピングするインデックスとして使用できる。
所与のチップセットにおけるFRUCアプリケーションでは、各動作がMIPSに関してどのくらい必要とするか、どのくらいのデータが外部メモリからフェッチされるか、ならびにどのくらいのデータがディスプレイに送信されるかを判断することが可能である。1つのシナリオでは、リソースモニタ48は、各補間または外挿されたフレームの発生および表示のために消費された電力を計算し、消費された電力のレベルをフレームまたはフレームのセットに割り振られた電力バジェットと比較するように構成される。電力バジェットは、モバイルワイヤレスハンドセットまたは他のデバイス中のビデオデコーダ(またはCODEC全体)などのデバイスの機能ユニットの設計要件として指定される所定、固定または調節可能な電力レベルとすることができる。
電力バジェットは、画像グループ(GOP)または他のビデオシーケンスなど、一連のフレームに対して割り振られる。フレームが処理され、電力が消費されるにつれて、電力バジェット中の利用可能な電力は減少する。リソースモニタ48は、たとえば、ルックアップテーブル中に記憶された補間または外挿されたフレームのMIPSと、データフェッチと、表示との間の既知の対応に基づいて、どのくらいの電力が新しいFRUCフレームを補間または外挿するために必要とされるかを推定するように構成できる。上述のように、電力バジェットは、固定(すなわち、デバイスからのフィードバックループによって調節されない)か、またはデバイスからのフィードバックループに基づいて調節されるかのいずれかとすることができる。
所与のフレームについて、補間のための電力バジェットに残っている電力が十分である場合、補間プロセスを有効にすることができる。代替的に、電力バジェットに残っている電力が不十分である場合、補間プロセスを無効にすることができる。本開示の一態様によれば、補間を有効および無効にする代わりに、リソースモニタ48とモード選択ユニット46は異なる補間/外挿モードを選択するように構成される。特に、リソースモニタ48によって決定された利用可能なリソースレベルに基づいて、モード選択ユニット46は品質重視モードまたはリソース重視モードを選択することができる。
たとえば、ビデオシーケンス中の以前のフレームのMIPS、データフェッチおよび/または表示により、利用可能な電力バジェットが第1の所定のしきい値を下回るレベルまで低下した場合、リソースモニタ48は、リソース重視モードを選択すべきであることをモード選択ユニット46に示す。代替的に、利用可能な電力バジェットが第1の所定のしきい値を上回る場合、リソースモニタ48は、品質重視モードを選択すべきであることをモード選択ユニット46に示す。いくつかの態様では、利用可能な電力バジェットが、第1の所定のしきい値よりも小さい第2の所定のしきい値を下回る場合、リソースモニタ48は、フレーム繰り返しのほうを優先して補間外挿を無効にすること、または、場合によっては、デバイス中の電力を節約するために、補間も、外挿も、フレーム繰り返しも有効にすべきではないことを示す。
電力バジェット中の利用可能な電力を監視する際に、リソースモニタ48は、所与のビデオシーケンスにわたって、フレームごとに消耗されたMIPS、フレームごとにフェッチされたデータ、表示のために送信されたフレームデータの量を追跡することができる。たとえば、リソースモニタ48は、特定のGOPまたは他のビデオシーケンスのMIPS、フェッチされたデータおよび表示されたデータの現在の累計を維持し、そのような値を対応する電力消費値にマッピングする。特に、リソースモニタ48は、値の各々を、たとえば、1つまたは複数のルックアップテーブル中の対応する電力消費値にマッピングし、次いで、値を合計して総電力消費値を生成することができる。代替として、リソースモニタ48は、MIPS、フェッチされたデータ、表示されたデータに関係するインデックスの組合せをフレームまたは他のビデオユニットのための総電力消費値にマッピングする、多次元ルックアップテーブルにアクセスすることができる。
さらなる代替として、リソースモニタ48は、そのような値をフレームごとの電力消費値にマッピングし、電力消費値を累積的に追加して、ビデオシーケンスにわたる電力消費の現在の合計を生成することができる。一例として、ビデオシーケンス(たとえば、30個のフレームのシーケンス)が電力バジェットXを有し、シーケンス中のn番目のフレームにおいて、MIPSと、フェッチされたデータと、表示されたデータとは電力量Yを消費したと推定され、したがって利用可能な電力バジェットはX−Y=Zである場合、リソースモニタ48は、利用可能な電力バジェットを所定の第1のしきい値と比較して、品質重視モードまたは電力重視モードのいずれかを選択することができる。
シーケンスのための電力バジェットは、シーケンス中のフレームの数によって分割し、追加の電力バジェットを補うことができるシーケンス全体またはシーケンス中のフレームにわたってより均一な割当てを与える様々な方法でシーケンスの過程にわたって更新することができ、したがって、電力バジェットはビデオシーケンスの早い段階で不均一に消耗されない。品質重視モードまたは電力重視モードの選択をサポートするために、様々な代替が、電力バジェットに対する電力消費を推定するために利用可能である。したがって、上記の例は、例示のために提供され、本開示で概して説明する技法を限定するものとみなされるべきでない。
品質重視モードでは、FRUCユニット22は、1つまたは複数の参照フレーム品質基準に専ら、主に、または、実質的に基づいて参照フレーム選択を実行することができる。品質基準は、たとえば、選択された参照フレームによって生成される可能性がある補間または外挿品質のレベルを示すことができる。参照フレームのいずれも品質基準を満たさない場合、追加すべき特定のフレームに対して、フレーム置換は選択ユニット44によって無効にされる。この場合、フレーム置換ユニット38は、フレーム補間の代わりにフレーム繰り返しを適用して、追加すべきフレームに近似することができる。
リソース重視モードでは、FRUCユニット22は、リソース考慮事項と品質考慮事項の両方の組合せに基づいて、いくつかのフレームのためのフレーム置換を選択的に有効または無効にする。たとえば、FRUC分析ユニット42が、置換すべきフレームの近傍にあるビデオシーケンスが概して静的であると判断したとき、選択ユニット44はフレーム置換を無効にする。ビデオシーケンスが低い動きレベルを含む場合、補間または外挿とフレーム繰り返しとの間の視覚差が小さい、またはさらには微小なので、置換を実行する利点がほとんどまたは全くない。この場合、置換を無効にすることによって、デコーダ14は、視覚的品質にほとんど影響を及ぼすことなしに補間または外挿のために電力およびリソースを消耗することを回避することができる。
リソース重視モードにおいて置換を補うのに十分な動きがあるとき、分析ユニット42は、品質重視モードにおいて使用されるものと同じまたは同様の品質分析を実行する。したがって、リソース重視モードと品質重視モードとは、完全に別々のモードというわけではない。むしろ、リソース重視モードが活動化されたとき、品質重視モードは、適用可能な場合に、補間または外挿を補うのに動きレベルが十分な場合にのみ進行する。品質重視モードを単独で活動化するか、またはリソース重視モードを、フレーム置換を無効にし、それによって品質重視モードを非活動化するように、または置換を有効にし、品質重視モードを活動化するように動作させることができる。特に、品質重視モードでさえ、候補参照フレームのいずれも品質基準を満たさない場合、置換は無効にされる。
オプションとして、リソース重視モードでは、置換が有効にされたとき、品質分析のために使用される品質しきい値は、たとえば、ビデオデコーダ14のリソース節約要件に応じて調整可能である。たとえば、しきい値を、利用可能な電力、計算リソース、および/またはメモリリソースなど、ビデオデコーダ14の利用可能な補間リソースに基づいて調整することができる。いくつかの実装形態では、品質しきい値は、ビデオデコーダ14、ビデオポストプロセッサ、および/またはモバイルディスプレイプロセッサ(MDP)などのビデオディスプレイプロセッサに関連する利用可能な電力リソースのレベルなど、利用可能な電力リソースのレベルに基づいて調整される。しきい値が固定または調整可能であるいずれの場合も、置換が有効にされた場合、分析ユニット42は、参照フレームを選択するか、または置換を無効にするための1つまたは複数の品質基準を適用することができる。
一例として、追加すべきフレームの近傍にあるビデオシーケンスが極めて低い動きのビデオコンテンツを特徴とする場合、ビデオフレーム補間または外挿の恩恵はあまり顕著にならない。したがって、FRUCユニット22は、ビデオフレーム置換のための参照フレームとしてどのフレームを使用すべきかだけでなく、どのフレームをフレーム置換によって追加すべきか、すなわち、どのフレームを補間または外挿すべきかも判断することができる。いくつかのフレームでは、補間または外挿のコストを時間的視覚的品質の十分な増強によって補うことができない。たとえば、いくつかのスキップされたフレームのための補間を回避することによって、リソース重視モードでは、FRUCユニット22は、計算リソースの節約と、ビデオシーケンスの補間されたフレーム品質および時間的視覚的品質の増強に関連する電力消費とのバランスをとることができる。ゼロ動きベクトルカウント、および/または小さい動きベクトルカウントを、動きコンテンツに基づいて特定のフレームを補間または外挿すべきかどうかを判断するための判断基準として使用することができる。カウントしきい値は、様々な方法で導出される。たとえば、しきい値を、ゼロ動きベクトルカウントおよび小さい動きベクトルカウントの判定動きアクティビティの一方または両方に対して固定することができる。代替的に、しきい値の一方または両方を、たとえば、デコーダ14のリソースレベルに基づいて調整することができる。
図3および図4の例では、置換のための参照フレームの品質重視選択では、ビデオデコーダ14は、様々な品質関連基準を利用することができる。たとえば、FRUCユニット22は、参照フレームを再構成するために与えられるエラー隠蔽方法の信頼性およびタイプと組み合わせて参照フレームのスライスおよび/またはフレーム損失情報に基づいて、ビデオフレーム置換において使用するための参照フレームを選択する。FRUCユニット22は、損失によるエラーのレベルとエラーを訂正するために利用可能なエラー隠蔽機構の品質とを分析するように構成できる。代替的に、または追加的に、FRUCユニット22は、フレームの相対品質レベルの指示として、候補フレームに関連するQP値およびCBP値を分析することができる。たとえば、QP値は、参照フレームの品質を判定するためにCBP値と結合される。
FRUCユニット22はまた、客観的視覚的品質メトリックを適用することができる。客観的視覚的空間品質メトリックは、構造的類似性メトリック(SSIM)、ブロッキネス、および/またはぼけ度など、非基準メトリックとすることができる。客観的品質メトリックは、代替的にまたは追加的にカラーブリーディングを含むことができる。客観的品質メトリックは、候補参照フレームのための品質スコアを生成するために使用できる。品質基準の他の例は、候補参照フレームにおいて使用されるイントラモードのタイプ、または候補参照フレームの各々のためのイントラモードおよび動きベクトルカウントを含むことができる。追加の基準も必要に応じて利用できる。
いくつかの態様では、前述のように、所与のビデオアプリケーションが終端間の処理におけるより短い遅延を必要とするとき、FRUCユニット22はフレーム置換を無効にするか、または参照ビデオフレームの選択を将来のフレームではなく以前のフレームに偏らせるように構成できる。ビデオ電話アプリケーションでは、たとえば、ユーザは、ビデオの処理および提示における遅延の低減または除去を必要とする、リアルタイムまたはほとんどリアルタイムのテレビ会議を行うことができる。フレーム置換技法が、たとえば、補間または外挿のために将来のフレームを利用する場合、追加のフレームを生成するためにそのような将来のフレームを復号し、処理する際の遅延は許容できない。この場合、ビデオアプリケーションが遅延要件を課すとき、FRUCユニット22はフレーム置換を無効にするか、将来の候補参照フレームの選択を禁止するか、または、追加すべきフレームの所定数のフレーム内ではない将来の候補参照フレームの選択を禁止するように構成できる。
たとえば、図4に示すように、FRUCユニット22は、最大遅延、または所与のビデオアプリケーションによって課された他のサービス品質要件を検出する遅延検出ユニット51を随意に含み、フレーム置換を無効にするか、あるいは補間または外挿のための参照フレームとして過去のフレームまたは近い将来のフレームの選択を必要とするように選択ユニット44に指示する。遅延検出ユニット51が、ビデオ電話アプリケーションまたは他の遅延敏感ビデオアプリケーションが最小の遅延を必要とすることを検出した場合、遅延検出ユニット51はフレーム置換を無効にするように選択ユニット44に指示する。遅延敏感アプリケーションまたは遅延敏感である場合があるアプリケーションのタイプは、デコーダ14が組み込まれたデバイスからの特定の信号の受信、デコーダ14によって受信されたビデオデータに関連するサイド情報において与えられる特定の信号の受信に基づいて、または様々な他の方法のいずれかで、遅延検出ユニット51によって検出される。遅延敏感アプリケーションの検出の場合、置換ユニット38は、ユーザにとってテレビ会議の品質を損なうことがある混乱させる遅延を回避するために、フレーム繰り返しを適用するか、または全面的にFRUCを非活動化することができる。
代替的に、遅延検出ユニット51は、フレーム置換を有効にするが、たとえば、時間的距離要件に基づいて、補間または外挿のための過去の参照フレームまたは近い将来の参照フレームの使用を必要とするように選択ユニット44(および/または分析ユニット42)に指示することができる。したがって、遅延検出ユニット51は、十分な品質を有するが、追加すべきフレームからの過度の時間的距離を有するとして示される特定の将来の参照フレームの選択を回避するために、選択ユニット44に制約を課すことができる。
たとえば、追加すべきフレームに対して、将来に1または2フレームであるフレームは、フレーム置換のための参照フレームとして使用するために容認できる。ただし、将来のフレームが、追加すべきフレームから数フレーム離れた時間的距離にある場合、フレームが復号され、分析されるのを待つことから生じ得る処理および提示遅延は容認できない。距離分析は、品質分析の後、または品質分析の前に候補参照フレームに適用できる。距離分析が品質分析の前に適用される場合、候補参照フレームが将来のフレームであり、追加すべきフレームからのフレーム距離が大きすぎる場合、遅延検出ユニット51は、特定の候補参照フレームのための品質分析を中断するように分析ユニット42に指示することができる。
代替として、遅延検出ユニット51は、追加すべきフレームから過度の距離にある将来の参照フレームが低品質スコアを与えられるか、または品質分析において検討から除外されるように、遅延が重要であるとき、その品質分析を調整するように分析ユニット42に指示することができる。いずれの場合も、フレーム置換がビデオ電話などの遅延敏感ビデオアプリケーションの遅延特性に悪影響を及ぼすことなく進行することができるように、いくつかの将来の参照フレームが参照フレームとしての選択から除外されるという結果になる。場合によっては、ビデオ電話または他の遅延敏感ビデオアプリケーションでは、遅延要件は、たとえば、ビデオ電話アプリケーションのリアルタイムまたはほとんどリアルタイムのサービス要件によりフレーム置換を排除することができる。ただし、ビデオストリーミングおよび再生では、遅延問題は通常あまり重要ではない。
上述のように、いくつかの実装形態では、追加のビデオユニットの補間または外挿において使用するための1つまたは複数の候補参照ビデオユニットは、追加のビデオフレームからの候補参照ビデオユニットのうちの1つまたは複数の時間的距離に少なくとも部分的に基づいて選択される。候補参照ビデオユニットは、遅延敏感アプリケーションが検出されたとき、時間的距離に基づいて選択される。代替的に、候補参照ビデオユニットは、規則的に、または何らかの他のトリガイベントに応答して時間的距離に基づいて選択される。したがって、いくつかの態様では、時間的距離は、補間または外挿において使用するための参照フレームの選択に適用される品質分析の一部をなすことができる。
図5は、図3または図4のビデオデコーダ14とともに使用する参照フレーム分析ユニット42を示すブロック図である。前述のように、参照ビデオフレームの分析および選択を例示のために説明するが、分析ユニット42の構造および機能は、スライスまたはブロック(たとえば、マクロブロックまたはより小さいブロック)など、他の参照ビデオユニットの分析および選択に適合できる。図5の例では、分析ユニット42は、客観的メトリックチェッカー50と、エラー隠蔽(EC)チェッカー52と、量子化パラメータ(QP)チェッカー54と、コーディングされたブロックパターン(CBP)チェッカー56と、品質スコア計算器58と、比較ユニット59と、動きベクトル(MV)信頼性チェッカー60とを含む。
図5に示す様々なユニットは、品質重視動作モード、ならびに補間が有効にされたときリソース重視動作モードにおいて使用できる。たとえば、モード選択ユニット46によってリソース重視動作モードが選択されたとき、分析ユニット42は動き分析器64を活動化させることができる。さらに、随意に、分析ユニット42は、リソース重視モードにおいてモード調整ユニット62を活動化させることができる。選択ユニット44は、追加すべきフレームのためのフレーム置換を実行すべきかどうかを判断し、実行する場合、フレームを追加するためにフレーム置換において使用するための参照フレームとして分析されているフレームを選択すべきかどうか判断するために、MV信頼性チェッカー60および動き分析器64の出力を考慮することができる。
客観的メトリックチェッカー50は、候補参照フレームを分析して、そのようなフレームに関連するSSIM値、および/またはブロッキネス、ぼけ度、またはカラーブリーディングの度合いを判断し、その判断に基づいて品質スコアを発生するように構成できる。特定の候補参照フレームのための客観的メトリックチェッカー50によって生成された品質スコアは、大幅なブロッキネス、ぼけ度、および/またはカラーブリーディングが検出されると低く、ブロッキネス、ぼけ度、および/またはカラーブリーディングがほぼないと高い。異なる候補参照ブロックのための品質スコアは、そのような客観的視覚的品質メトリック特性に応じて、高いスコアと低いスコアの間で異なる。代替的に、品質スコアは、所定のしきい値との比較に基づいて高いかまたは低いと表される。
分析ユニット42が客観的メトリックチェッカー50を利用するとき、客観的メトリックチェッカーは復号ユニット36によって再構成された復号フレームに適用される。したがって、分析ユニット42は、受信フレームバッファ34から得られる符号化フレームを分析し、客観的メトリックチェッカー50を介して、復号ユニット36を介した受信フレームバッファ34からの復号フレームによって得られる再構成されたフレームを受信し、分析することができる。客観的メトリックチェッカー50は、品質スコアを発生するために、SSIM値、ブロッキネス、ぼけ度、カラーブリーディング、または他の客観的品質メトリックについて再構成された候補参照フレームを分析することができる。
ECチェッカー52は、候補参照フレームを分析して、各フレームがスライスおよび/またはフレーム損失を受けたかどうかを判断し、受けた場合、受信フレームバッファ34から得た符号化フレームを再構成するために信頼できるエラー隠蔽機構が利用可能かどうかを判断する。この意味で、ECチェッカー52はEC信頼性チェッカーとして動作することができる。損失が所定レベルを上回るエラーを生じた場合、ECチェッカー52は、エラーを訂正するために利用可能なエラー隠蔽機構の品質を評価する。スライスまたはフレーム損失がない、またはスライスまたはフレーム損失を補償するのに十分なエラー隠蔽機構があるとき、ECチェッカー52は特定の候補参照フレームに対して比較的高いスコアを発生する。エラー隠蔽がスライスまたはフレーム損失を補償するのに不十分なとき、ECチェッカー52は低いスコアを発生する。ECチェッカー52によって発生されるスコアは、スライスまたはフレーム損失の量、または所定のしきい値との比較に基づいた単に高いまたは低いスコアに応じて変わる。
ECチェッカー52は、様々な方法で利用可能な十分なエラー隠蔽機構があるかどうか判断することができる。一例として、ECチェッカー52は、ビデオコーディングのタイプ、たとえば、(コロケートマクロブロックからの動きベクトルを使用する)H.264、またはデコーダ14が実装されたチップまたはチップセットにおいて実行されることが知られているビデオコーディングのタイプのために使用されるエラー隠蔽の所定の知識に基づいて、エラー隠蔽のタイプを特定する。ECチェッカー52は、異なるスライスまたはフレーム損失シナリオに対する特定のエラー隠蔽機構の有効性の以前のオフライン分析を利用することができる。
たとえば、各エラー隠蔽機構は、損失の異なる数、損失の異なる位置、影響を及ぼされたブロックまたはユニットの数、誤り検出時間などを扱う際の有効性を評価される。ECチェッカー52は、特定のスライスまたはフレーム損失に関連する上記の特性(すなわち、損失の数、位置、誤り検出時間)の1つまたは複数を判断し、次いで、それらの特性と、同様の条件下でのそのようなエラー隠蔽機構のパフォーマンスの事前知識とを考え合せて、利用可能なエラー隠蔽機構が有効であるどうかを判断する。
一例として、エラー隠蔽機構Xがデコーダ14において使用され、機構Xが、Y1未満の損失の数によって特徴づけられる損失、特定領域中の損失の位置、Y2未満の影響を及ぼされたブロック/ユニットの数、時間Zを超える誤り検出処理のための与えられた時間に有効であると知られている場合、上記の特性に合致する損失は機構Xを使用した隠蔽が可能なはずであり、その場合、ECチェッカー52は高いECスコアを発生する。
様々なシナリオでは、特性のいずれか1つが満たされない場合、または特性の1つまたは複数の組合せがスライスまたはフレーム損失に存在する場合、エラー隠蔽は失敗する。損失が上記の特性に合致しない場合、ECチェッカー52は低いECスコアを発生する。したがって、ECチェッカー52は、エラー隠蔽機構のタイプの知識と、異なる特性を有するスライスまたはフレーム損失を隠蔽する際のその有効性を利用することができる。
QPチェッカー54は、各候補参照フレームに関連する量子化パラメータ(QP)値を分析する。一般に、QP値は、符号化ビデオフレームのそれぞれのブロックにおける変換係数の量子化ステップサイズを示す。QP値は、フレーム中のすべてのブロックに対して同じか、または異なるブロックに対して異なる。一例として、QPチェッカー54は、参照フレームを形成するブロックの平均QP値を分析することができる。代替的に、QPチェッカー54は、フレームの最大または最小QP値を分析することができる。フレームの平均QP値が高い場合、QPチェッカー54は比較的低いスコアを発生し、H.264コーディングの場合、ビデオデータの粗い量子化を示す。より小さいQP値は、H.264コーディングにおけるより細かい量子化ステップサイズ、および概してより高いビデオ品質を示す。したがって、H.264コーディングでは、平均QP値がより低い場合、QPチェッカー54はより高い品質スコアを発生する。
CBPチェッカー56は、候補参照フレームごとにCBP値を分析する。CBP値は、フレームを形成するブロックの平均CBP値とすることができる。一般に、CBP値は、0でない変換係数がブロック中にないか、または少なくとも1つの0でない係数がブロック中にあることを示す。変換係数は、離散コサイン変換(DCT)、ウェーブレット変換、または他の圧縮変換領域など、圧縮領域中に存在する。CBPチェッカー56によって分析されるCBP値は、ルーマまたはクロマCBP値でも、あるいは両方でもよい。所与のフレームについて、CBPチェッカー56は、CBP値が少なくとも1つの0でない変換係数値を示すブロックの数を判断することができる。いくつかの態様では、QPチェッカー54およびCBPチェッカー56を組み合わせることができる。この場合、組合せスコアは、平均QP値とCBP値とに基づいて発生される。
QP値が所定のQPしきい値を下回り、CBP値が概して0であり、実質的にいずれのブロックも0でない係数を有しないことを示す場合、フレームの品質は高いスコアによって示される。CBP値が少なくとも1つの0でない係数を示すブロックの数が、CBPしきい値を下回るとき、概して0とみなされるCBP値が判断される。代替的に、QP値がQPしきい値を上回る場合、スコアは低い。極めて高いQP、および0または中間のCBP値は、低いスコアを示す。CBPが0であり、QP値がしきい値を下回る場合、ブロックのための動き推定は極めて正確であり、品質スコアは高くなるはずである。
品質スコア計算器58は、客観的メトリックチェッカー50、ECチェッカー52、QPチェッカー54、およびCBPチェッカー56のうちの1つまたは複数の出力に基づいて、候補参照フレームの全体的な品質スコアを発生するように構成できる。客観的メトリックチェッカー50、ECチェッカー52、QPチェッカー54、およびCBPチェッカー56によって生成される個々のスコアは、単に高または低品質値、あるいは高、中間または低品質値として作成される。代替的に、スコアは、多数の階調または実質的に連続スケールに沿って計算できる。品質スコア計算器58は、客観的メトリックチェッカー50、ECチェッカー52、QPチェッカー54、およびCBPチェッカー56によって生成されたスコアの各々に等しい重みを与えることができる。代替的に、品質スコア計算器58は、総品質スコアがすべてのスコアの重み付けされた合計になるように、スコアに所定の、不均一な重み付けを適用することができる。
一例として、いくつかの実装形態では、品質スコア計算器58は、ECチェッカー52および客観的メトリックチェッカー50によって出力されるスコアよりも、QPチェッカー54およびCBPチェッカー56によって出力されるスコアに多くの重みを付けることができる。他の実装形態では、ECチェッカー52の出力をより重要とすることができる。上記のように、品質スコア計算器58は、出力に重み付けすることができる。代替として、チェッカー50、52、54、56の各々は、事前割当てされた重みを用いて個々に重み付けされたスコアを生成するように構成できる。品質スコア計算器58は、スキップされたフレームの補間において使用するための候補参照フレームの品質を示す総スコアを出力する。
スコアを計算するために使用される品質特性、たとえば、客観的メトリック、EC特性、QPおよびCBP特性が与えられると、総スコアは候補参照フレームが容認できる品質レベルをもつフレーム置換結果を生成する可能性があるかどうかを示すことができる。比較ユニット59は、総スコアを品質しきい値と比較する。総スコアが十分である、たとえば、品質しきい値を超える場合、比較ユニット59は、候補参照フレームが、適用可能な場合に、追加の、すなわち余分のフレームの補間または外挿のための参照フレームとしての選択に容認できる品質レベルを有することを示す。総スコアが品質しきい値未満の場合、比較ユニット59は、候補参照フレームが、適用可能な場合に、補間または外挿のための参照フレームとしての選択に容認できないと判断する。各場合において、分析ユニット42は、次いで、現在検討中の追加のフレームのための次の候補参照フレームの分析に進むか、または追加すべき次のフレームのための参照フレームの分析に進む。特定の置換フレームに対して検討される候補参照フレームの数は、設計の考慮事項に応じて異なることができる。
総スコアが十分である、たとえば、品質しきい値を満たすまたは超える場合、比較ユニット59は、検討中の候補参照フレームが品質を基準として参照フレームとしての選択に適することを示す。代替的に、比較ユニット59は、上述のように最も高くランク付けされた参照フレームを選択することができる。いずれの場合も、いくつかの実装形態では、参照フレームの選択を承認するために、分析ユニット42は、動きベクトル(MV)信頼性チェッカー60をさらに含むことができる。MV信頼性チェッカー60は、ビデオフレーム置換が補間または外挿のために動き補償予測方法を利用する場合、選択された参照フレームが高品質フレーム置換結果を生成するように、候補参照フレームにおける動きベクトルの信頼性を分析することができる。
動きベクトルが信頼できる場合、MV信頼性チェッカー60は分析中の候補参照フレームをフレーム置換のための参照フレームとして選択することができることを選択ユニット44に示す。ただし、動きベクトルが信頼できない場合、MV信頼性チェッカー60は、比較ユニット59の品質要件を満たしても、候補参照フレームを拒絶する。この場合、MV信頼性チェッカー60は、分析中の候補参照フレームをフレーム置換のための参照フレームとして選択すべきではないことを選択ユニット44に示す。
いくつかの実装形態では、比較ユニット59は、検討される参照フレームとしての選択に適切なフレームを示すことができる。言い換えれば、分析ユニット42は、各候補参照フレームを分析するので、適切な候補参照フレームを特定する場合、候補参照フレームが選択されなければならないことを示す。分析ユニット42が候補参照フレームの十分な数およびタイプを特定するまでプロセスは続き、特定した時点で、分析ユニット42は、現在のフレームの補間または外挿のための候補参照フレームの分析を止め、ビデオシーケンス中の追加すべき次のフレームの補間のための候補参照フレームの分析に移る。
単純な例として、分析ユニット42は、時間的に以前のフレームと将来のフレームとの間に存在するフレームの補間のために単一の以前の参照フレームと単一の将来の参照フレームとを特定することができる。代替的に、補間のより複雑なタイプに対して、分析ユニット42は、追加すべきフレームの補間のための選択できる複数の以前および将来の参照フレームを特定することができる。各場合において、十分な数およびタイプ(たとえば、必要な場合、以前および将来)が選択のために特定されるまで、分析ユニット42は、追加すべきフレームに隣接する以前および将来のフレームのサブセットを分析する。有限の数のフレームを分析することができる。分析されたフレームのいずれも十分な品質スコアを生成しない場合、分析ユニット42は、フレームが選択されず、フレーム置換ユニット38はフレーム置換の代わりにフレーム繰り返しを適用しなければならないことを示す。
いくつかの実装形態では、分析ユニット42は、候補参照フレームにおいて使用されるイントラコーディングモード、および/または候補参照フレームのためのイントラモードおよび動きベクトルカウントのタイプなど、他のタイプの品質基準を使用することができる。一例として、特定の候補参照フレーム中のイントラコーディングされたブロック(たとえば、マクロブロック)の数がモード判断しきい値を超える場合、分析ユニット42は、参照フレームに対して、たとえば、その候補参照フレームを追加のフレームの補間のために使用すべきでないような低い補間品質を示す。モード判断しきい値を、たとえば、候補参照フレームにおけるしきい値を上回るいくつかのコーディングビットを有するブロックの数に基づいて、静的または動的に調整することができる。多種多様な他の品質基準を使用することができる。品質分析のために使用されるそのような情報を、客観的品質メトリック、QPおよびCBP特性、およびEC特性など本開示に記載の他の情報への代替、または追加とみなすことができる。
いくつかの追加のフレームは、補間または外挿される他の近くのフレームと同じ参照フレームのうちのいくつかを使用して補間または外挿できる。このため、場合によっては、候補参照フレームが品質を分析されると、候補参照フレームの品質に関係する情報を記憶することが望ましい。このようにして、特定の候補参照フレームが後に候補参照フレームとみなされた場合、再び分析を実行する必要なしにその品質を迅速に判断することができる。候補参照フレームは、ビデオシーケンスの一部分中の補間または外挿される数個のフレームのための潜在的な参照フレームとして重要である。
ビデオシーケンスが進むにつれて、記憶された情報は、補間または外挿されるフレームに対して候補参照フレームの時間的隔たりが増すことにより、使用されなくなるか、または少なくとも重要でなくなる。したがって、情報は、何らかのポイントにおいて、たとえば、ビデオシーケンスが候補参照フレームから所定数のフレームよりも離れたポイントに進んだ後、廃棄できる。品質情報を記憶することによって、候補参照フレームごとに1回のみ、分析ユニット42において品質分析を実行する必要がある。代替的に、追加すべきフレームのための候補参照フレームとしてフレームを特定するたびに、品質分析を実行することができる。
いくつかの実装形態では、分析ユニット42は、関係する品質レベルに関して分析された候補参照フレームをランク付けするように構成される。たとえば、分析ユニット42は、候補参照フレームをランク付けするランク付けユニット(67Aまたは67B)を含む。この場合、品質しきい値を満たす品質スコアを有するフレームの適切な数およびタイプがわかると止めるのではなく、分析ユニット42は、候補参照フレームをランク付けして、最良の品質スコアを生成するフレームを特定する。たとえば、分析ユニット42は、比較ユニット59によって示される、品質レベルを満たす、たとえば、品質しきい値を満たすまたは超える、候補参照フレームを総品質スコア順にランク付けし、最も高くランク付けされた候補参照フレームを選択する。
1つのオプションとして、図5を参照すると、分析ユニット42は、十分である、すなわち、品質しきい値を満たすまたは超えるとして比較ユニット59によって特定された候補参照フレームを評価し、ランク付けするランク付けユニット67Aを含む。ランク付けユニット67は、フレーム置換ユニット38によって適用されたフレーム置換のタイプに必要な参照フレームの数と一致する数の最高位にランク付けされた参照フレームを選択する。次いで、選択された、すなわち、最高位にランク付けされた候補参照フレームは、ランク付けユニット67AからMV信頼性チェッカー60にパスされて、それらが信頼できるMVコンテンツを有するかどうかを判断する。有する場合、MV信頼性チェッカー60は、フレーム置換において使用するためのフレームを選択すべきであることを選択ユニット44に示す。最高位にランク付けされた候補参照フレームが信頼できるMVコンテンツを有しない場合、MV信頼性チェッカー60は、フレーム置換ユニット38がフレーム置換の代わりにフレーム繰り返しを適用すべきであることを選択ユニット44に示す。
別のオプションとして、ランク付けが信頼できないMVコンテンツによって影響されることがあるので、分析ユニット42は十分である、たとえば、品質しきい値を満たすまたは超える品質スコアを有するすべてのランク付けされた候補参照フレームをMV信頼性チェッカー60にパスすることができる。特に、比較ユニット59は、パスするスコアをもつすべての候補参照フレームをMV信頼性チェッカー60に与えることができる。MV信頼性チェッカー60は、たとえば、比較ユニット59によって示された、たとえば、品質しきい値を満たすまたは超える十分な品質スコアと、信頼できるMVコンテンツとの両方を有する候補参照フレームを特定する。分析ユニット42は、MV信頼性チェッカー60の出力を受信し、品質スコアの観点から候補参照フレームをランク付けするランク付けユニット67Bを随意に含む。次いで、ランク付けユニット67Bは、いくつかの最高位にランク付けされた候補参照フレームを選択し、選択された参照フレームを選択ユニット44に伝達する。選択ユニット44は、ビデオフレームを追加するために、フレーム置換において使用するための選択された参照フレームをフレーム置換ユニット38に通知する。
MV信頼性チェッカー60は、信頼できるMVコンテンツを有しない候補参照フレームを除外し、ランク付けユニット67Bによる参照フレームのランク付けおよび参照フレームとしての選択のために残りの候補参照フレームを残す。特に、ランク付けユニット67Bは、補間の参照フレームとしての選択のための選択ユニット44に対して、信頼できるMVコンテンツを有する最高位にランク付けされた候補参照フレームを特定することができる。この場合も、選択される参照フレームの数は、フレーム置換ユニット38によって使用されるフレーム置換のタイプ、すなわち、補間または外挿のタイプと、フレーム置換プロセスをサポートするために必要とされる参照フレームの数とに対応する。
MV信頼性チェッカー60は、多種多様な技法のいずれかを使用して動きベクトル信頼性を分析することができる。一例として、MV信頼性チェッカー60は、動き差分ベースの手法を適用するように構成される。MV信頼性チェッカー60は、ビデオフレームのX(横軸)方向とY(縦軸)方向との両方における動きベクトル情報を分析するように動作することができる。この場合、MV信頼性チェッカー60は、候補参照フレーム中のブロック(たとえば、マクロブロック)のX方向における動きベクトルと、以前のフレーム中のコロケートブロックのX方向における動きベクトルとの間の差分がしきい値を超えるかどうかを判断する。超える場合、MV信頼性チェッカー60は、候補参照フレームにおける動きベクトルが信頼できないと判断する。たとえば、MV信頼性チェッカー60は、候補参照フレームにおける信頼できない動きベクトルの数をカウントするか、または候補参照フレームと以前の参照フレームとにおける動きベクトル間の全体的な平均差分を判断する。
X(たとえば、横軸)方向における動きベクトル信頼性の判断に加えて、MV信頼性チェッカー60は、同様の方法でY(たとえば、縦軸)方向における動きベクトル信頼性を判断することができる。MV信頼性チェッカー60が、X方向MV不信頼性またはY方向MV不信頼性のいずれかを検出した場合、MV信頼性チェッカーは、検討中の現在の候補参照フレームを拒絶し、スキップされたフレームの補間のための参照フレームとして候補参照フレームを選択すべきではないことを選択ユニット44に示す。代替として、いくつかの実装形態では、角度情報を動きベクトルの大きさと方向の両方を評価するために使用することができる。ただし、候補参照フレームのためのMVが信頼できる場合、MV信頼性チェッカー60は、余分のフレームの補間または外挿のための参照フレームとしてその候補フレームを選択することができることを選択ユニット44に示す。
代替として、MV信頼性チェッカー60は、フレーム間動き変化検出技法を使用してMV信頼性を分析することができる。この技法によれば、MV信頼性チェッカー60は、現在の候補参照フレームにおける動きが、以前のまたは将来のフレームなど、別の、隣接するフレームにおける動きから実質的に変化したとき検出するように構成される。変化の大きさがしきい値よりも大きい場合、MV信頼性チェッカー60は、候補参照フレームのMVは信頼できず、フレーム置換のための参照フレームとして選択すべきではないと判断する。
フレーム間動き変化検出技法では、候補参照フレームと隣接するフレームとにおける動きが連続的かどうかを検出するために、以下の2つの方法を使用することができる。第1に、動き変化検出は動き統計に基づく。この場合、動きベクトル統計は、両方のフレーム、すなわち、候補参照フレームと隣接するフレームとに対して計算される。統計は、動きベクトル(大きさおよび角度)平均と標準偏差とを含むことができる。第2に、動き変化検出は動きベクトルラベリングに基づく。この場合、統計に基づく動き変化検出は、フレームレベルでの動きの範囲を利用して判断することができる。2つのフレーム中のコロケートマクロブロックごとの動きの差分を検出することはできない。しかしながら、この問題を解決するために、動きベクトルラベリングに基づく動き変化検出を使用することができる。
さらなる代替として、MV信頼性チェッカー60は、動き軌道ベースの技法を使用してMV信頼性を分析することができる。この場合、動き軌道ベースの手法は、隣接するフレームの場合と同じ動き軌道に従う場合、候補フレーム中のマクロブロックがある場所を調べることによって隣接するフレームからの動きベクトルを使用すべきかどうかを判断する。マクロブロックによって搬送されるオブジェクトが候補フレーム中の当該の領域(すなわち、損失したマクロブロックの位置)と著しく重なる場合、そのMVを信頼できるとみなすことができ、その候補フレームはフレーム置換のために使用されるべきである。他の場合は、それが当該の領域から離れる場合、そのMVは信頼できず、候補フレームはフレーム置換のために使用されるべきではない。
比較ユニット59によって使用される品質しきい値は、容認できるフレーム置換結果と相関すると考えられる品質レベルを表すようにあらかじめ決定され、選択される。品質しきい値は、固定でも、調整可能でもよい。いくつかの実装形態では、たとえば、品質しきい値は、デコーダ14が動作するモードに応じて調整可能である。動作中、分析ユニット42は、リソース重視モードがオンかオフかを最初に検査する。モード選択ユニット46が品質重視モードを示す場合、モード調整ユニット62は既存の品質しきい値を調整することができない。しかしながら、モード選択ユニット46がリソース重視モードを示す場合、モード調整ユニット62は既存の品質しきい値を調整することができる。たとえば、いくつかの実装形態では、モード調整ユニット62は、フレームの補間または外挿のための参照フレームとしてより高品質のフレームの選択を要求するために、品質しきい値を増加させる。
いくつかの実装形態では、リソース重視モードが選択されたとき、品質しきい値は第1の値から第2の増加した値に増加される。他の実装形態では、リソース重視モードが選択されたとき、品質しきい値は利用可能なリソースレベルに応じて計算される値に増加される。たとえば、利用可能な電力または利用可能な計算リソースなどのリソースが低くなるにつれて、品質しきい値は高くなる。このようにして、リソースレベルがより低いときフレーム置換のコスト、すなわち、フレーム補間または外挿のコストを補うためにより高品質が必要とされように、品質しきい値は利用可能なリソースレベルに反比例する。したがって、いくつかの例では、リソース重視モードでは、分析ユニット42は、フレーム置換を有効にするか、または無効にするかを判断し、フレーム置換が有効にされたとき、固定の品質しきい値か、または利用可能なリソースレベルに応じて調整された品質しきい値のいずれを使用するかを判断するために動きアクティビティしきい値を適用する。
特定のフレームの補間または外挿のための候補参照フレームのいずれもリソース重視モードにおける増加した品質しきい値を満たす品質スコアを生成しない場合、フレームの補間または外挿のためにいずれのフレームも選択されない。この場合、選択ユニット44は補間を無効にし、その場合、フレーム置換ユニット38はフレーム置換を中断し、フレーム繰り返しを代わりに適用する。リソース重視モードにおいて増加した品質しきい値を要求することによって、より高品質の参照フレームがフレーム置換に利用可能でなければ、モード調整ユニット62は、実際には、フレーム置換ユニット38にフレーム置換を無効にすることを強いる。
リソースが限られるとき、たとえば、電力、計算および/またはメモリリソースがより乏しいとき、モード選択ユニット46はリソース重視モードを選択する。極めて低い動きのビデオコンテンツの場合など、ビデオフレーム補間の恩恵があまり顕著でないとき、リソース重視モードはビデオフレーム補間を無効にすることができる。このようにして、リソースが限られるとき、モード選択ユニット46およびモード調整ユニット62はフレーム補間または外挿に対してより高品質のジャスティフィケーションを課す。言い換えれば、リソース消費の観点からフレーム置換のコストを補うために、フレーム置換の実際の結果は、比較的高い視覚的品質でなければならない。リソースがそれほど乏しくないとき、モード選択ユニット46は品質重視モードを選択し、モード調整ユニット62は品質しきい値を低減することができる。より多くの候補フレームが低減された品質しきい値を満たす可能性があるので、低減された品質しきい値により、フレーム置換はより高い頻度で進行することが可能になる。
リソース重視モードでは、モード選択ユニット46はまた、動き分析器64を活動化することができる。品質しきい値を調整するいくつかの実装形態においてモード調整ユニット62を活動化することに加えて、動き分析器64は、関係するビデオシーンが比較的静的か否かを判断するために、1つまたは複数の候補参照フレームの動きアクティビティを分析することができる。動き分析器64は、ビデオシーンが極めて小さい動きか、または著しい動きのいずれを特徴とするかを判断するために候補参照フレームからの動きベクトルデータを分析する。たとえば、動き分析器64は、ビデオフレーム置換を有効にすべきか、または無効にすべきかを判断するために、現在のアンカーフレームの動きベクトルを分析する。アンカーフレームは、スキップされたフレームの、たとえば、前にまたは後に隣接するフレームとすることができる。
アンカーフレームによって極めて小さい動きが示され、したがってシーンが比較的静的である場合、動き分析器64はフレーム置換を無効にする出力を発生する。シーンが比較的静的な場合、選択された参照フレームが高品質フレーム置換結果を生成するとしても、フレーム繰り返しに対して、時間的にスキップされたフレームの補間は通常補うことができない。一例として、シーンが比較的静的のとき、フレーム補間およびフレーム繰り返しによって生成された視覚的品質差分は比較的微小である。このため、ビデオバッファとディスプレイとの間の補間およびビデオデータトラフィックによって消費される電力のコストは、品質でのいかなる著しい利得によっても補われず、無効にすべきである。この場合、品質およびリソース保全の観点からフレーム繰り返しがより望ましい。動き分析器64がフレーム置換を無効にすべきと示すとき、現在検討中の参照フレームのための品質重視分析も同様に無効にされる。
いくつかの実装形態では、動き分析器64は、動きアクティビティをしきい値と比較する。動きしきい値は、固定でも、調整可能でもよい。たとえば、動き分析器64は、利用可能な電力、計算、および/またはメモリリソースのレベルに基づいて動きしきい値を調整する。調整可能な場合、たとえば、電力リソースが比較的高いレベルである場合、動きアクティビティしきい値は比較的低い。たとえば、電力リソースが比較的低いレベルである場合、動きしきい値は比較的高い。いずれの場合も、しきい値以上の動きアクティビティは、フレーム置換において使用するための1つまたは複数の参照フレームの選択を必要とする、品質重視動作モードと一致する補間をトリガする。電力レベルがより高い場合、より低いしきい値は、フレーム置換をトリガするために必要とされる動きがより小さいことを意味する。しかしながら、電力レベルがより低い場合、より高いしきい値は、フレーム置換をトリガするために必要とされる動きがより大きいことを意味する。
動き分析器64および、随意に、モード調整ユニット62は、モード選択ユニット46がリソース重視モードを選択するとき活動化され、モード選択ユニット46が品質重視モードを選択するとき非活動化される。品質重視モードでは、デコーダ14は、望ましい視覚的品質を生成するように動作することができる。しかしながら、リソース重視モードでは、デコーダ14は、品質保全の目的とリソース保全の目的の両方を組み合わせることができる。モード選択ユニット46は、たとえば、利用可能なリソースの1つまたは複数のリソースしきい値との比較によって、限られたリソースの検出に応答してリソース重視モードを選択することができる。したがって、いくつかの実装形態では、モード選択ユニット46は、デフォルトで品質重視モードを選択し、利用可能なリソースのレベルに基づいてリソース重視モードを選択する。代替的に、リソースベースのモードをデフォルトモードとすることができ、その場合、モード選択ユニット46は、利用可能なリソースが1つまたは複数のリソースしきい値を上回るとき品質重視モードを選択する。
実際には、モード選択ユニット46は、リソース重視モードにおける追加のビデオユニットの補間または外挿を選択的に有効または無効にするように選択ユニット44に指示し、品質重視モードにおける追加のビデオユニットの補間または外挿を有効にするように選択ユニットに指示する。特に、モード選択ユニット46は、動き分析器64をトリガすることによってリソース重視モードにおける補間または外挿を選択的に有効または無効にするように選択ユニット44に指示することができる。次いで、選択ユニット44は、動き分析器64の出力に基づいて補間または外挿を選択的に有効または無効にする。代替的に、選択ユニット44は、たとえば、動き分析器64をトリガしないことによって、補間または外挿を有効にするように選択ユニット44に指示することができる。適切な参照フレームが利用可能でない場合、選択ユニット44による補間の有効化は参照フレームを選択するために、あるいは補間または外挿を無効にするために依然として分析ユニット42による品質分析を必要とする。
追加の、随意の特徴として、いくつかの態様では、分析ユニット42は距離ユニット63を含むことができる。図4を参照して上述したように、遅延検出ユニット51はビデオ電話アプリケーションなど、遅延敏感ビデオアプリケーションの動作を検出することができる。ビデオ電話の視覚的品質を阻害し得る処理および提示における遅延を回避するために、遅延検出ユニット51は、追加すべきフレームに対する、さらに将来にある将来の参照フレームの選択を回避するように選択ユニット44に指示する。したがって、分析ユニット42が候補参照フレームに対して相対的に高品質を示すとしても、選択ユニット44は追加すべきフレームからのそのようなフレームの時間的距離の分析に少なくとも部分的に基づいていくつかの候補参照フレームを拒絶することができる。時間的距離に基づく参照フレームの選択を遅延敏感アプリケーションの検出に基づいてトリガすることができるが、いくつかの実装形態では、時間的距離を定期的に、すなわち、遅延敏感アプリケーションの検出の有無にかかわらず、参照フレーム選択のために使用することができる。
図5に示すように、遅延フィーチャは分析ユニット42に組み込まれる。特に、選択ユニット44を介して、追加すべきフレームに対して将来のあまりに遠くに存在する(すなわち、過度の時間的距離に基づいて)将来の候補参照フレームを拒絶する代わりに、分析ユニット42は、そのようなフレームに相対的に低い品質スコアを割り当てるように構成できる。選択ユニット44は、直接時間的距離に基づくが、間接的に時間的距離から生じる低い品質スコアに基づいて、そのようなフレームを拒絶することができない。いずれの場合も、選択ユニット44は、フレーム置換プロセスに過大な待ち時間をもたらす時間的に遠い参照フレームの選択を回避することができる。この場合も、ビデオ電話など遅延敏感アプリケーションの動作が検出されたときに選択的に、または、たとえば、遅延敏感アプリケーションが検出されたか否かにかかわらず規則的に、時間的距離を参照フレームの選択のために使用することができる。場合によっては、遅延敏感アプリケーションの検出を含む動作なしに規則的に時間的距離に少なくとも部分的に基づいて、参照フレームを選択することができる。
距離ユニット63は、様々なフレーム特性の1つとして、追加すべきフレームからの将来の候補参照フレームの距離を判断することができる。距離ユニット63は、追加すべきフレームからさらに離れた将来の候補参照フレームに対して漸進的により低いスコアを発生するように構成できる。場合によっては、候補参照フレームが追加すべきフレームに対して将来の最大フレーム数を超える場合、距離ユニット63は0のスコアを生成する。
距離ユニット63は、遅延敏感ビデオアプリケーションが検出されたとき、遅延検出ユニット51によって活動化される。代替的に、遅延検出ユニット51は、敏感アプリケーションが検出されたとき、距離ユニット63の出力に、増加した重みを担持させる。ビデオプレイバックなどのアプリケーションが著しく遅延敏感ではないとき、距離ユニット63が無効にされるか、またはその出力スコアが全体的な品質スコアにおいて低減された重みを担持する。
図1〜図5においてシステム10、エンコーダ12、およびデコーダ14中に含まれる様々な構成要素、ユニット、またはモジュール、ならびに本開示全体にわたって説明する他の構成要素は、ハードウェアおよび/またはソフトウェアの任意の適切な組合せによって実現できる。図1〜図5では、様々な構成要素は、別々の構成要素、ユニット、またはモジュールとして示される。しかしながら、図1〜図5を参照しながら説明した様々な構成要素のすべてまたはいくつかは、共通ハードウェアおよび/またはソフトウェア内の組合せユニットまたはモジュールに統合できる。したがって、構成要素、ユニット、またはモジュールとしての特徴の表現は、説明しやすいように特定の機能的特徴を強調するものであり、別々のハードウェアまたはソフトウェア構成要素によるそのような特徴の実現を必ずしも必要としない。場合によっては、様々なユニットを、1つまたは複数のプロセッサによって実行されるプログラマブルプロセスとして実装できる。たとえば、様々な態様では、動き分析器、リソースモニタ、および選択ユニットは、別々のハードウェアおよび/またはソフトウェアユニット、あるいは同じハードウェアおよび/またはソフトウェアユニット、あるいはそれらの組合せによって実現できる。
図6は、ビデオデコーダ14がビデオフレーム置換のための参照フレームを選択する例示的な技法を示す流れ図である。図6に示すプロセスは、品質重視モードにおいて、またはフレーム置換が有効にされたときリソース重視モードにおいて実行される。図6に示すように、ビデオデコーダ14は入力ビデオフレームを受信する(68)。デコーダ14の場合、入力ビデオフレームは、フレームのいくつかがフレームスキップまたはエンコーダ12の基本フレームレートのためになくなっている、着信ビットストリーム中の符号化フレームとして受信される。エンコーダ12の場合、入力ビデオフレームは、エンコーダによって符号化すべきソースビデオフレームである。時間的な除外されたフレームは、ビデオエンコーダ12によって意図的にスキップされたフレーム、またはチャネル19上での送信中に損失したフレーム、またはエンコーダ12の基本フレームレートによってサポートされず、フレームレート変換のために追加として作成される必要があるフレームである。図6の例では、分析ユニット42は、フレーム置換において使用するための候補参照フレームのセットの1つまたは複数の特性を分析する(70)。
候補参照フレームは、追加すべきフレームに対してN個の以前のフレームおよびM個の将来のフレームから選択され、NおよびMは等しくても等しくなくてもよい。一例として、3つの以前のフレームおよび3つの将来のフレームが考えられるが、フレームの特定の数は例示のためであり、限定的なものとみなされるべきではない。以前および将来のフレームを双方向補間について考える。単方向補間または外挿の場合、いくつかの態様では、以前のフレームのみ、または将来のフレームのみを考えることができる。
フレームの1つまたは複数の特性は、フレームの品質に関係し、ピクセル領域値、変換領域値、ビットストリームデータなどを使用して分析できる。分析に基づいて、分析ユニット42は、候補フレームの1つまたは複数を参照フレームとして選択する(72)。選択された候補フレームを参照フレームとして使用して、フレーム置換ユニット38は、追加すべきフレームの補間(または適用可能な場合、外挿)によってフレーム置換を実行する(74)。図6で概説するプロセスは、受信したビットストリーム中の追加のビデオフレームの補間(または外挿)のために、デコーダ14によって実質的に連続的に繰り返される。
図7は、参照フレーム選択のための例示的な技法をより詳細に示す流れ図である。一般に、分析ユニット42は、節電モードなどのリソース重視モードがオンかオフかを判断する。リソース重視モードがオンの場合、動き分析器64は候補参照フレームの動きアクティビティを分析する。たとえば、候補参照フレームのための受信した動きベクトルを分析する。動きベクトル分析に基づいて、追加すべきフレームを補間(または外挿)すべきか否かの決定を行う。決定が補間するである場合、品質重視モードに一致する、参照フレームの品質を次に分析する。この分析に基づいて、補間すべきか外挿すべきかに関する別の決定を行う。補間または外挿が選ばれた場合、品質分析に基づいて(1つまたは複数の)参照フレームを選択する。次いで、少なくとも選択された参照フレームおよび場合によっては複数の参照フレームを使用して、ビデオフレーム補間または外挿を実行する。
図7で概説するプロセスは、ビデオデコーダ14によって受信されたビデオシーケンス中の追加すべき各フレーム、または追加すべき選択されたフレームに対して実質的に連続的に繰り返される。図7の例では、デコーダ14は、ビデオシーケンスの符号化入力ビデオフレームを含み、いくつかのフレームを除外する着信ビットストリームを受信する(76)。なくなっているフレームの補間または外挿では、ビデオデコーダ14は、リソース重視モードがオンかオフかを判断する(78)。たとえば、モード選択ユニット46は、デコーダ14のフレーム置換プロセスがリソース重視モードで動作すべきか、品質重視モードで動作すべきかを示す。
リソース重視モードが活動化された場合(78)、分析ユニット42は、動き分析器64を活動化して、候補参照フレームの各々について示された動きを分析する(80)。たとえば、動き分析器64は、ビデオシーンが比較的静的であるか、または著しい運動を含むかを判断するために候補参照フレームからの動きベクトルデータを分析する。動き分析器64は、ビデオフレーム置換を有効にすべきか無効にすべきかの決定を行うために、追加すべき置換フレームに時間的に隣接したフレームなど、アンカーフレームの動きベクトルを分析する。
アンカーフレームによって示された動きレベルがしきい値動きレベルよりも高いか、またはそれに等しい場合(82)、動き分析器64は、動きレベルが追加すべきフレームの補間(または外挿)によるフレーム置換を補うのに十分であることを選択ユニット44に示す。この場合、分析ユニット42は(1つまたは複数の)候補参照フレームの品質の分析に進む(84)。しかしながら、動きレベルがしきい値動きレベルを下回る場合、動き分析器64は、フレーム置換を使用すべきでないことを選択ユニット44に示し、その場合、デコーダ14は、フレームを補間するのではなく、除外されたフレームの代わりに参照フレームを繰り返す(92)。この場合、以前のまたは将来のフレームは、ビデオシーケンスのフレームレートを効果的にアップコンバートするために繰り返される。
いくつかの実装形態では、フレーム繰り返しの場合、分析ユニット42は、単に以前のフレームまたは将来のフレームを選択し、追加すべきフレームの代わりにそのフレームを繰り返す。フレーム繰り返しが選択されるので、現在のフレームのための品質重視モードの様々な品質分析動作を実行する必要がない。しかしながら、代替として、分析ユニット42は、品質分析を適用して、複数の候補参照フレームのうちの1つから参照フレームを選択し、次いで、選択された参照フレームを繰り返しフレームとして使用する。特に、分析ユニット42は、品質しきい値を満足する、たとえば、満たすまたは超える総品質スコアを有する参照フレームを選択し、フレーム繰り返しのための選択されたフレームを使用する。したがって、場合によっては、品質重視モードに一致する参照フレームの品質ベースの選択は、フレーム補間または外挿のためだけでなく、フレーム繰り返しのためにも使用できる。
上述のように、動きレベルがしきい値レベル以上である場合(82)、分析ユニット42は、(1つまたは複数の)候補参照フレームの品質を分析するために品質重視動作モードに進み、得られた品質スコアを品質しきい値と比較する(86)。図5を参照しながら説明したように、たとえば、品質スコア計算器58は、客観的メトリックチェッカー50、ECチェッカー52、QPチェッカー54、およびCBPチェッカー56のうちの1つまたは複数によって発生された品質スコアに基づいて、総品質スコアを計算する。次いで、比較ユニット59は、総品質スコアを比較し、それを品質しきい値と比較する(86)。
品質スコアが十分である、たとえば、しきい値よりも大きいか、またはそれに等しい場合(86)、分析ユニット42は、(1つまたは複数の)参照フレームの選択をフレーム置換ユニット38に示す。たとえば、選択ユニット44は、追加すべきフレームの補間(または外挿)において使用するための、フレーム置換ユニット38による選択のための(1つまたは複数の)参照フレームを特定する。次いで、フレーム置換ユニット38は、たとえば、(1つまたは複数の)選択された参照フレームを使用してフレームを補間または外挿することによって、フレーム置換の実行に進む(90)。候補参照フレームのいずれも十分な、たとえば、品質しきい値を満たすまたは超える総品質スコアを有しない場合(86)、比較ユニット59は参照フレームを選択すべきでないことを選択ユニット44に示す。この場合、選択ユニット44は、フレーム置換を無効にすべきであり、フレーム置換の代わりにフレーム繰り返しを適用すべきである(92)ことをフレーム置換ユニット38に示す。
図7に示すように、分析ユニット42は、品質しきい値を満足する総品質スコアを有する候補参照フレームをランク付けするように随意に構成できる(93)。たとえば、双方向補間の場合、分析ユニット42は、品質レベルの順に以前の候補参照フレームをランク付けし、品質レベルの順に将来の候補参照フレームをランク付けし、ただし、以前のフレームは追加すべきフレームよりも時間的に前であり、将来のフレームは追加すべきフレームの時間的に後であり、次いで、フレーム置換において使用するための最高位にランク付けされた以前のフレームと最高位にランク付けされた将来のフレームとを選択する。ランク付けにおいて事実上同点の場合、分析ユニット42は、追加すべきフレームに時間的に最も近接したフレームを選択する。単方向補間の場合、分析ユニット42は、以前のまたは将来のフレームが参照フレームとして使用されるかどうかに応じて、最高位にランク付けされた以前のフレームか、または最高位にランク付けされた将来のフレームを選択する。さらなる一例として、場合によっては、ランク付けは、フレーム置換と同様にフレーム繰り返しのための最高位にランク付けされたフレームを選択するために使用される。
いくつかの実装形態では、図5を参照しながら説明したように、フレームの選択は、MV信頼性チェッカー60によるMV信頼性分析を必要とする。さらに、いくつかの実装形態では、品質しきい値および/または他の基準または動作は、品質重視モードとリソース重視モードとの間で異なる。たとえば、モード調整ユニット62は、リソースが限られているとき、補間を補うためにより高い補間品質を要求するためにリソース重視モードにおいて品質しきい値を増加させる。
図8は、品質重視モードによるビデオフレーム補間のための参照フレーム選択をサポートするための、参照フレームの品質分析のための例示的な技法を示す流れ図である。一般に、候補参照フレームの品質は推定または分析される。品質スコアは候補参照フレームごとに与えられる。候補参照フレームは、スキップされたフレームに対する以前のまたは将来のフレームである。特定の参照フレームの品質スコアがしきい値未満の場合、その参照フレームはビデオフレーム置換において使用するために選択されない。参照フレームの品質スコアが適切な場合、その参照フレームはビデオフレーム補間または外挿において使用するために選択される。いくつかの実装形態では、分析ユニット42は、候補参照フレームに関連する動きベクトルが信頼できることを必要とする。たとえば、ビデオフレーム置換に補間または外挿のための動き補償予測方法を使用する場合、動きベクトルを検査する。
図8の例に示すように、分析ユニット42は、フレームの補間または外挿のための、以前のフレームおよび将来のフレームを含む参照フレームを特定するために複数の候補参照フレームを連続して分析することができる。受信フレームバッファ34から次の候補参照フレームを取り出す(94)と、分析ユニット42は、たとえば、図5を参照しながら上述したように、候補参照フレームの品質を推定し(96)、品質スコアを計算する(98)。スコアが十分である、たとえば、品質しきい値よりも大きいか、またはそれに等しい場合(100)、比較ユニット59は、候補参照フレームをMV信頼性チェッカー60にパスして、フレームのMVコンテンツが信頼できるかどうかを判断する(102)。
総品質スコアが品質しきい値未満の場合(100)、分析ユニット42は、フレーム置換のための選択のために候補参照フレームを「オフ」に設定する(104)。この場合、選択ユニット44は、フレーム置換ユニット38による置換フレームの補間または外挿に「オフ」フレームを選択しない。総品質スコアが品質しきい値以上であり(100)、MV信頼性チェッカー60がMVコンテンツは信頼できると判断した(106)場合、分析ユニット42は、フレーム置換のための選択のために候補参照フレームを「オン」に設定する(106)。
分析ユニット42が、候補参照フレームのすべてを検討したわけではない場合、すなわち、候補参照フレームのあらかじめ定義された範囲中の候補参照フレームの最後に達しなかった場合(108)、分析ユニット42は分析のための次の候補参照フレームを取り出す。たとえば、図2A〜図2Dを参照しながら説明したように、分析ユニット42によって分析される候補参照フレームの数はあらかじめ選択でき、補間または外挿すべきフレームに対して1つまたは複数の以前のフレーム、および1つまたは複数の将来のフレームを含むことができる。候補参照フレームの最後に達したとき(108)、選択ユニット44は、「オン」に設定された候補参照フレームを選択し(110)、選択されたフレームをフレーム置換ユニット38に伝達する。次いで、フレーム置換ユニット38は、追加すべきフレームを補間または外挿して、(1つまたは複数の)選択された参照フレームを使用してフレーム置換を実行する(112)。
「オン」に設定された参照フレームがない、または「オン」フレームの数が不十分である場合、選択ユニット44は、フレーム置換を無効にすべきであり、フレーム置換ユニット38が追加すべきフレームのためのフレーム繰り返しを代わりに適用すべきであることを示す。いくつかの実装形態では、FRUCユニット22におけるFRUCプロセスは、選択的に有効および無効にされる。FRUCが有効にされたとき、図8で概説するプロセスは、ビデオデコーダ14によって受信されたビデオシーケンス中の追加すべき各フレーム、または選択されたフレームに対して実質的に連続的に繰り返される。
この場合も、図7を参照しながら説明したように、図8に示すプロセスは、品質しきい値を満足する候補参照フレームがランク付けされるランク付け動作を含むことができる。この場合、最高ランクのフレームが、フレーム置換のための参照フレームとして選択される。
図9は、ビデオフレーム補間のための参照フレーム選択をサポートするための、参照フレームの品質分析を発生するための例示的な技法を示す流れ図である。たとえば、図5を参照しながら説明したように、品質スコアは、総品質スコアを発生するために使用される。一般に、初期ステップとして、各参照フレーム(スキップされたフレームに対する将来のまたは以前の参照フレーム)の平均QP値ならびにCBP値が検査される。QP値がしきい値よりも小さい(たとえば、H.264コーディングにおけるより小さいQP値は、より細かい量子化ステップサイズに対応する)場合、高い品質スコアが参照フレームに与えられる。その逆が、より小さいQP値がより粗い量子化ステップサイズに対応するH.264以外のいくつかのコーディングプロセスに当てはまる。
さらに、候補参照フレーム中にスライス損失または複数スライス損失が存在するかどうかに関して判断することができる。損失があり、エラー隠蔽が適用されない場合、参照フレームの品質スコアは低減される。損失があり、エラーが隠蔽される場合、参照フレームに対してより高い品質スコアが設定される。いくつかの実装形態では、客観的、非基準視覚品質メトリック(ブロッキネス、ぼけ度、および/またはカラーブリーディングなど)が、再構成された候補参照フレームに適用される。メトリックが高い結果を与える場合、参照の総品質スコアは増加される。参照フレームが高い総品質スコアを有する場合、時間的にスキップされたフレームの補間に使用できる。
図9に示すように、分析ユニット42は、受信フレームバッファ34から次の候補参照フレームを取り出し(114)、フレームのQPおよびCBP値を分析する。図9の例では、分析ユニット42は、QPおよびCBP値に基づいて組み合わせられたQPベースのスコアを発生する。QP値が適用可能なQPしきい値(QP_th)未満であり、CBP値が0に等しくない場合(116)、分析ユニット42はフレームのQPベースのスコアを「高」に設定する(118)。QP値がQPしきい値(QP_th)よりも高いまたはそれに等しいか、CBP値がほぼ0に等しいかのいずれかの場合(116)、分析ユニット42はフレームのQPベースのスコアを「低」に設定する(120)。
図9にさらに示すように、分析ユニット42はまた、候補参照フレームのスライス損失を検査するように構成される(122)。図5を参照すると、スライス損失検査はECチェッカー52によって実行される。スライス損失は、チャネル19上の損失、またはいくつかの他の損失、またはデータの改変に起因することがある。スライス損失がある場合、分析ユニット42は、スライス損失を補正するために適切なエラー隠蔽(EC)機構が利用可能かどうかを判断する(124)。利用可能でない場合、分析ユニット42は、候補参照フレームのECベースのスコアを「低」に設定する(126)。適切なEC機構が利用可能な場合(124)、分析ユニット42はECベースのスコアを「高」に設定する(128)。この場合、損失したスライスをEC機構を使用して再生することができる場合、候補参照フレームの品質はフレーム置換のための参照フレームとして使用するのに適切である。しかしながら、スライスを再生することができない場合、候補参照フレームをフレーム置換のために使用すべきではない。
分析ユニット42はまた、客観的品質メトリックを候補参照フレームに適用する(130)。たとえば、分析ユニット42は、ブロッキネス、ぼけ度、カラーブリーディングなど、様々な客観的メトリックのいずれかを分析するために、候補参照フレームの復号および再構成されたバージョンを分析する。したがって、客観的メトリックは、視覚的品質を評価するために、ピクセル領域において適用される。分析ユニット42は、品質メトリックスコアQMを作成するために、客観的メトリックの各々を定量化する。品質メトリックスコアQMが適用可能な品質メトリックしきい値(QM_th)よりも高い場合(132)、分析ユニット42は候補参照フレームのQMベースのスコアを「高」に設定する(134)。品質メトリックスコアQMが品質メトリックしきい値(QM_th)よりも低いか、またはそれに等しい場合、分析ユニット42はQMベースのスコアを「低」に設定する(136)。
分析ユニット42は、QPベースのスコアと、ECベースのスコアと、QMベースのスコアとの組合せに基づいて候補参照フレームの総品質スコアを設定する(138)。フレーム置換において使用するための候補フレームを選択すべきかどうかを判断するために、総品質スコアをしきい値と比較する。図5を参照しながら説明したように、総品質スコアはQPベースのスコアと、ECベースのスコアと、QMベースのスコアとの重み付けされた合計に従って作成され、ここで、分析ユニット42は個々のスコアの各々に異なる重みを付ける。個々のQPベースのスコアと、ECベースのスコアと、QMベースのスコアとが得られる順序は、図9に示す順序と異なってもよい。さらに、図9に示すスコアの特定のタイプは変更される場合がある。一般に、分析ユニット42は、候補参照フレームが許容できる品質レベルをもつ補間結果を与える可能性を示す品質スコアを得るように構成される。
図10および図11は、リソース重視モードにおける選択的フレーム置換の例示的な技法を示す流れ図である。リソース重視モードでは、分析ユニット42は、参照フレームによって表されるビデオシーンが静的であるかどうかを判断するための尺度として動きアクティビティを使用することができる。判断基準としてゼロ動きベクトルカウント、および/または小さい動きベクトルカウントを使用することができる。一般に、しきい値は2つの方法で導出できる。非適応型の場合、動きアクティビティを判定するために、たとえばゼロ動きベクトルカウント用の固定のしきい値と、小さい動きベクトルカウント用の固定のしきい値とを使用することができる。適応型の場合、たとえば、利用可能な電力、計算リソースまたは、メモリのレベルなどのデコーダ14のリソースレベルに基づいてそれらのしきい値の一方または両方を調整することができる。
一般に、フレーム置換とフレーム繰り返しの結果の間に大幅な知覚可能な差がないとき、たとえば、補間とフレーム繰り返しとの間の差が、たとえばデコーダ14に関連するデバイス内の電力、計算またはメモリ制約に鑑みて補間の使用を補うほど十分でないときは、リソース重視モードは、補間または外挿がオフすなわち無効にされる選択的フレーム置換のオプションのモードとすることができる。しかしながら、動きアクティビティが著しいとき、デコーダ14は、実際には、品質重視モードに戻ってフレーム置換用の参照フレームを選択することができる。
いくつかの実装形態では、リソース重視モードは、省電力モードまたは電力最適化選択的FRUCモードとして特徴づけできる。リソース重視モードでは、動きアクティビティは、ビデオシーンが静的であるかどうかを判断するための尺度として使用できる。シーンが静的であるとアルゴリズムが判断する場合、一般により計算集約的でより多くの電力を消費するビデオフレーム置換の代わりに単純なフレーム繰り返し技法をFRUCに使用することができる。しかしながら、ビデオシーンが概して静的でない場合は、フレーム繰り返しよりもフレーム置換が望ましいことがある。
シーンが静的かどうかを判断するためには、現在のアンカーフレームの動きベクトルを分析して、ビデオフレーム補間または外挿を有効または無効にすべきかどうかの判断を行うことができる。動きベクトルは、デコーダ14におけるビットストリーム動きベクトルの処理後に得られた、またはデコーダ14の動き推定モジュールから得られたビットストリームから直接使用することができる。場合によっては、動き分析用に使用される動きベクトルの一部を、補間または外挿用に使用される同じ動きベクトルとすることができる。アンカーフレームは、追加すべきフレームにすぐ隣接するまたは近接する以前または将来のフレームなど、追加すべきフレームに隣接するフレームとすることができる。この分析に基づいて、分析ユニット42は、現在検討中のフレームに対してビデオフレーム補間を有効にすべきかまたは無効にすべきかについての判断を行うことができる。一例では、判断基準としてフレーム中に存在するゼロ動きベクトルの数を使用することができる。
ゼロ動きベクトルは、0、または実質的に0の値をもつ動きベクトルである。たとえば、いくつかの実装形態では、しきい値を下回る値をもつ動きベクトルをゼロ動きベクトルとみなすことができる。いくつかの実装形態では、動きベクトルは、ビットストリーム埋込み動きベクトルから処理された値とすることができる。ゼロ動きベクトルカウント、すなわちゼロ値動きベクトルの数がしきい値よりも大きい場合、シーンは静的であると判断することができ、その場合、ビデオフレーム補間は無効にされる。静的シーンではフレーム繰り返しを使用することができる。モード判断情報、たとえば、イントラまたはインターコーディングモード判断情報を使用することによってさらなる拡張を加えることができる。たとえば、非イントラコーディングマクロブロックについてゼロ動きベクトルの数をカウントして、より正確なゼロ動きベクトルカウントを得ることができる。
別の例では、判断基準として、ゼロ動きベクトルカウントに加えて小さい動きベクトルカウントを使用することができる。小さい動きベクトルは、所定のしきい値を下回る値をもつ0でない動きベクトルとすることができる。小さい動きベクトルカウントを追加する1つの理由は、たとえば、いくつかのシーンは、ゼロ動きベクトルによって示される多数の静的マクロブロックを有する場合であっても、投げられたボール、飛行中の鳥、または通過車両など、比較的小さい数の高速移動物体を含むこともあることである。一連のビデオフレームにわたって新しい物体がビデオシーンに急速に入りまたはビデオシーンから急速に出ると、フレーム中にかなりの動きアクティビティが生成されることがある。
高速移動物体が全フレームの小さい部分を占有することがあるが、FRUC生成フレーム中でそれらを補間して時間品質を保持することが重要である。したがって、フレーム補間が無効にされたときにシーンが完全に静的であることを保証するために、小さい動きベクトルカウントに依存する第2の基準、たとえば、小さい動きベクトルカウントしきい値を追加することができる。さらに、この基準により、暗黙的に高速移動小物体の問題をなくすことができる。
図10の例では、動き分析器64は、フレーム中のゼロ値動きベクトルの数をカウントしてゼロ動きベクトルカウント(Zmv_c)を生成する(140)。一般に、フレーム中の各マクロブロックは動きベクトルを有する。マクロブロックの動きベクトルが、移動なしを示す0の値を有する場合、動きベクトルをゼロ動きベクトルとしてカウントする。同じく、場合によっては、動きベクトルは、しきい値を下回る0でない小さい値を有する場合、ゼロ値動きベクトルとしてカウントできる。いずれの場合も、ゼロ動きベクトルの数がカウントされると、動き分析器64は、ゼロ動きベクトルの数、すなわちゼロMVカウントZmv_cが適用可能なしきい値Th以上であるかどうかを判断する(142)。そうであれば、ビデオシーンは比較的静的である。この場合、動き分析器64は、補間または外挿を無効にし、その代わりにフレーム置換ユニット38は追加すべきフレームに対してフレーム繰り返しを適用すべきことを選択ユニット44に伝達する(144)。前述のように、フレーム繰り返しは、最も近接した以前または将来のフレームを選択する単純な方式を使用するか、あるいは繰り返しフレームとしてより高品質の参照フレームを選択するための品質ベースの方式を使用することができる。
ゼロMVカウントZmv_cがしきい値未満の場合(142)、動き分析器64は、フレーム置換を実行すべきことを選択ユニット44に伝達する(146)。この場合、分析ユニット42によって実行された品質分析の結果としての1つまたは複数の適切な参照フレームの選択に従って、補間(または外挿)を実行し、または実行しないことができる。実際には、シーンが静的でないとき、補間用に十分な品質を有するフレームが利用できる場合、分析ユニット42は品質重視モードに戻って1つまたは複数の参照フレームを選択することができる。品質分析によって1つまたは複数の適切な参照フレームが生成された場合、選択ユニット44は、追加すべきフレームの補間において使用するために選択されたフレームをフレーム置換ユニット38に伝達することができる。
しきい値Th(142)は固定とすることができる。代替的に、しきい値Thは、電力レベル、計算リソースレベル、および/またはメモリリソースレベルなど、ビデオデコーダ14の利用可能なフレーム置換リソースに基づいて調整できる。図10に示すように、リソース重視モードでは、分析ユニット42は随意に、リソースレベルを検出し(143)、その検出されたリソースレベルに基づいてしきい値Thを調整する(145)ことができる。たとえば、分析ユニット42は、バッテリレベル、および/または利用可能な計算リソース、秒当たりに利用可能な命令の数、および/または利用可能なメモリリソースなど、利用可能な電力リソースを判断することができる。リソースレベルは、たとえば、計算動作とリソース消費との間の知られている関係に基づいて直接的に検出または推定できる。モバイルデバイスの場合、バッテリリソースが低い場合は、分析ユニット42は、かなりの量の動きが存在するときフレーム置換が有効にされるようにしきい値Thを低減することができる。しきい値が固定または調整可能であるいずれの場合も、フレーム置換が有効にされた場合、分析ユニット42は、参照フレームを選択するか、またはフレーム置換を無効にするための1つまたは複数の品質基準を適用することができる。
図11の例では、動き分析器64は、ゼロMVカウントと小さいMVカウントの両方に基づいて動きを分析する。図11に示すように、動き分析器64は、フレーム中のゼロ値動きベクトルの数をカウントしてゼロ動きベクトルカウント(Zmv_c)を生成し(148)、フレーム中の小さい動きベクトルの数をカウントして小さい動きベクトルカウント(Smv_c)を生成する(150)。小さい動きベクトルは、しきい値を下回る0でない値をもつ動きベクトルとすることができる。ゼロ動きベクトルが優勢であるときでも、しきい値を下回る値を有するという意味において小さい0でない動きベクトル(本明細書では小さい動きベクトルと呼ぶ)を含む、いくつかの0でない動きベクトルが存在することがある。小さい動きベクトルは、ボール、鳥、車など、1つまたは複数の小さい移動物体に関連することができる。動き分析器64は、それぞれゼロMVカウント(Zmv_c)および小さいMVカウント(Smv_c)を、それぞれのしきい値Th1およびTh2と比較する(152)。
ゼロMVカウント(Zmv_c)がしきい値Th1以上であり、小さいMVカウント(Smv_c)がしきい値Th2未満である場合、動き分析器64は、フレーム置換の代わりにフレーム繰り返しを適用すべきことを示すよう選択ユニット44に指示する(154)。この場合、しきい値Th1を上回るゼロMVカウントは、フレームによって提示されたビデオシーンが概して静的であることを示す。同時に、しきい値Th2未満である小さいMVカウントは、フレームによって提示されたビデオシーン内で移動中の有意な小さい物体がないことを示す。フレームの概して静的なコンテンツを鑑みると、フレーム繰り返しが適切である。
ゼロMVカウント(Zmv_c)がしきい値Th1未満であるか、または小さいMVカウント(Smv_c)がしきい値Th2以上である場合、動き分析器64は、分析ユニット42によって実行された品質分析の一部としての参照フレームの選択に従って、フレーム置換を実行すべきことを示す(156)。この場合、しきい値Th1未満であるゼロMVカウントは、ビデオシーンが有意な動きを含むことを示す。
ゼロMVカウントがしきい値Th1未満でない場合でも、フレームは、補間によってより良く提示できるはずの1つまたは複数の比較的小さい移動物体を含むことがある。したがって、動き分析器64は、小さいMVカウントがしきい値Th2以上であって1つまたは複数の小さい高速物体の存在を示しているときは、補間を実行すべきことを示すことができる。そのような物体は概して小さく、フレーム中の他の物体よりも高速に移動できる。フレームコンテンツが概して静的でないか、または概して静的なフレームが小さい移動物体を含むときは、たとえば、フレームの補間または外挿によるフレーム置換が適切である。
図10の例の場合のように、図11のしきい値Th1、Th2は、固定とすることも、または利用可能な補間リソースに基づいて調整することもできる。特に、しきい値Th1、Th2の一方または両方は、判断されたリソースレベルに基づいて調整できる。図11に示すように、リソース重視モードでは、分析ユニット42は随意に、リソースレベルを検出し(143)、検出されたリソースレベルに基づいてしきい値を調整する(145)ことができる。たとえば、分析ユニット42は、モバイルデバイスのバッテリレベル、および/または利用可能な計算リソース、秒当たりに利用可能な命令の数、および/または利用可能なメモリリソースなど、利用可能な電力リソースを検出または推定することができる。たとえば、バッテリリソースが低い場合、分析ユニット42は、かなりの量の動きが存在するとき補間が有効にされるようにしきい値Th1を低減し、しきい値Th2を増大させることができる。
場合によっては、動きベクトルを小さい動きベクトルとして分類するために使用されるしきい値は、固定とするか、またはフォーマットサイズに基づいて調節可能とすることができる。上述のように、小さい動きベクトルは、特定のしきい値を下回る値を有する0でない動きベクトルとすることができる。いくつかの実装形態では、0でない動きベクトルが小さいかどうかを判断するのに使用されるしきい値は、復号され、補間または外挿されるビデオユニットのフォーマットサイズに基づいて調整できる。たとえば、小さい動きベクトルは、漸進的により大きいフォーマットサイズを有するQCIF、CIF、QVGA、およびVGAフレーム用の様々なしきい値によって分類できる。CIFフレーム用の小さい動きベクトルしきい値の値は、VGAフレーム用の小さい動きベクトルしきい値の値よりも小さくてよい。特に、動きベクトルの大きさは、より小さいフォーマットフレーム中では大きいとみなすことができるが、より大きいフォーマットフレーム中では、より大きいフォーマットフレームのより大きい全サイズを考慮して小さいとみなすことができる。したがって、いくつかの実装形態では、動き分析器64は、補間または外挿されているビデオユニットのフォーマットサイズに基づいて小さい動きベクトルしきい値を調整することができる。たとえば、より小さいフォーマットフレーム用に使用される小さい動きベクトルしきい値は、より大きいフォーマットフレーム用に使用される小さい動きベクトルしきい値よりも小さくてよい。
図12は、たとえば、1つまたは複数の品質特性の分析に基づいて置換フレームの表示を選択的に有効または無効にするように構成されたビデオデコーダ158の一例を示すブロック図である。たとえば、後述するように、ビデオデコーダ158は、ビデオデコーダにおけるフレームレートアップコンバージョンプロセスによって生成された、補間または外挿されたビデオフレームに関連する1つまたは複数の特性を分析し、その分析に基づいてディスプレイ上での補間または外挿されたビデオユニットの提示を選択的に有効および無効にするように構成できる。
この分析は、多種多様な品質特性のいずれかの分析を含むことができる。品質特性は、ピクセル領域特性、変換領域特性、および/または動きベクトル信頼性のうちの少なくとも1つを含むことができる。この1つまたは複数の品質特性を使用して、空間品質メトリック、時間品質メトリック、または他のメトリックを含む品質メトリックを作成することができる。そのような品質メトリックは、ディスプレイによってユーザに提示されるときビデオシーケンスの視覚的空間および/または時間品質に対する補間または外挿されたフレームの影響を予測する際に有用である。デコーダ158は、置換フレームに関連する品質レベルが品質しきい値を満たさない場合、置換フレームがすでに補間または外挿されていても置換フレームの表示を選択的に無効にするように構成できる。
置換フレームに関連する品質レベルは置換フレーム自体の品質レベルに基づくことができる。いくつかの実装形態では、品質レベルは、置換フレームを補間または外挿するのに使用される1つまたは複数の参照フレームの品質レベルに基づくことができる。他の実装形態では、品質レベルは、置換フレームと、置換フレームを生成するために使用している1つまたは複数の参照フレームとの品質レベルに基づくことができる。各場合において、品質レベルは、概して、置換フレームを表示することによって達成できる視覚的品質の増強の程度を示すことができる。
置換フレームがすでに補間または外挿されていても、ビデオデコーダ中の置換フレームの送信および表示を選択的に無効にすることが依然として望ましいことがある。たとえば、補間または外挿がすでに実行されていても、置換フレームを表示することによって生成された視覚的品質は、置換フレームの送信および表示のための追加のリソースの消耗を補うのに不十分なことがある。その代わりに、置換フレームを廃棄し、たとえば、新しいフレームを送信する代わりにより長い時間期間表示されるようにフレームを保持することによって隣接するフレームを繰り返し、それによって置換フレームを表示するのに必要な電力または他のリソースを節約することがより望ましいことがある。いくつかの実装形態では、一部のフレームの送信および表示を選択的に無効にすることに加えて、ビデオデコーダ158はまた、平滑化、シャープニング、輝度調節、および/またはコントラスト強調などの1つまたは複数の後処理動作を無効にして、置換フレームが追加のリソースを節約することができる。
図12の例では、ビデオデコーダ158は、たとえばエンコーダ12から符号化フレーム24を受信する受信フレームバッファ160と、受信フレームを復号する復号ユニット162と、復号フレームを記憶する出力フレームバッファ164と、補間または外挿によってフレーム置換を実行して出力フレームバッファ164にフレームを追加しそれによってFRUCプロセスをサポートする置換ユニット166と、選択的表示分析ユニット168とを含む。分析ユニット168は信号またはコマンドを発生するように構成できる。分析ユニット168からの信号またはコマンドに応答して、制御ユニット172は、出力フレームバッファ164などのビデオバッファから、ユーザに対する視覚的提示用のディスプレイ170への置換フレームの送信を選択的に有効または無効にすることができる。いくつかの態様では、デコーダ158が、たとえば図4、図5、および図7を参照しながら説明したリソース重視モードにあるとき、分析ユニット168を選択的に活動化することができる。代替的に、他の実装形態では、選択的表示分析ユニット168は、選択的活動化を用いてまたは用いずに置換単位166によって生成される置換フレームの表示を選択的に有効または無効にするように定期的に動作することができる。
置換ユニット166は、フレーム補間または外挿などのフレーム置換を実行して、出力フレームバッファ164に記憶された出力フレームにフレームを追加し、それによってFRUCプロセスをサポートする。ビデオデコーダ158は、置換フレームの補間または外挿において置換ユニット166が使用するための特定の参照フレームを選択するために、本開示の他の場所で説明した参照フレーム選択技法を適用してもしなくてもよい。いくつかの態様では、置換ユニット166は、それらのフレームの分析に基づいて1つまたは複数の参照フレームを選択し、あるいは単に1つまたは複数の隣接するフレームを使用して置換フレームを生成することができる。しかしながら、いずれの場合も、分析ユニット168はさらに、置換フレームに関連する品質レベルを分析して置換フレームを表示すべきかどうかを判断するように構成できる。置換フレームに関連する品質は、置換フレームそれ自体に関連する1つまたは複数の品質特性、置換フレームを補間または外挿するのに使用される参照フレームのうちの1つまたは複数に関連する1つまたは複数の品質特性、あるいは両者の組合せを含むことができる。品質を分析するために、分析ユニット168は客観的品質メトリックを、置換(たとえば、補間または外挿される)フレーム、および/または置換フレームを補間または外挿するのに使用される参照フレームに適用することができる。
分析ユニット168は、品質分析に基づいてディスプレイ170による出力フレームバッファ164からの置換フレームの表示を選択的に有効または無効にするように制御ユニット172に指示することができる。たとえば、置換フレームを発生するために使用される1つまたは複数の参照フレームの品質、および/または置換フレーム自体の品質が、適用可能な品質しきい値を満たさない場合、分析ユニット168は、ディスプレイ170上で提示するための出力フレームバッファ164からの補間されたフレームの送信を無効にするように制御ユニット172に指示することができる。しかしながら、品質が容認できる場合、選択的ディスプレイ分析ユニット168は、ディスプレイ170によってユーザに提示するためのディスプレイ170への補間または外挿されたフレームの送信を有効にするように制御ユニット172に指示することができる。このようにして、ビデオデコーダ158は、置換フレームの品質が不十分なとき置換フレームを表示するための追加のリソースの消耗を回避することができる。
置換フレームは、ディスプレイ170に送信されないとき、たとえば、後に復号、補間または外挿されるフレームでそのフレームを上書きすることによって出力フレームバッファ164から廃棄できる。この場合、ディスプレイ170は、出力フレームバッファ164からディスプレイに送信された以前のフレームを(たとえば、より長い時間期間表示されるように以前のフレームを保持することによって)単に繰り返すか、または置換フレームの後にくる次のフレームを送信し、繰り返す(たとえば、保持する)ことができる。この場合、ディスプレイ170は、追加の時間期間にわたって置換フレームを表示するのではなく、その時間中に以前のフレームを表示することができる。フレーム繰り返しを使用することによって、ビデオデコーダ159は、置換フレームを送信し表示する必要をなくし、それによって電力および/または他のリソースを節約することができる。上述のように、置換フレームの選択的表示は、単独で、または本開示の他の場所で説明した参照フレーム選択技法と組み合わせて使用できる。
分析ユニット168は、置換ユニット166によって生成される置換フレームに関連する様々な品質特性のうちの1つまたは複数を分析するように構成できる。いくつかの実装形態では、分析ユニット168によって分析される品質特性は、図5の客観的メトリックチェッカー50によって評価される品質特性と同様とすることができる。たとえば、分析ユニット168は、置換ユニット166によって生成される置換(たとえば、補間または外挿される)フレームに関連するピクセル値、あるいは置換フレームを生成するのに使用される1つまたは複数の参照フレームに関連するピクセル値を分析し、そのようなフレームに関連するブロッキネス、ぼけ度、カラーブリーディング、または他の客観的空間品質メトリックの度合いを判断し、その判断に基づいて品質スコアを発生するように構成できる。
したがって、品質分析は、ピクセル領域中の置換ユニット166によって生成された置換フレームを分析することによって、またはピクセル領域中の復号ユニット162によって生成された、復号され、再構成された参照フレームを分析することによって、または両者の組合せによって実行できる。参照フレームを分析する実装形態では、参照フレームは、置換フレームを補間または外挿するのに使用される参照フレームとすることができる。置換ユニット166によって生成された特定の補間または外挿された置換フレームの品質スコアは、大幅なブロッキネス、ぼけ度、および/またはカラーブリーディングが置換フレームにおいて(または、フレームを生成するのに使用された1つまたは複数の参照フレームにおいて)検出されると低く、ブロッキネス、ぼけ度、および/またはカラーブリーディングがほぼないと高い。
異なる置換フレームのための品質スコアは、そのような客観的視覚的品質メトリック特性に応じて、高いスコアと低いスコアの間で異なる。代替的に、品質スコアは、所定のしきい値との比較に基づいて高いかまたは低いと表される。いずれの場合も、置換フレームの品質スコアが品質しきい値を満たさない(たとえば、品質しきい値よりも小さい)場合、分析ユニット168は、出力フレームバッファ164からディスプレイ170へのフレームの送信を無効にするように制御ユニット172に指示することができる。代替的に、置換フレームの品質スコアがしきい値を満たす(たとえば、しきい値以上である)場合、分析ユニット168は、ユーザに提示するための出力フレームバッファ164からディスプレイ170への置換フレームの送信を有効にするように制御ユニット172に指示することができる。
上述のように、分析ユニット168は、置換フレームのピクセル値、補間または外挿によって置換フレームを生成するのに使用される1つまたは複数の参照フレームのピクセル値、あるいは置換フレームの近傍にある1つまたは複数の他のフレームのピクセル値を分析することによって置換フレームに関連する品質特性を分析することができる。参照フレームが分析されると、置換ユニット166は、特定の置換フレームを補間または外挿するためにどの1つまたは複数の参照フレームが使用されたのかを分析ユニット168に示すことができる。
ピクセル値を使用して、上述のように、分析ユニット168は、置換フレームおよび/または置換フレームを生成するのに使用される1つまたは複数の参照フレームに関連するSSIM、ブロッキネス、ぼけ度、および/またはカラーブリーディングメトリックなどの1つまたは複数の空間品質メトリックを分析することができる。いくつかの実装形態では、(参照フレームまたは置換フレームの追加または代替として)置換フレームに時間的に最も近い他のフレームに、代替的に、または追加的に、ピクセル値分析を適用することができる。置換フレーム、参照フレーム、または別の近くのフレームのための空間品質メトリックが、適用可能なしきい値を満たさない場合、分析ユニット168は、置換フレームの表示を無効にするように制御ユニット172に指示することができる。
単純な例として、置換フレームに関連するピクセル値によって提示されるブロッキネスの量がしきい値を超える場合、分析ユニット168は置換フレームの表示を無効にすることができる。このようにして、復号器158は、品質に悪影響を及ぼす置換フレーム、または追加の表示リソースの消耗を補うには不十分である品質増強を行う置換フレームの表示を回避することができる。
代替、または追加の動作として、品質分析のために、分析ユニット168は、空間品質メトリックの時間変動などの1つまたは複数の時間品質メトリックを分析することができる。たとえば、分析ユニット168は、置換フレームと、置換フレームを補間または外挿するのに使用される1つまたは複数の参照フレームとの間の空間品質(たとえば、SSIM、ブロッキネス、ぼけ度、および/またはカラーブリーディング)の変動を分析することができる。時間品質変動が変動しきい値よりも大きい場合、分析ユニット168は、置換フレームの表示を無効にするように制御ユニット172に指示することができる。
分析ユニット168は、1つまたは複数の空間品質メトリックの時間変動を単独で、または空間品質メトリックそれ自体と組み合わせて検討することができる。たとえば、空間品質メトリックまたは時間品質メトリックのいずれかが、適用可能なしきい値を満たさない場合、分析ユニット168は置換フレームの表示を無効にすることができる。代替的に、分析ユニット168は、空間品質と時間品質値との重み付けされた合計に基づいてスコアを計算し、その合計を複合しきい値と比較することができる。
さらなる改良として、いくつかの実装形態では、分析ユニット168は、置換フレーム、参照フレーム、または他の近くのフレーム内のアーティファクトの位置を分析するように構成できる。アーティファクトは、表示フレームの特定の局在領域においてブロッキネス、ぼけ度、またはカラーブリーディングによって生成される望ましくない可視の特徴とすることができる。分析ユニット168は、フレームの全体的なブロッキネス、ぼけ度、またはカラーブリーディングを分析し、あるいはフレームの局在領域のコンテキストにおいてそのような特性を検討することができる。たとえば、分析ユニット168は、フレームの局在領域、たとえば3×3ピクセル領域のピクセル値分散を分析して、そのような領域中でテクスチャの指示を発生することができる。一般に低い分散によって示される滑らかな領域は、ブロッキネス、ぼけ度、カラーブリーディング、または他のアーティファクトによって引き起こされる可視のアーティファクトをより受けやすいことがある。しかしながら、そのようなアーティファクトは、より多くのテクスチャをもつより高い分散領域ではより見えにくいことがある。
フレームのための空間品質メトリックの代替または追加として、分析ユニット168は、フレーム内の複数の局在領域のための局在空間品質メトリックを生成することができる。フレームの局在空間品質メトリックが、アーティファクトがより見えるであろう滑らかな領域のいずれにおいても適用可能なしきい値を満たさない場合、分析ユニット168は、可視のアーティファクトの提示を低減または回避するために置換フレームの表示を無効にすることができる。しかしながら、局在空間品質メトリックが、より多くのテクスチャをもつより高い分散領域のみにおいて品質しきい値を満たさない場合、分析ユニット168は、そのような領域ではアーティファクトがユーザに見えないかまたはより見えにくいであろうとの認識を用いて置換フレームの表示を可能にすることができる。さらなる代替として、分析ユニット168は、異なる局在領域に対して異なるしきい値を使用することができる。滑らかな低分散領域では、分析ユニット168は、可視のアーティファクトの導入を低減または回避するために実際にはより高い品質を必要とするので、より高い品質しきい値を使用することができる。より高い分散領域では、分析ユニット168は、高いテクスチャ領域中でかなりのアーティファクトが発生するときにのみまたは実質的に発生するときにのみ置換フレームの表示を可能にする品質しきい値を使用することができる。
分析ユニット168は、前述した局在領域を分析するためにフレームをスキャンすることができる。局在領域のいずれか、または局在領域の所定の割合が、表示フレーム中の可視のアーティファクトの可能性を示す、(分散しきい値を下回る)低い分散と(品質しきい値を下回る)低品質メトリックの両方を示す場合、分析ユニット168は、置換フレームの表示を無効にするように制御ユニット172に指示することができる。この所定の割合は、固定または適応型のしきい値とすることができる。他の実装形態では、分析ユニット168は、たとえば、低いテクスチャと低い品質を有する局在領域が連続しているかどうかを検討することによってアーティファクトが可視である領域のサイズを分析するように構成できる。したがって、分析ユニット168は、割合しきい値に対するかなりのアーティファクトを有するすべての局在領域の、および/またはサイズしきい値に対する(たとえば、低品質/低テクスチャ領域によって示される)アーティファクトのすべてのサイズの割合を分析して、置換フレームの表示を有効にすべきかまたは無効にすべきかを判断することができる。
追加的に、または代替的に、分析ユニット168は、置換フレームを補間または外挿するのに使用される参照フレームに関連する動きベクトルの信頼性を示すデータなど、他のタイプのデータを使用して置換フレームに関連する品質を分析することができる。分析ユニット168によって品質分析のために使用できるデータの他の例には、置換フレームの補間または外挿のために使用される1つまたは複数の参照フレームに関連する離散コサイン変換(DCT)またはウェーブレット変換係数に関係する情報などの圧縮領域情報がある。圧縮領域情報は、たとえば、QPおよびCBP値を含むことができる。図12に示すように、いくつかの実装形態では、分析ユニット168は復号ユニット162からQPおよびCBP値を受信することができる。QPおよび/またはCBP値は、置換フレームを補間または外挿するのに使用される参照フレームに関連することができる。QP、CBP値、および/または他の圧縮領域情報を使用して、分析ユニット168は置換フレームの品質を分析することができる。
一例として、分析ユニット168は、たとえば、図5および図8を参照しながら上述したしたのと同様の方法で動きベクトル信頼性を評価することができる。1つまたは複数の参照フレームの動きベクトル信頼性が不十分である場合、分析ユニット168は、置換フレームの表示を無効にするように制御ユニット172に指示することができる。分析ユニット168は、たとえば、図5のMV信頼性チェッカー60に関して上述したのと同様の方法で、動き差分ベースの手法、フレーム間動き変化検出の手法、または動き軌道ベースの手法など、動きベクトル信頼性を判断するための様々な技法のいずれでも適用することができる。分析ユニット168は、置換フレームの表示を有効にすべきかまたは無効にすべきかを判断するために、動きベクトル信頼性を単独で、またはたとえば、ピクセル領域品質メトリック、時間メトリックまたは局在メトリックを含む本明細書で説明する他の品質メトリックと組み合わせて検討することができる。
上述のように、分析ユニット168は、置換フレームを補間または外挿するのに使用される参照フレームに関連するQPおよび/またはCBP値などの圧縮領域情報に基づいて品質を分析することができる。圧縮領域情報は、たとえば、受信フレームに関連するビットストリームをパースすることによって受信フレームバッファ160中の参照フレームから得ることができる。一例として、分析ユニット168は、図5のQPチェッカー54およびCBPチェッカー56および品質スコア計算器58、ならびに図9のフロー図に示すプロセスを参照しながら説明したのと同様の方法で、参照フレームに関連するQPおよび/またはCBPを分析するように構成できる。QPおよびCBP値が、たとえば、図9に示すようにQPをQPしきい値QP_thと比較しCBP値が0でないかどうかを判断することによって参照フレームの比較的高い品質を示す場合、分析ユニット168は、関係する参照フレームを使用して補間または外挿された置換フレームの表示を有効にするように制御ユニット172に指示することができる。しかしながら、QPおよびCBP値が低品質を示す場合、分析ユニット168は、置換フレームの表示を無効にするように制御ユニット172に指示することができる。
置換フレームを表示すべきかどうかを判断するために、圧縮領域情報およびMV信頼性の分析は、分析ユニット168によって、単独で、または空間品質情報もしくは時間品質情報などの他の品質情報との組合せのいずれかで使用できる。いくつかの実装形態では、分析ユニット168は、組み合わせられた様々な品質情報を分析するように構成できる。たとえば、分析ユニット168は、ピクセル領域における客観的空間および/または時間品質メトリック(たとえば、SSIM、ブロッキネス、ぼけ度、およびカラーブリーディング、および/または関連する時間変動)、ならびにQPおよびCBP値などの変換領域情報、および場合によってはエラー隠蔽(EC)信頼性情報を分析して、品質スコアを発生し、次いで動きベクトル(MV)信頼性分析を適用して、品質スコアが容認できる置換フレームを表示すべきかどうかを判断することができる。
エラー隠蔽(EC)信頼性については、分析ユニット168は、図5のECチェッカーおよび図9のプロセッサを参照しながら説明したのと同様のEC分析を適用することができる。たとえば、分析ユニット168は、置換フレームを生成するのに使用される1つまたは複数の参照フレームを分析し、スライス損失があるかどうかを判断することができる。そうであれば、分析ユニット168は、適切なEC機構が利用できるかどうかを判断することができる。適切なEC機構がない場合、分析ユニット168は、ディスプレイ170による置換フレームの表示を無効にするように制御ユニット172に指示することができる。しかしながら、容認できるEC機構が利用可能である場合、分析ユニット168は置換フレームの表示を可能にすることができる。スライス損失およびEC機構の分析は、置換フレームの表示を選択的に有効または無効にするための基準として、単独で、または空間品質、時間品質、動きベクトル信頼性などの他の品質特性の分析と組み合わせて実行できる。
いくつかの実装形態では、分析ユニット168は、分析ユニット168が、置換フレームを補間または外挿することにおいて使用するためにフレームの特定の参照フレームを選択すべきかどうかを判断する代わりに、置換フレームを表示すべきかどうかを判断することを除いては、図5の分析ユニット42と同様の方法で動作するように構成できる。特に、置換フレームはすでに置換ユニット166によって生成されているので、分析ユニット168は、1つまたは複数の参照フレームの品質特性を分析することの追加または代替のいずれかとして、ピクセル領域における置換フレームの客観的品質特性を分析することができる。たとえば、分析ユニット168は置換フレームの品質を、単独で、あるいは1つまたは複数の参照フレームの品質および/または動きベクトル信頼性と組み合わせて検討することができる。代替的に、分析ユニット168は、置換フレームの品質を検討することなしに参照フレームの品質および/または動きベクトル信頼性を検討することができる。
分析ユニット168は、置換フレームが視覚的および/または時間品質に有利に寄与する可能性が高いときそのようなフレームをディスプレイ170に選択的に供給するために効果的なことがある。補間または外挿がすでに実行されていても、品質レベルが、フレームを送信し、表示するために必要とされる追加のリソースを補わない場合、フレームを廃棄することは依然として有利なことがある。置換フレームを出力フレームバッファ164からディスプレイ170に送信するのに大量の電力が必要とされることがある。
一般に、分析ユニット168は、ビデオデコーダ158中の置換ユニット166によって実行されるFRUCプロセスによって生成された、補間または外挿されたビデオフレームの1つまたは複数の品質および/または動き特性を分析するように構成できる。この分析に基づいて、分析ユニット168は、ディスプレイデバイス170上で提示するための補間または外挿されたビデオフレームの送信を選択的に有効および無効にするように制御ユニット172に指示することができる。品質分析のためにSSIM、ブロッキネス、ぼけ度、および/またはカラーブリーディングなどの客観的視覚的品質メトリック特性を分析することができるが、他の品質メトリックを使用することもできる。
いくつかの態様では、復号器158は異なるモードで動作するように構成できる。リソース重視モードなどの第1のモードでは、復号器158は、たとえば、制御ユニット172によってディスプレイデバイス170上で表示するための補間または外挿されたビデオフレームの送信を品質分析に基づいて選択的に有効および無効にすることができる。第2の動作モードでは、復号器158の制御ユニット172は、品質分析を実行することなしに、または品質分析の結果を顧慮せずに表示デバイス170上で提示するための補間または外挿されたフレームの送信を有効にすることができる。
分析ユニット168はまた、過去の一連のN個の以前の置換フレームにわたって表示が無効にされた置換フレームの数を検討するように構成でき、ここで、Nは1つよりも大きい数を表す。最後のN個のフレーム中の所定の数または割合Mを上回る以前の置換フレームが、たとえば、品質特性のために表示されなかった場合、分析ユニット168は現在の置換フレームの表示を有効にすることができる。この場合、現在の置換フレームは、適用可能な品質しきい値を満たしていなくても表示できる。このようにして、分析ユニット168は、長い一連の置換フレームの表示をスキップすることを回避することができる。
代替的に、表示を有効にする代わりに、分析ユニット168は、置換フレームが表示される確率がより高くなるように現在の置換フレームのための1つまたは複数の適用可能な品質しきい値を低減することができる。したがって、いずれの場合も、分析ユニット168は、所定数の以前のフレームにわたって表示されなかった置換フレームの数に少なくとも部分的に基づいて現在の置換フレームの表示を有効にすべきかどうかを判断することができる。一例として、検討中の以前の置換フレームの数がN=10であり、表示されないフレームMのしきい値数が5である場合、分析ユニット168は、最後の10個のフレーム中の表示されないフレームの数が5以上であった場合、現在の置換フレームの表示を可能にするように制御ユニット172に指示することができる。
改良として、いくつかの実装形態では、最後のN個の置換フレーム中の表示されなかった置換フレームの絶対数を検討するのではなく、分析ユニット168は、表示されなかった連続する置換フレームの数を検討することができる。たとえば、分析ユニット168は連続するカウントしきい値Mを適用することができる。以前のM+1個の連続する置換フレームが、たとえば、品質特性のために表示されなかった場合、分析ユニットは、現在の置換フレームの表示を有効にするように制御ユニット172に指示することができる。分析ユニット168は、以前の置換フレームの非表示に基づいて現在の置換フレームを表示すべきかどうかを判断するための多種多様なしきい値方式のどれでも適用することができる。したがって、この説明は、限定ではなく例示のために与えるものである。
図13は、置換フレームの選択的表示のための例示的な技法を示す流れ図である。図12の復号器158は、図13の技法を実行するように構成できる。図13に示すように、復号器158は、入力ビデオフレームを受信し(174)、フレームを復号し(176)、フレーム置換を実行して(178)、受信フレームの一部を使用して補間または外挿用の参照フレームとして置換フレームを生成する。復号器158中に設けられた分析ユニット168などの分析ユニットは、置換フレームのうちの全部または一部の1つまたは複数の品質特性を分析する(180)。いくつかの実装形態では、分析ユニットは、ビデオデコーダ158、ビデオ後処理ユニット中に、またはモバイルディスプレイプロセッサ(MDP)などのビデオディスプレイ処理ユニット中に設けることができる。たとえば、分析ユニット168は、置換ユニット166によって生成された、補間または外挿されたフレーム中のSSIM、ブロッキネス、ぼけ度、またはカラーブリーディングなどの様々な客観的品質特性を分析することができる。
置換フレームの品質が品質しきい値を満たす、たとえば、品質しきい値以上である場合(182)、分析ユニット168は、たとえば、出力フレームバッファ164からディスプレイ170へのフレームの送信を有効にすることによって置換フレームの表示を有効にするように制御ユニット172に指示する(184)。品質が品質しきい値を満たさない、たとえば、しきい値以下である場合(182)、分析ユニット168は、置換フレームの表示を無効にするように制御ユニット172に指示する(186)。場合によっては、品質しきい値は、たとえば、利用可能なリソースに基づいて適応的に調整できる。したがって、置換フレームを生成するためにいくつかのリソースが消耗されても、復号器158は、たとえば、あらかじめ定義されたしきい値品質レベルに対して置換フレームの品質が不十分であるとき追加のリソースの消費を回避することができる。
図13の例では、分析ユニット168は、置換フレーム自体の品質を分析してその置換フレームを表示すべきかどうかを判断するように構成できる。したがって、場合によっては、他のフレームを分析する必要がないことがある。しかしながら、他の実装形態では、分析ユニット168は、置換フレームを表示すべきかどうか判断するための基準として置換フレームを生成するために使用される1つまたは複数の参照フレームの品質を分析することができる。ブロック188によって示されるように、分析ユニット168は、随意に、1つまたは複数の参照フレームの品質を、単独で、または置換フレームの品質の分析との組合せのいずれかで分析することができる。置換フレームの品質分析は、概して置換フレームのピクセル領域値の分析を含むことができる。上述のように、参照フレームの品質分析は、ピクセル領域値、変換領域値、MV信頼性、EC信頼性などの分析を含むことができる。
図14Aは、図12に示すビデオデコーダ158とともに使用できる分析ユニット168を示すブロック図である。図14Aの例では、分析ユニット168は、置換フレームのための客観的な1つまたは複数の品質メトリックを使用して置換フレームに関連する品質を分析するように構成される。たとえば、客観的メトリックチェッカー173は、置換フレームのためのSSIM、ブロッキネス、ぼけ度、またはカラーブリーディングなどの客観的空間品質メトリックを分析することができる。そのようなメトリックは、たとえば、置換フレームのピクセル値から得ることができる。いくつかの実装形態では、客観的メトリックチェッカー173は、フレームを全体として、または局在領域単位で分析することができる。品質スコア計算器175は、1つまたは複数の客観的品質メトリックに基づいて品質スコアを発生することができる。比較ユニット177は、置換フレームの表示を有効にすべきかまたは無効にすべきかを判断するために、品質スコアをしきい値と比較することができる。品質スコアが品質しきい値を満たす場合、比較ユニット177は、ディスプレイ170による置換フレームの表示を可能にするように制御ユニット172に指示することができる。品質スコアが品質しきい値を満たさない場合、比較ユニット177は、置換フレームの表示を無効にするように制御ユニット172に指示することができる。この場合、置換フレームの代わりに以前または将来のフレームをディスプレイ170によって繰り返すことができる。
図14Bは、図12に示すビデオデコーダ158とともに使用できる分析ユニット168を示す別のブロック図である。図14Aの例では、分析ユニット168は、置換フレームの品質を直接分析するように構成される。図14Bの例では、分析ユニット168は、参照フレームの品質、置換フレームの品質、または両方の組合せを分析するように構成できる。さらに、図14Bでは、分析ユニット168は、ピクセル値、変換領域値、動きベクトル、および/または他のタイプの情報を分析するように構成できる。一般に、分析ユニット168は、図5の分析ユニット42にいくぶん類似した方法で構成できる。たとえば、分析ユニット168は、客観的メトリックチェッカー173、品質スコア計算器175、比較ユニット177、ECチェッカー179、QPチェッカー181、CBPチェッカー183、およびMV信頼性チェッカー185のうちの1つまたは複数を含むことができる。
客観的メトリックチェッカー173は、上述のように、置換フレーム、および/または置換フレームを生成するのに使用される1つまたは複数の参照フレームを分析して客観的空間品質および/または時間品質の指示を生成することができる。いくつかの実装形態では、客観的メトリックチェッカー173は、フレームを全体として、または局在領域単位で分析することができる。ECチェッカー179は、スライス損失を検出し、容認できるEC機構が利用可能であるかどうかを判断することができる。QPチェッカーおよびCBPチェッカー181、183は、参照フレーム用のQPおよびCBP値に基づいて品質の指示を発生することができる。
品質スコア計算器175は、いくつかの実装形態では、たとえば、図5および図9を参照しながら説明したのと同様の方法で、置換フレームの選択的表示の検討のために全体的な品質スコアを計算することができる。品質スコアは置換フレームごとにリセットすることができる。しかしながら、以前の置換フレームについて分析された品質メトリックは、現在の置換フレームに対して有用ならば、保持し、再利用できる。一例として、同じ参照フレームを別の置換フレームのために使用する場合、1つの置換フレームの補間または外挿のために使用される特定の参照フレームについて判断されたQPおよびCBPデータ、MV信頼性データ、またはEC信頼性データを再利用することができる。
品質スコア計算器175は、客観的メトリックチェッカー173、ECチェッカー181、QPチェッカー181、およびCBPチェッカー183のうちの1つまたは複数の出力に基づいて候補参照フレームの全体的な品質スコアを発生するように構成できる。図5および図9を参照しながら説明したシステムプロセスと同様の方法で、客観的メトリックチェッカー173、ECチェッカー181、QPチェッカー181、およびCBPチェッカー183によって生成される個々のスコアは、単に高もしくは低品質値、または高、中間もしくは低品質値として作成されるか、あるいは多数の階調または実質的に連続スケールに沿って計算できる。品質スコア計算器175は、たとえば、総品質スコアがすべてのスコアの重み付けされた合計になるように、個々のスコアの各々に等しいまたは不均一な重み付けを与えることができる。
総スコアを計算するために使用される品質特性、たとえば、客観的メトリック、EC特性、QPおよびCBP特性は、ディスプレイ170によって提示されるとき、置換フレームが容認できる視覚的品質レベルを生成する可能性があるかどうかを示すことができる。比較ユニット177は、総スコアを品質しきい値と比較する。総スコアが十分である、たとえば、品質しきい値を満たすかまたは超える場合、比較ユニット177は、ディスプレイ170による提示用に容認できるレベルの品質を置換フレームが有することを示す。総スコアが品質しきい値未満である場合、比較ユニット177は、置換フレームはディスプレイ170による提示用には容認できないと判断する。各場合において、分析ユニット168は次いで、次の置換フレームの選択的表示の品質を分析することに進む。
品質が十分であると品質スコアは示していても、置換フレームを生成するのに使用される1つまたは複数の参照フレームに関連する動きベクトルが信頼できるかどうかを判断するためにMV信頼性チェッカー185を与えることができる。MV信頼性チェッカー185は、フレーム置換が補間または外挿のために動き補償予測方法を利用する場合、(1つまたは複数の)選択される参照フレームが高品質フレーム置換結果をおそらく生成するように、1つまたは複数の参照フレームにおける動きベクトルの信頼性を分析することができる。動きベクトルが信頼できる場合、MV信頼性チェッカー185は、置換フレームをディスプレイ170によって表示させるためのイネーブル信号を制御ユニット170に送信することができる。しかしながら、動きベクトルが信頼できない場合、MV信頼性チェッカー185は、置換フレームがディスプレイ170によって表示されないように信号を制御ユニット172に送信することができる。その代わりに、制御ユニット172は、ディスプレイ170が置換フレームの代わりに以前または将来のフレームを繰り返すことができるように置換フレームの表示を無効にすることができる。
図15は、置換フレームの選択的表示をサポートするための、品質スコアを発生するための例示的な技法を示す流れ図である。図15のプロセスは図9のプロセスと同様とすることができる。しかしながら、図12〜図14を参照しながら説明したように、スコアリングプロセスは、補間または外挿を実行するための参照フレームの選択のためではなく、すでに補間または外挿された置換フレームの選択的表示のために使用できる。図15に示すように、置換フレームを表示すべきかどうかを検討することにおいて、分析ユニット168は、補間または外挿のために使用される1つまたは複数の参照フレームを取り出して受信フレームバッファ160から置換フレームを生成し(190)、参照フレーム用のQPおよびCBP値を分析する。図9の例の場合のように、図15に示すように、分析ユニット168は、QPおよびCBP値に基づいて組み合わせられたQPベースのスコアを発生することができる。QP値が適用可能なQPしきい値(QP_th)未満であり、CBP値が0に等しくない場合(192)、分析ユニット168はフレームのQPベースのスコアを「高」に設定する(194)。QP値がQPしきい値(QP_th)以上であるか、またはCBP値がほぼ0に等しいかのいずれかの場合(192)、分析ユニット42はフレームのQPベースのスコアを「低」に設定する(196)。
図15にさらに示すように、分析ユニット168はまた、1つまたは複数の参照フレームのスライス損失を検査するように構成される(198)。図14Bを参照すると、スライス損失検査はECチェッカー179によって実行される。スライス損失がある場合、分析ユニット168は、スライス損失を補正するために適切なエラー隠蔽(EC)機構が利用可能かどうかを判断する(200)。利用可能でない場合、分析ユニット168は、参照フレームのECベースのスコアを「低」に設定する(202)。信頼できる適切なEC機構が利用可能な場合(124)、分析ユニット168はECベースのスコアを「高」に設定する(204)。この場合、損失したスライスをEC機構を使用して確実に再生することができる場合、参照フレームの品質により、置換フレームが信頼できることを示すことができる。しかしながら、スライスを再生することができない場合、参照フレームにより、置換フレームは表示すべきでない誤った情報を含むかもしれないことを示すことができる。
分析ユニット168はまた、客観的品質メトリックを(1つまたは複数の)参照フレームおよび/または置換フレームに適用する(206)。たとえば、分析ユニット168は、ブロッキネス、ぼけ度、カラーブリーディングなど、様々な客観的メトリックのいずれかを分析するために(1つまたは複数の)参照フレームの復号および再構成されたバージョンを分析する。さらに、分析ユニット168は置換フレームのピクセル領域値を分析する。したがって、客観的メトリックは、視覚的品質を評価するために、ピクセル領域における(1つまたは複数の)参照フレームおよび/または置換フレームに適用される。分析ユニット168は、品質メトリックスコアQMを作成するために、客観的メトリックの各々を定量化する。品質メトリックスコアQMが適用可能な品質メトリックしきい値(QM_th)以上である場合(208)、分析ユニット168は置換フレームのQMベースのスコアを「高」に設定する(210)。品質メトリックスコアQMが品質メトリックしきい値(QM_th)以下である場合、分析ユニット168は置換フレームのQMベースのスコアを「低」に設定する(212)。
分析ユニット168は、QPベースのスコアと、ECベースのスコアと、QMベースのスコアとの組合せに基づいて置換フレームの総品質スコアを設定する(214)。総品質スコアは、(1つまたは複数の)参照フレームおよび/または置換フレームのQPベースのスコアと、ECベースのスコアと、QMベースのスコアとの重み付けされた合計に従って作成され、ここで、分析ユニット168は個々のスコアの各々に異なる重みを付ける。個々のQPベースのスコアと、ECベースのスコアと、QMベースのスコアとが得られる順序は、図15に示す順序と異なってもよい。さらに、図15に示すスコアの特定のタイプは変更される場合がある。一般に、分析ユニット168は、置換フレームが、視覚的品質を損なわないようにし、置換フレームを表示するための追加のリソースの消耗を補う視覚的品質増強の程度に寄与する可能性を示す品質スコアを得るように構成できる。
図16は、ビデオユニットが遅延敏感ビデオアプリケーションをサポートするときの、ビデオユニット置換のための参照ビデオユニット選択をサポートするための、参照ビデオユニットの動きおよび/または品質分析のための例示的な技法を示す流れ図である。図16の流れ図は、実質的に図8の流れ図に対応するが、復号器14によってサポートされるビデオアプリケーションがビデオ電話通信などの遅延敏感アプリケーションであるかどうかを判断する動作(216)と、そうであれば、適用可能な時間距離基準が満たされるかどうかを判断する動作(218)とをさらに含む。
図16の例では、候補参照フレームを取り出し(94)、遅延敏感アプリケーションを検出する(216)と、復号器14は、そのフレームが追加すべきフレームに対する将来のフレームであるかどうかを判断する。そうであれば、復号器14は、将来の参照フレームの距離がしきい値距離未満であるかどうかを判断する。候補参照フレームが、追加すべきフレームからしきい値距離未満だけ離れている以前のフレームまたは将来のフレームである場合、距離基準が満たされる(218)。いくつかの態様では、距離は、候補参照フレームと追加すべきフレームを隔てているフレームの数の観点から表すことができる。
時間距離基準を満たすと、復号器14は、たとえば、図8を参照しながら説明し動作(96)〜(112)に示したような品質分析に進む。しかしながら、距離基準を満たさない場合、復号器14は、補間用の参照フレームとして検討から候補参照フレームを取り除くことに進み、検討のために次の候補参照フレームを取り出すことに進む(94)。したがって、たとえば、図16に示すように距離基準を満たさないとき、遅延敏感アプリケーションのための距離基準の適用は、置換フレームからの時間距離に基づいて特定の参照フレームを除外する選択ユニット44(図4)の制御、距離ユニット63(図5)による距離に部分的に基づく品質スコアの計算、または品質分析を無効にする分析ユニット42の制御など、多種多様な実装に従うことができる。
一般に、本開示に記載されている補間のための参照フレームを選択するための技法は、様々な態様において、不必要であるかまたは有利でないときフレーム置換を無効にすることによってリソース消費を低下させることができ、フレーム置換において使用するのに良好な参照フレームを選択することによって、補間されたフレームの品質を増強することができるFRUC実装形態を与えることができる。増強された品質の利点は、QPおよびCBP値を分析し、この分析に基づいて、可変ビットレート(VBR)制御機構を用いて圧縮されたビデオにおいて特に有用である高品質参照フレームを選択することによって達成できる。
さらに、エラー隠蔽機構がない場合、またはエラー隠蔽機構が良好な品質フレームを与えない場合、増強された品質は、参照フレームとしてスライスまたはフレーム損失をもつフレームを選択しないことによって達成できたことであろう。スライスまたはフレーム損失および不十分なエラー隠蔽をもつフレームの回避は、ビデオ電話アプリケーションの場合など、伝送損失が発生するときに特に有用である。また、リソース重視モードは、低い動きのビデオクリップにおいて客観的および主観的ビデオ品質を実質的に維持しながら電力消費または他のリソースの消費を低減することにおいて効果的である。
本明細書で説明した技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施できる。モジュール、ユニット、または構成要素として説明するフィーチャは、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装できる。場合によっては、様々なフィーチャは、集積回路チップまたはチップセットなどの集積回路デバイスとして実装できる。ソフトウェアで実装した場合、これらの技法は、実行されると、上記で説明した方法の1つまたは複数をプロセッサに実行させる命令を備えるコンピュータ可読媒体によって少なくとも部分的に実現できる。
コンピュータ可読媒体は、パッケージング材料を含むことがある、コンピュータプログラム製品の一部をなすことができる。コンピュータ可読媒体は、ランダムアクセスメモリ(RAM)、同期ダイナミックランダムアクセスメモリ(SDRAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読出し専用メモリ(EEPROM)、FLASHメモリ、磁気または光学データ記憶媒体などのコンピュータデータ記憶媒体を備えることができる。本技法は、追加または代替として、命令またはデータ構造の形態でコードを搬送または伝達し、コンピュータによってアクセス、読込み、および/または実行できるコンピュータ可読通信媒体によって、少なくとも部分的に実現できる。
コードまたは命令は、1つまたは複数のDSP、汎用マイクロプロセッサ、ASIC、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積またはディスクリート論理回路など、1つまたは複数のプロセッサによって実行できる。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明する機能を、専用のソフトウェアモジュールまたはハードウェアモジュールの内部に与えることができる。本開示はまた、本開示で説明した技法の1つまたは複数を実装する回路を含む様々な集積回路デバイスのいずれかを企図する。そのような回路は、単一の集積回路チップ、またはいわゆるチップセット中の複数の相互運用可能な集積回路チップで提供できる。そのような集積回路デバイスは様々な適用例において使用でき、適用例のいくつかは携帯電話ハンドセットなどのワイヤレス通信デバイスでの使用を含む。
開示する技法の1つまたは複数の態様の詳細を添付の図面および以下の説明に示す。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
以下の記載は、出願当初の特許請求の範囲の記載に実質的に一致するものである。
[1]
追加のビデオユニットの補間または外挿のための1つまたは複数の候補参照ビデオユニットの動きレベルを分析することと、
前記追加のビデオユニットの補間または外挿のためのリソースレベルを決定することと、
前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に無効にすることと
を備える方法。
[2]
前記動きレベルを分析することと、前記リソースレベルを決定することと、第1の動作モードにおいて前記動きレベルおよび前記リソースレベルに基づいて補間または外挿を選択的に無効にすることと、
第2の動作モードにおいて前記追加のビデオユニットの補間または外挿を有効にすることと
をさらに備える、[1]に記載の方法。
[3]
前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、[1]に記載の方法。
[4]
前記動きレベルを分析することが、前記候補参照ビデオユニットの少なくとも1つにおいてゼロ値動きベクトルの数をカウントすることを備え、選択的に有効または無効にすることが、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にすることと、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にすることとを備える、[1]に記載の方法。
[5]
前記決定されたリソースレベルに基づいて前記しきい値を調整することをさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、[4]に記載の方法。
[6]
分析することが、前記候補参照ビデオユニットの少なくとも1つにおいてゼロ値動きベクトルの数と小さい動きベクトルの数とをカウントすることを備え、前記小さい動きベクトルの各々が、第1のしきい値を下回る値を有する0でない値の動きベクトルであり、選択的に有効または無効にすることが、ゼロ値動きベクトルの前記数が第2のしきい値を上回り、小さい動きベクトルの前記数が第3のしきい値を下回るとき、補間または外挿を無効にすることを備える、[1]に記載の方法。
[7]
選択的に有効または無効にすることが、ゼロ値動きベクトルの前記数が前記第2のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第3のしきい値を上回るとき、補間または外挿を有効にすることを備える、[6]に記載の方法。
[8]
前記決定されたリソースレベルに基づいて前記第2のしきい値と前記第3のしきい値とのうちの少なくとも1つを調整することをさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、[7]に記載の方法。
[9]
前記追加のビデオユニットのサイズに基づいて前記第1のしきい値を調整することをさらに備える、[6]に記載の方法。
[10]
前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記参照ビデオユニットの1つを繰り返すことをさらに備える、[1]に記載の方法。
[11]
前記ビデオユニットの各々がビデオフレームである、[1]に記載の方法。
[12]
追加のビデオユニットの補間または外挿のための1つまたは複数の候補参照ビデオユニットの動きレベルを分析するように構成された動き分析器と、
前記追加のビデオユニットの補間または外挿のためのリソースレベルを決定するように構成されたリソースモニタと、
前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に無効にするように構成された選択ユニットと
を備えるビデオコーディングデバイス。
[13]
第1の動作モードにおいて前記追加のビデオユニットの補間または外挿を選択的に無効にするように前記選択ユニットに指示し、第2の動作モードにおいて前記追加のビデオユニットの補間または外挿を有効にするように前記選択ユニットに指示するモード選択ユニットをさらに備える、[12]に記載のデバイス。
[14]
前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、[13]に記載のデバイス。
[15]
前記動き分析器が、前記候補参照ビデオユニットの少なくとも1つにおいてゼロ値動きベクトルの数をカウントし、前記選択ユニットが、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にし、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にする、[12]に記載のデバイス。
[16]
前記動き分析器が、前記決定されたリソースレベルに基づいて前記しきい値を調整し、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、[15]に記載のデバイス。
[17]
前記動き分析器が、前記参照ビデオユニットの少なくとも1つにおいてゼロ値動きベクトルの数と小さい動きベクトルの数とをカウントし、前記小さい動きベクトルの各々が、第1のしきい値を下回る値を有する0でない値の動きベクトルであり、前記選択ユニットが、ゼロ値動きベクトルの前記数が第2のしきい値を上回り、小さい動きベクトルの前記数が第3のしきい値を下回るとき、補間または外挿を選択的に無効にする、[12]に記載のデバイス。
[18]
前記選択ユニットが、ゼロ値動きベクトルの前記数が前記第2のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第3のしきい値を上回るとき、補間または外挿を選択的に有効にする、[17]に記載のデバイス。
[19]
前記動き分析器が、前記決定されたリソースレベルに基づいて前記第2のしきい値と前記第3のしきい値とのうちの少なくとも1つを調整し、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、[18]に記載のデバイス。
[20]
前記動き分析器が、前記追加のビデオユニットのサイズに基づいて前記第1のしきい値を調整する、[17]に記載のデバイス。
[21]
前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記参照ビデオユニットの1つを繰り返す繰り返しユニットをさらに備える、[12]に記載のデバイス。
[22]
前記デバイスがワイヤレス通信デバイスハンドセットを備える、[12]に記載のデバイス。
[23]
前記デバイスが集積回路デバイスを備える、[12]に記載のデバイス。
[24]
前記ビデオユニットの各々がビデオフレームである、[12]に記載のデバイス。
[25]
追加のビデオユニットの補間または外挿のための1つまたは複数の候補参照ビデオユニットの動きレベルを分析するための手段と、
前記追加のビデオユニットの補間または外挿のためのリソースレベルを決定するための手段と、
前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に無効にするための手段と
を備えるデバイス。
[26]
前記動きレベルを分析するための前記手段と、前記リソースレベルを決定するための手段と、前記動きレベルおよび前記リソースレベルに基づいて補間または外挿を選択的に無効にするための手段とが、第1の動作モードにおいて動作可能であり、前記デバイスが、第2の動作モードにおいて動作可能である、1つまたは複数の参照ビデオユニットを使用して追加のビデオユニットの補間または外挿を有効にするための手段をさらに備える、[25]に記載のデバイス。
[27]
前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、[25]に記載のデバイス。
[28]
前記動きレベルを分析するための前記手段が、前記候補参照ビデオユニットの少なくとも1つにおいてゼロ値動きベクトルの数をカウントするための手段を備え、選択的に有効または無効にするための前記手段が、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にするための手段と、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にするための手段とを備える、[25]に記載のデバイス。
[29]
前記決定されたリソースレベルに基づいて前記しきい値を調整するための手段をさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、[28]に記載のデバイス。
[30]
分析するための前記手段が、前記参照ビデオユニットの少なくとも1つにおいてゼロ値動きベクトルの数と小さい動きベクトルの数とをカウントするための手段を備え、前記小さい動きベクトルの各々が、第1のしきい値を下回る値を有する0でない値の動きベクトルであり、選択的に有効または無効にするための前記手段が、ゼロ値動きベクトルの前記数が第2のしきい値を上回り、小さい動きベクトルの前記数が第3のしきい値を下回るとき、補間または外挿を無効にするための手段を備える、[25]に記載のデバイス。
[31]
選択的に有効または無効にするための前記手段が、ゼロ値動きベクトルの前記数が前記第2のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第3のしきい値を上回るとき、補間または外挿を有効にするための手段を備える、[30]に記載のデバイス。
[32]
前記決定されたリソースレベルに基づいて前記第2のしきい値と前記第3のしきい値とのうちの少なくとも1つを調整するための手段をさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、[31]に記載のデバイス。
[33]
前記追加のビデオユニットのサイズに基づいて前記第1のしきい値を調整するための手段をさらに備える、[30]に記載のデバイス。
[34]
前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記参照ビデオユニットの1つを繰り返すための手段をさらに備える、[25]に記載のデバイス。
[35]
前記ビデオユニットの各々がビデオフレームである、[25]に記載のデバイス。
[36]
追加のビデオユニットの補間または外挿のための1つまたは複数の候補参照ビデオユニットの動きレベルを分析することと、
前記追加のビデオユニットの補間または外挿のためのリソースレベルを決定することと、
前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に無効にすることと
を1つまたは複数のプロセッサに行わせるための命令を備えるコンピュータ可読媒体。
[37]
前記動きレベルを分析することと、前記リソースレベルを決定することと、第1の動作モードにおいて前記動きレベルおよび前記リソースレベルに基づいて補間または外挿を選択的に無効にすることと、
第2の動作モードにおいて前記追加のビデオユニットの補間または外挿を有効にすることと
を前記1つまたは複数のプロセッサに行わせるための命令をさらに備える、[36]に記載のコンピュータ可読媒体。
[38]
前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、[36]に記載のコンピュータ可読媒体。
[39]
前記命令が、前記1つまたは複数のプロセッサに、前記候補参照ビデオユニットの少なくとも1つにおいてゼロ値動きベクトルの数をカウントすることと、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にすることと、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にすることとを行わせる、[36]に記載のコンピュータ可読媒体。
[40]
前記1つまたは複数のプロセッサに、前記決定されたリソースレベルに基づいて前記しきい値を調整させる命令をさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとを備える、[39]に記載のコンピュータ可読媒体。
[41]
前記命令が、前記1つまたは複数のプロセッサに、前記候補参照ビデオユニットの少なくとも1つにおいてゼロ値動きベクトルの数と小さい動きベクトルの数とをカウントすることであって、前記小さい動きベクトルの各々が、第1のしきい値を下回る値を有する0でない値の動きベクトルである、カウントすることと、ゼロ値動きベクトルの前記数が第2のしきい値を上回り、小さい動きベクトルの前記数が第3のしきい値を下回るとき、補間または外挿を無効にすることとを行わせる、[36]に記載のコンピュータ可読媒体。
[42]
前記命令が、前記1つまたは複数のプロセッサに、ゼロ値動きベクトルの前記数が前記第2のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第3のしきい値を上回るとき、補間または外挿を有効にさせる、[41]に記載のコンピュータ可読媒体。
[43]
前記命令が、前記1つまたは複数のプロセッサに、前記リソースレベルに基づいて前記第2のしきい値と前記第3のしきい値とのうちの少なくとも1つを調整させ、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、[42]に記載のコンピュータ可読媒体。
[44]
前記1つまたは複数のプロセッサに、前記追加のビデオユニットのサイズに基づいて前記第1のしきい値を調整させる命令をさらに備える、[41]に記載のコンピュータ可読媒体。
[45]
前記命令が、前記1つまたは複数のプロセッサに、前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記候補参照ビデオユニットの1つを繰り返させる、[36]に記載のコンピュータ可読媒体。
[46]
前記ビデオユニットの各々がビデオフレームである、[36]に記載のコンピュータ可読媒体。

Claims (42)

  1. 追加のビデオユニットの補間または外挿のための1つまたは複数の候補参照ビデオユニットの動きレベルを分析することと、ここにおいて、前記動きレベルを分析することが、前記候補参照ビデオユニットの少なくとも1つにおいてゼロ値動きベクトルの数をカウントすることを備える、
    前記追加のビデオユニットの補間または外挿のためのコーディングユニットを含むデバイスのリソースレベルを監視することと、
    前記追加のビデオユニットの補間または外挿のためのコーディングユニットを含むデバイスのリソースレベルを決定することと、
    前記動きレベルおよび前記リソースレベルに基づいて、前記コーディングユニットで、前記追加のビデオユニットの補間または外挿を選択的に有効または無効にすることと、ここにおいて、選択的に有効または無効にすることが、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にすることと、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にすることとを備える、
    を備える方法。
  2. 前記動きレベルを分析することと、前記リソースレベルを決定することと、第1の動作モードにおいて前記動きレベルおよび前記リソースレベルに基づいて補間または外挿を選択的に無効にすることと、
    第2の動作モードにおいて前記追加のビデオユニットの補間または外挿を有効にすることと、
    少なくとも前記追加のビデオユニットのための前記第1の動作モードを選択することと、
    をさらに備える、請求項1に記載の方法。
  3. 前記デバイスのリソースレベルが、前記デバイスの電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、請求項1に記載の方法。
  4. 前記決定されたリソースレベルに基づいて前記しきい値を調整することをさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、請求項1に記載の方法。
  5. 前記しきい値が、第2のしきい値を備え、前記動きレベルを分析することが、前記候補参照ビデオユニットの少なくとも1つにおいて小さい動きベクトルの数をカウントすることをさらに備え、前記小さい動きベクトルの各々が、第1のしきい値を下回る値を有する0でない値の動きベクトルであり、無効にすることが、ゼロ値動きベクトルの前記数が前記第2のしきい値を上回り、小さい動きベクトルの前記数が第3のしきい値を下回るとき、補間または外挿を無効にすることをさらに備える、請求項1に記載の方法。
  6. 選択的に有効または無効にすることが、ゼロ値動きベクトルの前記数が前記第2のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第3のしきい値を上回るとき、補間または外挿を有効にすることを備える、請求項5に記載の方法。
  7. 前記決定されたリソースレベルに基づいて前記第2のしきい値と前記第3のしきい値とのうちの少なくとも1つを調整することをさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、請求項6に記載の方法。
  8. 前記追加のビデオユニットのサイズに基づいて前記第1のしきい値を調整することをさらに備える、請求項5に記載の方法。
  9. 前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記候補参照ビデオユニットの1つを繰り返すことをさらに備える、請求項1に記載の方法。
  10. 前記ビデオユニットの各々がビデオフレームである、請求項1に記載の方法。
  11. ビデオコーディングデバイスであって、
    追加のビデオユニットの補間または外挿のための1つまたは複数の候補参照ビデオユニットの動きレベルを分析するように構成された動き分析器と、ここにおいて、前記動き分析器が、前記候補参照ビデオユニットの少なくとも1つにおいてゼロ値動きベクトルの数をカウントするように構成される、
    前記追加のビデオユニットの補間または外挿のための前記ビデオコーディングデバイスのリソースレベルを監視し、決定するように構成されたリソースモニタと、
    前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に有効または無効にするように構成された選択ユニットと、ここにおいて、前記選択ユニットが、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にし、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にするように構成される、
    を備えるビデオコーディングデバイス。
  12. 第1の動作モードにおいて前記追加のビデオユニットの補間または外挿を選択的に無効にするように前記選択ユニットに指示し、第2の動作モードにおいて前記追加のビデオユニットの補間または外挿を有効にするように前記選択ユニットに指示するモード選択ユニットをさらに備え、少なくとも前記追加のビデオユニットについて、前記モード選択ユニットが前記選択ユニットについて前記第1の動作モードを選択する、請求項11に記載のデバイス。
  13. 前記ビデオコーディングデバイスの前記リソースレベルが、前記ビデオコーディングデバイスの電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、請求項12に記載のデバイス。
  14. 前記動き分析器が、前記決定されたリソースレベルに基づいて前記しきい値を調整し、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、請求項11に記載のデバイス。
  15. 前記しきい値が、第2のしきい値を備え、前記動き分析器が、前記候補参照ビデオユニットの少なくとも1つにおいて小さい動きベクトルの数をさらにカウントし、前記小さい動きベクトルの各々が、第1のしきい値を下回る値を有する0でない値の動きベクトルであり、前記選択ユニットが、ゼロ値動きベクトルの前記数が前記第2のしきい値を上回り、小さい動きベクトルの前記数が第3のしきい値を下回るとき、補間または外挿をさらに選択的に無効にする、請求項11に記載のデバイス。
  16. 前記選択ユニットが、ゼロ値動きベクトルの前記数が前記第2のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第3のしきい値を上回るとき、補間または外挿を選択的に有効にする、請求項15に記載のデバイス。
  17. 前記動き分析器が、前記決定されたリソースレベルに基づいて前記第2のしきい値と前記第3のしきい値とのうちの少なくとも1つを調整し、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、請求項16に記載のデバイス。
  18. 前記動き分析器が、前記追加のビデオユニットのサイズに基づいて前記第1のしきい値を調整する、請求項15に記載のデバイス。
  19. 前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記候補参照ビデオユニットの1つを繰り返す繰り返しユニットをさらに備える、請求項11に記載のデバイス。
  20. 前記デバイスがワイヤレス通信デバイスハンドセットを備える、請求項11に記載のデバイス。
  21. 前記デバイスが集積回路デバイスを備える、請求項11に記載のデバイス。
  22. 前記ビデオユニットの各々がビデオフレームである、請求項11に記載のデバイス。
  23. デバイスであって、
    追加のビデオユニットの補間または外挿のための1つまたは複数の候補参照ビデオユニットの動きレベルを分析するための手段と、ここにおいて、前記動きレベルを分析するための前記手段が、前記候補参照ビデオユニットの少なくとも1つにおいてゼロ値動きベクトルの数をカウントするための手段を備える、
    前記追加のビデオユニットの補間または外挿のための前記デバイスのリソースレベルを監視する手段と、
    前記追加のビデオユニットの補間または外挿のための前記リソースレベルを決定するための手段と、
    前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に有効または無効にするための手段と、ここにおいて、選択的に有効または無効にするための前記手段が、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にするための手段と、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にするための手段とを備える、
    を備えるデバイス。
  24. 前記動きレベルを分析するための前記手段と、前記リソースレベルを決定するための手段と、前記動きレベルおよび前記リソースレベルに基づいて補間または外挿を選択的に無効にするための手段とが、第1の動作モードにおいて動作可能であり、前記デバイスが、第2の動作モードにおいて動作可能である、1つまたは複数の候補参照ビデオユニットを使用して追加のビデオユニットの補間または外挿を有効にするための手段と、少なくとも前記追加のビデオユニットのための前記第1の動作モードを選択する手段とをさらに備える、請求項23に記載のデバイス。
  25. 前記デバイスのリソースレベルが、前記デバイスの電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、請求項23に記載のデバイス。
  26. 前記決定されたリソースレベルに基づいて前記しきい値を調整するための手段をさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、請求項23に記載のデバイス。
  27. 前記しきい値が、第2のしきい値を備え、前記動きレベルを分析するための前記手段が、前記候補参照ビデオユニットの少なくとも1つにおいて小さい動きベクトルの数をカウントするための手段をさらに備え、前記小さい動きベクトルの各々が、第1のしきい値を下回る値を有する0でない値の動きベクトルであり、選択的に無効にするための前記手段が、ゼロ値動きベクトルの前記数が前記第2のしきい値を上回り、小さい動きベクトルの前記数が第3のしきい値を下回るとき、補間または外挿を無効にするための手段をさらに備える、請求項23に記載のデバイス。
  28. 選択的に有効または無効にするための前記手段が、ゼロ値動きベクトルの前記数が前記第2のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第3のしきい値を上回るとき、補間または外挿を有効にするための手段を備える、請求項27に記載のデバイス。
  29. 前記決定されたリソースレベルに基づいて前記第2のしきい値と前記第3のしきい値とのうちの少なくとも1つを調整するための手段をさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、請求項28に記載のデバイス。
  30. 前記追加のビデオユニットのサイズに基づいて前記第1のしきい値を調整するための手段をさらに備える、請求項27に記載のデバイス。
  31. 前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記候補参照ビデオユニットの1つを繰り返すための手段をさらに備える、請求項23に記載のデバイス。
  32. 前記ビデオユニットの各々がビデオフレームである、請求項23に記載のデバイス。
  33. 1つまたは複数のプロセッサに、
    追加のビデオユニットの補間または外挿のための1つまたは複数の候補参照ビデオユニットの動きレベルを分析することを行なわせる命令と、ここにおいて、前記1つまたは複数のプロセッサに、前記動きレベルを分析することを行わせる前記命令は、前記候補参照ビデオユニットの少なくとも1つにおいてゼロ値動きベクトルの数をカウントすることを前記プロセッサに行わせる命令を備える、
    前記追加のビデオユニットの補間または外挿のための1つ以上のプロセッサを含むデバイスのリソースレベルを監視することを行なわせる命令と、
    前記追加のビデオユニットの補間または外挿のための前記1つ以上のプロセッサを含むデバイスの前記リソースレベルを決定することを行なわせる命令と、
    前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に有効または無効にすることを行なわせる命令と、ここにおいて、前記1つまたは複数のプロセッサに、選択的に有効または無効にすることを行わせる前記命令は、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にすることと、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にすることとを前記1つまたは複数のプロセッサに行わせる命令を備える、
    を記録するコンピュータ可読記録媒体。
  34. 前記動きレベルを分析することと、前記リソースレベルを決定することと、第1の動作モードにおいて前記動きレベルおよび前記リソースレベルに基づいて補間または外挿を選択的に無効にすることと、
    第2の動作モードにおいて前記追加のビデオユニットの補間または外挿を有効にすることと、
    少なくとも前記追加のビデオユニットのための前記第1の動作モードを選択することとを前記1つまたは複数のプロセッサに行わせるための命令をさらに備える、請求項33に記載のコンピュータ可読記録媒体。
  35. 前記デバイスのリソースレベルが、前記デバイスの電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、請求項33に記載のコンピュータ可読記録媒体。
  36. 前記1つまたは複数のプロセッサに、決定された前記リソースレベルに基づいて前記しきい値を調整させる命令をさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとを備える、請求項33に記載のコンピュータ可読記録媒体。
  37. 前記しきい値が、第2のしきい値を備え、前記命令が、前記1つまたは複数のプロセッサに、前記候補参照ビデオユニットの少なくとも1つにおいて小さい動きベクトルの数をさらにカウントすることであって、前記小さい動きベクトルの各々が、第1のしきい値を下回る値を有する0でない値の動きベクトルである、カウントすることと、前記1つまたは複数のプロセッサに、補間または外挿を無効にすることを行わせる前記命令は、ゼロ値動きベクトルの前記数が前記第2のしきい値を上回り、小さい動きベクトルの前記数が第3のしきい値を下回るとき、補間または外挿を無効にすることとを前記1つまたは複数のプロセッサに行わせる命令を備える、請求項33に記載のコンピュータ可読記録媒体。
  38. 前記命令が、前記1つまたは複数のプロセッサに、ゼロ値動きベクトルの前記数が前記第2のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第3のしきい値を上回るとき、補間または外挿を有効にさせる、請求項37に記載のコンピュータ可読記録媒体。
  39. 前記命令が、前記1つまたは複数のプロセッサに、前記リソースレベルに基づいて前記第2のしきい値と前記第3のしきい値とのうちの少なくとも1つを調整させ、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの1つを備える、請求項38に記載のコンピュータ可読記録媒体。
  40. 前記1つまたは複数のプロセッサに、前記追加のビデオユニットのサイズに基づいて前記第1のしきい値を調整させる命令をさらに備える、請求項37に記載のコンピュータ可読記録媒体。
  41. 前記命令が、前記1つまたは複数のプロセッサに、前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記候補参照ビデオユニットの1つを繰り返させる、請求項33に記載のコンピュータ可読記録媒体。
  42. 前記ビデオユニットの各々がビデオフレームである、請求項33に記載のコンピュータ可読記録媒体。
JP2010538138A 2007-12-10 2008-12-10 リソース適応型ビデオ補間または外挿 Expired - Fee Related JP5502747B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US1270307P 2007-12-10 2007-12-10
US61/012,703 2007-12-10
US12/111,738 US8953685B2 (en) 2007-12-10 2008-04-29 Resource-adaptive video interpolation or extrapolation with motion level analysis
US12/111,738 2008-04-29
PCT/US2008/086279 WO2009076468A2 (en) 2007-12-10 2008-12-10 Resource-adaptive video interpolation or extrapolation

Publications (2)

Publication Number Publication Date
JP2011507405A JP2011507405A (ja) 2011-03-03
JP5502747B2 true JP5502747B2 (ja) 2014-05-28

Family

ID=40721647

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2010538139A Expired - Fee Related JP5437265B2 (ja) 2007-12-10 2008-12-10 補間または外挿されたビデオユニットの選択的表示
JP2010538138A Expired - Fee Related JP5502747B2 (ja) 2007-12-10 2008-12-10 リソース適応型ビデオ補間または外挿
JP2010538137A Expired - Fee Related JP5502746B2 (ja) 2007-12-10 2008-12-10 ビデオ補間または外挿のための参照選択

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010538139A Expired - Fee Related JP5437265B2 (ja) 2007-12-10 2008-12-10 補間または外挿されたビデオユニットの選択的表示

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2010538137A Expired - Fee Related JP5502746B2 (ja) 2007-12-10 2008-12-10 ビデオ補間または外挿のための参照選択

Country Status (7)

Country Link
US (3) US8660175B2 (ja)
EP (3) EP2232878B1 (ja)
JP (3) JP5437265B2 (ja)
KR (4) KR101178553B1 (ja)
CN (3) CN101919255B (ja)
TW (3) TW200943967A (ja)
WO (3) WO2009076471A1 (ja)

Families Citing this family (195)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7474327B2 (en) 2002-02-12 2009-01-06 Given Imaging Ltd. System and method for displaying an image stream
GB0222522D0 (en) 2002-09-27 2002-11-06 Controlled Therapeutics Sct Water-swellable polymers
GB0417401D0 (en) 2004-08-05 2004-09-08 Controlled Therapeutics Sct Stabilised prostaglandin composition
GB0613333D0 (en) 2006-07-05 2006-08-16 Controlled Therapeutics Sct Hydrophilic polyurethane compositions
GB0613638D0 (en) 2006-07-08 2006-08-16 Controlled Therapeutics Sct Polyurethane elastomers
GB0620685D0 (en) 2006-10-18 2006-11-29 Controlled Therapeutics Sct Bioresorbable polymers
GB2450121A (en) * 2007-06-13 2008-12-17 Sharp Kk Frame rate conversion using either interpolation or frame repetition
US8660175B2 (en) * 2007-12-10 2014-02-25 Qualcomm Incorporated Selective display of interpolated or extrapolated video units
JP2009253348A (ja) * 2008-04-01 2009-10-29 Alps Electric Co Ltd データ処理方法及びデータ処理装置
US8571106B2 (en) * 2008-05-22 2013-10-29 Microsoft Corporation Digital video compression acceleration based on motion vectors produced by cameras
US9788018B2 (en) * 2008-06-30 2017-10-10 Microsoft Technology Licensing, Llc Error concealment techniques in video decoding
US8374240B1 (en) * 2008-07-10 2013-02-12 Marvell International Ltd. Image frame management
WO2010028107A1 (en) * 2008-09-07 2010-03-11 Dolby Laboratories Licensing Corporation Conversion of interleaved data sets, including chroma correction and/or correction of checkerboard interleaved formatted 3d images
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US20100178038A1 (en) * 2009-01-12 2010-07-15 Mediatek Inc. Video player
WO2010093430A1 (en) * 2009-02-11 2010-08-19 Packetvideo Corp. System and method for frame interpolation for a compressed video bitstream
EP2227012A1 (en) * 2009-03-05 2010-09-08 Sony Corporation Method and system for providing reliable motion vectors
CN102365867B (zh) * 2009-04-01 2015-12-16 马维尔国际贸易有限公司 渐进视频中的节奏检测
KR20100119354A (ko) * 2009-04-30 2010-11-09 삼성전자주식회사 표시 장치와 그 구동 방법
US9113169B2 (en) * 2009-05-07 2015-08-18 Qualcomm Incorporated Video encoding with temporally constrained spatial dependency for localized decoding
US8724707B2 (en) * 2009-05-07 2014-05-13 Qualcomm Incorporated Video decoding using temporally constrained spatial dependency
US20100289944A1 (en) * 2009-05-12 2010-11-18 Shing-Chia Chen Frame Rate Up-Conversion Based Dynamic Backlight Control System and Method
KR101247595B1 (ko) 2009-06-12 2013-03-26 시그너스 브로드밴드, 인코포레이티드 통신 네트워크의 지능형 폐기 시스템 및 방법
US8627396B2 (en) 2009-06-12 2014-01-07 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
US8531961B2 (en) 2009-06-12 2013-09-10 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
US8745677B2 (en) * 2009-06-12 2014-06-03 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
US8340510B2 (en) 2009-07-17 2012-12-25 Microsoft Corporation Implementing channel start and file seek for decoder
US8448016B2 (en) * 2009-07-31 2013-05-21 Cleversafe, Inc. Computing core application access utilizing dispersed storage
CN101990093A (zh) * 2009-08-06 2011-03-23 索尼株式会社 检测视频中的重放片段的方法和设备
US8279259B2 (en) * 2009-09-24 2012-10-02 Microsoft Corporation Mimicking human visual system in detecting blockiness artifacts in compressed video streams
WO2011042898A1 (en) * 2009-10-05 2011-04-14 I.C.V.T Ltd. Apparatus and methods for recompression of digital images
JP4692913B2 (ja) * 2009-10-08 2011-06-01 日本ビクター株式会社 フレームレート変換装置及び方法
CN102612338B (zh) 2009-11-20 2016-05-04 基文影像公司 用于控制体内装置的功率消耗的系统和方法
US8903812B1 (en) 2010-01-07 2014-12-02 Google Inc. Query independent quality signals
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
CA2788946A1 (en) * 2010-02-09 2011-08-18 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
JP5367098B2 (ja) * 2010-02-09 2013-12-11 日本電信電話株式会社 動きベクトル予測符号化方法,動きベクトル予測復号方法,動画像符号化装置,動画像復号装置およびそれらのプログラム
CN102884793B (zh) * 2010-02-09 2016-03-23 日本电信电话株式会社 运动向量预测编码方法、运动向量预测解码方法、活动图像编码装置及活动图像解码装置
CA2788952A1 (en) * 2010-02-09 2011-08-18 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
JP5583992B2 (ja) * 2010-03-09 2014-09-03 パナソニック株式会社 信号処理装置
US8682142B1 (en) * 2010-03-18 2014-03-25 Given Imaging Ltd. System and method for editing an image stream captured in-vivo
US9082278B2 (en) * 2010-03-19 2015-07-14 University-Industry Cooperation Group Of Kyung Hee University Surveillance system
US8588309B2 (en) 2010-04-07 2013-11-19 Apple Inc. Skin tone and feature detection for video conferencing compression
JP5972865B2 (ja) 2010-04-28 2016-08-17 ギブン イメージング リミテッドGiven Imaging Ltd. 生体内画像の部分を表示するシステム及びその作動方法
KR20110131897A (ko) * 2010-06-01 2011-12-07 삼성전자주식회사 데이터 처리 방법 및 이를 수행하는 표시 장치
US8615160B2 (en) * 2010-06-18 2013-12-24 Adobe Systems Incorporated Media player instance throttling
US8819269B2 (en) * 2010-06-30 2014-08-26 Cable Television Laboratories, Inc. Adaptive bit rate method and system using retransmission and replacement
JP2012019329A (ja) 2010-07-07 2012-01-26 Sony Corp 記録装置、記録方法、再生装置、再生方法、プログラム、および記録再生装置
US20120044992A1 (en) * 2010-08-17 2012-02-23 Qualcomm Incorporated Low complexity adaptive filter
US8922633B1 (en) 2010-09-27 2014-12-30 Given Imaging Ltd. Detection of gastrointestinal sections and transition of an in-vivo device there between
JP2014504471A (ja) * 2010-11-30 2014-02-20 トムソン ライセンシング フレーム損失パターンに基づいてビデオの品質を測定する方法および装置
TW201228403A (en) * 2010-12-28 2012-07-01 Acer Inc Video display device, multi-media vedio streamoing device, and method thereof
KR101736793B1 (ko) 2010-12-29 2017-05-30 삼성전자주식회사 비디오 프레임 인코딩 장치, 그것의 인코딩 방법 및 그것을 포함하는 비디오 신호 송수신 시스템의 동작 방법
JP5812808B2 (ja) * 2011-01-05 2015-11-17 キヤノン株式会社 画像処理装置及び画像処理方法
US20120188460A1 (en) * 2011-01-21 2012-07-26 Ncomputing Inc. System and method for dynamic video mode switching
JP2012165071A (ja) * 2011-02-03 2012-08-30 Sony Corp 撮像装置、受信装置、映像送信システムおよび映像送信方法
US9729260B2 (en) * 2011-02-24 2017-08-08 Telefonaktiebolaget Lm Ericsson (Publ) Reducing interference caused by an atmospheric duct in a mobile communication system
US10171813B2 (en) 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
GB2488816A (en) * 2011-03-09 2012-09-12 Canon Kk Mapping motion vectors from a plurality of reference frames to a single reference frame
US9602565B2 (en) * 2011-03-25 2017-03-21 Nec Corporation Video processing system, video content monitoring method, video processing apparatus, control method of the apparatus, and storage medium storing control program of the apparatus
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
US8754908B2 (en) 2011-06-07 2014-06-17 Microsoft Corporation Optimized on-screen video composition for mobile device
CA2839345A1 (en) * 2011-06-14 2012-12-20 Zhou Wang Method and system for structural similarity based rate-distortion optimization for perceptual video coding
WO2012178008A1 (en) * 2011-06-22 2012-12-27 General Instrument Corporation Construction of combined list using temporal distance
JP5848543B2 (ja) * 2011-08-04 2016-01-27 キヤノン株式会社 画像表示装置、画像表示方法、及びコンピュータプログラム
JP6005157B2 (ja) * 2011-08-25 2016-10-12 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 深度マップ符号化および復号化
US8525883B2 (en) * 2011-09-02 2013-09-03 Sharp Laboratories Of America, Inc. Methods, systems and apparatus for automatic video quality assessment
AU2012306059A1 (en) 2011-09-08 2014-03-27 Paofit Holdings Pte Ltd System and method for visualizing synthetic objects withinreal-world video clip
CA2786200C (en) * 2011-09-23 2015-04-21 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
WO2013048324A1 (en) * 2011-09-29 2013-04-04 Telefonaktiebolaget L M Ericsson (Publ) Reference picture list handling
WO2013066045A1 (ko) * 2011-10-31 2013-05-10 엘지전자 주식회사 참조 픽처 리스트 초기화 방법 및 장치
KR101896026B1 (ko) * 2011-11-08 2018-09-07 삼성전자주식회사 휴대 단말기에서 움직임 블러를 생성하는 장치 및 방법
WO2013075318A1 (en) * 2011-11-24 2013-05-30 Thomson Licensing Video quality measurement
KR20140097528A (ko) 2011-11-29 2014-08-06 톰슨 라이센싱 비디오 품질 측정을 위한 텍스처 마스킹
US8751800B1 (en) 2011-12-12 2014-06-10 Google Inc. DRM provider interoperability
US9584832B2 (en) * 2011-12-16 2017-02-28 Apple Inc. High quality seamless playback for video decoder clients
US9432694B2 (en) * 2012-03-06 2016-08-30 Apple Inc. Signal shaping techniques for video data that is susceptible to banding artifacts
WO2013141872A1 (en) * 2012-03-23 2013-09-26 Hewlett-Packard Development Company, L.P. Method and system to process a video frame using prior processing decisions
EP2831752A4 (en) * 2012-03-30 2015-08-26 Intel Corp METHOD OF QUALITY CONTROL IN MEDIA
US9609341B1 (en) 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
WO2013162980A2 (en) 2012-04-23 2013-10-31 Google Inc. Managing multi-reference picture buffers for video data coding
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US8976254B2 (en) * 2012-06-08 2015-03-10 Apple Inc. Temporal aliasing reduction and coding of upsampled video
US8848061B2 (en) * 2012-06-27 2014-09-30 Apple Inc. Image and video quality assessment
KR20140006453A (ko) * 2012-07-05 2014-01-16 현대모비스 주식회사 영상 데이터의 디코딩 방법 및 장치
BR112014031122A2 (pt) * 2012-07-17 2017-06-27 Thomson Licensing avaliação de qualidade de vídeo em um nível de fluxos de bits
US8977003B1 (en) * 2012-07-17 2015-03-10 Google Inc. Detecting objects in a sequence of images
US8953843B1 (en) * 2012-07-17 2015-02-10 Google Inc. Selecting objects in a sequence of images
US20140086310A1 (en) * 2012-09-21 2014-03-27 Jason D. Tanner Power efficient encoder architecture during static frame or sub-frame detection
TWI606418B (zh) * 2012-09-28 2017-11-21 輝達公司 圖形處理單元驅動程式產生內插的圖框之電腦系統及方法
EP2755381A1 (en) * 2012-10-23 2014-07-16 ST-Ericsson SA Motion compensated frame interpolation with frame skipping handling
US20140118222A1 (en) * 2012-10-30 2014-05-01 Cloudcar, Inc. Projection of content to external display devices
US9257092B2 (en) * 2013-02-12 2016-02-09 Vmware, Inc. Method and system for enhancing user experience for remoting technologies
US9661351B2 (en) * 2013-03-15 2017-05-23 Sony Interactive Entertainment America Llc Client side frame prediction for video streams with skipped frames
US20140373024A1 (en) * 2013-06-14 2014-12-18 Nvidia Corporation Real time processor
US9756331B1 (en) 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
KR20160021222A (ko) 2013-06-18 2016-02-24 브이아이디 스케일, 인크. Hevc 확장을 위한 계층간 파라미터 집합
US9674515B2 (en) * 2013-07-11 2017-06-06 Cisco Technology, Inc. Endpoint information for network VQM
US9324145B1 (en) 2013-08-08 2016-04-26 Given Imaging Ltd. System and method for detection of transitions in an image stream of the gastrointestinal tract
US20150181208A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Thermal and power management with video coding
US9369724B2 (en) * 2014-03-31 2016-06-14 Microsoft Technology Licensing, Llc Decoding and synthesizing frames for incomplete video data
EP3149945A1 (en) * 2014-05-30 2017-04-05 Paofit Holdings Pte Ltd Systems and methods for motion-vector-aided video interpolation using real-time smooth video playback speed variation
GB2527315B (en) * 2014-06-17 2017-03-15 Imagination Tech Ltd Error detection in motion estimation
KR102389312B1 (ko) 2014-07-08 2022-04-22 삼성전자주식회사 멀티미디어 데이터를 전송하는 방법 및 장치
KR102553844B1 (ko) 2014-11-27 2023-07-10 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR102551609B1 (ko) 2014-11-27 2023-07-05 주식회사 케이티 비디오 신호 처리 방법 및 장치
TWI511530B (zh) * 2014-12-09 2015-12-01 Univ Nat Kaohsiung 1St Univ Sc Distributed video coding system and decoder for distributed video coding system
EP3238213B1 (en) 2014-12-22 2023-06-21 InterDigital CE Patent Holdings Method and apparatus for generating an extrapolated image based on object detection
JP6930420B2 (ja) * 2015-05-22 2021-09-01 ソニーグループ株式会社 送信装置、送信方法、画像処理装置、画像処理方法、受信装置および受信方法
JP6693051B2 (ja) * 2015-05-28 2020-05-13 セイコーエプソン株式会社 メモリー制御装置、画像処理装置、表示装置、およびメモリー制御方法
US9704298B2 (en) 2015-06-23 2017-07-11 Paofit Holdings Pte Ltd. Systems and methods for generating 360 degree mixed reality environments
WO2017030380A1 (en) * 2015-08-20 2017-02-23 Lg Electronics Inc. Digital device and method of processing data therein
US20170094288A1 (en) * 2015-09-25 2017-03-30 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US10805627B2 (en) 2015-10-15 2020-10-13 Cisco Technology, Inc. Low-complexity method for generating synthetic reference frames in video coding
US10347343B2 (en) * 2015-10-30 2019-07-09 Seagate Technology Llc Adaptive read threshold voltage tracking with separate characterization on each side of voltage distribution about distribution mean
JP6626319B2 (ja) * 2015-11-18 2019-12-25 キヤノン株式会社 符号化装置、撮像装置、符号化方法、及びプログラム
US10523939B2 (en) 2015-12-31 2019-12-31 Facebook, Inc. Dynamic codec adaption
US11102516B2 (en) * 2016-02-15 2021-08-24 Nvidia Corporation Quality aware error concealment method for video and game streaming and a viewing device employing the same
US10404979B2 (en) 2016-03-17 2019-09-03 Mediatek Inc. Video coding with interpolated reference pictures
US10368074B2 (en) 2016-03-18 2019-07-30 Microsoft Technology Licensing, Llc Opportunistic frame dropping for variable-frame-rate encoding
US10136155B2 (en) 2016-07-27 2018-11-20 Cisco Technology, Inc. Motion compensation using a patchwork motion field
JP7094076B2 (ja) * 2016-08-19 2022-07-01 沖電気工業株式会社 映像符号化装置、プログラム及び方法、並びに、映像復号装置、プログラム及び方法、並びに、映像伝送システム
US10354394B2 (en) 2016-09-16 2019-07-16 Dolby Laboratories Licensing Corporation Dynamic adjustment of frame rate conversion settings
DE102016221204A1 (de) * 2016-10-27 2018-05-03 Siemens Aktiengesellschaft Bestimmung mindestens eines genäherten Zwischendatensatzes für eine Echtzeitanwendung
CN107067080A (zh) * 2016-12-05 2017-08-18 哈尔滨理工大学 基于核极限学习机的泄露气体监测浓度数据虚拟扩展方法
JP6866142B2 (ja) * 2016-12-09 2021-04-28 キヤノン株式会社 プログラム、画像処理装置、および画像処理方法
JP6948787B2 (ja) * 2016-12-09 2021-10-13 キヤノン株式会社 情報処理装置、方法およびプログラム
US20180227502A1 (en) * 2017-02-06 2018-08-09 Qualcomm Incorporated Systems and methods for reduced power consumption in imaging pipelines
EP3595312A4 (en) * 2017-03-10 2020-02-19 Sony Corporation IMAGE PROCESSING DEVICE AND METHOD
US10779011B2 (en) * 2017-07-31 2020-09-15 Qualcomm Incorporated Error concealment in virtual reality system
GB2586941B (en) * 2017-08-01 2022-06-22 Displaylink Uk Ltd Reducing judder using motion vectors
US10880573B2 (en) * 2017-08-15 2020-12-29 Google Llc Dynamic motion vector referencing for video coding
US10284869B2 (en) 2017-09-28 2019-05-07 Google Llc Constrained motion field estimation for hardware efficiency
US11917128B2 (en) * 2017-08-22 2024-02-27 Google Llc Motion field estimation based on motion trajectory derivation
US10659788B2 (en) 2017-11-20 2020-05-19 Google Llc Block-based optical flow estimation for motion compensated prediction in video coding
US10628958B2 (en) * 2017-09-05 2020-04-21 Htc Corporation Frame rendering apparatus, method and non-transitory computer readable storage medium
JP2019050451A (ja) * 2017-09-07 2019-03-28 キヤノン株式会社 画像処理装置及びその制御方法及びプログラム及び画像処理システム
US10523947B2 (en) * 2017-09-29 2019-12-31 Ati Technologies Ulc Server-based encoding of adjustable frame rate content
US10594901B2 (en) 2017-11-17 2020-03-17 Ati Technologies Ulc Game engine application direct to video encoder rendering
US11290515B2 (en) 2017-12-07 2022-03-29 Advanced Micro Devices, Inc. Real-time and low latency packetization protocol for live compressed video data
US10977809B2 (en) 2017-12-11 2021-04-13 Dolby Laboratories Licensing Corporation Detecting motion dragging artifacts for dynamic adjustment of frame rate conversion settings
US10708597B2 (en) 2018-02-01 2020-07-07 Microsoft Technology Licensing, Llc Techniques for extrapolating image frames
EP3547684B1 (en) 2018-03-28 2020-02-26 Axis AB Method, device and system for encoding a sequence of frames in a video stream
US10516812B2 (en) 2018-04-02 2019-12-24 Intel Corporation Devices and methods for selective display frame fetch
US10798335B2 (en) * 2018-05-14 2020-10-06 Adobe Inc. Converting variable frame rate video to fixed frame rate video
US11153619B2 (en) * 2018-07-02 2021-10-19 International Business Machines Corporation Cognitively derived multimedia streaming preferences
US11997275B2 (en) * 2018-08-27 2024-05-28 AT Technologies ULC Benefit-based bitrate distribution for video encoding
US12050461B2 (en) * 2018-09-07 2024-07-30 DoorDash, Inc. Video system with frame synthesis
US11100604B2 (en) 2019-01-31 2021-08-24 Advanced Micro Devices, Inc. Multiple application cooperative frame-based GPU scheduling
US11178415B2 (en) * 2019-03-12 2021-11-16 Tencent America LLC Signaling of CU based interpolation filter selection
CN113455007B (zh) * 2019-03-22 2023-12-22 腾讯美国有限责任公司 帧间点云属性编解码的方法和装置
US11418797B2 (en) 2019-03-28 2022-08-16 Advanced Micro Devices, Inc. Multi-plane transmission
US10862591B1 (en) 2019-04-18 2020-12-08 Microsoft Technology Licensing, Llc Unequal decision regions for throughput increases for optical communications
US10998982B2 (en) 2019-04-18 2021-05-04 Microsoft Technology Licensing, Llc Transmitter for throughput increases for optical communications
US10873393B2 (en) 2019-04-18 2020-12-22 Microsoft Technology Licensing, Llc Receiver training for throughput increases in optical communications
US10951342B2 (en) 2019-04-18 2021-03-16 Microsoft Technology Licensing, Llc Throughput increases for optical communications
US10911155B2 (en) 2019-04-18 2021-02-02 Microsoft Technology Licensing, Llc System for throughput increases for optical communications
US11018776B2 (en) 2019-04-18 2021-05-25 Microsoft Technology Licensing, Llc Power-based decoding of data received over an optical communication path
US10897315B2 (en) 2019-04-18 2021-01-19 Microsoft Technology Licensing, Llc Power-based decoding of data received over an optical communication path
US10873392B2 (en) 2019-04-18 2020-12-22 Microsoft Technology Licensing, Llc Throughput increases for optical communications
US10892847B2 (en) 2019-04-18 2021-01-12 Microsoft Technology Licensing, Llc Blind detection model optimization
US10742325B1 (en) 2019-04-18 2020-08-11 Microsoft Technology Licensing, Llc Power-based encoding of data to be transmitted over an optical communication path
US10686530B1 (en) 2019-04-18 2020-06-16 Microsoft Technology Licensing, Llc Power-based encoding of data to be transmitted over an optical communication path
US10938485B2 (en) 2019-04-18 2021-03-02 Microsoft Technology Licensing, Llc Error control coding with dynamic ranges
US10911152B2 (en) 2019-04-18 2021-02-02 Microsoft Technology Licensing, Llc Power-based decoding of data received over an optical communication path
US10756817B1 (en) 2019-04-18 2020-08-25 Microsoft Technology Licensing, Llc Power switching for systems implementing throughput improvements for optical communications
US10742326B1 (en) * 2019-04-18 2020-08-11 Microsoft Technology Licensing, Llc Power-based encoding of data to be transmitted over an optical communication path
US11063696B2 (en) 2019-07-16 2021-07-13 Microsoft Technology Licensing, Llc Increasing average power levels to reduce peak-to-average power levels using error correction codes
US11031961B2 (en) 2019-07-16 2021-06-08 Microsoft Technology Licensing, Llc Smart symbol changes for optimization of communications using error correction
US11086719B2 (en) 2019-07-16 2021-08-10 Microsoft Technology Licensing, Llc Use of error correction codes to prevent errors in neighboring storage
US10911284B1 (en) 2019-07-16 2021-02-02 Microsoft Technology Licensing, Llc Intelligent optimization of communication systems utilizing error correction
US11075656B2 (en) 2019-07-16 2021-07-27 Microsoft Technology Licensing, Llc Bit error reduction of communication systems using error correction
US11044044B2 (en) 2019-07-16 2021-06-22 Microsoft Technology Licensing, Llc Peak to average power ratio reduction of optical systems utilizing error correction
US11172455B2 (en) 2019-07-16 2021-11-09 Microsoft Technology Licensing, Llc Peak to average power output reduction of RF systems utilizing error correction
US11303847B2 (en) 2019-07-17 2022-04-12 Home Box Office, Inc. Video frame pulldown based on frame analysis
US10911141B1 (en) * 2019-07-30 2021-02-02 Microsoft Technology Licensing, Llc Dynamically selecting a channel model for optical communications
US10885343B1 (en) * 2019-08-30 2021-01-05 Amazon Technologies, Inc. Repairing missing frames in recorded video with machine learning
IL271774A (en) * 2019-12-31 2021-06-30 Bottega Studios Ltd System and method for imaging dynamic images
CN111770332B (zh) * 2020-06-04 2022-08-09 Oppo广东移动通信有限公司 插帧处理方法、插帧处理装置、存储介质与电子设备
CN113949930B (zh) * 2020-07-17 2024-03-12 晶晨半导体(上海)股份有限公司 选取参考帧的方法、电子设备和存储介质
US20220038654A1 (en) * 2020-07-30 2022-02-03 Nvidia Corporation Techniques to generate interpolated video frames
TWI740655B (zh) * 2020-09-21 2021-09-21 友達光電股份有限公司 顯示裝置的驅動方法
US11568527B2 (en) * 2020-09-24 2023-01-31 Ati Technologies Ulc Video quality assessment using aggregated quality values
US11488328B2 (en) 2020-09-25 2022-11-01 Advanced Micro Devices, Inc. Automatic data format detection
EP3989530A1 (en) 2020-10-23 2022-04-27 Axis AB Generating substitute image frames based on camera motion
US11636682B2 (en) 2020-11-05 2023-04-25 International Business Machines Corporation Embedding contextual information in an image to assist understanding
US20230407239A1 (en) * 2020-11-13 2023-12-21 Teewinot Life Sciences Corporation Tetrahydrocannabinolic acid (thca) synthase variants, and manufacture and use thereof
US20220224924A1 (en) * 2021-01-11 2022-07-14 Tencent America LLC Hierarchical structure for neural network based tools in video coding
US11558621B2 (en) * 2021-03-31 2023-01-17 Qualcomm Incorporated Selective motion-compensated frame interpolation
US20220360814A1 (en) * 2021-05-06 2022-11-10 Apple Inc. Enhanced motion vector prediction
EP4304167A1 (en) 2021-06-14 2024-01-10 Samsung Electronics Co., Ltd. Electronic device carrying out video call by using frc, and operation method for electronic device
US11755272B2 (en) 2021-12-10 2023-09-12 Vmware, Inc. Method and system for using enhancement techniques to improve remote display while reducing hardware consumption at a remote desktop
WO2023174546A1 (en) * 2022-03-17 2023-09-21 Dream Chip Technologies Gmbh Method and image processor unit for processing image data
US12008729B2 (en) * 2022-03-21 2024-06-11 Novatek Microelectronics Corp. On-screen display (OSD) image processing method
US12010450B2 (en) * 2022-03-21 2024-06-11 Novatek Microelectronics Corp. On-screen display (OSD) image processing method

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2518239B2 (ja) 1986-12-26 1996-07-24 キヤノン株式会社 デイジタル画像デ−タ処理装置
US5642170A (en) * 1993-10-11 1997-06-24 Thomson Consumer Electronics, S.A. Method and apparatus for motion compensated interpolation of intermediate fields or frames
GB2305569B (en) 1995-09-21 1999-07-21 Innovision Res Ltd Motion compensated interpolation
US6075918A (en) 1995-10-26 2000-06-13 Advanced Micro Devices, Inc. Generation of an intermediate video bitstream from a compressed video bitstream to enhance playback performance
WO1997046020A2 (en) * 1996-05-24 1997-12-04 Philips Electronics N.V. Motion vector processing
FR2750558B1 (fr) * 1996-06-28 1998-08-28 Thomson Multimedia Sa Procede d'interpolation de trames pour compatibilite mode film
JP3609571B2 (ja) 1997-03-12 2005-01-12 株式会社東芝 画像再生装置
US6192079B1 (en) * 1998-05-07 2001-02-20 Intel Corporation Method and apparatus for increasing video frame rate
US6594313B1 (en) * 1998-12-23 2003-07-15 Intel Corporation Increased video playback framerate in low bit-rate video applications
US6760378B1 (en) 1999-06-30 2004-07-06 Realnetworks, Inc. System and method for generating video frames and correcting motion
JP2001352544A (ja) 2000-06-08 2001-12-21 Matsushita Graphic Communication Systems Inc 画像符号化装置及び画像符号化方法
EP1316218A2 (en) 2000-08-29 2003-06-04 Koninklijke Philips Electronics N.V. Method of running an algorithm and a scalable programmable processing device
FR2820927B1 (fr) 2001-02-15 2003-04-11 Thomson Multimedia Sa Procede et dispositif de detection de fiabilite d'un champ de vecteurs mouvement
CN1515111A (zh) 2001-06-08 2004-07-21 �ʼҷ����ֵ������޹�˾ 显示视频帧的方法和系统
US7088774B1 (en) * 2002-05-29 2006-08-08 Microsoft Corporation Media stream synchronization
GB2394136B (en) 2002-09-12 2006-02-15 Snell & Wilcox Ltd Improved video motion processing
AU2003265075A1 (en) 2002-10-22 2004-05-13 Koninklijke Philips Electronics N.V. Image processing unit with fall-back
JP2005006275A (ja) 2002-11-22 2005-01-06 Matsushita Electric Ind Co Ltd 補間フレーム作成装置、補間フレーム作成方法、および補間フレーム作成プログラム
EP1422928A3 (en) 2002-11-22 2009-03-11 Panasonic Corporation Motion compensated interpolation of digital video signals
US8040949B2 (en) 2003-01-09 2011-10-18 The Regents Of The University Of California Video encoding methods and devices
JP4220284B2 (ja) * 2003-03-28 2009-02-04 株式会社東芝 フレーム補間方法、装置及びこれを用いた画像表示システム
US20040218669A1 (en) 2003-04-30 2004-11-04 Nokia Corporation Picture coding method
EP1627533B1 (en) * 2003-05-02 2006-12-27 Koninklijke Philips Electronics N.V. Biased motion vector interpolation for reduced video artifacts
US7558320B2 (en) * 2003-06-13 2009-07-07 Microsoft Corporation Quality control in frame interpolation with motion analysis
US20050100235A1 (en) * 2003-11-07 2005-05-12 Hao-Song Kong System and method for classifying and filtering pixels
JP2005223454A (ja) 2004-02-03 2005-08-18 Nec Access Technica Ltd Tv機能付き携帯電話装置
JP2007529812A (ja) 2004-03-19 2007-10-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ リソース・スケーラブルな動き推定器における、メディア信号処理方法、対応するシステム、及びその適用
US8948262B2 (en) * 2004-07-01 2015-02-03 Qualcomm Incorporated Method and apparatus for using frame rate up conversion techniques in scalable video coding
CN1717056A (zh) * 2004-07-02 2006-01-04 三菱电机株式会社 用于小波视频编码中的高通时间滤波帧的帧内预测
EP2096873A3 (en) * 2004-07-20 2009-10-14 Qualcomm Incorporated Method and apparatus for encoder assisted-frame rate conversion (EA-FRUC) for video compression
AR049727A1 (es) * 2004-07-20 2006-08-30 Qualcomm Inc Metodo y aparato para la conversion ascendente de la velocidad de las tramas con multiples tramas de referencia y tamanos de bloques variables
US20090317420A1 (en) 2004-07-29 2009-12-24 Chiron Corporation Immunogenic compositions for gram positive bacteria such as streptococcus agalactiae
US8861601B2 (en) 2004-08-18 2014-10-14 Qualcomm Incorporated Encoder-assisted adaptive video frame interpolation
JP4515870B2 (ja) 2004-09-24 2010-08-04 パナソニック株式会社 信号処理装置及び映像システム
JP2006217569A (ja) 2005-01-07 2006-08-17 Toshiba Corp 画像符号列変換装置、画像符号列変換方法および画像符号列変換プログラム
TWI274509B (en) * 2005-02-22 2007-02-21 Sunplus Technology Co Ltd Method and system for dynamically adjusting motion estimation
US20060233253A1 (en) * 2005-03-10 2006-10-19 Qualcomm Incorporated Interpolated frame deblocking operation for frame rate up conversion applications
JP4398925B2 (ja) * 2005-03-31 2010-01-13 株式会社東芝 補間フレーム生成方法、補間フレーム生成装置および補間フレーム生成プログラム
US7876833B2 (en) 2005-04-11 2011-01-25 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive up-scaling for spatially scalable coding
US20070074251A1 (en) * 2005-09-27 2007-03-29 Oguz Seyfullah H Method and apparatus for using random field models to improve picture and video compression and frame rate up conversion
TW200727705A (en) 2005-09-27 2007-07-16 Qualcomm Inc Method and apparatus for using random field models to improve picture and video compression and frame rate up conversion
US9258519B2 (en) 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
JP4468884B2 (ja) * 2005-12-09 2010-05-26 リンテック株式会社 テープ貼付装置、マウント装置及びマウント方法
JP4303748B2 (ja) 2006-02-28 2009-07-29 シャープ株式会社 画像表示装置及び方法、画像処理装置及び方法
EP1843587A1 (en) * 2006-04-05 2007-10-10 STMicroelectronics S.r.l. Method for the frame-rate conversion of a digital video signal and related apparatus
US8582660B2 (en) 2006-04-13 2013-11-12 Qualcomm Incorporated Selective video frame rate upconversion
JP2007311843A (ja) 2006-05-16 2007-11-29 Sony Corp ノンインターレース化装置、表示装置及びプログラム
JP4178480B2 (ja) * 2006-06-14 2008-11-12 ソニー株式会社 画像処理装置、画像処理方法、撮像装置および撮像方法
US20080025390A1 (en) * 2006-07-25 2008-01-31 Fang Shi Adaptive video frame interpolation
US20080055311A1 (en) * 2006-08-31 2008-03-06 Ati Technologies Inc. Portable device with run-time based rendering quality control and method thereof
JP2008067205A (ja) 2006-09-08 2008-03-21 Toshiba Corp フレーム補間回路、フレーム補間方法、表示装置
US9883202B2 (en) * 2006-10-06 2018-01-30 Nxp Usa, Inc. Scaling video processing complexity based on power savings factor
JP4687658B2 (ja) 2007-01-29 2011-05-25 株式会社デンソー 画像の認識装置
WO2009032255A2 (en) * 2007-09-04 2009-03-12 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
US8660175B2 (en) * 2007-12-10 2014-02-25 Qualcomm Incorporated Selective display of interpolated or extrapolated video units

Also Published As

Publication number Publication date
CN101939992A (zh) 2011-01-05
WO2009076466A1 (en) 2009-06-18
US8660175B2 (en) 2014-02-25
CN101919255B (zh) 2013-02-27
WO2009076471A1 (en) 2009-06-18
KR101149205B1 (ko) 2012-05-25
EP2232870B1 (en) 2013-06-05
WO2009076468A3 (en) 2010-03-25
US20090147854A1 (en) 2009-06-11
US20090148058A1 (en) 2009-06-11
KR101268990B1 (ko) 2013-05-29
EP2232871A1 (en) 2010-09-29
EP2232871B1 (en) 2013-10-09
US20090147853A1 (en) 2009-06-11
EP2232870A2 (en) 2010-09-29
KR20120088006A (ko) 2012-08-07
EP2232878A1 (en) 2010-09-29
CN101939992B (zh) 2013-05-01
TW200943974A (en) 2009-10-16
JP5502746B2 (ja) 2014-05-28
JP5437265B2 (ja) 2014-03-12
JP2011507404A (ja) 2011-03-03
KR101136293B1 (ko) 2012-04-19
JP2011507406A (ja) 2011-03-03
KR20100093112A (ko) 2010-08-24
KR20100093113A (ko) 2010-08-24
US8953685B2 (en) 2015-02-10
US9426414B2 (en) 2016-08-23
TW200943967A (en) 2009-10-16
EP2232878B1 (en) 2012-06-06
CN101919249A (zh) 2010-12-15
CN101919249B (zh) 2016-03-30
TW200950528A (en) 2009-12-01
KR101178553B1 (ko) 2012-08-30
WO2009076468A2 (en) 2009-06-18
KR20100092506A (ko) 2010-08-20
CN101919255A (zh) 2010-12-15
JP2011507405A (ja) 2011-03-03

Similar Documents

Publication Publication Date Title
JP5502747B2 (ja) リソース適応型ビデオ補間または外挿
US8374246B2 (en) Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression
US20100027663A1 (en) Intellegent frame skipping in video coding based on similarity metric in compressed domain
JP2012075136A (ja) マルチメディア処理のためのコンテンツ分類
JP4644097B2 (ja) 動画像符号化プログラム、プログラム記憶媒体、および符号化装置。

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121010

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130717

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140313

R150 Certificate of patent or registration of utility model

Ref document number: 5502747

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

LAPS Cancellation because of no payment of annual fees