JP4440308B2 - 画像圧縮におけるレート制御方法及びシステム - Google Patents

画像圧縮におけるレート制御方法及びシステム Download PDF

Info

Publication number
JP4440308B2
JP4440308B2 JP2007535802A JP2007535802A JP4440308B2 JP 4440308 B2 JP4440308 B2 JP 4440308B2 JP 2007535802 A JP2007535802 A JP 2007535802A JP 2007535802 A JP2007535802 A JP 2007535802A JP 4440308 B2 JP4440308 B2 JP 4440308B2
Authority
JP
Japan
Prior art keywords
block
threshold
image
encoding
limit
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
JP2007535802A
Other languages
English (en)
Other versions
JP2008516532A (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 JP2008516532A publication Critical patent/JP2008516532A/ja
Application granted granted Critical
Publication of JP4440308B2 publication Critical patent/JP4440308B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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

Description

分野
[001]本発明の実施の形態は、広く画像圧縮に関するものである。
[002]画像データを圧縮(符号化)して、画像の忠実性に著しい影響を与えることなく、画像に関連したデータの量を削減することが可能である。JPEG(ジョイント・フォトグラフィック・エキスパート・グループ)圧縮標準のような画像圧縮標準は、画像データ量の削減機能に優れる。
[003]JPEG符号化では、入力画像が、マクロブロックとも呼ばれるMCU(マクロコードユニット又は最小符号化ユニット)に分解される。各MCUは、通常は8×8個の値からなる配列である多数のブロックを含む。ブロックは、個別の画像、又は、画像のカラー成分のそれぞれと関連付けられる。例えば、MCUは、輝度ブロック(例えば、Yブロック)と2個の色差ブロック(例えば、Uブロック及びVブロック)とを含む。
[004]離散コサイン変換(DCT)が実行され、各ブロックが(DCT係数と呼ばれる)周波数空間に変換される。通常、大部分の画像は、僅かな高周波情報しか含まないので、変換された画像データの大部分は低周波数成分に集中する。8×8のブロック毎に、64個の係数(1個の「DC」係数と63個の「AC」係数)が生成される。DCT変換自体はデータの量を削減しない。
[005]量子化では、周波数情報の一部が本質的に廃棄されて、より少ないビットの使用で画像を記述することができる。例えば、画素が(例えば、最明から最暗までの)256個の彩色のレベルをとり得るものとする。したがって、量子化の前に、各レベルは、固有の8ビットの組み合わせによって識別されるであろう。しかしながら、量子化を使用すると、256個のとり得るレベルは、16レベル毎の16ステップに量子化され、各ステップが僅か4ビットの固有の組み合わせによって特定できる。
[006]低周波DCT係数は、比較的多数のビットを使用してより離散的に量子化されるが、高周波DCT係数は比較的少数のビットを使用してより粗い基準で量子化される。このように、低周波係数は、前述の通り、それぞれが4ビットを使用して表現された16ステップに量子化され、高周波数係数は、それぞれが1ビットによって表現された2個のステップに量子化される。
[007]量子化ステップに適用されるDCT係数は、量子化テーブルと称する8×8の配列に倣って配列され、量子化テーブル内のエントリーがDCT係数の配列内の位置に一致するようになる。量子化テーブルは、量子化ステップのサイズを指定するので、圧縮の量(「圧縮率」)を左右する。量子化ステップが大きくなると、圧縮率が大きくなるが、再現された(伸長され、又は、復号された)画像の品質に相応の低下が生じる。逆に、量子化ステップが小さくなると、圧縮されていないデータがより密に表現され、これによって、再現された画像の品質は向上するが、圧縮率が低下する。
[008]量子化後、圧縮プロセスは、量子化されたデータを符号化し、ビットストリームにシリアル化するため、ランレングス符号化(例えば、ハフマン符号化)で終了する。(ビット又はバイトで測定された)ビットストリームのサイズは量子化の量に応じて変化し、画像データにも左右される。
[009]圧縮方式の望ましい特長は、圧縮率の制御(「レート制御」と呼ばれる)である。レート制御は、目標圧縮率が指定され、画像データが目標圧縮率に応じて圧縮されるときに、結果として得られるビットストリームの長さが目標サイズ以下であることを意味する。適切なレート制御を用いれば、圧縮データの必要量が大まかに分かるので、圧縮データのためのファイル空間を効率的に割り付けたり、又は、圧縮されたデータを転送するために帯域幅を割り付けたりすることが可能である。他の方法では、過度に小さいファイル空間が割り付けられた場合に、圧縮データが、割り付けられたファイル空間に適合しないか、又は、利用可能な転送帯域幅を超えることがある。
[010]上述の通り、圧縮率及び出力品質(例えば、再現画像の品質)は、量子化値を変化させることによって制御される。JPEG符号化では、量子化値は符号化に先行して選択され、1組の値が画像全体に適用される。しかし、(圧縮されていない)入力データ量と選択された量子化値の組とに対して、(圧縮された)出力データ量を正確に予測することは不可能である。実際、出力ビットストリームのサイズは画像間で著しく変化し、最悪の場合には、入力ビットストリームより大きくなることさえある。上述したように、圧縮されたデータ量が過大なために割り付けられたファイル空間に適切に収まらないこと、又は、所与の割り付けられた転送帯域幅で転送できないことがあるので、この出力ビットストリームのサイズの不確定性は問題である。
[011]圧縮されたデータ量が過剰な場合、量子化値の組が新たに選択され、データが再び圧縮される。そのプロセスは、目標圧縮率(例えば、目標ビットストリーム又はファイルサイズ)が達成されるまで繰り返される。このように、従来の技術は、複数回の反復を必要とし、符号化時間と計算リソース(電力、メモリ、プロセッササイクルなど)利用の両方を増加させる。目標ビットストリーム又はファイルサイズを超過する危険性は、大きな量子化値の選択で小さくなるが、これは再現された画像の品質を過度に低下させる犠牲をもたらす。
概要
[012]したがって、画像データを目標圧縮率まで効率的に圧縮できるシステム及び/又は方法が有利であろう。本発明による実施形態はこの利点及びその他の利点を提供する。
[013]本発明のある実施の形態では、限界又は割当量が、変換され量子化された画像データの各ブロック(例えば、各輝度ブロックと各色差ブロック)に割り当てられる。この実施の形態では、割当量のサイズは、ブロックが関連付けられた画像内の位置に依存する。割当量はブロック毎に同じであっても異なっていてもよい。ある実施の形態では、全割当量の合計は目標ビットストリーム又はファイルのサイズを超えない。
[014]ある実施の形態では、ブロックにおいて変換され量子化された画像データのランレングス符号化中に、符号化される(例えば、ビットストリームにシリアル化される)ビット数がカウントされる。カウントがブロック用に指定された限界に到達したとき、そのブロックの符号化が終了する。すなわち、ランレングス符号化されていない変換量子化(変換され量子化された)値は、ブロックが完全に符号化される前に割当量が消費された場合に、エンド・オブ・ブロック・コードを強制することにより本質的には廃棄される。
[015]別の実施の形態では、ブロックがその全割当量を消費することなく符号化される場合に、その割当量の残余部分は別のブロックの割当量に加算される。
[016]更に別の実施の形態では、第1の閾値が各割当量の範囲内で定められる。第1の閾値は、割当量によって課された限界までの余裕を基本的に設ける。このような実施の形態では、第1の閾値に到達した場合、第2の閾値を充足しない残りの(例えば、未符号化の)変換量子化値はゼロに設定される(事実上、それらは廃棄される)。第2の閾値は、変換量子化値の大きさに関連付けられる。第1の閾値及び第2の閾値の値はプログラム可能であり、符号化の途中で変更されることがある。
[017]要約すると、本発明の実施の形態によれば、レート制御は、画像データのブロックの間に分配され、ブロック単位で課された割当量を設定することにより効率的に達成される。ある実施の形態では、ブロック内の変換量子化値であって、後にランレングス符号化される値であり、且つ、通常は画像忠実性にあまり寄与しない値に対応する当該値が、廃棄されて(符号化されず)、画像忠実性を著しく低下させることなく圧縮データの量が削減される。別の実施の形態では、「より小さな」変換量子化値(例えば、上述した第2の閾値を充足しない値)であって、通常は画像忠実性に著しく寄与することがない当該値が、廃棄されて(符号化されず)、同様に、画像忠実性を著しく低下させることなく圧縮されたデータの量が削減される。
[018]上述の目的及び利点は、本発明の多様な実施の形態のその他の目的及び利点と共に、種々の図面に示された以下の実施の形態の詳細な説明を読むことによって、当業者によって理解されるであろう。
[019]添付の図面は、本明細書に組み込まれ、また、本明細書の一部を形成するものであり、本発明の実施形態を明らかにするものであり、以下の説明と共に、本発明の原理を説明するために役立つものである。
[030]以下の説明において参照される図面は、特に断らない限り、正しい縮尺で描かれていないことを理解すべきである。
発明の詳細な説明
[031]本発明の種々の実施の形態を詳細に参照する。これら実施の形態の例は、添付図面に示されている。本発明をこれら実施の形態に関連して説明するが、これら実施の形態は本発明を当該実施の形態に限定することを意図していないことが理解されよう。一方、本発明は、特許請求の範囲に規定される本発明の精神と範囲に包含される代替物、改良物、及び均等物を網羅することが意図されている。さらに、以下の本発明の詳細な説明には、多数の特定の詳細が本発明の十分な理解が得られるように記載してある。しかし、本発明はこれらの特定の詳細な説明が無くとも実施され得ることが理解されよう。別の例では、周知の方法、手順、コンポーネント及び回路は、本発明の態様を不必要に曖昧にしないよう、詳細には記載しない。
[032]以下の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットの演算についての手順、論理ブロック、処理、及び、その他の記号表現の観点から提示されている。これらの説明及び表現は、データ処理技術における当業者が自分の業績を他の当業者へ最も効果的に伝えるため使用する手段である。本明細書における手順、論路ブロック、プロセスなどは、所望の結果を導くステップ又は命令の首尾一貫したシーケンスであると考えられる。ステップは、物理量の物理的な操作を利用するものである。通常は、これらの量は、コンピュータシステムにおける格納、転送、結合、比較、及び、その他の操作可能な電気又は磁気信号の形式をとるが、必ずしもそうとは限らない。主として、一般的な用法の理由で、これらの信号をトランザクション、ビット、値、要素、シンボル、文字、フラグメント、画素などのように称することが、時には便利であることがわかっている。
[033]しかし、これら用語や類似した用語の全ては、適切な物理量と関連付けられるべきであり、これらの量に適用される便利なラベルに過ぎないということを念頭に置くべきである。特に断らない限り、以下の説明から明らかなように、本発明の全体を通して、「アクセス」、「保持」、「カウント」、「圧縮」、「伸長」、「符号化」、「復号化」、「増加」、「終了」、「変更」、「変換」、「量子化」、「受信」、「割当」、「選択」、「削減」などのような用語を利用した説明は、コンピュータシステム又は類似の電子計算装置の動作及びプロセス(例えば、図7及び図8のそれぞれのフローチャート700及び800)について言及していることが理解できる。コンピュータシステム又は類似の電子計算装置は、コンピュータシステムのメモリ、レジスタ、若しくは、その他の情報記憶装置、伝送装置、又は、表示装置内で物理的(電子)量として表現されたデータを操作し変換する。本発明は、他のコンピュータシステムと共に使用するのに十分適している。
[034]図1Aは、本発明に係る実施の形態を実施し得るシステム100のブロック図である。システム100は、本発明による実施の形態のある機能を実施する実行プラットフォームのコンポーネントを示している。図1Aに示すように、システム100は、ホストインターフェイス101を介してグラフィックスプロセッサ105に接続されたマイクロプロセッサ102を備えている。ホストインターフェイス101は、マイクロプロセッサ102とグラフィックスプロセッサ105の間で渡されるデータ及びコマンドをそれぞれのフォーマットに変換する。マイクロプロセッサ102とグラフィックスプロセッサ105の両者は、メモリコントローラ106を介してメモリ107に接続されている。システム100の実施の形態においては、メモリ107は共有メモリであり、そのためにメモリ107はマイクロプロセッサ102とグラフィックスプロセッサ105の両方のための命令及びデータを記憶する。共有メモリ107へのアクセスはメモリコントローラ106を経由する。共有メモリ106はまた、接続されたディスプレイ108を駆動する画素データを記憶するビデオフレームバッファを備えている。
[035]上述したように、本発明のあるプロセス及びステップは、一実施例では、一連の命令(例えば、ソフトウェアプログラム)として実現されており、当該一連の命令は、コンピュータシステム(例えば、システム100)のコンピュータ読み取り可能なメモリ(例えば、メモリ107)内に存在し、システム100のマイクロプロセッサ102及びグラフィックスプロセッサ105によって実行される。実行時には、命令は、システム100に、後述されるような本発明の実施の形態の機能を実施させる。別の実施の形態では、本発明のあるプロセス及びステップは、ハードウェアで(例えば、グラフィックスプロセッサ105を使用して)実現される。
[036]さらに、図1Aのコンポーネントは、別個のコンポーネントとして表されているが、幾つかのコンポーネントは、最新の半導体製造プロセスによって提供される高レベルの集積化を利用して構成される単一の集積回路デバイス(例えば、単一の集積回路ダイ)として実装可能である。例えば、ある実施の形態では、マイクロプロセッサ102、ホストインターフェイス101、グラフィックスプロセッサ105、及び、メモリコントローラ106は、単一の集積回路ダイとして製造される。
[0037]図1Bは本発明の代替的な実施の形態に係るシステム120を示している。システム120は、図1Aのシステム100と略類似したものである。しかしながら、システム120は、専用システムメモリ127を有するマイクロプロセッサ102と、専用グラフィックスメモリ126を有するグラフィックスプロセッサ105とを使用している。システム120において、ある実施の形態では、システムメモリ127はマイクロプロセッサ102上で実行するプロセス/スレッド用の命令及びデータを記憶しており、グラフィックスメモリ126はグラフィックスプロセッサ105上で実行するプロセス/スレッド用の命令及びデータを記憶している。グラフィックスメモリ126は、フレームバッファ内にディスプレイ108を駆動する画素データを記憶している。図1Aのシステム100と同様に、システム120の1個以上のコンポーネントが、単一の集積回路ダイとして集積化されていてもよい。
[038]図2は、本発明のある実施の形態に係るデータ符号化プロセス222及びデータ復号プロセス224におけるデータの流れを示すデータフロー図200である。符号化プロセス222は、後により完全に説明する符号化方式を使用してデータ221を圧縮(符号化)する。図2の復号プロセス224は、圧縮データ223を伸長(再構成)して、再現データ225を生成する。重要な点は、本発明の実施の形態によれば、圧縮データ223の量が、後により十分に説明されるように、目標ファイルの中に収まるか、又は、利用可能な転送帯域幅を超えないことである。圧縮データ223は、その後に、取り出され、デコーダへストリーム化して送られる。或いは、圧縮データ223は、記憶するのではなく、又は、記憶と並行して、符号化されるにつれてデコーダへストリームかして送られる。
[039]図3は、本発明のある実施の形態に係る符号化プロセス222におけるステップを示すデータフロー図である。ある実施の形態では、符号化プロセス222が、実質的にJPEGに準拠する圧縮方式を使用して実施されるが、本発明はそれに限定されるものではない。
[040]符号化プロセス222は、離散コサイン変換(DCT)331、量子化332、及び、ランレングス符号化333を含んでいる。DCT331では、各ブロックのデータ221(図2)が、DCT係数に変換される。各8×8のブロックのデータについて、64個のDCT係数(1個のDC係数及び63個のAC係数)が生成される。
[041]量子化332(図3)では、一部の周波数情報を本質的に廃棄して、より少ないビットの使用で画像を記述することができる。低周波DCT係数は、比較的多数のビットを使用してより離散的に量子化され、高周波DCT係数は比較的少数のビットを使用してより粗い基準で量子化される。
[042]量子化332の後、ランレングス符号化333(例えば、ハフマン符号化)が実行されて、量子化されたデータが符号化され、シリアル化される。ランレングス符号化中に、頻繁に繰り返される文字列は、最もよく現れる文字列がより短いコードを獲得するように、コードで置き換えられる。符号化されたデータは、ファイルに格納され、続いてファイルから読み取られ、デコーダへストリーム化して送られる。或いは、符号化されたデータは、データが符号化され次第、デコーダへストリーム化して送られる。
[043]重要な点は、本発明の実施の形態によれば、レート制御(例えば、目標ファイル又はビットストリームサイズ)がより確実に達成され、その結果、量子化332とランレングス符号化333とを繰り返す反復回数の削減が期待されることである。
[044]図4は、本発明のある実施の形態に係る符号化プロセス(例えば、図2及び図3の符号化プロセス222)におけるステップを示すデータフロー図である。図4の実施例では、画像401は、画像部410によって表された多数の画像部を有している。ある実施の形態では、画像部410は、多数のデータのブロックを含むマクロブロック、又はMCUによって表現される。図4の実施例では、Yブロック420(例えば、輝度ブロック)と、Uブロック421及びVブロック422(例えば、色差ブロック)が、画像部410に関連付けられている。しかし、本発明は、YUVフォーマットを使用することに制限されるものではない。その代わりに、例えば、RGB(赤、緑、青)フォーマット、又は、CMYK(シアン、マゼンタ、イエロー、ブラック)フォーマットが使用されてもよい
[045]本実施の形態では、ブロック420、421及び422の各々は、8×8の配列のデータとして構成されている。一例として、Yブロック422を使用すると、各ブロック内のデータは、8×8の配列のDCT係数(ブロック431)に変換される。変換されたブロック431において、第1の値(例えば、ブロック431の左上隅にある値)はDC値と呼ばれる(この値が平均輝度を設定する)。ブロック431内の残りの値はAC値と呼ばれる。AC値はDC値からの変動を表している。一般に、ブロック431内の値はDCT係数と呼ばれる。
[046]本実施の形態においては、ブロック431内のDCT係数が量子化される。ブロック432は、量子化されたDCT係数を示している。ブロック432内の変換量子化値は、次に、例えば、ランレングス符号化を使用して符号化され、ビットストリームにシリアル化される。結果として得られたデータは、次に、ファイルに書き込まれるか、又は、デコーダへストリーム化して送られる。
[047]ある実施の形態では、ブロック432内の変換され量子化されたデータは、図4に示すように、ジグザグ形式で読み取られる、すなわち走査される。しかしながら、本発明はそれに限定されるものではない。例えば、ブロック432内のデータは、代わりに、一行毎、又は、一列毎の読み取りが可能である。
[048]本発明の実施の形態によれば、割当量又は限界が、各ブロックに割り当てられる。割当量は、ブロック432から符号化可能なビット数を制限する。割当量又は限界は、ブロック432内の変換され量子化されたデータのランレングス符号化中に強制的に課される。ある実施の形態では、ブロック432内の値が読み取られ、符号化されるときに、各値と関連したビット数がカウントされる。そのカウントが割当量の限界に達したときに、ブロック432の符号化が終了する。ある実施の形態では、エンド・オブ・ブロック・コードが、ブロック432から符号化されたデータの最後を指示するためにビットストリームに挿入され、ブロック432内の残りの(符号化されていない)値が廃棄される。
[049]割当量は、特定の画像コンポーネントと関連する全ブロックに対して同一であってもよく、或いは、ブロック毎に変化してもよい。したがって、例えば、すべてのYブロックは同じ割当量を有していてもよく、又は、異なる割当量を有していてもよい。また、特定のMCU又は画像部と関連した各ブロックが、同じ割当量を有していてもよく、又は、異なる割当量を有していてもよい。すなわち、例えば、Yブロック420、Uブロック421、及びVブロック422は、全てが同じ画像部410と関連しているが、異なる割当量を有していてもよく、同じ割当量を有していてもよい。
[050]画像401のある部分と関連したブロックに、その画像の他の部分と関連したブロックに割り当てられた割当量より多い割当量が、割り当てられることが望ましいことがある。すなわち、画像401には、画像の他の領域より重要であると考えられる1個以上の領域が存在することがあり、比較的重要な領域に関連したブロックに、より多くの割当量を割り当てることが望ましい。例えば、肖像画像では、再現画像が、被写体の周辺の画像部分(例えば、特に、画像の境界)に余り注意が払われず、(典型的には画像の中心方向へ位置している)当該肖像画像の被写体をより正確に描写することが望ましい。図6Aに関連してより詳細に後述するように、ユーザは、画像の中心又は(必ずしも中心ではない)その他の焦点を定義することができ、ブロックにはその点からの距離に応じた割当量が割り当てられる。
[051]図4の画像401全体を符号化するため利用可能な総割当量は、目標ファイル又はビットストリームのサイズ以下である。すなわち、ブロックに割り当てられた(ビット単位の)個別の割当量の累計は、目標ファイル又はビットストリームサイズ以下である。したがって、各ブロックはブロックそれぞれの割当量の範囲内で符号化されるので、画像401が圧縮されるときに、符号化された画像データはその画像用に割り付けられた記憶空間の量に適合する。
[052]本発明に係る実施の形態は、少なくとも幾つかの異なるアプローチを使用して実施することができる。一つのアプローチでは、ブロック毎の割当量がブロック毎に個別に課せられる。すなわち、ブロックには割当量が割り当てられ、そのブロックのランレングス符号化中に、符号化されるビット数がそのブロックだけに関してカウントされる。ブロックのランレングス符号化は、そのブロックのデータの全部が符号化されるか、又は、割当量限界に達するまで継続する。
[053]別のアプローチでは、累計カウントがブロックと次のブロックの間で保持され、割当量はそれに応じて増加される。第1のブロック内のデータがランレングス符号化されるときに、符号化されているビット数がカウントされる。第1のブロックのランレングス符号化は、データの全部がシリアル化されるか、又は、割当量限界に達するまで継続する。第1のブロックのランレングス符号化が終了すると、割当量は符号化される第2のブロックに割り当たられた割当量だけ増加される。第2のブロック内のデータがランレングス符号化されるときに、第1のブロックのカウントが中止されたところから継続する第2のブロック用のカウントを用いて、符号化されているビット数がカウントされる。
[054]上記のアプローチの何れかにおいて、ブロックの割当量が完全には消費されないことがある。すなわち、ブロック内の変換量子化値の全てが、割当量限界に達する前にランレングス符号化される状況がある。
[055]上記のアプローチのうちの後者では、使用されなかった第1のブロックの割当量の如何なる量も、第2のブロックのランレングス符号化中に適用される割当量へ自動的に繰り越される。
[056]上記のアプローチのうちの前者では、あるブロックの割当量の残りの部分を使用して、別のブロックの割当量を増加させることができる。例えば、あるブロックのランレングス符号化が終了すると、そのブロックの割当量の未使用部分を符号化すべき次のブロックの割当量に加算することができる。或いは、あるブロックの割当量の未使用部分を、その代わりに、蓄えておき、符号化する次のブロックに限らず他のブロックの何れかに与えることができる。例えば、上述したように、画像の一部分が別の部分より重要とみなされ得る場合に、その部分が、画像のその他の部分より多くの割当量を保有することが望ましいことがある。したがって、あるブロックからの割当量の未使用部分を、画像の比較的より重要な部分に関連したブロックの割当量に加算することができる。同様に、未使用割当量部を、その代わりに、予備として累積し、より重要であると考えられるブロックに、必要に応じて当該予備を利用することが可能である。
[057]あるタイプの画像コンポーネントに関連したブロックからの未使用割当量を、別のタイプの画像コンポーネントに関連したブロックの割当量に適用することができることに注意されたい。すなわち、例えば、Yブロックの符号化後に残存する割当量を、別のYブロックの割当量、又は、Uブロック若しくはVブロックの割当量に加算することができる。
[058]図5は、本発明のある実施の形態に係るレート制御を達成するため使用される割当量の実施例のグラフである。図5の実施例は、上述のアプローチに対応するものであり、当該アプローチでは、累計カウントが、あるブロックから次のブロックへと保持され、割当量がそれに応じて増加する。したがって、図5に示す(符号化されたビット数に関して表現された)割当量は、あるブロックから次のブロックへと累積する累計値である。実際上、ブロック1に割り当てられた割当量はBであり、ブロック2に割り当てられた割当量はB−Bであり、ブロック3に割り当てられた割当量はB−Bであり、以下同様である。
[059]図5では、各ブロックに同じ割当量が割り当てられていることを示しているように見える。しかしながら、上述したように、本発明はそれに限定されるものではなく、ブロックには異なる割当量が割り当て可能である。
[060]ある実施の形態では、閾値が各ブロックの割当量の範囲内で設定される。図5の実施例では、ブロック1の割当量は、ビット単位で測定した場合に割当量限界Bより小さいスレッショルドTを有する。閾値は、割当量限界までの余裕を本質的に定める。閾値は、符号化の途中で変更されることがあるプログラム可能な値である。
[061]ある実施の形態では、ブロックのランレングス符号化中に、符号化されたビット数が割当量の閾値(「第1の閾値」)に到達したときに、そのブロックの残りの符号化の際に、第2の閾値より「小さな」変換量子化値は符号化されない。このような実施の形態では、第2の閾値は、変換量子化値のそれぞれの大きさに対応する。したがって、例えば、第2の閾値によって指定された大きさより小さな変換量子化値は、符号化されたビット数が第1の閾値を超える場合に、符号化されない(例えば、その値がゼロに設定される)。或いは、第2の閾値を、変換量子化値を符号化するのに必要なビット数に対応させることも可能である。この場合には、例えば、第2の閾値を充足しないビット長を有する変換量子化値は、符号化されたビット数が第1の閾値を超える場合に、符号化されない。
[062]符号化されているブロック内の値の大きさに適用される第2の閾値はプログラム可能な値である。第2の閾値は、ブロックをランレングス符号化する途中で変更されることがある。例えば、第1の(割当量)閾値に達すると、第2の閾値を、符号化されたビット数が割当量限界に接近するにつれて増加させて、ブロック内の徐々に大きくなる変換量子化値を符号化せず、符号化前の値の中で最大の値用に割当量を残すことができる。或いは、第1の閾値に達した後に、第2の閾値を、割当量が予想ほど急速に消費されていない場合に、減少させることができる。第2の閾値値はまた、符号化が、あるブロックから次のブロックへ進むときに、変化させることが可能である。したがって、第2の閾値は、あるブロックと次のブロックとの間で異なることがある。
[063]図6Aは、本発明のある実施の形態に従って圧縮することができる画像601を示している。上述したように、画像601のある部分に関連したブロックには、画像601の他の部分に関連したブロックに割り当てられた割当量より多い割当量が割り当てられることが望ましい。すなわち、画像の他の領域より重要であると考えられる画像の1個以上の領域が存在することがあり、比較的より重要な領域に関連したブロックにより多くの割当量を割り当てることが望ましいことがある。
[064]ある実施の形態では、位置615は、恐らくユーザによって、画像601の内部に指定される。位置615は、最も重要であるとみなされる画像601の領域に対応する。位置615は、画像601の内部において任意に特定することができる。デフォルト位置を、画像601の中央に指定することも可能である。
[065]ある実施の形態では、ブロックに割り当てられる割当量は、画像601内部のブロック位置の関数となっている。このような実施の形態では、ブロックの位置はそのブロックと位置615との間の距離によって定義される。したがって、例えば、異なる割当量が、画像部610の範囲内のブロックと画像部611の範囲内のブロックに、画像部(MCU)610から位置615までの距離と画像部(MCU)611から位置615までの距離とにそれぞれ応じて、割り当てられる。図6Aの実施例では、画像部611内のブロックには、画像部611が画像部610より位置615に近いので、より多い割当量が割り当てられる。
[066]画像部611から位置615までの距離は、例えば、次式によって与えられる。
距離=sqrt[(x−x+(y−y
ここで、式中、(x,y)は位置615に関連した座標であり、(x,y)は画像部611に関連した座標であり、「sqrt」は平方根を示す。そして、(x,y)にあるブロック用の割当量は、次式によって割り当てられる。
割当量=a−b*sqrt[(x−x+(y−y
ここで、式中「a」及び「b」はプログラム可能な定数である。「a」及び「b」の値は、正値が割当量用に計算されるように、選択することができる。
[067]距離の計算を簡略化すると、以下の式を代用することができる。
距離=c*abs(x−x)+d*abs(y−y
ここで、式中「abs」は絶対値を示し、「c」及び「d」はプログラム可能な定数である。そして、(x,y)にあるブロックの割当量は、次式を用いて割り当てることができる。
割当量=e−c*abs(x−x)−d*abs(y−y
ここで、式中「e」もまたプログラム可能な定数であり、「c」、「d」及び[e]は、正値が割当量用に計算されるように、選択することができる。「c」及び「d」の値は画像601の形状に応じて選択し得る。例えば、「c」及び「d」は、正方形の画像では同じであるが、長方形の画像では異なる。
[068]様々な値の「a」、「b」、「c」、「d」及び「e」を、異なる画像コンポーネントに適用し得る。すなわち、例えば、Yブロックの「a」、「b」、「c」、「d」及び「e」の値は、Uブロック又はVブロックの「a」、「b」、「c」、「d」及び「e」と異なっていてもよい。距離計算は、その他の方法も使用可能である。また、ブロックに割り当てられる割当量のサイズは、そのブロックに関連した画像部と位置615との間の距離以外の基準を使用して決定することができる。
[069]図6Bは、本発明のある実施の形態に係るレート制御を達成するため使用される割当量の実施例のグラフである。図6Bに示す割当量は、累計割当量の実施例である(本例では、割当量は、あるブロックから次のブロックへと累積する累計値である)。図6Aの実施例では、画像部内のブロックに割り当たられた割当量は、そのブロックに関連した画像部と図6Aの位置615間の距離の関数となっている。
[070]図6Bの例示の割当量は、図6Aの行620に対応する。行620は、画像部(MCU)1〜11を含むが、画像内の行には任意の数の画像部が存在していてもよい。割当量が累計割当量であるので、行620の画像部1のブロックに関連した割当量の限界は、一般的に、行620より前に符号化された行末の累計割当量と、画像部1のブロックに割り当てられた割当量との和と等しい(画像601は1行ずつ符号化されると仮定する)。行620内の連続する各画像部に対する割当量は、その画像部と位置615の間の距離の関数によって定まる量によって増加する。したがって、図6Bに示すように、累計割当量は位置615に近づくにつれてより急な勾配を有し、位置615までの距離が増加するにつれて勾配はより緩やかになる。
[071]図7は、本発明のある実施の形態に係るデータ圧縮用のコンピュータで実施される方法のフローチャート700である。図8は、本発明の別の実施の形態に係るデータ圧縮用のコンピュータで実施される方法のフローチャート800である。特定のステップがフローチャート700及び800に開示されているが、このようなステップは例示的なものである。すなわち、本発明は、フローチャート700及び800に列挙された種々の他のステップ、又は、ステップの変形を実行するように適合される。フローチャート700及び800内のステップは提示された順番とは異なる順番で行われてもよく、当該ステップは必ずしも図示された順序で実行される必要がないことを理解されたい。
[072]まず、図7を参照する。フローチャート700はステップ702で始まる。ステップ702において、変換量子化値のブロック(例えば、図4のブロック432)がアクセスされる。
[073]図7のステップ703において、ブロックの割当量が計算される。割当量は、このブロックに割り当てられた割当量を含み、本明細書に既に説明したように、先に符号化された別のブロックの割当量からの残りの部分を含むこともある。
[074]ある実施の形態では、ブロック内の値はランレングス符号化される。ステップ704において、ブロック内の値がアクセスされ、その値に関連したビット数がカウントされる。
[075]ステップ706において、ステップ704からのカウントを使用して、ブロックに割り当てられた割当量を超えたか否かが決定される。残っている割当量がない場合、又は、残りの割当量がステップ704においてアクセスされた値を符号化するために十分でない場合に、フローチャート700はステップ707へ進む。他の場合には、フローチャート700はステップ708へ進む。
[076]ステップ707においては、本実施の形態では、ブロック(例えば、図4のブロック432)内の残りの値は符号化されない。実際上、残りの値は、エンド・オブ・ブロック・コードを、符号化されたデータに挿入することによって廃棄される。フローチャート700は次にステップ716へ進む。
[077]図7のステップ708においては、ある実施の形態では、割当量内の第1の閾値に到達又は超過したか否かに関する判断が成される。上述したように、第1の閾値は割当量の限界までの余裕を設ける。第1の閾値に到達又は超過していない場合には、フローチャート700はステップ712へ進む。他の場合には、フローチャート700はステップ710へ進む。
[078]ステップ710において、第2の閾値が充足されたか否かに関する決定が成される。上述したように、第2の閾値はステップ704においてアクセスされた値に関連したサイズ(例えば、大きさ又はビット数)に対応する。ステップ704においてアクセスされた値が第2の閾値を充足しない場合、フローチャート700はステップ714へ進む。他の場合には、フローチャート700はステップ712へ進む。
[079]ステップ712において、ステップ704でアクセスされた値(「処理対象の値」)が符号化され、符号化されたビット数がカウントされる。カウントは、処理対象の値に関連したビット数と、処理対象の値より前に符号化されたブロック内の他の値に関連したビット数とを含む。このカウントを上記のブロック706で使用して、十分な割当量がブロック内の次の値を符号化するために残っているか否かが判定される。
[080]ステップ714において、処理対象のブロック内で最後の値であるか否かに関する判定が行われる。最後の値ではない場合には、フローチャート700はステップ704へ戻り、符号化プロセスがブロック内の新しい値に対して開始される。他の場合には、フローチャート700はステップ716へ進む。
[081]ステップ716において、ブロックが符号化されるべき最後のブロックであるか否かに関する判定が行われる。最後のブロックである場合には、フローチャート700は終了する。他の場合には、フローチャート700はステップ718へ進む。
[082]ステップ718において、ブロックの符号化後に割当量が残っている場合には、割当量の残りの部分が、変換量子化データ値をもつ別のブロック、恐らくは、符号化される次のブロックに割り当てられる割当量に加算される。或いは、割当量の残りの部分が蓄えられ、必要に応じて後に使用される。処理対象のブロックの符号化はこのように終了し、フローチャート700は、次のブロックの符号化のためにステップ702へ戻る。
[083]次に図8を参照する。ステップ802において、画像データの第1のブロック(例えば、図4のブロック432)に関連した第1の複数の変換量子化値がアクセスされる。第1のブロックは画像内部の第1の位置にある。
[084]図8のステップ804において、第1のブロックのランレングス符号化中に符号化されたビット数がカウントされる。
[085]ステップ806において、第1のブロックの符号化が、第1のブロックに適用された割当量の限界に到達するまで継続する。すなわち、第1のブロックのランレングス符号化は、カウントが第1のブロックに適用されている割当量限界に到達した場合に終了し、割当量の限界に到達しない場合には、データの第1のブロックは完全に符号化される。
[086]ステップ810において、第1のブロックの符号化が終了すると、画像データの第2のブロックに関連した第2の複数の変換量子化値がアクセスされる。第2のブロックは、画像内部の第2の位置にある。
[087]ステップ812においては、ステップ806において言及した割当量の限界が増加され、第2のブロックを符号化するための新しい限界が設定される。新しい限界は、第1のブロックの符号化中に消費されなかった割当量の部分を含むことに注意されたい。
[088]ステップ814においては、ステップ804で開始されたカウントが、第2のブロックをランレングス符号化する間、継続される。第2のブロックのランレングス符号化は、カウントが新しい限界に到達した場合に終了し、他の場合には、データの第2のブロックが完全に符号化されるまで継続する。フローチャート800は、このようにして、符号化すべきデータの各ブロックに対して継続する。
[089]フローチャート800によって説明した方法は、上述した本発明の他の特長を包含するように拡張可能であることを理解されたい。例えば、ブロック内の変換量子化値が符号化され、符号化されたビット数がカウントされるときに、(そのブロックに適用されている割当量の限界の範囲内の)第1の閾値と、(符号化されている値のサイズに対応する)第2の閾値とを、上述したように、適用することができる。
[090]要約すると、本発明の実施の形態は、不必要な反復なしに、且つ、画像忠実性の著しい低下なしに、目標ファイル又はビットストリームサイズに画像データを効率的に圧縮する方法及びシステムを提供する。ある実施の形態では、ブロック内の変換量子化値であって、後にランレングス符号化のプロセスで符号化される値であり、一般に画像忠実性に余り寄与しない値に対応する値は、廃棄され(符号化されず)、画像忠実性を著しく低下させることなく、圧縮されたデータの量が削減される。別の実施の形態では、一般的に画像忠実性に殆ど寄与しない「より小さな」変換量子化値(例えば、前述の第2の閾値を充足しない値)が、廃棄され(符号化されず)、同様に、画像忠実性を保持しつつ圧縮データの量が削減される。
[091]本発明に係る実施の形態は、ハードウェア、ソフトウェア、又は、それらの組み合わせで実施することが可能である。例えば、画像の符号化中に使用されるあるタイプの情報を記憶して、当該情報を、必要とされる反復の回数を削減することによりその後の符号化の効率を高めるために、その後の画像の符号化中に続いて使用することができる。
[092]JPEG符号化に関して説明したが、本発明はそれに限定されるものではない。例えば、本発明に係る実施の形態は、MPEG(モーション・ピクチャー・エキスパート・グループ)符号化にも適用可能である。
大まかに要約すると、本書は、画像を圧縮する方法及びシステムを開示するものである。画像データのブロックに関連した複数の変換量子化値がアクセスされる。そのブロックは画像内部の位置に対応しており、ブロックのランレングス符号化中に符号化されたビット数のカウントが行われる。ブロックのランレングス符号化は、カウントが限界に到達した場合に終了する。
[093]以上、本発明の実施の形態を説明した。本発明を特定の実施の形態において説明したが、本発明は、このような実施の形態によって制限されるものとして解釈されるべきでなく、特許請求の範囲にしたがって解釈されるべきであることを理解すべきである。
本発明に係る実施の形態が実施されるシステムの一実施例のブロック図である。 本発明に係る実施の形態が実施されるシステムの別の実施例のブロック図である。 本発明のある実施の形態に係る符号化及び復号プロセスにおけるデータの流れを示すデータフロー図である。 本発明のある実施の形態に係る符号化プロセスにおけるステップを示すデータフロー図である。 本発明のある実施の形態に係る符号化プロセスにおけるステップを示すデータフロー図である。 本発明のある実施の形態によるレート制御を達成するために使用される割当量の実施例のグラフである。 本発明のある実施の形態に係る圧縮され得る画像の説明図である。 本発明のある実施の形態に係るレート制御を達成するため使用される割当量の実施例のグラフである。 本発明のある実施の形態に係るデータ圧縮方法のフローチャートである。 本発明の別の実施の形態に係るデータ圧縮方法のフローチャートである。

Claims (25)

  1. 画像を圧縮する方法であって、
    画像データの第1のブロックに関連する第1の複数の変換量子化値にアクセスするステップであって、該第1のブロックが前記画像内の第1の位置に対応しており、前記値の各々が幾つかのビットとして表される、該ステップと、
    前記第1のブロックのランレングス符号化中に符号化されたビットの数のカウントを保持するステップであって、前記第1のブロックの前記ランレングス符号化は、前記カウントが限界に達した場合に終了する、該ステップと、
    前記カウントに対する第1の閾値を特定するステップであって、該第1の閾値は前記限界までの余裕を設けるために該限界よりも小さい、該ステップと、
    を含み、
    前記カウントが前記第1の閾値に到達した場合には、第2の閾値を充足しない変換量子化値は符号化されない、
    方法。
  2. 前記限界が、前記第1の位置に応じて決定される値を有する、請求項1に記載の方法。
  3. 前記画像内の第2の位置に対応する第2のブロックのデータを符号化するために、前記限界を増加させるステップを更に含む、請求項1又は2に記載の方法。
  4. 第2のブロックの画像データに関連する第2の複数の変換量子化値にアクセスするステップであって、該第2のブロックが、前記画像内の第2の位置に対応する、該ステップと、
    前記第2のブロックの符号化用に与える新たな限界を設定するための量によって、前記限界を増加させるステップと、
    前記カウントを前記第2のブロックのランレングス符号化中に増加するステップであって、前記第2のブロックの前記ランレングス符号化を、前記カウントが前記新たな限界に到達した場合に、終了する、該ステップと
    を更に含む、請求項1〜3のいずれか一項に記載の方法。
  5. 前記量が、前記第2の位置に応じて決定される、請求項4に記載の方法。
  6. 前記第2の閾値が前記変換量子化値の大きさに対して適用され、
    前記第2の閾値を充足しない変換量子化値がゼロにセットされる、
    請求項1〜5のいずれか一項に記載の方法。
  7. 前記第2の閾値が前記ランレングス符号化中に変更される、請求項1〜6のいずれか一項に記載の方法。
  8. 前記第1のブロックが、前記画像内の第1の位置に対応し、
    前記第1のブロックが、画像データの複数のブロックのうちの一つのブロックであって、前記第1の位置に対応しており、
    前記複数のブロックにおける各ブロックのランレングス符号化中に符号化されるビット数には、それぞれの限界が課せられている、
    請求項1〜7のいずれか一項に記載の方法。
  9. 非圧縮の画像データのブロックを受け取るステップと、
    前記非圧縮の画像データを、離散コサイン変換を使用して変換して、変換データを生成するステップと、
    前記変換データを量子化して、変換量子化データを生成するステップと、
    を更に含む、請求項1〜8のいずれか一項に記載の方法。
  10. 変換量子化データをもつ第1の複数のブロックを備える画像データを圧縮する方法であって、
    前記第1の複数のブロックのうち第1のブロックに第1の割当量を割り当てるステップであって、前記第1の割当量が、前記第1のブロックの符号化に利用可能なビット数の限界を構成する、該ステップと、
    前記第1のブロックを符号化するステップであって、前記第1のブロックの前記符号化は、前記第1のブロックに割り当てられた第1の割当量を超過しない場合に、継続し、その他の場合に、前記第1のブロックの前記符号化が停止する、該ステップと、
    前記第1の割当量よりも小さい第1の閾値を特定するステップと、
    を含み、
    前記第1の閾値に到達した場合には、第2の閾値を充足しない変換量子化値はランレングス符号化中に選択されない、
    方法。
  11. 前記第1のブロックの前記符号化後に残る第1の割当量の一部を、前記第1の複数のブロックのうちの第2のブロックに割り当てられている第2の割当量に加算するステップを更に含む、請求項10に記載の方法。
  12. 前記第1のブロックが複数の変換量子化値を含み、前記変換量子化値の各々がそれぞれのビット数によって表現され、
    前記符号化するステップが、
    変換量子化値を選択するステップと、
    前記変換量子化値に関連したビット数を用いて、前記第1の割当量を超過したか否かを決定する工程と、
    を更に含む、請求項10又は11に記載の方法。
  13. 前記第2の閾値が前記変換量子化値の大きさに対応し、
    前記第2の閾値を充足しない変換量子化値がゼロにセットされる、
    請求項10〜12のいずれか一項に記載の方法。
  14. 前記変換量子化値の大きさが前記第2の閾値と比較され、
    前記第2の閾値を充足しない変換量子化値がゼロにセットされる、
    請求項10〜12のいずれか一項に記載の方法。
  15. 前記符号化中に前記第2の閾値を変更するステップを更に含む、請求項10〜14のいずれか一項に記載の方法。
  16. 前記第1のブロックが画像内のある位置に対応し、前記第1の割当量が前記位置に対応する値を有する、請求項10〜15のいずれか一項に記載の方法。
  17. 前記第1のブロックが、画像内のある位置に対応し、
    前記第1のブロックが、第2の複数のブロックのうちの一つのブロックであり、前記位置に対応しており、
    前記第2の複数のブロックにおける各ブロックには、符号化中にそれぞれの割当量が課せられる、
    請求項10〜16のいずれか一項に記載の方法。
  18. メモリと、
    画像を圧縮する方法を実行するためのプロセッサと、
    を備えるシステムであって、
    前記方法が、
    画像データ内の第1のブロックに関連する第1の複数の変換量子化値にアクセスするステップであって、前記第1のブロックが前記画像内の第1の位置に対応しており、前記値の各々が幾つかのビットで表される、該ステップと、
    前記第1のブロックのランレングス符号化中に符号化されたビットの数のカウントを保持するステップであって、前記第1のブロックの前記ランレングス符号化は、前記カウントが限界に到達した場合に、終了する、該ステップと、
    前記カウントに対する第1の閾値を特定するステップであって、該第1の閾値は前記限界までの余裕を設けるために該限界よりも小さい、該ステップと、
    を含み、
    前記カウントが前記第1の閾値に到達した場合には、第2の閾値を充足しない変換量子化値は符号化されない、
    システム。
  19. 前記限界が、前記第1の位置に応じて決定される値を有する、請求項18に記載のシステム。
  20. 前記限界が、前記画像内の第2の位置に対応する第2のブロックのデータを符号化するために増加される、請求項18又は19に記載のシステム。
  21. 前記方法が、
    第2のブロックの画像データに関連する第2の複数の変換量子化値にアクセスするステップであって、該第2のブロックが、前記画像内の第2の位置に対応する、該ステップと、
    前記第2のブロックの符号化用に与える新たな限界を設定するための量によって、前記限界を増加させるステップと、
    前記カウントを前記第2のブロックのランレングス符号化中に増加するステップであって、前記第2のブロックの前記ランレングス符号化を、前記カウントが前記新たな限界に到達した場合に、終了する、該ステップと
    を更に含む、
    請求項18〜20のいずれか一項に記載のシステム。
  22. 前記量が、前記第2の位置に応じて決定される、請求項21に記載のシステム。
  23. 前記第2の閾値が前記変換量子化値の大きさに対して適用され、
    前記第2の閾値を充足しない変換量子化値がゼロにセットされる、
    請求項18〜22のいずれか一項に記載のシステム。
  24. 前記第2の閾値が前記ランレングス符号化中に変更される、請求項18〜23のいずれか一項に記載のシステム。
  25. 前記第1のブロックが、前記画像内の第1の位置に対応し、
    前記第1のブロックが、画像データの複数のブロックのうちの一つのブロックであって、前記第1の位置に対応しており、
    前記複数のブロックにおける各ブロックのランレングス符号化中に符号化されたビット数には、それぞれの限界が課せられる、
    請求項18〜24のいずれか一項に記載のシステム。
JP2007535802A 2004-10-08 2005-10-05 画像圧縮におけるレート制御方法及びシステム Active JP4440308B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/962,311 US7747095B2 (en) 2004-10-08 2004-10-08 Methods and systems for rate control in image compression
PCT/US2005/035948 WO2006041994A1 (en) 2004-10-08 2005-10-05 Methods and systems for rate control in image compression

Publications (2)

Publication Number Publication Date
JP2008516532A JP2008516532A (ja) 2008-05-15
JP4440308B2 true JP4440308B2 (ja) 2010-03-24

Family

ID=36145396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007535802A Active JP4440308B2 (ja) 2004-10-08 2005-10-05 画像圧縮におけるレート制御方法及びシステム

Country Status (8)

Country Link
US (1) US7747095B2 (ja)
EP (1) EP1797520B1 (ja)
JP (1) JP4440308B2 (ja)
KR (1) KR100904797B1 (ja)
CN (1) CN101036151B (ja)
AT (1) ATE519173T1 (ja)
TW (1) TWI318827B (ja)
WO (1) WO2006041994A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007318597A (ja) * 2006-05-29 2007-12-06 Opt Kk 広角レンズによる撮像データの圧縮方法、圧縮装置、広角カメラ装置およびモニタシステム
JP4521835B2 (ja) * 2008-02-12 2010-08-11 株式会社ディジタルメディアプロフェッショナル 画像処理装置
TWI405467B (zh) * 2009-11-25 2013-08-11 Novatek Microelectronics Corp 影像壓縮的位元速率控制電路與方法
US8548057B2 (en) 2011-01-25 2013-10-01 Microsoft Corporation Video coding redundancy reduction
US9066117B2 (en) * 2012-02-08 2015-06-23 Vixs Systems, Inc Container agnostic encryption device and methods for use therewith
US9749645B2 (en) * 2012-06-22 2017-08-29 Microsoft Technology Licensing, Llc Coded-block-flag coding and derivation
CN103036575B (zh) * 2012-12-14 2015-09-30 天津瑞能电气有限公司 一种变频器内部数据的压缩方法
EP2965288A4 (en) * 2013-03-08 2016-07-27 Intel Corp IMAGE ENCODING TECHNIQUES BASED ON AREA OF INTEREST
US9031336B2 (en) * 2013-04-10 2015-05-12 Southwest Research Institute Systems and methods for hybrid compression of spectral image data
CN105100810B (zh) * 2014-05-16 2018-02-13 中国科学院声学研究所 一种成像声纳实时处理系统中的图像压缩解压方法及系统
WO2023165599A1 (en) * 2022-03-03 2023-09-07 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for visual data processing

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5084791A (en) * 1988-05-10 1992-01-28 Quantum Corporation Head position control system for fixed drive including position encoder, temperature sensor and embedded fine servo information
EP0630506A4 (en) 1992-03-17 1995-01-04 Zoran Corporation Image compression coder having improved bit rate control and block allocation.
DE4334353A1 (de) 1993-10-08 1995-04-13 Merck Patent Gmbh Verfahren und Träger für die Gelpermeationschromatographie
US5576765A (en) * 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder
US5761466A (en) * 1994-05-09 1998-06-02 Lsi Logic Corporation Soft programmable single-cycle/pipelined micro-programmed control system
US5598222A (en) * 1995-04-18 1997-01-28 Hatachi American, Ltd. Method and apparatus for decoding multiple video bitstreams using a common memory
WO1996026612A2 (en) 1995-02-24 1996-08-29 Philips Electronics N.V. Device and method for coding video pictures
GB2306831B (en) * 1995-10-30 2000-05-24 Sony Uk Ltd Video data compression
JPH10243399A (ja) 1997-02-25 1998-09-11 Sharp Corp 符号量制御装置及び該符号量制御装置を含む動画像符号化装置
JPH10336649A (ja) 1997-05-30 1998-12-18 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法および装置
FI107496B (fi) * 1997-07-18 2001-08-15 Nokia Mobile Phones Ltd Kuvan kompressointi
US6049330A (en) 1997-08-28 2000-04-11 Oak Technology, Inc. Method and apparatus for optimizing storage of compressed images in memory
US6259479B1 (en) * 1997-09-17 2001-07-10 Sony Corporation Letterbox filter apparatus and method
US5990812A (en) * 1997-10-27 1999-11-23 Philips Electronics North America Corporation Universally programmable variable length decoder
US6185253B1 (en) 1997-10-31 2001-02-06 Lucent Technology, Inc. Perceptual compression and robust bit-rate control system
US6654417B1 (en) 1998-01-26 2003-11-25 Stmicroelectronics Asia Pacific Pte. Ltd. One-pass variable bit rate moving pictures encoding
WO1999049413A1 (en) * 1998-03-20 1999-09-30 Mitsubishi Electric Corp. Lossy/lossless region-of-interest image coding
US6956899B2 (en) * 1998-03-23 2005-10-18 International Business Machines Corporation Precise bit control apparatus with look-ahead for MPEG encoding
KR20010083063A (ko) * 1998-06-25 2001-08-31 벤자민 에프 커틀러 가변 길이 코딩 및 디코딩 처리 회로, 및 그 방법
US6212645B1 (en) * 1998-10-09 2001-04-03 Mediaq Inc. Programmable and flexible power management unit
US6570922B1 (en) * 1998-11-24 2003-05-27 General Instrument Corporation Rate control for an MPEG transcoder without a priori knowledge of picture type
JP4041245B2 (ja) 1999-05-14 2008-01-30 京セラ株式会社 画像符号化装置
JP3703728B2 (ja) * 2000-03-17 2005-10-05 松下電器産業株式会社 映像信号符号化装置、映像信号符号化方法
KR100341063B1 (ko) * 2000-06-28 2002-06-20 송문섭 실시간 영상 통신을 위한 율제어 장치 및 그 방법
US7224837B2 (en) * 2000-10-11 2007-05-29 Screenpeaks Ltd. Digital video broadcasting
WO2002063626A2 (en) * 2001-02-02 2002-08-15 Matsushita Electric Industrial Co., Ltd. Recording apparatus and method, playback apparatus and method, recording medium, program, and computer-readable recording medium
US6760035B2 (en) * 2001-11-19 2004-07-06 Nvidia Corporation Back-end image transformation
US8284844B2 (en) * 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US6653955B1 (en) * 2002-05-09 2003-11-25 Lsi Logic Corporation Multi-symbol variable length code decoder
US6961376B2 (en) * 2002-06-25 2005-11-01 General Instrument Corporation Methods and apparatus for rate control during dual pass encoding
CN1295652C (zh) * 2002-08-20 2007-01-17 宏正自动科技股份有限公司 图像资料编码方法
US7822955B2 (en) * 2003-01-21 2010-10-26 Arm Limited Data processing apparatus and method for utilizing endianess independent data values
US7095784B2 (en) * 2003-04-14 2006-08-22 Silicon Intergrated Systems Corp. Method and apparatus for moving picture compression rate control using bit allocation with initial quantization step size estimation at picture level
US7254176B2 (en) * 2003-05-23 2007-08-07 Silicon Integrated Systems Corp. Apparatus for variable bit rate control in video compression and target bit allocator thereof
US7194031B2 (en) * 2003-07-09 2007-03-20 Silicon Integrated Systems Corp. Rate control method with region of interesting support
CN1296010C (zh) * 2003-07-28 2007-01-24 东软飞利浦医疗设备系统有限责任公司 针对原始ct图像数据的压缩及解压缩方法
EP1675399A3 (en) * 2004-12-23 2009-04-29 Bitband Technologies Ltd. Fast channel switching for digital TV

Also Published As

Publication number Publication date
WO2006041994A1 (en) 2006-04-20
US7747095B2 (en) 2010-06-29
KR100904797B1 (ko) 2009-06-25
CN101036151A (zh) 2007-09-12
EP1797520B1 (en) 2011-08-03
WO2006041994A8 (en) 2006-06-22
JP2008516532A (ja) 2008-05-15
US20060078211A1 (en) 2006-04-13
TWI318827B (en) 2009-12-21
KR20070046952A (ko) 2007-05-03
EP1797520A4 (en) 2009-05-27
EP1797520A2 (en) 2007-06-20
CN101036151B (zh) 2010-05-26
ATE519173T1 (de) 2011-08-15
TW200629748A (en) 2006-08-16

Similar Documents

Publication Publication Date Title
JP4440308B2 (ja) 画像圧縮におけるレート制御方法及びシステム
EP2232876B1 (en) Pixel block processing
US8260072B2 (en) Image encoding apparatus and method of controlling the same
US8639049B1 (en) Systems and methods for image coding and processing
WO2009093947A1 (en) Pixel block processing
CN107864379B (zh) 一种应用于视频编解码的压缩方法
US8929674B2 (en) Compression of high bit-depth images
JP2016213528A (ja) 画像符号化装置、画像処理装置、画像符号化方法
WO2009091279A1 (en) Separate huffman coding of runlength and size data of dct coefficients
CN110896483A (zh) 压缩和解压缩图像数据的方法
US6614942B1 (en) Constant bitrate algorithm for block based image compression
US8942490B2 (en) Method of high performance image compression
US20060278725A1 (en) Image encoding and decoding method and apparatus, and computer-readable recording medium storing program for executing the method
US10750182B2 (en) Embedded codec circuitry for visual quality based allocation of refinement bits
US20190238894A1 (en) Image processing device and method for operating image processing device
JP2008017472A (ja) 超音波映像の圧縮方法
US9723312B2 (en) Method and system for random accessible image compression with adaptive quantization
KR20100013142A (ko) 프레임 메모리 압축방법
JP2001231009A (ja) 画像データ格納装置および方法
EP1629675A2 (en) Fixed bit rate, intraframe compression and decompression of video
US10652543B2 (en) Embedded codec circuitry and method for frequency-dependent coding of transform coefficients
JP2007221389A (ja) データ挿入装置および方法ならびに画像圧縮符号化装置および方法
JP2021069094A (ja) 画像符号化装置及びその制御方法及びプログラム
US20070014350A1 (en) Method and apparatus for low-memory high-performance discrete cosine transform coefficient prediction
WO2007104522A1 (en) Method and apparatus for linewise image compression

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090713

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091116

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100106

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4440308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

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

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