JP5461193B2 - 他のコーディングモードの情報を使用したコーディングモードの選択 - Google Patents

他のコーディングモードの情報を使用したコーディングモードの選択 Download PDF

Info

Publication number
JP5461193B2
JP5461193B2 JP2009543288A JP2009543288A JP5461193B2 JP 5461193 B2 JP5461193 B2 JP 5461193B2 JP 2009543288 A JP2009543288 A JP 2009543288A JP 2009543288 A JP2009543288 A JP 2009543288A JP 5461193 B2 JP5461193 B2 JP 5461193B2
Authority
JP
Japan
Prior art keywords
coding mode
block
pixels
encoded
partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009543288A
Other languages
English (en)
Other versions
JP2010515305A (ja
Inventor
コーシク、ビノド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2010515305A publication Critical patent/JP2010515305A/ja
Application granted granted Critical
Publication of JP5461193B2 publication Critical patent/JP5461193B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

優先権の主張
本願は、この譲受人に譲渡され、すべての目的のために参照によりここにおいて完全に組み込まれている、2006年12月22日に出願された「ハイブリッドビデオ圧縮におけるスキップモード検出のための方法および装置(Method and Apparatus for Skip Mode Detection in Hybrid Video Compression)」と題された米国仮出願第60/871,660号の優先権の利益を主張する。
本開示は、マルチメディア符号化に関し、より詳細には、コーディングモード(coding mode)の選択についての技法に関する。
背景
デジタルテレビジョン、デジタル直接ブロードキャストシステム、ワイヤレス通信デバイス、パーソナルデジタルアシスタント(personal digital assistant)(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、ビデオゲームコンソール、デジタルカメラ、デジタル記録デバイス、セルラまたは衛星の無線電話などを含めて、デジタルビデオ機能は、広範囲のデバイスに組み込まれることができる。デジタルビデオデバイスは、ビデオシーケンスを処理し、送信する際に従来のアナログビデオシステムより優れたかなりの改善を提供することができる。
異なるビデオコーディング規格が、デジタルビデオシーケンスを符号化するために確立されてきている。例えば、ムービングピクチャエキスパートグループ(Moving Picture Experts Group)(MPEG)は、MPEG−1、MPEG−2およびMPEG−4を含めて、いくつかの規格を開発してきている。他の例は、国際電気通信連合(International Telecommunication Union)(ITU)−T H.263規格と、ITU−T H.264規格と、それに対応するもの、ISO/IEC MPEG−4、パート10、すなわちアドバンスドビデオコーディング(Advanced Video Coding)(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のサブブロックが、マクロブロック内に含まれることができる。
本開示のある種の態様においては、マルチメディアデータを処理するための方法は、現在のフレームのピクセルの1ブロックの第1のパーティション(a first partition of a block of pixels of a current frame)についての、第1のコーディングモードに関連する情報を取得すること(obtaining)と;ピクセルのブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報を取得することと、なお、その少なくとも1つの他のパーティションは第1のパーティションとは異なる;少なくとも1つの他のコーディングモードに関連する少なくとも情報を使用して、第1のコーディングモードでピクセルのブロックが符号化されるべきかどうか、を決定することと;を備える。
本開示のある種の態様においては、ビデオデータを処理するための装置は、メモリと、そのメモリから、現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報と、ピクセルのブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報と、を取得し、そして、少なくとも1つの他のコーディングモードに関連する少なくとも情報を使用して、第1のコーディングモードでピクセルのブロックが符号化されるべきかどうか、を決定する制御モジュールと、を備える。少なくとも1つの他のパーティションは、第1のパーティションとは異なる。
本開示のある種の態様においては、ビデオデータを処理するための装置は、現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報を取得するための手段と;ピクセルのブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報を取得するための手段と、なお、その少なくとも1つの他のパーティションは第1のパーティションモードとは異なる;少なくとも1つの他のコーディングモードに関連する少なくとも情報を使用して、第1のコーディングモードでピクセルのブロックが符号化されるべきかどうか、を決定するための手段と;を備える。
本開示のある種の態様においては、マルチメディアデータを処理するためのコンピュータプログラムプロダクト(computer-program product)は、命令を有するコンピュータ可読媒体(computer readable medium)を備える。本命令は、現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報を取得するためのコードと;ピクセルのブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報を取得するためのコードと、なお、その少なくとも1つの他のパーティションは第1のパーティションモードとは異なる;少なくとも1つの他のコーディングモードに関連する少なくとも情報を使用して、第1のコーディングモードでピクセルのブロックが符号化されるべきかどうか、を決定するためのコードと;を含む。
本開示のある種の態様においては、ビデオデータを処理するためのワイヤレス通信デバイスハンドセット(wireless communication device handsets)は、現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報と、ピクセルのブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報と、を取得し、ピクセルのブロックが、少なくとも1つの他のコーディングモードに関連する少なくとも情報を使用して第1のコーディングモードで符号化されるべきかどうかを決定し、そして、第1のコーディングモードでピクセルのブロックを符号化する、符号化モジュール(encoding module)と、なお、その少なくとも1つの他のパーティションは、第1のパーティションとは異なる;ピクセルの符号化されたブロックを送信するためのトランスミッタと;を備える。
本開示において説明される技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せの形でインプリメントされる(implemented)ことができる。ソフトウェアの形でインプリメントされる場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路(application specific integrated circuit)(ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array)(FPGA)、デジタル信号プロセッサ(digital signal processor)(DSP)のような、1つまたは複数のプロセッサに適用されうるプロセッサ、あるいは、他の等価な、一体化された、または個別の論理回路、において実行されることができる。本技法を実行するソフトウェアは、最初にコンピュータ可読媒体に記憶され、そしてプロセッサによってロードされ、実行されることができる。したがって、本開示はまた、プロセッサに、本開示において説明されるような様々な技法のうちのどれでも実行するようにさせる命令を備えるコンピュータ可読媒体も考慮している。いくつかの場合においては、コンピュータ可読媒体は、コンピュータプログラムプロダクトの一部分を形成することができ、このコンピュータプログラムプロダクトは、製造業者に対して販売され、かつ/またはデバイスの中で使用されることができる。コンピュータプログラムプロダクトは、コンピュータ可読媒体を含むことができ、そしていくつかの場合においては、パッケージング材料を含むこともできる。
1つまたは複数の例についての詳細は、添付図面と、下記の説明との中で述べられる。他の特徴、目的、および利点は、説明および図面から、そして特許請求の範囲から明らかであろう。
図1は、ここにおいて説明される技法に従ってコーディングモードの選択を使用するマルチメディアコーディングシステムを示すブロック図である。 図2は、図1のコーディングシステムに関連する符号化モジュールを示すブロック図である。 図3は、本開示の技法に従ってピクセルの1ブロックについてのコーディングモードを解析する符号化モジュールの例示のオペレーションを示す流れ図である。 図4は、少なくとも1つの他のコーディングモードに関連する情報を使用してコーディングモードについての決定を行う符号化モジュールの例示のオペレーション(operation)を示す流れ図である。 図5は、本開示の技法に従ってSKIPモード検出を実行する符号化モジュールの例示のオペレーションを示す流れ図である。
詳細な説明
高圧縮効率を提供するために、符号化デバイスは、複数のコーディングモードをサポートすることができる。コーディングモードのおのおのは、異なるコーディング技法および/またはピクセルの1ブロックのパーティションに対応することができる。例えば、国際電気通信連合(ITU)−T H.264規格の場合においては、複数のインターコーディングモード(inter-coding modes)と、イントラコーディングモード(intra-coding modes)とが、存在している。インターコーディングモードは、SKIPモードと、DIRECTモードと、16×16モードと、16×8モードと、8×16モードと、8×8モードと、8×4モードと、4×8モードと、4×4モードと、を含む。インターコーディングモードは、1つまたは複数の他の以前および/または後続の、時間的に位置するフレームの少なくとも一部分に関連してピクセルのブロックを符号化するインターコーディング技法を使用する。さらに、インターコーディング技法は、ピクセルのブロックの可変なサイズのパーティションに対応することができる。SKIPモードは、16×16のパーティションに対応するが、符号化デバイスは、SKIPモードにおいて任意の動き情報(motion information)または残留情報(residual information)を符号化することはない。DIRECTモードは、16×16のパーティション、または8×8のパーティションのいずれかに対応する。
イントラコーディングモードは、9つの可能な補間方向が存在するINTRA4×4モードと、4つの可能な補間方向が存在するINTRA16×16モードと、を含む。イントラコーディングモードは、他の時間的に位置する任意のフレームと関連なしにピクセルのブロックを符号化するイントラコーディング技法を使用する。インターコーディングモードと同様に、イントラコーディングモードは、ピクセルのブロックの可変なサイズのパーティションに対応する。
符号化デバイスは、ピクセルの各ブロックについて、使用可能なコーディングモードの少なくとも一部分を解析し、そして最も高い圧縮効率で、ピクセルのブロックを符号化する、コーディングモードのうちの1つを選択する。本開示の技法に従って、符号化デバイスは、異なるブロックパーティションを有する少なくとも1つの他のコーディングモードに関連する情報を使用して1つまたは複数のコーディングモードを解析する。換言すれば、符号化デバイスは、選択について現在考慮されているコーディングモードのブロックパーティションとは異なる1ブロックパーティション(a block partition)を有する少なくとも1つの他のコーディングモードに関連する情報を使用して選択について現在考慮されているコーディングモードを使用してピクセルのブロックを符号化すべきか否かを決定することができる。符号化デバイスは、さらに、少なくとも1つの他のコーディングモードに関連する情報に加えて、選択について現在考慮されているコーディングモードに関連する情報を使用することができる。特定のコーディングモードに関連する情報は、ブロックが、その特定のコーディングモードを使用して符号化された場合には、生成されることになる情報とすることができる。例えば、特定のコーディングモードに関連する情報は、ブロックが、特定のコーディングモードを使用して符号化された場合には、生成されることになる動き情報、参照情報(reference information)、残留情報、および/または他の情報を含むことができる。
そのような技法は、例えば、ピクセルのブロックについてコーディングモードのうちの1つを選択するために使用されることができる。代わりに、本技法は、符号化デバイスが選択することができる可能性のあるコーディングモードの数を低減させるために使用されることもできる。例えば、本技法は、ピクセルのブロックを符号化するために使用されることができるコーディングモードのうちの少なくとも一部分を削除するために使用されることができる。符号化デバイスは、そのときには、残りの可能性のあるコーディングモードについての、レート−ひずみ(rate-distortion)(R−D)コーディングコストを比較することなど、他のモード選択技法を使用することができる。いずれの場合においても、本開示のコーディングモード選択技法は、効果的なモード選択を実行し、かつ/またはより正確なモード選択をもたらすために必要とされる計算集約的な計算の量を低減させることができる。
図1は、ここにおいて説明される技法に従ってコーディングモード選択技法を使用するマルチメディアコーディングシステム10を示すブロック図である。マルチメディアコーディングシステム10は、ネットワーク16によって接続された符号化デバイス12と、復号化デバイス14と、を含む。符号化デバイス12は、少なくとも1つのソース18からデジタルマルチメディアシーケンスを取得し、そのデジタルマルチメディアシーケンスを符号化し、そしてその符号化されたシーケンスをネットワーク16上で復号化デバイス14へと送信する。
ある種の態様においては、ソース18は、例えば、衛星を経由して、デジタルマルチメディアシーケンスをブロードキャストする1つまたは複数のビデオコンテンツプロバイダ(video content providers)を備えることができる。他の態様においては、ソース18は、デジタルマルチメディアシーケンスを取り込むイメージキャプチャデバイス(image capture device)を備えることができる。この場合においては、イメージキャプチャデバイスは、符号化デバイス12内に一体化され、あるいは符号化デバイス12に結合されることができる。ソース18はまた、符号化デバイス12内のメモリまたはアーカイブ(archive)とし、あるいは符号化デバイス12に結合されることもできる。
ソース18から受け取られるマルチメディアシーケンスは、ブロードキャストまたはオンデマンドとして符号化され、そして送信されるべきライブのリアルタイムの、もしくはリアルタイムに近いビデオおよび/またはオーディオのシーケンスを備えることができ、あるいはブロードキャストまたはオンデマンドとして符号化され、そして送信されるべきあらかじめ記録され、そして記憶されたビデオおよび/またはオーディオのシーケンスを備えることができる。いくつかの態様においては、マルチメディアシーケンスの少なくとも一部分は、ゲーミング(gaming)の場合などにおいて、コンピュータにより生成されることができる。
ソース18から受け取られるデジタルマルチメディアシーケンスは、ピクチャのシーケンスの観点から説明されることができ、これらのピクチャは、フレーム(全体のピクチャ)またはフィールド(例えば、ピクチャの交互に並んだ奇数ラインまたは偶数ラインのフィールド)を含む。さらに、おのおののフレームまたはフィールドは、2つ以上のスライス、あるいはフレームまたはフィールドの小部分をさらに含むことができる。ここにおいて使用されるように、用語「フレーム」は、ピクチャ、フレーム、フィールド、またはそれらのスライスを意味することができる。
符号化デバイス12は、復号化デバイス14に対する送信のためにマルチメディアシーケンスを符号化する。符号化デバイス12は、ムービングピクチャエキスパートグループ(MPEG)−1、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264などのビデオ圧縮規格に応じてマルチメディアシーケンスを符号化することができ、このITU−T H.264は、MPEG−4、パート10、アドバンスドビデオコーディング(AVC)に対応している。そのような符号化の、そして拡張により復号化の方法は、送信および/または記憶のためにフレームの内容を圧縮する無損失又は損失の多い圧縮アルゴリズムを対象とすることができる。圧縮は、マルチメディアデータから冗長性を除去するプロセスとして広範に考えられることができる。
いくつかの態様においては、本開示は、2006年8月に技術規格TIA−1099(「FLO仕様」)として発行された順方向リンクオンリー(FLO)エアインターフェース仕様、「地上モバイルマルチメディアマルチキャストのための順方向リンクオンリーエアインターフェース仕様」(the Forward Link Only (FLO) Air Interface Specification, "Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast")を使用した地上モバイルマルチメディアマルチキャスト(terrestrial mobile multimedia multicast)(TM3)システムにおいてリアルタイムマルチメディアサービスを配信するための拡張H.264ビデオコーディングに対する適用を考慮している。しかしながら、本開示において説明されるコーディングモード選択技法は、特定の任意のタイプのブロードキャスト、マルチキャスト、ユニキャスト、またはポイントツーポイントのシステムだけには限定されない。
H.264/MPEG−4(AVC)規格は、ジョイントビデオチーム(Joint Video Team)(JVT)として知られている共同パートナーシップの産物としてISO/IECムービングピクチャエキスパートグループ(MPEG)と一緒にITU−Tビデオコーディングエキスパートグループ(Video Coding Experts Group)(VCEG)によって策定された。H.264規格は、ITU−Tスタディグループによる、2005年3月の日付のITU−T勧告(Recommendation)H.264、包括的なオーディオビジュアルサービスのためのアドバンスドビデオコーディングにおいて説明され、これは、ここにおいては、H.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と称されることができる。
JVTは、H.264/MPEG−4 AVCに対するスケーラブルビデオコーディング(scalable video coding)(SVC)拡張について作業し続けている。進化するSVC拡張の仕様は、共同ドラフト(Joint Draft)(JD)の形式である。JVTによって作成される共同スケーラブルビデオモデル(Joint Scalable Video Model)(JSVM)は、スケーラブルなビデオにおいて使用するためのツールをインプリメントし、これは、本開示において説明される様々なコーディングタスクのためのマルチメディアコーディングシステム10内で使用されることができる。微細細分性SNRスケーラビリティ(Fine Granularity SNR Scalability)(FGS)コーディングに関する詳細な情報は、共同ドラフト文書の中に、例えば共同ドラフト6(SVC JD6)、トーマス・ウィーガント、ゲーリー・サリバン、ジュリアン・ライヒェル、ヘイコ・シュワルツ、およびマティアス・ウィーン、「共同ドラフト6:スケーラブルビデオコーディング」、JVT−S 201、2006年4月、ジュネーブ(Joint Draft 6 (SVC JD6), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz, and Mathias Wien, "Joint Draft 6: Scalable Video Coding," JVT-S 201, April 2006, Geneva)の中に、そして共同ドラフト9(SVC JD9)、トーマス・ウィーガント、ゲーリー・サリバン、ジュリアン・ライヒェル、ヘイコ・シュワルツ、およびマティアス・ウィーン、「SVC修正案の共同ドラフト9」、JVT−V 201、2007年1月、マラケシュ、モロッコ(Joint Draft 9 (SVC JD9), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz, and Mathias Wien, "Joint Draft 9 of SVC Amendment," JVT-V 201, January 2007, Marrakech, Morocco)の中に見出されることができる。
図1に示されるように、符号化デバイス12は、符号化モジュール20と、トランスミッタ22とを含む。符号化モジュール20は、1つまたは複数のコーディング技法を使用してソース18から受け取られるシーケンスのフレームのおのおのを符号化する。例えば、符号化モジュール20は、イントラコーディング技法を使用して1つまたは複数のフレームを符号化することができる。多くの場合にイントラ(「I」)フレームと称される、イントラコーディング技法を使用して符号化されるフレームは、他のフレームと関連なしに符号化される。しかしながら、イントラコーディングを使用して符号化されるフレームは、同じフレームの中に位置する他のマルチメディアデータにおける冗長性を利用するために空間予測を使用することができる。
符号化モジュール20は、インターコーディング技法を使用して1つまたは複数のフレームを符号化することもできる。インターコーディング技法を使用して符号化されるフレームは、ここにおいて参照フレーム(reference frame)と称される1つまたは複数の他のフレームの少なくとも一部分に関連して符号化される。インターコーディング化された(inter-coded)フレームは、1つまたは複数の予測(predictive)(「P」)フレーム、双方向(bi-directional)(「B」)フレーム、またはそれらの組合せを含むことができる。Pフレームは、少なくとも1つの時間的先行フレームに関連して符号化されるが、Bフレームは、少なくとも1つの時間的将来フレームと、少なくとも1つの時間的先行フレームとに関連して符号化される。時間的先行フレームおよび/または時間的将来フレームは、参照フレームと称される。このようにして、インターコーディングは、時間的フレームを通して、マルチメディアデータの中の冗長性を利用する。
符号化モジュール20は、さらに、フレームをピクセルの複数のサブセットに分割することにより、シーケンスのフレームを符号化するように、そしてピクセルのサブセットのおのおのを別々に符号化するように、構成されることができる。ピクセルのこれらのサブセットは、ブロックまたはマクロブロックと称されることができる。符号化モジュール20は、さらに各ブロックを2つ以上のサブブロックへと再分割することができる。一例として、16×16のブロックは、4つの8×8のサブブロック、または他の再分割ブロックを備えることができる。例えば、H.264規格は、様々な異なるサイズ、例えば、16×16、16×8、8×16、8×8、8×4、4×8および4×4を有するブロックの符号化を可能にする。さらに拡張により、ブロックの再分割は、任意のサイズ、例えば、2×16、16×2、2×2、4×16、8×2などのサブブロックへと行われることができる。16個の行または列よりも大きな、または小さなブロックもまた、可能である。ここにおいて使用されるように、用語「ブロック」は、任意のサイズのブロックまたはサブブロックのいずれをも意味することができる。
符号化モジュール20は、複数のコーディングモードをサポートすることができる。上記に説明されるように、コーディングモードのおのおのは、異なるコーディング技法および/またはピクセルのブロックのパーティションに対応することができる。例えば、H.264規格の場合においては、符号化モジュール20は、いくつかのインターモード(例えば、SKIPモード、DIRECTモード、16×16モード、16×8モード、8×16モード、8×8モード、8×4モード、4×8モード、および4×4モード)と、いくつかのイントラモード(すなわち、INTRA 4×4モードおよびINTRA 16×16モード)と、をサポートする。符号化モジュール20は、ピクセルの各ブロックについて、使用可能なコーディングモードの少なくとも一部分を解析し、そして最高の圧縮効率でピクセルのブロックを符号化するコーディングモードを選択する。
選択について現在考慮されているコーディングモードでピクセルのブロックを符号化すべきか否かを決定するときに、符号化モジュール20は、選択について現在考慮されているコーディングモードのブロックパーティションとは異なるブロックパーティションを有する少なくとも1つの他のコーディングモードに関連する情報を使用することができる。符号化モジュール20は、選択について現在考慮されているコーディングモードに関連する情報、ならびに決定を行うべき他のコーディングモードに関連する情報に加えて、同じブロックパーティションを有するコーディングモードに関連する情報を使用することもできる。一態様においては、符号化モジュール20は、選択について現在考慮されているコーディングモードのピクセルのブロックのブロックパーティションまたはパーティションのサブパーティションであるブロックパーティションを有するコーディングモードに関連する情報を使用する。換言すれば、選択について現在考慮されているコーディングモードは、第1のブロックパーティションを有する。その情報が、選択について現在考慮されているコーディングモードで、ピクセルのブロックを符号化すべきかどうかの決定を行うために使用される他のコーディングモードは、第2のブロックパーティションを有する。第2のブロックパーティションは、第1のブロックパーティションのサブパーティションを含んでいる。例えば、符号化モジュール20は、インター16×16コーディングモード(inter 16x16 coding mode)に関する決定を行うために、インター8×8コーディングモード(inter 8x8 coding mode)に関連する情報を使用し、あるいはインター8×8コーディングモードに関する決定を行うためにインター4×8コーディングモード(inter 4x8 coding mode)を使用することができる。
上記に説明されるように、特定のコーディングモードに関連する情報は、ブロックが、その特定のコーディングモードを使用して符号化された場合に、生成されることになる情報とすることができる。例えば、特定のコーディングモードに関連する情報は、ブロックが、特定のコーディングモードを使用して符号化された場合に、生成されることになる動き情報、参照情報、残留情報、および/または他の情報を含むことができる。
そのような技法は、コーディングモードのうちの1つを選択するために使用されることができる。本開示の技法は、例えば、SKIPモード検出を実行するためにとりわけ有用とすることができる。しかしながら、本技法は、DIRECTモード、インタースクエアモード(Inter square mode)(例えば、16×16、8×8、または4×4)、インターレクタンギュラーモード(Inter rectangular modes)(例えば、16×8、8×16、8×4、または4×8)など、他のコーディングモードを選択する際に、そして一般に高速なモード決定のために、有用とすることもできる。代わりに、本技法は、符号化デバイスが選択することができる可能性のあるコーディングモードの数を低減させるために使用されることもできる。例えば、本技法は、ピクセルのブロックを符号化するために使用されることができるコーディングモードの少なくとも一部分を削除するために使用されることができる。いずれの場合においても、モード選択技法は、選択について現在考慮されているモードに関連する情報だけでなく、別のコーディングモードに関連する情報も解析することにより、より正確なモード選択をもたらすことができる。さらに、本開示のモード選択技法は、効果的なモード選択を実行するために必要とされる計算集約的な計算の量を低減させることができる。例えば、いくつかの場合においては、制御モジュール32は、現在解析されているコーディングモードに関連する情報を計算する必要がない可能性があり、このようにしてコーディングモードを選択するために必要とされる計算集約的な計算の数を低減させている。他の場合においては、本技法は、変換され、量子化され、そしてエントロピー符号化される必要のない情報を使用してモード選択を実行することにより、高価な計算の数を低減させることができる。
符号化デバイス12は、フレームのブロックを符号化するために、選択されたコーディングモードを適用し、そして符号化されたフレームをネットワーク16上でトランスミッタ22を経由して送信する。トランスミッタ22は、ネットワーク16上で符号化されたマルチメディアを送信する、適切なモデムおよびドライバ回路のソフトウェアおよび/またはファームウェアを含むことができる。ある種の態様においては、符号化デバイス12は、ある期間にわたって受信されるフレームを符号化し、組み合わせ、そして送信することができる。例えば、いくつかのマルチメディアコーディングシステムにおいては、マルチメディアデータの複数のフレームが、時に「スーパーフレーム」と称される、マルチメディアデータのセグメントへと一緒にグループ分けされる。ここにおいて使用されるように、用語「スーパーフレーム」は、データのセグメントを形成する期間またはウィンドウにわたって収集されるフレームのグループを意味する。FLO技術を利用するコーディングシステムにおいては、スーパーフレームは、データの1秒のセグメントを備えることができ、これは、名目上、30フレームを有することができる。しかしながら、スーパーフレームは、任意数のフレームを含むことができる。本技法は、固定期間であってもよく、またはそうでなくてもよい、異なる期間上で、あるいは個別のフレーム、またはデータのフレームの組について、受信されるデータのセグメントなどについて、データの他のセグメントを符号化することと、組み合わせることと、送信することとのために利用されることもできる。換言すれば、スーパーフレームは、1秒の期間よりも長い、または短い時間間隔、あるいは可変な時間間隔さえカバーするために定義されることができる。本開示全体を通して、マルチメディアデータの(例えば、スーパーフレームの概念に類似した)特定のセグメントは、特定のサイズおよび/または存続時間のマルチメディアデータの任意のチャンクを意味することに注意すべきである。
いくつかの態様においては、符号化デバイス12は、マルチメディアデータの1つまたは複数のチャネルをブロードキャストするために使用されるブロードキャストネットワークコンポーネントの一部分を形成することができる。したがって、符号化されたシーケンスのおのおのは、マルチメディアデータのチャネルに対応することができる。マルチメディアデータのチャネルのおのおのは、ベースレイヤと、もしかすると1つまたは複数の拡張レイヤと、を備えることができる。一例として、符号化デバイス12は、符号化されたマルチメディアデータの1つまたは複数のチャネルをワイヤレスデバイスに対してブロードキャストするために使用されるワイヤレス基地局、サーバ、または任意のインフラストラクチャノード(infrastructure node)の一部分を形成することができる。この場合においては、符号化デバイス12は、復号化デバイス14など、複数のワイヤレスデバイスに対して符号化されたデータを送信することができる。しかしながら、単一の復号化デバイス14が、簡単のために図1に示されている。他の態様においては、符号化デバイス12は、ビデオ電話または他の類似したアプリケーションについてのローカルに取り込まれたビデオを送信するハンドセットを備えることができる。例えば、符号化デバイス12は、デジタルテレビジョン、ワイヤレス通信デバイス、ゲーミングデバイス、ポータブルデジタルアシスタント(portable digital assistant)(PDA)、ラップトップコンピュータもしくはデスクトップコンピュータ、デジタル音楽およびビデオのプレーヤデバイス、またはセルラ−ベース、衛星−ベース、地上−ベースの無線電話などの無線電話、あるいはビデオおよび/またはオーディオのストリーミング、ビデオ電話技術、またはそれらの両方について装備された他のワイヤレスモバイル端末、の一部分としてインプリメントされることができる。換言すれば、符号化デバイス12は、ワイヤレス通信デバイスハンドセットの一部分としてインプリメントされることができる。他の態様においては、符号化デバイス12は、有線ネットワークに結合された有線デバイスを備えることもできる。
符号化デバイス12は、符号化されたシーケンスをネットワーク16上で復号するための復号化デバイス14に対して送信し、そしてもしかするとプレゼンテーションを復号化デバイス14のユーザに対して送信する。ネットワーク16は、1つまたは複数のイーサネット(登録商標)(Ethernet(登録商標))システム、単純な昔からの電話サービス(plain old telephone service)(例えば、POTS)システム、ケーブルシステム、パワーラインシステム(power line system)、光ファイバシステム、および/または1つまたは複数の符号分割多元接続(code division multiple access)(CDMAまたはCDMA2000)通信システム、周波数分割多元接続(frequency division multiple access)(FDMA)システム、直交周波数分割多元(orthogonal frequency division multiple)(OFDM)接続システム、汎用パケット無線サービス(General packet Radio Service)(GPRS/GSM)/拡張データGSM環境(enhanced data GSM environment)(EDGE)などの時分割多元接続(time division multiple access)(TDMA)システム、地上トランクド無線(Terrestrial Trunked Radio)(TETRA)モバイル電話システム、広帯域符号分割多元接続(wideband code division multiple access)(WCDMA)システム、高データレート(1×EV−DOまたは1×EV−DOゴールドマルチキャスト(Gold Multicast))システム、IEEE802.11システム、FLOシステム、デジタルメディアブロードキャスト(digital media broadcast)(DMB)システム、デジタルビデオブロードキャスト−ハンドヘルド(digital video broadcast-handheld)(DVB−H)システム、統合サービスデジタルブロードキャスト−地上(integrated services digital broadcast-terrestrial)(ISDB−T)システムなどを備えるワイヤレスシステム、を含めて、1つまたは複数の有線またはワイヤレスの通信ネットワークを備えることができる。ワイヤレスの場合について説明されるが、本開示の技法は、有線ネットワークを経由して送信するためのデータを圧縮するために使用されることができる。
復号化デバイス14は、レシーバ24と、復号化モジュール26と、を含む。復号化デバイス14は、レシーバ24を経由して符号化デバイス12から符号化されたデータを受信する。トランスミッタ22と同様に、レシーバ24は、ネットワーク16上で、符号化されたマルチメディアを受信する、適切なモデムおよびドライバ回路のソフトウェアおよび/またはファームウェアを含むことができ、そしてワイヤレスアプリケーションにおいて符号化されたマルチメディアデータを搬送するワイヤレスデータを受信するRF回路を含むことができる。復号化モジュール26は、レシーバ24を経由して受信されるデータの符号化されたフレームを復号する。復号化デバイス14は、さらに、復号化デバイス14内に一体化されるか、または有線またはワイヤレスの接続を経由して復号化デバイス14に結合された個別デバイスとして提供されるかのいずれかとすることができるディスプレイ(図示されず)を経由してユーザに対してデータの復号されたフレームを提示することができる。
復号化デバイス14は、例えば、デジタルテレビジョン、ワイヤレス通信デバイス、ゲーミングデバイス、ポータブルデジタルアシスタント(PDA)、ラップトップコンピュータもしくはデスクトップコンピュータ、デジタル音楽およびビデオのプレーヤデバイス、セルラ−ベース、衛星−ベース、地上−ベースの無線電話などの無線電話、あるいはビデオおよび/またはオーディオのストリーミング、ビデオ電話技術、またはそれらの両方について装備された他のワイヤレスモバイル端末、の一部分としてインプリメントされることができる。復号化デバイス14は、モバイルデバイスまたは静止デバイスに関連づけられることができる。他の態様においては、復号化デバイス14は、有線ネットワークに結合された有線デバイスを備えることができる。
いくつかの例においては、符号化デバイス12と、復号化デバイス14とは、おのおの相互の送信および受信の回路を含むことができ、その結果、おのおのは、ネットワーク16上で送信される符号化されたマルチメディアおよび他の情報についての送信デバイスと、受信デバイスとの両方としての役割を果たすことができる。この場合においては、符号化デバイス12と、復号化デバイス14との両方は、マルチメディアシーケンスを送信し、受信し、そしてそれ故に双方向通信に参加することができる。換言すれば、マルチメディアコーディングシステム10の例示のコンポーネントは、エンコーダ/デコーダ(CODEC)の一部分として一体化されることができる。
符号化デバイス12と、復号化デバイス14との中のコンポーネントは、ここにおいて説明される技法をインプリメントするために適用可能なこれらの例示的なものである。しかしながら、符号化デバイス12と、復号化デバイス14とは、望まれる場合には、多数の他のコンポーネントを含むことができる。例えば、符号化デバイス12は、おのおのが、ここにおいて説明される技法に従ってマルチメディアデータの1つまたは複数のシーケンスを受信し、そしてマルチメディアデータのそれぞれのシーケンスを符号化する複数の符号化モジュールを含むことができる。この場合においては、符号化デバイス12は、送信するためにデータのセグメントを組み合わせる少なくとも1つのマルチプレクサをさらに含むことができる。さらに、符号化デバイス12と、復号化デバイス14とは、適用可能なように、無線周波数(radio frequency)(RF)のワイヤレスのコンポーネントおよびアンテナを含めて、符号化されたビデオの送信および受信のための適切な変調コンポーネントと、復調コンポーネントと、周波数変換コンポーネントと、フィルタリングコンポーネントと、増幅器コンポーネントと、を含むことができる。しかしながら、説明図を簡単にするために、そのようなコンポーネントは、図1に示されてはいない。
図2は、図1の符号化モジュール20をさらに詳細に示すブロック図である。いくつかの態様においては、符号化モジュール20は、ワイヤレス通信デバイスハンドセット、またはブロードキャストサーバの一部分を形成することができる。符号化モジュール20は、少なくとも1つのソース18(図1)からの1つまたは複数のマルチメディアシーケンスのマルチメディアデータの入力フレームを受信し、そしてそれらの受信されたマルチメディアシーケンスのフレームを処理する制御モジュール32を含んでいる。特に、制御モジュール32は、マルチメディアシーケンスの着信フレームを解析し、そしてそれらのフレームの解析に基づいて着信フレームを符号化すべきか、あるいはスキップすべきかを決定する。符号化デバイス12は、例えば、低下されたフレームレートで情報を符号化するためにマルチメディアシーケンスの中のフレームをスキップすることができ、それによってネットワーク16を通して帯域幅を節約している。
さらに、符号化される着信フレームに対しては、制御モジュール32は、フレームを、Iフレーム、Pフレーム、あるいはBフレームとして符号化すべきかどうかを決定するように、構成されることもできる。制御モジュール32は、マルチメディアシーケンスの開始時に、シーケンス内の検出されたシーンの変化時に、チャネル切換えフレーム(channel switch frame)(CSF)として使用するために、あるいはイントラリフレッシュフレーム(intra refresh frame)として使用するために、着信フレームをIフレームとして符号化するように決定することができる。そうでなければ、制御モジュール32は、フレームを符号化することに関連する帯域幅の量を低減させるためにインターコーディング化されたフレーム(すなわち、PフレームまたはBフレーム)としてフレームを符号化する。
制御モジュール32は、さらに、フレームを複数のブロックへと分割するように、そしてそれらのブロックのおのおのについて、上記に説明されたH.264コーディングモードのうちの1つなどのコーディングモードを選択するように、構成されることができる。ブロックのおのおのについてコーディングモードを選択する際に支援するために、符号化モジュール20は、コーディングモードの少なくとも一部分に関連する情報を生成する。ブロックが、サブブロックまたはサブパーティションへと分割されるコーディングモードにおいては、符号化モジュール20は、サブブロックまたはサブパーティションのおのおのに関連する情報を生成する。インターコーディング化されるように選択される1ブロックでは、動き推定モジュール36が、ブロックのおのおののパーティションまたはサブパーティションについて、参照フレームを選択し、そして動き情報を計算するように動き推定を実行する。参照フレームを選択するために、動き推定モジュール36は、入力フレームの中で符号化されるべきブロックに最も適合した1ブロックについて、1つまたは複数の時間的先行フレームおよび/または時間的将来フレームをサーチする。動き推定モジュール36は、エラー尺度、例えば、絶対差の和(sum of absolute difference)(SAD)、平均2乗誤差(mean square error)(MSE)などを使用して、1つまたは複数の時間的先行フレームおよび/または時間的将来フレームの中のブロックと、符号化されるべきブロックを比較することができる。動き推定モジュール36は、最も小さいエラー測定値を有するブロックを選択することができる。選択されたブロックに関連するフレームは、参照フレームである。動き推定モジュール36は、1つまたは複数の参照フレームのあらかじめ決定されたサーチエリア(search area)のブロックと、符号化されるべきブロックを比較することができる。代わりに、動き推定モジュール36は、1つまたは複数の参照フレームの中のすべてのブロックの完全サーチを実行することもできる。
ひとたび参照フレームと、その対応するブロックが、識別された後に、動き推定モジュール36は、現在のフレームの中のブロック、すなわち符号化されるべきブロックに関して参照フレームの中の識別されたブロックの変位を表す動き情報を計算する。したがって、多くの場合に動きベクトルと称される動き情報は、入力フレームの中のブロックのロケーションと、参照フレームの中の識別されたブロックのロケーションとの間のオフセットを表す。
動き補償予測モジュール38は、入力フレームのブロックと、動きベクトルが指す参照フレームの中の識別されたブロックとの間の差を計算する。この差は、そのブロックについての残留情報である。動き補償予測モジュール38は、ブロックの輝度(luma)成分と、色度(chroma)成分との両方についての残留情報を計算することができる。一態様においては、動き補償予測モジュール38は、輝度成分と色度成分とを符号化するための符号化されたブロックパターン(coded block pattern)(CBP)コストを計算することができる。
イントラコーディング化されるように選択される1ブロックでは、空間予測モジュール34は、そのブロックについての残留情報を生成する。空間予測モジュール34は、例えば、1つまたは複数の隣接ブロックと、選択されたイントラコーディングモードに対応する補間方向性を使用して補間を経由してブロックの予測されたバージョンを生成することができる。次いで、空間予測モジュール34は、入力フレームのブロックと、予測されたブロックとの間の差を計算することができる。この差は、残留情報または残留係数と称される。インターコーディングモードと同様に、空間予測モジュール34は、残留情報を符号化するためのCBPコストを計算することができる。
動き推定モジュール36と、動き補償予測モジュール38と、空間予測モジュール34とは、異なるコーディングモードについて計算された情報をメモリ39に記憶することができる。メモリ39は、例えば、ランダムアクセスメモリ(random access memory)(RAM)、読取り専用メモリ(read-only memory)(ROM)、不揮発性ランダムアクセスメモリ(non-volatile random access memory)(NVRAM)、電気的消去可能プログラマブル読取り専用メモリ(electrically erasable programmable read-only memory)(EEPROM)、フラッシュメモリ(FLASH memory)など、を備えることができる。下記に詳細に説明されるように、制御モジュール32は、コーディングモードの選択を実行するためにメモリ39に記憶された情報を使用することができる。
特に、制御モジュール32は、選択について現在考慮されているコーディングモードとは異なるブロックパーティションを有する他のコーディングモードのうちの少なくとも1つに関連する情報を使用して、選択について現在考慮されているコーディングモードでピクセルのブロックを符号化すべきか否かを決定する。一態様においては、制御モジュール32は、選択について現在考慮されているコーディングモードのブロックパーティションのサブパーティションであるブロックパーティションを有するコーディングモードに関連する情報を使用する。制御モジュール32は、さらに、選択について現在考慮されているコーディングモードに関連する情報、ならびに選択について現在考慮されているコーディングモードと同じブロックパーティションを有する別のコーディングモードに関連する情報、を使用することができる。
一例として、制御モジュール32は、インター16×16コーディングモードでピクセルのブロックを符号化すべきか否かを決定するためにインター8×8コーディングモードに関連する情報を使用することができる。より詳細には、インター16×16コーディングモードとインター8×8コーディングモードとに関連する情報は、動き推定モジュール36と、動き補償予測モジュール38とによって計算されることができる。例えば、動き推定モジュール36と、動き補償予測モジュール38とは、ブロックが、その特定のコーディングモードを使用して符号化された場合に、生成されることになる情報を計算することができる。この情報は、1つまたは複数の動きベクトル、参照フレームインデックス、残留情報など、を含むことができる。上記に説明されるように、インター8×8コーディングモード、その16×16コーディングモード、またはそれらの両方に関連する情報は、もっと早期に計算され、そしてメモリ39に記憶されることができる。代わりに、インター16×16コーディングモードとインター8×8コーディングモードとのうちの一方または両方に関連する情報は、必要に応じて、例えば、インター16×16コーディングモードの解析中に計算されることもできる。
制御モジュール32は、例えば、選択について現在考慮されているコーディングモードでピクセルのブロックを符号化すべきか否かを決定するために、少なくとも1つの他のコーディングモードの動き情報、参照情報、残留情報、および/または他の情報を解析することができる。制御モジュール32は、インター16×16コーディングモードを使用してピクセルのブロックを符号化すべきか否かを決定するために、インター8×8コーディングモードに関連する情報のそれぞれの部分と、インター16×16コーディングモードに関連する情報の少なくとも一部分を比較することができる。一態様においては、制御モジュール32は、インター8×8コーディングモードについて計算された4つの動きベクトルの平均の大きさと、インター16×16コーディングモードについて計算された動きベクトルの大きさを比較することができる。その16×16の動きベクトルの大きさと、4つの8×8の動きベクトルの平均とが、実質的に同じではない、例えば、それらの大きさの間の差がしきい値以上であるときには、制御モジュール32は、インター16×16コーディングモードが、最高の圧縮効率もたらさないことを決定することができる。換言すれば、制御モジュール32は、16×16の動きベクトルの大きさと、4つの8×8の動きベクトルの平均とが、実質的に同じではないときに、インター16×16コーディングモードを使用してピクセルのブロックを符号化しないように決定する。制御モジュール32は、下記にもっと詳細に説明されるように、インター8×8コーディングモードと、インター16×16コーディングモードとのそれらの動きベクトルの方向を比較することもできる。
さらに、制御モジュール32は、インター16×16コーディングモードを使用してブロックを符号化すべきか否かを決定するために、インター8×8コーディングモードに関連する他の情報を解析することができる。制御モジュール32は、例えば、8×8のサブブロックのおのおのについての参照情報が、時間的に現在のフレームのすぐ隣に位置するフレームを参照するかどうか、を決定することができる。インター8×8コーディングモードのサブブロックのうちのどれかに関連する参照情報が、時間的に現在のフレームのすぐ隣に位置していないフレームを参照するとき、制御モジュール32は、インター16×16コーディングモードが、最高の圧縮効率をもたらさないことになることを決定することができる。この場合においては、制御モジュールは、考慮中の特定のブロックを符号化する際に使用するためにその16×16コーディングモードを選択することはない。
選択について現在考慮されているコーディングモードを使用してブロックを符号化すべきか否かを決定するために1つまたは複数の他のコーディングモードに関連する情報を使用することにより、制御モジュール32は、もっと正確にコーディングモードを選択することができるようになる。選択について現在考慮されているコーディングモードに関連する情報だけを使用してコーディングモードを選択することではなくて、モードの選択は、考慮中のモードの起こりそうなパフォーマンスを示す他のモードに関連する情報に少なくとも部分的に基づいている可能性がある。さらに、制御モジュール32は、低減された量の計算集約的な計算を使用して選択を行うことができる。例えば、いくつかの場合には、制御モジュール32は、現在解析されているコーディングモードに関連する情報を計算する必要がない可能性があり、このようにしてコーディングモードを選択するために必要とされる計算集約的な計算の数を低減させている。このようにして、他のモードについての情報に依存することにより、考慮中のモードは、そうでなければ必要であったことになる大規模な計算のうちの少なくともいくつかのない選択について解析されることができる。
上記に説明される例においては、制御モジュール32は、選択について現在考慮されているコーディングモードでブロックを符号化すべきかどうかを決定する際に、異なるブロックパーティションを有する1つの他のコーディングモードに関連する情報を使用するが、制御モジュール32は、異なるブロックパーティションを有する複数の他のコーディングモードに関連する情報を使用することができる。例えば、制御モジュール32は、インター16×16コーディングモードを使用してブロックを符号化すべきか否かを決定するために8×8コーディングモードに関連する情報に加えて、インター4×4コーディングモード、または他のインターコーディングモードに関連する情報を使用することができる。異なるブロックパーティションを有するコーディングモードは、現在考慮中のモードの選択に関連した情報を生成する可能性がより高いこともある。
上記に説明されるように、本開示の技法は、SKIPモード検出をより正確に実行する際に特に有用とすることができる。例えば、制御モジュール32は、SKIPモードを適用すべきかどうかを決定するときに、SKIPコーディングモードのブロックパーティションとは異なるブロックパーティションを有する別のコーディングモードに関連する情報を使用することができる。SKIPモードにおいては、パーティションブロックサイズは、16×16であり、これは、インター16×16コーディングモードと同じパーティションブロックサイズである。いくつかの態様においては、制御モジュール32は、SKIPモードと、インター16×16コーディングモードと、インター8×8コーディングモードとに関連する情報を使用してSKIPモードでブロックを符号化すべきかどうかをもっと正確に決定することができる。換言すれば、このSKIPモード検出の例において、制御モジュール32は、SKIPモードと同じブロックパーティションを有する1つの他のコーディングモード(すなわち、インター16×16コーディングモード)に関連する情報と、異なるブロックパーティションを有する1つの他のコーディングモード(すなわち、インター8×8コーディングモード)に関連する情報と、を使用する。
制御モジュール32は、SKIPモードに関する初期決定を行うために、SKIPモードと同じブロックパーティションを有する他のコーディングモード、すなわち、インター16×16コーディングモードに関連する情報を使用することができる。制御モジュール32は、そのときには、異なるブロックパーティションを有する他のコーディングモード、すなわち、8×8コーディング情報を使用して初期決定の正確さを決定することができる。SKIPモードに関する初期決定を行うために、制御モジュール32は、インター16×16コーディングモードに関連する情報と一緒にSKIPモードに関連する情報を解析する。制御モジュール32は、SKIP動きベクトルと、16×16の動きベクトルとが、実質的に同じであるかどうかを決定するために、インター16×16コーディングモードの動きベクトルと、SKIPモードの動きベクトルを比較することができる。制御モジュール32は、動きベクトルの大きさおよび/または方向を比較することができる。制御モジュール32は、スキップモード検出を実行する際に、インター16×16コーディングモードに関連する参照フレーム情報(例えば、参照フレームインデックス)、ならびにインター16×16コーディングモードに関連する残留情報、を解析することもできる。例えば、制御モジュール32は、(a)SKIPモードと、インター16×16コーディングモードとの動きベクトルが、実質的に同じであり、(b)インター16×16コーディングモードの参照フレームが、時間的に現在のフレームのすぐ隣に位置しており、そして(c)インター16×16コーディングモードで符号化すべき残留データが存在していないときに、SKIPモードが、最も効率的なモードであることを最初に決定することができる。
制御モジュール32は、そのときには、SKIPモードを使用してブロックを符号化すべきかどうかをより正確に決定するために、インター8×8コーディングモードに関連する情報を使用する。制御モジュール32は、例えば、インター16×16コーディングモード決定の例に関して上記に説明されるのと同じようにして、インター8×8コーディングモードに関連する情報を解析することができる。特に、制御モジュール32は、インター8×8コーディングモードに関連する4つの動きベクトルの平均の大きさと、SKIPモードに関連する動きベクトルの大きさを比較することができる。制御モジュール32は、さらに、8×8のサブブロックのおのおのの動きベクトルが、SKIPモードの動きベクトルと実質的に同じ方向に揃えられている(are aligned)かどうか、を決定することができる。制御モジュール32は、8×8のサブブロックのおのおのについての参照情報が、時間的に現在のフレームのすぐ隣に位置するフレームを参照するかどうか、を決定することもできる。(a)動きベクトルが、実質的に類似した大きさのものであり、(b)8×8のサブブロックのおのおのの動きベクトルが、SKIPモードの動きベクトルと同じ方向に揃えられており、そして(c)8×8のサブブロックのおのおのについての参照情報が、時間的に現在のフレームのすぐ隣に位置するフレームを参照するときに、制御モジュール32は、ブロックが、SKIPコーディングモードで符号化されるべきことを決定することができ、そして制御モジュール32は、初期のSKIPコーディングモードの決定が、正確な決定であることを決定することができる。換言すれば、SKIPコーディングモードは、最高の圧縮効率をもたらすことになる。これに基づいて、制御モジュール32は、考慮中のブロックを符号化するためにSKIPモードを選択することができる。そうでなければ、制御モジュール32は、SKIPコーディングモードが、最高の圧縮効率をもたらさないことになることを決定し、そして1つまたは複数の他のコーディングモードを解析する。制御モジュール32が、フレームまたはスライスの中の様々なブロックについてのコーディングモードを選択するときに、異なるモードが、異なるブロックについて選択されることができる。
上記に説明されるように、制御モジュール32は、上記に説明される技法を使用して現在のブロックについてのブロックモードを選択することができる。代わりに、本開示の技法は、可能性のあるコーディングモードの数を低減させるために使用されることもできる。例えば、上記に説明された技法は、SKIPモードと、インター16×16とが、最も効率的なコーディングモードではないことを決定するために使用されることができる。制御モジュール32は、そのときには、コーディングモードの低減された組から、現在のブロックについてのモードを選択するために他のモード選択技法を使用することができる。制御モジュール32は、例えば、コーディングモードの低減されたサブセットについてのコーディングコストを計算し、または推定し、そして最低のコーディングコストを有するコーディングモードを選択することができる。符号化モジュール20は、例えば、式:
J=D+λmode・R (1)
に従って、レートおよびひずみの関数としてコーディングコストを計算し、または推定することができ、ここでJは、推定されたコーディングコストであり、Dは、ブロックのひずみメトリック(distortion metric)であり、λmodeは、それぞれのモードのラグランジュ乗数であり、そしてRは、ブロックのレートメトリック(rate metric)である。ひずみメトリック(D)は、例えば、絶対差の和(SAD)、平方差の和(sum of square difference)(SSD)、絶対変換差の和(sum of absolute transform difference)(SATD)、平方変換差の和(sum of square transform different)(SSTD)などを備えることができる。レートメトリック(R)は、例えば、与えられたブロックの中のデータを符号化することに関連するコーディングビット(coding bits)の数とすることができる。レートメトリックRは、データを符号化するために割り付けられることができるビットの数を指定する。DとRとを計算するために、符号化モジュール20は、解析されている各モードについての動き推定を実行し、残留情報を計算し、その特定のモードについての残留情報を変換し量子化し、そして残留情報、ならびにレートRを計算する他の任意の情報(例えば、動きベクトル)を符号化する。さらに、符号化モジュール20は、ひずみメトリックDを取得するために、データを逆量子化し逆変換し、そして復号されたブロックと元のブロックを比較することができる。
コーディングモードを選択した後に、符号化モジュール20は、選択されたコーディングモードを使用してデータのブロックを符号化する。図2に示されるように、符号化モジュール20は、変換モジュール40と、量子化モジュール46と、エントロピーエンコーダ48と、を含む。変換モジュール40は、変換関数に従ってブロックの情報の少なくとも一部分を変換する。例えば、変換モジュール40は、残留情報についての変換係数を生成するために、4×4または8×8の整数変換や離散コサイン変換(Discrete Cosine Transform)(DCT)などの整数変換を残留情報に対して適用することができる。量子化モジュール46は、情報を量子化し、そして量子化されたデータをエントロピーエンコーダ48へと供給する。エントロピーエンコーダ48は、コンテキスト適応コーディング技法、固定長コーディング(fixed length coding)(FLC)技法、ユニバーサル可変長コーディング(variable length coding)(VLC)技法、または他のコーディング技法を使用して量子化されたデータを符号化する。
上記技法は、個別にインプリメントされることができ、あるいはそのような技法のうちの2つ以上、またはそのような技法のすべては、符号化モジュール20の中に一緒にインプリメントされることができる。符号化モジュール20の中のコンポーネントは、ここにおいて説明される技法をインプリメントするために適用可能なこれらの例である。しかしながら、符号化モジュール20は、必要に応じて、多数の他のコンポーネント、ならびに上記に説明される1つまたは複数のモジュールの機能を組み合わせたもっと少ない数のコンポーネントを含むことができる。符号化モジュール20の中のコンポーネントは、1つまたは複数のプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、個別ロジック、ソフトウェア、ハードウェア、ファームウェア、あるいはそれらの任意の組合せとしてインプリメントされることができる。モジュールとしての異なる機能の描写は、符号化モジュール20の異なる機能の態様を強調するように意図され、そしてそのようなモジュールが、別個のハードウェアコンポーネントまたはソフトウェアコンポーネントによって実現される必要があることを必ずしも意味するものとは限らない。もっと正確に言えば、1つまたは複数のモジュールに関連する機能は、共通または別個のハードウェアコンポーネントまたはソフトウェアコンポーネントの内部に一体化されることができる。
図3は、本開示の技法に従って、ピクセルの1ブロックについてのコーディングモードを解析する、図1および2の符号化モジュール20などの符号化モジュールの例示のオペレーションを示す流れ図である。符号化モジュール20は、選択について現在考慮されているコーディングモード以外の少なくとも1つのコーディングモードに関連する情報を計算する(50)。いくつかの態様においては、符号化モジュール20は、選択について現在考慮されているコーディングモードに関連する情報を計算することもできる(52)。しかしながら、いくつかの場合においては、符号化モジュール20は、選択について現在考慮されているコーディングモードに関連する情報を計算しなくてもよい。動き推定モジュール36は、1つまたは複数の参照フレームを識別する参照情報と、1つまたは複数の参照フレームの中の識別されたブロックに関して解析されているブロックの変位を表す動き情報と、を生成することができる。さらに、動き補償予測モジュール38は、ブロックの輝度成分、および/またはブロックの色度成分の間の差を表す残留情報を生成することができる。いくつかの場合においては、コーディングモードのおのおのに関連する情報は、メモリ39に記憶されることができる。
制御モジュール32は、選択について現在考慮されているコーディングモードと異なるブロックパーティションを有する少なくとも1つの他のコーディングモードに関連する少なくとも情報を使用して、選択について現在考慮されているコーディングモードについての決定を行う(54)。制御モジュール32は、例えば、現在解析されているコーディングモードに関する決定を行うために、少なくとも1つの他のコーディングモードに関連する動き情報、参照情報、残留情報、および/または他の情報を解析することができる。上記に詳細に説明されるように、少なくとも1つの他のコーディングモードに関連する情報は、ブロックが、少なくとも1つの他のコーディングモードで符号化された場合に、生成されることになる情報とすることができる。一例として、制御モジュール32は、インター16×16コーディングモードでピクセルのブロックを符号化すべきか否かを決定するために、インター8×8コーディングモードに関連する情報を使用することができる。例えば、制御モジュール32は、それらが実質的に揃えられている(are substantially aligned)のかどうかを決定するために、インター8×8の動きベクトルの方向性を比較することができる。もし、動きベクトルが実質的に揃えられていない(are not substantially aligned)場合は、制御モジュールは、考慮中の特定のブロックを符号化する際に使用するためにインター16×16コーディングモードを選択しないように決定する。別の例として、制御モジュール32は、8×8のサブブロックのおのおのについての参照情報が、時間的に現在のフレームのすぐ隣に位置するフレームを参照するかどうか、を決定することができる。インター8×8コーディングモードのサブブロックのどれかに関連する参照情報が、時間的に現在のフレームのすぐ隣に位置していないフレームを参照するときに、制御モジュール32は、考慮中の特定のブロックを符号化する際に使用するために16×16コーディングモードを選択しないように決定することができる。したがって、制御モジュール32は、選択について現在考慮されているコーディングモードに関連する情報を計算せずに決定を行うことができる。
しかしながら、制御モジュール32は、複数の他のコーディングモードに関連する情報を使用することができる。例えば、制御モジュール32は、16×16インターコーディングモードを解析するために8×8コーディングモードに関連する情報に加えてインター4×4コーディングモードまたは他のインターコーディングモードに関連する情報を使用することができる。いくつかの場合においては、他のコーディングモードが、選択について現在考慮されているコーディングモードのブロックパーティション(単数または複数)のサブパーティションであるブロックパーティションを有するコーディングモードである場合に、それは、有利である可能性がある。
さらに、制御モジュール32は、少なくとも1つの他のコーディングモードに関連する情報に加えて、選択について現在考慮されているコーディングモードに関連する情報を使用することもできる。例えば、制御モジュール32は、その決定を行うために、選択について現在考慮されているコーディングモードと、少なくとも1つの他のコーディングモードとの、大きさおよび/または方向などの動き情報を比較することができる。
制御モジュール32は、現在解析されているコーディングモードが、選択されるかどうかを決定する(56)。いくつかの場合においては、制御モジュール32は、コーディングモードを選択しないが、その代わりに、レート−ひずみコーディングコストが計算される可能性のあるコーディングモードの数を低減させるために上記に説明される技法を使用することができる。現在解析されているコーディングモードが、選択されないときに、符号化モジュール20は、他のコーディングモードのうちの1つを解析し、そして選択する。符号化モジュール20は、本開示の技法、ならびに他のコーディングモードに関連するコーディングコストを計算することなど、より伝統的な技法を使用して他のコーディングモードを解析することができる(58)。
コーディングモードを選択した後に、符号化モジュール20は、選択されたコーディングモードを使用してデータのブロックを符号化する(59)。解析されている現在のコーディングモードに関する決定を行うために1つまたは複数の他のコーディングモードに関連する情報を使用することにより、制御モジュール32は、より正確にコーディングモードを選択することができるようになる。さらに、制御モジュール32は、低減された数の計算集約的な計算を使用してモード選択を行うことができる。換言すれば、制御モジュール32は、低減された数の変換、量子化、エントロピーコーディング、あるいはモードのおのおのに関連するコーディングコストを計算し、または推定するために必要とされる他の計算集約的な計算を用いて決定を行うことができる。
図4は、少なくとも1つの他のコーディングモードに関連する情報を使用してコーディングモードについての決定を行う、図1および2の符号化モジュール20などの符号化モジュールの例示のオペレーションを示す流れ図である。符号化モジュール20は、現在解析されているコーディングモードとは異なるブロックパーティションを有する少なくとも1つの他のコーディングモードに関連する情報を使用して現在解析されているコーディングモードに関する決定を行う。一態様においては、制御モジュール32は、現在解析されているコーディングモードのブロックパーティションのサブパーティションであるブロックパーティションを有するコーディングモードに関連する情報を使用する。例示の目的のために、図4の流れ図は、現在解析されているコーディングモードとしてのインター16×16コーディングモードと、第1の他のコーディングモードとしてのインター8×8コーディングモードとを使用して、説明されることになる。しかしながら、本技法は、他のタイプのコーディングモードを使用してコーディングモード選択を実行するために使用されることができる。
符号化モジュール20は、選択について現在考慮されているコーディングモードに関連する情報と、第1の他のコーディングモードに関連する情報と、を取得する(60)。この情報は、いくつかの動きベクトル、参照フレームインデックスなどを含むことができる。符号化モジュール20は、必要に応じて、例えば、現在のコーディングモードの解析中に、選択について現在考慮されているコーディングモードに関連する情報、および/または第1の他のコーディングモードに関連する情報、を計算することができる。例えば、制御モジュール32が、ブロックが他のコーディングモードに関連する情報を使用して、選択について現在考慮されているモードで符号化されるべきでないことを決定する場合、符号化モジュール20は、選択について現在考慮されているコーディングモードに関連する情報を計算する必要がない可能性がある。代わりに、符号化モジュール20は、選択について現在考慮されているコーディングモードに関連する情報、および/または第1の他のコーディングモードに関連する情報、をメモリ39から取り出すことができる。この場合においては、情報は、コーディングモード選択の解析において後で考慮するためにあらかじめ計算されていてもよい。
制御モジュール32は、8×8のサブブロックのおのおのについての参照情報が、時間的に現在のフレームのすぐ隣に(immediately adjacent)位置するフレームを参照するかどうか、を決定する(62)。Pブロックの場合においては、参照フレームは、時間的に現在のフレームのすぐ前に位置している。制御モジュール32が、インター8×8コーディングモードのすべてのサブブロックに関連する参照情報が時間的に現在のフレームのすぐ隣に位置するフレームを参照することを決定するときに、制御モジュール32は、8×8のサブブロックの動きベクトルが実質的に揃えられているかどうかを決定するために、動きベクトルの方向性を解析することができる(64)。制御モジュール32は、例えば、XおよびY方向における動きベクトルが、同一であるか、あるいはあらかじめ決定されたしきい値許容限度内にあるかを決定することができる。別の例においては、制御モジュール32は、動きベクトルの量子化されたバージョンを比較することができる。いずれにしても、制御モジュール32は、8×8のサブブロックの動きベクトルを互いに比較する。代わりに、制御モジュール32は、16×16のブロックの動きベクトルの方向と、8×8のサブブロックの動きベクトルのおのおのの方向を比較することもできる。
8×8のサブブロックのどれかの動きベクトルが、実質的に揃えられているとき、制御モジュール32は、16×16コーディングモードが8×8コーディングモードよりも多くの残留情報を有するかどうかを決定するために、8×8コーディングモードと16×16コーディングモードとに関連する残留情報を解析することができる(66)。16×16コーディングモードが、より多くの残留情報を有するとき、制御モジュール32は、16×16コーディングモードが、最高の圧縮効率をもたらさないことを決定する。一態様においては、制御モジュール32は、ブロックのピクセルの輝度成分と色度成分との両方に関連する残留情報を解析することができる。制御モジュール32は、インター16×16コーディングモードが、8×8コーディングモードよりも多くの残留情報を有するかどうか決定するために輝度成分と色度成分との両方についてのCBPコストを比較することができる。いくつかの態様においては、16×16コーディングモードは、輝度成分または色度成分のいずれかが、より多くの残留情報を有するときに8×8コーディングモードよりも多くの残留情報を有するものと見なされることができる。しかしながら、他の態様においては、16×16コーディングモードは、輝度成分と色度成分との両方が、より多くの残留情報を有するときだけに、8×8コーディングモードよりも多くの残留情報を有するものと見なされることができる。
16×16コーディングモードが8×8コーディングモードよりも多くの残留情報を有しないときに、制御モジュール32は、おのおのに関連する動きベクトル(単数または複数)が実質的に同じであるかどうかを決定するために、インター8×8コーディングモードに関連する動き情報と、インター16×16コーディングモードに関連する動き情報と、を比較することができる(67)。例えば、制御モジュール32は、インター8×8コーディングモードに関連する4つの動きベクトルの大きさの平均と、インター16×16コーディングモードの動きベクトルの大きさを比較することができる。動きベクトルを比較するために、制御モジュールは、インター16×16コーディングモードの動きベクトルの大きさと、インター8×8コーディングモードに関連する4つの動きベクトルの大きさの平均との間の差を計算し、そしてその差がしきい値差よりも小さいときに、動きベクトルが実質的に同じであることを決定することができる。一例においては、しきい値差は、1整数ペル(one integer pel)(例えば、1整数ピクセル)とすることができる。しかしながら、他の差しきい値が、動き推定アルゴリズムの正確さと、入力信号上の(例えば、ひどく圧縮された入力信号についての)予想される雑音とに応じて使用されることができる。
16×16の動きベクトルと、4つの8×8の動きベクトルの平均との大きさが、実質的に同じでないときに、インター8×8コーディングモードのサブブロックのどれかに関連する参照情報が、時間的に現在のフレームのすぐ隣に位置していないフレームを参照するときに、あるいは8×8のサブブロックのどれかの動きベクトルが、実質的に揃えられていないときには、制御モジュール32は、インター16×16コーディングモードが、最高の圧縮効率をもたらさないことになることを決定する(68)。換言すれば、制御モジュール32は、インター16×16コーディングモードでピクセルのブロックを符号化しないように決定する。この決定が、インター16×16コーディングモードに関連する情報を計算することに先立って行われるときに、本技法は、インター16×16コーディングモードに関連する情報を生成するために実行される必要がある計算的に高価な計算の数を低減させることができる。
上記に説明される状態のすべてが満たされているときに、制御モジュール32は、より多くのコーディングモードに関連する情報を解析すべきかどうか、を決定する(70)。制御モジュール32は、決定の正確さを増大させるために、より多くの他のコーディングモードに関連する情報を使用することができる。例えば、制御モジュール32は、16×16インターコーディングモードを解析するために、8×8コーディングモードに関連する情報に加えてインター4×4コーディングモードまたは他のインターコーディングモードに関連する情報を使用することができる。いくつかの場合においては、他のコーディングモードが、現在解析されているコーディングモードのサブブロックを使用するコーディングモードである場合には、それは、有利とすることができる。しかしながら、ピクセルのブロックの異なるパーティションを有する任意のコーディングモードが、現在解析されているコーディングモードに関する決定を行う際に有用とすることもできる。
制御モジュール32が、他のコーディングモードに関連する情報が解析されるべきであることを決定するときに、制御モジュール32は、8×8コーディングモードに関連する情報に関して上記に説明されるのと同じようにして他のコーディングモードの情報を使用する(72)。制御モジュール32が、追加の他のコーディングモードに関連する情報を解析しないように決定するときに、制御モジュール32は、ピクセルのブロックについて現在考慮されているコーディングモードを選択し、あるいは残りの可能性のあるコーディングモードのうちの1つとして現在のコーディングモードを分類する(74)。制御モジュール32は、残りの可能性のあるコーディングモードの低減された組を生成するために、いくつかの他のコーディングモードについてこのオペレーションを実行することができる。換言すれば、制御モジュール32は、どのコーディングモードが、この解析に基づいて選択されないことになるかを決定し、次いでコーディングモードの低減された組から選択するために、さらにコーディングモード選択技法を実行することができる。
図5は、本開示の技法に従って、SKIPモード検出を実行する、図1および2の符号化モジュール20などの符号化モジュールの例示のオペレーションを示す流れ図である。制御モジュール32は、SKIPコーディングモードに関連する情報と、同じブロック分割を有する第1の他のコーディングモードに関連する情報と、を取得する(80)。符号化モジュール20は、必要に応じて、例えば、現在のコーディングモードの解析中に、現在解析されているコーディングモードに関連する情報、および/または第1の他のコーディングモードに関連する情報、を計算することができる。代わりに、符号化モジュール20は、現在解析されているコーディングモードに関連する情報、および/または第1の他のコーディングモードに関連する情報、をメモリ39から取り出すこともできる。上記に説明されるように、SKIPモードは、16×16の1ブロックパーティションサイズを有し、これは、インター16×16コーディングモードのブロックパーティションサイズと同じである。それ故に、制御モジュール32は、SKIPコーディングモードと、SKIPモードと同じブロックパーティションを有する1つの他のコーディングモードと、に関連する情報を取得する。
SKIPモードに関する初期決定を行うために、制御モジュール32は、SKIPの動きベクトルと16×16の動きベクトルとが実質的に同じであるかどうか、を決定するために、インター16×16コーディングモードの動きベクトルとSKIPモードの動きベクトルとを比較する(82)。SKIPモードの動きベクトルは、例えば、同じフレーム内の、あるいは1つまたは複数の参照フレームの中の、取り囲むブロックの動きベクトルに基づいて予測されることができる。制御モジュール32は、インター16×16コーディングモードに関連する動きベクトルの大きさおよび/または方向と、SKIPモードに関連する動きベクトルの大きさおよび/または方向を比較することができる。
SKIPモードに関連する動きベクトルがインター16×16コーディングモードに関連する動きベクトルと実質的に同じであるときに、制御モジュール32は、時間的に現在のフレームのすぐ隣に位置するフレームを参照情報が参照するかどうかを決定するために、インター16×16コーディングに関連する参照情報(例えば、参照フレームインデックス)を解析する(84)。
時間的に現在のフレームのすぐ隣に位置するフレームを、参照情報が参照するときに、制御モジュール32は、インター16×16コーディングモードに関連する任意の残留情報が存在するかどうかを決定するために、残留情報を解析する(86)。一態様においては、制御モジュール32は、ブロックのピクセルの輝度成分と色度成分との両方に関連する残留情報を解析することができる。制御モジュール32は、例えば、インター16×16コーディングモードに関連する任意の残留情報が存在するかどうかを決定するために、輝度成分と色度成分との両方についてのCBPコストを計算することができる。輝度および色度についてのCBPコスト(または値)は、変換、量子化、およびポスト量子化のしきい値処理(thresholding)を使用して計算されることができる。残留情報が存在しない、例えば、輝度成分と色度成分との両方のCBPコストが、ゼロである場合に、制御モジュール32は、最初にSKIPコーディングモードが、可能なコーディングモードであることを決定する。
上記の状態のうちの1つが満たされない場合、すなわち残留情報が存在しており、参照情報が、時間的に現在のフレームのすぐ隣に位置していないフレームを参照し、あるいはインター16×16コーディングモードの動きベクトルが、実質的に類似していない場合には、制御モジュール32は、SKIPモードが、最も効率的なモードではないことを決定する。このようにして、制御モジュール32は、SKIPモードに関する初期決定を行うために、SKIPモードと同じブロックパーティションを有する他のコーディングモード、すなわちインター16×16コーディングモードに関連する情報を使用することができる。
制御モジュール32は、初期決定の正確さを決定する際に使用するために、他のコーディングモードのうちの第2のものに関連する情報を取得することができる(88)。他のコーディングモードのうちの第2のものは、SKIPモードとは異なるブロックパーティションを有する。例示の目的のために、他のコーディングモードのうちの第2のものは、インター8×8コーディングモードであるであろう。しかしながら、本技法は、異なるブロックパーティションを有する他の任意のコーディングモードと共に使用されることができる。
制御モジュール32は、図4に関して上記に説明されるのと同じようにしてインター8×8コーディングモードに関連する情報を解析する。特に、制御モジュール32は、おのおのに関連する動き情報が実質的に同じであるかどうかを決定するために、インター8×8コーディングモードに関連する動き情報と、SKIPコーディングモードに関連する動き情報と、を比較する(90)。制御モジュール32はまた、8×8のサブブロックの動きベクトルが揃えられているかどうかを決定するために、動きベクトルの方向性も解析する(92)。さらに、制御モジュール32は、8×8のサブブロックのおのおのについての参照情報が、時間的に現在のフレームのすぐ隣に位置するフレームを参照するかどうか、を決定することができる(94)。上記に説明される状態のすべてが、満たされているときに、制御モジュール32は、SKIPコーディングモードを選択し、あるいは残りの可能性のあるコーディングモードのうちの1つとしてSKIPコーディングモードを分類する(96)。
インター8×8コーディングモードのサブブロックのどれかに関連する参照情報が、時間的に現在のフレームのすぐ隣に位置していないフレームを参照するときに、8×8のサブブロックのうちのどれかの動きベクトルが、実質的に揃えられていないときに、あるいは動きベクトルが、実質的に同じではないときに、制御モジュール32は、インター16×16コーディングモードが、最高の圧縮効率をもたらさないことになることを決定する(98)。このようにして、制御モジュール32は、より微細なモード(例えば、インター8×8モード)が、選択されることになるかどうかを評価する正確さチェック(accuracy check)としての役割を果たすように、8×8コーディングモードまたは他のインターコーディングモードに関連する情報を使用する。これは、例えば、ブロックが、2つのオブジェクトのエッジにあった場合とすることができる(例えば、動きベクトルが、揃えられておらず、あるいは平均動きベクトルは、インター16×16の動きベクトルと実質的に同じではない)。インター8×8コーディングモードが、この例においては正確さチェックのために使用されるが、他のコーディングモードおよび/またはメトリックが、正確さチェックを実行するために使用されることもできる。例えば、現在のフレームおよび参照フレームからの因果関係および非因果関係の(ラスタスキャン順序の)マクロブロックに関連する情報である。別の例としては、現在のフレームの中の(例えば、5×5の領域の中の)隣接ブロックの大部分が、SKIPブロックとして分類される場合には、制御モジュール32は、SKIPモードを選択することに向かって重み付けされ/バイアスされることができる。
ここにおいて説明される教示に基づいて、ここにおいて開示される一態様が、他の任意の態様とは独立にインプリメントされることができることと、2つ以上のこれらの態様が、様々なやり方で組み合わせられることができることとが、明らかなはずである。そのような技法は、ワイヤレス通信デバイスハンドセットおよび他のデバイスにおけるアプリケーションを含めて、複数の用途を有する、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、集積回路デバイスなど、様々なデバイスのうちのどれにもインプリメントされることができる。ここにおいて説明される技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せの形でインプリメントされることができる。ハードウェアでインプリメントされる場合に、本技法は、デジタルハードウェア、アナログハードウェア、またはそれらの組合せを使用して実現されることができる。ソフトウェアでインプリメントされる場合には、本技法は、1つまたは複数の命令またはコードが記憶されるコンピュータ可読媒体(computer readable medium)を含むコンピュータプログラムプロダクト(computer-program product)によって少なくとも部分的に実現されることができる。コンピュータプログラムプロダクト(computer program product)のコンピュータ可読媒体(computer-readable medium)に関連する命令またはコードは、コンピュータによって、例えば、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、ASIC、FPGA、他の等価な集積回路または個別論理回路など、1つまたは複数のプロセッサによって実行されることができる。
例として、限定するものではないが、そのようなコンピュータ可読媒体は、命令またはデータ構造の形態で望ましいプログラムコードを搬送し、または記憶するために使用されることができ、そしてコンピュータによってアクセスされることができる、シンクロナスダイナミックランダムアクセスメモリ(synchronous dynamic random access memory)(SDRAM)などのRAM、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、ROM、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、消去可能プログラマブル読取り専用メモリ(erasable programmable read-only memory)(EPROM)、フラッシュ(FLASH)メモリ、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは他の任意の有形媒体を備えることができる。
いくつかの態様および例が説明された。しかしながら、これらの例に対する様々な修正が可能であり、また、ここにおいて提示される原理は、同様に他の態様に対しても適用されることができる。これらおよび他の態様は、添付の特許請求の範囲の範囲内にある。
以下に、本願出願の当初の特許請求の範囲に機視された発明を付記する。
[C1]
ビデオデータを処理するための方法であって、
現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報を取得することと;
ピクセルの前記ブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報を取得することと、なお、前記少なくとも1つの他のパーティションは、前記第1のパーティションとは異なる;
前記少なくとも1つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することと;
を備える方法。
[C2]
前記少なくとも1つの他のパーティションは、前記第1のパーティションのサブパーティションを備える、C1に記載の方法。
[C3]
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
前記少なくとも1つの他のコーディングモードに関連する動き情報と前記第1のコーディングモードに関連する動き情報とを比較することと、
前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
を備える、
C1に記載の方法。
[C4]
前記少なくとも1つの他のコーディングモードに関連する動き情報と前記第1のコーディングモードに関連する前記動き情報とを比較することは、前記少なくとも1つの他のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と前記第1のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均とを比較すること、を備える、C3に記載の方法。
[C5]
前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することは、前記第1のコーディングモードに関連する前記動き情報と前記少なくとも1つの他のコーディングモードの前記動き情報との間の差がしきい値以上であるとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定すること、を備える、C3に記載の方法。
[C6]
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
前記少なくとも1つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較することと、
前記少なくとも1つの他のコーディングモードに関連する前記複数の動きベクトルのうちの1つまたは複数が異なる方向に揃えられているとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
を備える、
C1に記載の方法。
[C7]
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
前記少なくとも1つの他のコーディングモードに関連する参照情報を解析することと、
時間的に前記現在のフレームのすぐ隣に位置していないフレームを前記参照情報が参照するとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
を備える、
C1に記載の方法。
[C8]
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
前記少なくとも1つの他のコーディングモードに関連する第2の量の輝度および色度の残留情報と前記第1のコーディングモードに関連する第1の量の輝度および色度の残留情報とを比較することと、
前記第1の量の輝度および色度の残留情報が前記第2の量の輝度および色度の残留情報よりも大きいとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
を備える、
C1に記載の方法。
[C9]
ピクセルの前記ブロックの前記少なくとも1つの他のパーティションについての、前記少なくとも1つの他のコーディングモードに関連する情報を取得することは、ピクセルの前記ブロックの2つの他のパーティションについての、2つの他のコーディングモードに関連する情報を取得すること、を備え、なお、前記2つの他のパーティションのうちの一方のパーティションは、前記第1のパーティションとは異なり、そして前記2つの他のパーティションのうちの別のパーティションは、前記第1のパーティションと同じであり、そして
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、前記第1および第2の他のコーディングモードに関連する前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定すること、を備える、
C1に記載の方法。
[C10]
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、前記第1のパーティションと同じである前記パーティションを有する前記2つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定すること、を備える、C9に記載の方法。
[C11]
前記第1のコーディングモードは、SKIPコーディングモードとDIRECTコーディングモードとのうちの一方を備える、C9に記載の方法。
[C12]
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、前記少なくとも1つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第1のコーディングモードを選択すること、を備え、そして前記第1のコーディングモードでピクセルの前記ブロックを符号化すること、をさらに備える、C1に記載の方法。
[C13]
ビデオデータを処理するための装置であって、
メモリと、
前記メモリから、現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報と、ピクセルの前記ブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報と、を取得し、そして、前記少なくとも1つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、制御モジュールと、
を備え、
前記少なくとも1つの他のパーティションは、前記第1のパーティションとは異なる、
装置。
[C14]
前記少なくとも1つの他のパーティションは、前記第1のパーティションのサブパーティションを備える、C13に記載の装置。
[C15]
前記制御モジュールは、前記少なくとも1つの他のコーディングモードに関連する動き情報と前記第1のコーディングモードに関連する動き情報とを比較し、そして、前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C13に記載の装置。
[C16]
前記制御モジュールは、前記少なくとも1つの他のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、前記第1のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、を比較する、C15に記載の装置。
[C17]
前記制御モジュールは、前記第1のコーディングモードに関連する前記動き情報と前記少なくとも1つの他のコーディングモードの前記動き情報との間の差が、しきい値以上であるとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C15に記載の装置。
[C18]
前記制御モジュールは、前記少なくとも1つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較し、そして、前記少なくとも1つの他のコーディングモードに関連する前記複数の動きベクトルのうちの1つまたは複数が異なる方向に揃えられているとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C13に記載の装置。
[C19]
前記制御モジュールは、前記少なくとも1つの他のコーディングモードに関連する参照情報を解析し、そして、前記参照情報が時間的に前記現在のフレームのすぐ隣に位置していないフレームを参照するとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C13に記載の装置。
[C20]
前記制御モジュールは、前記少なくとも1つの他のコーディングモードに関連する第2の量の輝度および色度の残留情報と前記第1のコーディングモードに関連する第1の量の輝度および色度の残留情報とを比較し、そして、前記第1の量の輝度および色度の残留情報が前記第2の量の輝度および色度の残留情報よりも大きいとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C13に記載の装置。
[C21]
前記制御モジュールは、ピクセルの前記ブロックの2つの他のパーティションについての、2つの他のコーディングモードに関連する情報を取得し、そして、前記第1および第2の他のコーディングモードに関連する前記情報を使用して前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、なお、前記2つの他のパーティションのうちの一方のパーティションは、前記第1のパーティションとは異なり、前記2つの他のパーティションのうちの別のパーティションは、前記第1のパーティションと同じである、C13に記載の装置。
[C22]
前記制御モジュールは、前記第1のパーティションと同じである前記パーティションを有する前記2つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、C21に記載の装置。
[C23]
前記制御モジュールは、ピクセルの前記ブロックが、SKIPコーディングモードとDIRECTコーディングモードとのうちの一方で符号化されるべきかどうか、を決定する、C21に記載の装置。
[C24]
前記制御モジュールは、前記少なくとも1つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第1のコーディングモードを選択し、そして、前記第1のコーディングモードでピクセルの前記ブロックを符号化するためのエンコーダ、をさらに備える、C13に記載の装置。
[C25]
ビデオデータを処理するための装置であって、
現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報を取得するための手段と;
ピクセルの前記ブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報を取得するための手段と、なお、前記少なくとも1つの他のパーティションは前記第1のパーティションモードとは異なる;
前記少なくとも1つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するための手段と;
を備える装置。
[C26]
前記少なくとも1つの他のパーティションは、前記第1のパーティションのサブパーティションを備える、C25に記載の装置。
[C27]
前記決定する手段は、前記少なくとも1つの他のコーディングモードに関連する動き情報と前記第1のコーディングモードに関連する動き情報とを比較し、そして、前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C25に記載の装置。
[C28]
前記決定する手段は、前記少なくとも1つの他のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、前記第1のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、を比較する、C27に記載の装置。
[C29]
前記決定する手段は、前記第1のコーディングモードに関連する前記動き情報と前記少なくとも1つの他のコーディングモードの前記動き情報との間の差が、しきい値以上であるとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C27に記載の装置。
[C30]
前記決定する手段は、前記少なくとも1つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較し、そして、前記少なくとも1つの他のコーディングモードに関連する前記複数の動きベクトルのうちの1つまたは複数が異なる方向に揃えられているとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C25に記載の装置。
[C31]
前記決定する手段は、前記少なくとも1つの他のコーディングモードに関連する参照情報を解析し、そして、前記参照情報が時間的に前記現在のフレームのすぐ隣に位置していないフレームを参照するとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C25に記載の装置。
[C32]
前記決定する手段は、前記少なくとも1つの他のコーディングモードに関連する第2の量の輝度および色度の残留情報と、前記第1のコーディングモードに関連する第1の量の輝度および色度の残留情報と、を比較し、そして、前記第1の量の輝度および色度の残留情報が前記第2の量の輝度および色度の残留情報よりも大きいとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C25に記載の装置。
[C33]
前記取得する手段は、ピクセルの前記ブロックの2つの他のパーティションについての、2つの他のコーディングモードに関連する情報を取得し、なお、前記2つの他のパーティションのうちの一方のパーティションは前記第1のパーティションとは異なり、前記2つの他のパーティションのうちの別のパーティションは前記第1のパーティションと同じであり、そして、
前記決定する手段は、前記第1および第2の他のコーディングモードに関連する前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、
C25に記載の装置。
[C34]
前記決定する手段は、前記第1のパーティションと同じである前記パーティションを有する前記2つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、C33に記載の装置。
[C35]
前記第1のコーディングモードは、SKIPコーディングモードとDIRECTコーディングモードとのうちの一方を備える、C33に記載の装置。
[C36]
前記決定する手段は、前記少なくとも1つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第1のコーディングモードを選択し、そして、前記第1のコーディングモードでピクセルの前記ブロックを符号化するための手段、をさらに備える、C25に記載の装置。
[C37]
命令を有するコンピュータ可読媒体を備える、マルチメディアデータを処理するためのコンピュータプログラムプロダクトであって、
前記命令は、
現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報を取得するためのコードと;
ピクセルの前記ブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報を取得するためのコードと、なお前記少なくとも1つの他のパーティションは前記第1のパーティションモードとは異なる;
前記少なくとも1つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードと;
を備える、
コンピュータプログラムプロダクト。
[C38]
前記少なくとも1つの他のパーティションは、前記第1のパーティションのサブパーティションを備える、C37に記載のコンピュータプログラムプロダクト。
[C39]
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
前記少なくとも1つの他のコーディングモードに関連する動き情報と、前記第1のコーディングモードに関連する動き情報と、を比較するためのコードと、
前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
を備える、
C37に記載のコンピュータプログラムプロダクト。
[C40]
前記少なくとも1つの他のコーディングモードに関連する動き情報と前記第1のコーディングモードに関連する前記動き情報とを比較するためのコードは、前記少なくとも1つの他のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、前記第1のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、を比較するためのコード、を備える、C39に記載のコンピュータプログラムプロダクト。
[C41]
前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードは、前記第1のコーディングモードに関連する前記動き情報と前記少なくとも1つの他のコーディングモードの前記動き情報との間の差がしきい値以上であるとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコード、を備える、C39に記載のコンピュータプログラムプロダクト。
[C42]
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
前記少なくとも1つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較するためのコードと、
前記少なくとも1つの他のコーディングモードに関連する前記複数の動きベクトルのうちの1つまたは複数が異なる方向に揃えられているとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
を備える、
C37に記載のコンピュータプログラムプロダクト。
[C43]
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
前記少なくとも1つの他のコーディングモードに関連する参照情報を解析するためのコードと、
時間的に前記現在のフレームのすぐ隣に位置していないフレームを前記参照情報が参照するとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
を備える、
C37に記載のコンピュータプログラムプロダクト。
[C44]
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
前記少なくとも1つの他のコーディングモードに関連する第2の量の輝度および色度の残留情報と、前記第1のコーディングモードに関連する第1の量の輝度および色度の残留情報と、を比較するためのコードと、
前記第1の量の輝度および色度の残留情報が前記第2の量の輝度および色度の残留情報よりも大きいとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
を備える、
C37に記載のコンピュータプログラムプロダクト。
[C45]
ピクセルの前記ブロックの前記少なくとも1つの他のパーティションについての、前記少なくとも1つの他のコーディングモードに関連する情報を取得するためのコードは、ピクセルの前記ブロックの2つの他のパーティションについての、2つの他のコーディングモードに関連する情報を取得するためのコード、を備え、なお、前記2つの他のパーティションのうちの一方のパーティションは前記第1のパーティションとは異なり、前記2つの他のパーティションのうちの別のパーティションは前記第1のパーティションと同じであり、そして、
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、前記第1および第2の他のコーディングモードに関連する前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコード、を備える、
C37に記載のコンピュータプログラムプロダクト。
[C46]
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、前記第1のパーティションと同じである前記パーティションを有する前記2つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコード、を備える、C46に記載のコンピュータプログラムプロダクト。
[C47]
前記第1のコーディングモードは、SKIPコーディングモードとDIRECTコーディングモードとのうちの一方を備える、C46に記載のコンピュータプログラムプロダクト。
[C48]
前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、前記少なくとも1つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第1のコーディングモードを選択するためのコード、を備え、そして、前記第1のコーディングモードでピクセルの前記ブロックを符号化するためのコード、をさらに備える、C37に記載のコンピュータプログラムプロダクト。
[C49]
ビデオデータを処理するためのワイヤレス通信デバイスハンドセットであって、
現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報と、ピクセルの前記ブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報と、を取得し、前記少なくとも1つの他のコーディングモードに関連する少なくとも前記情報を使用して前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定し、そして、前記第1のコーディングモードでピクセルの前記ブロックを符号化する、符号化モジュールと、なお、前記少なくとも1つの他のパーティションは前記第1のパーティションとは異なる;
ピクセルの前記符号化されたブロックを送信するためのトランスミッタと;
を備えるハンドセット。
[C50]
前記少なくとも1つの他のパーティションは、前記第1のパーティションのサブパーティションを備える、C49に記載のハンドセット。
[C51]
前記符号化モジュールは、前記少なくとも1つの他のコーディングモードに関連する動き情報と、前記第1のコーディングモードに関連する動き情報と、を比較し、そして、前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C49に記載のハンドセット。
[C52]
前記符号化モジュールは、前記少なくとも1つの他のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、前記第1のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、を比較する、C51に記載のハンドセット。
[C53]
前記符号化モジュールは、前記第1のコーディングモードに関連する前記動き情報と前記少なくとも1つの他のコーディングモードの前記動き情報との間の差が、しきい値以上であるとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C51に記載のハンドセット。
[C54]
前記符号化モジュールは、前記少なくとも1つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較し、そして、前記少なくとも1つの他のコーディングモードに関連する前記複数の動きベクトルのうちの1つまたは複数が異なる方向に揃えられているとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないことを決定する、C49に記載のハンドセット。
[C55]
前記符号化モジュールは、前記少なくとも1つの他のコーディングモードに関連する参照情報を解析し、そして、前記参照情報が、時間的に前記現在のフレームのすぐ隣に位置していないフレームを参照するとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C49に記載のハンドセット。
[C56]
前記符号化モジュールは、前記少なくとも1つの他のコーディングモードに関連する第2の量の輝度および色度の残留情報と、前記第1のコーディングモードに関連する第1の量の輝度および色度の残留情報と、を比較し、そして、前記第1の量の輝度および色度の残留情報が前記第2の量の輝度および色度の残留情報よりも大きいとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、C49に記載のハンドセット。
[C57]
前記符号化モジュールは、ピクセルの前記ブロックの2つの他のパーティションについての、2つの他のコーディングモードに関連する情報、を取得し、そして、前記第1および第2の他のコーディングモードに関連する前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、なお、前記2つの他のパーティションのうちの一方のパーティションは、前記第1のパーティションとは異なり、前記2つの他のパーティションのうちの別のパーティションは、前記第1のパーティションと同じである、C49に記載のハンドセット。
[C58]
前記符号化モジュールは、前記第1のパーティションと同じである前記パーティションを有する前記2つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、C57に記載のハンドセット。
[C59]
前記符号化モジュールは、ピクセルの前記ブロックが、SKIPコーディングモードとDIRECTコーディングモードとのうちの一方で符号化されるべきかどうか、を決定する、C57に記載のハンドセット。
[C60]
前記符号化モジュールは、前記少なくとも1つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第1のコーディングモードを選択し、そして、前記第1のコーディングモードでピクセルの前記ブロックを符号化するためのエンコーダ、をさらに備える、C49に記載のハンドセット。

Claims (50)

  1. ビデオデータを処理するための方法であって、
    現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報を取得することと;
    ピクセルの前記ブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報を取得することと、ここにおいて、前記少なくとも1つの他のパーティションは、前記第1のパーティションのサブパーティションを備える;
    前記少なくとも1つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することと;
    を備え、
    ここにおいて、前記少なくとも1つの他のコーディングモードに関連する前記情報は、ピクセルの前記ブロックが前記少なくとも1つの他のコーディングモードを使用して符号化された場合には生成されたことになる情報であ
    前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
    前記少なくとも1つの他のコーディングモードに関連する動き情報と前記第1のコーディングモードに関連する動き情報とを比較することと、
    前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
    を備える、方法。
  2. 前記少なくとも1つの他のコーディングモードに関連する動き情報と前記第1のコーディングモードに関連する前記動き情報とを比較することは、前記少なくとも1つの他のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と前記第1のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均とを比較すること、を備える、請求項に記載の方法。
  3. 前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することは、前記第1のコーディングモードに関連する前記動き情報と前記少なくとも1つの他のコーディングモードの前記動き情報との間の差がしきい値以上であるとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定すること、を備える、請求項に記載の方法。
  4. 前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
    前記少なくとも1つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較することと、
    前記少なくとも1つの他のコーディングモードに関連する前記複数の動きベクトルのうちの1つまたは複数が異なる方向に揃えられているとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
    を備える、
    請求項1に記載の方法。
  5. 前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
    前記少なくとも1つの他のコーディングモードに関連する参照情報を解析することと、
    時間的に前記現在のフレームのすぐ隣に位置していないフレームを前記参照情報が参照するとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
    を備える、
    請求項1に記載の方法。
  6. 前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
    前記少なくとも1つの他のコーディングモードに関連する第2の量の輝度および色度の残留情報と前記第1のコーディングモードに関連する第1の量の輝度および色度の残留情報とを比較することと、
    前記第1の量の輝度および色度の残留情報が前記第2の量の輝度および色度の残留情報よりも大きいとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
    を備える、
    請求項1に記載の方法。
  7. ピクセルの前記ブロックの前記少なくとも1つの他のパーティションについての、前記少なくとも1つの他のコーディングモードに関連する情報を取得することは、ピクセルの前記ブロックの2つの他のパーティションについての、2つの他のコーディングモードに関連する情報を取得すること、を備え、なお、前記2つの他のパーティションのうちの一方のパーティションは、前記第1のパーティションとは異なり、そして前記2つの他のパーティションのうちの別のパーティションは、前記第1のパーティションと同じであり、そして
    前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、前記第1および第2の他のコーディングモードに関連する前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定すること、を備える、
    請求項1に記載の方法。
  8. 前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、前記第1のパーティションと同じである前記パーティションを有する前記2つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定すること、を備える、請求項に記載の方法。
  9. 前記第1のコーディングモードは、SKIPコーディングモードとDIRECTコーディングモードとのうちの一方を備える、請求項に記載の方法。
  10. 前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、前記少なくとも1つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第1のコーディングモードを選択すること、を備え、そして前記第1のコーディングモードでピクセルの前記ブロックを符号化すること、をさらに備える、請求項1に記載の方法。
  11. ビデオデータを処理するための装置であって、
    メモリと、
    前記メモリから、現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報と、ピクセルの前記ブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報と、を取得し、そして、前記少なくとも1つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、制御モジュールと、
    を備え、
    前記少なくとも1つの他のパーティションは、前記第1のパーティションのサブパーティションを備え、
    前記少なくとも1つの他のコーディングモードに関連する前記情報は、ピクセルの前記ブロックが前記少なくとも1つの他のコーディングモードを使用して符号化された場合には生成されたことになる情報であ
    前記制御モジュールは、前記少なくとも1つの他のコーディングモードに関連する動き情報と前記第1のコーディングモードに関連する動き情報とを比較し、そして、前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、装置。
  12. 前記制御モジュールは、前記少なくとも1つの他のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、前記第1のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、を比較する、請求項11に記載の装置。
  13. 前記制御モジュールは、前記第1のコーディングモードに関連する前記動き情報と前記少なくとも1つの他のコーディングモードの前記動き情報との間の差が、しきい値以上であるとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項11に記載の装置。
  14. 前記制御モジュールは、前記少なくとも1つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較し、そして、前記少なくとも1つの他のコーディングモードに関連する前記複数の動きベクトルのうちの1つまたは複数が異なる方向に揃えられているとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項11に記載の装置。
  15. 前記制御モジュールは、前記少なくとも1つの他のコーディングモードに関連する参照情報を解析し、そして、前記参照情報が時間的に前記現在のフレームのすぐ隣に位置していないフレームを参照するとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項11に記載の装置。
  16. 前記制御モジュールは、前記少なくとも1つの他のコーディングモードに関連する第2の量の輝度および色度の残留情報と前記第1のコーディングモードに関連する第1の量の輝度および色度の残留情報とを比較し、そして、前記第1の量の輝度および色度の残留情報が前記第2の量の輝度および色度の残留情報よりも大きいとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項11に記載の装置。
  17. 前記制御モジュールは、ピクセルの前記ブロックの2つの他のパーティションについての、2つの他のコーディングモードに関連する情報を取得し、そして、前記第1および第2の他のコーディングモードに関連する前記情報を使用して前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、なお、前記2つの他のパーティションのうちの一方のパーティションは、前記第1のパーティションとは異なり、前記2つの他のパーティションのうちの別のパーティションは、前記第1のパーティションと同じである、請求項11に記載の装置。
  18. 前記制御モジュールは、前記第1のパーティションと同じである前記パーティションを有する前記2つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、請求項17に記載の装置。
  19. 前記制御モジュールは、ピクセルの前記ブロックが、SKIPコーディングモードとDIRECTコーディングモードとのうちの一方で符号化されるべきかどうか、を決定する、請求項17に記載の装置。
  20. 前記制御モジュールは、前記少なくとも1つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第1のコーディングモードを選択し、そして、前記第1のコーディングモードでピクセルの前記ブロックを符号化するためのエンコーダ、をさらに備える、請求項11に記載の装置。
  21. ビデオデータを処理するための装置であって、
    現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報を取得するための手段と;
    ピクセルの前記ブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報を取得するための手段と、ここにおいて、前記少なくとも1つの他のパーティションは前記第1のパーティションモードのサブパーティションを備える;
    前記少なくとも1つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するための手段と;
    を備え、
    ここにおいて、前記少なくとも1つの他のコーディングモードに関連する前記情報は、ピクセルの前記ブロックが前記少なくとも1つの他のコーディングモードを使用して符号化された場合には生成されたことになる情報であ
    前記決定する手段は、前記少なくとも1つの他のコーディングモードに関連する動き情報と前記第1のコーディングモードに関連する動き情報とを比較し、そして、前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、装置。
  22. 前記決定する手段は、前記少なくとも1つの他のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、前記第1のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、を比較する、請求項21に記載の装置。
  23. 前記決定する手段は、前記第1のコーディングモードに関連する前記動き情報と前記少なくとも1つの他のコーディングモードの前記動き情報との間の差が、しきい値以上であるとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項21に記載の装置。
  24. 前記決定する手段は、前記少なくとも1つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較し、そして、前記少なくとも1つの他のコーディングモードに関連する前記複数の動きベクトルのうちの1つまたは複数が異なる方向に揃えられているとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項21に記載の装置。
  25. 前記決定する手段は、前記少なくとも1つの他のコーディングモードに関連する参照情報を解析し、そして、前記参照情報が時間的に前記現在のフレームのすぐ隣に位置していないフレームを参照するとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項21に記載の装置。
  26. 前記決定する手段は、前記少なくとも1つの他のコーディングモードに関連する第2の量の輝度および色度の残留情報と、前記第1のコーディングモードに関連する第1の量の輝度および色度の残留情報と、を比較し、そして、前記第1の量の輝度および色度の残留情報が前記第2の量の輝度および色度の残留情報よりも大きいとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項21に記載の装置。
  27. 前記取得する手段は、ピクセルの前記ブロックの2つの他のパーティションについての、2つの他のコーディングモードに関連する情報を取得し、なお、前記2つの他のパーティションのうちの一方のパーティションは前記第1のパーティションとは異なり、前記2つの他のパーティションのうちの別のパーティションは前記第1のパーティションと同じであり、そして、
    前記決定する手段は、前記第1および第2の他のコーディングモードに関連する前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、
    請求項21に記載の装置。
  28. 前記決定する手段は、前記第1のパーティションと同じである前記パーティションを有する前記2つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、請求項27に記載の装置。
  29. 前記第1のコーディングモードは、SKIPコーディングモードとDIRECTコーディングモードとのうちの一方を備える、請求項27に記載の装置。
  30. 前記決定する手段は、前記少なくとも1つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第1のコーディングモードを選択し、そして、前記第1のコーディングモードでピクセルの前記ブロックを符号化するための手段、をさらに備える、請求項21に記載の装置。
  31. マルチメディアデータを処理するための命令を記憶したコンピュータ読み取り可能記憶媒体であって、
    前記命令は、
    現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報を取得するためのコードと;
    ピクセルの前記ブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報を取得するためのコードと、ここにおいて、前記少なくとも1つの他のパーティションは前記第1のパーティションモードのサブパーティションを備える;
    前記少なくとも1つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードと;
    を備え、
    ここにおいて、前記少なくとも1つの他のコーディングモードに関連する前記情報は、ピクセルの前記ブロックが前記少なくとも1つの他のコーディングモードを使用して符号化された場合には生成されたことになる情報であ
    前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
    前記少なくとも1つの他のコーディングモードに関連する動き情報と、前記第1のコーディングモードに関連する動き情報と、を比較するためのコードと、
    前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
    を備える、コンピュータ読み取り可能記憶媒体。
  32. 前記少なくとも1つの他のコーディングモードに関連する動き情報と前記第1のコーディングモードに関連する前記動き情報とを比較するためのコードは、前記少なくとも1つの他のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、前記第1のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、を比較するためのコード、を備える、請求項31に記載のコンピュータ読み取り可能記憶媒体。
  33. 前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードは、前記第1のコーディングモードに関連する前記動き情報と前記少なくとも1つの他のコーディングモードの前記動き情報との間の差がしきい値以上であるとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコード、を備える、請求項31に記載のコンピュータ読み取り可能記憶媒体。
  34. 前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
    前記少なくとも1つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較するためのコードと、
    前記少なくとも1つの他のコーディングモードに関連する前記複数の動きベクトルのうちの1つまたは複数が異なる方向に揃えられているとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
    を備える、
    請求項31に記載のコンピュータ読み取り可能記憶媒体。
  35. 前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
    前記少なくとも1つの他のコーディングモードに関連する参照情報を解析するためのコードと、
    時間的に前記現在のフレームのすぐ隣に位置していないフレームを前記参照情報が参照するとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
    を備える、
    請求項31に記載のコンピュータ読み取り可能記憶媒体。
  36. 前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
    前記少なくとも1つの他のコーディングモードに関連する第2の量の輝度および色度の残留情報と、前記第1のコーディングモードに関連する第1の量の輝度および色度の残留情報と、を比較するためのコードと、
    前記第1の量の輝度および色度の残留情報が前記第2の量の輝度および色度の残留情報よりも大きいとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
    を備える、
    請求項31に記載のコンピュータ読み取り可能記憶媒体。
  37. ピクセルの前記ブロックの前記少なくとも1つの他のパーティションについての、前記少なくとも1つの他のコーディングモードに関連する情報を取得するためのコードは、ピクセルの前記ブロックの2つの他のパーティションについての、2つの他のコーディングモードに関連する情報を取得するためのコード、を備え、なお、前記2つの他のパーティションのうちの一方のパーティションは前記第1のパーティションとは異なり、前記2つの他のパーティションのうちの別のパーティションは前記第1のパーティションと同じであり、そして、
    前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、前記第1および第2の他のコーディングモードに関連する前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコード、を備える、
    請求項31に記載のコンピュータ読み取り可能記憶媒体。
  38. 前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、前記第1のパーティションと同じである前記パーティションを有する前記2つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコード、を備える、請求項31に記載のコンピュータ読み取り可能記憶媒体。
  39. 前記第1のコーディングモードは、SKIPコーディングモードとDIRECTコーディングモードとのうちの一方を備える、請求項38に記載のコンピュータ読み取り可能記憶媒体。
  40. 前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、前記少なくとも1つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第1のコーディングモードを選択するためのコード、を備え、そして、前記第1のコーディングモードでピクセルの前記ブロックを符号化するためのコード、をさらに備える、請求項31に記載のコンピュータ読み取り可能記憶媒体。
  41. ビデオデータを処理するためのワイヤレス通信デバイスハンドセットであって、
    現在のフレームのピクセルの1ブロックの第1のパーティションについての、第1のコーディングモードに関連する情報と、ピクセルの前記ブロックの少なくとも1つの他のパーティションについての、少なくとも1つの他のコーディングモードに関連する情報と、を取得し、前記少なくとも1つの他のコーディングモードに関連する少なくとも前記情報を使用して前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定し、そして、前記第1のコーディングモードでピクセルの前記ブロックを符号化する、符号化モジュールと、ここにおいて、前記少なくとも1つの他のパーティションは前記第1のパーティションのサブパーティションを備え、ここにおいて、前記少なくとも1つの他のコーディングモードに関連する前記情報は、ピクセルの前記ブロックが前記少なくとも1つの他のコーディングモードを使用して符号化された場合には生成されたことになる情報であり、
    前記符号化モジュールは、前記少なくとも1つの他のコーディングモードに関連する動き情報と、前記第1のコーディングモードに関連する動き情報と、を比較し、そして、前記第1のコーディングモードに関連する前記動き情報が前記少なくとも1つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する;
    ピクセルの前記符号化されたブロックを送信するためのトランスミッタと;
    を備えるハンドセット。
  42. 前記符号化モジュールは、前記少なくとも1つの他のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、前記第1のコーディングモードに関連する1つの動きベクトルおよび複数の動きベクトルの平均と、を比較する、請求項41に記載のハンドセット。
  43. 前記符号化モジュールは、前記第1のコーディングモードに関連する前記動き情報と前記少なくとも1つの他のコーディングモードの前記動き情報との間の差が、しきい値以上であるとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項41に記載のハンドセット。
  44. 前記符号化モジュールは、前記少なくとも1つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較し、そして、前記少なくとも1つの他のコーディングモードに関連する前記複数の動きベクトルのうちの1つまたは複数が異なる方向に揃えられているとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないことを決定する、請求項41に記載のハンドセット。
  45. 前記符号化モジュールは、前記少なくとも1つの他のコーディングモードに関連する参照情報を解析し、そして、前記参照情報が、時間的に前記現在のフレームのすぐ隣に位置していないフレームを参照するとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項41に記載のハンドセット。
  46. 前記符号化モジュールは、前記少なくとも1つの他のコーディングモードに関連する第2の量の輝度および色度の残留情報と、前記第1のコーディングモードに関連する第1の量の輝度および色度の残留情報と、を比較し、そして、前記第1の量の輝度および色度の残留情報が前記第2の量の輝度および色度の残留情報よりも大きいとき、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項41に記載のハンドセット。
  47. 前記符号化モジュールは、ピクセルの前記ブロックの2つの他のパーティションについての、2つの他のコーディングモードに関連する情報、を取得し、そして、前記第1および第2の他のコーディングモードに関連する前記情報を使用して、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、なお、前記2つの他のパーティションのうちの一方のパーティションは、前記第1のパーティションとは異なり、前記2つの他のパーティションのうちの別のパーティションは、前記第1のパーティションと同じである、請求項41に記載のハンドセット。
  48. 前記符号化モジュールは、前記第1のパーティションと同じである前記パーティションを有する前記2つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第1のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、請求項47に記載のハンドセット。
  49. 前記符号化モジュールは、ピクセルの前記ブロックが、SKIPコーディングモードとDIRECTコーディングモードとのうちの一方で符号化されるべきかどうか、を決定する、請求項47に記載のハンドセット。
  50. 前記符号化モジュールは、前記少なくとも1つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第1のコーディングモードを選択し、そして、前記第1のコーディングモードでピクセルの前記ブロックを符号化するためのエンコーダ、をさらに備える、請求項41に記載のハンドセット。
JP2009543288A 2006-12-22 2007-12-22 他のコーディングモードの情報を使用したコーディングモードの選択 Expired - Fee Related JP5461193B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US87166006P 2006-12-22 2006-12-22
US60/871,660 2006-12-22
US11/849,059 US8311120B2 (en) 2006-12-22 2007-08-31 Coding mode selection using information of other coding modes
US11/849,059 2007-08-31
PCT/US2007/088760 WO2008080158A2 (en) 2006-12-22 2007-12-22 Coding mode selection using information of other coding modes

Publications (2)

Publication Number Publication Date
JP2010515305A JP2010515305A (ja) 2010-05-06
JP5461193B2 true JP5461193B2 (ja) 2014-04-02

Family

ID=39494323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009543288A Expired - Fee Related JP5461193B2 (ja) 2006-12-22 2007-12-22 他のコーディングモードの情報を使用したコーディングモードの選択

Country Status (6)

Country Link
US (1) US8311120B2 (ja)
EP (3) EP2887666B1 (ja)
JP (1) JP5461193B2 (ja)
CN (1) CN101563928B (ja)
TW (1) TW200841744A (ja)
WO (1) WO2008080158A2 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
KR101228109B1 (ko) * 2006-07-24 2013-01-31 삼성전자주식회사 움직임 예측장치 및 방법과 이를 채용하는 영상 부호화장치및 방법
US8953673B2 (en) * 2008-02-29 2015-02-10 Microsoft Corporation Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
US8711948B2 (en) * 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US8831101B2 (en) * 2008-08-02 2014-09-09 Ecole De Technologie Superieure Method and system for determining a metric for comparing image blocks in motion compensated video coding
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8213503B2 (en) * 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
US8379727B2 (en) * 2008-09-26 2013-02-19 General Instrument Corporation Method and apparatus for scalable motion estimation
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR101173560B1 (ko) * 2008-12-15 2012-08-13 한국전자통신연구원 고속 모드 결정 장치 및 방법
US9100656B2 (en) 2009-05-21 2015-08-04 Ecole De Technologie Superieure Method and system for efficient video transcoding using coding modes, motion vectors and residual information
US8411756B2 (en) * 2009-05-21 2013-04-02 Ecole De Technologie Superieure Method and system for generating block mode conversion table for efficient video transcoding
KR101712351B1 (ko) * 2009-06-26 2017-03-06 에스케이 텔레콤주식회사 다차원 정수 변환을 이용한 영상 부호화/복호화 장치 및 방법
KR101356613B1 (ko) 2009-08-21 2014-02-06 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
WO2011021914A2 (ko) 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
KR20110050283A (ko) * 2009-11-06 2011-05-13 삼성전자주식회사 다중 참조 영상을 이용한 고속 움직임 추정 방법
WO2011125211A1 (ja) 2010-04-08 2011-10-13 株式会社 東芝 画像符号化方法及び画像復号化方法
KR102223526B1 (ko) * 2010-04-09 2021-03-04 엘지전자 주식회사 비디오 데이터 처리 방법 및 장치
US11284081B2 (en) 2010-11-25 2022-03-22 Lg Electronics Inc. Method for signaling image information, and method for decoding image information using same
CN107801035B (zh) 2010-11-25 2020-11-03 Lg 电子株式会社 视频解码方法和视频编码方法
US8755438B2 (en) 2010-11-29 2014-06-17 Ecole De Technologie Superieure Method and system for selectively performing multiple video transcoding operations
CN103733679A (zh) 2011-05-26 2014-04-16 三星电子株式会社 用于图像数据发送和接收的方法和设备
US9948938B2 (en) * 2011-07-21 2018-04-17 Texas Instruments Incorporated Methods and systems for chroma residual data prediction
KR20130055773A (ko) * 2011-11-21 2013-05-29 한국전자통신연구원 부호화 방법 및 장치
WO2013106986A1 (en) 2012-01-16 2013-07-25 Mediatek Singapore Pte. Ltd. Methods and apparatuses of intra mode coding
US9225984B2 (en) * 2012-01-24 2015-12-29 Futurewei Technologies, Inc. Simplification of LM mode
EP2683165B1 (en) * 2012-07-04 2015-10-14 Thomson Licensing Method for coding and decoding a block of pixels from a motion model
CN103796031A (zh) * 2012-10-27 2014-05-14 朱洪波 高灵活变尺寸块变换
US9571837B2 (en) * 2013-11-01 2017-02-14 Broadcom Corporation Color blending prevention in video coding
DE102014006080A1 (de) * 2014-04-25 2015-10-29 Unify Gmbh & Co. Kg Verfahren und Vorrichtung zur Übermittlung von kodierten Mediendaten
JP6341756B2 (ja) * 2014-05-26 2018-06-13 キヤノン株式会社 画像処理装置、画像処理装置の制御方法
US10085027B2 (en) 2015-03-06 2018-09-25 Qualcomm Incorporated Adaptive mode checking order for video encoding
KR101711894B1 (ko) * 2015-04-21 2017-03-03 한국항공대학교산학협력단 상위깊이의 부호화 정보를 이용한 영상 부호화 방법 및 장치
KR101711896B1 (ko) * 2015-05-06 2017-03-03 한국항공대학교산학협력단 상위깊이 및 현재깊이의 부호화 정보를 이용한 영상 부호화 방법 및 장치
US10762911B2 (en) * 2015-12-01 2020-09-01 Ati Technologies Ulc Audio encoding using video information
WO2018049594A1 (en) * 2016-09-14 2018-03-22 Mediatek Inc. Methods of encoder decision for quad-tree plus binary tree structure
KR102476204B1 (ko) * 2017-10-19 2022-12-08 삼성전자주식회사 멀티 코덱 인코더 및 이를 포함하는 멀티 코덱 인코딩 시스템
CN111050164B (zh) * 2018-10-15 2022-05-17 华为技术有限公司 一种编解码的方法和装置
EP3648059B1 (en) * 2018-10-29 2021-02-24 Axis AB Video processing device and method for determining motion metadata for an encoded video
CN114710666B (zh) * 2022-06-01 2022-09-02 深圳比特微电子科技有限公司 一种编码模式的选择方法、装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001078197A (ja) * 1999-09-03 2001-03-23 Canon Inc 画像符号化装置、画像符号化方法及び記憶媒体
US7801215B2 (en) * 2001-07-24 2010-09-21 Sasken Communication Technologies Limited Motion estimation technique for digital video encoding applications
DK1486065T3 (en) 2002-03-15 2016-02-29 Nokia Technologies Oy PROCEDURE FOR CODING MOVEMENT IN A VIDEO SEQUENCE
JP2003319391A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
WO2005004491A1 (en) * 2003-06-25 2005-01-13 Thomson Licensing S.A. Fast mode-decision encoding for interframes
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US8179963B2 (en) * 2003-07-24 2012-05-15 Panasonic Corporation Coding mode determining apparatus, image coding apparatus, coding mode determining method and coding mode determining program
JP2005348093A (ja) 2004-06-03 2005-12-15 Sony Corp 画像処理装置、そのプログラムおよびその方法
EP1605706A2 (en) 2004-06-09 2005-12-14 Broadcom Corporation Advanced video coding (AVC) intra prediction scheme
US8649436B2 (en) * 2004-08-20 2014-02-11 Sigma Designs Inc. Methods for efficient implementation of skip/direct modes in digital video compression algorithms
JP4438949B2 (ja) * 2004-12-21 2010-03-24 カシオ計算機株式会社 動き補償予測符号化装置、動き補償予測符号化方法及びプログラム
US20080310510A1 (en) * 2005-03-22 2008-12-18 Mitsubishi Electric Corporation Image Coding, Recording and Reading Apparatus
CN100338957C (zh) * 2005-06-20 2007-09-19 浙江大学 一种复杂度可分级的模式选择方法
US8155189B2 (en) * 2005-10-19 2012-04-10 Freescale Semiconductor, Inc. System and method of coding mode decision for video encoding
US8437396B2 (en) * 2006-08-10 2013-05-07 Vixs Systems, Inc. Motion search module with field and frame processing and methods for use therewith
US9794561B2 (en) * 2006-11-21 2017-10-17 Vixs Systems, Inc. Motion refinement engine with selectable partitionings for use in video encoding and methods for use therewith
US20080123750A1 (en) * 2006-11-29 2008-05-29 Michael Bronstein Parallel deblocking filter for H.264 video codec
US9961372B2 (en) * 2006-12-08 2018-05-01 Nxp Usa, Inc. Adaptive disabling of deblock filtering based on a content characteristic of video information

Also Published As

Publication number Publication date
EP2451159B1 (en) 2015-05-06
US20080152000A1 (en) 2008-06-26
EP2887666B1 (en) 2017-07-12
EP2119238A2 (en) 2009-11-18
EP2451159A1 (en) 2012-05-09
WO2008080158A3 (en) 2008-08-14
EP2887666A1 (en) 2015-06-24
WO2008080158A2 (en) 2008-07-03
CN101563928B (zh) 2013-12-11
TW200841744A (en) 2008-10-16
EP2119238B1 (en) 2016-06-01
CN101563928A (zh) 2009-10-21
JP2010515305A (ja) 2010-05-06
US8311120B2 (en) 2012-11-13

Similar Documents

Publication Publication Date Title
JP5461193B2 (ja) 他のコーディングモードの情報を使用したコーディングモードの選択
JP6896903B2 (ja) 大型マクロ・ブロックを用いたビデオ・コーディング
JP6042470B2 (ja) ビデオコーディングのための適応動き解像度
EP2537344B1 (en) Block type signalling in video coding
JP5497169B2 (ja) ビデオコーディングにおける単方向予測および双方向予測のための異なる重み付け
KR101135293B1 (ko) 비디오 블록 헤더 정보의 적응적 코딩
KR101377883B1 (ko) 비디오 인코딩에서 넌-제로 라운딩 및 예측 모드 선택 기법들
WO2008014288A9 (en) Adaptive video frame interpolation
KR20140068269A (ko) 비디오 코딩을 위한 템플릿 매칭
WO2011002813A1 (en) Video coding based on first order prediction and pre-defined second order prediction mode
JP2012504915A (ja) 4×4および8×8よりも大きい変換を使用するビデオ符号化
KR101166732B1 (ko) 추정된 코딩 비용을 이용하는 비디오 코딩 모드 선택
KR101136771B1 (ko) 다른 코딩 모드의 정보를 이용한 코딩 모드 선택
JP5684342B2 (ja) デジタル映像データを処理するための方法および装置
Milicevic et al. HEVC vs. H. 264/AVC standard approach to coder’s performance evaluation
Miličević et al. An approach to selective intra coding and early inter skip prediction in H. 264/AVC standard

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120702

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120709

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120903

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120910

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121003

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130528

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130930

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131008

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140115

R150 Certificate of patent or registration of utility model

Ref document number: 5461193

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees