JP2007510320A - 画像データを処理する方法及び装置 - Google Patents

画像データを処理する方法及び装置 Download PDF

Info

Publication number
JP2007510320A
JP2007510320A JP2006530963A JP2006530963A JP2007510320A JP 2007510320 A JP2007510320 A JP 2007510320A JP 2006530963 A JP2006530963 A JP 2006530963A JP 2006530963 A JP2006530963 A JP 2006530963A JP 2007510320 A JP2007510320 A JP 2007510320A
Authority
JP
Japan
Prior art keywords
memory
image
data
image data
cache
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.)
Pending
Application number
JP2006530963A
Other languages
English (en)
Inventor
デイヴィッド イー ペンナ
リチャード エム ミラー−スミス
コリン アイ キング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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 Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2007510320A publication Critical patent/JP2007510320A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

MPEGデコーダ(100〜180)は、連続する画像を復号する場合に、参照画像に関し画像データメモリ(150)に対して異なるフォーマット(リニア、タイル化、等)を使用することができる。各フォーマットは、利点及び欠点を招来する。本開示は、異なるビデオシーケンスが、例えば画像間に多くの動きがあるか又は少しの動きしかない場合に、或る画像バッファフォーマットには良好に適合するが、他のものには適合しないような特性を有し得ることを示す。有利には、上記デコーダは、パラメータ化された画像バッファフォーマット並びに入力ストリーム及び/又は測定された復号性能の解析を使用して(190)、ストリームの現部分に対して最良の画像バッファフォーマットを動的に選択する(90、160、170)。キャッシュ制御機能も、入力された特定のデータに適合するように制御することができる(198)。

Description

本発明は、画像データを画像プロセッサのメモリ内に配置する方法及び装置に関する。本発明は、MPEGビデオストリームのようなブロック型符号化画像データを復号する分野に特別な用途を有する。
デジタル伝送及び記憶システムは、利用可能な伝送帯域幅及び記憶容量内で許容可能な画像品質を達成するために、良く知られたJPEG又はMPEGフォーマットで使用されているようなブロック型圧縮を一般的に使用する。JPEGは、ピクセルデータのグループ(即ち、ブロック)に対して離散コサイン変換(DCT)を実行することに基づくビデオ圧縮システムである。MPEGも、同一の原理には基づくが、画像フレーム間の動きを支援するための追加のフィーチャを備えるような動画ビデオ圧縮システムである。大幅なデータ圧縮を達成するために、ピクセルの各ブロックを表すDCT係数に、適応型量子化及び可変長符号化(VLE)が施される。ブロックは“マクロブロック”を形成するために4つにグループ化され、クロミナンス(カラー)成分は、輝度(明るさ)成分に対して提供される空間解像度の半分で表される。これらの技術は、静止画像(JPEG)及び動画ビデオ(MPEG)の両方において適用することができる。動画に対しては、画像フレーム間の時間的冗長性が識別され、動き補償されたフレーム間予測符号化を用いて大幅に低減される。
MPEGシーケンスを記述するために使用される用語は、完全な画像を含む“フレーム”と、1ライン置きに配置された画像の半分であるような“フィールド”とを含む。しかしながら、復号の単位は、フィールド構造化又はフレーム構造化されたものとすることが可能な画像である。画像バッファは、採用される記憶フォーマットに依存して、フレーム及び/又はフィールドの両方を記憶するために使用される。
エンコーダとデコーダとの間の制限されたチャンネルの間でデータを伝送するための画像シーケンスを構築するために、“I”、“B”及び“P”画像として知られている3つの画像タイプが使用される。“チャンネル”は、帯域幅が限定された通信リンク、及びハードドライブ、コンパクトディスク又はビデオテープのような大容量記憶媒体上での映像の記憶(記憶効率を最大化したい場合)を含む。“I”画像フレームは“イントラ”フレームであり、これらフレームは、構造が単一のJPEGフレームに類似し、完全な緩やかに圧縮された画像データのフレームを含む。“P”画像フレームは“予測”フレームであり、ビデオストリーム内の前の“I”又は“P”フレーム(“キーフレーム”として知られている)に対して符号化される。“B”画像フレームは、“双方向補間”フレームであり、符号化されるためには以前の及び後の参照フレームを必要とする。
MPEG画像シーケンスの生成をサポートするために、データは画像メモリに記憶されねばならない。“B”又は“P”フレームが生成されている場合、1つ又は2つの前のソースI又はP画像が記憶されていなければならず、動き予測データを形成するために参照される。
MPEG処理を実行する画像プロセッサのための典型的な構成は、データを入力し、アナログドメインとデジタルドメインとの間で当該画像を変換し(当該プロセッサがエンコーダであるか又はデコーダであるかに依存して、何れかの方向に)、当該データを記憶し、該データに対して圧縮又は伸張を実行し、動きを補償し、表示等の後の使用のために当該データを出力するためのモジュール(ハードウェア又はソフトウェアの)を有する。
信頼性があり、効率的であり且つ高品質な出力を供給するような構成を提供するために、プロセッサの過負荷の結果として、画像品質を劣化させるようなフレーム飛び(スキッピング)又は他の画像アーチファクトが生じるような最悪の場合の条件を許容するように設計されねばならない。更に、メモリの帯域幅は、ハードウェアによる及びソフトウェアによる実施化の両者にとり重大な問題である。
スループットを最大化する(従って、プロセッサの過負荷の可能性を低減する)ために、プロセッサは、しばしば、非常に高いアクセス速度を持つキャッシュメモリを使用し、該プロセッサが非常に高速でデータを得るのを可能にする。斯かるキャッシュは、可能な限り多くのデータが、遅い“外部”メモリからではなく該キャッシュから得られるように構成される。特にソフトウェアによる実施化の場合、キャッシュのサイズ及びトラフィックが、時には、重大な性能決定要因となる。最悪状況性能はキャッシュ動作により著しく影響を受け得る。というのは、予測データが入力画像の広く分けられた部分から得られる可能性があり、結果として著しい“キャッシュ・スラッシング(cache thrashing)”(著しく且つ実質的に不要なキャッシュの使用及び内容の破棄)が生じるからである。
画像メモリは、しばしば、“ページ化された”メモリとして設けられ、これによれば、画像用の画像データは多くのページにわたって記憶され、各ページはプロセッサによりページアクセスによってアクセスされる。ページアクセスは、ページ化されたランダムアクセスメモリ(RAM)からのデータにアクセスする非常に高速な方法であり、プロセッサによるベースアドレスの供給のみを必要とし、該供給の後、データは、当該メモリの更なるアドレス指定を行うことなく、クロックにより読み出されてプロセッサに渡される。しかしながら、ページの横断は非効率的である。というのは、ページの横断は、現在のページングされているメモリの伝送の終了、及び次の組のデータ伝送のための新たなアドレス指定の発生を必要とするからである。
MPEG画像処理の分野では、ページ化されたメモリが使用される場合、異なる記憶フォーマットは、処理されている画像の内容に依存して、異なる利点を提供すると理解されている。画像データをリニアな基準で(例えば、ラスタ走査に従って)記憶することは、画像を連続的に表示するために要する複雑さを最小化する。しかしながら、リニア記憶が、動き補償/再生に使用するための画像データの参照フレームに対して使用される場合、参照データの取り出しは、多数のメモリページの横断を必要としかねない。他の例として、参照画像データを“タイル化されたフォーマット(tiled format)”(符号化処理で使用されたピクセルの二次元ブロックがメモリに順番に記憶される)で記憶することは、画像ピクセルが、当然、二次元的空間関係を有するという事実を利用することにより、ページ横断の数を減少させる。これを心に留めて、米国特許第5,912,676号は、走査ライン(ラスタ)、タイル化又は“スキュータイル化(skewed-tiled)”フォーマットのような異なる画像記憶フォーマットに従ってメモリへ(又はメモリから)画像データを記憶する(又は取り出す)再コンフィギュレーション可能な画像メモリインターフェースを記載している。しかしながら、本発明者は、画像シーケンスの内容は、各画像を形成するフィールド又はフレームの間の動きの量及び性質が大きく変化するので、全てのシーケンスに対して最適なものとなるであろう参照データメモリのコンフィギュレーションを選択することは不可能であると理解した。従って、上記米国特許は、もし適切に選択されるなら有利となり得る一連のコンフィギュレーションは提供するが、どれが適切なコンフィギュレーションであるかを規定してはいない。また、全てのシーケンスにおいて最適となるであろう単一のコンフィギュレーションを規定することも不可能である。最適なコンフィギュレーションは、更に、復号後に画像データに対してどの様なステップが実行されるべきかにも依存し得る。後続の処理段階のための他のフォーマットへの変換の必要性は、例えば、動き推定段階に対して好ましいフォーマットを採用することによる如何なる節約も無効にすることになりかねない。
本発明の目的は、処理されている画像ストリームの検出された特性に従って自動的に選択されるような、柔軟性のある動的に再コンフィギュレーション可能な画像メモリ記憶フォーマットを用いてMPEGシーケンスを復号する方法及び装置を提供することにある。
本発明は、第1の態様においては、動画シーケンスを表す画像データを画像データ処理システムにおけるメモリサブシステム内に配置する方法であって、前記シーケンスの順次の画像に関する画像データの前記メモリにおける配置を、前記画像データの測定された特性、前記処理システムの性能の測定された特性、及び前記画像処理システム内での前記画像データの後続の処理の既知の特性のうちの少なくとも1つに従って動的に選択するステップを有するような方法を提供する。このような構成は、所与の画像ストリーム(例えば、インターレースされた及びインターレースされていない画像フォーマットに対してスループットを最大化するためには、異なるフォーマット化が必要となる)、プロセッサ性能及び/又は画像の宛先に対して最も適したメモリ記憶フォーマット化が使用されることを保証することにより、システム設計者が例えばメモリサブシステム内でのページング及びキャッシュの使用を最適化し、これによりスループットを改善することを可能にする。
上記メモリサブシステムは、ページ化されたメモリから構成された画像データ記憶メモリを含むことができる。
上記メモリサブシステムは、主画像データ記憶メモリに加えて、プロセッサのキャッシュメモリを含むこともできる。
前記画像データの記憶メモリにおける配置を選択するステップは、画像データがライン毎にメモリに記憶されるようなリニアフォーマットと、ピクセルの二次元グループがメモリ内でグループ化されるような少なくとも1種のタイル化フォーマットとの間で選択するステップを有することができる。
前記メモリサブシステムがキャッシュメモリを含む場合、上記タイル化フォーマットは、好ましくは、1つのタイルに対するデータが全数のキャッシュブロックに対応するように規定される。
本発明は、メモリ内でのデータの配置の選択に影響を与えるための当該画像データの特性として:
A.入力されたデータ内で符号化された動きベクトルの変動性。例えば、復号されている画像にわたり動きが零であるか、又は少なくとも比較的一定している場合、参照画像をリニアフォーマットで記憶するのが効率的であり得る。動きベクトルが高度に変動的である場合、タイル化された又は他のフォーマットが単純なリニアフォーマットより好ましいであろう;
B.画像タイプ。例えば、キー画像(I又はP)の処理の効率を最大化するためには、タイル化された記憶フォーマットのような、他の画像から予測するのに一層効率的であるようなフォーマットが選択される;
C.当該シーケンスの画像当たりの符号化データのサイズ;
D.当該画像データが取り出される画像構造(例えば、画像フレームが単一の非インターレースフレームとして、又はインターレースフィールドとして配置されているか);
E.画像フレームのフィールドが別々に記憶される場合等の、画像を画像メモリに記憶するために採用された構造;
F.画像解像度等の、当該画像ストリームのシーケンスヘッダを復号することにより得られる当該ストリームの一定の特性。例えば、低解像度を持つ画像(シーケンスヘッダから決定される)はリニアな編成の記憶を用いて一層効率的に処理することができる。というのは、多くの表示ラインはデータキャッシュ内に納まり得、画像再構築のために配置が最適化されるからである。しかしながら、高解像度画像は、キャッシュストール及び/又はページ横断を最少化するために、タイル化フォーマットで記憶する方が有益であり得る;
のうちの1以上を測定するステップを有することができる。
P画像に関する動きベクトルの変動性等の測定される特性は、参照画像が復号され記憶されるまでは通常は利用可能ではないことが分かるであろう。従って、本方法は、動画シーケンスの先を調べて、該シーケンスの所与の部分に関する画像データの上記特性を測定し、該部分を処理する前にメモリ配置を選択することができる。
しかしながら、代わりに又は加えて、当該シーケンスの或る部分における画像データの測定された特性は、該シーケンスの後続の部分の特性を予測するために有効に使用され、当該シーケンスの最近に処理された部分の測定特性に従ってメモリ配置が選択される。
画像データの特性の測定値は、或る期間にわたり平均化することができる。
動きベクトルの変動性が測定される場合、垂直面と水平面との間で別個に測定することができ、各々が記憶配置の選択において異なる効果を有する。(純粋に水平的である変動性は、依然としてリニア記憶フォーマットに有利である。)
本方法は、代わりに又は加えて、メモリにおけるデータの配置の選択に影響を与えるために、システム性能の特性として:
G.メモリサブシステムにおけるデータキャッシュストール率;
H.プロセッサ利用度(例えば、プロセッサの百分率でのアイドル時間を測定することによる);
I.サービス品質(quality of service)、又は処理されている内容のエンドユーザにとり知覚可能な斯様な品質的測定値;
J.前記画像プロセッサへ(又はから)データを供給するリンクの帯域幅;
のうちの1以上を測定するステップを有することができる。
当該メモリサブシステムがキャッシュメモリを含む場合、システム性能の測定は画像再構築の間におけるデータキャッシュストール率の測定を含むことができる。
システム性能は、当該データを処理する前に該データのサンプルを使用して、少なくとも試験的に測定することができる。他の例として、当該シーケンスの第1部分を処理している間に測定されたシステム性能を、該シーケンスの後続部分に対するメモリの配置に影響を与えるように使用することもできる。
本方法は、代わりに又は加えて、メモリにおけるデータの配置に影響を与えるために、後続の処理ステップに関する知識を使用するステップを有することもできる。これは、異なるタイプの処理ステップに対するフォーマットの間の変換の必要性を考慮するために実行することができる。
メモリ配置の選択は、メモリをアクセスするプログラムコードにより使用されるパラメータを変更することにより少なくとも部分的に実施化することができる。他の例として、メモリ配置の選択は、実行されるべき異なるバージョンのコードを選択することにより実行することができる。これら2つのオプションは、異なる配置の数及び性質に応じて、一緒に使用することができる。
上述した態様とは独立に、又は上述した態様に加えて使用することが可能な本発明の第2の態様によれば、本発明は、画像データ処理システムにおけるメモリサブシステム内の動画シーケンスを表す画像データを処理する方法であって、該メモリサブシステムが主画像データ記憶メモリに加えてプロセッサキャッシュメモリを含み、該方法が、前記画像データの測定された特性及び前記処理システムの性能の測定された特性の少なくとも一方に従って、プログラム制御下でキャッシュ処理機能を選択的に使用するステップを有するような方法を提供する。
幾つかのタイプのプロセッサは、プログラム制御されるキャッシュ処理機能を提供する。例えば、ブロック割当機能、又は先取り(pre-fetch)処理を設けることができる。しかしながら、本発明者は、メモリ配置の場合と同様に、これらの使用は必ずしも全ての画像シーケンスにとり等しく有利であるとは限らず、幾つかの状況では反生産的であり得ることに気が付いた。
従って、主メモリから事前ロードすることなしに新たなキャッシュブロックが割り当てられ、書き換えられるようなブロック割当機能を、前記測定された特性に従って選択的に使用することができる。例えば、記憶のためにタイル化フォーマットが使用される場合に、より頻繁にブロック割当を使用し、かくしてプロセッサのスループットを改善することが可能である。
加えて、キャッシュ先取りを、測定された特性に従って選択的に起動することができる。先取りは、思惑的な傾向があり、帯域幅の浪費の危険性がある。しかしながら、タイル化フォーマットの使用は、より少ないキャッシュブロックが処理されており、従って、先取りされているデータのより少ししか使用されずに最終的に破棄されないことを意味する。
本発明の第1及び第2の態様が共に使用される場合、キャッシュ処理機能の使用及びメモリの配置の選択は、先に掲載したもののうちの、同一の特性又は異なる特性に従って実行することができる。
更に、本発明は画像データ処理システムであって、メモリサブシステムと、該メモリサブシステム内の前記シーケンスの順次のフレームに関する画像データの配置を、前記画像データの測定された特性、当該処理システムの性能の測定された特性、及び当該画像処理システム内での前記画像データの後続の処理の既知の特性のうちの少なくとも1つに従って動的に選択する手段とを含むような画像データ処理システムを提供する。
上記メモリサブシステムは、ページ化されたメモリから構成された画像データ記憶メモリを含むことができる。
上記メモリサブシステムは、主画像データ記憶メモリに加えて、プロセッサのキャッシュメモリを含むこともできる。
前記画像データの記憶メモリにおける配置を選択する手段は、画像データがライン毎にメモリに記憶されるようなリニアフォーマットと、ピクセルの二次元グループがメモリ内でグループ化されるような少なくとも1種類のタイル化フォーマットとの間で選択するように構成することができる。
前記メモリサブシステムがキャッシュメモリを含む場合、上記タイル化フォーマットは、1つのタイルに対するデータが全数のキャッシュブロックに対応するように規定することができる。
前記選択する手段は、メモリ内でのデータの配置の選択に影響を与えるために、当該画像データの特性として:
A.入力されたデータ内で符号化された動きベクトルの変動性;
B.画像タイプ;
C.当該シーケンスの画像当たりの符号化データのサイズ;
D.当該画像データが取り出される画像の構造;
E.画像を画像メモリに記憶するために採用された構造;
F.当該画像ストリームのシーケンスヘッダを復号することにより得られる当該ストリームの一定の特性;
のうちの1以上を測定する手段を含むことができる。
上記測定する手段は、動画シーケンスの先を調べて、該シーケンスの所与の部分に関する画像データの上記特性を測定し、該部分を処理する前にメモリ配置を選択することができる。
代わりに又は加えて、前記選択する手段は、当該シーケンスの或る部分における画像データの測定された特性が、該シーケンスの後続の部分の特性を予測するために有効に使用され、当該シーケンスの最近に処理された部分の測定特性に従ってメモリ配置が選択されるように構成することができる。
該測定する手段は、測定された画像データの特性を或る期間にわたり平均化する手段を含むことができる。
上記測定する手段が動きベクトルの変動性を測定するように構成される場合、垂直面と水平面との間で別個にそのようにするよう構成することができ、各々が記憶配置の選択において異なる効果を有する。
前記選択する手段は、代わりに又は加えて、メモリにおけるデータの配置の選択に影響を与えるために、システム性能の特性として:
G.メモリサブシステムにおけるデータキャッシュストール率;
H.プロセッサ利用度(例えば、プロセッサの百分率でのアイドル時間を測定することによる);
I.サービス品質(quality of service)、又は処理されている内容のエンドユーザにとり知覚可能な斯様な品質的測定値;
J.前記画像プロセッサへ(又はから)データを供給するリンクの帯域幅;
のうちの1以上を測定する手段を有することができる。
当該メモリサブシステムがキャッシュメモリを含む場合、上記システム性能を測定する手段は、画像再構築の間においてデータキャッシュストール率を測定するように構成することができる。
上記システム性能を測定する手段は、データを処理する前に該データのサンプルを使用して試験的にそのようにするよう構成することができる。他の例として、上記選択する手段及びシステム性能を測定する手段は、当該シーケンスの第1部分を処理している間に測定されたシステム性能が、該シーケンスの後続部分のためのメモリ配置を制御するために使用されるよう構成することもできる。
上記選択する手段は、代わりに又は加えて、メモリにおけるデータの配置に影響を与えるために、後続の処理ステップに関する知識を使用するように構成することもできる。
当該画像処理システムは、少なくとも部分的にプログラムコード及びプログラマブル処理ユニットにより実施化することができる。
前記選択する手段は、前記メモリサブシステムをアクセスする場合に前記プログラムコードにより使用されるパラメータを変更する手段により実施化することができる。他の例として、上記選択する手段は、実行されるべき別のバージョンのコードを選択することにより実施することができる。
本発明の第3の態様によれば、本発明は、処理されている動画シーケンスを表す画像データを記憶するためのメモリサブシステムを含むような画像データ処理システムであって、該メモリサブシステムが主画像データ記憶メモリに加えてプロセッサキャッシュメモリを含み、該システムが、前記画像データの測定された特性及び当該処理システムの性能の測定された特性の少なくとも一方に従って、プログラム制御下でキャッシュ処理機能を選択的に使用するよう構成された処理システムを更に提供する。
該システムは、主メモリから事前ロードすることなしに新たなキャッシュブロックが割り当てられ、書き換えられるようなブロック割当機能が、前記測定された特性に従って選択的に使用されるように構成することができる。
該システムは、キャッシュ先取りが、測定された特性に従って選択的に起動されるように構成することができる。
更に、本発明は、物理的記憶装置上であるか又は何らかの他のチャンネルを介して伝送されるものであるかに拘わらないコンピュータプログラム製品であって、データ処理システムに、上述した本発明を実施化する装置のフィーチャ又は方法のステップを実施させる命令を有するようなコンピュータプログラム製品も提供する。
以下、本発明の実施例を、添付図面を参照して例示のみとして説明する。
図1は、MPEG復号を実行する画像プロセッサの種々のモジュール、並びに画像シーケンスの特性解析並びに画像バッファ及びキャッシュ制御の動的再コンフィギュレーションを支援する付加的フィーチャを図示している。該再コンフィギュレーションの更なる一般的考察及び詳細は、後に別個の見出しで説明する。
アナログビデオ又はデジタルストリームの何れかの形態の入力データINは、インターフェースブロックI/Fに入力される。当該デコーダは、更に、コンフィギュレーションブロック(MAP1)90、バッファ(BUFF)100、可変長デコーダ(VLD)110、逆走査(IS)及び逆量子化器(IQ)120、逆離散コサイン変換(IDCT)130、動き補償器(MC)140、画像メモリ(MEM)150、コンフィギュレーションブロック(MAP2)160、コンフィギュレーションブロック(MAP3)170、画像メモリ/出力インターフェース(IM/OI)180、並びに統計プロセッサ(STATS)190を有している。該デコーダは、専用のハードウェアで、一連の処理ステップとしてのプロセッサにより、又は両者の組み合わせで実施化することができる。本開示は、これらステップ(特に、VLD及びIS/IQステップ)がマイクロプロセッサをプログラミングすることにより実施化されるものと仮定し、該マイクロプロセッサはメディア処理拡張部を備える又は備えない汎用マイクロプロセッサとすることができる。好ましい実施化においては、上記プロセッサは、フィリップス・セミコンダクタ社製のトライメディア(登録商標)プロセッサファミリ等の画像処理用に最適化されたVLIWプロセッサとする。
図示のステップの動作は、下記の通りである:
・80で示すインターフェースは、入力データをMPEG復号用の適切なデジタルフォーマットに変換するためのものである。図示しないがブロック(I/F)80内の追加のステージは、入力データのフォーマットに応じて、アナログ/デジタル変換、同期信号抽出、利得制御ブロック等を含むことができるが、デジタル信号を変換するインターフェースを含むこともできる。
・100に示す入力ビットストリームをバッファリングするBUFFは、ビデオストリームを入力すると共に、後続の処理ステップに該ビデオを入力ビデオレートに対して種々のレートで復号するのを可能にさせるような時間的に柔軟性のある行列を形成するためのものである(この時点で、オーディオ及び他のデータを分離し、自身のデコーダに導くことができる)。
・110に示す可変長復号は、可変長MPEGトークンを、量子化されたDCT係数のような、対応する値に変換するためのものである。
・120に示す逆量子化は、DCT係数の実際の値を、選択された量子化及びスケールファクタマトリクスの値に従って獲得する一方、逆走査ステップはトークンのストリームから、通常はジグザグである所定の順序に従って係数マトリクスを再形成する。
・逆離散コサイン変換ステップ130は、上記DCT係数を、これら係数が表すピクセル値のブロックに再形成するためのものである。
・当該画像がイントラ符号化されていない場合、動き補償が140において実行され、復号されたピクセル値を、当該画像シーケンスにおける先に復号された近隣画像である参照画像からの値と組み合わせる。
・コンフィギュレーションブロック(MAP1)90、(MAP2)160及び(MAP3)170は、メモリ中のデータのフォーマットをSTATSブロック190からの制御信号に従って変更するよう、アドレス値を変換するために使用される。後に詳述するように、これらのブロックは、パラメータ化されたメモリアドレス指定の使用によりソフトウェアで実施化することができる。このようにして、当該画像データの処理を規定するプログラムコードは、実行時に実際に使用されるメモリフォーマットとは独立に書くことができ、該フォーマットは、単にパラメータ値を変更することにより変更及び再変更することができる。
・メモリブロック150は、データの一時的記憶が必要とされるような予測等の機能をサポートするために動き補償器(MC)140により使用される。
・画像メモリ/出力インターフェース処理は、150において、例えば当該ビデオをメモリ内の二次元ビデオ画像又はデジタルビデオストリーム等の適切なフォーマットで表すために実行される。
・最後に、統計プロセッサ(STATS)190は、異なる段階の処理において取得される種々の測定データを監視すると共に、当該デコーダを介してのデータのスループットを最大化すべく、理にかなったステップに記憶要素におけるデータのフォーマットを変更させるために使用される。これは、“適応型フォーマット処理”と称する。
図2は、MPEG復号を実行する画像処理システムの物理的実施例を示す。プロセッサ200は、自身と主メモリ220との間でキャッシュ210を使用する。キャッシュ210及び主メモリ220は、メモリサブシステムを形成する。典型的には、キャッシュシステムはメモリ空間を、ページ化DRAMが利用可能なメモリをページに分割するのと同様の方法でキャッシュブロックに分割する。データは、通常は、キャッシュに一度にキャッシュブロックで転送される。触られるキャッシュブロックの数を最少化することは、時には、メモリシステムのトラフィック及びプロセッサの遅延を低減させる。これは、キャッシュシステムの効果は、アクセスされるキャッシュブロックの数を最少化することが望ましいという点で、メモリページングシステムのものと非常に類似している。
CPU200はPCワークステーションの主プロセッサとすることができるか、又は前述したトライメディア(登録商標)プロセッサのようなビデオ処理全般専用の若しくはMPEG復号専用の補助プロセッサとすることができる。これらプロセッサ及びメモリは、代わりに、DVDプレーヤ、ビデオ会議端末又はゲームコンソール等の専用のデジタルビデオ装置の一部を形成することもできる。CPU200は、好ましくは、図1の復号処理の全体又は少なくともかなりの部分を実行する。これを示すために、当該図はビデオビットストリーム(IN)230が上記プロセッサに入力されるのを示しているが、メモリへのDMA転送等のデータを入力する他の方法でも充分である。同様に、ビデオ出力(OUT)240が上記メモリから出力されるのが示されているが、実際には、データを読み取り、フォーマットし、出力するためにプロセッサの相互作用が必要であり得る。動作時において、プログラム、入力データ及びCPUにより発生された復号された画像は主メモリ220に保持される。しかしながら、既知のように、頻繁に使用されるデータ又は処理ステップは、これらを遅いメモリ220から得るのに優先して、キャッシュ210へロード及び斯かるキャッシュから抽出される(利用可能な場合は)。当該プロセッサ用がここで述べる処理を実施するためのプログラムコード(命令)は、事前にインストールするか(ファームウェア)、又はCD−ROM又はフロッピーディスク250等の記録担体上で別途供給することができる。一緒に実行されるメモリアクセス処理が、通常、近隣のロケーションに対するものである限り、キャッシュの使用は主メモリの帯域幅を制限した。
適応型フォーマット処理により、種々のメモリ100、150及び180における画像データの記憶を最も適したフォーマットに動的にコンフィギュレーションして、スループットを最大化すると共に、特に、キャッシュの効率を最大化することを狙うものである。
当該装置は、記憶されたプログラムの制御下で、メモリ内の画像データの配置を、画像データの測定された特性、処理システムの性能の測定された特性(画像データの特性に依存する)及び/又は画像プロセッサ内での画像データの後の宛先の特性に従って動的に選択することができる。
この実施例で動的にコンフィギュレーションされるメモリは、主メモリ220である。というのは、該メモリは参照画像用の画像データ記憶のために使用されるからである。また、本原理をメモリ220の他の機能、及びプロセッサのキャッシュ210にさえも適用することができる。もっとも、キャッシュの幾何学構造の変更を許容する現在利用可能な製品の数は極少ない。当該画像データの記憶メモリは、スタチックRAMでもよいが、ページ化されたDRAMのほうがありそうである。
単独で又は種々の組み合わせで解析することが可能な測定される特性は下記のものを含む:
A.導出された動きベクトルの変動性を測定する。動きベクトルの変動性の測定は或る期間にわたり平均化することができ、その結果は、当該動きベクトルが参照する参照画像に対する最も適した記憶フォーマットを決定するために使用される。水平面と垂直面との間で別個に変動性を測定すると、一層有効であろう。その理由は次の通りである。リニアフォーマットを考察した場合、(例えば)8ビットの水平方向の動きベクトルの乱れは厄介ではない。何故なら、キャッシュブロックは水平方向に大きな領域を表す(従って、当該プロセッサは同一のキャッシュブロック内からデータにアクセスする可能性が高い)からである。垂直には、同一の乱れは、メモリを経ての長い距離のアドレス指定を要し(768なるメモリ歩幅の場合、メモリアドレスの変化は768x8=6144バイトとなる)、これは多くのキャッシュブロックの移動となるであろう。垂直方向の乱れの方が、一層大幅にキャッシュミスとなる可能性が高い。しかしながら、フォーマットがタイル化された場合、水平方向及び垂直方向の動きベクトルの乱れの効果は同じ様になる。これらの例は、水平方向及び垂直方向の動きベクトルの変化の混合は異なるメモリフォーマットに異なる態様で影響し、幾つかの場合においては結果として変動性を別個に測定する必要性があることを示している。
B.画像タイプに従って動作する。例えば、キー画像(I又はP)を処理する効率を最大化するためには、キー画像を後続のP又はB画像に対する参照データとして使用する場合にデータキャッシュストール率を制限するようなタイル化記憶フォーマット等の、他の画像から予測するのに一層効率的なフォーマットを選択することができる。B画像は全てリニアフォーマットで記憶し得る(それが、望ましい出力フォーマットであるなら)。何故なら、これらの画像はデコーダにおいて参照データとして使用されないからである。しかしながら、実質的に全ての動きベクトルが零又は一定である場合、キー画像をリニアに記憶させることは可能である。何故なら、参照データが比較的滑らかな順序で必要とされるからである。
C.代替的に(又は付加的に)、情報は、後続の画像の特性を決定するために、圧縮されたサイズを監視する等、当該画像ストリームを通して先を解析することにより得ることもできる。該圧縮されたサイズは(単独で又は他の測定値との組み合わせで)、当該画像を処理する困難さを相当程度示すと思われる。そして、これは何の記憶フォーマットが典型的には最適であるかを示すことができる。例えば、相対的に少ない量のデータは殆ど動きのないシーケンスの画像を示す可能性があり、これはリニア記憶が最適であり得ることを示すであろう。
D.当該画像データが導出される画像の構造を測定(又は当該データストリーム内のヘッダ情報から検出)する(例えば、画像フレームがインターレースされていない又はインターレースされた画像ラインとして配置されているか)。
E.画像解像度のような当該ストリームの特性のために、該画像ストリームのシーケンスヘッダを復号する。例えば、低解像度を有する画像はリニアな編成の記憶を用いて一層効率的に処理することができる。というのは、多くの表示ラインがデータキャッシュ内に納まり、該配置が画像再構築のために最適化されるからである。しかしながら、高解像度画像は、キャッシュストールを最少化するために、タイル化フォーマットでの記憶の方が有益である。
F.画像再構築の間においてデータキャッシュストール率を測定する。現在のメモリコンフィギュレーションが如何様であっても、高いキャッシュストール率は、別のメモリコンフィギュレーションの方が適切であるかも知れないことを示す。
G.プロセッサの利用度を測定する。1以上の追加の“バックグラウンド”作業を実行するためにプロセッサ時間が必要とされる時には、当該メモリ内の画像データの配置はプロセッサ利用度を最小化するように制御されるべきである。該プロセッサ性能を他の測定された特性は、プロセッサのアイドル時間の百分率の測定を含み得る。
H.サービス品質(quality of service)、又は処理されている内容についてエンドユーザにとり知覚可能なような他の定性的測定値を測定し、又は測定値を利用する。このようなものの一例は、プロセッサ能力が不充分な場合にデータを(例えば)破棄することにより生じるブロックノイズであり、これは再構築された画像内に可視アーチファクトを発生する。ブロックノイズ及び他の斯様な可視アーチファクトは、画像プロセッサのスループットを増加させることにより低減することができる。
I.当該画像シーケンスにおける到来しつつある画像に応答して画像データの記憶を最適化するために、先行情報に従って動作する。斯様な態様の一例は、当該画像ストリームの内容に関係する関連データファイルを有することである。該データファイルは、先行して読み取り、当該画像内容が処理される前にそれに従い、統計値の獲得と当該画像プロセッサの最適化との間における不可避的遅れにより生じる短期的影響を除去することができる。
J.当該画像プロセッサへ(又はから)データを供給するリンクの帯域幅を測定し、又は斯かる測定値を使用する。入力又は出力リンクの帯域幅は、時には、無線又は通信リンクの帯域幅による等により、制約される。幾つかの場合においては、帯域幅はリンクの完全さに従い変化する。これらの要因も、当該画像プロセッサのコンフィギュレーションの間において考慮に入れることができる。もっとも、本実施例においては、これは実施されていない。
メモリにおける画像データの配置の動的選択の効果は、或る期間にわたり監視することができ、その結果は後の記憶配置を仕立てると共に、当該画像プロセッサのスループット及び/又は当該処理の品質を最大化するために使用される。例えば、少数のマクロブロックを先取り及び処理し、性能統計値を得るために測定がなされ、その結果は当該画像プロセッサのコンフィギュレーションを仕立てるために使用される。フィリップス社製トライメディア(登録商標)等の既知のマイクロプロセッサは、プログラムにキャッシュミス及び失敗した先取り試行の数を監視させることにより直接的に測定値を得ることができる。
メモリ中の画像データの配置は、当該画像プロセッサにおける画像の宛先に従って選択することができる。例えば、当該画像が画像プロセッサからモニタへ直接出力されねばならない場合、該画像はリニアな配置で記憶することができるが、該画像が、タイル化記憶配置を使用して最適に動作するような他の処理段に渡される場合は、当該画像データの選択配置はタイル化となるであろう。隣接する行のブロックがブロック幅の一部だけ互いにオフセットされるような“スキュータイル化(skewed tiled)”フォーマットも興味あるものであり得る。これらの及び他のタイル化フォーマットは、前記導入部で言及した米国特許に更に詳細に記載されている。
図3は、グループ・オブ・ピクチャ(GOP)シーケンス内の物理的画像順序と時間的画像順序との間の相違を示している。良く知られているように、MPEG−2及び他の現代のデジタルフォーマットにおける画像は、時間的冗長性を低減するために互いを参照することにより符号化される。動き補償は、或る画像の内容の推定を、隣接する画像又は複数の画像に関して既に復号された内容から形成する。従って、グループ・オブ・ピクチャ(GOP)は、典型的には、他の画像を参照しないで符号化されたイントラ符号化“I”画像と、先行するI画像に基づく動きベクトルを使用して符号化された2個又は3個の“P”(予測)符号化画像と、順序的に前及び後ろのI及び/又はP画像からの予測により符号化された双方向予測“B”とを有する。B画像に必要とされるデータ量はP画像に必要とされるものより少なく、P画像に必要とされるデータ量はI画像に必要とされるデータ量より少ない。一方、P及びB画像は他の画像を参照してのみ符号化されているから、所与のシーケンスの再生を開始するための実際の入力点を提供するものは、I画像のみである。更に、I及びP画像は、対応するB画像の前に符号化され、正しい提示順序を達成するために復号の後に再配列される。I(及びP)画像に関する復号された画像データは、P及びB画像の復号において参照データとして使用するために保持され、又はメモリに取り込まれなければならない。
良く知られているように、グループ・オブ・ピクチャの符号化及び構造に関する情報は、データの始点におけるGOPヘッダ300内に含まれている一方、各画像の符号化及びタイプに関する情報は、各画像に対するデータの始点における画像ヘッダ302に含まれている。
以下、メモリサブシステムが、上記レビューで説明したもののような技術を使用して最適化された性能を達成するように制御されて編成されるような種々の方法について更に述べる。
[効率的メモリ配置]
画像データをメモリ220に配置する通常の且つ自明な方法は、完全な行のピクセルを表示順に連続するロケーションに記憶することである。これは、以下では“リニア編成”と呼ぶ。この明細書の目的では、簡略化のために輝度のみが考察される。同じ一般的考察が、クロミナンスデータにも、又はクロミナンス/輝度成分がインターリーブされる場合にも当てはまる。これらは、別個に処理することができるか、又は所与のマクロブロックに対して輝度データと一緒に処理することができる。
図4は、この配置を、720なる水平解像度(TVシステムでは普通である)及びキャッシュブロックサイズが64バイトのメモリサブシステムでの輝度データ例で示し、この場合、各ラインの輝度は11.25のキャッシュブロック(CB0、CB1、等)を占める。隣接するラインに対して影響を有さないようなキャッシュ制御処理を実行するためには、画像をメモリに、記憶されたライン間に使用されない空間を伴うようにして記憶するのが明らかに有利であり、かくしてメモリの“歩幅”(2つの隣接するラインのアドレス間のアドレスの差)は768(64の最寄りの倍数に切り上げられる)となる。EOLは或るラインのピクセルに関する実際のデータの終了を示す。斜線のロケーションは使用されない。
結果として、各マクロブロックの処理は、16キャッシュブロックを占めるような16x16領域の出力データを生成することになる。
予測データの各ソースは、少なくとも16x16ブロックの予測データを供給しなければならない。動きベクトルにおける半分のピクセル解像度の結果として、これは、最悪の場合で17x17領域のソースデータ(動きベクトルの水平及び垂直成分の両者における最下位ビットが設定される)を必要とし得る。
図5は、17の別個のキャッシュブロック内に配置された、17x17のピクセルデータのブロック500を示している。残念ながら、この17x17のデータブロックのページ化メモリ内の位置は、キャッシュブロックと整列されない可能性がある。ソースデータの全ての17バイト幅の行が1つのキャッシュブロック内に納まる場合(図5)、全データに対してアクセスを有するためには、17のデータのキャッシュブロックが必要となる。もし、図6に示されるように、これらの行がキャッシュブロックの境界を横断すると、34のキャッシュブロックが必要となる。このブロックの横断の発生は、時間の約25%で生じそうであるから、平均のブロックカウントは約21となるであろう。
21のキャッシュブロックはキャッシュの21x64=1344バイトを占める。双方向予測を考察すると、2つのデータソースが存在することになり、これはソースデータのキャッシュ占有を2688に倍化させる。宛先データは、16のキャッシュブロックを占め、キャッシュブロックを横断しないことが保証され得るので(キャッシュに整列された表示ラインを仮定する)、宛先データのキャッシュ占有は16x64=1024バイトである。従って、全キャッシュ占有は3712バイトとなり、これは多くのプロセッサのキャッシュ内に納まるのに充分なほど小さい。
1つのキャッシュブロックが取り込まれる場合、16又は17バイトしか実際には必要とされない場合でも、キャッシュブロックの全64バイトが当該キャッシュに読み込まれる。マクロブロック間で動きベクトルが変化しない場合、該ブロックに対して使用されないデータは、後続のブロックに対して使用されるであろう。しかしながら、動きベクトルが広く変化するような“困難な”ビデオシーケンスにおいては、このデータは使用されない可能性が高い。最悪の場合は、どのマクロブロックも、読み出されたが前のマクロブロックの処理の間に使用されなかったデータの何れも使用せず、結果として、予測データが読み出されるのに要するメモリ帯域幅が4倍になる場合である。これは、使用されるであろうデータキャッシュの量の大幅な増加の原因ともなるので、他の有用なデータ(予測ソースデータ、予測出力データ又は動き再生に必ずしも直接的に関係しない他のデータ)が当該キャッシュから破棄され得、斯かるデータが再度必要となった場合に、結果的な時間の浪費を伴う。これの明らかな結果は、当該シーケンスをリアルタイムで提示するためにデータを廃棄しなければならない場合の画像品質の悪化である。柔軟性のあるメモリアドレス指定方法は、他のメモリ構造が実施化されるのを可能にする。例えば図7は、各キャッシュブロックが8x8の矩形領域(“タイル”)の輝度データを含むように画像データが編成されるようなタイル化配置を図示している。この編成の場合、マクロブロックによりカバーされる輝度の宛先領域は、4つのキャッシュブロックの全てを占める(16ブロックの一部の代わりに)。図8は、16x16ピクセル及び17x17ピクセルの間の各ソース領域が、通常どの様に3x3=9キャッシュブロック(図5及び6のリニア配置における典型的な21に対して、4から9の範囲となる)を占有するかを示している。
図9及び10はスキュータイル化配置を図示し、これによれば、画像データは、ここでも、各キャッシュブロックが8x8矩形領域(“タイル”)の輝度データを含むように編成されるが、各交互の行はタイルの半分だけスキューされている。この配置は、画像メモリのページの横断を更に減少させることができる。
実験結果は、予測されたように、タイル化された編成は動きベクトルが高度に変動的である場合に性能を改善することを示している。しかしながら、動きベクトルが一定である場合は単純なリニア編成が非常に良好に動作し、フォーマット間の変換のオーバーヘッドは無視することができない。
[キャッシュ制御]
多くのプロセッサは、キャッシュの動作がプログラマにより直接制御されるのを可能にする命令を有している。ここでは2つの例を、フィリップス社製トライメディアPNX1300プロセッサに関連して説明する。キャッシュ制御機能は、図1においてブロック(STATS)190からメモリサブシステムにつながるライン198により示されている。他のプロセッサも、プログラマがキャッシュを制御するための同等の又は異なるオプションを提供することができる。
<キャッシュブロック割当>
プロセッサが記憶命令を実行する場合、その効果は、キャッシュブロック内のデータが変更されるというものである。変更されるメモリデータが既にキャッシュ内にある場合、これは全速で生じる。しかしながら、これが当てはまらない場合、新たなキャッシュブロックが割り当てられなければならず、変更されたバイトが該ブロックに書き込まれる。当該キャッシュブロック内の該データの残りをメモリと一致させるために、データを該新たに割り当てられたキャッシュブロックに読み込むための読取動作が存在しなければならない。
幾つかの場合において、プログラマは、キャッシュブロック内の全てのバイトが重ね書きされ、この読取動作は不必要であることを知るであろう。該読み取りはメモリシステムの帯域幅を占有する。幾つかのプロセッサの構成においては、これはプロセッサを遅延させ得る。上記トライメディアの“alloc”命令は、新たなキャッシュブロックが、メモリから充填されることなしに割り当てられるようにし、これらの問題を回避する。
しかしながら、“alloc”命令は危険であり得る。当該ブロック内のデータの幾つかがプログラムにより重ね書きされない場合、その影響は、このデータが失われるということになる。斯かるプログラムは、当該キャッシュブロックによりカバーされるメモリ領域内の既存のデータの何れも再び必要とされないことを保証するように、書かれなければならない。
前述した2つのメモリ編成に関しては、第2の(タイル化)編成の方が、この観点からは、遙かに単純であることがわかる。各マクロブロックの復号は、4つのキャッシュブロックを完全にカバーする。他方の編成は16のキャッシュブロックを部分的にカバーし、これは、“alloc”の使用を制御するために一層の計算上の複雑さが必要とされることを意味する。これは、表示ラインの始点及び終点の近傍で特に複雑になり得る。この複雑さは、キャッシュ管理命令を使用することからの利益を減少させる又は破壊さえもし得るような計算的コストを有するであろう。
<先取り(pre-fetch)>
この処理は、当該メモリシステムがキャッシュラインを割り当て、指定されたメモリ領域からのデータでロードすることをリクエストする。利点は、これを、データを必要とされる前にコールすることができる点である。当該メモリシステムが、当該先取りリクエストが発せられる時点と当該データが必要とされる時点との間に充分な予備時間を有している場合、該データは先取りされ、当該プロセッサは該データを待って遅らされることはないであろう。
タイル型編成においては、関係するキャッシュブロックが大幅に少ないので、先取りが生じるために利用可能な時間が一層ありそうである。全体では、先取りされるデータは大幅に少ない。これは、動きベクトルが一定である場合には余り関係がなく、全てのデータが最終的には有用となろうが、当該データの幾つかが決して使用され得ないように動きベクトルが変化する場合は一層重大である。
結論として、タイル化フォーマットのような幾つかのメモリ編成は、他のものより有効なキャッシュ最適化の余地がある。しかしながら、ここでも、タイル化フォーマットへの変換にはオーバーヘッドが関わるという事実は、当該フォーマットを全てのフレームに対して使用することが必ずしも効率的でないことを意味する。
[パラメータ化されたアドレス指定]
通常、異なるメモリ編成は、異なって書かれたコードを必要とする。これを回避する1つの技術は、単一の共通のコードを種々のメモリ編成を扱うことができるようにパラメータ化することである。
一例は、トライメディア(登録商標)に適用される1つの可能性のある構成を示す。これは32ビットプロセッサであるので、4つの値のデータ群を扱うのが便利である。この場合、各ワードは、当該画像の1つからの4つの隣接する値(例えば、4つの水平方向に隣接するピクセルの輝度値)を表す。
該パラメータ化は、所要の方向に或る距離移動させる場合に使用されるべきアドレスオフセットを定義するために、固定定数の代わりにパラメータを代用する。例えば、右方向に4つの値(1ワードのデータ)だけ移動する、又は下方に1行移動するためである。これらパラメータを一定のオフセットの代わりに使用する追加のコストが小さくなるように、これらパラメータはプロセッサのレジスタ内に保持することができそうである。
最初に述べたリニアなメモリ配置(図5及び6)を使用すると、マクロブロック内で4つの値を右に移動させることは、当該アドレスへの4の加算を必要とし、1だけ下方への移動はメモリ行歩幅(例えば、ラインの長さが720であり、これがキャッシュ整合目的で768に切り上げられている場合、上述したように768)を加算することを意味する。
メモリ配置の説明は、第2のタイル化メモリ配置の動作の理解を助けるであろう。輝度データの記憶が720x576の解像度におけるものであるような例を考察すると、データの各ファイルは、この画像の8x8領域を表すであろう。該画像は、720/8=90タイル幅、及び576/8=72高である。各マクロブロックは、16x16の輝度領域をカバーするので、幅及び高さの両方が2タイルとなる。
図7及び8のタイル化編成は、タイルをメモリ内で列に配列する。従って、当該画像バッファの最初の64バイトは(メモリ順序での最初のタイル)は、当該画像の左上のタイルを描く。メモリ順序で2番目の64バイトは、最初の列のタイルにおける2番目のタイル(その最初の左上の値は、水平ピクセル位置零及び垂直ピクセル位置8である)を描く。これは、列全体のタイルが描かれるまで継続する。次いで、第2列のタイルが続き、当該輝度画像バッファの終了まで続く。スキュータイル化フォーマットの場合は、タイルは依然として列に配列されるものの、交互の行では各タイルは他のものに対してオフセットされる。
このタイル化編成においては、1行下方に移動するのに要するメモリアドレス変化は8である。8ピクセル右方向に移動するのに要するメモリアドレスの増加は、1列のタイルのサイズ(72x8)に等しい。このパラメータ化の構成の結果は、2つの非常に異なるメモリ編成を、2つのパラメータ(1ピクセル下方に移動する及び8ピクセル右方向に移動するためのアドレス変化)に対して異なる値が付与される同一のコードを使用することにより扱うことが可能になるということである。スキュータイル化フォーマットの場合、どの行がアクセスされているかに依存して、行アドレスにオフセットが加算されるべきであることは明らかである。
可能な場合は、より多くの又は他のパラメータを用いて他の配置が達成される。例えば、タイルは8x8平方である必要はなく、16x4又は4x16等の長方形とすることもできる。冒頭導入部で言及した米国特許は、三角形タイルを含む他の形状を述べている。
幾つかの場合においては、関連コードの代替バージョンが必要となり得る。例えば、幾つかの場合において、上記のパラメータ化された方法は、該方法が4つの値のブロックで動作する故に動作しない可能性がある。これの一例は、クロミナンスU及びV値がインターリーブされる(u0, v0, u1, v1, u2, v2, u3, v3)ような“準平面(semi-planar)”フォーマットである。このフォーマットにおいては、発生される4つのU値の組は連続したバイトに書き込まれないので、汎用のパラメータ化されたコードは動作し得ない。
[出力フレーム変換]
上述したタイル化されたもののようなメモリ編成はMPEGデコーダ内では計算的に効率的であり得るが、出力端において必要とされるフォーマットではない可能性が高い。リニアな編成の方が適切であるかも知れない。
従って、B画像構築において使用される予測データを取り込むコストを、最少のキャッシュ動作のために、I及びP画像を構築することにより低減することが有利である。上述した例では、これは、これら画像のためのタイル化された構造の使用を意味し得る。一方、リニア編成は、スクリーン上での画像表示又は他の動作に必要とされるものであり得る。これは、異なって編成された画像を取り込み、該画像を所要のフォーマットに変換する変換処理が存在しなければならないことを意味する。この変換組織は、データをキャッシュブロック順序で効率的に読み取り及び書き込むと共に、“alloc”等のキャッシュ最適化命令を使用して、該変換のコストがデコーダにおける処理時間の節約より少なくなり得るように構成することができる。
当該デコーダにおける次の処理段/モジュールが、通常でない構造を許容するように設計され得るなら、この変換の必要性はないであろう。例えば、幾つかの場合においては、ビデオ復号の後の次のステップは画像内容の、字幕データとの混合であり得る。この混合処理は、当該ビデオデータを追加のコストなしにタイルフォーマットで読み取るように構成することができる。
[画像タイプ]
一例としてMPEG−2復号を使用いると、本符号化方法は3つの画像タイプ(I、P及びB)を使用する。I及びP画像は“重要(key)”画像であり、これは、これら画像が動き予測のソースとして使用することができることを意味する。B画像はその様に使用することはできないが、これらを構築するために使用される予測データの量が故に、復号するのに時には最も費用が掛かる。
従って、I及びP画像に対してはタイル化フォーマットを使用し、B画像は、直接、所要の出力フォーマットで発生することに有利がある。処理コストは、性能問題が少ないI及びP画像に対して生じるであろう出力画像変換である。B画像の処理は、改善された入力画像バッファフォーマットの利益を受ける一方、出力画像バッファ変換のオーバーヘッドの不利益を被ることはない。
ここでは、両方の場合において同一のコードが使用されるのを可能にするために、前記パラメータ化されたアドレス指定構造が有効である。
幾つかのシーケンスは、フィールド構造化されている。これは、当該ストリーム内で符号化されている各画像が当該画像の1つのフィールド(全て奇数行又は全て偶数行の何れか)であることを意味する。この種のシーケンスで効率的に動作するためには、メモリ構造をフィールドを分離するように変更し、フィールド予測が、より少ないキャッシュブロックをカバーするようにするのが有効であり得る。ここでも、これは当該ストリームの解析及び最も適した画像バッファフォーマットの動的選択からの結果であり得る。当該シーケンスが、殆どの予測がフィールド構造化されているようなものである場合、当該フレームを、単一のインターリーブ(インターレース)されたフレームの代わりに、2つの別個のフィールドとして記憶することが好ましいであろう。これは、フレーム構造化されたバッファからのフィールド予測は、データの1行置きのみから読み取り、これが、フィールド予測データを得るために2倍多くのタイルをアクセスしなければならない(タイルの半分のみが有効であるからである)ことを意味するからである。これの解決策は、バッファ内の全ての連続するラインが同一のフィールドに属するように、2つのフィールドをメモリ内に別個に保持することである。
上述した説明は、特定のシーケンスが或る画像バッファフォーマットには良好に合致するが、他のものには合致しない可能性があることを示している。これは、元のソースビデオ題材の差故に発生し得るか、又は異なるエンコーダ構成の結果であり得る。有利には、当該パラメータ化された画像バッファフォーマットは、ストリームの現部分に対して最良の画像バッファフォーマットを選択するために、測定された復号性能値及び/又は入力ストリームの分析をサポートする。当該キャッシュ制御機能は、利益を増加させるために、同一の測定値に基づいて又は独立に制御することができる。
当業者であれば、当該メモリサブシステムを測定値及び上記洞察に基づいて制御するための全ての範囲のアルゴリズムを容易に導出することができるであろう。実データ及び当該システムの応答に適合させるために、これらアルゴリズムは、単一の測定値若しくは多数のものに基づくことができ、単純であるか若しくは高度に複雑であることができ、固定の規則に基づくことができ、斯かる規則自体は自動的に変更することができる。
これら及び他の変更例は、添付請求項に記載された本発明の趣旨及び範囲内で可能である。
図1は、MPEG画像デコーダの機能ブロック図である。 図2は、図1のデコーダを実施化する処理システムのブロック図である。 図3は、MPEGデータストリームの構造、及び図1及び2のデコーダ内での上記ストリーム内で表される画像フレームの順序を示す。 図4は、図1及び2のデコーダのメモリにおけるリニアフォーマットの画像記憶を示す。 図5は、リニアフォーマットの画像記憶におけるピクセルブロックに関するデータの可能性のある位置を示す。 図6も、リニアフォーマットの画像記憶におけるピクセルブロックに関するデータの可能性のある位置を示す。 図7は、図1及び2のデコーダのメモリにおけるタイル化フォーマットの画像記憶を示す。 図8は、タイル化フォーマットの画像記憶におけるピクセルブロックに関するデータの位置を示す。 図9は、図1及び2のデコーダのメモリにおけるスキュータイル化フォーマットの画像記憶を示す。 図10は、スキュータイル化フォーマットの画像記憶におけるピクセルブロックに関するデータの位置を示す。

