JP2005531979A - 計算が強制されるビデオ符号化 - Google Patents

計算が強制されるビデオ符号化 Download PDF

Info

Publication number
JP2005531979A
JP2005531979A JP2004517699A JP2004517699A JP2005531979A JP 2005531979 A JP2005531979 A JP 2005531979A JP 2004517699 A JP2004517699 A JP 2004517699A JP 2004517699 A JP2004517699 A JP 2004517699A JP 2005531979 A JP2005531979 A JP 2005531979A
Authority
JP
Japan
Prior art keywords
encoding
processing cycles
video frame
threshold
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004517699A
Other languages
English (en)
Other versions
JP4594087B2 (ja
JP2005531979A5 (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 JP2005531979A publication Critical patent/JP2005531979A/ja
Publication of JP2005531979A5 publication Critical patent/JP2005531979A5/ja
Application granted granted Critical
Publication of JP4594087B2 publication Critical patent/JP4594087B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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
    • 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
    • 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/177Methods 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 a group of pictures [GOP]
    • 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/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

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】計算が強制されるビデオ符号化。
【解決手段】ビデオフレームの符号化の期間中に使用された処理サイクルの数を決定し、そして符号化の期間中に使用された処理サイクルの数がしきい値を超える場合は、動き推定技術を使用することなしにビデオフレームを符号化することを伴うビデオ符号化技術が記述される。たとえば、しきい値は与えられたビデオフレームの符号化に対して利用可能な処理サイクルの数を定義することが可能であり、そして決定された処理サイクルの数は、与えられたビデオフレームの符号化処理の期間中に使用されたサイクルの計数された数であることが可能である。もしも符号化の期間中に使用された処理サイクルの数がしきい値を超える場合は、動き推定技術は、テクスチャ符号化等の計算的により少なく強力な符号化技術を選択して中断されることが可能である。

Description

本発明は、ディジタルビデオ処理、そしてより特定的にはビデオシーケンスの符号化に関する。
ディジタルビデオの能力は、ディジタルテレビジョン、ディジタル直接放送システム、無線通信デバイス、パーソナルディジタルアシスタント(PDAs:personal digital assistants)、ラップトップコンピュータ、デスクトップコンピュータ、ディジタルカメラ、ディジタル記録デバイス、セルラあるいは衛星無線電話等を含む、広範囲のデバイスと結合することが可能である。これらの、そして他のディジタルビデオデバイスは、フルモーションビデオシーケンスの創造、修正、送信、記憶、記録、および再生において、従来のアナログビデオシステムに勝る十分な改善を与えることが可能である。
いくつかの異なったビデオ符号化標準が、ディジタルビデオシーケンスの通信に対して確立されてきている。たとえば、動画像符号化専門家会合(MPEG:Moving Picture Experts Group)は、MPEG‐1、MPEG‐2、およびMPEG‐4を含むいくつかの標準を開発してきている。他の標準は、ITU H.263、Cupertino CaliforniaのApple Computerによって開発されたQuick TimeTM技術、Redmond,Washingtonの Microsoft Corporationによって開発されたVideo for WindowsTM 技術、Intel Corporationによって開発されたIndeoTM、Seattle,WashingtonのRealNetworks,Inc.からのRealVideoTM、およびSuperMac,Inc.によって開発されたCinepakTMを含む。なお開発されるべき標準を含んでいるこれらのおよび他の標準は、開発を続けるであろう。
多くのビデオ符号化標準は、圧縮された形態でデータを符号化することによって伝送レートの増加を達成している。圧縮は画像フレームの効率的な伝送のために送信されるべき必要のあるデータの総量を減少することが可能である。たとえば、MPEG標準は圧縮なしに達成され得るよりもより狭い帯域幅上に、ビデオおよび画像伝送を容易にするために設計されたグラフィックスおよびビデオ圧縮技術を利用している。とくにMPEG標準は、フレーム間圧縮を与えるために、時間的な、あるいはフレーム間相関として参照される、連続した画像フレーム間の類似性を利用するビデオ符号化技術をサポートしている。フレーム間圧縮技術は、画像フレームのピクセルに基づいた表現を動きの表現に変換することによってフレームを越えるデータの冗長性を用いている。さらに、ビデオ符号化技術は、画像フレーム内の動きの表現をさらに圧縮することが可能なフレーム内圧縮を達成するために、空間的なあるいはフレーム内相関として参照される画像フレーム内の類似性を利用することが可能である。フレーム内圧縮は典型的には、離散コサイン変換(DCT:discrete cosine transform)符号化等の静止画像を圧縮するためのテクスチャ符号化処理を基にしている。
圧縮技術をサポートするために、多くのディジタルビデオデバイスは、ディジタルビデオシーケンスを圧縮するための符号化器、およびディジタルビデオシーケンスをデコンプレスするための復号器を含んでいる。多くの場合符号化器および復号器は、ビデオ画像のシーケンスを定義するフレーム内のピクセルのブロック上で動作する、統合された符号化器/復号器(CODEC)を含む。たとえば、MPEG‐4標準においては、送出デバイスの符号化器は、典型的には送信すべきビデオ画像フレームを16×16ピクセルアレイを含むマクロブロックに分割する。画像フレーム内の各マクロブロックに対して、符号化器は最も類似したマクロブロックを識別するために、すぐ先に立つビデオフレームのマクロブロックを探索し、そして伝送のために、マクロブロック間の差を前のフレームからのいずれのマクロブロックが符号化のために使用されたを示す動きベクトル(motion vector)とともに符号化する。受信デバイスの復号器は、動きベクトルおよび符号化された差を受信し、そしてビデオシーケンスを発生するために動き補償(motion compensation)を実行する。
ビデオ符号化処理は、特に動き推定技術が使用される場合は計算的に強力である。たとえば、ビデオブロックを前に送信されたフレームのビデオブロックと比較する処理は多数の計算を必要とする。改善された符号化技術は、無線デバイスあるいはとくに計算上の資源がより限定されそして電力消費が問題となる、他の可搬型ビデオデバイスにおける使用に対して非常に望ましいものである。さらに、技術はこのような無線デバイスにおいてはリアルタイムでの符号化を容易にすることが望まれる。
この開示はビデオ符号化技術を記述する。ビデオ符号化技術はビデオフレームの符号化の期間中に使用された処理サイクルの数を決定し、そして決定された処理サイクルの数に基づいて、異なった符号化モードを用いてビデオフレームを選択的に符号化することを含むことが可能である。もしも決定された処理サイクルの数がしきい値を超えない場合は、ビデオフレームの符号化は動き推定技術(motion estimation)を使用して第1の符号化モードにおいて実行することが可能である。しかしながら、動き推定技術を使用しないビデオフレームの符号化に関する第2のモードは、もしも決定された処理サイクルの数がしきい値を超える場合に使用されることが可能である。
しきい値は、与えられたビデオフレームの符号化に対して利用可能な処理サイクルの数を定義することが可能であり、そして決定された処理サイクルの数は、与えられたビデオフレームの符号化処理の期間中に使用された計数されたサイクルの数であることが可能である。もしも決定された処理サイクルの数がしきい値を超える場合は、動き推定技術は、フレームの次のビデオブロックに対する、あるいは1個あるいはそれ以上の後のフレームに対するテクスチャ符号化等の、計算的により少なく強力な(less computationally intensive)符号化技術を選択して中止されることが可能である。したがって、計算上の特性を向上するために、異なった符号化モードが選択的な基準で使用されることが可能である。このように、ビデオ符号化は比較的限定された処理能力を有するデバイスにおいて実現されるべきリアルタイム符号化を可能として、加速されることが可能である。
この技術はハードウエア、ソフトウエア、ファームウエア、あるいはこれらの任意の組み合わせの中で実行されることが可能である。ソフトウエア内で実行される場合は、この技術は実行されるときにこの中に記述された1個あるいはそれ以上の符号化技術を実行するプログラムコードを含む、計算機によって読み出し可能な媒体に向けられることが可能である。種々の実施例に関するさらなる詳細が以下の添付図面および記述の中に示される。他の特徴、目的および利点は、記述および図面からそして特許請求の範囲から明白となるであろう。
一般的に、この開示は、圧縮比におけるトレードオフを用いて、資源の限定された基盤の中に、ビデオ符号化方式を適合させるために使用することが可能な符号化技術に向けられている。技術は、あるシナリオにおける計算を減少し、処理時間を加速し、そして多分ビデオ符号化期間中の電力消費を減少する目的のために、ディジタルビデオデバイスの符号化器によって実行されることが可能である。このようにして、符号化技術はMPEG‐4等の標準に従ったビデオ符号化を改善し、そして計算処理上の資源(computational resource)がさらに限定され、そして電力消費が問題とされる無線デバイスにおけるビデオ符号化の実行をさらに容易にすることが可能である。さらに、技術はMPEG‐4復号標準等の復号標準との共働性(interoperability)能力を維持するように配置することが可能である。
この中に記述されたビデオ符号化技術は、与えられたビデオフレームの符号化の中にある計算処理上のメトリック(computational metric)に応じた選択的な符号化技術を適用している。技術は計算処理上のメトリックがしきい値を超えるまでは第1の符号化モードを、そしてその後は第2の符号化モードを適用することが可能である。このようにして、このビデオ符号化技術はそれぞれのフレームの符号化に向けられる計算処理上の資源を抑制することが可能である。
より特定的には、ビデオ符号化技術はビデオフレームの符号化のための計算処理上の予定(computational budget)を確立する。計算的に強力な動き推定技術(あるいは任意の他の、ビデオ符号化における計算的に高価なモジュール)は、計算処理上の予定が使用し切られていない限りは使用が可能である。しかしながら、もしも計算処理上の予定が与えられたビデオフレームの符号化の期間中に使用し切られる場合は、計算的に強力な技術は、フレーム内テクスチャ符号化、あるいはより狭い探索領域上の動き推定符号化等の計算的な強力性のより小さい符号化技術を選択して中断されることが可能である。テクスチャ符号化あるいは減少された探索領域上の動き推定は、より少ない圧縮にも拘らず、よりずっと速く実行することが可能である。このようにして、任意の与えられたビデオフレームに対する符号化処理は過度の時間量を必要としないことが保証可能である。そしてそれは、そうでない場合はリアルタイムでのビデオシーケンスの伝送を損なうことが可能である。さらに、与えられたビデオフレームの符号化を動的に定義することによって、計算処理上の資源が十分である場合は動き推定と組み合わせられたデータ圧縮を利用しながら、計算処理上の資源をより効率的に使用することが可能である。
MPEG‐4標準等の標準に従ったディジタルビデオデータを符号化するディジタルビデオデバイスは、符号化アルゴリズムを実行するためにディジタル信号処理装置(DSP:digital signal processor)等の処理装置を実現するかも知れない。符号化アルゴリズムは、ビデオフレームを構成する個々のビデオブロックを符号化するために動き推定技術を実現するかも知れない。指摘したように、動き推定技術は非常に計算的に強力である。とくに、動き推定技術は典型的には、動きベクトルを定義するときの使用に対して許容可能な整合を識別するために、前に送信されたフレーム(あるいは次のフレーム)に関するビデオブロックの若干あるいはすべてに対する、符号化されるべきビデオブロックの比較を含む。さらに、一つのブロックの他に対する個々の比較の各々は、ピクセルに関する比較を実行するためにいくらかの計算を必要とするかも知れない。しかしながら、アルゴリズムを実行しているDSPの処理速度は一般に固定されている。換言すれば、DSPは典型的にはサイクル/秒(Hz)で定義された周波数で動作する。たとえば、50メガヘルツのクロック速度で動作しているDSPは、毎秒ほぼ5,000万インストラクションを実行する。
許容可能な動き推定符号化に対して必要とされる計算の数は任意の与えられたビデオフレームに対して未知であるかも知れない。たとえば、動き推定技術を使用している任意の与えられたビデオフレームを符号化するために必要とされる計算の数は、ビデオフレームの内容および含まれる探索アルゴリズムによって変化するかも知れない。しかしながら、必要とされる分解能を有するビデオシーケンスに関するリアルタイム伝送を促進するためには、画像フレームは与えられた時間量の内に符号化されることが必要であるかも知れない。とくに、約15フレーム/秒あるいはそれ以上が、ビデオシーケンスに関する必要とされる分解能を保証するために典型的に必要とされる。
若干のフレームは、動き推定技術を使用する他のフレームよりも符号化するためにより長いことを必要とするために、DSPが許容可能な符号化をサポート可能であることを保証するための一つの方法は、DSPのクロック速度を増加することであり、そしてそれによってDSPが常に“最悪の場合”を符号化可能であることを保証することである。それは、もしもDSPが15フレーム/秒が符号化されることを保証するために必要とされる時間内に大部分の計算を必要とするビデオフレームを符号化するのに十分に速い場合は、リアルタイムビデオシーケンスはサポートされることが可能である、ということである。しかしながら、DSPのクロック速度の増加は、実行上の観点および動作上の観点の両者から、非常に高価であるかも知れない。とくに、増加されたクロック速度は、さらなる設計の複雑性と同様に、DSPによるさらなる電力消費を必要とするかも知れない。したがって、ビデオシーケンスのリアルタイム伝送によって課せられる時間制約の範囲内における、”最悪の場合”を符号化するのに必ずしも十分な速さではないかも知れないクロック速度で動作するDSPによってサポートされるべき、リアルタイムビデオ符号化を可能とすることが大いに望まれる。
与えられたビデオフレームの符号化のための計算処理上の予定を定義することによって、DSPに関する必要とされる速度は与えられた符号化のシナリオに対して減少することが可能である。若干の場合、計算処理上の予定は少なくとも一部は、前のビデオフレームを符号化するために使用された平均サイクル数によって定義されることが可能である。換言すれば、もしも前のビデオフレームが非常に速く符号化される場合は、計算処理上の節約は、多分次のビデオフレームを符号化するために実行されるべき計算数の増加を可能にして、次のフレームの計算処理上の予定の中に組み入れられることが可能である。以下により詳細に概説される一つの例においては、一部は次のビデオフレームを符号化するための計算処理上の予定を定義するために、いくつかの前に符号化されたビデオフレームと組み合わせられた処理サイクルを定義する移動平均が使用されるかも知れない。したがって、前に送信されたビデオフレームの符号化の期間中の計算処理上の節約は、もしも必要な場合は、次のビデオフレームの符号化が前の計算処理上の節約を利用することが可能なようにリサイクルされるかも知れない。換言すれば、もしもより早いフレームの符号化が計算処理上の節約を生じている場合は、すなわちより早いフレームの符号化がその時存在するしきい値よりもより少ない処理サイクルのうちに実行される場合は、しきい値はより後のフレームに対して増加されることが可能である。他方、前のフレームにおける計算処理上の予定の使用し過ぎはまた、識別されることが可能でありそしてその場合、後のフレームに対するしきい値は従って減少されることが可能である。他の場合においては、計算処理上の予定は各フレームに対して適用されそして時間に対して変化しない、固定されたしきい値によって定義されるかも知れない。
この中に記述された技術はある利益を与えることが可能であるかも知れない。たとえば、この技術はビデオ符号化期間中の電力消費の減少を促進することが可能であり、そして、リアルタイム符号化に対して必要とされる時間制約の中の“最悪の場合”を符号化するのに必ずしも十分な速さではないクロック速度で動作するDSPを用いて、効率的なリアルタイムビデオ符号化を促進することが可能である。この技術はとくに、無線ディジタルビデオデバイスあるいは計算処理上の資源がさらに制限されそして電力消費が問題となる他の可搬型ビデオデバイスの場合に有用であることが可能である。
DSP技術における将来の進歩によって、DSPクロック速度は常に増加するであろうし、そして電力消費は与えられたクロック速度に対して減少するであろう。より速い、そしてより電力効率のよいDSPをもってさえもなお、この中に記述された技術は非常に有用であることが可能である。たとえば、より速いクロック速度は、毎秒より多いフレームの符号化をサポートすることによって、あるいは3次元像等のより複雑な像をサポートすることによって、改善されたリアルタイム分解能を許容することが可能である。同様に、より速いクロック速度は、より大きいビデオフレームがリアルタイムで符号化されることを許容することが可能である。要するに、この中に記述された技術は、任意の与えられたクロック速度で動作するDSPとの使用に限定されるものではなく、そして信号処理技術が発展を続けるのに伴ってよりずっと速いDSPとの使用に対して等しく有用であることが可能である。同様に、もしもハードウエア内で実行される場合は、ハードウエア速度はそれに応じて減少することが可能である。
図1は、ソースデバイス4がビデオデータの符号化されたシーケンスを、通信リンク6上で受信デバイス8に送信している、例となるシステム2を示しているブロック線図である。ソースデバイス4および受信デバイス8は、ともにディジタルビデオデバイスである。とくに、ソースデバイス4は、動画像符号化専門家会合によって開発されたMPEG‐4等の種々のビデオ圧縮標準の任意の一つを用いてビデオデータを符号化しそして送信する。他の標準は動画像符号化専門家会合によって開発された、MPEG‐1、MPEG‐2、あるいは他のMPEG標準、ITU H.263、モーションJPEG2000、Cupertino California のApple Computerによって開発されたQuickTimeTM技術、Redmond、WashingtonのMicrosoft Corporationによって開発されたVideo for WindowsTM、Intel Corporationによって開発されたIndeoTM、およびSuperMac Inc.によって開発されたCinepakTMを含むことが可能である。
通信リンク6は、無線リンク、物理的伝送ライン、ローカルエリアネットワーク、ワイドエリアネットワーク、あるいはインターネット等のグローバルネットワーク、公衆交換電話ネットワーク(PSTN)、あるいは種々のリンクおよびネットワークの組み合わせを含むことが可能である。換言すれば、通信リンク6は、任意の適切な通信媒体、あるいは多分ソースデバイス4から受信デバイス8へのビデオデータを送信するための異なったネットワークおよびリンクの集合を表している。
ソースデバイス4は、ビデオデータを符号化しそして送信することが可能な任意のディジタルビデオデバイスであることが可能である。たとえば、ソースデバイス4は、ディジタルビデオシーケンスを記憶するためのメモリ22、シーケンスを符号化するためのビデオ符号化器20、および符号化されたシーケンスを通信リンク6上に送信するための送信機14を含むかも知れない。たとえば、ビデオ符号化器20は、DSPおよび/あるいは、符号化技術を定義するプログラマブルソフトウエアモジュールを実行するマイクロ処理装置を含むことが可能である。
ソースデバイス4はまた、ビデオシーケンスを捕捉しそして捕捉されたシーケンスをメモリ22内に記憶するためのビデオカメラ等の画像センサ23を含むかも知れない。若干の場合、ソースデバイス4は、リアルタイムビデオシーケンスを通信リンク6上に送信するかも知れない。これらの場合、受信デバイス8は、リアルタイムビデオシーケンスを受信しそしてビデオシーケンスをユーザに表示することが可能である。
受信デバイス8は、ビデオデータを受信しそして復号することが可能な任意のディジタルビデオデバイスであることが可能である。たとえば、受信デバイス8は、符号化されたディジタルビデオシーケンスを受信するための受信機15、シーケンスを復号するための復号器16、およびシーケンスをユーザに表示するためのディスプレー18を含むかも知れない。
ソースデバイス4および受信デバイス8に対する例となるデバイスは、計算機ネットワーク上におかれたサーバ、ワークステーションあるいは他のデスクトップ計算デバイス、およびラップトップコンピュータ等の移動計算デバイスを含む。他の例は、ディジタルテレビジョン放送衛星、およびディジタルテレビジョン、ディジタルカメラ、ディジタルビデオカメラあるいは他のディジタル記録デバイス、ビデオ能力を有するセルラ無線電話および衛星無線電話等のディジタルビデオ電話、他の無線ビデオデバイス、および類似のものを含む。
若干の場合、ソースデバイス4および受信デバイス8は各々、ディジタルビデオデータを符号化しそして復号するための、符号化器/復号器(CODEC)(図示せず)を含む。その場合、ソースデバイス4および受信デバイス8の両者はメモリおよびディスプレーと同様に送信機および受信機を含むことが可能である。以下に概説される符号化技術の多くは、符号化器を含むディジタルビデオデバイスの環境で記述される。しかしながら、符号化器は、CODECの部分を形成することが可能であることは了解される。その場合、CODECは、DSP、マイクロ処理装置、特定用途向け集積回路(ASIC)、ディスクリートハードウエアコンポーネント、あるいはこれらの種々の組み合わせとして実現されることが可能である。
たとえば、ソースデバイス4は、ビデオデータを符号化するためにビデオ画像のシーケンス内のピクセルのブロック上で動作する。たとえば、ソースデバイス4の符号化器20は、送信されるべきビデオ画像フレームがいくつかのより小さい画像ブロックを含むマクロブロックに分割される、動き推定符号化技術を実行することが可能である。画像フレーム内の各マクロブロックに対してソースデバイス4のビデオ符号化器20は、類似のマクロブロックを識別するために、すでに送信された先のビデオフレーム(あるいは次のビデオフレーム)に対する、メモリ22内に記憶されたマクロブロックを探索し、そしてマクロブロック間の差を、符号化に対して使用された前のフレームからマクロブロックを識別する動きベクトルとともに符号化する。若干の場合、ソースデバイス4は、計算の数を減少しそして電力を節約するために、符号化処理期間中種々のタスクあるいは反復の終了をもたらすことが可能なプログラマブルしきい値をサポートすることが可能である。
動き推定において、用語“タスク”は、現在のビデオブロックを探索空間内にある異なったビデオブロックと比較するために使用される、計算処理上の共通のセットを示している。換言すれば、タスクは、現在のビデオブロックおよび探索空間内の異なったビデオブロック間の比較を示している。たとえば、1個のタスクは現在のビデオブロックのいくつかのピクセルを異なったビデオブロックのそれらと比較するために、いくつかの計算を行うことを含むかも知れない。たとえば、(画像ブロックの場合における)64回の計算あるいは(マクロブロックの場合における)256回の計算は、1個のタスクに含まれることが可能である。各タスクの期間中、計算はそのタスクに対する進行中の差の値(時としては差のメトリックとして参照される)を定義するために累算されることが可能である。何れかの与えられたタスクを終了するか否かの決定は各計算の後に、あるいは代わりに計算のサブセット、すなわちタスクのサブセットを定義する計算の整数値の後に、なされることが可能である。後者の場合、計算の整数値は、符号化ルーチンに対して付加的な柔軟性を与えるために、プログラム可能であるかも知れない。
動き推定において、用語“反復”は、ビデオ符号化の期間中実行されるタスクに関する共通のセットを示している。現在のビデオブロックと組み合わせられたタスクの完全なシリーズが1個の反復である。換言すれば、1個の反復は、現在のビデオブロックが探索空間内の1組の前のビデオブロック(あるいは次のビデオブロック)のセットと比較される、比較のセットである。各個々の比較は、いくつかの計算を伴う1個のタスクである。したがって、探索空間は、反復の期間中現在のビデオブロックと比較されるビデオブロックのセットを定義する。1個の反復に関する各々の比較は、1個のタスクとして参照され、そして各タスク、すなわち各比較はいくつかの計算を伴うかも知れない。反復は、たとえば、もしも反復の途中で(during the coarse of an iteration)許容できる整合が識別される場合は、早くに終了されるかも知れない。
画像フレームを符号化するために動き推定を実行する場合に、反復は各ビデオブロック、たとえばフレームのマクロブロックあるいは画像ブロックに対して実行されることが可能である。いくつかのタスクは各反復に対して実行され、そして各タスクはいくつかの計算を含む。したがって、動き推定技術を用いて画像フレームを符号化するためには、非常に大きい数の計算が必要とされるかも知れない。以下に、非常に詳細に記述されるように、画像フレームを符号化するための計算処理上の予定の確立は、動き推定が、効率的なリアルタイムビデオ伝送を害するかも知れない程度まで計算処理上の予定を使用し切る原因とならないことを保証することが可能である。
受信デバイス8の受信機15は、動きベクトルおよび符号化された差の形態等で符号化されたビデオデータを受信することが可能である。この場合、復号器16は、ディスプレー18によってユーザに表示するためのビデオシーケンスを発生するために、テクスチャ復号および動き補償技術を実行する。受信デバイス8の復号器16はまた、符号化器/復号器(CODEC)として実現されるかも知れない。その場合、ソースデバイスおよび受信デバイスの両者は、符号化、送信、受信、およびディジタルビデオシーケンスの復号が可能であるかも知れない。
任意の与えられたビデオフレームの符号化の期間中、動き推定技術が計算的により少なく強力な符号化技術を選択して中断されるべきか否かを決定することが可能である。換言すれば、動き推定を使用する符号化の第1のモードは最初に使用されることが可能であり、しかし、もしも使用された処理サイクルの数がしきい値を超える場合は、動的に終了されることが可能である。この場合、動き推定を使用しない符号化の第2のモードが、フレームの符号化を完了するために必要とされる計算の数を減少するために、第1のモードの代わりに使用されることが可能である。指摘したように、計算処理上の予定は、動き推定が任意の与えられた瞬間において中断されるべきか否かを決定するために、確立されそしてモニタされることが可能である。もしもその場合は、静止画像の圧縮に対して広く使用されているフレーム内圧縮技術が、動き推定の代わりに使用されることが可能である。
計算的により少なく強力な符号化技術の一つの例は、当業界において知られる離散コサイン変換(DCT)技術を使用するテクスチャ符号化である。テクスチャ符号化は、動き推定符号化よりもよりずっと速く、そしてより少ない計算をもって実行されることが可能である。しかしながらテクスチャ符号化は、データ圧縮の点では同じ利点を与えないかも知れない。動き推定が使用される場合は、テクスチャ符号化はまた動き推定技術に加えて使用されることが可能である。しかしながら、動き推定が回避される場合は、テクスチャ符号化あるいは他の計算的により少なく強力な符号化技術が、計算処理上の節約をもたらして動き推定の代わりに使用されるかも知れない。
図2は、この中に記述された技術に従ってディジタルビデオシーケンスを圧縮するビデオ符号化器20を組み入れているソースデバイス4等の、例となるディジタルビデオデバイス10を示しているブロック線図である。典型的なディジタルビデオデバイス10は、移動計算デバイス、パーソナルディジタルアシスタント(PDA)、無線通信デバイス、無線電話、および類似のもの等として示される。しかしながら、本開示における技術は、無線デバイスに限定されておらずそして、無線でないデバイスを含む他のディジタルビデオデバイスに容易に適用されることが可能である。
図2の例において、ディジタルビデオデバイス10は送信機14およびアンテナ12を経て圧縮されたディジタルビデオシーケンスを送信する。ビデオ符号化器20は、ビデオシーケンスを符号化し、そして伝送に先立ち符号化されたディジタルビデオシーケンスをビデオメモリ22の中にバッファする。たとえば、ビデオ符号化器20は、プログラマブルディジタル信号処理装置(DSP)、マイクロ処理装置、1個あるいはそれ以上の特定用途向け集積回路(ASICs)、特別なハードウエアコンポーネント、あるいはこれらのデバイスおよびコンポーネントの種々の組み合わせを含むかも知れない。メモリ22は、符号化処理の期間中ビデオ符号化器20による使用のために、計算機により読み出し可能な命令およびデータを記憶することが可能である。たとえば、メモリ22は同期ダイナミックランダムアクセスメモリ(SDRAM)、FLASHメモリ、電気的に消去可能なプログラマブルリードオンリーメモリ(EEPROM)、あるいは同様なものを含むかも知れない。
若干の場合、ディジタルビデオデバイス10は、ビデオシーケンスを捕捉するための画像センサ23を含む。たとえば、画像センサ23は、ビデオシーケンスを捕捉し、そしてそれを符号化のためにメモリ22内に記憶するかも知れない。画像センサ23はまた、リアルタイムでのビデオ符号化を改善するためにビデオ符号化器20に直接に結合されるかも知れない。各フレームのための計算処理上の予定を使用する符号化技術は、もしもビデオ符号化器20が比較的遅いクロック速度で動作する場合においても、符号化は実行されるべきビデオシーケンスのリアルタイム伝送を許容する時間の総量内に生起することを保証することが可能である。
例として、画像センサ23はカメラを含むかも知れない。特に、画像センサ23は、電荷結合デバイス(CCD)、電荷注入デバイス、光ダイオードのアレイ、相補型金属酸化膜半導体(CMOS)デバイス、あるいは任意の他のビデオ画像あるいはディジタルビデオシーケンスの捕捉が可能な感光性デバイスを含むかも知れない。
例として、ビデオ符号化器20はDSPを含むかも知れない。ビデオ符号化器20は、動き符号化器26およびテクスチャ符号化器28を選択的に制御するために、符号化制御器24を含むかも知れない。換言すれば、これらのコンポーネントの各々は、DSP上で実行するソフトウエアモジュールを含むかも知れない。あるいは、ビデオ符号化器20の1個あるいはそれ以上のコンポーネントは、この中に記述された1個あるいはそれ以上の技術に関する観点を実行する、特別に設計されたハードウエアコンポーネント、あるいは、1個あるいはそれ以上のASICsを含むかも知れない。いずれの場合も、符号化制御器24は動き符号化器26、およびテクスチャ符号化器28を選択的に呼び出すことによってビデオフレームの符号化を制御する。多くの場合、動き符号化器26およびテクスチャ符号化器28の両者は、ビデオフレームと組み合わせられた符号化処理の期間中に使用される。
動き符号化器26は、以下に非常に詳細に記述されるそれらのように、計算的に強力な動き推定符号化技術を実行する。他方、テクスチャ符号化器28は、静止画像の圧縮に広く使用されるフレーム内圧縮等の、計算的により少なく強力な符号化を実行する。たとえば、テクスチャ符号化器28は、当業界において知られるように離散コサイン変換(DCT)符号化を実行することが可能である。テクスチャ符号化器28は、動き推定技術が使用される場合は第1のモードにおいて動き符号化器26に加えて、あるいは、動き推定技術が回避される場合は、第2のモードにおいて動き推定器26の代わりに呼び出されるかも知れない。
符号化制御器24は、与えられたビデオフレームの符号化のための計算処理上の予定を定義するために、しきい値を確立することが可能である。符号化制御器24は、しきい値をメモリ22内に記憶することが可能であり、そして計算処理上の予定が使用し切られているか否かを評価するために符号化ルーチンの期間中しきい値にアクセスする。符号化制御器24は、計算処理上の予定が使用し切られていない限り、動き符号化器26が動き推定技術を実行することを可能とする。しかしながら、もしも計算処理上の予定が使用し切られている場合は、符号化制御器24は動き符号化器26を無力とするであろう。その場合、ビデオフレームの何れか残っている符号化は、意味を持ってより少ない計算、そしてその結果より少ない処理サイクルを必要とする、テクスチャ符号化器28を使用して単純に実行することが可能である。このようにして、符号化制御器24は、ビデオフレームの符号化が割り当てられた時間量内に、リアルタイムビデオシーケンスが送信されうることを保証しながら実行されることを保証することが可能である。
符号化制御器24は、ビデオ符号化器20と組み合わせられた既知の周波数に部分的に基づいてしきい値を確立するかも知れない。指摘したように、ビデオ符号化器20は、符号化制御器24、テクスチャ符号化器28、および動き制御器26に対応する種々のソフトウエアモジュールを実行するディジタル信号処理装置(DSP)を含むかも知れない。ビデオ符号化器20の速度は一般に固定されている。換言すれば、ビデオ符号化器20は、典型的にはサイクル/秒によって定義された周波数で動作する。一つの例においては、ビデオ符号化器20は、ほぼ毎秒5,000万インストラクションを実行することが可能であるように、50メガヘルツのクロック速度で動作することが可能である。より速い、あるいはより遅いクロック速度もまた使用されるかも知れない。いずれにしても、しきい値は一部はビデオ符号化器20の既知のクロック速度に基づいて確立されることが可能である。若干の場合は、しきい値は符号化制御器24の中にプログラムされた固定された値であるかも知れず、そして他の場合においてはしきい値は1個あるいはそれ以上の前のビデオフレームを符号化するために使用された処理サイクルの数に基づいて調整される動的な値であるかも知れない。
たとえば、符号化制御器24は、1個あるいはそれ以上の前のビデオフレームを符号化するために使用された処理サイクルの数に基づいて、フレームごとの基準(frame-by-frame basis)でしきい値を確立することが可能である。若干のフレームは動き推定技術を使用している他のフレームよりも符号化のためにより長く必要とするかも知れない。その結果、計算処理上の予定は少なくとも一部は、前のビデオフレームを符号化するために使用された平均サイクル数によって定義されることが可能である。換言すれば、もしも前のビデオフレームが非常に速く符号化される場合は、計算処理上の節約は、多分後のビデオフレームを符号化するために実行されるべき計算数の増加を可能として、後のフレームのための計算処理上の予定の中に組み入れられることが可能である。一つの例においては、前に符号化されたビデオフレームの数と組み合わせられた処理サイクルを定義する移動平均は、後のビデオフレームを符号化するための計算処理上の予定を定義するために使用することが可能である。このようにして、前に送信されたビデオフレームの符号化の期間中の計算処理上の節約は、後のビデオフレームの符号化が、もしも必要とされる場合は、前の計算処理上の節約を利用可能であるようにリサイクルされることが可能である。
符号化制御器24は、使用されたクロックサイクルの数を正確に計数することによって、あるいはビデオフレームの符号化と組み合わせられたタイミングを追跡することによって、与えられたビデオフレームの符号化期間中に使用された処理サイクルの数を決定することが可能である。いずれの場合においても、符号化制御器24は与えられたビデオフレームの符号化の期間中に使用された処理サイクルの数をモニターし、そして使用されたサイクルの数を、計算処理上の予定が使用し切られているか否かを決定するためにしきい値と比較する。もしもその場合は、符号化制御器24は、動き符号化器26を無力とし、そしてテクスチャ符号化器28のみを使用してフレームの残っている符号化を実行する。しかしながら、計算処理上の予定が使用し切られている限り、動き符号化器26は、動き推定技術は一般的に増加された圧縮、そして従ってビデオシーケンスの伝送期間中の減少された帯域幅の消費を考慮に入れることから、使用されるかも知れない。
動き推定符号化の期間中、動き符号化器26は、符号化されるべき現在のビデオフレームと組み合わせられた現在のビデオブロックを、前の画像フレームあるいはそのサブセット(あるいは次の画像フレームあるいはそのサブセット)に関する種々のビデオブロックと比較する。類似のビデオブロックを識別する場合は、動き符号化器26は、現在のビデオブロックおよび類似のビデオブロック間の差を決定する。符号化制御器24は、この情報を動き符号化器26から受信することが可能であり、そしてこの情報を送信機14に進めることが可能である。送信機はそこで、動き符号化器26によって識別された差と同様に、類似のビデオブロックを識別する動きベクトルを送信することが可能である。送信機14は各画像ブロックに対する符号化された情報を送信するかも知れず、あるいは一度そのフレームは符号化されている、完全な画像フレームに対する情報を送信するかも知れない。動きベクトルを使用している画像ブロックを符号化することによって、ビデオデータのストリームの伝送のために必要とされる帯域幅は意味を持って減少されることが可能である。しかしながら、ある例においては動き推定の使用を回避することによって、リアルタイム伝送が保証されるかも知れない。
図3は、メモリ22内に記憶されることが可能な、例となるマクロブロック31を示している。MPEG標準および他のビデオ符号化方式は、動き推定ビデオ符号化の期間中マクロブロックを使用する。MPEG標準においては、用語マクロブロックは、ビデオ画像フレームのサブセットを形成するピクセル値の16×16集合を指す。より大きいあるいはより小さいビットの数が、必要とされる画像品質を得るために、各ピクセルを定義するためにまた使用されることが可能であるが、各ピクセル値は、データの1バイトによって表されることが可能である。マクロブロックはいくつかのより小さい8×8ピクセル画像ブロック32を含むかも知れない。しかしながら、一般的にこの中に記述される符号化技術は、16バイト×16バイトマクロブロック、8バイト×8バイト画像ブロック、あるいはもしも必要とされる場合は、異なったサイズのビデオブロック等の任意の定義されたサイズのブロックを使用して動作することが可能である。
図4は、メモリ内に記憶されることが可能な、例となる探索空間41を示している。探索空間41は、前に送信された画像フレーム(あるいはフレームのシーケンスにおける次の画像フレーム)に対応するビデオブロックのバッファされた集合である。探索空間は、そのエンティティ内の前のあるいは次の画像フレーム、あるいはもしも必要とされる場合は画像フレームのサブセットを含むかも知れない。一般的に、より大きい探索空間は符号化されるべき現在のブロックに比較されることが可能なより多いブロックを、すなわち反復当たりのより多いタスクを定義するであろうことから、より大きい探索空間は、動き推定符号化の期間中のより多い計算をもたらすであろう。さらに、現在の画像フレームは、現在のブロックおよび前のフレーム内の類似の画像ブロック間の差が、前のフレームの類似の画像ブロックを識別する動きベクトルとともに送信されるように、適切な整合を識別するために探索空間41内のブロックと比較される。
より特別には、動き推定ビデオ符号化の期間中、動き符号化器26は、符号化されるべき現在のビデオブロックをビデオ符号化に関して当業界においてよく知られているような、絶対差の総計(Sum of Absolute Difference)(SAD)技術あるいは二乗差の総計(Sum of Squared Difference)(SSD)技術等の比較技術を使用して、前のビデオブロックと比較することが可能である。他の比較技術もまた使用可能である。
SAD技術は、符号化されるべき現在のブロックに関するピクセル値と、現在のブロックが比較されつつある前のブロックに関するピクセル値間の、絶対差計算を実行するタスクを伴っている。これらの絶対差計算の結果は、現在のビデオブロックおよび、現在のビデオブロックが比較されつつある前のビデオブロック間の差を表している差値を定義するために、合計されすなわち累算される。1個の8×8ピクセル画像ブロックに対しては、64個の差が計算されそして合計されるであろうし、そして1個の16×16ピクセルマクロブロックに対しては256個の差が計算されそして合計されるであろう。若干の場合には、タスク計算は累算された差値がタスクしきい値を超える場合に終了されるかも知れない。その場合さらなる計算は不必要であるかも知れない。
SSD技術もまた、符号化されるべき現在のブロックに関するピクセル値と、現在のブロックが計算されつつある前のブロックに関するピクセル値間の、差計算を実行するタスクを伴っている。SSD技術においては、絶対差計算の結果は二乗され、そしてそこで二乗された値は現在のビデオブロックおよび現在のビデオブロックが比較されつつある前のビデオブロック間の差を示している差値を定義するために、合計されすなわち累算される。
あるいは、平均二乗誤差(MSE:Mean Square Error)、正規化相互相関関数(NCCF:Normalized Cross Correlation Function)、あるいは他の適切な比較アルゴリズム等の他の比較技術が実行されるかも知れない。しかしながら、いずれの場合においても動き推定技術は、動きベクトルを使用するビデオ符号化に対して受け入れ可能な整合を識別するために、非常に多数の計算を必要とする。したがって、動き推定技術は、計算処理上の予定が割り当てられた時間内に実行されるべき動き推定技術を可能とするのに不十分であることが決定されるあるシナリオにおいては回避されるかも知れない。
図5は、この開示の原理に従ったビデオ符号化技術を示しているフロー線図である。示されるように、ビデオフレームの符号化の期間中、符号化制御器24は、それらが発生したときに処理サイクルの数を計数しあるいは合計すること等によって 、あるいは符号化処理の時間を計ることによって計算の総量をモニターする(51)。もしも計算処理上の予定が超過される場合は(52のはいブランチ)、たとえば計数された処理サイクルの数が確立されたしきい値を超える場合は、符号化処理は動き推定技術を使用することなしに進む(54)。たとえば、計算処理上の予定が超過される場合は(52のはいブランチ)、テクスチャ符号化、あるいは他の計算的により少なく強力な符号化技術が使用されるかも知れない。しかしながら、計算処理上の予定が超過されない限り(52のいいえブランチ)、そこで動き推定技術は符号化のために使用される(53)。動き推定は、もしも計算処理上の資源が利用可能である場合は、動き推定符号化は増加されたデータ圧縮、およびしたがってビデオシーケンスの伝送期間における減少された帯域幅消費をもたらすことが可能であるために選択されるかも知れない。
代わりに、動き推定技術は残っている計算処理上の資源の程度に基づいて修正されることが可能である。換言すれば、使用された処理サイクルの数がしきい値に近づくにつれて、符号化制御器は、動き符号化器26によって実行された動き推定技術を、任意の与えられた反復に対する探索空間のサイズを減少すること等によって、動的に変化させることが可能である。このようにして、動き推定は、計算処理上の制約の中でより容易に利用されることが可能である。
図6は、この開示の原理に従ったビデオ符号化技術を示しているより詳細なフロー線図である。図6に示されるように、ディジタルビデオデバイス10の符号化制御器24は、フレーム当たりのサイクルの移動平均を計算することによって、ビデオフレームの符号化を開始する(61)。換言すれば、符号化制御器24は、いくつかの前のビデオフレームを符号化するために使用されたフレーム当たりのサイクルの平均数を決定する。符号化制御器24はそこで、現在のビデオフレームの符号化のための計算処理上の予定をセットする。とくに、符号化制御器24は、動き推定に対して使用することが可能な処理サイクルの数を定義するために、しきい値を定義することが可能である。しきい値はビデオ符号化器20のクロック速度によって定義されることが可能であり、そして一部は計算された移動平均によってさらに定義されるかも知れない。たとえば、もしも、いくつかの前のビデオフレームを符号化するために必要とされたフレーム当たりのサイクルの平均数が予想されたよりも意味をもって少なかった場合は、計算処理上の節約はしきい値の中に、さらなる計算が実行され得るように組み込まれることが可能である。同様に、もしも、いくつかの前のビデオフレームを符号化するために必要とされたフレーム当たりのサイクルの平均数が予想されたよりも意味をもって多かった場合は、計算処理上の超過は、以後のフレームに対しては、しきい値の中により少ない計算が実行されうるように組み込まれることが可能である。符号化制御器24は、しきい値が符号化ルーチンの期間中アクセスされることが可能なように、メモリ22内にしきい値を記憶することが可能である。
符号化制御器24は、上に概説されたそれらのように(63)、動き符号化器26が動き推定技術を使用して画像ブロックを符号化することを可能にする。符号化の期間中、符号化制御器24は、ビデオ符号化器20によって使用された処理サイクルの数を計数することによって、あるいは現在のビデオブロックの符号化の期間中経過した時間の総量を追跡すること等によって、使用された処理サイクルの数をモニターしそして決定する。他の推定技術もまた、使用されたサイクルの数を決定するために用いられるかも知れない。符号化制御器24はそこで、現在のビデオフレームの符号化の期間中に使用された処理サイクルの数をメモリ22内に記憶されたしきい値と比較することによって等で、計算処理上の予定が超過されているか否かを決定する(64)。もしも計算処理上の予定が超過されていない場合(64のいいえブランチ)は、ビデオブロックを符号化するために動き推定が使用される(65)。若干の場合、もしも動き推定が使用される場合は、動き推定符号化技術に加えてテクスチャ符号化技術が使用されるかも知れない。フレームのさらなるビデオブロックがなお符号化されることを必要とされる限り(66のはいブランチ)、計算処理上の予定をモニターする処理は反復される(64)。
もしも符号化制御器24が、現在のビデオフレームの符号化の期間中に使用された処理サイクルの数がメモリ22内に記憶されたしきい値を超えると決定すること等によって、計算処理上の予定が超過されていると決定する場合は(64のはいブランチ)、符号化制御器は動き符号化器26を無力とする(67)。この場合、ビデオ符号化器20は、動き推定技術を使用することなしに何れかの残っているビデオブロックを符号化する(68)。たとえば、符号化制御器24は、動き符号化器26を無力にし、そしてテクスチャ符号化器28のみを、テクスチャ符号化技術を使用して残っているビデオブロックが符号化されうるように可能とするかも知れない。他の符号化技術を実行する付加的な符号化器は、テクスチャ符号化器28に加えて、あるいはその代わりに加えられるかも知れない。若干の場合、動き推定が無力とされる場合に、フルビデオフレームは、計算された動きベクトルを捨てて、テクスチャ符号化技術のみを使用して符号化されるかも知れない。しかしながら、大部分の場合、動き符号化器26が可能であった間に計算された動きベクトルは使用可能である。後者の場合、動き推定技術を使用して符号化されなかった残っているビデオブロックのみが、テクスチャ符号化技術のみを使用して符号化される必要があるかも知れない。
図7は、図6におけるビデオ符号化技術の変形を示しているフロー線図である。この場合符号化制御器24は、現在のビデオフレームを符号化するための計算処理上の予定をセットする(71)。たとえば、符号化制御器はフレーム当たりのサイクルの移動平均を計算し、そして符号化に対して使用することが可能な処理サイクルの数を定義するためにしきい値を定義するかも知れない。しきい値はビデオ符号化器20のクロック速度によって定義されるかも知れず、そしてさらに一部は計算された移動平均によって定義されるかも知れない。
符号化制御器24はそこで、現在のビデオフレームを符号化する期間中に使用された処理サイクルの数をメモリ22内に記憶されたしきい値と比較すること等によって、計算処理上の予定が超過されていないか否かを決定する(72)。もしも計算処理上の予定が超過されていない場合は(72におけるいいえブランチ)、前のフレームに関する少ない使用を考慮に入れるために、しきい値は増加されるかも知れず(74)、そしてビデオブロックを符号化するために動き推定を使用することが可能である(75)。他方、もしも計算処理上の予定が超過されている場合は(72のはいブランチ)、後のビデオブロックに関する動き推定のために使用される探索サイズは減少されることが可能であり、そして動き推定が使用されることが可能である(75)。換言すれば、図7において、計算処理上の予定が超過されている(図6に示されるように)と決定される場合に、この技術は動き推定全体を終了するよりはむしろ、実行される動き推定の範囲を動的な基準で修正する。このようにして、この技術は実行されるべき計算の数を動的に調整することが可能である。確立された計算処理上の予定に関する測定されたあるいは推定された計算処理上の使用は、符号化アルゴリズムを動的に調整するために一定した基準で周期的に点検されることが可能である。この技術は、とくに資源が限定された基盤において、圧縮比内のトレードオフをもってリアルタイム符号化を改善することが可能である。
一度フレームが符号化されているときは、符号化制御器24は、符号化されたフレームをメモリ22から送信機14に進める。送信機14はそこで、符号化されたフレームを送信することが可能である(77)。図7に示された技術はそこで、さらなるビデオフレームを符号化するために反復されることが可能である(70)。なお他の例においては、図7に示された技術は2個あるいはそれ以上のビデオフレームの符号化を超えて拡張されることが可能である。換言すれば、1個のフレームと組み合わせられた計算処理上の節約、あるいは超過は、後のフレームに対して予定されたしきい値の確立および/あるいは修正の中で、あるいは任意の与えられたフレーム、あるいは任意の個々のフレームのビデオブロックに対して実行される探索に関する定義されたサイズの中で、考慮に入れることが可能である。
若干の場合、この中に記述された技術に従って符号化されたフレームは、MPEG‐4標準等の1個あるいはそれ以上のMPEG標準に従う独自のフォーマットを有するかも知れない。たとえば、もしもビデオフレームが(N)個のビデオブロックを定義する場合は、ブロックのシーケンス(1からM)を定義しているビデオブロックの第1のセットは、事実上動きベクトルを使用して符号化されるかも知れない。若干の場合、たとえば、もしも受け入れ可能な動きベクトルが1個あるいはそれ以上のブロックに対して識別されない場合は、第1のシーケンス内のビデオブロックのいくらかは、動きベクトルを使用することなしに符号化されるかも知れない。そして、他の場合においては、第1のシーケンス内のビデオブロックのすべては動きベクトルを使用して符号化されるかも知れない。ブロックのシーケンス(M+1からN)を定義しているビデオブロックの第2の組み合わせは、動きベクトルを使用することなしに符号化されるかも知れない。たとえば、動き推定器26が上に概説したように無力にされる場合、残っているビデオブロックは、テクスチャ符号化器28のみを使用して符号化されるかも知れない。このフォーマットに従って定義されたフレームは、デバイス10のメモリ22等の計算機により読み出し可能な媒体上に記憶されるかも知れない。さらに、このフォーマットに従って定義されたフレームは、符号化されたデータで変調された搬送波の形態で、計算機によって読み出し可能な媒体上に記憶されるかも知れない。たとえば、変調された搬送波は、フレームをデバイス10から送信機14およびアンテナ12を経由して送信するために使用された媒体であるかも知れない。いずれの場合においても、計算機により読み出し可能な媒体はその中に記憶された画像フレームを含むかも知れない。
いくつかの異なった実施例が記述されてきている。たとえば、ビデオ符号化技術は、ビデオフレームの符号化のための計算処理上の予定を確立するものとして記述されている。記述された技術は、あるシナリオにおいては計算を回避し、符号化処理を加速し、そして多分ビデオ符号化期間中の電力消費を減らすことによって、ビデオ符号化を改善することが可能であるかも知れない。このようにして、技術はMPEG‐4等の標準に従ったビデオ符号化を改善することが可能であり、そして計算処理上の予定がさらに限定され、そして電力消費が問題となる無線デバイス内におけるビデオ符号化の実行をより容易にすることが可能である。さらに、この技術はMPEG‐4復号標準等の復号標準との共働性に影響を与えないことが可能である。
それにも拘らず、種々の修正が特許請求の精神および範囲から逸脱することなしに実施されることが可能である。たとえば、若干の場合、動き推定技術は現在利用可能な計算処理上の資源に基づいて修正されることが可能である。たとえば、探索技術は何れかの与えられたビデオフレームの符号化の期間中利用可能な計算処理上の資源に基づいて修正されることが可能である。換言すれば、若干の場合、計算処理上の予定は使用される動き推定技術の範囲を動的に定義するためにより厳密にモニターされるかも知れない。とくに、動き推定の期間中に使用される比較および探索の数は、使用されてきているしきい値に関する計算の数によって決定されたとして利用可能な計算の総量に基づいて、動的に調整され、あるいは定義されるかも知れない。たとえば、もしもさらなる計算処理上の資源が利用可能である場合は、動き推定の期間中より徹底的な探索が使用されるかも知れない。しかしながら、計算処理上の資源は、任意の与えられたビデオフレームの符号化の期間中、より制限されてくるために、より少なく徹底的な探索が使用されるかも知れない。ある点で動き推定は、上に概説したように全く回避されることが可能である。いくつかの異なったしきい値が、いつ動き推定技術が変更され、調整され、あるいは終了されるべきであるかを定義するために確立されるかも知れない。上に記述された技術に対するこれらのあるいは他の修正および拡張が、符号化処理を改善するために実現されるかも知れない。
この技術は、ハードウエア、ソフトウエア、ファームウエア、あるいはこれらの任意の組み合わせ内で実現されることが可能である。もしもソフトウエア内で実現される場合は、技術は、MPEG‐4標準に従ったビデオストリームを符号化するデバイス内で実行されるときに、1個あるいはそれ以上の上に述べた方法を実行するプログラムコードを含む、計算機により読み出し可能な媒体に向けられることが可能である。その場合、計算機により読み出し可能な媒体は、同期ダイナミックランダムアクセスメモリ(SDRAM)等のランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、非揮発性ランダムアクセスメモリ(NVRAM)、電気的に消去可能なプログラマブルリードオンリーメモリ(EEPROM)、FLASHメモリ、および類似なものを含むかも知れない。
プログラムコードは、メモリ上に計算機により読み出し可能な命令の形態で記憶されることが可能である。その場合、DSP等の処理装置はこの中に記述された1個あるいはそれ以上の技術を実行するためにメモリ内に記憶された命令を実行することが可能である。若干の場合、技術は、符号化処理を加速するために種々のハードウエアコンポーネントを呼び出すDSPによって実行されるかも知れない。他の場合においては、ビデオ符号化器はマイクロ処理装置、1個あるいはそれ以上の特定用途向け集積回路(ASICs)、1個あるいはそれ以上のフィールドプログラマブルゲートアレイ(FPGAs)、あるいは若干の他のハードウエア‐ソフトウエア組み合わせとして実現されることが可能である。これらの、そして他の実施例は請求項の範囲内にある。
図1は、この中でソースデバイスは符号化されたビデオデータのシーケンスを受信デバイスに送信する、例となるシステムを示しているブロック線図である。 図2は、ディジタルビデオシーケンスを圧縮するビデオ符号化器と合体している、例となるディジタルビデオデバイスを示しているブロック線図である。 図3は、ビデオデータに関する例となるマイクロブロックの概念的説明である。 図4は、例となる探索空間の概念的説明である。 図5〜7は、ディジタルビデオデバイス内で実現することが可能な、ビデオ符号化技術を示しているフローチャートである。 図5〜7は、ディジタルビデオデバイス内で実現することが可能な、ビデオ符号化技術を示しているフローチャートである。 図5〜7は、ディジタルビデオデバイス内で実現することが可能な、ビデオ符号化技術を示しているフローチャートである。
符号の説明
4…ソースデバイス 6…通信リンク、 8…受信デバイス、 10…ディジタルビデオデバイス、 12…アンテナ、 14…送信機、 15…受信機、 16…復号器、 18…ディスプレー、 20…ビデオ符号化器、 22…ビデオメモリ、 23…画像センサ、 24…符号化制御器、 26…動き符号化器、 28…テクスチャ符号化器、 31…マクロブロック、 32…ピクセル画像ブロック、 41…探索空間、

Claims (57)

  1. デバイスであって、
    与えられたビデオフレームが符号化されるときに使用された処理サイクルの数を決定し、そして決定された処理サイクルの数に基づいて符号化モードを選択することによって、ビデオフレームを符号化する符号化器と、
    そして符号化されたビデオフレームを送信する送信機と
    を含むデバイス。
  2. ここで、符号化器は、符号化の期間中に使用された処理サイクルの数がしきい値を超える場合は、与えられたビデオフレームを動き推定技術を使用することなしに符号化する符号化モードを選択する、請求項1記載のデバイス。
  3. ここで、符号化器は、符号化の期間中に使用された処理サイクルの数がしきい値よりも小さい場合は、与えられたビデオフレームを、動き推定技術を使用して符号化する符号化モードを選択する、請求項2記載のデバイス。
  4. ここで、符号化器は、与えられたビデオフレームの符号化のための計算処理上の予定を定義するためにしきい値を確立する、請求項2記載のデバイス。
  5. ここで、符号化器は、いくつかの前に符号化されたビデオフレームと組み合わせられた処理サイクルの平均数を計算し、そして少なくとも一部は計算された処理サイクルの平均数に基づいてしきい値を定義する、請求項2記載のデバイス。
  6. ここで、処理サイクルの数の決定は、与えられたビデオフレームの符号化の期間中に使用された処理サイクルの数を計数することを含む、請求項1記載のデバイス。
  7. さらに、ビデオフレームをリアルタイムで捕捉するための画像センサを含む、ここで、符号化器はビデオフレームをリアルタイムで符号化し、そしてここで送信機は符号化されたビデオフレームをリアルタイムで送信する、請求項1記載のデバイス。
  8. ここで、ビデオフレームはMPEG‐4標準に従って符号化される、請求項1記載のデバイス。
  9. ここで、デバイスは無線デバイスである、請求項1記載のデバイス。
  10. ここで、デバイスは電池を電源とするデバイスである、請求項1記載のデバイス。
  11. ここで、符号化器は、機械により読み出し可能な命令を実行するディジタル信号処理装置を含む、請求項1記載の装置。
  12. 方法であって、
    ビデオフレームの符号化の期間中に使用された処理サイクルの数を決定し、そして
    決定された処理サイクルの数に基づいてビデオフレームを選択的に符号化する
    ことを含む方法。
  13. さらに、符号化の期間中に使用された処理サイクルの数がしきい値を超える場合は、動き推定技術を用いることを使用しないビデオフレームに対する符号化モードを選択することを含む、請求項12記載の方法。
  14. さらに、符号化の期間中に使用された処理サイクルの数がしきい値よりも小さい場合は、動き推定技術を使用するビデオフレームに対する符号化モードを選択することを含む、請求項13記載の方法。
  15. さらに、ビデオフレームの符号化のための計算処理上の予定を定義するためにしきい値を確立することを含む、請求項13記載の方法。
  16. ここで、しきい値を確立することは、いくつかの前に符号化されたビデオフレームと組み合わせられた処理サイクルの平均数を計算し、そして少なくとも一部は計算された処理サイクルの平均数に基づいてしきい値を定義することを含む、請求項15記載の方法。
  17. ここで、処理サイクルの数を決定することは、ビデオフレームの符号化の期間中に使用された処理サイクルの数を計数することを含む、請求項12記載の方法。
  18. ここで、ビデオフレームを選択的に符号化することは、実行されるべき計算の数を動的に調整することを含む、請求項12記載の方法。
  19. 方法であって、
    ビデオフレームの符号化に対する利用可能な処理サイクルの数を定義するためにしきい値を確立し、
    ビデオフレームの符号化の期間中に使用された処理サイクルの数を決定し、
    符号化の期間中に使用された処理サイクルの数がしきい値よりも小さい場合は動き推定技術を使用してビデオフレームを符号化し、そして
    符号化の期間中に使用された処理サイクルの数がしきい値よりも大きい場合は動き推定技術を使用することなしにビデオフレームを符号化する
    ことを含む方法。
  20. ここで、処理サイクルの数を決定することは、ビデオフレームの符号化の期間中に使用された処理サイクルの数を計数することを含む、請求項19記載の方法。
  21. ここで、しきい値を確立することは、いくつかの前に符号化されたビデオフレームと組み合わせられた処理サイクルの平均数を計算し、そして少なくとも一部は計算された処理サイクルの平均数に基づいてしきい値を定義することを含む、請求項19記載の方法。
  22. デバイスであって、
    与えられたビデオフレームを符号化するための計算処理上の予定を定義するためにしきい値を確立し、与えられたビデオフレームの符号化の期間中に使用された処理サイクルの数を決定し、符号化の期間中に使用された処理サイクルの数がしきい値よりも小さい場合は動き推定技術を使用して与えられたビデオフレームを符号化し、そして符号化の期間中に使用された処理サイクルの数がしきい値よりも大きい場合は動き推定技術を使用することなしに与えられたビデオフレームを符号化することによってビデオフレームを符号化する符号化器と、そして
    符号化されたビデオフレームを送信する送信機と
    を含むデバイス。
  23. ここで、デバイスは、ディジタルテレビジョン、無線通信デバイス、パーソナルディジタルアシスタント、ラップトップコンピュータ、デスクトップコンピュータ、ディジタルカメラ、ディジタル記録デバイス、ビデオ能力を有するセルラ無線電話、およびビデオ能力を有する衛星無線電話を含むグループから選択される、請求項22記載のデバイス。
  24. 装置であって、
    計算機によって実行可能な命令を記憶するメモリと、そして
    与えられたビデオフレームの符号化の期間中に使用された処理サイクルの数を決定し、そして決定された処理サイクルの数に基づいて与えられたビデオフレームを符号化するための符号化モードを選択するための、命令を実行する処理装置と
    を含む装置。
  25. ここで、メモリはビデオ符号化ルーチンに対する計算処理上の予定を定義するしきい値を記憶し、そしてここで処理装置は、符号化の期間中に使用された処理サイクルの数がしきい値を超える場合は、動き推定技術を使用することなしに与えられたビデオフレームを符号化する符号化モードを選択するための命令を実行する、請求項24記載の装置。
  26. ここで、処理装置はさらに、符号化の期間中に使用された処理サイクルの数がしきい値よりも小さい場合は、動き推定技術を使用して与えられたビデオフレームを符号化する符号化モードを選択するための命令を実行する、請求項25記載の装置。
  27. ここで、処理装置はさらに、与えられたビデオフレームの符号化のための計算処理上の予定を定義するためにしきい値を確立するための命令を実行する、請求項25記載の装置。
  28. ここで、処理装置は、いくつかの前に符号化されたビデオフレームと組み合わせられた処理サイクルの平均数を計算し、そして少なくとも一部は計算された処理サイクルの平均数に基づいてしきい値を定義することによってしきい値を確立するための命令を実行する、請求項27記載の装置。
  29. ここで、処理装置は与えられたビデオフレームの符号化の期間中に使用された処理サイクルの数を計数するための命令を実行することによって、処理サイクルの数を決定するための命令を実行する、請求項24記載の装置。
  30. 装置であって、
    計算機により実行可能な命令を記憶するためのメモリと、そしてビデオ符号化ルーチンに対する計算処理上の予定を定義するしきい値と、そして
    メモリ内に記憶されたしきい値を確立し、与えられたビデオフレームの符号化の期間中に使用された処理サイクルの数を決定し、符号化の期間中に使用された処理サイクルの数がしきい値よりも小さい場合は動き推定技術を使用して与えられたビデオフレームを符号化し、そして符号化の期間中に使用された処理サイクルの数がしきい値よりも大きい場合は動き推定技術を使用することなしに与えられたビデオフレームを符号化するための命令を実行する処理装置と
    を含む装置。
  31. ここで、処理装置は、与えられたビデオフレームの符号化の期間中に使用された処理サイクルの数を計数するための命令を実行することによって、処理サイクルの数を決定するための命令を実行する、請求項30記載の装置。
  32. ここで、処理装置は、いくつかの前に符号化されたビデオフレームと組み合わせられた処理サイクルの平均数を計算し、そして少なくとも一部は計算された処理サイクルの平均数に基づいてしきい値を定義するための命令を実行することによって、しきい値を確立するための命令を実行する、請求項30記載の装置。
  33. ビデオフレームの符号化の期間中に使用された処理サイクルの数を決定し、そして
    決定された処理サイクルの数に基づいて異なった符号化モードを使用してビデオフレームを選択的に符号化する
    ことによって、MPEG‐4標準に従ったビデオブロックを符号化する装置。
  34. ここで、装置は、符号化の期間中に使用された処理サイクルの数がしきい値を超える場合は、動き推定技術を使用することなしにビデオフレームを符号化する、請求項33記載の装置。
  35. ここで、処理サイクルの数を決定することは、ビデオフレームの符号化の期間中に使用された処理サイクルの数を計数することを含む、請求項33記載の装置。
  36. 処理サイクルのしきい値数を確立し、
    ビデオフレームの符号化の期間中に使用された処理サイクルの数を決定し、
    符号化の期間中に使用された処理サイクルの数がしきい値よりも小さい場合は動き推定技術を使用してビデオフレームを符号化し、そして
    符号化の期間中に使用された処理サイクルの数がしきい値よりも大きい場合は動き推定技術を使用することなしにビデオフレームを符号化する
    ことによってMPEG‐4に従ったビデオブロックを符号化する装置。
  37. ここで、処理サイクルの数を決定することは、ビデオフレームの符号化の期間中に使用された処理サイクルの数を計数することを含む、請求項36記載の装置。
  38. ここで、しきい値を確立することは、いくつかの前に符号化されたビデオフレームと組み合わせられた処理サイクルの平均数を計算し、そして少なくとも一部は計算された処理サイクルの平均数に基づいてしきい値を定義することを含む請求項36記載の装置。
  39. MPEG‐4標準に従ったビデオストリームを符号化するデバイスにおける実行にあたって、
    ビデオフレームの符号化の期間中に使用された処理サイクルの数を決定し、そして
    決定された処理サイクルの数に基づいて異なった符号化モードを使用してビデオフレームを選択的に符号化する
    命令を含む、計算機によって読み出し可能な媒体。
  40. ここで、実行にあたっての命令は、符号化の期間中に使用された処理サイクルの数がしきい値を超える場合は動き推定技術を使用することなしにビデオフレームを符号化することである、請求項39記載の計算機により読み出し可能な媒体。
  41. ここで、実行にあたっての命令は、符号化の期間中に使用された処理サイクルの数がしきい値よりも小さい場合は動き推定技術を使用してビデオフレームを符号化することである、請求項40記載の計算機により読み出し可能な媒体。
  42. ここで、実行にあたっての命令は、ビデオフレームの符号化のための計算処理上の予定を定義するためにしきい値を確立することである、請求項40記載の計算機により読み出し可能な媒体。
  43. ここで、実行にあたっての命令は、いくつかの前に符号化されたビデオフレームと組み合わせられた処理サイクルの平均数を計算することによってしきい値を確立し、そして少なくとも一部は計算された処理サイクルの平均数に基づいてしきい値を定義することである、請求項42記載の計算機により読み出し可能な媒体。
  44. ここで、実行にあたっての命令は、ビデオフレームの符号化の期間中に使用された処理サイクルの数を計数することによって処理サイクルの数を決定することである、請求項39記載の計算機により読み出し可能な媒体。
  45. MPEG‐4標準に従ったビデオストリームを符号化するデバイスにおける実行にあたって、
    ビデオフレームの符号化のための計算処理上の予定を定義するためにしきい値を確立し、
    ビデオフレームの符号化の期間中に使用された処理サイクルの数を決定し、
    符号化の期間中に使用された処理サイクルの数がしきい値よりも小さい場合は、動き推定技術を使用してビデオフレームを符号化し、そして
    符号化の期間中に使用された処理サイクルの数がしきい値よりも大きい場合は、動き推定技術を使用することなしにビデオフレームを符号化する
    命令を含む、計算機によって読み出し可能な媒体。
  46. ここで、実行にあたっての命令は、ビデオフレームの符号化の期間中に使用された処理サイクルの数を計数することによって処理サイクルの数を決定することである、請求項45記載の計算機によって読み出し可能な媒体。
  47. ここで、実行にあたっての命令は、いくつかの前に符号化されたビデオフレームと組み合わせられた処理サイクルの平均数を計算することによってしきい値を確立し、そして少なくとも一部は計算された処理サイクルの平均数に基づいてしきい値を定義することである、請求項45記載の計算機によって読み出し可能な媒体。
  48. 装置であって、
    ビデオフレームの符号化の期間中に使用された処理サイクルの数を決定するための手段と、そして
    符号化の期間中に使用された処理サイクルの数がしきい値を超える場合は、動き推定技術を使用することなしにビデオフレームを符号化するための手段と
    を含む装置。
  49. 装置であって、
    ビデオフレームを符号化するための計算処理上の予定を定義するためにしきい値を確立するための手段と、
    ビデオフレームの符号化の期間中に使用された処理サイクルの数を決定するための手段と、
    符号化の期間中に使用された処理サイクルの数がしきい値よりも小さい場合は動き推定技術を使用してビデオフレームを符号化するための手段と、そして
    符号化の期間中に使用された処理サイクルの数がしきい値よりも大きい場合は動き推定技術を使用することなしにビデオフレームを符号化するための手段と
    を含む装置。
  50. 方法であって、
    ビデオフレームを符号化するための計算処理上の予定を定義するためにしきい値を確立し、
    ビデオフレームが符号化されるときに使用される処理サイクルの数を決定し、そして
    決定された処理サイクルの数に基づいてしきい値に関して符号化ルーチンを調整する
    ことを含む方法。
  51. MPEG‐4標準に従ったビデオストリームを符号化するデバイスにおける実行にあたって、
    ビデオフレームを符号化するための計算処理上の予定を定義するためにしきい値を確立し、
    ビデオフレームが符号化されるときに使用された処理サイクルの数を決定し、そして
    決定された処理サイクルの数に基づいてしきい値に関して符号化ルーチンを調整する
    命令を含む計算機によって読み出し可能な媒体。
  52. 装置であって、
    計算機によって実行可能な命令およびビデオ符号化ルーチンに対する計算処理上の予定を定義するしきい値を記憶するメモリと、そして
    しきい値を確立し、ビデオフレームが符号化されるときに使用された処理サイクルの数を決定し、そして決定された処理サイクルの数に基づいて、しきい値に関して符号化ルーチンを調整するための命令を実行する処理装置と
    を含む装置。
  53. 方法であって、
    第1の符号化技術を使用してビデオフレームの第1の部分を符号化し、
    第2の符号化技術を使用してビデオフレームの第2の部分を符号化する
    ことを含む方法。
  54. ここで、第1の符号化技術は動きおよびテクスチャに基づいた符号化技術を含み、そして第2の符号化技術は動きに基づかない(a non-motion based)符号化技術を含む、請求項53記載の方法。
  55. 方法であって、
    ビデオフレームの符号化の期間中に使用された処理サイクルの数がしきい値よりも小さい場合は第1の符号化モードに従ってビデオフレームのビデオブロックの第1の組み合わせを符号化し、そして
    処理サイクルの数がしきい値を超える場合は第2の符号化モードに従ってビデオフレームのビデオブロックの第2の組み合わせを符号化する
    ことを含む方法。
  56. ここで、第1の符号化モードは動きに基づいた符号化を含み、そして第2の符号化モードは動きに基づいた符号化を含まない、請求項55記載の方法。
  57. MPEG‐4標準に従って符号化されたビデオフレームを含む、計算機によって読み出し可能な媒体であって、ここでビデオフレームは(N)個のビデオブロックを含み、ここでビデオブロックの第1のシーケンス(1からM)は実質上動きベクトルを使用して符号化され、そしてここでビデオブロック(M+1からN)は動きベクトルを使用することなしに符号化される、
    媒体。
JP2004517699A 2002-06-28 2003-06-18 計算が強制されるビデオ符号化 Expired - Fee Related JP4594087B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/187,091 US7515634B2 (en) 2002-06-28 2002-06-28 Computationally constrained video encoding
PCT/US2003/019399 WO2004004356A2 (en) 2002-06-28 2003-06-18 Computationally constrained video encoding

Publications (3)

Publication Number Publication Date
JP2005531979A true JP2005531979A (ja) 2005-10-20
JP2005531979A5 JP2005531979A5 (ja) 2006-07-13
JP4594087B2 JP4594087B2 (ja) 2010-12-08

Family

ID=29779989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004517699A Expired - Fee Related JP4594087B2 (ja) 2002-06-28 2003-06-18 計算が強制されるビデオ符号化

Country Status (7)

Country Link
US (1) US7515634B2 (ja)
EP (1) EP1518416A2 (ja)
JP (1) JP4594087B2 (ja)
KR (1) KR100937616B1 (ja)
CN (1) CN1666529B (ja)
AU (1) AU2003280486A1 (ja)
WO (1) WO2004004356A2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
US9351013B2 (en) * 2003-11-13 2016-05-24 Qualcomm Incorporated Selective and/or scalable complexity control for video codecs
US7639743B2 (en) * 2004-03-25 2009-12-29 Sony Corporation Image decoder and image decoding method and program
DE102004036975A1 (de) * 2004-07-30 2006-03-23 Siemens Ag Verfahren zum Beobachten einer Vorrichtung und zugehöriges Computerprogramm
CA2595583A1 (en) * 2005-01-28 2006-08-10 Thomson Licensing Method and apparatus for real-time frame encoding
US8031766B2 (en) * 2005-08-02 2011-10-04 Lsi Corporation Performance adaptive video encoding with concurrent decoding
US8755440B2 (en) * 2005-09-27 2014-06-17 Qualcomm Incorporated Interpolation techniques in wavelet transform multimedia coding
US7852940B2 (en) * 2005-10-20 2010-12-14 Qualcomm Incorporated Scalable motion estimation for video encoding
US9479794B2 (en) 2005-11-10 2016-10-25 Freescale Semiconductor, Inc. Resource efficient video processing via prediction error computational adjustments
GB2432985A (en) * 2005-12-05 2007-06-06 Univ Robert Gordon Encoder control system based on a target encoding value
US8160144B1 (en) * 2006-05-10 2012-04-17 Texas Instruments Incorporated Video motion estimation
JP5080132B2 (ja) * 2006-06-12 2012-11-21 三星電子株式会社 データ補償回路及びこれを有する表示装置
US9883202B2 (en) 2006-10-06 2018-01-30 Nxp Usa, Inc. Scaling video processing complexity based on power savings factor
EP2163097A2 (en) * 2007-05-25 2010-03-17 Arc International, Plc Adaptive video encoding apparatus and methods
WO2012089671A1 (en) 2010-12-29 2012-07-05 Skype Dynamical adaptation of data encoding dependent on cpu load
US9277230B2 (en) * 2011-11-23 2016-03-01 Qualcomm Incorporated Display mode-based video encoding in wireless display devices
US9008177B2 (en) 2011-12-12 2015-04-14 Qualcomm Incorporated Selective mirroring of media output
JPWO2014054325A1 (ja) * 2012-10-05 2016-08-25 ソニー株式会社 符号化制御装置および符号化制御方法
CN103402086B (zh) * 2013-07-22 2017-02-15 华为技术有限公司 一种用于视频编码系统的性能控制方法及编码器
US20150181208A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Thermal and power management with video coding
US20160202228A1 (en) * 2015-01-08 2016-07-14 International Business Machines Corporation Water quality monitoring and early event detection
CN105141872B (zh) * 2015-08-20 2019-02-05 成都鹰眼视觉科技有限公司 一种缩时处理视频图像的方法
US10148983B2 (en) * 2015-09-25 2018-12-04 Qualcomm Incorporated Methods and systems of improved video stream switching and random access

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002112274A (ja) * 2000-10-03 2002-04-12 Nippon Telegr & Teleph Corp <Ntt> 処理時間適応画像符号化方法およびそのプログラムの記録媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748789A (en) * 1996-10-31 1998-05-05 Microsoft Corporation Transparent block skipping in object-based video coding systems
EP0919952A1 (en) 1997-11-28 1999-06-02 Ecole Polytechnique Federale De Lausanne Method for coding/decoding of a digital signal
US6195389B1 (en) * 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods
FR2796778B1 (fr) * 1999-07-20 2001-10-19 Canon Kk Procede et dispositif de compression par bloc de donnees numeriques
KR20010053814A (ko) * 1999-12-01 2001-07-02 윤종용 영상 부호화 시스템의 부호화방식 선택장치 및 방법
JP2002064802A (ja) 2000-08-21 2002-02-28 Sony Corp データ伝送システム、データ伝送装置及び方法、シーン記述処理装置及び方法
US6904094B1 (en) * 2000-09-20 2005-06-07 General Instrument Corporation Processing mode selection for channels in a video multi-processor system
US6535238B1 (en) * 2001-10-23 2003-03-18 International Business Machines Corporation Method and apparatus for automatically scaling processor resource usage during video conferencing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002112274A (ja) * 2000-10-03 2002-04-12 Nippon Telegr & Teleph Corp <Ntt> 処理時間適応画像符号化方法およびそのプログラムの記録媒体

Also Published As

Publication number Publication date
WO2004004356A2 (en) 2004-01-08
CN1666529B (zh) 2012-03-28
JP4594087B2 (ja) 2010-12-08
CN1666529A (zh) 2005-09-07
AU2003280486A8 (en) 2004-01-19
KR100937616B1 (ko) 2010-01-22
KR20050012785A (ko) 2005-02-02
US20040001545A1 (en) 2004-01-01
WO2004004356A3 (en) 2004-03-25
AU2003280486A1 (en) 2004-01-19
EP1518416A2 (en) 2005-03-30
US7515634B2 (en) 2009-04-07

Similar Documents

Publication Publication Date Title
JP4594087B2 (ja) 計算が強制されるビデオ符号化
US7359559B2 (en) Video encoding techniques
US8761259B2 (en) Multi-dimensional neighboring block prediction for video encoding
RU2498523C2 (ru) Быстрое принятие решения о дельте параметра квантования макроблока
US20060018552A1 (en) Efficient rate control techniques for video encoding
EP1653744A1 (en) Non-integer pixel sharing for video encoding
EP1829381A2 (en) Motion estimation techniques for video encoding
WO2006094033A1 (en) Adaptive frame skipping techniques for rate controlled video encoding
KR100960847B1 (ko) 비디오 인코딩을 위한 모션 추정 기술
JP2007538415A (ja) ハンドヘルド装置用のエンコード方法
KR100397133B1 (ko) 영상 데이터 압축 전송 시스템 및 그 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060525

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091028

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100524

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100623

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100916

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees