JP2010526515A - 推定されたコーディングコストを用いた映像コーディングモード選択 - Google Patents

推定されたコーディングコストを用いた映像コーディングモード選択 Download PDF

Info

Publication number
JP2010526515A
JP2010526515A JP2010507374A JP2010507374A JP2010526515A JP 2010526515 A JP2010526515 A JP 2010526515A JP 2010507374 A JP2010507374 A JP 2010507374A JP 2010507374 A JP2010507374 A JP 2010507374A JP 2010526515 A JP2010526515 A JP 2010526515A
Authority
JP
Japan
Prior art keywords
coding
zero
residual data
transform coefficients
block
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.)
Ceased
Application number
JP2010507374A
Other languages
English (en)
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 JP2010526515A publication Critical patent/JP2010526515A/ja
Ceased 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/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/19Methods 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 using optimisation based on Lagrange multipliers
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

この開示は、推定されたコーディングコストを用いたコーディングモード選択技法を説明する。例えば高い圧縮効率を提供するため、符号化デバイスは、高い効率を持って画素ブロックのデータをコーディングする画素ブロックコーディングモードを選択することを試みることができる。この目的のために、前記符号化デバイスは、可能なモードのうちの少なくとも一部のモードに関するコーディングコストの推定値に基づいてコーディングモード選択を行うことができる。ここにおいて説明される技法により、前記符号化デバイスは、前記ブロックを実際にコーディングせずに前記異なるモードに関する前記コーディングコストを推定する。実際、一定の側面においては、前記符号化モジュールデバイスは、各モードに関する前記ブロックのデータを量子化せずに前記モードに関する前記コーディングコストを推定することができる。この方法により、この開示の前記コーディングコスト推定技法は、有効なモード選択を行うために必要な計算集約型の計算量を低減させる。
【選択図】図2

Description