Claims (44)

  1. 動画シーケンスを表す画像データを画像データ処理システムにおけるメモリサブシステム内に配置する方法において、該方法が、前記メモリにおける前記シーケンスの連続する画像に関する画像データの配置を、前記画像データの測定された特性、前記処理システムの性能の測定された特性、及び前記画像処理システム内での前記画像データの後の処理の既知の特性のうちの少なくとも1つに従って動的に選択するステップを有していることを特徴とする方法。
  2. 請求項1に記載の方法において、前記メモリサブシステムが、ページ化されたメモリから構成された画像データ記憶メモリを含んでいることを特徴とする方法。
  3. 請求項1又は請求項2に記載の方法において、前記メモリサブシステムが、主画像データ記憶メモリに加えて、プロセッサキャッシュメモリを含んでいることを特徴とする方法。
  4. 請求項1ないし3の何れか一項に記載の方法において、記憶メモリにおける画像データの配置を選択する前記ステップが、画像データがメモリ内にライン毎に記憶されるようなリニアフォーマットと、ピクセルの二次元群がメモリ内でグループ化されるような少なくとも1種類のタイル化フォーマットとの間で選択するステップを有していることを特徴とする方法。
  5. 請求項3又は請求項4に記載の方法において、前記メモリサブシステムがキャッシュメモリを含む場合、前記タイル化フォーマットが、1つのタイルのデータが全数のキャッシュブロックに対応するように定義されることを特徴とする方法。
  6. 請求項1ないし5の何れか一項に記載の方法において、当該方法が、前記メモリにおけるデータの配置の選択に影響を与えるために、前記画像データの特性として:
    A.入力されるデータ内で符号化された動きベクトルの変動性;
    B.画像タイプ;
    C.当該シーケンスにおける画像当たりの符号化データサイズ;
    D.当該画像データが導出される画像の構造;
    E.画像を画像メモリに記憶するために使用される構造;及び
    F.当該画像ストリームのシーケンスヘッダを復号することにより得られる該ストリームの一定の特性;
    のうちの1以上を測定するステップを有していることを特徴とする方法。
  7. 請求項6に記載の方法において、該方法が、当該動画シーケンスの先を調べて該シーケンスの或る部分に関する画像データの前記特性を測定すると共に、該部分を処理する前にメモリ配置を選択することを特徴とする方法。
  8. 請求項6又は請求項7に記載の方法において、当該シーケンスの或る部分における画像データの測定された特性が該シーケンスの後の部分の特性を予測するために有効に使用され、当該メモリ配置が前記シーケンスにおける最近に処理された部分の測定された特性に従って制御されることを特徴とする方法。
  9. 請求項6、7又は8に記載の方法において、前記画像データの特性の測定が、或る期間にわたり平均化されることを特徴とする方法。
  10. 請求項6ないし9の何れか一項に記載の方法において、前記動きベクトルの変動性が垂直面と水平面との間で別個に測定される場合、各々が当該記憶配置の選択において異なる効果を有することを特徴とする方法。
  11. 請求項1ないし10の何れか一項に記載の方法において、該方法が、メモリにおけるデータの配置の選択に影響を与えるために、システム性能の特性として:
    G.前記メモリサブシステムにおけるデータキャッシュストール率;
    H.プロセッサ使用度;
    I.サービス品質、又は処理されている内容のエンドユーザにとり知覚可能なような他の定性的測定値;及び
    J.データを画像プロセッサへ(又はから)供給するリンクの帯域幅;
    のうちの1以上を測定するステップを有していることを特徴とする方法。
  12. 請求項11に記載の方法において、前記メモリサブシステムがキャッシュメモリを含む場合、前記システム性能の測定が画像再構築の間におけるデータキャッシュストール率の測定を含んでいることを特徴とする方法。
  13. 請求項12に記載の方法において、前記システム性能が、データのサンプルを使用して、該データを処理する前にテスト的に測定されることを特徴とする方法。
  14. 請求項11、12又は13に記載の方法において、当該シーケンスの第1部分を処理している間に測定されたシステム性能が、該シーケンスの後続の部分に対するメモリの配置の選択に使用されることを特徴とする方法。
  15. 請求項1ないし14の何れか一項に記載の方法において、当該方法が、メモリにおけるデータの配置の選択に影響を与えるために、後の処理ステップの知識を使用するステップを有していることを特徴とする方法。
  16. 請求項1ないし15の何れか一項に記載の方法において、前記メモリ配置の選択が、メモリアクセスプログラムコードにより使用されるパラメータを変更することにより少なくとも部分的に実施されることを特徴とする方法。
  17. 請求項1ないし16の何れか一項に記載の方法において、前記メモリ配置の選択が、実行されるべきコードの別のバージョンを選択することにより少なくとも部分的に実施されることを特徴とする方法。
  18. 画像データ処理システムにおけるメモリサブシステム内の動画シーケンスを表す画像データを処理する方法において、前記メモリサブシステムは主画像データ記憶メモリに加えてプロセッサキャッシュメモリを含み、当該方法が、請求項2ないし17の何れか一項に記載されたもののうちの、前記画像データの測定された特性及び前記処理システムの性能の測定された特性の少なくとも一方に従って、プログラム制御下でキャッシュ処理機能を選択的に使用するステップを有していることを特徴とする方法。
  19. 請求項18に記載の方法において、新たなキャッシュブロックが割り当てられると共に、前記主メモリから事前ロードすることなしに重ね書きされるようなブロック割当機能が、前記測定された特性に従って選択的に使用されることを特徴とする方法。
  20. 請求項18又は請求項19に記載の方法において、更に、キャッシュ先取りが、前記測定された特性に従って選択的に起動されることを特徴とする方法。
  21. 請求項1ないし17の何れか一項に記載の方法において、請求項18ないし20の何れか一項に記載の方法と組み合わされることを特徴とする方法。
  22. 画像データ処理システムにおいて、
    メモリサブシステムと、
    該メモリサブシステム内における動画シーケンスの連続するフレームに関する画像データの配置を、該画像データの測定された特性、当該処理システムの性能の測定された特性、及び当該画像処理システム内での前記画像データの後の処理に関する既知の特性のうちの少なくとも1つに従って動的に選択する手段と、
    を有していることを特徴とする画像データ処理システム。
  23. 請求項22に記載のシステムにおいて、前記メモリサブシステムが、ページ化されたメモリから構成された画像データ記憶メモリを含んでいることを特徴とするシステム。
  24. 請求項23に記載のシステムにおいて、前記メモリサブシステムが、主画像データ記憶メモリに加えて、プロセッサキャッシュメモリを含んでいることを特徴とするシステム。
  25. 請求項22ないし24の何れか一項に記載のシステムにおいて、記憶メモリにおける画像データの配置を選択する前記手段が、画像データがメモリ内にライン毎に記憶されるようなリニアフォーマットと、ピクセルの二次元群がメモリ内でグループ化されるような少なくとも1種類のタイル化フォーマットとの間で選択するように構成されていることを特徴とするシステム。
  26. 請求項24又は請求項25に記載のシステムにおいて、前記メモリサブシステムがキャッシュメモリを含む場合、前記タイル化フォーマットが、1つのタイルに対するデータが全数のキャッシュブロックに対応するように定義されることを特徴とするシステム。
  27. 請求項22ないし26の何れか一項に記載のシステムにおいて、前記選択する手段が、メモリにおけるデータの配置の選択に影響を与えるために、前記画像データの特性として:
    A.入力されるデータ内で符号化された動きベクトルの変動性;
    B.画像タイプ;
    C.当該シーケンスにおける画像当たりの符号化データサイズ;
    D.当該画像データが導出される画像の構造;
    E.画像を画像メモリに記憶するために使用される構造;及び
    F.当該画像ストリームのシーケンスヘッダを復号することにより得られる該ストリームの一定の特性;
    のうちの1以上を測定する手段を含んでいることを特徴とするシステム。
  28. 請求項27に記載のシステムにおいて、前記選択する手段が、当該動画シーケンスの先を調べて該シーケンスの或る部分に関する画像データの前記特性を測定すると共に、該部分を処理する前にメモリ配置を選択することを特徴とするシステム。
  29. 請求項27又は請求項28に記載のシステムにおいて、前記選択する手段が、当該シーケンスの或る部分における画像データの測定された特性が該シーケンスの後の部分の特性を予測するために有効に使用され、当該メモリ配置が前記シーケンスにおける最近に処理された部分の測定された特性に従って制御されるように構成されていることを特徴とするシステム。
  30. 請求項27、28又は29に記載のシステムにおいて、前記測定する手段が、測定された画像データの特性を或る期間にわたり平均化する手段を含んでいることを特徴とするシステム。
  31. 請求項27ないし30の何れか一項に記載のシステムにおいて、前記測定する手段が、前記動きベクトルの変動性を測定するように構成されると共に、垂直面と水平面との間で別個に測定するように構成され、各々が当該記憶配置の選択において異なる効果を有することを特徴とするシステム。
  32. 請求項22ないし31の何れか一項に記載のシステムにおいて、前記選択する手段が、メモリにおけるデータの配置の選択に影響を与えるために、システム性能の特性として:
    G.前記メモリサブシステムにおけるデータキャッシュストール率;
    H.プロセッサ使用度;
    I.サービス品質、又は処理されている内容のエンドユーザにとり知覚可能なような他の定性的測定値;及び
    J.データを画像プロセッサへ(又はから)供給するリンクの帯域幅;
    のうちの1以上を測定する手段を、代わりに又は更に、有していることを特徴とするシステム。
  33. 請求項32に記載のシステムにおいて、前記メモリサブシステムがキャッシュメモリを含む場合、システム性能を測定する前記手段が、画像再構築の間にデータキャッシュストール率を測定するように構成されていることを特徴とするシステム。
  34. 請求項32又は請求項33に記載のシステムにおいて、システム性能を測定する前記手段が、データを処理する前に、該データのサンプルを使用して少なくとも部分的にテスト的に測定するように構成されていることを特徴とするシステム。
  35. 請求項32、33又は34に記載のシステムにおいて、前記選択する手段及びシステム性能を測定する前記手段が、当該シーケンスの第1部分を処理している間に測定されたシステム性能が該シーケンスの後続の部分に対するメモリの配置の選択に使用されるように構成されていることを特徴とするシステム。
  36. 請求項22ないし35の何れか一項に記載のシステムにおいて、前記選択する手段が、メモリにおけるデータの配置の選択に影響を与えるために、後の処理ステップに関する知識を使用するように構成されていることを特徴とするシステム。
  37. 請求項22ないし36の何れか一項に記載のシステムにおいて、当該画像データ処理システムが、少なくとも部分的にプログラムコード及びプログラマブル処理ユニットにより実施化されていることを特徴とするシステム。
  38. 請求項22ないし37の何れか一項に記載のシステムにおいて、前記選択する手段が、前記メモリサブシステムをアクセスする際にプログラムコードにより使用されるパラメータを変更する手段により少なくとも部分的に実施化されていることを特徴とするシステム。
  39. 請求項22ないし37の何れか一項に記載のシステムにおいて、前記選択する手段が、実行されるべきコードの別のバージョンを選択する手段により少なくとも部分的に実施化されていることを特徴とするシステム。
  40. 処理される動画シーケンスを表すような画像データを記憶するメモリサブシステムを含むような画像データ処理システムであって、前記メモリサブシステムは主画像データ記憶メモリに加えてプロセッサキャッシュメモリを含み、当該システムが、請求項23ないし39の何れか一項に記載されたもののうちの、前記画像データの測定された特性及び当該処理システムの性能の測定された特性の少なくとも一方に従って、プログラム制御下でキャッシュ処理機能を選択的に使用するように構成されていることを特徴とする画像データ処理システム。
  41. 請求項40に記載のシステムにおいて、当該システムが、新たなキャッシュブロックが割り当てられると共に、前記主メモリから事前ロードすることなしに重ね書きされるようなブロック割当機能が、前記測定された特性に従って選択的に使用されるように構成されていることを特徴とするシステム。
  42. 請求項40又は請求項41に記載のシステムにおいて、当該システムが、前記測定された特性に従ってキャッシュ先取りが選択的に起動されるように構成されていることを特徴とするシステム。
  43. 請求項40ないし42の何れか一項に記載のシステムと組み合わされた、請求項22ないし39の何れか一項に記載のシステム。
  44. データ処理システムに請求項1ないし43の何れか一項に記載の方法のステップ又はシステムの機能を実施させる命令を有するような、物理的記憶装置上の又は何らかの他のチャンネルを介して供給されるコンピュータプログラム。
