JP2014090427A - ビデオ符号器におけるbフレームの高速モード決定のための方法および装置 - Google Patents

ビデオ符号器におけるbフレームの高速モード決定のための方法および装置 Download PDF

Info

Publication number
JP2014090427A
JP2014090427A JP2013240570A JP2013240570A JP2014090427A JP 2014090427 A JP2014090427 A JP 2014090427A JP 2013240570 A JP2013240570 A JP 2013240570A JP 2013240570 A JP2013240570 A JP 2013240570A JP 2014090427 A JP2014090427 A JP 2014090427A
Authority
JP
Japan
Prior art keywords
mode
prediction
encoding
list
current macroblock
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
JP2013240570A
Other languages
English (en)
Other versions
JP5713415B2 (ja
Inventor
Lu Xiaoan
ルー,シヤオアン
Peng Yin
イン,ペング
Jill Macdonald Boyce
マクドナルド ボイス,ジル
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2014090427A publication Critical patent/JP2014090427A/ja
Application granted granted Critical
Publication of JP5713415B2 publication Critical patent/JP5713415B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/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
    • 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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion 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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter

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)

Abstract

【課題】Bフレームの高速モード決定を実行するためのビデオ符号器および対応する方法を提供する。
【解決手段】複数のマクロブロックに分割可能なBスライスのためのビデオ・データを符号化するビデオ符号器は、Bスライス内の現在のマクロブロックを符号化する際に、ダイレクト・モードで符号化されるBスライス内の隣接マクロブロックの数をカウントし、ダイレクト・モードで符号化される隣接マクロブロックの数が所定の閾値を超えている場合にダイレクト・モードまたは現在のマクロブロックのための16×16モードの一方のみをチェックすることによって、モード選択を実行する符号器300を含む。
【選択図】図3

Description

(関連出願とのクロスリファレンス)
本出願は、2004年11月4日付で出願され、「H.264符合器のためのBフレームの高速モード決定(FAST MODE DECISION OF B−FRAMES FOR AN H.264 ENCODER)」と題された米国仮特許出願第60/624,870の利益を主張するものであり、その開示内容全体を本明細書中に盛り込むものとする。
本発明は、ビデオ符号器に関し、より具体的には、符号器におけるBフレームのための高速モード決定ための方法および装置に関する。
ビデオ圧縮規格においては、インターフレーム(PフレームおよびBフレーム)を符号化するためにインター符号化およびイントラ符号化の双方を使用することができる。イントラ符号化は、空間相関を使用し、インター符号化は、前に符号化されたフレームからの時間相関を使用する。一般に、インター符号化は、前のピクチャから良好に予測されるマクロブロックのために使用され、イントラ符号化は、前のピクチャからは良好に予測されないマクロブロック、または、空間アクティビティの低い(low spatial activity)マクロブロックのために使用される。通常、符号器は、符号化効率および主観的品質を考慮して各マクロブロック、スライス、ピクチャ、フィールド、および/またはフレームに対するインター/イントラ符号化決定を行うであろう。JVT/H.264/MPEG AVC(「H.264」)規格においては、インター符号化は、マクロブロックを予測するために様々なブロック・パーティションおよび複数のリファレンス・ピクチャを使用することを可能にする。
H.264規格は、ツリー構造の階層型マクロブロック・パーティションを使用する。インター符号化された16×16画素のマクロブロックはさらに16×16、8×16、または8×8画素のサイズのマクロブロック・パーティションに分割することができる。8×8のマクロブロック・パーティションは、サブマクロブロックとしても知られる。サブマクロブロックはさらに8×4、4×8、または4×4のサイズのサブマクロブロック・パーティションに分割することができる。符号器は、マクロブロックをどのように各パーティションまたはサブマクロブロックの各パーティションに分割するかを、圧縮効率および主観的品質を最高にするために、特定のマクロブロックの特性に基づいて、選定してもよい。
さらに、H.264規格は、イントラ(INTRA)・モード、SKIPモード、およびダイレクト・モードもサポートしている。イントラ・モードには、INTRA4×4、INTRA16×16、および高忠実度化(FRExt: fidelity range extensions)モードのみのINTRA8×8の3つのモードが存在する。INTRA4×4およびINTRA8×8は、9つの予測モード、即ち、垂直(vertical)予測、水平(horizontal)予測、DC予測、斜め下方左(diagonal down/left)予測、斜め下方右(diagonal down/right)予測、垂直左(vertical‐left)予測、水平下方(horizontal‐down)予測、垂直右(vertical‐right)予測、および水平上方(horizontal‐up)予測をサポートしている。INTRA16×16は、4つの予測モード、即ち、垂直予測、水平予測、DC予測、および平面(plane)予測をサポートしている。
インター予測には複数のリファレンス・ピクチャを使用することができ、リファレンス・ピクチャ・インデックスは符号化され、複数のリファレンス・ピクチャのうちのどれが使用されるのかを示す。Pピクチャ(またはPスライス)においては、単一の方向予測のみが使用され、許容されるリファレンス・ピクチャは、リスト0において管理される。Bピクチャ(またはBスライス)においては、リファレンス・ピクチャの2つのリスト、即ち、リスト0およびリスト1が管理される。Bピクチャ(またはBスライス)においては、リスト0またはリスト1を使用した単一の方向予測を使用することができ、さらに、リスト0およびリスト1の双方を使用した双予測(bi‐prediction)を使用することができる。双予測が使用される場合には、リスト0の予測値(predictor)およびリスト1の予測値は、平均化されて最終予測値を形成する。
従って、H.264規格においては、Bスライスのために4つの異なるタイプのインター・ピクチャ予測、即ち、リスト0の予測、リスト1の予測、双予測、およびダイレクト予測がサポートされる。リスト0の予測は、この予測が第1のリファレンス・ピクチャ・バッファのピクチャに基づくものであることを示し、リスト1の予測が使用される場合には、予測のために第2のリファレンス・ピクチャ・バッファのピクチャが使用される。双予測モードでは、予測信号は、リスト0およびリスト1の双方の予測信号を使用することによって予測信号が構築される。ダイレクト予測モードは、前に伝送されたシンタックス要素から推定されるものであり、リスト0の予測、リスト1の予測、あるいは、双予測でもよい。Bスライスにより、様々なブロック・パーティション(より具体的には、マクロブロックのための16×16、16×8、8×16、および8×8)が16×16のマクロブロックを予測するために使用される。さらに、各ブロック・パーティションのために、予測モード(リスト0、リスト1、双予測)が別個に選択される。ダイレクト予測モードにおいて符号化されたブロックのために、エラー信号が伝送されない場合には、符号化は、SKIPモードとしても参照され、ブロックは、非常に効率的に符号化される。
H.264規格のために、各マクロブロック・パーティションは、独立リファレンス・ピクチャ・インデックス、予測タイプ(リスト0、リスト1、双予測)、さらに、独立動きベクトルを有するようにしてもよい。各サブマクロブロック・パーティションは、独立動きベクトルを有するようにしてもよいが、同一のサブマクロブロックにおける全てのサブマクロブロック・パーティションは、同一のリファレンス・ピクチャ・インデックスおよび予測タイプを使用する。
インター符号化マクロブロックでは、上記マクロブロック・パーティションの他に、Pフレームは、さらに、SKIPモードをサポートし、Bフレームは、SKIPモードとダイレクト・モードの双方をサポートしている。SKIPモードでは、動きや残差情報は符号化されない。SKIPマクロブロックに対する動き情報は、ピクチャ/スライス・タイプ(PまたはB)によって特定される動きベクトル予測値、さらに、シーケンスやスライス・レベルの各パラメータなどの他の情報と同一である。さらに、動き情報は、他の時間的、または空間的に隣接するマクロブロック、さらにスライス内のマクロブロックの位置に関する。これに対し、ダイレクト・モードでは、動き情報は符号化されず、予測残差が符号化される。マクロブロックおよびサブマクロブロックのいずれもダイレクト・モードをサポートしている。
モード決定では、インター・ピクチャは、インター・モードおよびイントラ・モードの双方をサポートする必要がある。イントラ・モードは、INTRA4×4およびINTRA16×16を含む。Pピクチャでは、インター・モードは、SKIPおよび16×16、16×8、8×16、およびサブマクロブロックの8×8のパーティションを含む。8×8は、さらに、8×8、8×4、4×8、および4×4のパーティションをサポートする。Bピクチャでは、マクロブロックおよびサブマクロブロックの双方のために、リスト0およびリスト1の双方、さらに、ダイレクト・モードが考慮される。
従来技術においては、レート歪み最適化(RDO:Rate‐Distortion Optimization)フレームワークがモード決定に使用される。インター・モードでは、動き推定がモード決定とは別個に考慮される。動き推定は、まず、インター・モードの全てのブロック・タイプについて実行される。次に、モード決定は、インター・モードおよびイントラ・モードの各々のコストを比較することによって行われる。最小のコストのモードが最良のモードとして選択される。
PピクチャまたはBピクチャにおける1つのマクロブロックsを符号化する従来の処理(以下、「従来のマクロブロック符号化処理」と呼ぶ)を以下に要約する。
従来のマクロブロック符号化処理の第1のステップにおいて、最後に復号化されたピクチャ、ラグランジュ乗数λMODE、λMOTION、およびマクロブロック量子化特性値(macroblock quantizer)QPが与えられる。
従来のマクロブロック符号化処理の第2のステップにおいて、使用する可能性のあるマクロブロック・モードのリファレンス・ピクチャおよび動きベクトルの各々に対し、以下の値が最小になるように動き推定およびリファレンス・ピクチャの選択を行う。
この等式において、mは、現在考慮されている動きベクトルである。REFは、リファレンス・ピクチャを示し、pは、動きベクトル符号化の間の予測に使用される動きベクトルである。c(REF,m(REF))は、REF,m(REF)によって決定される候補マクロブロックである。R(m‐p)は、動きベクトルを符号化するために使用されるビットを表す。R(REF)は、リファレンス・ピクチャを符号化するためのビットである。SA(T)Dは、当初の信号と動きベクトルによって予測されたリファレンス信号との間の(変換)差の絶対値の和(Sum of Absolute (Transform) Differences)である。
従来のマクロブロック符号化処理の第3のステップにおいて、以下の値が最小になるようにマクロブロック予測モードを選択する。
QPおよびλMODEが与えられ、MODEは可変である。SSDは、当初の信号および再構築された信号との間の自乗差の和(Sum of Square Differences)である。R(s,c,MODE)は、マクロブロック・ヘッダ、動き係数、および全てのDCT係数を含むMODEの選択に関連するビットの数である。MODEは、使用する可能性のあるマクロブロック・モードのセット(集合)の中のモードを示す。
INTRA4×4は次のモードを含む。
INTRA16×16は次のモードを含む。
従来のマクロブロック符号化処理に関し、従来の高速モード選択の導入により、モード決定のエラー表面が恐らく単調変化であることを考慮して、品質にほとんど影響を与えることなくモード決定の演算量を大幅に軽減することが可能であり、従って、まず特定のモードが調べられる場合には、最良のモードを発見することがより容易になるであろう。所与のモードに対するモード決定が行われない場合には、これは、本質的に、動き推定が実行されないことを意味する。後者は、高速動き推定アルゴリズムが使用された場合であっても、符号化において最も演算量が大きくなる部分となるであろう。より具体的には、このアプローチにおいて、まず、SKIPモードおよび16×16モードが調べられた。これらのモードの歪み関係(即ち、J(SKIP)<(16×16)および残差の利用可能性に従って、サーチを終了するかどうかに関するさらなる決定がなされていた。あるいは、J(8×8)およびJ(4×4)がさらに計算された。J(16×16)、J(8×8)、およびJ(4×4)の関係に基づき、どの残っているブロック・サイズをテストするべきかを判定するために、追加の決定が行われた。例えば、歪みが単調(即ち、J(16×16)>J(8×8)>J(4×4)またはJ(16×16)<J(8×8)<J(4×4))であれば、どのパーティションを調べるべきかを簡単に判定することができる。最初のケースでは、例えば、小さなパーティション(8×4および4×8)のみがテストされ、2番目のケースでは、16×8および8×16のみが調べられる。歪みが単調でない場合には、想定可能な全てのモードがテストされる。
別の従来の高速モード決定の手法においては、歪み値(図1参照)および複数の異なるモード間の関係(図2参照)に基づいて追加の条件が導入され、品質により影響を与えることなく、より早くサーチを完了させることが可能である。
図1を参照すると、歪み値に基づく動きベクトルおよびモードの決定方法が概ね参照符号100を用いて示されている。方法100は、制御を機能ブロック104に受け渡す開始ブロック102を含む。機能ブロック104は、SKIPモードおよび16×16モードをチェックし、制御を決定ブロック106に受け渡す。決定ブロック106は、SKIPモードにおける歪み、J(SKIP)が、16×16モードにおける歪み、J(16×16)よりも小さいかどうか、さらに、16×16モードが残差を有するかどうかを判定する。SKIPモードにおける歪みが16×16モードにおける歪みよりも小さくない場合、さらに/または、16×16モードが残差を有する場合には、制御が機能ブロック108に受け渡される。そうでない場合、SKIPモードにおける歪みが16×16モードにおける歪みより小さく、16×16モードが残差を有さない場合には、制御が決定ブロック126に受け渡される。
機能ブロック108は、現在の(即ち、現在評価されている)8×8サブパーティションのための8×8モードをチェックし、制御を決定ブロック110および機能ブロック114に受け渡す。決定ブロック110は、8×8モードが現在の8×8のサブパーティションのための16×16モードと同一であるかどうかを判定する。8×8モードが当該サブパーティションのための16×16モードと同一の動き情報を有さない場合には、制御は機能ブロック112に受け渡される。そうでない場合、8×8モードが現在の8×8サブパーティションのための16×16モードと同じ動き情報を有する場合には、制御が機能ブロック114に受け渡される。
機能ブロック112は、16×8および8×16のサブパーティションをチェックし、制御を機能ブロック114に受け渡す。
機能ブロック114は、現在の4×4サブパーティションのために4×4モードをチェックし、制御を決定ブロック116および機能ブロック120に受け渡す。決定ブロック116は、4×4モードが現在の4×4サブパーティションのための8×8モードと同一の動き情報を有するかどうかを判定する。4×4モードが現在の4×4サブパーティションのための8×8モードと同一の動き情報を有さない場合には、制御が機能ブロック118に受け渡される。そうでない場合、4×4モードが現在の4×4サブパーティションのための8×8モードと同一の動き情報を有する場合には、制御が機能ブロック120に受け渡される。
機能ブロック118は、8×4および4×8のサブパーティションをチェックし、制御を機能ブロック120に受け渡す。
機能ブロック120は、各イントラ・モードをチェックし、制御を機能ブロック122に受け渡す。機能ブロック122は、評価された各モードの中から最良のモードを選択し、制御を終了ブロック124に受け渡す。終了ブロック124は、マクロブロック符号化を終了させる。
決定ブロック126は、SKIPモードが現在の(即ち、現在評価されている)16×16のマクロブロック(MB)のための16×16モードと同一の動き情報を有するかどうかを判定する。SKIPモードが現在の16×16のMBのための16×16モードと同一の動き情報を有さない場合には、制御が決定ブロック108に受け渡される。そうでない場合、SKIPモードが現在の16×16MBのための16×16モードと同一の動き情報を有する場合には、制御が機能ブロック120に受け渡される。
図2を参照すると、複数の異なるモードの間の関係に基づく動きベクトルおよびモードの決定方法が概ね参照符号200を用いて示されている。方法200は、制御を機能ブロック204に受け渡す開始ブロック202を含む。機能ブロック204は、SKIPモードおよび16×16モードをチェックし、制御を決定ブロック206に受け渡す。決定ブロック206は、MC2>T1であるかどうかを判定する。ここで、MC2=min(J(SKIP)、J(16×16))、即ち、SKIPモードおよび16×16モードの間の最小の歪みであり、T1は、第1の閾値である。MC2≦T1である場合には、制御が決定ブロック208に受け渡される。そうでない場合、MC=min(J(SKIP)、J(16×16))>T1である場合には、制御が機能ブロック210に受け渡される。
制御ブロック208は、MC2がT2(第2の閾値)よりも大きいかどうかを判定する。MC2がT2よりも大きくない場合には、制御が機能ブロック210に受け渡される。そうでない場合、MC2がT2よりも大きい場合には、制御が機能ブロック218に受け渡される。
機能ブロック210は、他の各インター・モードをチェックし、制御を機能ブロック212に受け渡す。機能ブロック212は、他のテストされていない各イントラ・モードをチェックし、制御を機能ブロック214に受け渡す。機能ブロック214は、評価された各モードの中から最良のモードを選択し、制御を終了ブロック216に受け渡す。終了ブロック216は、マクロブロック符号化を終了させる。
機能ブロック218は、イントラ(INTRA)4×4DCをチェックし、制御を決定ブロック220に受け渡す。決定ブロック220は、J(INTRA4×4DC)がaMC2+bよりも小さいかどうかを判定する。ここで、aおよびbは定数である。J(INTRA4×4DC)がaMC2+bよりも小さくない場合には、制御が機能ブロック210および機能ブロック212に受け渡される。そうでない場合、J(INTRA4×4DC)がaMC2+bよりも小さい場合には、制御が機能ブロック212に受け渡される。
インター・モード決定は、動き推定、様々なブロック・サイズ、およびマルチプル・リファレンス・ピクチャの選択に関連する。イントラ・モード決定は、様々なブロック・タイプおよびマルチプル空間予測モードの選択に関連する。このため、インターフレームのためのモード決定は、符合器に大きな負荷を与えるものである。
従って、符号器に与える負荷を軽減するインターフレームのための高速モード決定を実行するための方法および装置を有することが望ましく、非常に有用である。
本発明は、従来技術の欠点や不利な点、および他の欠点や不利な点を解決するビデオ符号器用のBフレームの高速モード決定のための方法および装置を提供する。
本発明の一態様によれば、複数のマクロブロックに分割可能なBスライスのためのビデオ・データを符号化するビデオ符号器が提供される。ビデオ符号器は、Bスライス内の現在のマクロブロックを符号化する際に、ダイレクト・モードで符号化されるBスライス内の隣接マクロブロックの数をカウントし、ダイレクト・モードで符号化される隣接マクロブロックの数が所定の閾値を超えている場合にダイレクト・モードまたは現在のマクロブロックのための16×16モードの一方のみをチェックすることによって、モード選択を実行する符号器を含む。
本発明の別の態様によれば、複数のマクロブロックに分割可能なBスライスのためのビデオ・データを符号化するビデオ符号器が提供される。ビデオ符号器は、Bスライス内の現在のマクロブロックを符号化する際に、現在のマクロブロック内のブロック変換係数の数を使用して現在のマクロブロックの残差エネルギーを算出し、残差エネルギーの値を所定の閾値と比較し、残差エネルギーの値が所定の閾値よりも小さい場合にモード選択のためのインター・モードのみを考慮することによって、モード選択を実行する符号器を含む。
本発明のさらに別の態様によれば、複数のマクロブロックに分割可能なBスライスのためのビデオ・データを符号化するビデオ符号器が提供される。ビデオ符号器は、Bスライス内の現在のマクロブロックを符号化する際に、複数の、マルチプル・ビデオ・シーケンスを用いて選定され(trained)、量子化パラメータに依存するλMODEに対して線形であるモデルに適した閾値を用いて、ダイレクト・モードでの符号化の場合に複数の選定された閾値に対してレート歪み(RD:Rate-Distortion)コストを比較して、マルチステージのモード選択を実行し、レート歪みコストに基づいて複数の異なるステージでモード選択を終了する符号器を含む。
本発明のさらに別の態様によれば、複数のマクロブロックに分割可能なBスライスのためのビデオ・データを符号化するビデオ符号器が提供される。ビデオ符号器は、Bスライス内の現在のマクロブロックを符号化する際に、最初にリスト0およびリスト1のための単一の予測を実行することによって、モード選択を実行し、リスト0およびリスト1のために最良のモードの決定に基づいて現在のマクロブロックのための双予測モードをテストするかどうかを判定する符号器を含む。
本発明のさらに別の態様によれば、複数のマクロブロックに分割可能なBスライスのためのビデオ・データを符号化するビデオ符号器が提供される。ビデオ符号器は、Bスライス内の現在のマクロブロックを符号化する際に、サブマクロブロックのモード選択のためのDIRECT8×8モードをテストすることのみによりモード選択を実行する符号器を含む。
本発明のこれらの態様、特徴および利点、また、その他の態様、特徴および利点は、添付図面を参照して以下の本発明の例示的な実施の形態の説明を読むことによって明らかになるであろう。
本発明は、例示的な図面に従って良好に理解できるであろう。
歪み値に基づく動きベクトルおよびモード決定のための方法のフロー図である。 複数の異なるモードの間の関係に基づく動きベクトルおよびモード決定のための方法のフロー図である。 本発明の原理に従ったビデオ符号器を示す図である。 本発明の原理に従って、隣接マクロブロックおよび残差のモード情報を使用した高速モード決定のための方法を示すフロー図である。 本発明の原理に従って、歪み情報を使用した高速モード決定のための方法を示すフロー図である。 本発明の原理に従って、リスト情報を使用した高速モード決定のための方法を示すフロー図である。
本発明は、符号器のための、Bフレームの高速モード決定のための方法および装置に関する。本発明により、符号化効率を維持しながらモード決定の演算量が軽減されるという利点が得られる。
この説明は、発明の原理を例示するものである。従って、当業者であれば、本明細書に明確に記載、図示されていなくとも、本発明の原理を実施する様々な構成を考案することが可能であり、このような構成の各々が本発明の精神および範囲に包含されることが理解できるであろう。
本明細書に記載された全ての例および条件付の文言は、本発明の原理を読者が理解するのを助けるための教示目的のものであり、発明者によって寄与された概念は、技術を発展させるものであり、このような具体的に記載された例や条件に限定されるように解釈されるべきではない。
また、本明細書における本発明の原理、態様、および、実施の形態についての全ての記載、さらに、その特定の例は、構造的、機能的な均等物を包含するように意図したものである。さらに、このような均等物は、現在公知の均等物だけでなく、将来において開発される均等物、即ち、構造に係らず、同一の機能を実行するように開発された全ての要素を包含するように意図されている。
従って、例えば、当業者であれば、本明細書において示されたブロック図は、本発明の原理を実施する回路を例示する概念図であることが理解できよう。同様に、フローチャート、フロー図、状態遷移図、擬似コードなどは、いずれも様々な処理を表す。これらの処理は、実質的にコンピュータによって読み取り可能なメディアにおいて表すことができ、コンピュータまたはプロセッサにより実行され、このようなコンピュータまたはプロセッサがはっきりと図示されているかどうかに係るものではない。
各図面において示される様々な要素の機能は、専用のハードウエアの使用により提供されてもよく、適切なソフトウエアと関連付けてソフトウエアを実行することが可能なハードウエアの使用によって提供されてもよい。機能が、プロセッサによって提供される場合にも、単一の専用プロセッサによって提供されてもよく、単一の共有プロセッサによって提供されてもよく、複数の別個のプロセッサによって提供されてもよく、幾つかのプロセッサが共有されていてもよい。さらに、用語「プロセッサ」または「コントローラ」を明示的に使用した場合であっても、ソフトウエアを実行することが可能なハードウエアのみを意味するように解釈されるべきではなく、限定するものではないが、ディジタル信号プロセッサ(DSP:digital signal processor)・ハードウエア、ソフトウエアを格納する読み出し専用メモリ(ROM:read‐only memory)、ランダム・アクセス・メモリ(RAM:random access memory)、および不揮発性の記憶装置を暗示的に含むことがある。
また、従来のおよび/または慣習的な他のハードウエアを含むこともある。同様に、図面に示されたどのスイッチも概念的なものに過ぎない。これらの機能はプログラム・ロジックの動作を介して、専用のロジックを介して、プログラム制御と専用のロジックとのインタラクションを介して、または、手動でも実行されることがある。文脈からより具体的に理解できるように、実施者により、特定の技術を選択可能である。
請求の範囲において、特定の機能を実施するための手段として表現されたいずれの要素も、この機能をどのような方法で実行するものも包含するように意図している。例えば、a)機能を実行する回路要素を組み合わせたもの、または、b)いかなる形態のソフトウエア、つまり、ファームウエア、マイクロコード等を含むもの、機能を実施するためにソフトウエアを実行する適当な回路と組み合わせたものも包含する。このような請求の範囲によって定義される発明は、請求の範囲によって要求されているように、様々な記載された手段によって提供される機能が組み合わされ、まとめられるという事実に基づいたものである。従って、出願人は、このような機能を提供することが可能な手段はどのようなものであっても、本願において示されているものと均等であるとみなす。
本発明により、符号化効率を維持しながら、モード決定の演算量を軽減する符号器のためのBフレーム(またはBスライス)の高速モード決定のための方法および装置が提供されるという利点が得られる。
例えば、本発明の例示的な一実施の形態においては、前に符号化されたマクロブロックから得ることのできる情報、限定するものではないが、歪み、モードおよび残差(residue)を使用して現在のマクロブロックのためにどのモードをチェックすることが必要であるかを判定することにより、Bフレーム(またはBスライス)のためのモード決定の演算量が軽減される。テストされる各モードの順序は、オプションとしては、DIRECT、16×16、8×8、16×8、8×16、8×8サブマクロブロック・パーティション、およびイントラ(INTRA)の各モードである。
図3を参照すると、例示的なビデオ符号器が概ね参照符号300によって示されている。符号器300に対する入力は、加算接合部(summing junction)310の非反転入力と信号通信するように結合されている。加算結合部310の出力はブロック変換器320と信号通信するように結合されている。変換器320は、量子化器330と信号通信するように結合されている。量子化器330の出力は、可変長符号器(VLC: variable length coder)340と信号通信するように結合され、VLC340の出力は、符号器300の外部的に利用可能な出力である。レート・コントローラ377の第1の入力は加算接合部310の出力と信号通信するように結合されている。レート・コントローラ377の第2の入力は、VLC340の出力と信号通信するように結合されている。レート・コントローラ377の出力は、量子化器330の第2の入力と信号通信するように結合されている。
さらに、量子化器330の出力は、逆量子化器350と信号通信するように結合される。逆量子化器350は、逆ブロック変換器360と信号通信するように結合される。また、逆ブロック変換器360は、リファレンス・ピクチャ記憶装置370と信号通信するように結合される。リファレンス・ピクチャ記憶装置370の第1の出力は、動き推定器380の第1の入力と信号通信するように結合される。さらに、符号器300への入力は、動き推定器380の第2の入力と信号通信するように結合される。動き推定器380の出力は、動き補償器390の第1の入力と信号通信するように結合される。リファレンス・ピクチャ記憶装置370の第2の出力は、動き補償器390の第2の入力と信号通信するように結合される。動き補償されたリファレンス・ピクチャを示す動き補償器390の出力は、加算結合部310の反転入力と信号通信するように結合される。
次に、本発明の原理に従った高速モード決定が施される現在のマクロブロックの隣接マクロブロックのためのモード情報を使用する場合に関して説明する。
Bフレームのために、全ての隣接マクロブロックがダイレクト・モードで符号化されている場合には、現在のマクロブロックは恐らくダイレクト・モードまたは16×16モードで符号化されている。このような実施態様を図4に示し、本明細書において以下に説明する。また、この方法は、Pフレームにも適用可能である。SKIPモードで全ての隣接マクロブロックが符号化されると、Pフレームにおけるマクロブロックは、SKIPモードおよび16×16モードをテストすることのみ必要とする。
上述のアプローチは、閾値Tdirectを設定することによって、異なる符号化性能に適合するように、容易に変更することが可能である。この適合性を有するアプローチを実施するためには、ダイレクト・モードで符号化される隣接ブロックの数がカウントされ、ダイレクト・モードで符号化される隣接ブロックの数が閾値を超えている場合には、現在のマクロブロックのためにダイレクト・モードおよび16×16モードしかチェックされない。高速符号化が望ましい場合には、小さな閾値が設定される。また、損失の少ない符号器を設計する場合には、全ての利用可能な隣接ブロックの数に閾値が設定される。
次に、本発明の原理に従った高速モード決定のための残差情報を用いる場合に関して説明する。
ダイレクト・モードのパフォーマンスを測定するために残差のエネルギーが使用される。残差は、オリジナルの信号とリファレンス信号との間の差であり、ブロック変換係数の絶対値の和、または現在のマクロブロックにおけるブロック変換係数の数として単純に算出される。ダイレクト・モードがテストされた後、残差が零であるか閾値Tresidueよりも小さい場合には、このマクロブロックは、前のピクチャより良好に予測され、各INTRAモードをチェックする必要はない。
図4を参照すると、隣接マクロブロックおよび残差のモード情報を使用してモード決定を実行する方法が概ね参照符号400によって示されている。
方法400は、制御を機能ブロック410に受け渡す開始ブロック405を含む。
機能ブロック410は、DIRETモードをチェックし、制御を機能ブロック415に受け渡す。機能ブロック415は16×16モードをチェックし、制御を決定ブロック420に受け渡す。決定ブロック420は、ダイレクト・モードで符号化された隣接ブロックの数がTdirect以上であるかどうかを判定する。ダイレクト・モードで符号化された隣接ブロックの数がTdirect以上でない場合には、制御が機能ブロック425に受け渡される。そうでない場合、ダイレクト・モードで符号化された隣接ブロックの数がTdirect以上である場合には、制御が機能ブロック440に受け渡される。
機能ブロック425は、16×8モード、8×16モード、および8×8モードをチェックし、制御を決定ブロック430に受け渡す。決定ブロック430は、ダイレクト・モードの後の残差がTresidueよりも小さいかどうかを判定する。ダイレクト・モードの後の残差がTresidueよりも小さくない場合には、制御は機能ブロック435に受け渡される。しかしながら、ダイレクト・モードの後の残差がTresidueよりも小さい場合には、制御が機能ブロック440に受け渡される。
機能ブロック435は各INTRAモードをチェックし、制御を機能ブロック440に受け渡す。
機能ブロック440は、テストされる各モードの中から最良のモードを選択し、制御を終了ブロック445に受け渡す。
次に、本発明の原理に従った高速モード決定のために歪み情報を用いる場合に関して説明する。
なお、本明細書において、用語「エラー」および「レート歪みコスト」は同じ意味で使用され、文字「J」で始まるものによって表されることもある。文字Jの後の括弧内に対応するモードが示されている。
ダイレクト・モードがテストされた後のエラー、J(ダイレクト)は、現在のマクロブロックがダイレクト・モードを使用して前のピクチャから良好に予測されるかどうかを示すインジケータとして使用される。J(ダイレクト)が閾値TB1よりも小さい場合には、現在のマクロブロックはダイレクト・モードによって効率的に表される可能性が高いため、他のモードを調べる必要はない。そうでない場合、J(ダイレクト)がTB2よりも小さい場合には、モード16×16がさらにテストされる。あるいは、J(ダイレクト)がTB3よりも小さい場合には、モード16×16、モード16×8、モード8×16がテストされる。あるいは、J(ダイレクト)がTB4よりも小さい場合には、モード16×16、モード16×8、モード8×16、およびモード8×8がテストされる。J(ダイレクト)がTB4よりも大きい場合には、全てのモードがテストされる。これは図5に示されており、本明細書において以下に説明する。
閾値は、複数の異なるタイプのビデオ・コンテンツを現すマルチプル・ビデオ・シーケンスを用いることによって選定(train)される。全てのシーケンスが良好な符号化効率を維持することを保証するためには、最も厳密な閾値が選択される。異なる量子化パラメータでビデオ・シーケンスが符号化される際に閾値が変更される。例えば、より高い量子化パラメータ(QP)が使用される場合には、再構築されたマクロブロックとオリジナルのマクロブロックとの間の歪みが大きいため、閾値もまた、大きくするべきである。この理由から、閾値は、QPに依存している。さらに、閾値は、λMODEに対してほぼ線形であり、λMODEはQPに依存していることが観察される。この線形性は、TBi=a+bλMODE、i=1,2,3,4と記載される。
各閾値は、モード16×16およびモード8×8がテストされた後、J(16×16)およびJ(8×8)にも適用される。さらに、|J(ダイレクト)−J(16×16)|および|J(16×16)−J(8×8)|など、異なるモード間の差の絶対値が考慮される。他の条件と共に、この差が非常に小さい場合には、幾らかのモードの検査がスキップしてもよい。例えば、|J(ダイレクト)−J(16×16)|、さらに、ダイレクト・モードおよび16×16モードの双方からの動き情報が同一である場合には、モード決定処理が終了し、ダイレクト・モードと16×16モードとから最良のモードが選択される。他方、|J(16×16)−J(8×8)|が小さい場合、16×8モードおよび8×16モードをスキップしてもよく、ダイレクト・モード(PスライスのためのSKIPモード)、16×16モード、および8×8モードのうちから最良のモードが選択される。
Bスライスは、複数の異なるタイプのインター・ピクチャ予測、リスト0、リスト1、双予測、およびダイレクト予測をサポートする。1つ以上のタイプの予測を減らすために、歪み情報を使用することもできる。例えば、リスト0またはリスト1による歪みが既に閾値Tbi−predよりも小さい場合、これは、単方向予測が非常に良好に実施されることを意味し、双予測のためのテストをスキップし、モード決定処理を終了してもよい。さらに、リスト0およびリスト1の双方が調べられた後、リスト0およびリスト1の双方のために最良のマクロブロック・パーティションが得られる。パーティションが同一である場合には、このパーティション上で双予測が調べられる。そうでない場合には、このパーティション上で双予測がスキップされる。
幾つかの符号器がコンテンツ分析などの処理要素、または、トランスコーディング・アーキテクチャにおけるMPEG2符合器をさらに含む場合があることを考慮すると、このような要素を利用可能である場合、最も符号化が困難なシーケンスに基づいて閾値を選択する代わりに、複数の異なるコンテンツ・テクスチャを有する複数の異なるシーケンスに閾値を適合させる。
図5を参照すると、歪み情報を用いてモード決定を実行する方法が概ね参照符号500を用いて示されている。
方法500は、制御を機能ブロック510に受け渡す開始ブロック505を含む。機能ブロック510は、「16×16DIRECT」、J(ダイレクト)によってRDコストを算出し、制御を決定ブロック515に受け渡す。決定ブロック515は、J(ダイレクト)がTB1よりも小さいかどうかを判定する。J(ダイレクト)がTB1よりも小さくない場合には、制御が機能ブロック520に受け渡される。そうでない場合、J(ダイレクト)がTB1よりも小さい場合には、制御が終了ブロック560に受け渡される。
機能ブロック520は16×16モードをチェックし、制御を決定ブロック525に受け渡す。決定ブロック525は、J(ダイレクト)がTB2よりも小さいかどうかを判定する。J(ダイレクト)がTB2よりも小さくない場合には、制御が機能ブロック530に受け渡される。そうでない場合、J(ダイレクト)がTB2よりも小さい場合には、制御が終了ブロック560に受け渡される。
機能ブロック530は、16×8モードおよび8×16モードをチェックし、制御を決定ブロック535に受け渡す。決定ブロック535は、J(ダイレクト)がTB3よりも小さいかどうかを判定する。J(ダイレクト)がTB3よりも小さくない場合には、制御が機能ブロック540に受け渡される。そうでない場合、J(ダイレクト)がTB3よりも小さい場合には、制御が終了ブロック560に受け渡される。
機能ブロック540は、8×8モードをチェックし、制御を決定ブロック545に受け渡す。決定ブロック545は、J(ダイレクト)がTB4よりも小さいかどうかを判定する。J(ダイレクト)がTB4よりも小さくない場合には、制御が機能ブロック550に受け渡される。そうでない場合、J(ダイレクト)がTB4よりも小さい場合には、制御が終了ブロック560に受け渡される。
機能ブロック550は、各INTRAモードをチェックし、制御を機能ブロック555に受け渡す。機能ブロック555は、各テスト・モードのうちから最良のモードを選択し、制御を終了ブロック560に受け渡す。
本発明の原理に従って、高速モード決定のための8×8モードの統計値を用いた場合に関する説明を行う。
Bスライス・マクロブロックの8×8のパーティションは、ダイレクト・モードで符号化することもができる。このモードは、ダイレクト8×8モードとも呼ばれる。統計値より、8×8モードでマクロブロックが符号化される可能性が非常に小さいことが観察され、8×8モードで符号化される場合、ダイレクト・モードで符号化が行われる可能性が大きい。従って、符号化効率が大きく損なわれることなく、全ての8×8パーティションをダイレクト・モードで符号化することができる。
図4および図5に関して本明細書中で説明した方法、さらに、従来のマクロブロック符号化処理に関して説明した方法や本明細書中で上述した歪み値および異なるモード間の関係に基づく追加的な条件を用いた別の従来のアプローチは別個に用いてもよいし、一緒に用いてもよいことが理解できよう。
図6を参照すると、リスト情報を用いた高速モード決定のための方法が概ね参照符号600によって示されている。
開始ブロック602は、制御を機能ブロック605に受け渡す。機能ブロック605は、ダイレクト・モードをチェックし、制御を決定ブロック610に受け渡す。決定ブロック610は、J(ダイレクト)がT1よりも小さいかどうかを判定する。J(ダイレクト)がT1よりも小さくない場合には、制御を機能ブロック615および機能ブロック620に受け渡す。そうでない場合、J(ダイレクト)がT1よりも小さい場合には、制御が機能ブロック650に受け渡される。
機能ブロック615は、リスト0から最良のインター・モードm0を選択し、制御を決定ブロック625に受け渡す。機能ブロック620は、リスト1から最良のインター・モードm1を選択し、制御を決定ブロック625に受け渡す。
決定ブロック625は、インター・モードm0およびインター・モードm1が同じパーティションを有するかどうかを判定する。インター・モードm0がインター・モードm1と同じパーティションを有さない場合には、制御が機能ブロック630に受け渡される。そうでない場合、インター・モードm0がインター・モードm1と同じパーティションを有さない場合には、制御が機能ブロック655に受け渡される。
機能ブロック630は、m0、m1、およびm01から最良のインター・モードを選択し、制御を機能ブロック635に受け渡す。
機能ブロック635は、イントラ・モードをチェックし、制御を機能ブロック640に受け渡す。機能ブロック640は、テストされた各モードから最良のモードを選択し、制御を終了ブロック645に受け渡す。
機能ブロック655は、双予測モードm01がm0およびm1と同じパーティションを有するかをチェックし、制御を機能ブロック660に受け渡す。機能ブロックは、m0、m1、m01から最良のインター・モードを選択し、制御を機能ブロック635に受け渡す。
次に、本発明の多くの付随する利点/特徴のうちの幾つかについて説明する。例えば、1つの利点/特徴は、Bスライス内のマクロブロックを符号化する際に、ダイレクト・モードで符号化されるBスライス内の隣接マクロブロックの数をカウントし、ダイレクト・モードとして符号化される隣接マクロブロックの数が所定の閾値を超えている場合にダイレクト・モードまたは現在のマクロブロックのための16×16モードの一方のみをチェックすることによって、モード選択を実行するビデオ符号器である。別の利点/特徴は、上述したビデオ符号器であり、このビデオ符号器において、考慮される隣接マクロブロックが左、左上、上および右上の隣接マクロブロックである。さらに別の利点/特徴は、上述したビデオ符号器であり、このビデオ符号器において、所定の閾値は、全ての隣接マクロブロックがダイレクト・モードで符号化されていなければならない。さらに別の利点/特徴は、上述したビデオ符号器であり、このビデオ符号器において、所定の閾値を超えていない場合にさらなるモード選択が実行される。また、別の利点/特徴は、Bスライス内のマクロブロックを符号化する際に、現在のマクロブロック内のブロック変換係数の数を使用して残差エネルギーを算出し、残差エネルギーの値を閾値と比較し、残差エネルギーの値が閾値よりも小さい場合にモード選択処理においてINTRAモードを考慮しないビデオ符合器である。さらに別の利点/特徴は、上述した残差エネルギーを使用してモード選択を実行するビデオ符号器であり、この符号器において、所定の閾値の値は零である。また、別の利点/特徴は、Bスライス内のマクロブロックを符号化する際に、マルチプル・ビデオ・シーケンスを用いて閾値であるTB1、TB2、TB3、およびTB4を選定し、これらの閾値TB1、TB2、TB3、およびTB4を量子化パラメータ(QP)に依存するλMODEに対して線形であるモデルに適合させ、ダイレクト・モードでの符号化の場合に各閾値に対してレート歪み(RD)コストを比較することによりマルチステージのモード選択を実行し、RDコストに基づいて複数の異なるステージでモード選択を終了するビデオ符号器である。さらに、別の利点/特徴は、Bスライス内の現在のマクロブロックを符号化する際に、最初にリスト0およびリスト1のための単一の予測を実行することによりモード選択を実行するビデオ符号器であり、このビデオ符号器において、リスト0およびリスト1のために最良のモードの決定に現在のマクロブロックのための双予測モードをテストするかどうかの選択が依存する。さらにまた別の利点/特徴は、最初にリスト0およびリスト1のための単一予測を実施するビデオ符号器であり、このビデオ符号器において、リスト0およびリスト1のためのモード選択が同じパーティションを有する場合に、当該パーティション上で双予測モードがテストされ、そうでない場合には、双予測が実行されない。さらに、別の利点/特徴は、Bスライス内のマクロブロックを符号化する際に、サブマクロブロックのモード選択のためのダイレクト8×8モードをテストすることのみによりモード選択を実行するビデオ符号器である。
本発明のこれらの特徴および利点、また、その他の特徴および利点は、本明細書の開示内容に基づいて関連する技術分野における当業者であれば容易に確認することができるであろう。本発明の原理が、ハードウエア、ソフトウエア、ファームウエア、特定用途プロセッサ、またはこれらを組み合わせた様々な形態で実施可能であることが理解できよう。
最も好ましくは、本発明の原理は、ハードウエアとソフトウエアとを組み合わせることによって実行される。さらに、ソフトウエアは、プログラム記憶装置に具体的な形態に実装されたアプリケーション・プログラムとして実施されることが好ましい。アプリケーション・プログラムは、好ましいアーキテクチャーを有するマシンに対してアップロードされ、このマシンによって実行可能なものであってもよい。好ましくは、マシンは、1つ以上の中央処理装置(CPU)、ランダム・アクセス・メモリ(RAM)、入出力(I/O)インターフェースを備えるコンピュータ・プラットフォーム上で実施される。このコンピュータ・プラットフォームは、オペレーション・システムとマイクロインストラクション・コードをさらに備えるものであってもよい。本明細書において記載された様々な処理および機能は、マイクロインストラクション・コードの一部であってもよいし、アプリケーション・プログラムの一部であってもよいし、これらを組み合わせたものであってもよく、CPUによって実行されるものでもよい。さらに、コンピュータ・プラットフォームには、追加のデータ記憶装置や、印刷機等、周辺機器を接続するようにしてもよい。
さらに、添付図面に描かれた構成要素としてのシステム・コンポーネントおよび方法の幾つかは、好ましくはソフトウエアの形態で実施されるため、システム・コンポーネントまたは処理機能ブロック間の実際の接続は、本発明の実施の形態のプログラムの仕方によって異なるものであることが理解できよう。本明細書の開示内容に基づいて、関連する技術分野の当業者であれば、これらの本発明の実施例、構成例、また、同様の構成例、実施例を企図することも可能であろう。
添付図面を参照して例示的な実施の形態を説明したが、本発明はこのような具体的な実施の形態に限定されるものではなく、関連する技術分野の当業者であれば、このような実施の形態に対し、本発明の範囲または精神を逸脱することなく、様々な変形、改変が可能であることが理解できるであろう。このような変形、改変は全て、付随する請求の範囲に記載された本発明の範囲に含まれるように意図されたものである。

Claims (12)

  1. 複数のマクロブロックに分割可能な双予測(B)スライスのためのビデオ・データを符号化する装置であって、
    前記Bスライス内の現在のマクロブロックを符号化する際に、前記現在のマクロブロック内のブロック変換係数の数を使用して前記現在のマクロブロックの残差エネルギーを算出し、前記残差エネルギーの値を閾値と比較し、前記残差エネルギーの値が前記閾値よりも小さい場合にモード選択のためのインター・モードのみを考慮することによって、前記モード選択を実行する符号器を含む、前記装置。
  2. 前記閾値の値が零である請求項1記載の装置。
  3. 複数のマクロブロックに分割可能な双予測(B)スライスのためのビデオ・データを符号化する装置であって、
    前記Bスライス内の現在のマクロブロックを符号化する際に、複数の、マルチプル・ビデオ・シーケンスを用いて選定され、量子化パラメータに依存するλMODEに対して線形であるモデルに適した閾値を用いて、ダイレクト・モードでの符号化の場合に前記複数の選定された閾値に対してレート歪みコストを比較して、マルチステージのモード選択を実行し、前記レート歪みコストに基づいて複数の異なるステージで前記モード選択を終了する符号器を含む、前記装置。
  4. 複数のマクロブロックに分割可能な双予測(B)スライスのためのビデオ・データを符号化する装置であって、
    前記Bスライス内の現在のマクロブロックを符号化する際に、最初にリスト0およびリスト1のための単一の予測を実行することによって、モード選択を実行し、リスト0およびリスト1のために最良のモードの決定に基づいて前記現在のマクロブロックのための双予測モードをテストするかどうかを判定する符号器を含む、前記装置。
  5. 前記符号器は、前記現在のマクロブロックのパーティション上で、当該パーティションがリスト0およびリスト1の双方のためのモード選択に対応する場合のみ、前記双予測モードをテストする請求項4に記載の装置。
  6. 複数のマクロブロックに分割可能な双予測(B)スライスのためのビデオ・データを符号化する装置であって、
    前記Bスライス内の現在のマクロブロックを符号化する際に、サブマクロブロックのモード選択のためのダイレクト8×8モードをテストすることのみによりモード選択を実行する符号器を含む、前記装置。
  7. 複数のマクロブロックに分割可能な双予測(B)スライスのためのビデオ・データを符号化する方法であって、
    前記Bスライス内の現在のマクロブロックを符号化する際に、モード選択を実行するステップを含み、前記実行するステップは、
    前記現在のマクロブロック内のブロック変換係数の数を使用して前記現在のマクロブロックの残差エネルギーを算出するステップと、
    前記残差エネルギーの値を閾値と比較するステップと、
    前記残差エネルギーの値が前記閾値よりも小さい場合に前記モード選択のためのインター・モードのみを考慮するステップと、
    を含む、前記方法。
  8. 前記閾値の値が零である請求項7記載の方法。
  9. 複数のマクロブロックに分割可能な双予測(B)スライスのためのビデオ・データを符号化する方法であって、
    前記Bスライス内の現在のマクロブロックを符号化する際に、複数の、マルチプル・ビデオ・シーケンスを用いて選定され、量子化パラメータに依存するλMODEに対して線形であるモデルに適した閾値を用いて、ダイレクト・モードでの符号化の場合に前記複数の選定された閾値に対してレート歪みコストを比較して、マルチステージのモード選択を実行し、前記レート歪みコストに基づいて複数の異なるステージで前記モード選択を終了するステップを含む、前記方法。
  10. 複数のマクロブロックに分割可能な双予測(B)スライスのためのビデオ・データを符号化する方法であって、
    前記Bスライス内の現在のマクロブロックを符号化する際に、最初にリスト0およびリスト1のための単一の予測を実行することによって、モード選択を実行するステップと、
    リスト0およびリスト1のために最良のモードの決定に基づいて前記現在のマクロブロックのための双予測モードをテストするかどうかを判定するステップと、
    を含む、前記方法。
  11. 前記符号器は、前記現在のマクロブロックのパーティション上で、当該パーティションがリスト0およびリスト1の双方のためのモード選択に対応する場合のみ、前記双予測モードをテストするステップをさらに含む請求項10に記載の方法。
  12. 複数のマクロブロックに分割可能な双予測(B)スライスのためのビデオ・データを符号化する方法であって、
    前記Bスライス内の現在のマクロブロックを符号化する際に、サブマクロブロックのモード選択のためのDIRECT8×8モードをテストすることのみによりモード選択を実行するステップを含む、前記方法。