この開示は、映像コーディングに関するものである。この開示は、より具体的には、映像シーケンスをコーディングするためにコーディングコストを推定することに関するものである。
デジタル映像能力は、デジタルテレビ、デジタル直接放送システム、無線通信デバイス、パーソナルデジタルアシスタント(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、ビデオゲームコンソール、デジタルカメラ、デジタル記録デバイス、携帯電話、衛星無線電話、等を含む広範なデバイス内に組み込むことができる。デジタル映像デバイスは、映像シーケンスを処理及び送信する際に従来のアナログ映像システムの有意な改良を提供することができる。
デジタル映像シーケンスをコーディングするために異なる映像コーディング基準が確立されている。例えば、ムービング・ピクチャ・エキスパーツ・グループ(MPEG)は、MPEG−1、MPEG−2及びMPEG−4を含む幾つかの基準を開発している。その他の例は、国際電気通信連合(ITU)−T H.263基準と、ITU−T H.264基準及びその同等基準であるISO/IEC MPEG−4、Part−10、すなわちアドバンストビデオコーディング(AVC)と、を含む。これらの映像コーディング基準は、データを圧縮された形でコーディングすることによって映像シーケンスの向上された送信効率をサポートする。
多くの現在の技法は、ブロックに基づくコーディングを利用する。ブロックに基づくコーディングにおいては、マルチメディアシーケンスのフレームは、個別の画素ブロックに分割され、これらの画素ブロックが、同じフレーム内又は異なるフレームに所在することができるその他のブロックとの差分に基づいてコーディングされる。幾つかの画素ブロックは、“マクロブロック”としばしば呼ばれ、画素のサブブロックから成るグループを備える。一例として、16×16マクロブロックは、4つの8×8サブブロックを備えることができる。これらのサブブロックは、別々にコーディングすることができる。例えば、H.264基準は、様々な異なるブロックサイズ、例えば16×16、16×8、8×16、8×8、4×4、8×4、及び4×8、を有するブロックのコーディングを可能にする。さらに、拡大として、あらゆるサイズのサブブロック、例えば、2×16、16×2、2×2、4×16、及び8×2、をマクロブロック内に含めることができる。
この開示の一定の側面においては、デジタル映像データを処理するための方法は、量子化されたときにゼロでないままである画素ブロックの残差データ(residual data)に関する1つ以上の変換係数を識別することと、少なくとも前記識別された変換係数に基づいて前記残差データのコーディングと関連づけられたビット数を推定することと、前記残差データをコーディングすることと関連づけられた少なくとも前記推定されたビット数に基づいて前記画素ブロックをコーディングするためのコーディングコストを推定すること、とを備える。
一定の側面においては、デジタル映像データを処理するための装置は、画素ブロックの残差データに関する変換係数を生成する変換モジュールと、量子化されたときにゼロでないままである前記変換係数のうちの1つ以上を識別し及び少なくとも前記識別された変換係数に基づいて前記残差データのコーディングと関連づけられたビット数を推定するビット推定モジュールと、前記残差データをコーディングすることと関連づけられた少なくとも前記推定されたビット数に基づいて前記画素ブロックをコーディングするためのコーディングコストを推定する制御モジュールと、を備える。
一定の側面においては、デジタル映像データを処理するための装置は、量子化されたときにゼロでないままである画素ブロックの残差データに関する1つ以上の変換係数を識別するための手段と、少なくとも前記識別された変換係数に基づいて前記残差データのコーディングと関連づけられたビット数を推定するための手段と、前記残差データをコーディングすることと関連づけられた少なくとも前記推定されたビット数に基づいて前記画素ブロックをコーディングするためのコーディングコストを推定するための手段と、を備える。
一定の側面においては、デジタル映像データを処理するためのコンピュータプログラム製品は、命令が格納されているコンピュータによって読み取り可能な媒体を備える。前記命令は、量子化されたときにゼロでないままである画素ブロックの残差データに関する1つ以上の変換係数を識別するための符号と、少なくとも前記識別された変換係数に基づいて前記残差データのコーディングと関連づけられたビット数を推定するための符号と、前記残差データをコーディングすることと関連づけられた少なくとも前記推定されたビット数に基づいて前記画素ブロックをコーディングするためのコーディングコストを推定するための符号と、を含む。
1つ以上の例の詳細が添付図面及び以下の説明において示される。その他の特徴、目的、及び利点が、以下の説明と図面から、及び請求項から明確になるであろう。
ここにおいて説明されるコーディングコスト推定技法を採用する映像コーディングシステムを示すブロック図である。 典型的符号化モジュールをさらに詳細に示すブロック図である。 他の典型的符号化モジュールをさらに詳細に示すブロック図である。 推定されたコーディングコストに基づいて符号化モードを選択する符号化モジュールの典型的動作を示す流れ図である。 ブロックの残差データを量子化又は符号化せずに残差データをコーディングすることと関連づけられたビット数を推定する符号化モジュールの典型的動作を示す流れ図である。 ブロックの残差データを符号化せずに残差データをコーディングすることと関連づけられたビット数を推定する符号化モジュールの典型的動作を示す流れ図である。
この開示は、推定されたコーディングコストを用いた映像コーディングモード選択技法を説明する。例えば高い圧縮効率を提供するために、符号化デバイスは、画素ブロックのデータを高い効率でコーディングする画素ブロックコーディングモードを選択するのを試みることができる。この目的のために、符号化デバイスは、少なくとも可能なモードの少なくとも一部に関するコーディングコスト推定値に基づいてコーディングモード選択を行うことができる。ここにおいて説明される技法により、符号化デバイスは、ブロックを実際にコーディングせずに異なるモードに関するコーディングコストを推定する。実際、幾つかの側面においては、符号化モジュールデバイスは、各モードに関するブロックのデータを量子化せずにモードに関するコーディングコストを推定することができる。この方法により、この開示のコーディングコスト推定技法は、有効なモード選択を行うために必要な計算集約的計算量を低減させる。
図1は、ここにおいて説明されるコーディングコスト推定技法を採用するマルチメディアコーディングシステム10を示したブロック図である。コーディングシステム10は、送信チャネル16によって接続された符号化デバイス12と復号デバイス14とを含む。符号化デバイス12は、1つ以上のデジタルマルチメディアデータシーケンスを符号化し、符号化されたシーケンスを復号のために及び可能なことにデバイス14のユーザーに提示するために送信チャネル16において復号デバイス14に送信する。送信チャネル16は、あらゆる有線又は無線媒体、又はその組み合わせを備えることができる。
符号化デバイス12は、1つ以上のマルチメディアデータチャネルをブロードキャストするために用いられるブロードキャストネットワーク構成要素の一部を形成することができる。一例として、符号化デバイス12は、符号化されたマルチメディアデータの1つ以上のチャネルを無線デバイスにブロードキャストするために用いられる無線基地局、サーバー、又はいずれかのインフラストラクチャノードの一部を形成することができる。この場合は、符号化デバイス12は、符号化されたデータを複数の無線デバイス、例えば復号デバイス14、に送信することができる。しかしながら、単純化するために図1には単一の復号デバイス14が示される。代替として、符号化デバイス12は、映像テレフォニー又はその他の類似の用途に関してローカルでキャプチャされた映像を送信するハンドセットを備えることができる。
復号デバイス14は、符号化デバイス12によって送信された符号化されたマルチメディアデータを受信してそのマルチメディアデータをユーザーに提示するために復号するユーザーデバイスを備えることができる。一例として、復号デバイス14は、デジタルテレビ、無線通信デバイス、ゲームプレイ装置、ポータブルデジタルアシスタント(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、デジタル音楽及び映像デバイス、例えば 商標“iPod”の名称で販売されるデバイス、ラジオテレフォン、例えばセルラー、衛星又は地上に基づくラジオテレフォン、又は映像及び/又は音声ストリーミング、ビデオテレフォニー、又はその両方に関して装備されるその他の無線移動端末、の一部として実装することができる。復号デバイス14は、移動デバイス又は静止デバイスと関連づけることができる。ブロードキャスト用途においては、符号化デバイス12は、複数のユーザーと関連づけられた複数の復号デバイス14に符号化された映像及び/又は音声を送信することができる。
幾つかの側面においては、双方向通信用途に関して、マルチメディアコーディングシステム10は、セッション開始プロトコル(SIP)、国際電気通信連合標準化セクター(ITU−T)H.323基準、ITU−T H.324基準、又はその他の基準に従ってビデオテレフォニー又は映像ストリーミングをサポートすることができる。一方向又は双方向通信に関して、符号化デバイス12は、映像圧縮基準、例えばムービング・ピクチャ・エキスパーツ・グループ(MPEG)−2、MPEG−4、ITU−T H.263、又は、MPEG−4、Part10、アドバンストビデオコーディング(AVC)に対応するITU−H.264、に従って符号化されたマルチメディアデータを生成することができる。図1には示されていないが、符号化デバイス12及び復号デバイス14は、音声符号器及び復号器とそれぞれ一体化することができ、共通のデータシーケンス又は別個のデータシーケンス内の音声及び映像の両方の符号化を処理するための適切なマルチプレクサ−デマルチプレクサ(MUX−DEMUX)モジュール、又はその他のハードウェア、ファームウェア、又はソフトウェアを含むことができる。該当する場合は、MUX−DEMUXモジュールは、ITU−H.223マルチプレクサプロトコル、又はユーザーデータグラムプロトコル(UDP)等のその他のプロトコルに準拠することができる。
一定の側面においては、この開示は、技術基準TIA−1099、Aug.2006(“FLO仕様”)として発行された順方向リンク専用(FLO)エアインタフェース仕様“Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast”(地上移動マルチメディアマルチキャストに関する順方向リンク専用エアインタフェース仕様)を用いて地上移動マルチメディアマルチキャスト(TM3)システムにおいてリアルタイムマルチメディアサービスを配送するためのエンハンストH.264映像コーディングへの適用を企図する。しかしながら、この開示において説明されるコーディングコスト推定技法は、特定の型のブロードキャスト、マルチキャスト、ユニキャスト、又はポイント・ツー・ポイントシステムに限定されない。
図1に示されるように、符号化デバイス12は、符号化モジュール18と、送信機20と、を含む。符号化モジュール18は、映像符号化の場合は1つ以上のデータフレームを含むことができる1つ以上の入力マルチメディアシーケンスを受信し、受信されたマルチメディアシーケンスのフレームを選択的に符号化する。符号化モジュール18は、入力されたマルチメディアシーケンスを1つ以上のソース(図1には示されない)から受信する。幾つかの側面においては、符号化モジュール18は、例えば衛星を介して1つ以上の映像コンテンツプロバイダから入力マルチメディアシーケンスを受信することができる。他の例として、符号化モジュール18は、符号化デバイス12内に組み入れられるか又は符号化デバイス12に結合された画像キャプチャデバイス(図1には示されない)からマルチメディアシーケンスを受け取ることができる。代替として、符号化モジュール18は、符号化デバイス12内の又は符号化デバイス12に結合されたメモリ又はアーカイブ(図1には示されない)からマルチメディアシーケンスを受け取ることができる。マルチメディアシーケンスは、コーディングされてブロードキャストとして又はオンデマンドで送信されるライブのリアルタイムの又はほぼリアルタイムの映像、音声、又は映像と音声のシーケンスを備えることができ、又はコーディングしてブロードキャストとして又はオンデマンドで送信するために予め記録されて格納された映像、音声、又は映像と音声を備えることができる。幾つかの側面においては、マルチメディアシーケンスの少なくとも一部分は、例えばゲームプレイにおける場合のようにコンピュータによって生成することができる。
いずれの場合も、符号化モジュール18は、複数のフレームを符号化して複数のコーディングされたフレームを送信機20を介して復号デバイス14に送信する。符号化モジュール18は、入力されたマルチメディアシーケンスのフレームをフレーム内コーディングされたフレーム、フレーム間コーディングされたフレーム又はその組み合わせとして符号化することができる。フレーム内コーディング技法を用いて符号化されるフレームは、その他のフレームを基準にせずにコーディングされ、イントラ(“I”)フレームとしばしば呼ばれる。フレーム間コーディング技法を用いて符号化されるフレームは、1つ以上のその他のフレームを基準にしてコーディングされる。フレーム間コーディングされたフレームは、1つ以上の予測“P”フレーム、両方向(“B”)フレーム、又はその組み合わせを含むことができる。Pフレームは、少なくとも1つの時間的に前のフレームを基準にして符号化され、Bフレームは、少なくとも1つの時間的に後のフレームを基準にして符号化される。幾つかの場合においては、Bフレームは、少なくとも1つの時間的に後のフレーム及び少なくとも1つの時間的に前のフレームを基準にして符号化することができる。
符号化モジュール18は、フレームを複数のブロックに分割してこれらのブロックの各々を別々に符号化するようにさらに構成することができる。一例として、符号化モジュール18は、複数の16×16ブロックにフレームを分割することができる。幾つかのブロックは、“マクロブロック”としばしば呼ばれ、小分割ブロック(ここでは“サブブロック”としばしば呼ばれる)から成るグループを備える。一例として、16×16マクロブロックは、4つの8×8サブブロック、又はその他の小分割ブロックを備えることができる。例えば、H.264基準は、様々な異なるサイズ、例えば16×16、16×8、8×16、8×8、4×4、8×4、4×8、を有するブロックの符号化を可能にする。さらに、拡大として、あらゆるサイズのサブブロック、例えば、2×16、16×2、2×2、4×16、及び8×2、をマクロブロック内に含めることができる。従って、符号化モジュール18は、フレームを幾つかのブロックに分割し及び画素ブロックの各々をフレーム内コーディングされたブロック又はフレーム間コーディングされたブロックとして符号化するように構成することができ、これらの各々を一般的にブロックと呼ぶことができる。
符号化モジュール18は、複数のコーディングモードをサポートすることができる。これらのモードの各々は、ブロックサイズ及びコーディング技法の異なる組み合わせに対応することができる。例えばH.264基準の場合は、7つのインターモード及び13のイントラモードが存在する。7つの可変ブロックサイズインターモードは、SKIPモードと、16×16モードと、16×8モードと、8×16モードと、8×8モードと、8×4モードと、4×8モードと、4×4モードと、を含む。13のイントラモードは、9つの可能な補間方向が存在するINTRA4×4モードと、4つの可能な補間方向が存在するINTRA16×16モードと、を含む。
高い圧縮効率を提供するために、この開示の様々な側面により、符号化モジュール18は、ブロックのデータを高い効率でコーディングするモードを選択するのを試みる。この目的のために、符号化モジュール18は、各々のブロックに関して、全モードの少なくとも一部に関するコーディングコストを推定する。符号化モジュール18は、コーディングコストをレート及び歪みの関数として推定する。ここにおいて説明される技法により、符号化モジュール18は、レートメトリック及び歪みメトリックを決定するためにブロックを実際にコーディングせずにモードに関するコーディングコストを推定する。この方法により、符号化モジュール18は、各モードに関するブロックのデータの計算が複雑なコーディングを行うことなしに少なくともコーディングコストに基づいてモードのうちの1つを選択することができる。従来のモード選択は、いずれのモードを選択すべきかを決定するために各々のモードを用いたデータの実際のコーディングを要求する。従って、これらの技法は、各々のモードに関してデータを実際にコーディングせずにコーディングコストに基づいてモードを選択することによって時間と計算資源を節約する。実際、幾つかの側面においては、符号化モジュール18は、各モードに関してブロックのデータを量子化せずにモードに関するコーディングコストを推定することができる。この方法により、この開示のコーディングコスト推定技法は、有効なモード選択を行うために必要な計算集約型の計算量を低減させる。
符号化デバイス12は、選択されたモードを適用してフレームのブロックをコーディングし、コーディングされたデータフレームを送信機20を介して送信する。送信機20は、符号化されたマルチメディアを送信チャネル16において送信するための適切なモデム及びドライバ回路ソフトウェア及び/又はファームウェアを含むことができる。無線用途に関して、送信機26は、符号化されたマルチメディアデータを搬送する無線データを送信するためのRF回路を含む。
復号デバイス14は、受信機22と、復号モジュール24と、を含む。復号デバイス14は、受信機22を介して符号化デバイス12から符号化されたデータを受け取る。送信機20と同様に、受信機22は、符号化されたマルチメディアを送信チャネル16において受信するための適切なモデム及びドライバ回路ソフトウェア及び/又はファームウェアを含むことができ、及び無線用途において符号化されマルチメディアデータを搬送する無線データを受信するためのRF回路を含むことができる。復号モジュール24は、受信機22を介して受信されたコーディングされたデータフレームを復号する。復号デバイス14は、復号デバイス14内に組み入れられるか又は有線又は無線接続を介して復号デバイス14に結合された個別デバイスとして提供することができるディスプレイ(示されていない)を介して、復号されたデータフレームをユーザーに対してさらに提示することができる。
幾つかの例においては、符号化デバイス12及び復号デバイス14は、各々が、送信チャネル16において送信される符号化されたマルチメディア及びその他の情報に関する送信デバイス及び受信デバイスの両方として働くことができるように可逆(reciprocal)送受信回路を各々含むことができる。この場合は、符号化デバイス12及び復号デバイス14の両方が、マルチメディアシーケンスを送信及び受信すること、従って双方向通信に参加することができる。換言すると、コーディングシステム10の例示される構成要素は、符号器/復号器(CODEC)の一部として一体化することができる。
符号化デバイス12及び復号デバイス14内の構成要素は、ここにおいて説明される技法を実装するために利用可能な構成要素例である。しかしながら、符号化デバイス12及び復号デバイス14は、希望される場合は、数多くのその他の構成要素を含むことができる。例えば、符号化デバイス12は、各々がここにおいて説明される技法より1つ以上のマルチメディアデータシーケンスを受信し及び各々のマルチメディアデータシーケンスを符号化する複数の符号化モジュールを含むことができる。この場合は、符号化デバイス12は、データセグメントを送信のために結合する少なくとも1つのマルチプレクサをさらに含むことができる。さらに、符号化デバイス12及び復号デバイス14は、符号化された映像の送信及び受信のための適切な変調構成要素、復調構成要素、周波数変換構成要素、フィルタリング構成要素、及び増幅器構成要素を含むことができ、無線周波数(RF)無線構成要素とアンテナとを適宜含むことができる。しかしながら、例示を容易にするために、該構成要素は図1には示されていない。
図2は、典型的符号化モジュール30をさらに詳細に示すブロック図である。符号化モジュール30は、例えば、図1の符号化デバイス12の符号化モジュール18を代表することができる。図2に示されるように、符号化モジュール30は、1つ以上のマルチメディアシーケンスの入力されたマルチメディアデータフレームを1つ以上のソースから受信し、受信されたマルチメディアシーケンスのフレームを処理する制御モジュール32を含む。特に、制御モジュール32は、マルチメディアシーケンスの着信フレームを解析し、フレームの解析に基づいてこれらの着信フレームを符号化すべきか又はスキップすべきかを決定する。幾つかの側面においては、符号化デバイス12は、送信チャネル16において帯域幅を保存するためにフレームスキップを用いることによってマルチメディアシーケンス内に含まれる情報を引き下げられたフレームレートで符号化することができる。
さらに、符号化されることになる着信フレームに関して、制御モジュール32は、これらのフレームを、Iフレーム、Pフレーム、又はBフレームとして符号化すべきかどうかを決定するように構成することもできる。制御モジュール32は、チャネル切り替えフレームとして用いるために、又はイントラリフレッシュフレームとして用いるために、マルチメディアシーケンス開始時に、又はシーケンス内でのシーン変化時に、着信フレームをIフレームとして符号化するのを決定することができる。その他の場合は、制御モジュール32は、フレームをコーディングすることと関連づけられた帯域幅量を小さくするためにフレーム間コーディングされたフレーム(すなわち、Pフレーム又はBフレーム)としてフレームを符号化する。
制御モジュール32は、フレームを複数のブロックに分割し、これらのブロックの各々に関するコーディングモード、例えば上述されるH.264コーディングモードのうちの1つ、を選択するようにさらに構成することができる。以下において詳細に説明されるように、符号化モジュール30は、これらのコーディングモードのうちで最も効率的なコーディングモードを選択するのに役立つようにこれらのモードのうちの少なくとも一部に関するコーディングコストを推定することができる。ブロックのうちの1つをコーディングする際に用いるためのコーディングモードを選択後は、符号化モジュール30は、ブロックに関する残差データを生成する。フレーム内コーディングの対象として選択されたブロックに関しては、空間予測モジュール34は、ブロックに関する残差データを生成する。空間予測モジュール34は、例えば、1つ以上の隣接ブロック及び選択されたフレーム内コーディングモードに対応する補間方向性を用いる補間を介してブロックの予測されたバージョンを生成することができる。これで、空間予測モジュール34は、入力フレームのブロックと予測されたブロックとの間の差分を計算することができる。この差分は、残差データ又は残差係数と呼ばれる。
フレーム間コーディング対象として選択されたブロックに関しては、動き推定モジュール36及び動き補償モジュール38は、ブロックに関する残差データを生成する。特に、動き推定モジュール36は、少なくとも1つの基準フレームを識別し、その基準フレーム内において入力フレーム内のブロックと最も良く一致するブロックを探す。動き推定モジュール36は、入力フレーム内におけるブロックの位置と基準フレーム内における識別されたブロックの位置との間のオフセットを表すための動きベクトルを計算する。動き補償モジュール38は、入力フレームのブロックと動きベクトルが指し示す基準フレーム内の識別されたブロックとの間の差分を計算する。この差分は、そのブロックに関する残差データと呼ばれる。
符号化モジュール30は、変換モジュール40と、量子化モジュール46と、エントロピー符号器48と、も含む。変換モジュール40は、変換関数に従ってブロックの残差データを変換する。幾つかの側面においては、変換モジュール40は、残差データに関する変換係数を生成するために整数変換、例えば4×4又は8×8整数変換又は離散コサイン変換(DCT)、を残差データに適用する。量子化モジュール46は、変換係数を量子化し、量子化された変換係数をエントロピー符号器48に提供する。エントロピー符号器48は、コンテキスト適応型コーディング技法、例えばコンテキスト適応型可変長コーディング(CAVLC)又はコンテキスト適応型バイナリ算術コーディング(CABAC)、等を用いて量子化された変換係数を符号化する。以下において詳細に説明されるように、エントロピー符号器48は、選択されたモードを適用してブロックのデータをコーディングする。
エントロピー符号器48は、ブロックと関連づけられた追加データを符号化することもできる。例えば、残差データに加えて、エントロピー符号器48は、ブロックの1つ以上の動きベクトル、ブロックのコーディングモードを示す識別子、1つ以上の基準フレームインデックス、量子化パラメータ(QP)情報、ブロックのスライス情報、等を符号化することができる。エントロピー符号器48は、符号化モジュール30内のその他のモジュールからこの追加ブロックデータを受け取ることができる。例えば、動きベクトル情報は、動き推定モジュール36から受け取ることができ、ブロックモード情報は、制御モジュール32から受け取ることができる。幾つかの側面においては、エントロピー符号器48は、固定長コーディング(FLC)技法又はユニバーサル可変長コーディング(VLC)技法、例えば指数−ゴロムコーディング(“Exp−Golomb”)、を用いてこの追加情報の少なくとも一部分をコーディングすることができる。代替として、エントロピー符号器48は、上述されるコンテキスト適応型コーディング技法、すなわち、CABAC又はCAVLC、を用いて追加のブロックデータの一部分を符号化することができる。
制御モジュール32がブロックに関するモードを選択するのを援助するために、制御モジュール32は、可能なモードのうちの少なくとも一部に関するコーディングコストを推定する。一定の側面においては、制御モジュール32は、可能なコーディングモードの各々におけるブロックをコーディングするコストを推定することができる。コストは、例えば、所定のモードにおいてブロックをコーディングすることと関連づけられたビット数対そのモードにおいて生じる歪み量に関して推定することができる。例えばH.264基準の場合は、制御モジュール32は、フレーム間コーディング用に選択されたブロックに関しては22の異なるコーディングモード(フレーム間及びフレーム内コーディングモード)及びフレーム内コーディング用に選択されたブロックに関しては13の異なるコーディングモードに関するコーディングコストを推定することができる。その他の側面においては、制御モジュール32は、他のモード選択技法を用いて最初に可能なモードの組を減らし、次にこの開示の技法を利用してその組の残りのモードに関するコーディングコストを推定することができる。換言すると、幾つかの側面においては、制御モジュール32は、コスト推定技法を適用する前にモードの可能性の数を絞ることができる。有利なことに、符号化モジュール30は、異なるモードに関するブロックのデータを実際にコーディングせずにモードに関するコーディングコストを推定し、それにより、コーディング決定に関連する計算上のオーバーヘッドを低減する。実際、図2に示される例においては、符号化モジュール30は、異なるモードに関するブロックのデータを量子化せずにコーディングコストを推定することができる。この方法により、この開示のコーディングコスト推定技法は、コーディングコストを計算するために必要な計算集約型の計算量を低減させる。特に、モードのうちの1つを選択するために様々なコーディングモードを用いてブロックを符号化する必要がない。
ここにおいてさらに詳細に説明されるように、制御モジュール32は、以下の方程式に従って各々の解析されたモードのコーディングコストを推定する。
Figure 2010526515
ここで、Jは、推定されたコーディングコストであり、Dは、ブロックの歪みメトリックであり、λmodeは、各々のモードのラグランジュ乗数であり、Rは、ブロックのレートメトリックである。歪みメトリック(D)は、例えば、差分の絶対値の和(SAD)と、差分の二乗の和(SSD)と、変換差分の絶対値の和(SATD)と、変換差分の二乗の和(SSTD)、と、等を備えることができる。レートメトリック(R)は、例えば、所定のブロックにおけるデータをコーディングすることと関連づけられたビット数であることができる。上述されるように、異なるコーディング技法を用いて異なるタイプのブロックデータをコーディングすることができる。従って、方程式(1)は、以下の形に書き換えることができる。
Figure 2010526515
ここで、Rcontextは、コンテキスト適応型コーディング技法を用いてコーディングされるブロックデータに関するレートメトリックを表し、Rnon_contextは、非コンテキスト適応型コーディング技法を用いてコーディングされるブロックデータに関するレートメトリックを表す。例えば、H.264基準においては、残差データは、CAVLC又はCABAC等のコンテキスト適応型コーディングを用いてコーディングすることができる。その他のブロックデータ、例えば動きベクトル、ブロックモード、等は、FLC又はユニバーサルVLC技法、例えばExp−Golombを用いてコーディングすることができる。この場合は、方程式(2)は、以下の形に書き換えることができる。
Figure 2010526515
ここで、Rresidualは、コンテキスト適応型コーディング技法を用いて残差データをコーディングするためのレートメトリック、例えば残差データをコーディングすることと関連づけられたビット数、を表し、Rotherは、FLC又はユニバーサルVLC技法を用いてその他のブロックデータをコーディンするためのレートメトリック、例えばその他のブロックデータをコーディングすることと関連づけられたビット数、を表す。
推定されたコーディングコスト(J)を計算する際には、符号化モジュール30は、FLC又はユニバーサルVLC、すなわちRotherを用いてブロックデータをコーディングすることと関連づけられたビット数を相対的に簡単に決定することができる。符号化モジュール30は、例えば、FLC又はユニバーサルVLCを用いてブロックデータをコーディングすることと関連づけられたビット数を特定するために符号テーブルを用いることができる。符号テーブルは、例えば、複数の符号語と、その符号語をコーディングすることと関連づけられたビット数と、を含むことができる。しかしながら、残差データ(Rresidual)をコーディングすることと関連づけられたビット数を決定することは、データのコンテキストの関数としてのコンテキスト適応型コーディングは適応型の性質を有することに起因してはるかに困難なタスクとなる。残差データをコーディングすること関連づけられたビットの正確な数、又はどのようなデータがコンテキスト適応型コーディング中であるかを決定するために、符号化モジュール30は、残差データを変換し、変換された残差データを量子化し及び変換−量子化された残差データを符号化しなければならない。しかしながら、この開示の技法により、ビット推定モジュール42は、残差データを実際にコーディングせずにコンテキスト適応型コーディング技法を用いて残差データをコーディングすることと関連づけられたビット数を推定することができる。
図2に示される例においては、ビット推定モジュール42は、残差データに関する変換係数を用いて残差データをコーディングすることと関連づけられたビット数を推定する。従って、解析されるべき各モードに関して、符号化モジュール30は、残差モードをコーディングすることと関連づけられたビット数を推定するために残差データに関する変換係数を計算するだけでよい。従って、符号化モジュール30は、各々のモードに関して変換係数を量子化せず及び量子化された変換係数を符号化しないことによって資源の計算量を低減させ及び残差データをコーディングすることと関連づけられたビット数を決定するために要する時間を短縮する。
ビット推定モジュール42は、変換モジュール40によって出力された変換係数を解析し、量子化後にゼロでないままになる1つ以上の変換係数を識別する。特に、ビット推定モジュール42は、変換係数の各々を対応するしきい値と比較する。幾つかの側面においては、対応するしきい値は、符号化モジュール30のQPの関数として計算することができる。ビット推定モジュール42は、対応するしきい値よりも大きいか又は同じである変換係数を、量子化後にゼロでないままである変換係数として識別する。
ビット推定モジュール42は、量子化後にゼロでないままであるとして識別された少なくとも変換係数に基づいて残差データをコーディングすることと関連づけられたビット数を推定する。特に、ビット推定モジュール42は、量子化の影響を受けないゼロでない変換係数の数を決定する。ビット推定モジュール42は、量子化の影響を受けないとして識別された変換係数の絶対値の少なくとも一部を合計する。次に、ビット推定モジュール42は、以下の方程式を用いて、残差データに関するレートメトリック、すなわち、残差データをコーディンすることと関連づけられたビット数、を推定する。
Figure 2010526515
ここで、SATDは、量子化の影響を受けないことが予測されるゼロでない変換係数の絶対値の少なくとも一部の和であり、NZest は、量子化の影響を受けないことが予測されるゼロでない変換係数の推定数であり、a、a、及びaは、係数である。係数a、a、及びaは、例えば、最小二乗推定を用いて計算することができる。変換係数の和は、方程式例(4)における変換差分の絶対値の和SATDであるが、その他の差分係数、例えばSSTD、を用いることができる。
4×4ブロックに関するRresidualの計算例が以下に示される。異なるサイズのブロックに関しても同様の計算を行うことができる。符号化モジュール30は、残差データに関する変換係数の行列を計算する。変換係数の典型的行列が以下に示される。
Figure 2010526515
変換係数行列(A)の行数は、ブロック内の画素の行数と等しく、変換係数行列の列数は、ブロック内の画素の列数と等しい。従って、上例においては、変換係数行列の次元は、4×4ブロックに対応するために4×4である。変換係数行列のエントリA(i,j)の各々は、各々の残差係数の変換である。
量子化中に、行列Aのうちのより小さい値を有する変換係数は、量子化後にゼロになる傾向がある。従って、符号化モジュール30は、残差変換係数行列Aをしきい値行列と比較し、行列Aのいずれの変換係数が量子化後にゼロでないままであるかを予測する。典型的しきい値行列が以下に示される。
Figure 2010526515
行列Cは、QP値の関数として計算することができる。行列Cの次元は、行列Aの次元と同じである。例えばH.264基準の場合は、行列Cのエントリは、以下の方程式に基づいて計算することができる。
Figure 2010526515
ここで、QBITS{QP}は、スケーリングをQPの関数として決定するパラメータであり、Level_Offset(i,j){QP}は、行列の行i及び列jにおけるエントリに関するデッドゾーンパラメータであり、QPの関数でもあり、Level_Scale(i,j){QP}は、行列の行i及び列jにおけるエントリに関する乗算係数であり、QPの関数でもあり、iは行列の行に対応し、jは行列の列に対応し、QPは、符号化モジュール30の量子化パラメータに対応する。方程式例(5)においては、変数は、H.264コーディング基準においては演算QPの関数として定義することができる。
これらの変数のうちのいずれの変数が量子化後も存在するかを決定するためにその他の方程式を用いることができ、その他のコーディング基準においてはその特定の基準によって採用される量子化法に基づいて定義することができる。幾つかの側面においては、符号化モジュール30は、QP値範囲内において動作するように構成することができる。この場合は、符号化モジュール30は、QP値範囲内の各々のQP値に対応する複数の比較行列を予め計算することができる。符号化モジュール30は、変換係数行列と比較するために符号化モジュール30のQPに対応する比較行列を選択する。
変換係数行列Aとしきい値行列Cとの間の比較結果は、1とゼロの行列である。上例においては、この比較は、以下に示される1とゼロの行列になる。
Figure 2010526515
ここで、1は、量子化の影響を受けない見込みである、すなわちゼロでないままである見込みであるとして識別された変換係数の位置を表し、ゼロは、量子化の影響を受ける見込みである、すなわちゼロになる見込みである変換係数の位置を表す。上述されるように、変換係数は、行列Aの変換係数の絶対値が行列Cの対応するしきい値よりも大きいか又は同じであるときにゼロでないままである見込みであるとして識別される。
結果的に得られた1とゼロの行列を用いて、ビット推定モジュール42は、量子化の影響を受けない変換係数の数を決定する。換言すると、ビット推定モジュール42は、量子化後もゼロでないままであるとして識別された変換係数の数を決定する。ビッ推定モジュール42は、以下の方程式に従って量子化後にゼロでないままであるとして識別された変換係数の数を決定する。
Figure 2010526515
ここで、NZestは、ゼロでない変換係数の推定数であり、M(i,j)は、行i及び列jにおける行列Mの値である。上例においては、NZestは、8に等しい。
ビット推定モジュール42は、量子化の影響を受けないことが推定される変換係数の絶対値の少なくとも一部の和も計算する。一定の側面においては、ビット推定モジュール42は、以下の方程式に従って変換係数の絶対値の少なくとも一部の和を計算することができる。
Figure 2010526515
ここで、SATDは、量子化後にゼロでないままであるとして識別された変換係数の総和であり、M(i,j)は、行i及び列jにおける行列Mの値であり、A(i,j)は、行i及び列jにおける行列Aの値であり、abs(x)は、xの絶対値を計算する絶対値関数である。上述される例においては、SATDは、2361に等しい。その他の差分メトリック、例えばSSTD、も変換係数に関して用いることができる。
これらの値を用いて、ビット推定モジュール42は、上記の方程式(3)を用いて残差係数をコーディングすることと関連づけられたビット数を概算する。制御モジュール32は、Rresidualの推定値を用いてモードの総コーディングコストの推定値を計算することができる。符号化モジュール30は、1つ以上のその他の可能なモードに関する総コーディングコストを同じ方法で推定し、最小のコーディングコストを有するモードを選択することができる。次に、符号化モジュール30は、選択されたコーディングモードを適用してフレームのブロック又はブロック(複数)をコーディングする。
上記の技法は、符号化デバイス12内に個々に実装することができ、又は、2つ以上又はすべての技法をまとめて実装することができる。符号化モジュール30内の構成要素は、ここにおいて説明される技法を実装するために適用可能な構成要素の典型的例である。しかしながら、符号化モジュール30は、希望される場合はその他の数多くの構成要素を含むこと、及び上述されるモジュールのうちの1つ以上のモジュールの機能を結合したより少ない数の構成要素を含むことができる。符号化モジュール30内の構成要素は、1つ以上のプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はそのいずれかの組み合わせとして実装することができる。異なる特徴をモジュールとして描写することは、符号化モジュール30の異なる機能上の側面を強調することが意図されており、該モジュールを別個のハードウェア又はソフトウェア構成要素によって実現しなければならないということは必ずしも意味しない。むしろ、1つ以上のモジュールと関連づけられた機能は、共通の又は別個のハードウェア又はソフトウェア構成要素内に組み入れることができる。
図3は、他の典型的符号化モジュール50を示すブロック図である。図3の符号化モジュール50は、図2の符号化モジュール30に実質的に準じるが、符号化モジュール50のビット推定モジュール52は、残差データに関する変換係数の量子化後に残差データをコーディングすることと関連づけられたビット数を推定する。特に、変換係数の量子化後は、ビット推定モジュール52は、以下の方程式を用いて残差係数をコーディングすることと関連づけられたビット数を推定する。
Figure 2010526515
ここで、SATQDは、ゼロでない量子化された変換係数の絶対値の和であり、NZTQは、ゼロでない量子化された変換係数の数であり、a、a、及びaは、係数である。係数a、a、及びaは、例えば、最小二乗推定を用いて計算することができる。符号化モジュール50は、残差データをコーディングすることと関連づけられたビット数を推定する前に変換係数を量子化するが、符号化モジュール50は、依然として、ブロックのデータを実際にコーディングせずにモードに関するコーディングコストを推定する。従って、計算集約型の計算量が依然として低減される。
図4は、少なくとも推定されたコーディングコストに基づいて符号化モードを選択する符号化モジュール、例えば図2の符号化モジュール30及び/又は図3の符号化モジュール50、の典型的動作を示す流れ図である。しかしながら、典型例を示すことを目的として、図4は、符号化モジュール30に関して説明される。符号化モジュール30は、コーディングコストを推定する対象となるモードを選択する(60)。符号化モジュール30は、現在のブロックに関する歪みメトリックを生成する(62)。符号化モジュール30は、例えば、ブロックと少なくとも1つの基準ブロックとの間の比較に基づいて歪みメトリックを計算することができる。フレーム内コーディング対象として選択されたブロックの場合は、基準ブロックは、同じフレーム内の隣接ブロックであることができる。他方、フレーム間コーディングを対象として選択されたブロックの場合は、基準ブロックは、隣接フレームからのブロックであることができる。歪みメトリックは、例えば、SAD、SSD、SATD、SSTD、又はその他の同様の歪みメトリックであることができる。
図4の例おいては、符号化モジュール30は、非コンテキスト適応型コーディング技法を用いてコーディングされるデータ部分をコーディングすることと関連づけられたビット数を決定する(64)。上述されるように、このデータは、ブロックの1つ以上の動きベクトルと、ブロックのコーディングモードを示す識別子と、1つ以上の基準フレームインデックスと、QP情報と、ブロックのスライス情報と、等を含むことができる。符号化モジュール30は、例えば、FLC、ユニバーサルVLC又はその他の非コンテキスト適応型コーディング技法を用いてデータをコーディングすることと関連づけられたビット数を識別するための符号テーブルを用いることができる。
符号化モジュール30は、コンテキスト適応型コーディング技法を用いてコーディングされるデータ部分をコーディングすることと関連づけられたビット数を推定及び/又は計算する(66)。例えばH.264基準に関しては、符号化モジュール30は、コンテキスト適応型コーディングを用いて残差データをコーディングすることと関連づけられたビット数を推定することができる。符号化モジュール30は、残差データをコーディングすることを実際に行わずに残差データをコーディングすることと関連づけられたビット数を推定することができる。一定の側面においては、符号化モジュール30は、残差データを量子化せずに残差データをコーディングすることと関連づけられたビット数を推定することができる。例えば、符号化モジュール30は、残差データに関する変換係数を計算すること及び量子化後にゼロでないままである見込みである変換係数を識別することができる。これらの識別された変換係数を用いて、符号化モジュール30は、残差データをコーディングすることと関連づけられたビット数を推定する。その他の側面においては、符号化モジュール30は、変換係数を量子化すること及び少なくとも量子化された変換係数に基づいて残差データをコーディングすることと関連づけられたビット数を推定することができる。いずれの場合も、符号化モジュール30は、要求されるビット数を推定することによって時間及び処理資源を節約する。十分な計算資源が存在する場合は、符号化モジュール30は、推定する代わりに要求される実際のビット数を計算することができる。
符号化モジュール30は、選択されたモードにおいてブロックをコーディングすることに関する総コーディングコストを推定及び/又は計算する(68)。符号化モジュール30は、歪みメトリック、非コンテキスト適応型コーディングを用いてコーディングされるデータ部分をコーディングすることと関連づけられたビット及びコンテキスト適応型コーディングを用いてコーディングされるデータ部分をコーディングすることと関連づけられたビットに基づいてブロックをコーディングすることに関する総コーディングコストを推定することができる。例えば、符号化モジュール30は、上記の方程式(2)又は(3)を用いて選択されたモードにおいてブロックをコーディングすることに関する総コーディングコストを推定することができる。
符号化モジュール30は、コーディングコストを推定する対象となるその他のコーディングモードが存在するかどうかを決定する(70)。上述されるように、符号化モジュール30は、可能なモードの少なくとも一部に関するコーディングコストを推定する。一定の側面においては、符号化モジュール30は、可能なコーディングモードの各々においてブロックをコーディングするコストを推定することができる。例えばH.264基準においては、符号化モジュール30は、フレーム間コーディング用に選択されたブロックに関しては22の異なるコーディングモード(フレーム間及びフレーム内コーディングモード)及びフレーム内コーディング用に選択されたブロックに関しては13の異なるコーディングモードに関するコーディングコストを推定することができる。その他の側面においては、符号化モジュール30は、最初に可能なモードの組を縮小するために他のモード選択技法を用いることができ、及び縮小されたコーディングモードの組に関するコーディングコストを推定するためにこの開示の技法を利用することができる。
コーディングコストを推定する対象となるさらなるコーディングモードが存在するときには、符号化モジュール30は、次のコーディングモードを選択し、選択されたコーディングモードにおいてデータをコーディングするコストを推定する。コーディングコストを推定する対象となるさらなるコーディングモードが存在しないときには、符号化モジュール30は、少なくとも推定されたコーディングコストに基づいてブロックをコーディングするために用いるモードのうちの1つを選択する(72)。一例においては、コーディングモジュール30は、最低の推定されたコーディングコストを有するコーディングモードを選択することができる。モードが選択された時点で、コーディングモジュール30は、選択されたモードを適用して特定のブロックをコーディングすることができる(74)。プロセスは、所定のフレーム内の追加のブロックに関して続くことができる。一例として、プロセスは、フレーム内の全ブロックがここにおいて説明される技法により選択されたコーディングモードを用いてコーディングされてしまうまで続くことができる。さらに、プロセスは、複数のフレームのブロックが高効率モードを用いてコーディングされるまで続くことができる。
図5は、ブロックの残差係数をコーディングすることと関連づけられたビット数を推定する符号化モジュール、例えば図2の符号化モジュール30、の典型的動作を示す流れ図である。コーディングコストを推定する対象となるコーディングモードのうちの1つを選択後、符号化モジュール30は、選択されたモードに関するブロックの残差データを生成する(80)。例えばフレーム内コーディングするために選択されたブロックの場合は、空間予測モジュール34は、ブロックをそのブロックの予測されたバージョンと比較することに基づいてそのブロックに関する残差データを生成する。代替として、フレーム間コーディングするために選択されたブロックの場合は、動き推定モジュール36及び動き補償モジュール38は、ブロックと基準フレーム内の対応ブロックとの比較に基づいてそのブロックに関する残差データを計算する。幾つかの側面においては、残差データは、ブロックの歪みメトリックを生成するために計算済みであることができる。この場合は、符号化モジュール30は、残差データをメモリから取り出すことができる。
変換モジュール40は、変換関数に従ってブロックの残差係数を変換して残差データに関する変換係数を生成する(82)。変換モジュール40は、例えば、4×4又は8×8整数変換又はDCT変換を残差データに適用して残差データに関する変換係数を生成する。ビット推定モジュール42は、変換係数のうちの1つを対応するしきい値と比較して変換係数がしきい値よりも大きい又は同じであるかどうかを決定する(84)。変換係数に対応するしきい値は、符号化モジュール30のQPの関数として計算することができる。変換係数が対応するしきい値よりも大きいか又は同じである場合は、ビット推定モジュール42は、その変換係数を、量子化後にゼロでないままである係数であるとして識別する(86)。変換係数が対応するしきい値よりも小さい場合は、ビット推定モジュール42は、変換係数を、量子化後にゼロになる係数として識別する(88)。
ビット推定モジュール42は、ブロックの残差データに関する追加の変換係数が存在するかどうかを決定する(90)。ブロックの追加の変換係数が存在する場合は、ビット推定モジュール42は、係数のうちの他の1つを選択してそれを対応するしきい値と比較する。解析すべき追加の変換係数が存在しない場合は、ビット推定モジュール42は、量子化後にゼロでないままであるとして識別された係数の数を決定する(92)。ビット推定モジュール42は、量子化後にゼロでないままであるとして識別された変換係数の絶対値の少なくとも一部の絶対値も合計する(94)。ビット推定モジュール42は、決定されたゼロでない係数の数及びゼロでない係数の一部の和を用いて残差データをコーディングすることと関連づけられたビット数を推定する(96)。ビット推定モジュール42は、例えば、上記の方程式(4)を用いて残差データをコーディングすることと関連づけられたビット数を推定することができる。この方法により、符号化モジュール30は、ブロックの残差データを量子化又は符号化せずに選択されたモードにおいて残差データをコーディングすることと関連づけられたビット数を推定する。
図6は、ブロックの残差係数をコーディングすることと関連づけられたビット数を推定する符号化モジュール、例えば図3の符号化モジュール50、の典型的動作を示す流れ図である。コーディングコストを推定する対象となるコーディングモードのうちの1つを選択後は、符号化モジュール50は、ブロックの残差係数を生成する(100)。例えばフレーム内コーディングするために選択されたブロックの場合は、空間予測モジュール34は、ブロックをそのブロックの予測されたバージョンと比較することに基づいてそのブロックに関する残差データを計算する。代替として、フレーム間コーディングするために選択されたブロックの場合は、動き推定モジュール36及び動き補償モジュール38は、ブロックと基準フレーム内の対応ブロックとの比較に基づいてそのブロックに関する残差データを計算する。幾つかの側面においては、残差係数は、ブロックの歪みメトリックを生成するために計算済みであることができる。
変換モジュール40は、変換関数に従ってブロックの残差係数を変換して残差データに関する変換係数を生成する(102)。変換モジュール40は、例えば、4×4又は8×8整数変換又はDCT変換を残差データに適用して変換された残差係数を生成することができる。量子化モジュール46は、符号化モジュール50のQPに従って変換係数を量子化する(104)。
ビット推定モジュール52は、ゼロでない量子化された変換係数の数を決定する(106)。ビット推定モジュール42は、非ゼロレベル又は量子化された変換係数の絶対値も合計する(108)。ビット推定モジュール52は、ゼロでない量子化された変換係数の計算された数及びゼロでない量子化された変換係数の和を用いて残差データをコーディングすることと関連づけられたビット数を推定する(110)。ビット推定モジュール52は、例えば、上記の方程式(4)を用いて残差係数をコーディングすることと関連づけられたビット数を推定することができる。この方法により、符号化モジュールは、残差データを符号化せずに選択されたモードにおいてブロックの残差データをコーディングすることと関連づけられたビット数を推定する。
ここにおいて説明される教示に基づき、ここにおいて開示される側面は、その他の側面とは無関係に実装できること及びこれらの側面のうちの2つ以上を様々な方法で組み合わせることができることが明らかなはずである。ここにおいて説明される技法は、ハードウェア内、ソフトウェア内、ファームウェア内、又はそのいずれかの組み合わせ内において実装することができる。ハードウェア内に実装される場合は、これらの技法は、デジタルハードウェア、アナログハードウェア又はその組み合わせを用いて実現することができる。ソフトウェア内に実装される場合は、これらの技法は、命令又は符号が格納されているコンピュータによって読み取り可能な媒体を含むコンピュータプログラム製品によって少なくとも部分的に実現することができる。コンピュータプログラム製品のコンピュータによって読み取り可能な媒体と関連づけられた命令又は符号は、コンピュータによって、例えば1つ以上のプロセッサ、例えば1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、ASIC、FPGA、又はその他の同等の集積回路又は個別論理回路、によって実行することができる。
一例として、ただし制限することなしに、該コンピュータによって読み取り可能な媒体は、RAM、例えば同期ダイナミックランダムアクセスメモリ(SDRAM)、読み取り専用メモリ(ROM)、非揮発性ランダムアクセスメモリ(NVRAM)、ROM、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、EEPROM、FLASHメモリ、CD−ROM、又はその他の光学ディスク記憶装置、磁気ディスク記憶装置又はその他の磁気記憶装置、又は希望されるプログラムコードを命令又は命令構造の形態で搬送又は格納するために用いることができ及びコンピュータによってアクセス可能であるその他のあらゆる有形な媒体を備えることができる。
幾つかの側面及び例が説明されている。しかしながら、これらの例の様々な修正が可能であり、さらに、ここにおいて提示される原理は、その他の側面に対しても同様に適用することができる。これらの及びその他の側面は、以下の請求項の適用範囲内である。

Claims (40)

  1. デジタル映像データを処理するための方法であって、
    量子化されたときにゼロでないままである画素ブロックの残差データに関する1つ以上の変換係数を識別することと、
    少なくとも前記識別された変換係数に基づいて前記残差データのコーディングと関連づけられたビット数を推定することと、
    前記残差データをコーディングすることと関連づけられた少なくとも前記推定されたビット数に基づいて前記画素ブロックをコーディングするためのコーディングコストを推定すること、とを備える、方法。
  2. 前記変換係数を識別することは、前記変換係数の各々を複数のしきい値のうちの対応する1つと比較して量子化されたときにゼロでないままである前記変換係数を識別することを備え、前記複数のしきい値の各々は、量子化パラメータ(QP)の関数として計算される請求項1に記載の方法。
  3. 前記変換係数の各々を複数のしきい値のうちの対応する1つと比較して量子化されたときにゼロでないままである前記変換係数を識別することは、対応するしきい値よりも小さい前記変換係数を、量子化されたときにゼロでないままである変換係数として識別することを備える請求項2に記載の方法。
  4. 複数の組のしきい値を予め計算することであって、前記しきい値の組の各々は、前記QPの異なる値に対応することと、
    前記画素ブロックを符号化するために用いられる前記QPの前記値に基づいて前記複数のしきい値の組のうちの1つを選択すること、とをさらに備える請求項2に記載の方法。
  5. 前記残差データをコーディングすることと関連づけられた前記ビット数を推定することは、
    量子化されたときにゼロでないままであるとして識別された前記変換係数の数を決定することと、
    量子化されたときにゼロでないままであるとして識別された前記変換係数のうちの少なくとも1つの絶対値を合計することと、
    ゼロでない変換係数の少なくとも前記決定された数及び前記少なくとも1つのゼロでない変換係数の前記絶対値の和に基づいて前記残差データのコーディングと関連づけられた前記ビット数を推定すること、とを備える請求項1に記載の方法。
  6. 前記残差データのコーディングと関連づけられた前記ビット数を推定することは、少なくとも2つのブロックモードの各々において前記残差データをコーディングするために要求されるビット数を推定することを備え、前記コーディングコストを推定することは、前記少なくとも2つのブロックモードの各々において、前記ブロックモードのうちの前記各々の1つにおける少なくとも前記推定されたビット数に基づいて前記コーディングコストを推定することを備え、前記モードの各々に関して少なくとも前記推定されたコーディングコストに基づいて前記ブロックモードのうちの1つを選択することをさらに備える請求項1に記載の方法。
  7. 前記モードの各々に関して、前記残差データのコーディングと関連づけられた少なくとも前記推定されたビット数を用いて前記画素ブロックをコーディングするための総コーディングコストを推定することと、
    前記複数のモードのうちで最低の推定された総コーディングコストを有するモードを選択することと、
    前記選択されたモードを適用して前記画素ブロックをコーディングすること、とをさらに備える請求項6に記載の方法。
  8. 前記総コーディングコストを推定することは、
    前記画素ブロックに関する歪みメトリックを計算することと、
    前記画素ブロックの非残差データのコーディングと関連づけられたビット数を計算することと、
    少なくとも前記歪みメトリック、前記非残差データのコーディングと関連づけられた前記ビット数、及び前記残差データのコーディングと関連づけられた前記ビット数に基づいて前記画素ブロックをコーディングするための前記総コーディングコストを推定すること、とを備える請求項7に記載の方法。
  9. 前記残差データのコーディングと関連づけられた少なくとも前記推定されたビット数に基づいてコーディングコーディングを選択することと、
    前記コーディングモードを選択後に前記残差データに関する前記変換係数を量子化することと、
    前記残差データに関する前記量子化された変換係数を符号化することと、
    前記残差データに関する前記符号化された係数を送信すること、とをさらに備える請求項1に記載の方法。
  10. 前記変換係数の行列を生成することであって、前記変換係数行列の行数は、前記ブロック内における画素の行数と等しく、前記変換係数行列の列数は、前記ブロック内における画素の列数と等しいことと、
    前記変換係数行列をしきい値行列と比較することであって、前記しきい値行列は、前記変換係数行列の次元と同じ次元を有し、前記比較は、1及びゼロの行列が得られ、前記ゼロは、量子化後にゼロになる前記変換係数行列内の位置を表し、前記1は、量子化後にゼロでないままである前記変換係数行列内の位置を表すことと、
    前記1及びゼロの行列内における1の数を合計して量子化時にゼロでないままであるとして識別された前記変換係数の数を計算することと、
    前記1及びゼロの行列内の前記1の位置に対応する前記変換係数行列内の前記変換係数のうちの少なくとも1つの絶対値を合計することと、
    少なくとも前記ゼロでない変換係数の数及び前記少なくとも1つのゼロでない変換係数の和に基づいて前記残差データのコーディングと関連づけられた前記ビット数を推定すること、とをさらに備える請求項1に記載の方法。
  11. デジタル映像データを処理するための装置であって、
    画素ブロックの残差データに関する変換係数を生成する変換モジュールと、
    量子化されたときにゼロでないままである前記変換係数のうちの1つ以上を識別し及び少なくとも前記識別された変換係数に基づいて前記残差データのコーディングと関連づけられたビット数を推定するビット推定モジュールと、
    前記残差データをコーディングすることと関連づけられた少なくとも前記推定されたビット数に基づいて前記画素ブロックをコーディングするためのコーディングコストを推定する制御モジュールと、を備える、装置。
  12. 前記ビット推定モジュールは、前記変換係数の各々を複数のしきい値のうちの対応する1つと比較して量子化されたときにゼロでないままである変換係数を識別し、前記複数のしきい値の各々は、量子化パラメータ(QP)の関数として計算される請求項11に記載の装置。
  13. 前記ビット推定モジュールは、対応するしきい値よりも小さい前記変換係数を、量子化されたときにゼロでないままである変換係数として識別する請求項12に記載の装置。
  14. 前記ビット推定モジュールは、複数の組のしきい値を予め計算し、前記しきい値の組の各々は、前記QPの異なる値に対応し、前記しきい値の組の各々は、前記QPの異なる値に対応し、前記画素ブロックを符号化するために用いられる前記QPの前記値に基づいて前記複数のしきい値の組のうちの1つを選択する請求項12に記載の装置。
  15. 前記ビット推定モジュールは、量子化されたときにゼロでないままであるとして識別された前記変換係数の数を決定し、量子化されたときにゼロでないままであるとして識別された前記変換係数のうちの少なくとも1つの絶対値を合計し及びゼロでない変換係数の少なくとも前記決定された数及び前記少なくとも1つのゼロでない変換係数の前記絶対値の和に基づいて前記残差データのコーディングと関連づけられた前記ビット数を推定する請求項11に記載の装置。
  16. 前記ビット推定モジュールは、少なくとも2つのブロックモードの各々における前記残差データのコーディングと関連づけられた前記ビット数を推定し、
    前記制御モジュールは、前記少なくとも2つのブロックモードのうちの各々の1つにおける少なくとも前記推定されたビット数に基づいて前記ブロックの各々に関するコーディングコストを推定し、及び前記モードの各々に関して少なくとも前記推定されたコーディングコストに基づいて前記ブロックモードのうちの1つを選択する請求項11に記載の装置。
  17. 前記制御モジュールは、前記モードの各々に関して、前記残差データのコーディングと関連づけられた少なくとも前記推定されたビット数を用いて前記画素ブロックをコーディングするための総コーディングコストを推定し、前記複数のモードのうちで最低の推定された総コーディングコストを有するモードを選択し、及び前記選択されたモードを適用して前記画素ブロックをコーディングする請求項16に記載の装置。
  18. 前記制御モジュールは、前記画素ブロックに関する歪みメトリックを計算し、前記画素ブロックの非残差データのコーディングと関連づけられたビット数を計算し及び少なくとも前記歪みメトリック、前記非残差データのコーディングと関連づけられたビット数及び前記残差データのコーディングと関連づけられた前記ビット数に基づいて前記画素ブロックをコーディングするための前記総コーディングコストを推定する請求項17に記載の装置。
  19. 前記残差データをコーディングすることと関連づけられた少なくとも前記推定されたビット数に基づいてコーディングモードを選択する制御モジュールと、
    前記コーディングモードの選択後に前記残差データに関する前記変換係数を量子化する量子化モジュールと、
    前記残差データに関する前記量子化された変換係数を符号化するエントロピー符号化モジュールと、
    前記残差データに関する前記符号化された係数を送信する送信機と、をさらに備える請求項11に記載の装置。
  20. 前記変換モジュールは、前記変換係数の行列を生成し、前記変換係数行列の行数は、前記ブロック内における画素の行数と等しく、前記変換係数行列の列数は、前記ブロック内における画素の列数と等しく、
    前記ビット推定モジュールは、前記変換係数行列をしきい値行列と比較し、前記しきい値行列は、前記変換係数行列の次元と同じ次元を有し、前記比較は、1及びゼロの行列が得られ、前記ゼロは、量子化後にゼロになる前記変換係数行列内の位置を表し、前記1は、量子化後にゼロでないままである前記変換係数行列内の位置を表し、
    前記ビット推定モジュールは、前記1及びゼロの行列内における1の数を合計して量子化されたときにゼロでないままであるとして識別された前記変換係数の数を計算し、前記1及びゼロの行列内の前記1の位置に対応する前記変換係数行列内の前記変換係数のうちの少なくとも1つの絶対値を合計し、及び少なくとも前記ゼロでない変換係数の数及び前記少なくとも1つのゼロでない変換係数の和に基づいて前記残差データのコーディングと関連づけられた前記ビット数を推定する請求項11に記載の装置。
  21. デジタル映像データを処理するための装置であって、
    量子化されたときにゼロでないままである画素ブロックの残差データに関する1つ以上の変換係数を識別するための手段と、
    少なくとも前記識別された変換係数に基づいて前記残差データのコーディングと関連づけられたビット数を推定するための手段と、
    前記残差データをコーディングすることと関連づけられた少なくとも前記推定されたビット数に基づいて前記画素ブロックをコーディングするためのコーディングコストを推定するための手段と、を備える、装置。
  22. 前記識別する手段は、前記変換係数の各々を複数のしきい値のうちの対応する1つと比較して量子化されたときにゼロでないままである変換係数を識別し、前記複数のしきい値の各々は、量子化パラメータ(QP)の関数として計算される請求項21に記載の装置。
  23. 前記識別する手段は、対応するしきい値よりも小さい前記変換係数を、量子化されたときにゼロでないままである変換係数として識別する請求項22に記載の装置。
  24. 複数の組のしきい値を予め計算するための手段であって、前記しきい値の組の各々は、前記QPの異なる値に対応する手段と、
    前記画素ブロックを符号化するために用いられる前記QPの前記値に基づいて前記複数のしきい値の組のうちの1つを選択するための手段と、をさらに備える請求項22に記載の装置。
  25. 前記推定する手段は、量子化されたときにゼロでないままであるとして識別された前記変換係数の数を決定し、量子化されたときにゼロでないままであるとして識別された前記変換係数のうちの少なくとも1つの絶対値を合計し、及びゼロでない変換係数の少なくとも前記決定された数及び前記少なくとも1つのゼロでない変換係数の前記絶対値の和に基づいて前記残差データのコーディングと関連づけられた前記ビット数を推定する請求項21に記載の装置。
  26. 前記ビット推定手段は、少なくとも2つのブロックモードの各々における前記残差データのコーディングと関連づけられたビット数を推定し、及び前記コーディングコスト推定手段は、前記少なくとも2つのブロックモードのうちの各々の1つにおける少なくとも前記推定されたビット数に基づいて前記ブロックモードの各々に関するコーディングコストを推定し、及び前記ブロックモードの各々に関して少なくとも前記推定されたビット数に基づいて前記ブロックモードのうちの1つを選択するための手段をさらに備える請求項21に記載の装置。
  27. 前記モードの各々に関して、前記残差データのコーディングと関連づけられた少なくとも前記推定されたビット数を用いて前記画素ブロックをコーディングするための総コーディングコストを推定するための手段をさらに備え、前記選択する手段は、前記複数のモードのうちで最低の推定された総コーディングコストを有するモードを選択する請求項26に記載の装置。
  28. 前記コーディングコスト推定手段は、前記画素ブロックに関する歪みメトリックを計算し、前記画素ブロックの非残差データのコーディングと関連づけられたビット数を計算し、及び少なくとも前記歪みメトリック、前記非残差データのコーディングと関連づけられた前記ビット数及び前記残差データのコーディングと関連づけられた前記ビット数に基づいて前記画素ブロックをコーディングするための前記総コーディングコストを推定する請求項27に記載の装置。
  29. 前記残差データのコーディングと関連づけられた少なくとも前記推定されたビット数に基づいてコーディングモードを選択するための手段と、
    前記コーディングモードを選択後に前記残差データに関する前記変換係数を量子化するための手段と、
    前記残差データに関する前記量子化された変換係数を符号化するための手段と、
    前記残差データに関する前記符号化された係数を送信するための手段と、をさらに備える請求項21に記載の装置。
  30. 前記変換係数の行列を生成するための手段をさらに備え、前記変換係数行列の行数は、前記ブロック内における画素の行数と等しく、前記変換係数行列の列数は、前記ブロック内における画素の列数と等しく、
    前記識別する手段は、前記変換係数行列をしきい値行列と比較し、前記しきい値行列は、前記変換係数行列の次元と同じ次元を有し、前記比較は、1及びゼロの行列が得られ、前記ゼロは、量子化後にゼロになる前記変換係数行列内の位置を表し、前記1は、量子化後にゼロでないままである前記変換係数行列内の位置を表し、
    前記推定する手段は、前記1及びゼロの行列内における1の数を合計して量子化されたときにゼロでないままであるとして識別された前記変換係数の数を計算し、前記1及びゼロの行列内の前記1の位置に対応する前記変換係数行列内の前記変換係数のうちの少なくとも1つの絶対値を合計し、及び少なくとも前記ゼロでない変換係数の数及び前記少なくとも1つのゼロでない変換係数の和に基づいて前記残差データのコーディングと関連づけられた前記ビット数を推定する請求項21に記載の装置。
  31. 命令が格納されているコンピュータによって読み取り可能な媒体を備える、デジタル映像データを処理するためのコンピュータプログラム製品であって、前記命令は、
    量子化されたときにゼロでないままである画素ブロックの残差データに関する1つ以上の変換係数を識別するための符号と、
    少なくとも前記識別された変換係数に基づいて前記残差データのコーディングと関連づけられたビット数を推定するための符号と、
    前記残差データをコーディングすることと関連づけられた少なくとも前記推定されたビット数に基づいて前記画素ブロックをコーディングするためのコーディングコストを推定するための符号と、を備える、コンピュータプログラム製品。
  32. 前記変換係数を識別するための符号は、前記変換係数の各々を複数のしきい値のうちの対応する1つと比較して量子化されたときにゼロでないままである変換係数を識別し、前記複数のしきい値の各々は、量子化パラメータ(QP)の関数として計算される請求項31に記載のコンピュータプログラム製品。
  33. 前記変換係数の各々を複数のしきい値のうちの対応する1つと比較して量子化されたときにゼロでないままである変換係数を識別するための符号は、対応するしきい値よりも小さい前記変換係数を、量子化されたときにゼロでないままである変換係数として識別するための符号を備える請求項32に記載のコンピュータプログラム製品。
  34. 複数の組のしきい値を予め計算するための符号であって、前記しきい値の組の各々は、前記QPの異なる値に対応する符号と、
    前記画素ブロックを符号化するために用いられる前記QPの前記値に基づいて前記複数のしきい値の組のうちの1つを選択するための符号と、をさらに備える請求項32に記載のコンピュータプログラム製品。
  35. 前記残差データのコーディングと関連づけられた前記ビット数を推定するための符号は、
    量子化されたときにゼロでないままであるとして識別された前記変換係数の数を決定するための符号と、
    量子化されたときにゼロでないままであるとして識別された前記変換係数のうちの少なくとも1つの絶対値を合計するための符号と、
    ゼロでない変換係数の少なくとも前記決定された数及び前記少なくとも1つのゼロでない変換係数の前記絶対値の和に基づいて前記残差データのコーディングと関連づけられた前記ビット数を推定するための符号と、を備える請求項31に記載のコンピュータプログラム製品。
  36. 前記残差データのコーディングと関連づけられた前記ビット数を推定するための符号は、少なくとも2つのブロックモードのうちの各々における前記残差データのコーディングと関連づけられたビット数を推定するための符号を備え、及び前記コーディングコストを推定するための符号は、前記ブロックモードのうちの各々の1つにおける少なくとも前記推定されたビット数に基づいて前記少なくとも2つのブロックノードの各々に関する前記コーディングコストを推定するための符号を備え、及び前記ブロックモードの各々に関して少なくとも前記推定されたビット数に基づいて前記ブロックモードのうちの1つを選択するための符号をさらに備える請求項31に記載のコンピュータプログラム製品。
  37. 前記モードの各々に関して、前記残差データのコーディングと関連づけられた少なくとも前記推定されたビット数を用いて前記画素ブロックをコーディングするための総コーディングコストを推定するための符号と、
    前記複数のモードのうちで最低の推定された総コーディングコストを有するモードを選択するための符号と、
    前記選択されたモードを適用して前記画素ブロックをコーディングするための符号と、をさらに備える請求項36に記載のコンピュータプログラム製品。
  38. 前記総コーディングコストを推定するための符号は、
    前記画素ブロックに関する歪みメトリックを計算するための符号と、
    前記画素ブロックの非残差データのコーディングと関連づけられたビット数を計算するための符号と、
    少なくとも前記歪みメトリック、前記非残差データのコーディングと関連づけられた前記ビット数及び前記残差データのコーディングと関連づけられた前記ビット数に基づいて前記画素ブロックをコーディングするための前記総コーディングコストを推定するための符号と、を備える請求項37に記載のコンピュータプログラム製品。
  39. 前記残差データのコーディングと関連づけられた少なくとも前記推定されたビット数に基づいてコーディングモードを選択するための符号と、
    前記コーディングモードを選択後に前記残差データに関する前記変換係数を量子化するための符号と、
    前記残差データに関する前記量子化された変換係数を符号化するための符号と、
    前記残差データに関する前記符号化された係数を送信するための符号と、をさらに備える請求項31に記載のコンピュータプログラム製品。
  40. 前記変換係数の行列を生成するための符号であって、前記変換係数行列の行数は、前記ブロック内における画素の行数と等しく、前記変換係数行列の列数は、前記ブロック内における画素の列数と等しい符号と、
    前記変換係数行列をしきい値行列と比較するための符号であって、前記しきい値行列は、前記変換係数行列の次元と同じ次元を有し、前記比較は、1及びゼロの行列が得られ、前記ゼロは、量子化後にゼロになる前記変換係数行列内の位置を表し、前記1は、量子化後にゼロでないままである前記変換係数行列内の位置を表す符号と、
    前記1及びゼロの行列内における1の数を合計して量子化されたときにゼロでないままであるとして識別された前記変換係数の数を計算するための符号と、
    前記1及びゼロの行列内における前記1の位置に対応する前記変換係数行列内の前記変換係数のうちの少なくとも1つの絶対値を合計するための符号と、
    少なくとも前記ゼロでない変換係数の数及び前記少なくとも1つのゼロでない変換係数の和に基づいて前記残差データのコーディングと関連づけられた前記ビット数を推定するための符号と、をさらに備える請求項31に記載のコンピュータプログラム製品。
JP2010507374A 2007-05-04 2007-05-04 推定されたコーディングコストを用いた映像コーディングモード選択 Ceased JP2010526515A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2007/068307 WO2008136828A1 (en) 2007-05-04 2007-05-04 Video coding mode selection using estimated coding costs

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013161889A Division JP5684342B2 (ja) 2013-08-02 2013-08-02 デジタル映像データを処理するための方法および装置

Publications (1)

Publication Number Publication Date
JP2010526515A true JP2010526515A (ja) 2010-07-29

Family

ID=39145223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010507374A Ceased JP2010526515A (ja) 2007-05-04 2007-05-04 推定されたコーディングコストを用いた映像コーディングモード選択

Country Status (5)

Country Link
EP (1) EP2156672A1 (ja)
JP (1) JP2010526515A (ja)
KR (2) KR20120031529A (ja)
CN (1) CN101663895B (ja)
WO (1) WO2008136828A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023067822A1 (ja) * 2021-10-22 2023-04-27 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法および映像システム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8891615B2 (en) 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders
US9008171B2 (en) 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
US10397577B2 (en) * 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
CN107529708B (zh) * 2011-06-16 2019-05-07 Ge视频压缩有限责任公司 解码器、编码器、解码和编码视频的方法及存储介质
US9332259B2 (en) 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
KR102126855B1 (ko) * 2013-02-15 2020-06-26 한국전자통신연구원 부호화 모드 결정 방법 및 장치
KR102229386B1 (ko) * 2014-12-26 2021-03-22 한국전자통신연구원 영상 부호화 장치 및 방법
WO2020153506A1 (ko) * 2019-01-21 2020-07-30 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0646268A (ja) * 1992-07-24 1994-02-18 Chinon Ind Inc 符号量制御装置
JP2006140758A (ja) * 2004-11-12 2006-06-01 Toshiba Corp 動画像符号化方法、動画像符号化装置および動画像符号化プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2753330B1 (fr) * 1996-09-06 1998-11-27 Thomson Multimedia Sa Procede de quantification pour codage video
NO318318B1 (no) * 2003-06-27 2005-02-28 Tandberg Telecom As Fremgangsmate for forbedret koding av video
JP4146444B2 (ja) * 2005-03-16 2008-09-10 株式会社東芝 動画像符号化の方法及び装置
CN100348051C (zh) * 2005-03-31 2007-11-07 华中科技大学 一种增强型帧内预测模式编码方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0646268A (ja) * 1992-07-24 1994-02-18 Chinon Ind Inc 符号量制御装置
JP2006140758A (ja) * 2004-11-12 2006-06-01 Toshiba Corp 動画像符号化方法、動画像符号化装置および動画像符号化プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN5010007477; QUQING CHEN,YUN HE: 'A Fast Bits Estimation Method for Rate-Distortion Optimization in H.264/AVC' PROCEEDINGS OF THE PICTURE CODING SYMPOSIUM , 20041215, P133-137 *
JPN5010007478; QIANG WANG,DEBIN ZHAO,WEN GAO,SIWEI MA: 'Low Complexity RDO Mode Decision Based on a Fast Coding-Bits Estimation Model For H.264/AVC' ISCAS 2005 , 20050523, P3467-3470, IEEE *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023067822A1 (ja) * 2021-10-22 2023-04-27 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法および映像システム

Also Published As

Publication number Publication date
EP2156672A1 (en) 2010-02-24
KR20100005240A (ko) 2010-01-14
KR101166732B1 (ko) 2012-07-19
KR20120031529A (ko) 2012-04-03
CN101663895B (zh) 2013-05-01
WO2008136828A1 (en) 2008-11-13
CN101663895A (zh) 2010-03-03

Similar Documents

Publication Publication Date Title
US8150172B2 (en) Video coding mode selection using estimated coding costs
JP6672226B2 (ja) 大型マクロ・ブロックを用いたビデオ・コーディング
JP5925416B2 (ja) ビデオブロックヘッダ情報の適応可能なコーディング
JP6042470B2 (ja) ビデオコーディングのための適応動き解像度
EP2704442B1 (en) Template matching for video coding
US8995527B2 (en) Block type signalling in video coding
JP5461193B2 (ja) 他のコーディングモードの情報を使用したコーディングモードの選択
RU2502218C2 (ru) Кодирование видео при помощи больших макроблоков
KR101377883B1 (ko) 비디오 인코딩에서 넌-제로 라운딩 및 예측 모드 선택 기법들
US20100086049A1 (en) Video coding using transforms bigger than 4x4 and 8x8
US20100329342A1 (en) Video coding based on first order prediction and pre-defined second order prediction mode
JP2010526515A (ja) 推定されたコーディングコストを用いた映像コーディングモード選択
JP5684342B2 (ja) デジタル映像データを処理するための方法および装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100506

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100506

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120815

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120822

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121015

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121022

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130402

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130802

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130812

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20140317

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20140404