JP5578743B2 - コーディング構造 - Google Patents

コーディング構造 Download PDF

Info

Publication number
JP5578743B2
JP5578743B2 JP2012553802A JP2012553802A JP5578743B2 JP 5578743 B2 JP5578743 B2 JP 5578743B2 JP 2012553802 A JP2012553802 A JP 2012553802A JP 2012553802 A JP2012553802 A JP 2012553802A JP 5578743 B2 JP5578743 B2 JP 5578743B2
Authority
JP
Japan
Prior art keywords
block
coding
organization
motion
image data
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.)
Active
Application number
JP2012553802A
Other languages
English (en)
Other versions
JP2013520124A (ja
Inventor
フン パク,グァン
Original Assignee
ユニバーシティ−インダストリ コーポレーション グループ オブ キュン ヘ ユニバーシティ
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 ユニバーシティ−インダストリ コーポレーション グループ オブ キュン ヘ ユニバーシティ filed Critical ユニバーシティ−インダストリ コーポレーション グループ オブ キュン ヘ ユニバーシティ
Publication of JP2013520124A publication Critical patent/JP2013520124A/ja
Application granted granted Critical
Publication of JP5578743B2 publication Critical patent/JP5578743B2/ja
Active 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors

Landscapes

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

Description

近年、没入型感覚を求める消費者の要求およびディスプレイの技術革新により、大型ウォールサイズのテレビ(約79〜120インチ)、いわゆるUDTV(超高精細デジタル映像テレビ:Ultra Definition TV)、が業界で大きな注目を集めている。通常、UDTVは、たとえば3840ピクセル×2160ライン(4K−UDTV)または7680ピクセル×4320ライン(8K−UDTV)である相対的超高解像度を有し、通信媒体(有線/無線)またはブロードキャストラインを通じてUDTVビデオを伝送するために膨大量の帯域幅を必要とする。UDTVビデオをコード化するためのそのような広帯域またはデータの大量ブロックは、モーションのミスマッチの可能性を高めるおそれもあり、その結果、UDTVビデオの空間的および時間的なコード化の効率を増大させながらも、過剰な量のコード化データを作り出すことになる。したがって、UDTVビデオのコード化のために最適化された可変ブロックサイズを有する適応コーディング方式を開発することに関心が寄せられている。
UDTVビデオの符号化に関連する技法が提供される。1つの実施形態において、符号化デバイスは、画像データを処理するためのコーディングブロックレベルを決定するように構成され、コーディングブロックレベルに従って画像データのモーションコーディングのためのブロック編成を決定するようにさらに構成されたモーションコーディングモジュールと、ブロック編成に従って画像データのテクスチャコーディングのためのブロックサイズを決定し、それによりコード化ビットストリームを生成するように構成されたテクスチャコーディングモジュールとを含む。
前述の要約は、例示的なものに過ぎず、限定的であることを全く意図されていない。上記で説明される例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴は、図面および後段の詳細な説明を参照することにより明らかとなろう。
画像処理デバイスの例示的な実施形態を示す概略ブロック図である。 図1に示されるエンコーダの例示的な実施形態を示す概略ブロック図である。 ビデオ画像データの可変サイズのモーションコーディングのためのコーディングブロックレベルにおけるブロック編成の例示的な実施形態を示す図である。 ビデオ画像データの可変サイズのテクスチャコーディングのためのコーディングブロックサイズの例示的な実施形態を示す図である。 図3のコーディング編成と図4のコーディングブロックサイズの関係の例を示す図である。 コーディング構造を決定するための方法の例示的な実施形態を示す例示の流れ図である。 図6の第1のブロックレベル決定のための操作の例示的な実施形態を示す詳細な流れ図である。 図6の第2のブロックレベル決定のための操作の例示的な実施形態を示す詳細な流れ図である。 図6の第3のブロックレベル決定のための操作の例示的な実施形態を示す詳細な流れ図である。
以下の詳細な説明において、本明細書の一部を形成する付属の図面が参照される。図面において、文脈に特に指示がない限り、類似する符号は通常、類似するコンポーネントを識別する。詳細な説明、図面、および特許請求の範囲において説明される例示の実施形態は、限定的であることを意図していない。本明細書において提示される主題の趣旨または範囲を逸脱することなく、その他の実施形態が使用されてもよく、その他の変更が行われてもよい。本明細書において概ね説明され、図面に示される本開示の態様が、多岐にわたるさまざまな構成において配置され、代替され、組み合わされ、分離され、設計されてもよく、それらすべては明示的に企図されることは容易に理解されよう。
本開示の例示的な実施形態による装置および方法が、ハードウェア、ソフトウェア、ファームウェア、特殊用途プロセッサ、またはそれらの組み合わせを含むさまざまな形式で実施されてもよいことが理解されたい。たとえば、本開示の1つまたは複数の実施形態は、プログラムストレージデバイス(たとえば、ハードディスク、磁気フロッピーディスク、RAM、ROM、CD−ROMなど)のような少なくとも1つのコンピュータ可読媒体上で明白に具現され、適切な構成を有する、コンピュータおよびコンピュータシステムを含む任意のデバイスまたはマシンにより実行可能なプログラムまたはその他の適切なコンピュータ実行可能命令を有するアプリケーションとして実施されてもよい。一般に、プログラムモジュールの形態であってもよいコンピュータ実行可能命令は、特定のタスクを実行するかまたは特定の抽象データタイプを実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。プログラムモジュールの機能は、さまざまな実施形態において要望に応じて組み合わされるか、または分散されてもよい。さらに、添付の図面に示される構成システムコンポーネントおよびプロセスオペレーションの一部がソフトウェアにおいて実施されうるため、システムユニット/モジュール(または方法オペレーションの論理フロー)間の接続は、本開示のさまざまな実施形態がプログラムされる方法に応じて異なる場合もあることを理解されたい。
図1は、画像処理デバイス100の例示的な実施形態を示す概略ブロック図である。1つの実施形態において、画像処理デバイス100は、入力ビデオを受信することができる入力モジュール110を含むことができ、各ビデオは、カメラ、カムコーダーなどのような画像取り込みデバイス(図示せず)により取り込まれた少なくとも1つの画像フレームを有する。入力モジュール110は、受信したビデオの画像フレーム(複数可)をデジタル画像データに変換することができる。入力モジュール110は、ビデオの画像フレーム(複数可)をデジタル画像データに変換するためのアナログデジタル変換、量子化などのような、さまざまなよく知られたデータ処理技法のいずれかを使用することができる。デジタル画像データは、画像フレームのさまざまなピクセル位置における、強度、カラー、輝度などのような画像フレームの特徴を表すことができる。
一部の実施形態において、入力モジュール110は、オプションでインターフェイス(図示せず)を含むことができる。インターフェイスは、画像処理デバイス100のオペレータが、命令をエンターまたは入力できるようにすることができる。インターフェイスを介して入力されうる命令の一部の非限定的なタイプは、ビデオ(複数可)を入力として受信するための命令、以前入力されたビデオを表示するための命令、1つまたは複数の操作結果を表示するための命令、または画像処理デバイス100を別の方法で操作するための命令を含むことができる。適切なインターフェイスの例は、キーパッド、キーボード、マウス、タッチパッド、タッチスクリーン、ポインティングデバイス、トラックボール、ライトペン、ジョイスティック、音声認識デバイス、スタイラスデバイス、眼球および頭部運動トラッカー、離散化タブレット、バーコードリーダーなどを含むが、これらに限定されることはない。
画像処理デバイス100は、画像処理デバイス100のコンポーネントまたはユニット/モジュールの動作を制御するように構成されるコントローラ120をさらに含むことができる。コントローラ120は、所定の処理シーケンス/フローに従って、1つまたは複数の画像取り込みデバイス(たとえば、カメラ、カムコーダーなど)から画像フレームを有するビデオを受信するように入力モジュール110を操作することができる。1つの実施形態において、コントローラ120は、プロセッサ、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、マイクロコントローラなどを含むことができる。コントローラ120は、オペレーティングシステム、少なくとも1つのアプリケーションプログラム、およびその他のプログラムモジュールを含むソフトウェアアプリケーションを格納して操作するための少なくとも1つの内蔵システムメモリを含むことができる。コントローラ120は、画像処理デバイス100の動作を管理して制御するように構成された適切なオペレーティングシステムの実行を容易にする。それらの動作は、関連するソフトウェアアプリケーションプログラム/モジュールとの間のデータの入力および出力を含むことができる。オペレーティングシステムは、コントローラ120上で実行されているソフトウェアアプリケーションプログラム/モジュールと、たとえば画像処理デバイス100のハードウェアコンポーネントとの間のインターフェイスを提供することができる。適切なオペレーティングシステムの例は、Microsoft Windows Vista(登録商標)、Microsoft Windows(登録商標)、Apple Macintosh(登録商標) Operating System(「MacOS」)、UNIX(登録商標)オペレーティングシステム、LINUX(登録商標)オペレーティングシステムなどを含む。
画像処理デバイス100は、画像処理デバイス100のコンポーネントまたはユニット/モジュール間で通信されるデータ(たとえばデジタル画像データ)を格納するために使用されうるメモリ130をさらに含むことができる。画像処理デバイス100のさまざまなコンポーネントまたはユニット/モジュールは、データ処理のためにメモリ130(揮発性および不揮発性を含む)を使用することができる。たとえば、メモリ130は、エンコーダ140による処理のために入力モジュール110を介して取得されるデジタル画像データを格納することができる。エンコーダ140は、メモリ130からデジタル画像データを取り出して処理することができる。
メモリ130は、読み取り専用メモリ(ROM:Read Only Memory)、EPROM(消去可能ROM)、EEPROM(電気的EPROM)などのような、任意のコンピュータ可読媒体を含むことができる。加えて、メモリ130は、必要な場合および/または必要に応じて(たとえば、満杯になるとき)、交換を可能にするように、取り外し可能に着脱式のメモリであってもよい。したがって、メモリ130はまた、SmartMedia(登録商標)カード、CompactFlash(登録商標)カード、MemoryStick(登録商標)、MultiMediaCard(登録商標)、DataPlay(登録商標)ディスク、および/またはSecureDigital(登録商標)カードのような、1つまたは複数のその他のタイプのストレージデバイスを含むこともできる。
画像処理デバイス100は、エンコーダ140をさらに含むことができる。1つの実施形態において、エンコーダ140は、たとえば、カメラのような画像取り込みデバイスにより取り込まれた画像フレームから入力モジュール110によって生成されたデジタル画像データなど、入力モジュール110によって生成または形成されたデジタル画像データを処理することができる。たとえば、デジタル画像データの処理の一部として、エンコーダ140は、可変サイズのコーディング方式(たとえば、可変サイズのモーションコーディングおよび可変サイズのテクスチャコーディング)の使用を通じてデジタル画像データを圧縮することができる。
エンコーダ140は、画像データを1つまたは複数の基本処理単位(たとえば、64×64ウルトラブロック)にさらに分割することができる。各基本処理単位は、バッチとして格納され処理されるべき画像データのグループを含む。エンコーダ140は、基本画像処理単位の各々をサブブロック(たとえば、32×32スーパーブロック)に四等分して、各サブブロックに含まれる画像データを処理するためのコーディングブロックレベルを決定することができる。コーディングブロックレベルは、たとえば画像データを符号化するために使用されるコーディング情報(たとえば、関連技術で知られているモーションコーディング技法におけるモーションコーディングのためのブロック編成、およびテクスチャコーディングのためのブロックサイズ)を指示するレベルインデックスなどとして定義されてもよい。コーディングブロックレベルは、スーパーブロックレベル、マクロブロックレベル、およびミディアムブロックレベルを含むことができる。各サブブロックに対して、エンコーダ140は、画像データのサブブロックのコーディングブロックレベルを決定するために、サブブロック内の2単位以上の画像データにおいてモーション推定を実行することができる(「第1のブロックレベル決定」)。たとえば、32×32のスーパーブロックについて、エンコーダ140は、画像データの第1の単位(たとえば、32×32スーパーブロック)においてモーション推定を実行して第1のメトリック(たとえば、差分絶対値和(SAD:sum of absolute difference)、平均絶対差(MAD:mean absolute difference)、または平均二乗誤差(MSE:mean square error))を生成し、画像データの第2の単位(たとえば、32×32スーパーブロック内の16×16マクロブロックのうちの1つ)においてモーション推定を実行して第2のメトリックを生成することができる。
エンコーダ140はさらに、第1および第2のメトリックをさらに比較して、それによりサブブロック(すなわち、32×32スーパーブロック)の画像データを処理(たとえば、圧縮、符号化など)するかどうかを決定することができる。エンコーダ140が、サブブロックは処理されるべきではない(たとえば、第2のメトリックが第1のメトリックよりも小さい場合)と決定する場合、エンコーダ140は、前述の第1のブロックレベル決定と類似する方法でサブブロック内の4つの16×16マクロブロックの各々について第2のブロックレベル決定を実行することができる。エンコーダ140が、サブブロックは処理されるべきである(たとえば、第1のメトリックが第2のメトリックよりも小さいかまたは等しい場合)と決定する場合、エンコーダ140は、スーパーブロックレベルをコーディングブロックレベルとして決定し、32×32スーパーブロック内の画像データを処理することができる。
決定されたコーディングブロックレベルに従って、エンコーダ140は、ブロックレベルが決定されるブロック内の画像データのモーションコーディングのためのブロック編成(たとえば、32×32ブロック編成、32×16ブロック編成、16×32ブロック編成など)を決定することができる。ブロック編成は、たとえばモーションコーディングを実行するために使用されうるブロックのタイプとして、定義されてもよい。次いで、エンコーダ140は、ブロック編成に従って画像データのテクスチャコーディングのためのブロックサイズを決定することができる。エンコーダ140は、ブロック編成に従って、モーションコーディング(たとえば、モーション推定、モーション補正など)を実行し、それによりモーションベクトル、残余画像、ブロック編成などのようなモーション情報を出力することができる。エンコーダ140は、ブロックサイズに従って離散コサイン変換(DCT:Discrete Cosine Transform)のようなテクスチャコーディングを実行して、コード化されたビットストリームを生成することができる。一部の実施形態において、エンコーダ140は、ソフトウェア、ハードウェア、ファームウェア、またはその任意の組み合わせにより実施されてもよい。エンコーダ140は図1においてコントローラ130とは別個のユニットとして示されているが、一部の実施形態において、エンコーダ140は、コントローラ130上で実行されるアプリケーションの1つにより実施されてもよいことに留意されたい。
画像処理デバイス100はオプションで、たとえばオペレータが見るために、ビデオおよび/またはデジタル画像データの処理の結果のようなビジュアル出力を提供するディスプレイ(図示せず)を含むことができる。ディスプレイは、CRTディスプレイを含むフラットパネルディスプレイ、およびその他の適切な出力デバイスを含むことができるが、これらに限定されることはない。画像処理デバイス100はまた、オプションで、スピーカまたはプリンタのような、その他の周辺出力デバイス(図示せず)を含むこともできる。
一部の実施形態において、画像処理デバイス100はオプションで、通信モジュール150をさらに含むことができる。通信モジュール150は、コード化ビットストリーム(たとえば、テクスチャビットストリーム)およびモーション情報を、有線または無線通信プロトコルを介して、少なくとも1つの外部デバイス(図示せず)に伝送することができる。通信プロトコル(有線または無線のいずれか)は、シリアルポート、パラレルポート、PS/2ポート、ユニバーサルシリアルバス(USB)リンク、ファイアワイヤまたはIEEE1394リンクのようなデジタルインターフェイスプロトコル、または赤外線インターフェイス、ブルートゥース(登録商標)、ZigBee、高精細度マルチメディアインターフェイス(HDMI:high−definition multimedia interface)、広帯域デジタルコンテンツ保護(HDCP:high−bandwidth digital content protection)、wireless fidelity(Wi−Fi)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)などのような無線インターフェイス接続を採用することにより実施されてもよい。一部の実施形態において、通信モジュール150は、Global System for Mobile Communications(GSM)、全地球測位システム(GPS:Global Positioning System)、Digital Mobile Multimedia(DMB)、符号分割多重アクセス(CDMA)、高速ダウンリンクパケットアクセス(HSDPA:High−Speed Down Link Packet Access)、Wireless Broadband(Wi−BRO)などのような、移動通信システムを通じて通信するためのモデム(図示せず)を含むことができる。本開示において説明される接続方法は例に過ぎず、デバイス/コンピュータ間の通信リンクを確立する他の方法が使用されてもよいことが理解されよう。
図1の画像処理デバイス100は、適切なオペレーティング環境の一例に過ぎず、限定的であることは意図されていない。本明細書において説明される画像処理に適切となりうるその他のよく知られているコンピュータシステム、環境、および/または構成は、パーソナルコンピュータ、携帯電話のようなポータブルデバイス、サーバーコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラマブル家庭用電化製品、ネットワークパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータ、図1に示されるユニットまたはデバイスのいずれかを含む分散コンピューティング環境を含むが、これらに限定されることはない。
図2は、図1に示されるエンコーダ140の例示的な実施形態を示す概略ブロック図である。1つの実施形態において、エンコーダ140は、ビデオの画像フレーム(複数可)から形成または生成されたデジタル画像データをメモリ130から取り出すことができる。エンコーダ140は、デジタル画像データに画像データ圧縮(たとえば、モーションコーディング、テクスチャコーディングなど)を実行することができる。図2に示されるように、エンコーダ140は、モーションコーディングモジュール210、およびテクスチャコーディングモジュール220を含むことができる。一部の実施形態において、エンコーダ140はオプションで、マルチプレクサ(MUX)230を含むことができる。モーションコーディングモジュール210は、画像データを処理するためのコーディングブロックレベルを決定することができ、さらに、コーディングブロックレベルに従って画像データのモーションコーディング(たとえば、モーション推定、モーション補正など)のためのブロック編成を決定し、それによりモーションベクトルのようなモーション情報を生成することができる。テクスチャコーディングモジュール220は、ブロック編成に従ってモーションコード化画像データのテクスチャコーディング(たとえば、DCT)を実行するためのブロックサイズを決定して、コード化ビットストリームを生成することができる。示されているように、MUX230は、モーション情報およびコード化ビットストリームを多重化して、デコーダ(図示せず)に伝送されるべきビットストリームを生成することができる。
1つの実施形態において、モーションコーディングモジュール210は、入力モジュール100からデジタル画像データ(たとえば、ピクセル値)を受信し、画像データ単位でデジタル画像データを処理することができる。たとえば、モーションコーディングモジュール210は、デジタル画像データを、基本画像処理単位として64×64(ピクセル×ライン)のサイズを有する1つまたは複数のウルトラブロックに分割することができる。モーションコーディングモジュール210は、基本画像処理単位を、32×32スーパーブロックのような、1つまたは複数のサブブロックに分割することができる。たとえば、モーションコーディングモジュール210は、64×64ウルトラブロックを、4つの32×32スーパーブロックに四等分することができる。モーションコーディングモジュール210は、基本画像処理単位(たとえば、64×64ウルトラブロック)のサブブロックの各々についてコーディングブロックレベルを決定することができる。32×32スーパーブロック(すなわち、64×64ウルトラブロックの4つの32×32スーパーブロックの各々)について、モーションコーディングモジュール210は、画像データの32×32スーパーブロックがスーパーブロックレベルで処理される(たとえば、圧縮される、符号化されるなど)べきかどうかを決定することができ、その決定では、スーパーブロックサイズまたはマクロブロックサイズが、ブロック編成、推定されるビットストリームなどのような要因に応じて画像データを処理(たとえば、テクスチャコーディング)するために使用されることができる。たとえば、ブロック編成が32×32ブロック編成であると決定される場合、スーパーブロックサイズが使用されてもよいか、またはブロック編成が16×32または32×16ブロック編成であると決定される場合、マクロブロックサイズが使用されてもよい。各32×32スーパーブロックについて、モーションコーディングモジュール210は、1つの32×32スーパーブロック単位(スーパーブロックベースのME)、および4つの16×16マクロブロック(すなわち、32×32スーパーブロックの4つの象限)のうちの1つ(マクロブロックベースのME)でモーション推定(ME)動作を実行して、それぞれ、スーパーブロックベースのMEの1つまたは複数のメトリック(たとえば、SAD、MAD、MSE)およびマクロブロックベースのMEの対応するメトリックを生成するように動作可能である。当技術分野においてよく知られた任意のさまざまなME技法が、スーパーブロックレベルの決定を行うために使用されてもよいことを理解されたい。モーションコーディングモジュール210は、スーパーブロックベースのMEのメトリックをマクロブロックベースのMEの対応するメトリックと比較して、画像データの32×32スーパーブロックがスーパーブロックレベルで処理されるべきかどうかを決定することができる。モーションコーディングモジュール210が、スーパーブロックベースのMEのSADはマクロブロックベースのMEのSADよりも小さいと決定する場合、モーションコーディングモジュール210は、画像データの32×32スーパーブロックがスーパーブロックレベルで処理されるべきであると決定する。
そうではなく、モーションコーディングモジュール210が、32×32スーパーブロックベースはスーパーブロックレベルで処理されるべきではないと決定する場合(たとえば、マクロブロックベースのMEのSADがスーパーブロックベースのMEのSADよりも大きいかまたはこれと等しい場合)、モーションコーディングモジュール210は、16×16マクロブロックが処理されるべきであるかどうかをさらに決定することができる。モーションコーディングモジュール210は、32×32スーパーブロックを、32×32スーパーブロックの1つまたは複数のサブブロックに分割することができる。たとえば、モーションコーディングモジュール210は、32×32スーパーブロックを、4つの16×16マクロブロックに四等分することができる。各16×16マクロブロックについて、モーションコーディングモジュール210は、画像データのマクロブロックがマクロブロックレベルで処理されるべきかどうかを決定することができ、その決定では、マクロブロックサイズまたはミディアムブロックサイズが、ブロック編成、推定されるビットストリームなどのような要因に応じて画像データを処理(たとえば、テクスチャコーディング)するために使用されることができる。たとえば、ブロック編成が16×16ブロック編成であると決定される場合、マクロブロックサイズが使用されてもよいか、またはブロック編成が8×16または16×8ブロック編成であると決定される場合、ミディアムブロックサイズが使用されてもよい。スーパーブロックレベルで処理されるべきではないと決定された32×32スーパーブロックの各象限(16×16マクロブロック)について、モーションコーディングモジュール210は、16×16マクロブロック単位(マクロブロックベースのME)、および4つの8×8ミディアムブロック(すなわち、16×16マクロブロックの4つの象限)のうちの1つの単位(ミディアムブロックベースのME)でME動作を実行して、マクロブロックがマクロブロックレベルで処理されるべきかどうかを決定することができる。モーションコーディングモジュール210は、マクロブロックベースのMEのメトリックの1つ(たとえば、SAD)と、ミディアムブロックベースのMEの対応するメトリックを比較することができる。比較結果に基づいて、モーションコーディングモジュール210は、コーディングブロックレベルがマクロブロックレベルにおけるものであるかどうかを決定することができる。モーションコーディングモジュール210が、マクロブロックベースのMEのSADはミディアムブロックベースのMEのSADよりも小さいと決定する場合、モーションコーディングモジュール210は、マクロブロックがマクロブロックレベルで処理されるべきであると決定する。
そうではなく、モーションコーディングモジュール210が、16×16マクロブロックはマクロブロックレベルで処理されるべきではない(すなわち、16×16マクロブロックは処理されるべきではない)と決定する場合、モーションコーディングモジュール210は、ミディアムブロックが処理されるべきであるとさらに決定することができる。モーションコーディングモジュール210は、16×16マクロブロックを4つの8×8ミディアムブロックに分割し、各8×8ミディアムブロックについて、8×8ミディアムブロック単位、および4つの4×4マイクロブロック(すなわち、8×8マイクロブロックの4つの象限)でME動作を実行して、ミディアムブロックが処理されるべきであるかどうかを決定することができる。モーションコーディングモジュール210は、ミディアムブロックベースのMEのSADとマイクロブロックベースのMEのSADを比較して、それによりミディアムブロックがミディアムブロックレベルまたはマクロブロックレベルのいずれかで処理されるべきかどうかを決定する(すなわち、8×8ミディアムブロックまたは4×4マイクロブロックが処理されるべきであるかどうかを決定する)ことができる。モーションコーディングモジュール210が、ミディアムブロックベースのMEのSADはマイクロブロックベースのMEのSADよりも小さいと決定する場合、モーションコーディングモジュール210は、コーディングブロックレベルがミディアムブロックレベルにおけるものであると決定する。それ以外の場合、モーションコーディングモジュール210は、コーディングブロックレベルがマクロブロックレベルにおけるものであると決定する。
上記で決定されたコーディングブロックレベルに従って、モーションコーディングモジュール210は、ブロックレベルが決定された画像データのブロックのモーションコーディングのためのブロック編成を決定するように動作可能であってもよい。コーディングブロックレベルの各々は、1つまたは複数のブロック編成に関連付けられてもよく、モーションコーディングモジュール210は決定されたブロック編成で画像データのモーションコーディングを実行することができる。図3は、画像データの可変サイズのモーションコーディングのためのそれぞれのコーディングブロックレベルに対するブロック編成の例示的な実施形態を示す。図3aに示されるように、(i)スーパーブロックレベルは、32×32、32×16、16×32ブロック編成という、3つのブロック編成を含むブロック編成のグループ301に関連付けられ、(ii)マクロブロックレベルは、16×16、16×8、8×16ブロック編成という、3つのブロック編成を含むブロック編成のグループ302に関連付けられ、(iii)ミディアムブロックレベルは、8×8、8×4、4×8ブロック編成という、3つのブロック編成を含むブロック編成のグループ303に関連付けられ、(iv)マイクロブロックレベルは、4×4ブロック編成を含むブロック編成のグループ304に関連付けられる。このようにして、モーションコーディングモジュール210は、ブロックレベルの決定に従って、画像データのモーションコーディングのためのブロック編成の1つを決定することができる。たとえば、モーションコーディングモジュール210が、コーディングブロックレベルはスーパーブロックレベルにおけるものであると決定する場合、モーションコーディングモジュール210は、32×32スーパーブロック編成、32×16サブスーパーブロック編成、および16×32サブスーパーブロック編成からブロック編成を決定することができる。
図3bは、モーションコーディングモジュール210により決定されたブロックレベルに従ってブロック編成がマップされるウルトラブロックの例を示す。モーションコーディングモジュール210は、ウルトラブロック305のサブブロックのブロックレベルを決定することができる。たとえば、モーションコーディングモジュール210は、ウルトラブロック305の左上象限306、左下象限307、および右下象限308がスーパーブロックレベルにおけるものであり、右上象限309がスーパーブロックレベルよりも下のブロックレベルにおけるものであると決定することができる。示されているように、コーディングブロックレベルのそのような決定に基づいて、モーションコーディングモジュール210は、スーパーブロックレベル301(図3a)に含まれるブロック編成から左上象限306の32×32ブロック編成を決定する。ウルトラブロック305の左下象限307について、モーションコーディングモジュール210は、2つの16×32ブロック編成を決定する。ウルトラブロック305の右下象限308について、モーションコーディングモジュール210は、2つの32×16ブロック編成を決定する。ウルトラブロック305の右上象限309について、モーションコーディングモジュール210は、ブロックレベル決定の前述のプロセスを通じてブロック編成を決定する。たとえば、モーションコーディングモジュール210は、スーパーブロック(すなわち、右上象限309)の左上象限、左下象限、および右下象限がマクロブロックレベルにおけるものであり、右上象限がマクロブロックレベルよりも下のブロックレベルにおけるものであると決定することができる。前述のブロックレベルおよびブロック編成がほんの一例に過ぎず、その他のブロックレベルおよびブロック編成が設計要件に応じて使用されてもよいことを理解されたい。
モーションコーディングモジュール210は、上記で決定されたコーディングブロックレベルおよびブロック編成に基づいて画像データにモーションの推定および補正を行うさまざまなよく知られたモーションコーディングアルゴリズムのいずれかを使用することができる。たとえば、モーションコーディングモジュール210は、MPEG2、MPEG4、H.263、H.264などのようなビデオ関連の規格で規定されたモーション推定(ME)およびモーション補正(MC)アルゴリズムを実行するために上記で決定されたブロック編成を適用することができる。このようにして、モーションコーディングモジュール210は、モーション補正済み画像データを生成するように(たとえば、残余画像データを生成するように)、および図2に示されるようにモーションベクトル、コーディングブロックレベル、ブロック編成などのようなモーション情報を出力するように動作可能であってもよい。
1つの実施形態において、テクスチャコーディングモジュール220は、モーションコーディングモジュール210からモーション補正済み画像データおよびモーション情報を受信し、モーションコーディングモジュール201により決定されるコーディングブロックレベルおよびブロック編成に従って画像データのテクスチャコーディング(たとえば、DCT)のためのブロックサイズ(たとえば、DCTブロックサイズ)を決定することができる。図4aは、画像データの可変ブロックサイズのテクスチャコーディングのためのコーディングブロックサイズの例示的な実施形態を示す。ブロックレベルおよびブロック編成に応じて、テクスチャコーディングモジュール220は、画像データの可変サイズのテクスチャコーディングのためのコーディングブロックサイズ(たとえば、32×32、16×16、8×8、および4×4のDCTブロック)の1つを選択することができる。
図5は、図3のコーディングブロック編成と図4aのコーディングブロックサイズとの関係の例を示す。示されているように、(i)モーションコーディングモジュール210が、ブロックレベルは502によって指示されるようにスーパーブロックレベルであると決定する場合、テクスチャコーディングモジュール220は、テクスチャコーディング(たとえば、DCT変換)に32×32ブロックサイズ(たとえば、DCTブロックサイズ)または16×16ブロックサイズを選択することができ、(ii)モーションコーディングモジュール210が、ブロックレベルは504によって指示されるようにマクロブロックレベルであると決定する場合、テクスチャコーディングモジュール220は、16×16ブロックサイズまたは8×8ブロックサイズを選択することができ、(iii)モーションコーディングモジュール210が、ブロックレベルは506によって指示されるようにミディアムまたはマイクロブロックレベルであると決定する場合、テクスチャコーディングモジュール220は、8×8ブロックサイズまたは4×4ブロックサイズを選択することができる。
テクスチャコーディングモジュール220は、コーディング編成をさらに参照して、コーディングブロックサイズを決定することができる。ブロックレベルがスーパーブロックレベルであるとき、モーションコーディングモジュール210がブロック編成は32×32スーパーブロックであると決定する場合、テクスチャコーディングモジュール220は、モーションコーディングモジュール210により決定される32×32スーパーブロックの画像データのテクスチャコーディング(たとえば、DCT)に32×32および16×16のブロックサイズのうちの1つを決定する。そうではなく、モーションコーディングモジュール210が、ブロック編成は32×16または16×32サブスーパーブロックであると決定する場合、テクスチャコーディングモジュール220は、テクスチャコーディングに16×16ブロックサイズを決定する。ブロックレベルの各々についてブロックサイズを決定するために、上記のコーディング編成が参照されてもよいことを理解されたい。
図4bは、図5に示されるようなブロック編成とブロックサイズの関係を図3bのブロック編成に適用することにより、ウルトラブロック(たとえば、図3bのウルトラブロック305)にマップされたブロックサイズの例を示す。図4bに示されるように、図3bのウルトラブロック305の左上象限306(32×32ブロック編成)について、32×32ブロックサイズは、32×32ブロックサイズおよび16×16ブロックサイズの候補ブロックサイズから決定される。ウルトラブロック305の左下および右下の象限307および308(それぞれ、16×32ブロック編成および32×16ブロック編成)について、16×16ブロックサイズが決定される。右上象限309について、ブロックサイズは、16×16、16×8、8×16、8×8、8×4、4×8、4×4ブロック編成の各々に従ってマップされる。
テクスチャコーディングモジュール220が、上記で決定されたブロックサイズを使用して、画像データ(たとえば、基準フレーム内のモーション補正済み画像データとターゲットフレーム内の画像データとの差に対応する残余画像データ)を圧縮するためにさまざまなよく知られたテクスチャコーディングアルゴリズムのいずれかを使用することができることを理解されたい。たとえば、テクスチャコーディングモジュール220は、MPEG2、MPEG4、H.263、H.264などのようなビデオ関連の規格で規定されたテクスチャコーディングアルゴリズムに上記で決定されたブロックサイズを適用することができる。
図1、図2、図6、図7、図8、および図9を参照すると、コーディング構造を決定するための方法の例示的な実施形態が説明される。図6は、コーディング構造を決定するための方法の例示的な実施形態を示す例示の流れ図である。エンコーダ140は、入力モジュール110を通じて画像データを受信することができる(ブロック620)。エンコーダ140は、たとえば画像取り込みデバイスを使用して取り込まれた、ビデオの画像フレーム(複数可)から形成または生成されたデジタル画像データをメモリ130から取り出すことができる。エンコーダ140のモーションコーディングモジュール210は、デジタル画像データ(たとえば、ピクセル値)を1つまたは複数の基本画像処理単位に分割することができるが、これはグループとして処理されるべき画像データのブロックである。たとえば、モーションコーディングモジュール210は、デジタル画像データを、64ピクセル×64ラインのサイズを有するウルトラブロック単位に分割することができる。モーションコーディングモジュール210は、各基本画像処理単位をサブブロック(たとえば、32×32スーパーブロック)にさらに分割することができる。
モーションコーディングモジュール210は、各サブブロックを処理するためのコーディングブロックレベルを決定するために第1のブロックレベル決定を実行することができる(ブロック640)。モーションコーディングモジュール210は、基本画像処理単位(たとえば、64×64ウルトラブロック)の各サブブロック(たとえば、64×64ウルトラブロックの象限である32×32スーパーブロック)が第1のブロックレベル(たとえば、スーパーブロックレベル)で処理されるべきかどうかを決定することができる。1つの実施形態において、各32×32スーパーブロックについて、モーションコーディングモジュール210は、スーパーブロックベースのMEの1つまたは複数のメトリック(たとえば、SAD、MAD、MSE)を生成するために、第1の単位(たとえば32×32スーパーブロック単位)でME動作を実行することができる。モーションコーディングモジュール210は、マクロブロックベースのMEのメトリックを生成するために、第2の単位(たとえば4つの16×16マクロブロックの単位)でME動作を実行することができる。モーションコーディングモジュール210は、スーパーブロックベースのMEのメトリックを、マクロブロックベースのMEの対応するメトリックと比較することができる。モーションコーディングモジュール210が、スーパーブロックベースのMEのメトリック(たとえば、SAD)がマクロブロックベースのMEのメトリックよりも小さいと決定する場合、モーションコーディングモジュール210は、スーパーブロックがスーパーブロックレベルで処理されるべきであると決定する。モーションコーディングモジュール210が、スーパーブロックはスーパーブロックレベルで処理されるべきであると決定する場合、モーションコーディングモジュール210は、ブロック642に進み、決定されたコーディングブロックレベルに従ってサブブロックの各々の画像データのモーションコーディングのためのブロック編成を決定する。モーションコーディングモジュール210は、図3aに示されるように、第1のブロックレベル(スーパーブロックレベル)に含まれるブロック編成(たとえば、32×32、32×16、16×32ブロック編成)のうちの1つを選択することができる。テクスチャコーディングモジュール220は、ブロック642(ブロック644)で決定されたブロック編成に従って、サブブロックの各々の画像データのテクスチャコーディングのためのブロックサイズを決定することができる。テクスチャコーディングモジュール220は、図5に示されるブロック編成とブロックサイズとの関係を参照して、テクスチャコーディング(たとえば、DCT変換)のために32×32ブロックサイズまたは16×16ブロックサイズを選択することができる。
モーションコーディングモジュール210が、ブロック640においてスーパーブロックがスーパーブロックレベルで処理されるべきではないと決定する場合(たとえば、マクロブロックベースのMEのSADがスーパーブロックベースのMEのSADよりも大きい場合)、モーションコーディングモジュール210は、ブロック660に進み、画像データのコーディングブロックレベルが第2のブロックレベル(たとえば、マクロブロックレベル)であるかどうかを決定するために第2のブロックレベル決定を実行する。モーションコーディングモジュール210が、コーディングブロックレベルはマクロブロックレベルであると決定する場合、モーションコーディングモジュール210は、ブロック662に進み、決定されたコーディングブロックレベルに従って画像データのモーションコーディングのためにブロック編成を決定する。モーションコーディングモジュール210は、図3aに示されるように、第2のブロックレベル(マクロブロックレベル)に含まれるブロック編成(16×16、16×8、および6×16ブロック編成)のうちの1つを選択することができる。テクスチャコーディングモジュール220は、ブロック662(ブロック664)で決定されたブロック編成に従って、画像データのテクスチャコーディングのためにブロックサイズを決定することができる。テクスチャコーディングモジュール220は、図5に示される関係を参照して、テクスチャコーディングのために16×16ブロックサイズまたは8×8ブロックサイズを選択することができる。
モーションコーディングモジュール210が、ブロック660においてマクロブロックがマクロブロックレベルで処理されるべきではないと決定する場合、モーションコーディングモジュール210は、ブロック680に進み、画像データのコーディングブロックレベルが第3のブロックレベル(たとえば、ミディアムブロックレベル)であるかどうかを決定するために第3のブロックレベル決定を実行する。モーションコーディングモジュール210が、コーディングブロックレベルはミディアムブロックレベルであると決定する場合、モーションコーディングモジュール210は、ブロック682に進み、コーディングブロックレベルに従って画像データのモーションコーディングのためにブロック編成を決定する。モーションコーディングモジュール210は、図3aに示されるように、第1のブロックレベル(スーパーブロックレベル)に含まれるブロック編成(16×16、16×8、および8×16ブロック編成)のうちの1つを選択することができる。テクスチャコーディングモジュール220は、ブロック682(ブロック684)で決定されたブロック編成に従って、画像データのテクスチャコーディングのためにブロックサイズを決定することができる。テクスチャコーディングモジュール220は、図5に示される関係を参照して、テクスチャコーディングのために8×8ブロックサイズまたは4×4ブロックサイズを選択することができる。モーションコーディングモジュール210が、ブロック680においてコーディングブロックレベルはミディアムブロックレベルではないと決定する場合、モーションコーディングモジュール210は、ブロック686に進み、モーションコーディングのために4×4ブロック編成を選択し、テクスチャコーディングモジュール220は、テクスチャコーディングのために4×4ブロックサイズを選択することができる。
このようにして、モーションコーディングモジュール210は、(i)スーパーブロックレベル、マクロブロックレベル、およびミディアムブロックレベルの中からコーディングブロックレベル、(ii)画像データのモーションコーディングのためのブロック編成、および(iii)画像データのテクスチャコーディングのためのブロックサイズ、を決定することができる。モーションコーディングモジュール210は、決定されたブロック編成の画像データでME動作を実行し、それによりモーションベクトルのようなモーション情報を出力することができる。テクスチャコーディングモジュール220は、決定されたブロックサイズに従ってテクスチャコーディングを実行して、コード化ビットストリームを生成することができる。前述のコーディングブロックレベル、ブロック編成、およびブロックサイズが、コーディング構造の形成の一例に過ぎず、限定的であることを意図されないことを理解されたい。上記のコーディング構造形成の方法は3つのコーディングレベルを使用して説明されるが、さまざまなコーディングレベルが、コーディング形式および構造の実施形態/適応要件に応じて検討されてもよいことを理解されたい。さまざまなコーディング編成およびコーディングブロックサイズが、異なるコーディングレベルに対して考慮されてもよい。当技術分野においてよく知られた任意のさまざまなME技法が、ブロックレベルの決定を行うために使用されてもよいことを理解されたい。また、本開示に従って準備されるエンコーダは、さまざまな用途に使用されてもよいことも理解されたい。
図7は、図6の第1のブロックレベル決定のための操作の例示的な実施形態を示す詳細な流れ図である。64×64ウルトラブロックの各象限について、モーションコーディングモジュール210は、32×32スーパーブロック単位、および4つの16×16マクロブロックの単位でME動作を実行して、64×64ウルトラブロックの象限(32×32スーパーブロック)がスーパーブロックレベルで処理されるべきかどうかを決定することができる(ブロック710)。モーションコーディングモジュール210は、スーパーブロックベースのMEのメトリック(たとえば、SAD、MAD、MSE)のうちの1つと、マクロブロックベースのMEの対応するメトリックの1つとを比較して、それによりコーディングブロックレベルがスーパーブロックレベルにおけるものかどうかを決定することができる(ブロック720)。モーションコーディングモジュール210が、スーパーブロックベースのMEのSADはマクロブロックベースのMEのSADよりも小さいと決定する場合、モーションコーディングモジュール210は、32×32スーパーブロックがスーパーブロックレベルで処理されるべきであると決定して、ブロック740に進む。それ以外の場合、モーションコーディングモジュール210は、図8のブロック810に進み、図6の第2のブロックレベル決定を実行する(ブロック730)。
モーションコーディングモジュール210は、2つの32×16サブスーパーブロックを含む単位、および2つの16×32サブスーパーブロックを含む単位でME動作を実行して、それぞれ、32×16サブスーパーブロックベースのSAD、および16×32サブスーパーブロックベースのSADを生成することができる(ブロック740)。モーションコーディングモジュール210は、(i)32×16サブスーパーブロックベースのSAD、および(ii)ブロック740で生成される16×32サブスーパーブロックベースのSAD、および(iii)ブロック710で生成される32×32サブスーパーブロックベースのSADという3つのSADの比較に基づいてモーションコーディングのためのブロック編成を決定することができる(ブロック750)。モーションコーディングモジュール210は、最小のSADを生成する32×32ブロック編成、32×16ブロック編成、または16×32ブロック編成を選択することができる。モーションコーディングモジュール210が、32×32スーパーブロックベースのSADは上記の3つのSADの中で最小であると決定する場合、モーションコーディングモジュール210は、32×32ブロック編成をモーションコーディングに使用されるべきブロック編成として決定することができる。それ以外の場合、モーションコーディングモジュール210は、2つのサブスーパーブロックベースのSADのいずれがもう一方よりも小さいかに応じて、32×16ブロック編成または16×32ブロック編成をブロック編成として選択することができる。
ブロック760において32×32ブロック編成がブロック編成として決定されるかどうかを確認し、ブロック編成として決定される場合、テクスチャコーディングモジュール220は、ブロック770に進み、決定された32×32ブロック編成に従ってテクスチャコーディングのためのブロックサイズを決定する。テクスチャコーディングモジュール220は、32×32ブロック編成が決定された32×32スーパーブロックの画像データに対して32×32テクスチャコーディングおよび16×16テクスチャコーディングを実行することができる。テクスチャコーディングは、DCT変換、アダマール変換などの実行を含むことができるが、これらに限定されることはない。テクスチャコーディングモジュール220は、任意のさまざまなエントロピーコーディング操作を実行して、32×32テクスチャコーディングおよび16×16テクスチャコーディングの推定ビットストリームを生成することができる。1つの実施形態において、テクスチャコーディングモジュール220は、効率および操作速度を高めるためにシミュレートされたエントロピーコーディングを実行することができる。テクスチャコーディングモジュール220は、推定ビットストリームの量の比較に従って、32×32ブロックサイズまたは16×16ブロックサイズのいずれを使用するかを決定することができる(ブロック770)。テクスチャコーディングモジュール220は、32×32テクスチャコーディングおよび16×16テクスチャコーディングのビットストリームの量を比較して、それにより32×32ブロックサイズまたは16×16ブロックサイズのいずれかを選択することができる。テクスチャコーディングモジュール220は、たとえばRD最適化(レート歪み最適化:Rate Distortion Optimization)およびビットストリームのシミュレートされた試行に基づいて、最小量のビットストリームを生成することができるブロックサイズを決定することができる。32×32テクスチャコーディングが、16×16テクスチャコーディングの場合よりも小さい量のビットストリームを生成する場合、テクスチャコーディングモジュール220は、テクスチャコーディングに32×32ブロックサイズを選択する。テクスチャコーディングモジュール220が、16×16ブロック編成がブロック760においてブロック編成として決定されると決定する場合、テクスチャコーディングモジュール220は、ブロック780に進み、実テクスチャコーディング(たとえば、DCT変換)のブロックサイズとして16×16ブロックサイズを選択する。テクスチャコーディングモジュール220は、決定されたブロックサイズに基づいて実テクスチャコーディングを実行し、エントロピーコーディング(たとえば、ハフマンコーディング、ランレングスコーディングなど)を実行して、伝送されるべき実ビットストリームを生成することができる。当技術分野においてよく知られた任意のさまざまなテクスチャコーディング技法が、上記のテクスチャコーディングを実行するために使用されてもよいことを理解されたい。
図8は、図6の第2のブロックレベル決定のための操作の例示的な実施形態を示す詳細な流れ図である。前述のように、図7のブロック720において、モーションコーディングモジュール210が、32×32スーパーブロックについてスーパーブロックベースのMEのSADはマクロブロックベースのMEのSADよりも小さくないと決定する場合、モーションコーディングモジュール210は、図8のブロック810に進む。モーションコーディングモジュール210は、図7を参照して上記で説明されるスーパーブロックレベル決定と類似した方法で、スーパーブロックレベルにおいて処理されるべきではないと決定された32×32スーパーブロックのマクロブロックレベル決定を実行することができる(ブロック810)。モーションコーディングモジュール210は、32×32スーパーブロックを、4つの16×16マクロブロックに四等分することができる。各16×16マクロブロックについて、モーションコーディングモジュール210は、16×16マクロブロックの単位、および4つの8×8ミディアムブロック(すなわち、16×16マクロブロックの4つの象限)の単位でME動作を実行して、16×16マクロブロックのコーディングブロックレベルがマクロブロックレベルにおけるものであるかどうかを決定することができる。モーションコーディングモジュール210は、マクロブロックベースのMEのSADと、ミディアムブロックベースのMEのSADとを比較することができる(ブロック820)。マクロブロックベースのMEのSADがミディアムブロックベースのMEのSADよりも小さい場合、モーションコーディングモジュール210は、ブロック840に進み、2つのサブマクロブロックベースのMEを実行する(16×8および8×16)。モーションコーディングモジュール210は、(i)16×8サブマクロブロックベースのSAD、および(ii)ブロック840で生成される8×16サブマクロブロックベースのSAD、および(iii)ブロック810で決定される16×16マクロブロックベースのSADという3つのSADを比較することができる(ブロック850)。ブロック850の比較結果に基づいて、モーションコーディングモジュール210は、モーションコーディングのためのブロック編成を決定することができる(ブロック860)。モーションコーディングモジュール210は、最小のSADを有する16×16ブロック編成、16×8ブロック編成、または8×16ブロック編成を選択することができる。テクスチャコーディングモジュール220が、ブロック860において16×16ブロック編成をモーションコーディングのためのブロック編成として選択する場合、テクスチャコーディングモジュール220は、ブロック870に進み、16×16テクスチャコーディングおよび8×8テクスチャコーディングを実行して、16×16テクスチャコーディングおよび8×8テクスチャコーディングの各々に対して推定ビットストリームを生成する。テクスチャコーディングモジュール220は、図7のブロック770を参照して上記で説明される方法と類似の方法でテクスチャコーディングに16×16ブロックサイズまたは8×8ブロックサイズのいずれを使用するかを決定することができる(ブロック870)。テクスチャコーディングモジュール220が、ブロック860において16×8ブロック編成または8×16ブロック編成をブロック編成として選択する場合、テクスチャコーディングモジュール220は、ブロック880に進み、テクスチャコーディング(たとえば、DCT変換)のブロックサイズとして8×8ブロックサイズを選択する。テクスチャコーディングモジュール220は、決定されたブロックサイズに基づいて実テクスチャコーディングを実行し、エントロピーコーディング(たとえば、ハフマンコーディング、ランレングスコーディングなど)を実行して、伝送されるべき実ビットストリームを生成することができる。
16×16マクロブロックに対してブロック820においてマクロブロックベースのMEのSADがミディアムブロックベースのMEのSADよりも小さくない場合、モーションコーディングモジュール210は、図9のブロック910に進む(ブロック830)。モーションコーディングモジュール210は、図7を参照して上記で説明されるスーパーブロックレベル決定と類似した方法で、マクロブロックレベルにおいて処理されるべきではないと決定される16×16マクロブロックのミディアムブロックレベル決定を実行することができる(ブロック910)。モーションコーディングモジュール210は、16×16マクロブロックを、1つまたは複数のサブブロック(たとえば、各象限が8×8ミディアムブロックである、16×16マクロブロックの4つの象限)に分割することができる。モーションコーディングモジュール210は、8×8ミディアムブロックの単位、および4つの4×4マイクロブロックの単位でME動作を実行して、8×8ミディアムブロックがミディアムブロックレベルで処理されるべきかどうかを決定することができる。モーションコーディングモジュール210は、8×8ミディアムブロックベースのMEのSADと、4×4マイクロブロックベースのMEのSADとを比較することができる(ブロック920)。ミディアムブロックベースのMEのSADがマイクロブロックベースのMEのSADよりも小さい場合、モーションコーディングモジュール210は、ブロック940に進み、2つのサブミディアムブロックベースのMEを実行する(8×4および4×8)。それ以外の場合、モーションコーディングモジュール210は、ブロック930に進み、4×4ブロック編成となるようにモーション編成を選択して、4×4ブロックサイズとなるようにブロックサイズを選択する。モーションコーディングモジュール210は、(i)8×4サブミディアムブロックベースのSAD、および(ii)ブロック940で生成される4×8サブミディアムブロックベースのSAD、および(iii)ブロック910で決定される8×8ミディアムブロックベースのSADという3つのSADを比較することができる(ブロック950)。ブロック950の比較結果に基づいて、モーションコーディングモジュール210は、モーションコーディングのためのブロック編成を決定することができる(ブロック960)。モーションコーディングモジュール210は、最小のSADを有する8×8ブロック編成、8×4ブロック編成、または4×8ブロック編成を選択することができる。テクスチャコーディングモジュール220が、ブロック960において8×8ブロック編成をモーションコーディングのためのブロック編成として選択する場合、テクスチャコーディングモジュール220は、ブロック970に進み、8×8シミュレートテクスチャコーディングおよび4×4シミュレートテクスチャコーディングを実行して、8×8テクスチャコーディングおよび4×4テクスチャコーディングの各々に対して推定ビットストリームを生成する。テクスチャコーディングモジュール220は、図7のブロック770を参照して上記で説明される方法と類似の方法でテクスチャコーディングに8×8ブロックサイズまたは4×4ブロックサイズのいずれを使用するかを決定することができる(ブロック970)。テクスチャコーディングモジュール220が、ブロック960において8×4ブロック編成または4×8ブロック編成をブロック編成として選択する場合、テクスチャコーディングモジュール220は、ブロック980に進み、テクスチャコーディング(たとえば、DCT変換)のブロックサイズとして4×4ブロックサイズを選択する。テクスチャコーディングモジュール220は、決定されたブロックサイズに基づいて実テクスチャコーディングを実行し、エントロピーコーディング(たとえば、ハフマンコーディング、ランレングスコーディングなど)を実行して、伝送されるべき実ビットストリームを生成することができる。
当業者であれば、本明細書において開示されるさまざまなプロセスおよび方法について、プロセスおよび方法で実行される機能が、異なる順序で実施されもよいことを理解するであろう。さらに、概説されるステップおよび操作は、例として提示されているに過ぎず、ステップおよび操作の一部は、開示される実施形態の本質を逸脱することなく、オプションであるか、より少ないステップおよび操作に結合されるか、または追加のステップおよび操作に拡張されてもよい。
本開示は、本出願において説明される特定の実施形態に関して限定されるべきではなく、実施形態はさまざまな態様を例示することが意図されている。当業者には明らかであるように、その趣旨および範囲を逸脱することなく多くの変更および変形が行われてもよい。本明細書において列挙される方法および装置に加えて、本開示の範囲内の機能的に等価の方法および装置は、上記の説明から当業者には明らかとなるであろう。そのような変更および変形は、添付の特許請求の範囲内に含まれることが意図される。本開示は、添付の特許請求の範囲の条項、ならびにそのような特許請求の範囲が権利を有する等価物の全範囲によってのみ限定されるものとする。本開示が、当然変化しうるものである特定の方法、試薬、化合物組成、または生態系に限定されないことを理解されたい。さらに、本明細書において使用される用語は、特定の実施形態を説明することを目的としており、限定的であることを意図していないことも理解されたい。
本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。さまざまな単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
通常、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(open)」用語として意図されていることが、当業者には理解されよう(たとえば、用語「含む(including)」は、「含むがそれに限定されない(including but not limited to)」と解釈されるべきであり、用語「有する(having)」は、「少なくとも有する(having at least)」と解釈されるべきであり、用語「含む(includes)」は、「含むがそれに限定されない(includes but is not limited to)」と解釈されるべきである、など)。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「1つまたは複数の」または「少なくとも1つの」および「a」または「an」などの不定冠詞を含む場合であっても、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない(たとえば、「a」および/または「an」は、「少なくとも1つの」または「1つまたは複数の」を意味すると解釈されるべきである)。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう(たとえば、他の修飾語なしでの「2つの記載(two recitations)」の単なる記載は、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、BおよびC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、およびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。「A、B、またはC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、またはCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。2つ以上の代替用語を提示する事実上いかなる離接する語および/または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方(one of the terms)、当該用語のいずれか(either of the terms)、または両方の用語(both terms)を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「AまたはB」は、「A」または「B」あるいは「AおよびB」の可能性を含むことが理解されよう。
加えて、本開示の特徴または態様がマーカッシュグループに関して説明される場合、それにより本開示はまた、マーカッシュグループの構成要素の任意の個々の構成要素または構成要素のサブグループに関しても説明されることを当業者は理解するであろう。
書面による説明を行うことに関してなど、任意およびすべての目的のため、当業者によって理解されるであろうように、本明細書において開示されるあらゆる範囲はまた、任意およびすべての可能な下位範囲およびその下位範囲の組み合わせを網羅する。任意の一覧される範囲は、同範囲が少なくとも等価の2分の1、3分の1、4分の1、5分の1、10分の1などに分割されることを十分に説明および可能にするものと容易に理解されてもよい。非限定的な例として、本明細書において説明される各範囲は、下3分の1、中3分の1、および上3分の1に容易に分解されてもよい。当業者によって理解されるであろうように、「最大(up to)」、「少なくとも(at least)」などのようなすべての表現は、列挙される数を含み、引き続き上記で説明されている下位範囲に分解されてもよい範囲を示す。最後に、当業者に理解されるであろうように、範囲は個々の構成要素を含む。したがって、たとえば、1〜3個のセルを有するグループは、1個、2個、または3個のセルを有するグループを示す。同様に、1〜5個のセルを有するグループは、1個、2個、3個、4個、または5個のセルを有するグループを示し、以下同様である。
以上の記述から、本開示のさまざまな実施形態は本明細書において例示の目的で説明されており、本開示の範囲および趣旨を逸脱することなくさまざまな変更が行われてもよいことが理解されよう。したがって、本明細書において開示されるさまざまな実施形態は、限定的であることを意図されておらず、真の範囲および趣旨は後段の特許請求の範囲により示される。

Claims (20)

  1. 複数のコーディングブロックレベルの中から、画像データを処理するためのコーディングブロックレベルを決定し;複数のブロック編成の中から、前記決定されたコーディングブロックレベルに従って前記画像データのモーションコーディングのためのブロック編成を決定するように構成されたモーションコーディングモジュールと、
    複数のブロックサイズの中から、前記決定されたブロック編成に従って前記画像データのテクスチャコーディングのためのブロックサイズを決定し、それによりコード化ビットストリームを生成するように構成されたテクスチャコーディングモジュールとを備える符号化デバイス。
  2. 前記モーションコーディングモジュールは、前記モーションコーディングモジュールにより決定された前記ブロック編成の単位でモーション推定(ME)動作を実行し、それによりモーション情報を出力するようにさらに構成される請求項1に記載の符号化デバイス。
  3. 前記モーション情報および前記コード化ビットストリームを多重化するように構成されたMUXをさらに備える請求項2に記載の符号化デバイス。
  4. 前記モーションコーディングモジュールは、前記画像データを1つまたは複数の基本画像処理単位に分割し、各基本画像処理単位をサブブロックに四等分して、前記サブブロックの各々の前記コーディングブロックレベルを決定するようにさらに構成される請求項1に記載の符号化デバイス。
  5. 前記モーションコーディングモジュールは、前記サブブロックの各々について、第1の単位で第1のME動作、および第2の単位で第2のME動作を実行するようにさらに構成される請求項4に記載の符号化デバイス。
  6. 前記モーションコーディングモジュールは、前記第1の単位の前記第1のME動作のメトリックと、前記第2の単位の前記第2のME動作のメトリックとを比較し、それにより、前記メトリックの前記比較結果に基づいて、前記サブブロックの各々の前記コーディングブロックレベルが第1のブロックレベルにおけるものであるかどうかを決定するようにさらに構成される請求項5に記載の符号化デバイス。
  7. 前記モーションコーディングモジュールが、前記コーディングブロックレベルは前記第1のブロックレベルにおけるものであると決定する場合、前記モーションコーディングモジュールは、前記ブロック編成が、32×32スーパーブロック編成、32×16サブスーパーブロック編成、および16×32サブスーパーブロック編成のうちの1つであると決定するように構成される請求項6に記載の符号化デバイス。
  8. 前記モーションコーディングモジュールが、前記ブロック編成は32×32スーパーブロック編成であると決定する場合、前記テクスチャコーディングモジュールは、32×32スーパーブロック編成の前記画像データに対して32×32DCTコーディングおよび16×16DCTコーディングを実行するように構成される請求項7に記載の符号化デバイス。
  9. 前記テクスチャコーディングモジュールは、32×32DCTコーディングにより生成される第1のビットストリームの量と16×16DCTコーディングにより生成される第2のビットストリームの量を比較して、前記32×32スーパーブロック編成の前記画像データについて前記テクスチャコーディングのためのブロックサイズを決定するようにさらに構成される請求項8に記載の符号化デバイス。
  10. 前記モーションコーディングモジュールが、前記ブロック編成は前記32×16サブスーパーブロック編成および前記16×32サブスーパーブロック編成のうちの1つであると決定する場合、前記テクスチャコーディングは、前記決定されたブロック編成の前記画像について16×16DCTコーディングを実行するように構成される請求項7に記載の符号化デバイス。
  11. 前記モーションコーディングモジュールが、前記サブブロックの各々の前記コーディングブロックレベルは前記第1のブロックレベルにおけるものではないと決定する場合、前記モーションコーディングモジュールは、前記サブブロックの各々をマクロブロックに四等分し、各マクロブロックについてマクロブロックの単位、およびミディアムブロックの単位でME動作を実行して、各マクロブロックの前記コーディングブロックレベルがマクロブロックレベルにおけるものであるかどうかを決定するように構成される請求項6に記載の符号化デバイス。
  12. 少なくとも1つの画像フレームを有する入力ビデオを受信するように構成され、前記画像フレームを画像データに変換するように構成された入力モジュールと、
    エンコーダであって、
    複数のコーディングブロックレベルの中から、前記画像データを処理するためのコーディングブロックレベルを決定し;複数のブロック編成の中から、前記決定されたコーディングブロックレベルに従って前記画像データのモーションコーディングのためのブロック編成を決定するように構成されたモーションコーディングモジュールと、
    複数のブロックサイズの中から、前記決定されたブロック編成に従って前記画像データのテクスチャコーディングのためのブロックサイズを決定し、それによりコード化ビットストリームを生成するように構成されたテクスチャコーディングモジュールとを備えるエンコーダと、
    前記入力モジュールおよび前記エンコーダの動作を制御するように構成されたコントローラと、
    前記画像データを格納するように構成されたメモリとを備える画像処理システム。
  13. 前記コード化ビットストリームを、有線または無線通信プロトコルを介して少なくとも1つの外部デバイスに伝送するように構成された通信モジュールをさらに備える請求項12に記載の画像処理システム。
  14. 画像データを受信することと、
    前記画像データを1つまたは複数の基本画像処理単位に分割し、各基本画像処理単位をサブブロックに分割して、複数のコーディングブロックレベルの中から、前記サブブロックの各々を処理するためのコーディングブロックレベルを決定することと、
    複数のブロック編成の中から、前記決定されたコーディングブロックレベルに従って前記サブブロックの各々の前記画像データのモーションコーディングのためのブロック編成を決定することと、
    複数のブロックサイズの中から、前記決定されたブロック編成に従って前記サブブロックの各々の前記画像データのテクスチャコーディングのためのブロックサイズを決定することとを備える方法。
  15. 前記決定されたブロック編成の単位でME動作を実行し、それによりモーション情報を出力することをさらに備える請求項14に記載の方法。
  16. コーディングブロックレベルを決定することは、前記サブブロックの各々について、第1の単位および第2の単位でME動作を実行して、それにより前記サブブロックの各々の前記コーディングブロックレベルが第1のブロックレベルにおけるものであるかどうかを決定することを含む請求項14に記載の方法。
  17. 前記コーディングブロックレベルが前記第1のブロックレベルとして決定される場合、前記ブロック編成は、32×32スーパーブロック編成、32×16サブスーパーブロック編成、および16×32サブスーパーブロック編成から決定される請求項16に記載の方法。
  18. 前記ブロック編成が32×32スーパーブロック編成として決定される場合、ブロックサイズを決定することは、前記32×32スーパーブロック編成の前記画像データに対して32×32DCTコーディングおよび16×16DCTコーディングを実行することをさらに備える請求項17に記載の方法。
  19. ブロックサイズを決定することは、前記32×32DCTコーディングにより生成される第1のビットストリームの量と16×16DCTコーディングにより生成される第2のビットストリームの量とを比較することを備える請求項18に記載の方法。
  20. 前記ブロック編成が前記32×16サブスーパーブロック編成および前記16×32サブスーパーブロック編成のうちの1つとして決定される場合、前記方法は、前記決定されたブロック編成の前記画像に16×16DCTコーディングを実行することをさらに備える請求項17に記載の方法。
JP2012553802A 2010-02-17 2010-12-13 コーディング構造 Active JP5578743B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/707,447 2010-02-17
US12/707,447 US8532408B2 (en) 2010-02-17 2010-02-17 Coding structure
PCT/KR2010/008894 WO2011102597A1 (en) 2010-02-17 2010-12-13 Coding structure

Publications (2)

Publication Number Publication Date
JP2013520124A JP2013520124A (ja) 2013-05-30
JP5578743B2 true JP5578743B2 (ja) 2014-08-27

Family

ID=44369693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012553802A Active JP5578743B2 (ja) 2010-02-17 2010-12-13 コーディング構造

Country Status (5)

Country Link
US (5) US8532408B2 (ja)
JP (1) JP5578743B2 (ja)
KR (1) KR101354014B1 (ja)
CN (2) CN102763412B (ja)
WO (1) WO2011102597A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2380353B1 (en) * 2009-01-19 2017-11-08 Telefonaktiebolaget LM Ericsson (publ) Image processing for memory compression
WO2014190468A1 (en) * 2013-05-27 2014-12-04 Microsoft Corporation Video encoder for images
EP3120556B1 (en) 2014-03-17 2021-01-13 Microsoft Technology Licensing, LLC Encoder-side decisions for screen content encoding
CN103957421B (zh) * 2014-04-14 2017-05-31 上海大学 一种基于纹理复杂度的hevc编码尺寸快速判定方法
WO2016123792A1 (en) 2015-02-06 2016-08-11 Microsoft Technology Licensing, Llc Skipping evaluation stages during media encoding
US10244250B2 (en) * 2015-05-29 2019-03-26 Samsung Electronics Co., Ltd. Variable-rate texture compression using fixed-rate codes
US10038917B2 (en) 2015-06-12 2018-07-31 Microsoft Technology Licensing, Llc Search strategies for intra-picture prediction modes
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
EA031482B1 (ru) * 2015-10-14 2019-01-31 Юничарм Корпорейшн Способ перемещения отдельного отрезанного листа, относящегося к абсорбирующему изделию
US10275646B2 (en) * 2017-08-03 2019-04-30 Gyrfalcon Technology Inc. Motion recognition via a two-dimensional symbol having multiple ideograms contained therein

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5021891A (en) 1990-02-27 1991-06-04 Qualcomm, Inc. Adaptive block size image compression method and system
JPH11146396A (ja) * 1997-11-13 1999-05-28 Nippon Telegr & Teleph Corp <Ntt> 動画像圧縮符号化・復号化方法、動画像圧縮符号化・復号化装置、動画像符号化伝送方法、動画像符号化伝送システムおよび動画像圧縮符号化・復号化プログラムを記録した記録媒体
JP2003250161A (ja) * 2001-12-19 2003-09-05 Matsushita Electric Ind Co Ltd 符号化装置及び復号化装置
JP2003259377A (ja) * 2002-03-06 2003-09-12 Matsushita Electric Ind Co Ltd 動画像符号化方法、動画像復号化方法および符号列フォーマット
DE102004041664A1 (de) * 2004-08-27 2006-03-09 Siemens Ag Verfahren zum Codieren und Decodieren, sowie Codier- und Decodiervorrichtung zur Videocodierung
KR20060043118A (ko) * 2004-10-07 2006-05-15 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
KR100896279B1 (ko) * 2005-04-15 2009-05-07 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
CN103118254B (zh) 2005-09-26 2016-01-20 三菱电机株式会社 运动图像编码装置以及运动图像译码装置
JP4977094B2 (ja) * 2008-06-25 2012-07-18 株式会社東芝 画像符号化方法

Also Published As

Publication number Publication date
US20160269728A1 (en) 2016-09-15
KR101354014B1 (ko) 2014-01-23
US20160269729A1 (en) 2016-09-15
US8891891B2 (en) 2014-11-18
US20110200264A1 (en) 2011-08-18
US10051271B2 (en) 2018-08-14
US8532408B2 (en) 2013-09-10
WO2011102597A1 (en) 2011-08-25
CN104822064B (zh) 2018-07-31
US20140010285A1 (en) 2014-01-09
US9924170B2 (en) 2018-03-20
CN102763412B (zh) 2015-06-03
CN104822064A (zh) 2015-08-05
US10051272B2 (en) 2018-08-14
KR20120118501A (ko) 2012-10-26
CN102763412A (zh) 2012-10-31
JP2013520124A (ja) 2013-05-30
US20150043651A1 (en) 2015-02-12

Similar Documents

Publication Publication Date Title
JP5578743B2 (ja) コーディング構造
CN106713915B (zh) 对视频数据进行编码的方法
WO2016050051A1 (zh) 图像预测方法及相关装置
TWI551124B (zh) 應用於視訊系統之編碼/解碼方法及編碼/解碼裝置
KR101266667B1 (ko) 장치 내 제어기에서 프로그래밍되는 압축 방법 및 시스템
CN106534859B (zh) 基于spice协议的图像传输方法及装置
EP2614636A1 (en) System and method for skip coding during video conferencing in a network environment
WO2016180129A1 (zh) 预测模式选择方法、装置及设备
CN105282558A (zh) 帧内像素预测方法、编码方法、解码方法及其装置
WO2020103800A1 (zh) 视频解码方法和视频解码器
Chen et al. DDCA: A distortion drift-based cost assignment method for adaptive video steganography in the transform domain
US10812832B2 (en) Efficient still image coding with video compression techniques
CN116828192A (zh) 图像重建方法和装置
WO2018040427A1 (zh) 屏幕界面共享方法和***
KR20150000908A (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
JP2010098352A (ja) 画像情報符号化装置
JP4922101B2 (ja) 情報処理装置およびインター予測モード判定方法
CN109891882B (zh) 一种基于模板匹配的编解码方法及装置
CN103581688A (zh) 一种视频图像的编码和解码方法及装置
KR20150081240A (ko) 무손실 비디오 부호화/복호화 방법 및 장치
JP2024517915A (ja) データ処理方法、装置、コンピュータ機器及びコンピュータプログラム
CN107172425B (zh) 缩略图生成方法、装置及终端设备
JP2015076765A5 (ja) 画像処理装置及びその制御方法、符号化装置、並びに、コンピュータプログラム
JP2022554416A (ja) 符号化されたビデオビットストリームを復号化する方法、装置及びコンピュータプログラム
CN104159106A (zh) 视频编码方法和视频解码方法及其装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140707

R150 Certificate of patent or registration of utility model

Ref document number: 5578743

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250