JP2013240570A 2004-11-04 2013-11-21 ビデオ符号器におけるbフレームの高速モード決定のための方法および装置 Expired - Fee Related JP5713415B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62487004P 2004-11-04 2004-11-04
US60/624,870 2004-11-04

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011251743A Division JP5602710B2 (ja) 2004-11-04 2011-11-17 ビデオ符号器におけるbフレームの高速モード決定のための方法および装置

Publications (2)

Publication Number Publication Date
JP2014090427A true JP2014090427A (ja) 2014-05-15
JP5713415B2 JP5713415B2 (ja) 2015-05-07

Family

ID=35788959

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2007539321A Expired - Fee Related JP5046335B2 (ja) 2004-11-04 2005-11-02 ビデオ符号器におけるbフレームの高速モード決定のための方法および装置
JP2011251743A Expired - Fee Related JP5602710B2 (ja) 2004-11-04 2011-11-17 ビデオ符号器におけるbフレームの高速モード決定のための方法および装置
JP2013240570A Expired - Fee Related JP5713415B2 (ja) 2004-11-04 2013-11-21 ビデオ符号器におけるbフレームの高速モード決定のための方法および装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2007539321A Expired - Fee Related JP5046335B2 (ja) 2004-11-04 2005-11-02 ビデオ符号器におけるbフレームの高速モード決定のための方法および装置
JP2011251743A Expired - Fee Related JP5602710B2 (ja) 2004-11-04 2011-11-17 ビデオ符号器におけるbフレームの高速モード決定のための方法および装置