JP2006530963A 2003-10-04 2004-10-01 画像データを処理する方法及び装置 Pending JP2007510320A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0323284.0A GB0323284D0 (en) 2003-10-04 2003-10-04 Method and apparatus for processing image data
PCT/IB2004/051944 WO2005034516A1 (en) 2003-10-04 2004-10-01 Method and apparatus for processing image data

Publications (1)

Publication Number Publication Date
JP2007510320A true JP2007510320A (ja) 2007-04-19

Family

ID=29415537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006530963A Pending JP2007510320A (ja) 2003-10-04 2004-10-01 画像データを処理する方法及び装置

Country Status (7)

Country Link
US (1) US8068545B2 (ja)
EP (1) EP1673942A1 (ja)
JP (1) JP2007510320A (ja)
KR (1) KR20060133966A (ja)
CN (1) CN1864410B (ja)
GB (1) GB0323284D0 (ja)
WO (1) WO2005034516A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008061151A (ja) * 2006-09-04 2008-03-13 Fujitsu Ltd 動画像処理装置及びプリフェッチ制御方法
WO2011089798A1 (ja) * 2010-01-19 2011-07-28 ルネサスエレクトロニクス株式会社 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置
KR101553680B1 (ko) 2013-06-05 2015-09-30 엑시스 에이비 디지털 비디오 데이터를 인코딩하는 방법
JP2016143940A (ja) * 2015-01-30 2016-08-08 ルネサスエレクトロニクス株式会社 画像処理装置および半導体装置

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7924914B2 (en) 2005-09-20 2011-04-12 Intel Corporation Dynamically configuring a video decoder cache for motion compensation
US7716551B2 (en) * 2005-12-07 2010-05-11 Microsoft Corporation Feedback and frame synchronization between media encoders and decoders
KR100737741B1 (ko) * 2006-01-05 2007-07-10 주식회사 텔레칩스 다차원 데이터 선인출 캐쉬를 이용한 메모리 장치 및 그제어 방법
US8068541B2 (en) * 2006-01-30 2011-11-29 Jan Harding Thomsen Systems and methods for transcoding bit streams
US20070177519A1 (en) * 2006-01-30 2007-08-02 Thomsen Jan H Systems and methods for transcoding bit streams
JP4762095B2 (ja) * 2006-09-20 2011-08-31 株式会社東芝 画像復号装置及び画像復号方法
KR100836617B1 (ko) 2006-12-26 2008-06-10 삼성전자주식회사 이동통신 시스템의 원격 제어 장치 및 방법
US20130101023A9 (en) * 2007-03-12 2013-04-25 Vixs Systems, Inc. Video encoder with video decoder reuse and method for use therewith
JP4884290B2 (ja) * 2007-05-07 2012-02-29 パナソニック株式会社 動画像復号化集積回路、動画像復号化方法、動画像復号化装置及び動画像復号化プログラム
WO2008139489A1 (en) * 2007-05-10 2008-11-20 Allgo Embedded Systems Private Limited Dynamic motion vector analysis method
US8477146B2 (en) 2008-07-29 2013-07-02 Marvell World Trade Ltd. Processing rasterized data
KR101479011B1 (ko) * 2008-12-17 2015-01-13 삼성전자주식회사 다중 대역 스케쥴링 방법 및 이를 이용한 방송 서비스 시스템
US8379999B2 (en) * 2011-01-18 2013-02-19 Chanan Gabay Methods, circuits, devices, apparatuses and systems for providing image composition rules, analysis and improvement
US8824569B2 (en) * 2011-12-07 2014-09-02 International Business Machines Corporation High bandwidth decompression of variable length encoded data streams
US9167296B2 (en) 2012-02-28 2015-10-20 Qualcomm Incorporated Customized playback at sink device in wireless display system
US8823715B2 (en) 2012-03-02 2014-09-02 Adobe Systems Incorporated Efficient writing of pixels to tiled planar pixel arrays
US8810587B2 (en) 2012-03-02 2014-08-19 Adobe Systems Incorporated Conversion of contiguous interleaved image data for CPU readback
US20150312571A1 (en) * 2012-11-29 2015-10-29 Lg Electronics Inc. Method and device for encoding/ decoding image supporting plurality of layers
WO2014178587A1 (ko) * 2013-05-01 2014-11-06 엘지전자 주식회사 신호 송수신 장치 및 신호 송수신 방법
US9374106B2 (en) 2013-08-28 2016-06-21 International Business Machines Corporation Efficient context save/restore during hardware decompression of DEFLATE encoded data
US8933824B1 (en) 2013-08-28 2015-01-13 International Business Machines Corporation Hardware decompression of deflate encoded data with multiple blocks
US9305325B2 (en) 2013-09-25 2016-04-05 Apple Inc. Neighbor context caching in block processing pipelines
US9299122B2 (en) 2013-09-25 2016-03-29 Apple Inc. Neighbor context processing in block processing pipelines
US9270999B2 (en) 2013-09-25 2016-02-23 Apple Inc. Delayed chroma processing in block processing pipelines
US9218639B2 (en) 2013-09-27 2015-12-22 Apple Inc. Processing order in block processing pipelines
US9571846B2 (en) 2013-09-27 2017-02-14 Apple Inc. Data storage and access in block processing pipelines
US9215472B2 (en) 2013-09-27 2015-12-15 Apple Inc. Parallel hardware and software block processing pipelines
US9800640B2 (en) 2013-10-02 2017-10-24 International Business Machines Corporation Differential encoder with look-ahead synchronization
US9807410B2 (en) 2014-07-02 2017-10-31 Apple Inc. Late-stage mode conversions in pipelined video encoders
US9396409B2 (en) * 2014-09-29 2016-07-19 At&T Intellectual Property I, L.P. Object based image processing
US9779471B2 (en) * 2014-10-01 2017-10-03 Qualcomm Incorporated Transparent pixel format converter
CN104408055B (zh) * 2014-10-29 2018-03-13 中国石油天然气股份有限公司 一种激光雷达点云数据的存储方法及装置
US10771399B2 (en) * 2018-07-30 2020-09-08 Intel Corporation Quality of service-aware processing of decoding tasks
CN110782389B (zh) * 2019-09-23 2023-09-15 五八有限公司 一种图像数据字节对齐方法和终端
US11367271B2 (en) * 2020-06-19 2022-06-21 Adobe Inc. Similarity propagation for one-shot and few-shot image segmentation
CN114528031A (zh) * 2020-10-30 2022-05-24 武汉斗鱼鱼乐网络科技有限公司 一种图片展示方法及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022638A (ja) * 1999-07-05 2001-01-26 Hitachi Ltd 情報処理システム
WO2002056600A1 (en) * 2001-01-12 2002-07-18 Koninklijke Philips Electronics N.V. Unit and method for memory address translation and image processing apparatus comprising such a unit

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719624A (en) * 1989-07-18 1998-02-17 Canon Kabushiki Kaisha Image recording apparatus with arithmetic processing
US5420703A (en) * 1990-02-01 1995-05-30 Canon Kabushiki Kaisha Color image processing system having multi-image processing capabilities
JP3302113B2 (ja) * 1993-07-23 2002-07-15 キヤノン株式会社 画像形成装置及び画像形成装置の出力特性設定方法
US5920352A (en) 1994-10-28 1999-07-06 Matsushita Electric Industrial Co., Ltd. Image memory storage system and method for a block oriented image processing system
EP0710033A3 (en) * 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
US5912676A (en) * 1996-06-14 1999-06-15 Lsi Logic Corporation MPEG decoder frame memory interface which is reconfigurable for different frame store architectures
IT1289206B1 (it) * 1996-09-12 1998-09-29 Sgs Thomson Microelectronics Metodo di ricompressione e decompressione adpcm di un flusso di dati digitali costituente un segnale video digitale e stimatore
US5909224A (en) 1996-10-18 1999-06-01 Samsung Electronics Company, Ltd. Apparatus and method for managing a frame buffer for MPEG video decoding in a PC environment
US6005624A (en) 1996-12-20 1999-12-21 Lsi Logic Corporation System and method for performing motion compensation using a skewed tile storage format for improved efficiency
AU9388298A (en) 1997-09-19 1999-04-12 Sony Electronics Inc. Motion compensated digital video decoding with buffered picture storage memory map
US6449390B1 (en) * 1997-09-24 2002-09-10 Canon Kabushiki Kaisha Image processing apparatus and method therefor
US6424752B1 (en) * 1997-10-06 2002-07-23 Canon Kabushiki Kaisha Image synthesis apparatus and image synthesis method
US6046778A (en) * 1997-10-29 2000-04-04 Matsushita Electric Industrial Co., Ltd. Apparatus for generating sub-picture units for subtitles and storage medium storing sub-picture unit generation program
US6104416A (en) 1997-11-18 2000-08-15 Stmicroelectronics, Inc. Tiling in picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences
JP3595745B2 (ja) * 1999-01-29 2004-12-02 キヤノン株式会社 画像処理装置
US7012623B1 (en) * 1999-03-31 2006-03-14 Canon Kabushiki Kaisha Image processing method and apparatus
JP3406255B2 (ja) * 1999-09-29 2003-05-12 松下電器産業株式会社 画像復号装置および方法
JP3962607B2 (ja) * 2002-02-28 2007-08-22 キヤノン株式会社 画像処理装置及び方法及びプログラム及び記憶媒体
JP2004096500A (ja) * 2002-08-30 2004-03-25 Konica Minolta Holdings Inc 撮像装置、画像処理装置及び画像記録装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022638A (ja) * 1999-07-05 2001-01-26 Hitachi Ltd 情報処理システム
WO2002056600A1 (en) * 2001-01-12 2002-07-18 Koninklijke Philips Electronics N.V. Unit and method for memory address translation and image processing apparatus comprising such a unit

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008061151A (ja) * 2006-09-04 2008-03-13 Fujitsu Ltd 動画像処理装置及びプリフェッチ制御方法
WO2011089798A1 (ja) * 2010-01-19 2011-07-28 ルネサスエレクトロニクス株式会社 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置
JP5260757B2 (ja) * 2010-01-19 2013-08-14 ルネサスエレクトロニクス株式会社 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置
KR101553680B1 (ko) 2013-06-05 2015-09-30 엑시스 에이비 디지털 비디오 데이터를 인코딩하는 방법
JP2016143940A (ja) * 2015-01-30 2016-08-08 ルネサスエレクトロニクス株式会社 画像処理装置および半導体装置

Also Published As

Publication number Publication date
US8068545B2 (en) 2011-11-29
WO2005034516A1 (en) 2005-04-14
CN1864410A (zh) 2006-11-15
US20060291560A1 (en) 2006-12-28
EP1673942A1 (en) 2006-06-28
GB0323284D0 (en) 2003-11-05
CN1864410B (zh) 2011-04-06
KR20060133966A (ko) 2006-12-27

Similar Documents

Publication Publication Date Title
JP2007510320A (ja) 画像データを処理する方法及び装置
KR100232992B1 (ko) 동화상 디코딩 회로
US5912676A (en) MPEG decoder frame memory interface which is reconfigurable for different frame store architectures
US8175157B2 (en) Apparatus and method for controlling data write/read in image processing system
JP3395166B2 (ja) 統合ビデオ復号化システム、フレーム・バッファ、符号化ストリーム処理方法、フレーム・バッファ割当て方法及び記憶媒体
KR100881539B1 (ko) 메모리 직접 접근 방식의 이미지 데이터 구조
KR100606812B1 (ko) 비디오 디코딩 시스템
JPH10509569A (ja) 3:2のプルダウンで映像をデコードしそして表示するメモリ利用法
US20070171979A1 (en) Method of video decoding
EP1689195A2 (en) Picture memory mapping to minimize memory bandwidth in compression and decompression of image sequences
KR100298397B1 (ko) 비디오디코딩시스템
JP2000295616A (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及びプログラム記録媒体
US9118891B2 (en) Video encoding system and method
KR100472564B1 (ko) 화상처리장치
US6144323A (en) Method and apparatus for decoding video data
Feng et al. Improving data caching for software mpeg video decompression
JP2009152710A (ja) 画像処理装置及び画像処理方法
KR100556341B1 (ko) 메모리 대역폭이 감소된 비디오 디코더 시스템
US20080056377A1 (en) Neighboring Context Management
Bala et al. Experiences with software MPEG-2 video decompression on an SMP PC
JPH11177992A (ja) 画像復号装置
KR100269426B1 (ko) 개선된프레임메모리를갖는움직임보상장치
KR100821922B1 (ko) 미디어 디코딩용 국부 메모리 관리 장치
GB2332581A (en) Decoding video data
Wang et al. SDRAM bus schedule of HDTV video decoder

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070326

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071001

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071001

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110419