Country Status (6)

Country Link
US (1) US8155191B2 (ja)
EP (1) EP1808025B1 (ja)
JP (3) JP5046335B2 (ja)
CN (1) CN101099394B (ja)
BR (1) BRPI0515723A (ja)
WO (1) WO2006052577A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017005505A (ja) * 2015-06-10 2017-01-05 日本電信電話株式会社 映像符号化装置、映像符号化方法及び映像符号化プログラム

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060233258A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Scalable motion estimation
US7830961B2 (en) * 2005-06-21 2010-11-09 Seiko Epson Corporation Motion estimation and inter-mode prediction
US7804900B2 (en) * 2006-02-23 2010-09-28 Industrial Technology Research Institute Method for fast SATD estimation
US8494052B2 (en) * 2006-04-07 2013-07-23 Microsoft Corporation Dynamic selection of motion estimation search ranges and extended motion vector ranges
US8155195B2 (en) * 2006-04-07 2012-04-10 Microsoft Corporation Switching distortion metrics during motion estimation
US20070268964A1 (en) * 2006-05-22 2007-11-22 Microsoft Corporation Unit co-location-based motion estimation
US20070274396A1 (en) * 2006-05-26 2007-11-29 Ximin Zhang Complexity adaptive skip mode estimation for video encoding
US20080205515A1 (en) * 2007-01-25 2008-08-28 Florida Atlantic University Video encoding with reduced complexity
US8750377B2 (en) * 2007-04-12 2014-06-10 Thomson Licensing Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding
US9288504B2 (en) 2007-04-12 2016-03-15 Thomson Licensing Method and apparatus for fast geometric mode desicion in a video encoder
US8731048B2 (en) * 2007-08-17 2014-05-20 Tsai Sheng Group Llc Efficient temporal search range control for video encoding processes
JP2011501508A (ja) * 2007-10-12 2011-01-06 トムソン ライセンシング 幾何学分割された双方向予測モードパーティションのビデオエンコーディング及びデコーディングのための方法及び装置
KR101228020B1 (ko) * 2007-12-05 2013-01-30 삼성전자주식회사 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
JP4990927B2 (ja) * 2008-03-28 2012-08-01 三星電子株式会社 動きベクトル情報の符号化/復号化方法及び装置
CN102217308B (zh) 2008-11-13 2014-10-22 汤姆森特许公司 使用画面组合并和位分配的多线程视频编码
CN102342104B (zh) * 2009-03-06 2015-07-01 汤姆森特许公司 预测图像数据块的方法、实现所述方法的解码和编码设备
JP5242784B2 (ja) 2009-06-18 2013-07-24 株式会社東芝 動画像符号化装置及び方法
US9628794B2 (en) 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
CN103826127B (zh) * 2009-06-18 2017-03-01 株式会社东芝 运动图像编码装置和运动图像编码方法
CN103826126B (zh) * 2009-06-18 2017-09-29 株式会社东芝 运动图像编码装置和运动图像编码方法
CN103888778B (zh) * 2009-06-18 2017-12-08 株式会社东芝 运动图像解码装置
CN103826132B (zh) * 2009-06-18 2017-03-01 株式会社东芝 运动图像解码装置和运动图像解码方法
US8498330B2 (en) * 2009-06-29 2013-07-30 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for coding mode selection
EP2471264A1 (en) * 2009-08-28 2012-07-04 France Brevets Method for coding a sequence of images
DK2476255T3 (en) 2009-09-10 2018-08-06 Guangdong Oppo Mobile Telecommunications Corp Ltd ACCELERATION TECHNIQUES FOR DISTORTION GRADE OPTIMIZED QUANTIZATION
US8594200B2 (en) * 2009-11-11 2013-11-26 Mediatek Inc. Method of storing motion vector information and video decoding apparatus
US9036692B2 (en) * 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
US8879632B2 (en) * 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
JP5368631B2 (ja) 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
KR101791078B1 (ko) 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
US8824558B2 (en) * 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
JP5781313B2 (ja) * 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
JP5768510B2 (ja) * 2011-06-06 2015-08-26 富士通株式会社 動画像符号化方法および動画像符号化装置
US9451277B2 (en) * 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
MY172302A (en) * 2012-04-15 2019-11-21 Samsung Electronics Co Ltd Method and apparatus for determining reference images for inter-prediction
EP2670139A1 (en) * 2012-06-01 2013-12-04 Alcatel Lucent Method and apparatus for encoding a video stream having a transparency information channel
KR102114252B1 (ko) 2013-07-05 2020-05-22 삼성전자 주식회사 영상을 부호화하기 위한 영상 예측 모드 결정 방법 및 장치
CN103491369B (zh) 2013-09-18 2016-09-28 华为技术有限公司 一种帧间预测编码方法和编码器
US10769191B2 (en) * 2013-12-20 2020-09-08 Google Llc Classifying data objects
US9883187B2 (en) * 2015-03-06 2018-01-30 Qualcomm Incorporated Fast video encoding method with block partitioning
WO2017122604A1 (ja) * 2016-01-15 2017-07-20 日本電気株式会社 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラムが記憶された記憶媒体
KR102386291B1 (ko) 2017-07-06 2022-04-14 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244704A (ja) * 2002-01-25 2003-08-29 Microsoft Corp 改良型のビデオコーディング方法および装置
JP2004165703A (ja) * 2002-09-20 2004-06-10 Toshiba Corp 動画像符号化方法及び復号化方法
JP2004254274A (ja) * 2002-07-05 2004-09-09 Microsoft Corp データ圧縮のための改良された最適化技術
JP2005191706A (ja) * 2003-12-24 2005-07-14 Toshiba Corp 動画像符号化方法及びその装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997037322A1 (en) * 1996-03-29 1997-10-09 Sarnoff Corporation Apparatus and method for optimizing encoding and performing automated steerable image compression using a perceptual metric
US6057832A (en) * 1997-12-02 2000-05-02 V Soft Ltd. Method and apparatus for video-on-demand with fast play capability
EP1092321A1 (en) * 1999-04-30 2001-04-18 Koninklijke Philips Electronics N.V. Video encoding method with selection of b-frame encoding mode
US6782062B1 (en) * 2000-03-29 2004-08-24 Sony Corporation Low power and high linearity receivers with reactively biased front ends
US6782052B2 (en) * 2001-03-16 2004-08-24 Sharp Laboratories Of America, Inc. Reference frame prediction and block mode prediction for fast motion searching in advanced video coding
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
JP4193406B2 (ja) * 2002-04-16 2008-12-10 三菱電機株式会社 映像データ変換装置および映像データ変換方法
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
US7936818B2 (en) * 2002-07-01 2011-05-03 Arris Group, Inc. Efficient compression and transport of video over a network
US6944224B2 (en) * 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
US7194035B2 (en) * 2003-01-08 2007-03-20 Apple Computer, Inc. Method and apparatus for improved coding mode selection
KR100984517B1 (ko) * 2003-01-10 2010-10-01 톰슨 라이센싱 인터프레임 인코딩을 위한 빠른 모드 결정 방법
US7471726B2 (en) * 2003-07-15 2008-12-30 Microsoft Corporation Spatial-domain lapped transform in digital media compression
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
US20050175099A1 (en) * 2004-02-06 2005-08-11 Nokia Corporation Transcoder and associated system, method and computer program product for low-complexity reduced resolution transcoding
US7469070B2 (en) * 2004-02-09 2008-12-23 Lsi Corporation Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements
US8170102B2 (en) * 2005-12-19 2012-05-01 Seiko Epson Corporation Macroblock homogeneity analysis and inter mode prediction
KR100773761B1 (ko) * 2006-09-14 2007-11-09 한국전자통신연구원 동영상 부호화 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244704A (ja) * 2002-01-25 2003-08-29 Microsoft Corp 改良型のビデオコーディング方法および装置
JP2004254274A (ja) * 2002-07-05 2004-09-09 Microsoft Corp データ圧縮のための改良された最適化技術
JP2004165703A (ja) * 2002-09-20 2004-06-10 Toshiba Corp 動画像符号化方法及び復号化方法
JP2005191706A (ja) * 2003-12-24 2005-07-14 Toshiba Corp 動画像符号化方法及びその装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KOICHI TAKAGI: ""Lagrange Multiplier and RD-characteristics"", [ONLINE], vol. Document: JVT-C084, JPN6015008460, 10 May 2002 (2002-05-10), ISSN: 0003020630 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017005505A (ja) * 2015-06-10 2017-01-05 日本電信電話株式会社 映像符号化装置、映像符号化方法及び映像符号化プログラム

Also Published As

Publication number Publication date
JP5713415B2 (ja) 2015-05-07
WO2006052577A2 (en) 2006-05-18
JP5602710B2 (ja) 2014-10-08
US8155191B2 (en) 2012-04-10
US20080008242A1 (en) 2008-01-10
BRPI0515723A (pt) 2008-08-05
WO2006052577A3 (en) 2006-07-27
EP1808025B1 (en) 2016-03-09
JP2008519503A (ja) 2008-06-05
CN101099394A (zh) 2008-01-02
EP1808025A2 (en) 2007-07-18
JP5046335B2 (ja) 2012-10-10
JP2012075155A (ja) 2012-04-12
CN101099394B (zh) 2010-08-18

Similar Documents

Publication Publication Date Title
JP5713415B2 (ja) ビデオ符号器におけるbフレームの高速モード決定のための方法および装置
JP4968726B2 (ja) インターフレームのための高速モード決定符号化
JP5074924B2 (ja) インタフレームのための高速モード決定方法及び装置
KR100728031B1 (ko) 가변 블록 크기 움직임 예측을 위한 부호화 모드 결정 방법및 장치
KR100992044B1 (ko) 매크로블록 파티션의 혼합된 인터/인트라 비디오 코딩 방법
KR100984517B1 (ko) 인터프레임 인코딩을 위한 빠른 모드 결정 방법
EP1808024B1 (en) Fast intra mode prediction for a video encoder
KR100898176B1 (ko) 비디오 인코딩을 위한 인터 모드 결정 방법
JP5513333B2 (ja) 動画像符号化装置、動画像符号化方法、およびプログラム
KR100701129B1 (ko) 영상 부호화기에서 고속 블록 모드 결정 방법
KR101083399B1 (ko) 인터 프레임을 위한 고속 모드 결정 인코딩
Correa et al. SHBS: A heuristic for fast inter mode decision of H. 264/AVC standard targeting VLSI design
KR20100090519A (ko) 영상 부호화 장치에서 매크로블록 모드 결정 방법 및 그 장치

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140813

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141106

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150305

R150 Certificate of patent or registration of utility model

Ref document number: 5713415

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees