JP3529624B2 - ピクチャの符号化方法および符号化装置 - Google Patents

ピクチャの符号化方法および符号化装置

Info

Publication number
JP3529624B2
JP3529624B2 JP13516798A JP13516798A JP3529624B2 JP 3529624 B2 JP3529624 B2 JP 3529624B2 JP 13516798 A JP13516798 A JP 13516798A JP 13516798 A JP13516798 A JP 13516798A JP 3529624 B2 JP3529624 B2 JP 3529624B2
Authority
JP
Japan
Prior art keywords
macroblock
block
coefficients
picture
pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP13516798A
Other languages
English (en)
Other versions
JPH118849A (ja
Inventor
ジョン・アシュレイ・マードック
アンガス・イー・ガイ
ステファン・フィリップ・ポクリンチャク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH118849A publication Critical patent/JPH118849A/ja
Application granted granted Critical
Publication of JP3529624B2 publication Critical patent/JP3529624B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/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
    • 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
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/18Methods 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 a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的には、ピク
チャ内の冗長度およびピクチャ間の冗長度を減少させる
空間的(ピクチャ内)圧縮および時間的(ピクチャ間)
圧縮を含む、ディジタル画像の符号化装置および符号化
方法に関する。ピクチャ内の冗長度は、離散コサイン変
換、量子化、および可変長符号化によって減少または除
去される。ピクチャ間の冗長度は、動きベクトルを使用
することによって減少または除去される。ピクチャ内圧
縮の1つの局面では、ピクチャの品質および詳細度(デ
ィテール)を維持しながら、最適ビット・レートを達成
するようにビットが調整される。本発明は、特にビデオ
・エンコーダの量子化および可変長符号化機能のため
の、強力なマクロブロック・ビット調整に関する。
【0002】
【従来の技術及びその課題】過去10年の間に、世界的
な電子通信システムの出現は、人々が情報を送受信する
方式を進歩させた。特に、近年では、リアルタイムのビ
デオ・オーディオ・システムが著しく進歩した。ビデオ
・オン・デマンドおよびビデオ会議などのサービスを加
入者へ提供するためには、膨大なネットワーク帯域幅が
必要である。事実、ネットワーク帯域幅は、そのような
システムの効率性を阻害する主な要因となる場合が多
い。
【0003】ネットワークによって生じる制約を克服す
るために、圧縮システムが出現した。これらのシステム
は、ピクチャ・シーケンス中の冗長度を除去することに
よって、伝送しなければならないビデオおよびオーディ
オのデータ量を削減する。受信端では、ピクチャ・シー
ケンスが圧縮を解かれ、リアルタイムで表示される。
【0004】現在検討されているビデオ圧縮標準は、M
PEG標準である。MPEG標準では、ビデオの圧縮は
1つのピクチャ内および複数のピクチャ間で定義され
る。1つのピクチャのビデオ圧縮は離散コサイン変換、
量子化、可変長符号化、およびハフマン符号化によりデ
ィジタル像を時間領域から周波数領域へ変換することに
よって達成される。複数のピクチャ間のビデオ圧縮は、
動き推定と呼ばれる処理によって達成される。動き推定
では、動きベクトルおよび差分データが1つのピクチャ
から他のピクチャへの、画素(ペル)集合の変換を記述
する。
【0005】ISO MPEG2標準は、ビットストリ
ームのシンタックスおよび復号処理のセマンティックス
を指定するにすぎない。符号化パラメータの選択、およ
びパフォーマンス対複雑性のトレードオフは、エンコー
ダの開発者に任せられている。
【0006】MPEG2に準拠した符号化処理の1つの
局面では、ビデオの詳細度および品質を維持しながら、
ディジタル・ビデオ像ができるだけ小さなビットストリ
ームへ圧縮される。MPEG標準はビットストリームの
サイズに制限を設けており、またエンコーダが符号化処
理を実行できることを要求している。したがって、所望
のピクチャ品質と詳細度を維持するためにビット・レー
トを最適化することは困難である。たとえば、MPEG
標準はピクチャの各水平行で、ビット・レートの制限
(4:2:0フォーマットでは、4608ビット)を超
えるマクロブロックは2つまでと定めている。シーン・
チェンジおよびアクション・ビデオの場合、フレーム間
の急激な変化によってビット・レートが急速に消費され
る。その結果、ピクチャの品質と詳細度は悪影響を受け
る。
【0007】MPEG2に準拠した符号化処理の他の局
面では、パフォーマンス問題が非イントラ・マクロブロ
ックの符号化との間の圧縮ストア・インタフェースで生
じる。この問題は、マクロブロックの一部でありMPE
G標準によって要求される符号化ブロック・パターン
が、マクロブロックのすべての量子化された係数が可変
長符号化されるまで決定できないという事実から生じ
る。圧縮ストア・インタフェースは、符号化ブロック・
パターンを待っている間、係数をバッファに入れて、現
在のマクロブロックのマクロブロック・ヘッダが、圧縮
されたビットストリーム中で、エンコーダから出力され
る符号化係数の前に確実に多重化されるようにしなけれ
ばならない。さらに、それはMPEG標準に準拠するた
めに必要である。イントラ・マクロブロックでは、係数
をバッファに入れる必要はない。なぜなら、イントラ・
マクロブロックはデータを含むことが必要であり、符号
化ブロック・パターンを有しないからである。非イント
ラ・マクロブロック中の符号化係数データの量は、バッ
ファからデータを読み取って圧縮されたビットストリー
ムへ多重化するのに時間がかかるので、エンコーダのパ
フォーマンスに影響を与える。
【0008】本発明は、標準的な量子化、可変長符号
化、および圧縮ストア・インタフェースの処理に内在す
る上記の問題を解決する、ビデオ・エンコーダのための
マクロブロック・ビット調整方式を提供する。
【0009】
【課題を解決するための手段】 簡単に説明すると、本
発明は、第一の局面では、複数のマクロブロックを有
し、各マクロブロックが複数のブロックに配列された係
数を含むピクチャを符号化する方法と装置を提供する。
本発明のアプローチは、各マクロブロックについて次の
ことを行う。すなわち、マクロブロックの係数を符号化
し、マクロブロックのために目標ビット・レートを決定
し、目標ビット・レートが所定のレートよりも小さいと
きにマクロブロックの所定の係数をゼロにする制約パタ
ーンに基づいてマクロブロックの係数のうち一部の係数
をゼロにする。更に、ピクチャが非イントラ・ピクチャ
であるかどうかを決定し、ピクチャが非イントラ・ピク
チャであるときは、各マクロブロックについて、該マク
ロブロックの係数が符号化される前に、マクロブロック
のどのブロックが符号化されているか示す符号化ブロ
ック・パターン(CBP)として、マクロブロック内の
すべてのブロックが符号化されていることを示す固定符
号化ブロック・パターン生成しマクロブロック・ヘ
ッダの一部としてビットストリーム中に出力する。続い
て、上記固定符号化ブロック・パターンが示すようにマ
クロブロックの全てのブロックが符号化されていること
を保証するために、マクロブロックの各ブロックが少な
くとも1つの非ゼロ係数を含むように各ブロックの係数
を調整する。
【0010】他の局面では、本発明は、複数のマクロブ
ロックを有し、各マクロブロックが複数のブロックに配
列された係数を含むピクチャのマクロブロックを符号化
する方法および装置を提供する。この方法および装置
は、各マクロブロックについて次のことを行う。すなわ
ち、ピクチャが非イントラ・ピクチャであるかどうかを
決定し、ピクチャが非イントラ・ピクチャであるとき、
各マクロブロックについて、該マクロブロックの各ブロ
ックの係数が符号化される前に、マクロブロックのど
のブロックが符号化されているか示す符号化ブロック・
パターン(CBP)として、マクロブロック内のすべて
のブロックが符号化されていることを示す固定符号化ブ
ロック・パターンを成しマクロブロック・ヘッダの
一部としてビットストリーム中に出力する。続いて、
記固定符号化ブロック・パターンが示すようにマクロブ
ロックの全てのブロックが符号化されていることを保証
するために、マクロブロックの各ブロックが少なくとも
1つの非ゼロ係数を含むように各ブロックの係数を調整
する。
【0011】
【0012】言い換えれば、本発明により、ビデオ・エ
ンコーダの量子化および可変長符号化を改良するために
使用できるいくつかのマクロブロック・ビット調整方式
が実現される。マクロブロック中の係数を選択的および
部分的に制約することによって、ビット・レートの調整
が達成され、ビット・レートとピクチャ品質の改良され
たバランスが得られる。たとえば、高周波数係数をゼロ
にする制約パターンを設定することによって、それだけ
低周波数係数に多くのビットを割り振ることができる。
したがって、より細かな量子化ステップ・サイズ(mq
uant)を使用して、より詳細なピクチャ・ディテー
ルを捕捉することができる。パターンの制約は、すべて
のマクロブロックに適用するか、非イントラ・マクロブ
ロックのみに適用することができる。広い範囲の部分制
約パターンが使用可能である。
【0013】さらに、MPEG標準によって可変長符号
化ユニットからの出力として定義された符号化ブロック
・パターンを固定する(あらかじめ決定する)ことによ
って、パフォーマンスを改善することができる。符号化
ブロック・パターンをあらかじめ決定することによっ
て、マクロブロック全体の量に相当する可変長符号化デ
ータを圧縮ストア・インタフェースでバッファする必要
はない。これは特にビット・レートが高いときに都合が
よい。なぜなら、符号化されないブロックの存在確率は
小さいからである。
【0014】低ビット・レートのマクロブロックの場
合、パターン制約によって、マクロブロックの全体的サ
イズが減少し、圧縮ストア・インタフェースがバッファ
した後に読み出す必要があるデータの量も減少する。そ
れは、圧縮ストア・インタフェースが非イントラ・マク
ロブロックをバッファする必要性を除くものではない
が、パフォーマンスを改善する。
【0015】
【発明の実施の形態】本発明は、MPEGおよびHDT
Vに準拠したスケーラブルなエンコーダおよび符号化処
理に関する。このエンコーダによって実行される符号化
機能は、データの入力、空間圧縮、動き推定、マクロブ
ロック・タイプの生成、データの再構成、エントロピ符
号化、およびデータの出力を含む。空間圧縮は離散コサ
イン変換(DCT)、量子化、およびエントロピ符号化
を含む。時間圧縮は逆離散コサイン変換、逆量子化、お
よび動き補償のような集中的再構成処理を含む。動き推
定および動き補償は時間圧縮機能である。空間圧縮およ
び時間圧縮は、高度の計算要件を伴う反復機能である。
【0016】さらに具体的には、本発明は離散コサイン
変換、量子化、エントロピ符号化、動き推定、動き補
償、および予測を含む空間的および時間的圧縮を実行す
るプロセッサに関し、さらに具体的には、空間的および
時間的圧縮を達成するシステムに関する。
【0017】このスケーラブルなプロセッサ・システム
は、離散コサイン変換プロセッサ、量子化ユニット、可
変長符号化ユニット、FIFOバッファ、および圧縮ス
トア・インタフェースを備えたIフレーム専用ビデオ・
エンコーダ・モジュールを有する。さらに、このシステ
ムは参照メモリ・インタフェース、動き推定および補償
能力、逆量子化、および逆離散コサイン変換、および動
き補償手段を備えた第二のプロセッサ素子すなわちRプ
ロセッサ(再構成プロセッサ)を含み、さらに動き推定
手段を備えた少なくとも1つの第三のプロセッサ素子を
含んでいる。このシステムは単一の集積回路チップであ
っても複数の集積回路チップであってもよい。後者の場
合、各プロセッサ、すなわちIフレーム・ビデオ・エン
コーダ・モジュール、第二のプロセッサ素子、および第
三のプロセッサ素子に1つの集積回路チップが存在す
る。第三のプロセッサ・ユニットは、1つまたは複数が
存在してよい。
【0018】最初の圧縮ステップは空間冗長度の除去
(たとえば「I」フレーム・ピクチャの静止画における
空間冗長度の除去)である。空間冗長度とは、1つのピ
クチャ内の冗長度である。後述するように、動き補償の
処理はブロックをベースに行われるから、ブロック・ベ
ースの方法を使用して空間冗長度を減少させることが、
MPEG2の標準草案に合致した。選択される方法は離
散コサイン変換であり、ピクチャの離散コサイン変換符
号化である。離散コサイン変換符号化は、さらに圧縮レ
ベルを高めるために、重みづけられたスカラー量子化お
よびランレングス符号化と組み合わせられる。
【0019】離散コサイン変換は直交変換である。直交
変換は周波数領域の分析を含むためフィルタ・バンク指
向である。さらに、離散コサイン変換は局所化される。
すなわち、符号化処理は、64個の変換係数(すなわち
サブバンド)を計算するのに十分な8x8の空間ウィン
ドウ上でサンプルする。
【0020】離散コサイン変換の他の利点は、高速の符
号化および復号アルゴリズムを使用できることである。
さらに、離散コサイン変換のサブバンド分解は、心理視
覚基準の有効な使用を可能にする。
【0021】変換の後、周波数係数の多くはゼロであ
る。特に、高い空間周波数の係数はそうである。これら
の係数はジグザグ・パターンへ構成され、ラン・振幅
(ラン・レベル)の対へ変換される。各々の対はゼロ係
数の数と非ゼロ係数の振幅を示す。これは可変長符号へ
符号化される。
【0022】動き補償は、ピクチャ間の冗長度を減少さ
せるか、さらには除去するために使用される。動き補償
は、現ピクチャをブロック(たとえばマクロブロック)
へ分割し、前に伝送されたピクチャの中で同様な内容を
もつ近隣のブロックを探索することによって時間冗長度
を利用する。現ブロックの画素と、参照ピクチャから抽
出された予測ブロックの画素との差分だけが実際に圧縮
され伝送される。
【0023】動き補償および予測の最も単純な方法は、
「I」ピクチャ中の各画素の輝度と色差(すなわち、強
度とカラー)を記録し、後続するピクチャ中のすべての
特定の画素について輝度と色差(すなわち、強度とカラ
ー)の変化を記録することである。しかし、これは伝送
媒体の帯域幅、メモリ、プロセッサ能力、および処理時
間の点で非経済的である。なぜなら、オブジェクトはピ
クチャ間で移動する(すなわち、画素内容は、1つのピ
クチャ中の1つの位置から、後続するピクチャ中の異な
った位置へ移動する)からである。さらに進んだアイデ
アは、先行または後続のピクチャを使用して、後続また
は先行するピクチャの中で画素のブロックが存在する場
所を予測し(たとえば動きベクトルを使用して)、その
結果を「予測ピクチャ」または「P」ピクチャとして書
くことである。具体的には、これは、i番目のピクチャ
の画素またはそのマクロブロックが、(i−1)番目ま
たは(i+1)番目のピクチャ中のどこにあるかを最良
に予測することを含む。画素のブロックが中間ピクチャ
(すなわち「B」ピクチャ)中のどこにあるかを予測す
るために後続ピクチャおよび先行ピクチャの双方を使用
することは、さらに一歩進んだ方法である。
【0024】注意すべきは、ピクチャの符号化順序とピ
クチャの伝送順序は、必ずしもピクチャの表示順序と一
致しないことである(図2を参照)。I−P−Bシステ
ムでは、入力ピクチャの伝送順序は符号化順序と異なっ
ており、入力ピクチャは符号化に使用されるまで一時的
に記憶される必要がある。バッファは、この入力が使用
されるまで、それを記憶している。
【0025】例として、MPEG準拠の符号化を示す概
略的フローチャートが図1に示される。このフローチャ
ートで、動きベクトルを生成するために、i番目のピク
チャと(i+1)番目のピクチャの画像が処理される。
動きベクトルは、画素のマクロブロックが先行または後
続ピクチャのどこに存在するかを予測する。全体の画像
の代わりに動きベクトルを使用することが、MPEGお
よびHDTV標準における時間圧縮の重要な点である。
図1に示されるように、動きベクトルが一度生成される
と、それは、i番目のピクチャから(i+1)番目のピ
クチャへ画素のマクロブロックを変換するために使用さ
れる。
【0026】図1に示されるように、符号化処理では、
i番目のピクチャおよび(i+1)番目のピクチャの画
像がエンコーダ11の中で処理されて、たとえば(i+
1)番目および後続するピクチャが符号化され伝送され
る形式の動きベクトルが生成される。後続するピクチャ
のピクチャ入力111(入力画像)は、エンコーダの動
き推定ユニット43へ送られる。動きベクトル113は
動き推定ユニット43の出力として形成される。これら
のベクトルは、先行または将来のピクチャからマクロブ
ロック・データ(「参照」データと呼ばれる)を引き出
し、また出力するために、動き補償ユニット41によっ
て使用される。動き補償ユニット41の1つの出力は、
動き推定ユニット43からの出力とマイナス加算され、
離散コサイン変換ユニット21の入力へ送られる。離散
コサイン変換ユニット21の出力は量子化ユニット23
の中で量子化される。量子化ユニット23の出力は2つ
の出力(ピクチャ出力121、フィードバック・ピクチ
ャ出力131)へ分割される。ピクチャ出力121は、
伝送の前にさらに圧縮と処理を行うために、ランレング
ス符号化器のような下流の可変長符号化ユニット25へ
送られる。フィードバック・ピクチャ出力131は画素
の符号化マクロブロックの再構成を経てフレーム・メモ
リ42に記憶される。例として図示されているエンコー
ダでは、フィードバック・ピクチャ出力131は、差分
マクロブロックの非可逆バージョンを戻すために、逆量
子化ユニット29および逆離散コサイン変換ユニット3
1を通る。このデータは、動き補償ユニット41の出力
と加算され、元のピクチャの非可逆バージョンをフレー
ム・メモリ42へ戻す。
【0027】図2に示されるように、三種のピクチャが
存在する。「イントラ・ピクチャ」すなわち「I」ピク
チャは、全体が符号化されて伝送され、動きベクトルを
定義される必要はない。これらの「I」ピクチャは動き
ベクトルの源として使用される。「予測ピクチャ」すな
わち「P」ピクチャは、先行するピクチャからの動きベ
クトルによって形成され、他のピクチャの動きベクトル
の源として使用することができる。最後に、「双方向性
ピクチャ」すなわち「B」ピクチャは、他の2つのピク
チャ(1つは過去のピクチャ、1つは将来のピクチャ)
からの動きベクトルによって形成され、動きベクトルの
源として使用することはできない。動きベクトルは
「I」ピクチャおよび「P」ピクチャから生成され、
「P」ピクチャおよび「B」ピクチャを形成するために
使用される。「P」ピクチャおよび「B」ピクチャは
「非イントラ」ピクチャまたは「インター」ピクチャと
も呼ばれる。
【0028】図3に示されるように、動き推定が実行さ
れる1つの方法は、i番目のピクチャのマクロブロック
211から、次のピクチャの領域を全面的に探索して、
最良一致のマクロブロック213を見つけることであ
る。この方法でマクロブロックを変換すると、図4に示
されるように、(i+1)番目のピクチャのためにマク
ロブロックのパターンを作り出す。このようにして、i
番目のピクチャは、たとえば動きベクトルおよび差分デ
ータによって少しだけ変更され、(i+1)番目のピク
チャが生成される。符号化されるものは動きベクトルお
よび差分データであって、(i+1)番目のピクチャそ
れ自体ではない。動きベクトルは画像の位置をピクチャ
間でと変換し、差分データは色差、輝度、および彩度の
変化(すなわち濃淡と明暗の変化)を伝える。
【0029】再び図3を参照する。ここで、i番目のピ
クチャと(i+1)番目のピクチャの同じ位置から開始
して、良好な一致を探すことになる。i番目のピクチャ
に探索ウィンドウが作り出される。この探索ウィンドウ
内で最良一致を探索する。それが一度見つかると、その
マクロブロックの最良一致動きベクトルが符号化され
る。最良一致のマクロブロックの符号化は動きベクトル
を含む。この動きベクトルは、y方向およびx方向のそ
れぞれで、何個の画素が次のピクチャ中で変位して最良
一致を与えるかを示す。さらに、現在のマクロブロック
と最良一致参照マクロブロックとの間の色差および輝度
の差を表す差分データ(「予測誤差」とも呼ばれる)が
符号化される。
【0030】MPEG2エンコーダの動作機能は3つの
基本的デバイスで実行される。それらの基本的デバイス
とは、Iデバイス(イントラ・デバイス)、Rデバイス
(再構成デバイスまたは参照デバイス)、およびSデバ
イス(探索デバイス)である。これらの機能はアプリケ
ーションの必要性、シリコンのサイズ、ツールおよびデ
ザインの複雑性、およびパフォーマンスに従って区分さ
れる。
【0031】図6に示されるように、画素インタフェー
ス641、ホスト・インタフェース611、および圧縮
ストア・インタフェース679(出力データ・インタフ
ェース)を含むすべての外部通信は、単一のIデバイス
(チップ)601の中で行われる。Iデバイス601
は、エンコーダのマスタ・インタフェースであり、図5
に示されるような本発明のチップ・セットを使用するビ
デオ圧縮アプリケーションでは基本的な必須構成要素で
ある。内部RISCプロセッサ621(プログラム可能
プロセッサ)は、エントロピ符号化機能(すなわち、離
散コサイン変換プロセッサ671、量子化ユニット67
3、および可変長符号化器(VLE)675)と共にこ
のチップに組み込まれている。その結果、このデバイス
はIピクチャだけの符号化を必要とするアプリケーショ
ンでも使用することができる。さらに、再構成インタフ
ェースが付加されて、機能拡張を可能としている。符号
化の前に適用される処理機能もこのデバイスに含まれて
いる。
【0032】マクロブロックの再構成処理は、すべての
非Iピクチャの符号化(すなわちPピクチャおよびBピ
クチャの符号化)に必要である。逆離散コサイン変換
(IDCT)、逆量子化(IQ)、および動き補償(M
C)のような機能は単一のチップであるRチップ(Rプ
ロセッサ)801に組み込まれている(図5を参照)。
Rチップ(Rプロセッサ)は再構成チップとも呼ばれ
る。さらに、動きの少ないアプリケーションを処理する
ために、プログラム可能なプロセッサを備えた簡単な動
き推定機能が付加されている。動きの速いアプリケーシ
ョンのために、結果探索インタフェースが設けられてい
る。その結果、IチップおよびRチップを組み合わせて
遠距離学習、ビデオ会議、査察などの動きの少ないアプ
リケーションに使用することができる。
【0033】動き推定は反復的機能であり、厳しい計算
要件を有する。ハードウェア・デバイスであるSチップ
(Sプロセッサ)901が外部プログラム可能レジスタ
と共にこの機能に使用される。探索範囲を大きくするた
めには、拡張インタフェースが設けられる。放送のよう
なアプリケーションには、3チップ構成を使用すること
ができる。高速の科学写真アプリケーションのように動
きが速い場合、Sチップ(Sプロセッサ)901を追加
すれば、ピクチャ品質が向上すると共に、探索範囲が大
きくなる。これは、アーキテクチャのスケーラブルな特
徴である。
【0034】これから、チップの区分化について説明す
る。3つのエンコーダ・チップの接続は図5に示され
る。図5はプロセッサ素子を含む3つのエンコーダ・チ
ップの組み合わせを示す。これらのチップはI(イント
ラ)チップ(Iプロセッサ)601、R(参照)チップ
(Rプロセッサ)801、S(探索)チップ(Sプロセ
ッサ)901であり、これらのチップにRAMチップ5
31、533、および535(DRAMチップおよびS
RAMチップを含む)が関連づけられている。Iチップ
(Iプロセッサ)はホスト・プロセッサ・インタフェー
スであり、ディジタル化されフィルタされたビデオ入力
541を受け取り、圧縮されたビデオ出力543を生成
する。
【0035】図6に示されるIチップ601は、エンコ
ーダ・システムのビデオ入力541(入力データ)およ
びビデオ出力543(出力ビットストリーム)を処理す
る(図5を参照)。到着する画素データはフレーム・ス
トアと呼ばれる外部DRAM531へフレーム形式で記
憶される。このチップはIフレーム符号化に必要な中心
機能を実行する。画素データは、必要であれば、RGB
形式からYCbCr形式へ変換される。画素データはシ
ーン・チェンジおよび3:2プルダウンによって作り出
される反復フィールドの有無を監視される。さらに、到
着する画素データはHHR出力形式を作り出すために調
節される。エンコーダは、入力方法がどのようなもので
あっても、フィールドまたはフレーム入力形式を受け取
り、フィールドまたはフレーム符号化データを出力する
ことができる。4:2:2の入力データは4:2:2ま
たは4:2:0の出力として符号化することができる。
オンチップの内部RISCプロセッサ621は適応DC
T、適応量子化、およびレート制御に責任を有する。こ
のプロセッサは動的に区分化可能な構造を有し、1つの
4バイト・エンジンまたは4つの1バイト・エンジンと
して動作することができる。それは1995年3月27
日に出願された米国特許出願第08/411,239号
に説明されている。
【0036】符号化されたマクロブロックは、米国特許
第5,526,054号に説明されるようにしてヘッダ
情報とマージされる。それによって、最終的なMPEG
−2またはMPEG−1出力ビットストリームが作成さ
れる。エンコーダは、このビットストリームを、たとえ
ば圧縮ストア・インタフェース679を通して、外部D
RAMへ記憶するかFIFOへ送ることができる。ピク
チャがDRAMへ記憶されると、ユーザは、そのピクチ
ャを、ホスト・インタフェースを通して非リアルタイム
で読み出すことができる。
【0037】Rチップ(Rプロセッサ)801はリファ
インメント・チップまたは再構成チップとも呼ばれ、動
き推定探索のリファインメントおよび動き補償のための
ピクチャの再構成に責任をもつ。動き推定機能をサポー
トするために、外部DRAM533が使用される。Rチ
ップ(Rプロセッサ)の機能ユニットは、ピクチャの再
構成および動き推定に必要なすべての基本的機能を実行
する。このような機能には、フレーム差分の計算と処理
が含まれる。
【0038】このプロセッサの主な機能はマクロブロッ
ク・タイプの決定、ピクチャごとの探索範囲の調節、動
き推定の援助である。量子化データおよびSチップの探
索結果は、共通のチップ・インタフェースを通して受け
取られる。次に、量子化されたデータはマトリクス・テ
ーブルを4つまで使用して逆量子化される。IDCTは
2次元逆変換を通して係数を画素データへ変換する。こ
の再構成されたピクチャ・データは、後続のピクチャ符
号化のためにメモリ・インタフェースによって参照デー
タとして保存される。動き推定はI、P、およびBピク
チャと共に半画素解像度へのフィールド、フレーム二重
プライム、双方向動きタイプをサポートすることができ
る。
【0039】2チップ構成(IチップおよびRチップ)
は+/−8Hおよび+/−7V探索範囲までをサポート
することができ、3チップ構成(Iチップ、Rチップ、
Sチップ)は+/−64Hおよび+/−56Vまでをサ
ポートすることができる。動き推定の結果が必要である
とき、探索ウィンドウのサイズおよび最良一致の結果が
決定され、フレーム差分データが生成される。
【0040】Sチップ(Sプロセッサ)901は動き推
定の大部分に責任をもつ。動き推定の目的は、現ピクチ
ャからのマクロブロック(現ピクチャ・マクロブロッ
ク、すなわち「CMB」)の位置を、参照ピクチャの中
で見つけることである。この位置は最良一致を見つける
ことによって決定される。最良一致は、CMBデータを
参照ピクチャのデータと比較することによって決定され
る。
【0041】参照ピクチャ全体をリアルタイムで探索す
ることはできない。したがって、参照ピクチャのサブセ
ットが探索される。このサブセットは探索ウィンドウと
呼ばれる(図3を参照)。探索ウィンドウが大きくなれ
ば、それだけCMBの完全一致を見つけるチャンスが高
くなる。探索ウィンドウは、追加の探索チップを使用す
ることによって非常に大きくすることができる。効果的
な動き推定は高品質のビデオと高圧縮のビットストリー
ムを生成する。探索プロセッサは、リファインメント/
再構成プロセッサから探索ウィンドウ・パラメータを受
け取り、ピクチャ構造に基づいてイントラ・チップから
フレーム形式またはフィールド形式で輝度ピクチャ・デ
ータを受け取る。
【0042】参照ピクチャはフレーム形式でチップ外の
SRAMに記憶される。動き推定ユニットはCMBおよ
び参照ピクチャ上でフィールド探索を実行する。フレー
ム構造のピクチャに対するフレーム結果と共に、4つの
フィールド結果が計算される。これらの結果は差分デー
タの形式をしており、先行するピクチャの動き特性に基
づいてバイアスされている。バイアスされた差分データ
は、動きベクトルと共にRチップ(Rプロセッサ)80
1へ送られ、たとえばフレーム差分の計算に使用され
る。
【0043】次に、処理の流れを説明する。Iチップ
(Iプロセッサ)601は前処理機能とエントロピ符号
化機能を含む。前処理機能は符号化機能の前に実行され
る。エントロピ符号化はピクチャ処理の最後の部分であ
る。そのブロック図は図6に示される。
【0044】本発明はIチップ(Iプロセッサ)601
のエントロピ符号化機能に関連している。Iチップ、R
チップ、およびSチップは、1997年4月1日に出願
された米国特許出願第08/831157号で詳細に説
明されている。
【0045】本発明の1つの局面に従うビット調整は、
量子化ユニット673で実行することができる。量子化
ユニット673の詳細な実施例は図7に示される。本発
明のこの局面では、ビット・レートを調整するメカニズ
ムとして、マクロブロック・パターンが制約される。マ
クロブロックを構成するブロック中の係数を、所定の
約パターンに基づいて選択的に制約することにより、ビ
ット・レートとピクチャ品質の最適バランスが達成され
る。制約パターンはマクロブロック中の高周波数係数を
ゼロにするように選択するのが望ましく、それによって
多くのビットを低周波数係数に割り振ることができる。
その結果より多くのピクチャ・ディテールを捕捉するた
めにより細かな量子化ステップ・サイズ(mquan
t)を使用することができる。
【0046】エンコーダへのホスト書き込みを使用する
ことによって、ユーザは所望の制約パターンをプログラ
ムすることができる。たとえば、ユーザは、マクロブロ
ック中の係数の三分の一、半分、または三分の二を制約
するために制約パターンを設定することができる。この
ような制約は、後に図9から図12までを参照して説明
するように、斜行パターンで行われることが望ましい。
選択されたパターンは、すべてのマクロブロックに適用
するか、非イントラ・マクロブロックだけに適用するこ
とができる。
【0047】量子化ユニット673は離散コサイン変換
プロセッサ671(図6を参照)からの離散コサイン変
換(DCT)係数を量子化し、その係数を可変長符号化
(VLE)ユニット675(図6を参照)へ送る責任を
有する。量子化は、MPEG標準では、2ステップの処
理でDCT係数をスケーリングする。最初に、DCT係
数はDCT係数個別量子化ロジック700へ入力され
る。DCT係数個別量子化ロジック700は、マクロブ
ロックの問題のブロック内の係数の相対的位置に基づい
てその係数を量子化する。この量子化は、量子化ユニッ
ト673中の量子化マトリクス・テーブル702内に記
憶された重みの値を参照してなされる。量子化ユニット
は一時にマクロブロックの1つのブロックを処理する。
4:2:0マクロブロック内には6つのブロックが存在
し、4:2:2マクロブロックには8つのブロックが存
在する。したがって、この最初のステップは、16x1
6マクロブロックの8x8ブロック内の係数の相対的位
置に基づいてその係数を量子化することである。
【0048】第二の量子化ステップは、マクロブロック
中のすべての係数をスケーリングすることである。この
スケールDCT係数の量子化704は全体的な量子化で
あり、この量子化は、たとえばビット・レートを考慮し
てプロセッサによって設定される。このスケーリング
は、選択された量子化ステップ・サイズ(mquan
t)706を参照してなされる。ステップ・サイズは、
ビット・レートが目標のビット・レートよりも上か下か
に基づいて調節することができる。
【0049】本発明に従って、量子化ユニット673
は、1つまたは複数の約パターン712にアクセスす
るパターン制約ロジック710を含むように変更され
る。制約するかどうかの決定は、マクロブロックのビッ
ト・レートに基づいて行うか、1つの行内の2つの先行
するマクロブロックがビット・レートの制限を超過した
かどうかに基づいて行うことができ、その制約は行内の
すべての後続するマクロブロックについて開始される。
一度、パターン制約がマクロブロックについて設定され
ると、複数の約パターンの中のどの約パターンが適
用されるかを、ユーザ・インタフェースによって命令す
ることができる。後で、図9から図12までを参照し
て、望ましい各種のパターンを説明する。
【0050】図8は、本発明に従った、量子化ユニット
673におけるパターン制約の1つの処理の流れを示
す。この流れは、ピクチャの各マクロブロック(MB)
の処理に反復される(ステップ750)。最初の質問
は、目標のビット・レートが所定のxメガビット/秒
(Mbps)(たとえば15Mbps)よりも大きいか
どうかを決定する(ステップ752)。ビット・レート
が所定のMbpsよりも大きいと仮定すると、前述した
ように、マクロブロックの各ブロックの係数が従来の量
子化処理に従って量子化される(ステップ756)。
【0051】ビット・レートが所定のMbpsよりも小
さければ、処理は、ビット・レートの制限がピクチャの
対応するスライス内のn個のマクロブロック(nはあら
かじめ選択された数で、たとえばn=2)によってすで
に超過されているかどうかを質問する(ステップ75
4)。この例では、MPEG標準に従って2つのマクロ
ブロックが選択されているから、そのスライスにおける
それらのマクロブロックの後では、マクロブロックにつ
いてビット・レート制限を超過しないように制約がなさ
れる。ビット・レートの制限がスライス内の2つの先行
するマクロブロックによって超過されていれば、制約モ
ードが能動化され、部分制約パターンが選択される(ス
テップ758)。
【0052】ビット・レートの制限がスライス内の2つ
の先行するマクロブロックによって超過されていない
が、マクロブロックが非イントラ・マクロブロックであ
り(ステップ755)、パフォーマンスが考慮される場
合(ステップ757)、制約モードが能動化され、部分
制約パターンが選択される(ステップ758)。制約モ
ードでは、マクロブロックの各ブロック内の係数が、量
子化ユニットの第一および第二ステップによって従来の
ように量子化され(ステップ760)、選択された制約
パターンがマクロブロックの各ブロックへ適用される
(ステップ762)。部分的に制約された結果のブロッ
クは可変長符号化ユニット(VLE)675へ出力され
る(図6を参照)。マクロブロック内のすべてのブロッ
クが出力されると、量子化はそのマクロブロックについ
て完了する(ステップ764)
【0053】各種の制約パターンが可能である。1つの
実施例では、本発明に従う制約はマクロブロックの個々
のブロック内の高周波数係数をゼロにし、低周波数係数
を維持する。通常、低周波数係数は係数の各ブロックの
左上部分に存在するから、望ましい1つの制約パターン
は図9に示されるような斜行パターンとなる。このパタ
ーンでは、8x8の係数配列の左上部分にある「AC」
および「DC」係数は保持され、右下部分にある係数は
クリップすなわちゼロにされる。
【0054】さらなる改良として、制約パターンは、た
とえば実際のビット・レートに基づいてなわち選択す
ることができる。図10で、係数ブロックに対する図9
の標準的制約パターンは、係数配列のほぼ中央を通る斜
線を付けられている。この斜線は維持される係数とクリ
ップされる係数とを分けている。図11には、制約が少
なくてよい高ビット・レートに対する制約パターンが示
され、図12には、大きな制約が望まれる低ビット・レ
ートに対する制約パターンが示される。したがって、制
約される係数と制約されない係数とを分ける斜線を動か
すことによって、約パターンを実現することができ
る。
【0055】特別の例として、範囲が15〜30Mbp
sの平均的ビット・レートには、図10の標準の制約パ
ターンを使用し、図11の高ビット・レートの制約パタ
ーンは30〜50Mbpsに使用し、図12低ビット・
レートの制約パターンは15Mbps未満に使用するこ
とができる。当業者は、本発明の教示に従って他の制約
パターンを容易に実施することができる。本発明は、実
施される特定の制約パターンがどのようなものであれ、
マクロブロックの各ブロック中の係数の一部分を選択的
に制約する概念を包含する。
【0056】以下に、図13から図15までを参照し
て、本発明に従う他のビット調整の概念を説明する。こ
の概念は、MPEG標準によって、各非イントラ・マク
ロブロックのためにエンコーダからビットストリームの
一部として出力される符号化ブロック・パターン(CB
P)に関連する。符号化ブロック・パターンは2進数
(4:2:0形式では6ビット、4:2:2形式では8
ビット)であり、所与のマクロブロック中のどのブロッ
クが符号化されているか(すなわち、どのブロックが少
なくとも1つの非ゼロ係数を含んでいるか)を定義す
る。たとえば、4:2:0形式の符号化ブロック・パタ
ーンのパターン番号(符号化ブロック・パターンを10
進数で表現したもの)は32*P1+16*P2+8*
P3+4*P4+2*P5+1*P6で表される。ここ
で、Pnは0または1の値をとり、マクロブロックを構
成するn番目のブロックが符号化されているブロックで
あればPnは1であり、そうでなければ、0である。イ
ントラ・マクロブロックについては、すべてのブロック
が符号化される必要があり、したがって符号化ブロック
・パターンは不要である。符号化ブロック・パターンは
非イントラ・マクロブロックにのみ必要である。
【0057】本発明に従ったビット調整のこの局面は、
現マクロブロックの係数が符号化される前に符号化ブロ
ック・パターンを決定することができれば、圧縮ストア
・インタフェース679(図6)は係数をバッファする
必要はないという認識に基づいている。したがって、本
発明は符号化ブロック・パターンを「固定」して、現マ
クロブロックの係数が符号化される前に、符号化ブロッ
ク・パターンとして、非イントラ・マクロブロック内の
すべてのブロックが符号化されていることを示す定符
号化ブロック・パターン(FCBP)を生成する。固定
符号化ブロック・パターンのパターン番号は、上述のパ
ターン番号の式、32*P1+16*P2+8*P3+
4*P4+2*P5+1*P6において、P1からP6
までの全Pnを1とすることにより求められ、値63を
とる度これが行われると、エンコーダは、各ブロッ
クが符号化されている(すなわち、量子化後のブロック
の係数がオール・ゼロでない)ことを確実にするように
される。すなわち、ブロックの係数がオール・ゼロであ
場合には、エンコーダは64番目の係数位置に「1」
を符号化するように命令され、でにビットストリーム
中に置かれた固定符号化ブロック・パターンが示すよう
に、非イントラ・マクロブロック内のすべてのブロック
が符号化されているようにブロック係数データが調整
れる。この方式では、圧縮ストア・インタフェースが、
マクロブロック・ヘッダの出力前に非イントラ・マクロ
ブロックのすべてのブロックの処理を待つ必要性がなく
なるので、パフォーマンスが向上する。
【0058】次に図13を参照する。可変長符号化器V
LE675の主な機能は、MPEG標準によって定義さ
れた手法を使用して、変換され量子化された画素データ
を符号化することである。この主な機能のほかに、VL
E675はマクロブロック・ヘッダ中で使用されるマク
ロブロック・パラメータを決定し符号化する。これらの
パラメータの1つは前述した符号化ブロック・パターン
である。マクロブロック・ヘッダ生成ユニット800
(ハードウェアまたはソフトウェア)は、入力としてマ
クロブロック・ヘッダ・データおよび動きベクトルを受
け取る。マクロブロック・ヘッダを生成するためには、
動きベクトル(MV)符号化ユニット802および符号
化ブロック・パターン(CBP)生成ユニット804が
使用される。マクロブロック・ヘッダは、圧縮ストア・
インタフェース679(図6)から出力されるビットス
トリーム内のマクロブロックに先行する必要がある。
【0059】本発明に従えば、量子化ユニット673か
らの量子化された係数は、最初に固定符号化ブロック・
パターン(FCBP)モード・インタフェース810で
受け取られる。このインタフェースは、非イントラ・マ
クロブロックのブロック内の係数が非ゼロの値に変換さ
れる必要があるかどうか決定される場所である。たとえ
ば、図15に示されるように、オール・ゼロのブロック
内の64番目の係数は、本発明に従って1へ変換するこ
とができる。FCBPモードであると仮定すると、現時
点で、すなわち、マクロブロックのブロックを処理する
前に、オール1(すなわちFCBP)のヘッダを出力す
るように、信号がCBP生成ユニット804へ送られ
る。FCBPモードであると決定され、ヘッダが送られ
ると、量子化された係数は可変長符号化(VLC)ユニ
ット812へ送られ、可変長符号化データとして出力さ
れる。オール・ゼロのブロックを、少なくとも1つの非
ゼロ係数を含むように(たとえば64番目の位置に)変
更することは、VLCユニット812(量子化された係
数の符号化ブロック)内で実施することができる。
【0060】図14は、本発明に従った固定符号化ブロ
ック・パターン処理の1つの実施例を表す。マクロブロ
ック(MB)の可変長符号化はステップ900で始ま
り、次のステップ902では、マクロブロックが非イン
トラ・マクロブロックを含むかどうかが決定される。マ
クロブロックがイントラ・マクロブロックを含む場合、
固定符号化ブロック・パターンは不要であり、量子化さ
れた係数は符号化される(ステップ904)。次に、マ
クロブロックの可変長符号化は完了する(ステップ92
4)。
【0061】マクロブロックが非イントラ・マクロブロ
ックを含むものと仮定すると、次に処理は、任意選択的
にデータがパフォーマンスを考慮して処理されているか
どうかを決定する(ステップ906)。パフォーマンス
が考慮されていなければ、本発明のこの局面で得られる
パフォーマンスの向上は不要であり、MPEG標準によ
って定義される従来の可変長符号化に従って、量子化さ
れた係数が可変長符号化され(ステップ908)、従来
の符号化ブロック・パターンが決定されて、ビットスト
リームの一部として出力するために圧縮ストア・インタ
フェース679へ送られる(ステップ910)。次に、
マクロブロックの可変長符号化は完了する(ステップ9
24)。パフォーマンスが考慮されるモードであるか、
その質問が省略される場合、処理はステップ906から
ステップ912に進み、目標のビット・レートが所定の
レート(たとえば20Mbps)よりも大きいかどうか
が決定される。所定のレートよりも大きい場合、固定符
号化ブロック・パターン(FCBP)モードが設定され
る(ステップ914)。目標のビット・レートが所定の
レートよりも小さい場合、本発明のこの局面に従ったパ
フォーマンスの向上は不要であり、処理は前述したよう
に符号化と決定のステップ(ステップ908および91
0)へ進む。
【0062】他方、ビット・レートが所定のビット・レ
ートよりも大きい場合、FCBPモードが設定された後
に(ステップ914)、FCBPヘッダ、すなわちオー
ル1の符号化ブロック・パターンが生成され、ビットス
トリームの一部として出力するために圧縮ストア・イン
タフェース679へ送られる((ステップ916)。次
に、マクロブロックの各ブロックが検査され、そのブロ
ックがオール・ゼロを有するかどうかが決定される(ス
テップ918)。オール・ゼロを有しない場合、ブロッ
クの量子化された係数が可変長符号化される(ステップ
922)。本発明のこの局面に従って、ブロックがオー
ル・ゼロを有する場合、係数の1つ(たとえば64番目
の係数)が非ゼロ(たとえば「1」)に設定される(ス
テップ920)。次に、ブロックは可変長符号化される
(ステップ922)。ステップ918、920、および
922はマクロブロックの各ブロックについて反復さ
れ、次にマクロブロックの処理が完了する(ステップ9
24)。
【0063】ビット・レートが高い場合、図14の処理
は良好に働く。なぜなら、符号化されないブロックが生
じる可能性は比較的小さいからである。しかし、ビット
・レートが低い場合、符号化されないブロックが生じる
可能性は大きくなる。したがって、前述した固定符号化
ブロック・パターンの処理と、同じく前述したパターン
制約処理とを組み合わせることが望ましい。制約を行う
ことによって、ブロック当たりのデータ量は、各ブロッ
クの高周波数係数をゼロにすることによって削減され、
マクロブロックの全体的なサイズが小さくなる。このこ
とは、圧縮ストア・インタフェースが後続の読み出しの
ためにバッファしなければならないデータの量が削減さ
れることを意味する。これは、非イントラ・マクロブロ
ックをバッファする圧縮ストア・インタフェースの必要
性を軽減するものではないが、所定のビット・レート
(たとえば20Mbps)よりも遅いビット・レートに
関しては、問題を軽減しパフォーマンスを改善する。
【0064】言い換えると、本発明は、ビデオ・エンコ
ーダの量子化および可変長符号化を改善することのでき
るマクロブロック・ビット調整方式を提案する。マクロ
ブロック中の係数を選択的にまた部分的に制約すること
によって、ビット・レートの調整が達成され、ビット・
レートとピクチャ品質のバランスが改善される。たとえ
ば、高周波数係数をゼロにするように制約パターンを設
定すると、それだけ低周波数係数に多くのビットを割り
振ることができる。それによって、より細かな量子化ス
テップ・サイズを使用して、さらに詳細度の高いピクチ
ャ・ディテールを捕捉することができる。パターンの制
約は、すべてのマクロブロックに適用するか、非イント
ラ・マクロブロックにのみ適用することができる。部分
的制約パターンは広範囲に決めることができる。
【0065】さらに、MPEG標準によって、可変長符
号化器からの出力として定義される符号化ブロック・パ
ターンを固定する(あらかじめ決定する)ことによっ
て、パフォーマンスを改善することができる。符号化ブ
ロック・パターンをあらかじめ決定することによって、
マクロブロック全体に相互存量の可変長符号化データを
圧縮ストア・インタフェースでバッファする必要はな
い。これは特にビット・レートが高いときに有効に働
く。なぜなら、符号化されないブロックが生じる可能性
は小さいからである。
【0066】ビット・レートが低いマクロブロックの場
合、パターン制約によって、マクロブロックの全体的な
サイズが小さくなり、したがって圧縮ストア・インタフ
ェースでバッファした後に読み出す必要があるデータの
量が削減される。これは、圧縮ストア・インタフェース
が低ビット・レートの非イントラ・マクロブロックをバ
ッファしなければならない必要性をなくすものではない
が、パフォーマンスは改善される。
【0067】本発明は特定の実施例に従って詳細に説明
されたが、多くの変更が当業者によって可能であろう。
そのような変更のすべては、本発明の真の趣旨と範囲内
で、特許請求の範囲によりカバーされることが意図され
ている。
【0068】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)複数の行を有し、各行が複数のマクロブロックを
含み、各マクロブロックが係数を含むピクチャを符号化
する方法であって、各行内の各マクロブロックについ
て、行内の先行する所定数のマクロブロックがビット・
レートの制限を超過したかどうかを決定するステップ
と、マクロブロックを符号化するステップと、前記所定
数のマクロブロックが前記ビット・レートの制限を超過
した場合、マクロブロックのビット・レートを減少させ
るためにマクロブロックの選択された係数をゼロにする
制約パターンをマクロブロックに適用するステップとを
含む、ピクチャの符号化方法。 (2)前記制約パターンをマクロブロックへ適用する前
記ステップが、マクロブロックの高周波数係数をゼロに
し、マクロブロックの低周波数係数を維持するステップ
を含む、上記(1)に記載のピクチャの符号化方法。 (3)マクロブロックに適用される制約パターンがプロ
グラム可能となるように、適用される制約パターンを複
数の制約パターンから選択するステップを含む、上記
(1)に記載のピクチャの符号化方法。 (4)前記複数の制約パターンが複数の斜行制約パター
ンを含み、各斜行制約パターンが高周波数係数をゼロに
し低周波数係数を維持する、上記(3)に記載のピクチ
ャの符号化方法。 (5)マクロブロックのために目標ビット・レートを決
定し、該目標ビット・レートに基づいて適用される制約
パターンを選択するステップを含む、上記(3)に記載
のピクチャの符号化方法。 (6)前記目標ビット・レートが所定のレートよりも小
さいときにのみ前記制約パターンを適用するステップを
含む、上記(5)に記載のピクチャの符号化方法。 (7)複数のマクロブロックを有し、各マクロブロック
が係数を含むピクチャを符号化する方法であって、各マ
クロブロックについて、マクロブロックの係数を符号化
するステップと、マクロブロックのために目標ビット・
レートを決定するステップと、前記目標ビット・レート
が所定のレートよりも小さいときにマクロブロックの選
択された係数をゼロにする制約パターンを係数に適用す
るステップとを含む、ピクチャの符号化方法。 (8)前制約パターンをマクロブロックへ適用する前記
ステップが、マクロブロックの選択された高周波数係数
をゼロにし、マクロブロックの低周波数係数を維持する
ステップを含む、上記(7)に記載のピクチャの符号化
方法。 (9)マクロブロックへ適用される制約パターンを、複
数の制約パターンから選択するステップを含む、上記
(7)に記載のピクチャの符号化方法。 (10)各マクロブロックの係数がブロックとして配列
され、ピクチャが非イントラ・ピクチャを含むかどうか
を決定するステップが符号化方法に含まれ、ピクチャが
非イントラ・ピクチャを含むとき、各マクロブロックに
ついて、マクロブロックの各ブロックが少なくとも1つ
の非ゼロ係数を含むことを示す固定符号化ブロック・パ
ターンをマクロブロックのために生成してビットストリ
ーム中に出力するステップと、マクロブロックの各ブロ
ックが少なくとも1つの非ゼロ係数を含むことを保証す
るステップとを含む、上記(7)に記載のピクチャの符
号化方法。 (11)前記保証にするステップが、オール・ゼロを有
するブロックを識別し、該ブロックの1つの係数を非ゼ
ロの値へ設定するステップを含む、上記(10)に記載
のピクチャの符号化方法。 (12)前記符号化するステップが、前記目標ビット・
レートが前記所定のレートよりも小さいときマクロブロ
ックの係数を可変長符号化し、その後で、前記固定符号
化ブロック・パターンを生成する前記ステップと前記保
証にするステップを実行することなくマクロブロックの
ために従来の符号化ブロック・パターンを決定するステ
ップを含む、上記(10)に記載のピクチャの符号化方
法。 (13)前記目標ビット・レートが前記所定のレートよ
りも大きいとき、前記固定符号化ブロック・パターンを
生成するステップおよび前記保証にするステップを実行
し、その後でマクロブロックの係数を可変長符号化する
ステッを含む、上記(10)に記載のピクチャの符号化
方法。 (14)複数のマクロブロックを有し、各マクロブロッ
クが複数のブロックに配列された係数を含む非イントラ
・ピクチャのマクロブロックを符号化する方法であっ
て、マクロブロックの各ブロックが少なくとも1つの非
ゼロ係数を含むことを示す固定符号化ブロック・パター
ンをマクロブロックのために生成してビットストリーム
中に出力するステップと、マクロブロックの各ブロック
が少なくとも1つの非ゼロ係数を含むことを保証にする
ステップとを含む、マクロブロックの符号化方法。 (15)前記保証するステップが、オール・ゼロを有す
るブロックを識別し、該ブロックの1つの係数を非ゼロ
の値へ設定するステップを含む、上記(14)に記載の
マクロブロックの符号化方法。 (16)マクロブロック目標ビット・レートが所定のレ
ートを超過するかどうかを決定するステップを含み、前
記目標ビット・レートが前記所定のレートよりも大きい
ときだけ前記出力するステップおよび前記保証するステ
ップを実行する、上記(14)に記載のマクロブロック
の符号化方法。 (17)前記目標ビット・レートが前記所定のレートよ
りも小さいとき、前記マクロブロックの前記係数を可変
長符号化し、その後で、前記固定符号化ブロック・パタ
ーンを生成するステップおよび前記保証するステップを
実行することなく、マクロブロックのブロックから従来
の符号化ブロック・パターンを決定してビットストリー
ムへ出力するステップを含む、上記(16)に記載のマ
クロブロックの符号化方法。 (18)非イントラ・ピクチャの符号化のためにパフォ
ーマンスを考慮しないモードであるかどうかを決定する
ステップを含み、パフォーマンスを考慮しないモードで
あれば、マクロブロックの係数を可変長符号化し、マク
ロブロックのために従来の符号化ブロック・パターンを
決定し、前記固定符号化ブロック・パターンを生成する
ステップおよび前記保証するステップを実行することな
く、符号化ブロック・パターンおよび可変長符号化され
た係数をビットストリーム中に出力するステップを含
む、上記(16)に記載のマクロブロックの符号化方
法。 (19)複数の行を有し、各行が複数のマクロブロック
を含み、各マクロブロックが係数を含むピクチャを符号
化する装置であって、各行内の各マクロブロックについ
て行内の先行する所定数のマクロブロックがビット・レ
ートの制限を超過したかどうかを決定する手段と、前記
決定する手段に応答して、前記所定数のマクロブロック
がビット・レートの制限を超過したとき、マクロブロッ
クのビット・レートを削減するためマクロブロックの選
択された係数をゼロにする制約パターンを、マクロブロ
ックへ適用するパターン制約ロジックとを備えた、ピク
チャの符号化装置。 (20)前記パターン制約ロジックに結合された記憶手
段を含み、前記記憶手段は前記パターン制約ロジックの
ために前記制約パターンを含み、前記記憶手段内の複数
の制約パターンから制約パターンを選択する手段を含
む、上記(19)に記載のピクチャの符号化装置。 (21)前記制約パターンを選択する手段が、マクロブ
ロックのためにビット・レートを決定し、該ビット・レ
ートに基づいて制約パターンを選択する手段を含む、上
記(20)に記載のピクチャの符号化装置。 (22)各マクロブロックの係数がブロックとして配列
され、前記制約パターンが斜行制約パターンを含み、前
記パターン制約ロジックは前記斜行制約パターンを前記
マクロブロックの各ブロックへ適用する手段を含み、前
記斜行制約パターンはマクロブロックの各ブロックの高
周波数係数をゼロにし、マクロブロックの各ブロックの
低周波数係数を維持する、上記(21)に記載のピクチ
ャの符号化装置。 (23)複数のマクロブロックを有し、各マクロブロッ
クが係数を含むピクチャのマクロブロックを符号化する
装置であって、マクロブロックの係数を量子化する手段
と、前記マクロブロックの目標ビット・レートを決定す
る手段と、目標ビット・レートが所定のレートよりも小
さいとき、マクロブロックのビット・レートを削減する
ためにマクロブロックの選択された係数をゼロにする制
約パターンをマクロブロックへ適用するパターン制約ロ
ジックとを備えた、マクロブロックの符号化装置。 (24)前記パターン制約ロジックが、マクロブロック
の選択された高周波数係数をゼロにするために前記制約
パターンを適用し、マクロブロックの低周波数係数を維
持する、上記(23)に記載のマクロブロックの符号化
装置。 (25)マクロブロックのビット・レートに基づいてマ
クロブロックへ適用される制約パターンを選択する手段
を含む、上記(23)に記載のマクロブロックの符号化
装置。 (26)前記選択する手段が、複数の所定の制約パター
ンを記憶する手段と、前記複数の所定の制約パターンか
ら制約パターンを選択する手段とを含む、上記(25)
に記載のマクロブロックの符号化装置。 (27)各マクロブロックの係数がブロックとして配列
され、ピクチャが非イントラ・ピクチャを含む符号化装
置において、マクロブロックの各ブロックが少なくとも
1つの非ゼロ係数を含むことを示す固定符号化ブロック
・パターンをマクロブロックのために生成してビットス
トリーム中に出力する手段と、前記出力する手段に応答
して、マクロブロックの各ブロックが少なくとも1つの
非ゼロ係数を含むことを保証する手段とを備えた、上記
(23)に記載のマクロブロックの符号化装置。 (28)前記保証する手段が、オール・ゼロを有するブ
ロックを識別し、該ブロックの1つの係数を非ゼロの値
へ設定する手段を含む、上記(27)に記載のマクロブ
ロックの符号化装置。 (29)前記目標ビット・レートが前記所定のレートよ
りも小さいときにマクロブロックの係数を可変長符号化
し、その後でマクロブロックのために従来の符号化ブロ
ック・パターンを決定する手段を含む、上記(27)に
記載のマクロブロックの符号化装置。 (30)複数のマクロブロックを有し、各マクロブロッ
クが複数のブロックとして配列された係数を含む非イン
トラ・ピクチャのマクロブロックを符号化する装置であ
って、マクロブロックの各ブロックが少なくとも1つの
非ゼロ係数を含むことを示す固定符号化ブロック・パタ
ーンをマクロブロックのために生成してビットストリー
ム中に出力する手段と、前記固定符号化ブロック・パタ
ーンを出力した後で、マクロブロックの各ブロックが少
なくとも1つの非ゼロ係数を含むことを保証する手段と
を備えた、マクロブロックの符号化装置。 (31)前記保証する手段が、オール・ゼロを有するブ
ロックを識別し、該ブロックの1つの係数を非ゼロの値
へ設定する手段を含む、上記(30)に記載のマクロブ
ロックの符号化装置。 (32)マクロブロックの目標ビット・レートが所定の
レートを超過するかどうかを決定する手段を含み、前記
出力する手段および前記保証する手段が、前記目標ビッ
ト・レートが前記所定のレートを超過するときにのみ前
記固定符号化ブロック・パターンが生成されるように、
前記決定する手段に応答する、上記(30)に記載のマ
クロブロックの符号化装置。 (33)前記目標ビット・レートが前記所定のレートよ
りも小さいときマクロブロックの係数を可変長符号化
し、その後で、マクロブロックのブロックから従来の符
号化ブロック・パターンを決定する手段を含む、上記
(32)に記載のマクロブロックの符号化装置。
【図面の簡単な説明】
【図1】離散コサイン変換ユニット21、量子化ユニッ
ト23、可変長符号化ユニット25、逆量子化ユニット
29、逆離散コサイン変換ユニット31、動き補償ユニ
ット41、フレーム・メモリ42、および動き推定ユニ
ット43を含む、MPEG2準拠のエンコーダ11の概
略的流れ図である。データ通路はi番目のピクチャ入力
111、差分データ112、動きベクトル113、ピク
チャ出力121、動き推定および補償用のフィードバッ
ク・ピクチャ出力131、および再構成ピクチャ101
を含む。この図は、i番目のピクチャがフレーム・メモ
リ42(フレーム・ストア)に存在し、(i+1)番目
のピクチャが動き推定を使用して符号化されているもの
と想定する。
【図2】I、P、およびBピクチャ、それらの表示順序
と伝送順序、順方向および逆方向の動き予測を示す図で
ある。
【図3】現在のフレームまたはピクチャにある動き推定
ブロックから後続または先行のフレームまたはピクチャ
にある最良一致ブロックへの探索を示す図である。マク
ロブロック211およびマクロブロック211'は、2
つのピクチャにおける同じ位置を表す。
【図4】ブロックが動きベクトルに従って前のピクチャ
の位置から新しいピクチャへ移動する様子、および前の
ピクチャのブロックが動きベクトルを使用した後に調整
される様子を示す図である。
【図5】本発明の3つのエンコーダ・チップの組み合わ
せを示す図である。これらのチップはイントラ・チップ
(イントラ・プロセッサ)601、再構成チップまたは
再構成プロセッサとも呼ばれる参照チップ(参照プロセ
ッサ)801、探索チップ(探索プロセッサ)901で
ある。これらのチップには、DRAMチップおよびSR
AMチップを含むRAMチップ531、533、および
535が組み合わせられている。イントラ・チップ(イ
ントラ・プロセッサ)はホスト・プロセッサ・インタフ
ェースを含み、ディジタル化されフィルタされたビデオ
入力541を受け取り、圧縮されたビデオ出力543を
生成する。
【図6】ホスト・インタフェース611、内部RISC
プロセッサ621、動き推定ユニットへのインタフェー
ス631、画素データを画素バス643から受け取る画
素インタフェース641、フレーム・データを外部DR
AM653との間で受け渡しするフレーム・メモリ・イ
ンタフェース651、離散コサイン変換プロセッサ67
1、量子化ユニット673、可変長符号化器(VLE)
675、FIFOバッファ677、および圧縮ストア・
インタフェース679を有するイントラ・チップ(イン
トラ・プロセッサ)601(Iフレーム・ビデオ・エン
コーダ・モジュール)を示す図である。
【図7】本発明に従ってパターン制約を使用する量子化
ユニット673の1つの実施例を示す図である。
【図8】本発明に従って実施されるパターン制約処理の
フローチャートである。
【図9】低周波数係数が維持され、高周波数係数がゼロ
にされる、本発明に従った1つの選択的制約パターンを
示す図である。
【図10】図9と同様の、本発明に従った標準制約パタ
ーンを示す図である。
【図11】より少ない高周波数係数がゼロにされる、高
ビット・レートのための制約パターンを示す図である。
【図12】より多数の係数がゼロにされる、低ビット・
レートのための制約パターンを示す図である。ここで
も、最低周波数係数は維持される。
【図13】本発明に従って固定符号化ブロックパターン
(FCBP)モードを使用する可変長符号化器(VL
E)675の1つの実施例を示す図である。
【図14】図13の可変長符号化器(VLE)によって
実施される処理のフローチャートである。
【図15】8x8の係数配列の64番目の位置に非ゼロ
の係数を含むように変更されたオール・ゼロ・ブロック
の1つの実施例を示す図である。
【符号の説明】
11 エンコーダ 21 離散コサイン変換ユニット 23 量子化ユニット 25 可変長符号化ユニット 29 逆量子化ユニット 31 逆離散コサイン変換ユニット 41 動き補償ユニット 42 フレーム・メモリ 43 動き推定ユニット 101 再構成ピクチャ 111 ピクチャ入力 112 差分データ 113 動きベクトル 121 ピクチャ出力 131 フィードバック・ピクチャ出力 700 DCT係数個別量子化ロジック 702 量子化マトリクス・テーブル 704 スケールDCT係数量子化 706 量子化ステップ・サイズ(mquant) 710 パターン制約ロジック 712 プログラム可能制約パターン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アンガス・イー・ガイ アメリカ合衆国13760、 ニューヨーク 州エンドウェル パートリッジ・プレイ ス 725 (72)発明者 ステファン・フィリップ・ポクリンチャ ク アメリカ合衆国13827、 ニューヨーク 州オウェゴ スペンサー・ロード 39 (56)参考文献 特開 平7−75092(JP,A) 特開 平8−181988(JP,A) 特開 平9−23427(JP,A) 特開 平5−130584(JP,A) 特開 平3−289789(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04N 7/24 - 7/68

Claims (25)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のマクロブロックを有し、各マクロ
    ブロックが複数のブロックに配列された係数を含むピク
    チャを符号化する方法であって、 各マクロブロックについて、マクロブロックの係数を符
    号化するステップと、 マクロブロックのために目標ビット・レートを決定する
    ステップと、 前記目標ビット・レートが所定のレートよりも小さいと
    きにマクロブロックの所定の係数をゼロにする制約パタ
    ーンに基づいてマクロブロックの前記係数のうち一部の
    係数をゼロにするステップと、 ピクチャが非イントラ・ピクチャを含むかどうかを決定
    するステップと、 ピクチャが非イントラ・ピクチャを含むとき、各マクロ
    ブロックについて、該マクロブロックの係数が符号化さ
    れる前に、マクロブロックのどのブロックが符号化さ
    れているかを示す符号化ブロック・パターン(CBP)
    として、マクロブロック内のすべてのブロックが符号化
    されていることを示す固定符号化ブロック・パターン
    生成しマクロブロック・ヘッダの一部としてビットス
    トリーム中に出力するステップと、 ピクチャが非イントラ・ピクチャであるとき、前記固定
    符号化ブロック・パターンが示すようにマクロブロック
    の全てのブロックが符号化されていることを保証するた
    めに、マクロブロックの各ブロックが少なくとも1つの
    非ゼロ係数を含むように該ブロックの係数を調整するス
    テップとを含む、 ピクチャの符号化方法。
  2. 【請求項2】 マクロブロックの所定の係数をゼロにす
    る前記制約パターンは、マクロブロックの各ブロックの
    高周波数係数をゼロにし、マクロブロックの低周波数係
    数を維持する制約パターンである、請求項1に記載のピ
    クチャの符号化方法。
  3. 【請求項3】 前記ゼロにするステップが、更に、高周
    波数係数をゼロにし低周波数係数を維持する制約パター
    ンであって、ゼロにする高周波数係数の範囲が異なる複
    数の制約パターンを用意するステップと、複数の前記制
    約パターンから前記目標ビット・レートが低いほどゼロ
    にする高周波数係数の範囲の広い制約パターンを選択す
    るステップとを含む、請求項1に記載のピクチャの符号
    化方法。
  4. 【請求項4】 前記調整するステップが、全係数がゼロ
    であるブロックを識別し、該ブロックの1つの係数を非
    ゼロの値へ設定するステップを含む、請求項1に記載の
    ピクチャの符号化方法。
  5. 【請求項5】 前記マクロブロックの各ブロックは8X
    8の係数配列を含み、前記設定するステップが、該ブロ
    ックの64番目の位置の係数を1へ設定するステップを
    含む、請求項4に記載のピクチャの符号化方法。
  6. 【請求項6】 前記目標ビット・レートが前記所定のレ
    ートよりも大きいとき、前記出力するステップおよび前
    記調整するステップを実行し、その後でマクロブロック
    の前記係数を可変長符号化するステッを含む、請求項1
    に記載のピクチャの符号化方法。
  7. 【請求項7】 複数のマクロブロックを有し、各マクロ
    ブロックが複数のブロックに配列された係数を含むピク
    チャのマクロブロックを符号化する方法であって、 ピクチャが非イントラ・ピクチャを含むかどうかを決定
    するステップと、 ピクチャが非イントラ・ピクチャを含むとき、各マクロ
    ブロックについて、該マクロブロックの係数が符号化さ
    れる前に、マクロブロックのどのブロックが符号化さ
    れているか示す符号化ブロック・パターン(CBP)と
    して、マクロブロック内のすべてのブロックが符号化さ
    れていることを示す固定符号化ブロック・パターン
    成しマクロブロック・ヘッダの一部としてビットスト
    リーム中に出力するステップと、 ピクチャが非イントラ・ピクチャであるとき、前記固定
    符号化ブロック・パターンが示すようにマクロブロック
    の全てのブロックが符号化されていることを保証するた
    めに、マクロブロックの各ブロックが少なくとも1つの
    非ゼロ係数を含むように各ブロックの係数を調整するス
    テップとを含む、 ピクチャの符号化方法。
  8. 【請求項8】 前記調整するステップが、全係数がゼロ
    であるブロックを識別し、該ブロックの1つの係数を非
    ゼロの値へ設定するステップを含む、請求項7に記載の
    マクロブロックの符号化方法。
  9. 【請求項9】 前記マクロブロックの各ブロックは8X
    8の係数配列を含み、前記設定するステップが、該ブロ
    ックの64番目の位置の係数を1へ設定するステップを
    含む、請求項8に記載のマクロブロックの符号化方法。
  10. 【請求項10】 マクロブロックのための目標ビット・
    レートが所定のレートを超過するかどうかを決定するス
    テップを含み、前記目標ビット・レートが前記所定のレ
    ートよりも大きいときだけ前記出力するステップおよび
    前記調整するステップを実行する、請求項7に記載のマ
    クロブロックの符号化方法。
  11. 【請求項11】 前記目標ビット・レートが前記所定の
    レートよりも小さいとき、前記マクロブロックの前記係
    数を可変長符号化し、その後で、前記出力するステップ
    および前記調整するステップを実行することなく、マク
    ロブロックのブロックから従来の符号化ブロック・パタ
    ーンを決定してビットストリームへ出力するステップを
    含む、請求項10に記載のマクロブロックの符号化方
    法。
  12. 【請求項12】 前記目標ビット・レートが前記所定の
    レートよりも大きいとき、前記調整するステップを実行
    した後で、前記マクロブロックの前記係数を可変長符号
    化するステップを更に含む、請求項10に記載のマクロ
    ブロックの符号化方法。
  13. 【請求項13】 前記所定のレートが20Mbpsであ
    り、非イントラ・ピクチャの符号化のためにパフォーマ
    ンスを考慮しないモードであるかどうかを決定するステ
    ップを含み、パフォーマンスを考慮しないモードであれ
    ば、マクロブロックの係数を可変長符号化し、マクロブ
    ロックのために従来の符号化ブロック・パターンを決定
    し、前記出力するステップおよび前記調整するステップ
    を実行することなく、符号化ブロック・パターンおよび
    可変長符号化された係数をビットストリーム中に出力す
    るステップを含む、請求項10に記載のマクロブロック
    の符号化方法。
  14. 【請求項14】複数のマクロブロックを有し、各マクロ
    ブロックが複数のブロックに配列された係数を含む非イ
    ントラ・ピクチャのマクロブロックを符号化する装置で
    あって、 マクロブロックの係数を量子化する手段と、 前記マクロブロックの目標ビット・レートを決定する手
    段と、 前記量子化する手段および前記決定する手段に応答し
    て、目標ビット・レートが所定のレートよりも小さいと
    き、マクロブロックの所定の係数をゼロにする制約パタ
    ーンに基づいてマクロブロックの前記係数のうち一部の
    係数をゼロにする手段と、各マクロブロックについて、該マクロブロックの各ブロ
    ックの係数が符号化される前に 、マクロブロックのど
    のブロックが符号化されているか示す符号化ブロック・
    パターン(CBP)として、マクロブロック内のすべて
    のブロックが符号化されていることを示す固定符号化ブ
    ロック・パターンを成しマクロブロック・ヘッダの
    一部としてビットストリーム中に出力する手段と、 前記出力する手段に応答して、前記固定符号化ブロック
    ・パターンが示すようにマクロ ブロックの全てのブロッ
    クが符号化されていることを保証するために、マクロブ
    ロックの各ブロックが少なくとも1つの非ゼロ係数を含
    むように該ブロックの係数を調整する手段とを含む、 マクロブロックの符号化装置。
  15. 【請求項15】 マクロブロックの所定の係数をゼロに
    する前記制約パターンは、マクロブロックの各ブロック
    の高周波数係数をゼロにし、マクロブロックの低周波数
    係数を維持する制約パターンである、請求項14に記載
    のマクロブロックの符号化装置。
  16. 【請求項16】 前記ゼロにする手段が、更に、高周波
    数係数をゼロにし低周波数係数を維持する制約パターン
    であって、ゼロにする高周波数係数の範囲が異なる複数
    の制約パターンを記憶する手段と、前記複数の制約パタ
    ーンから前記目標ビット・レートが低いほどゼロにする
    高周波数係数の範囲の広い制約パターンを選択する手段
    とを含む、請求項14に記載のマクロブロックの符号化
    装置。
  17. 【請求項17】 前記調整する手段が、全係数がゼロで
    あるブロックを識別し、該ブロックの1つの係数を非ゼ
    ロの値へ設定する手段とを含む、請求項14に記載のマ
    クロブロックの符号化装置。
  18. 【請求項18】 前記マクロブロックの各ブロックは8
    X8の係数配列を含み、前記設定する手段が、該ブロッ
    クの64番目の位置の係数を1へ設定する手段を含む、
    請求項17に記載のマクロブロックの符号化装置。
  19. 【請求項19】 前記目標ビット・レートが前記所定の
    レートよりも小さいときにマクロブロックの前記係数を
    可変長符号化し、その後でマクロブロックのために従来
    の符号化ブロック・パターンを決定する手段を含む、請
    求項14に記載のマクロブロックの符号化装置。
  20. 【請求項20】 複数のマクロブロックを有し、各マク
    ロブロックが複数のブロックとして配列された係数を含
    む非イントラ・ピクチャのマクロブロックを符号化する
    装置であって、各マクロブロックについて、該マクロブロックの各ブロ
    ックの係数が符号化される前に 、マクロブロックのど
    のブロックが符号化されているか示す符号化ブロック・
    パターン(CBP)として、マクロブロック内のすべて
    のブロックが符号化されていることを示す固定符号化ブ
    ロック・パターンを成しマクロブロック・ヘッダの
    一部としてビットストリーム中に出力する手段と、 前記出力する手段に応答して、前記固定符号化ブロック
    ・パターンが示すようにマクロブロックの全てのブロッ
    クが符号化されていることを保証するために、マクロブ
    ロックの各ブロックが少なくとも1つの非ゼロ係数を含
    むように各ブロックの係数を調整する手段とを含む、 マクロブロックの符号化装置。
  21. 【請求項21】 前記調整する手段が、全係数がゼロで
    あるブロックを識別し、該ブロックの1つの係数を非ゼ
    ロの値へ設定する手段とを含む、請求項20に記載のマ
    クロブロックの符号化装置。
  22. 【請求項22】 前記マクロブロックの各ブロックは8
    X8の係数配列を含み、前記設定する手段が、該ブロッ
    クの64番目の位置の係数を1へ設定する手段を含む、
    請求項21に記載のマクロブロックの符号化装置。
  23. 【請求項23】 マクロブロックの目標ビット・レート
    が所定のレートを超過するかどうかを決定する手段を含
    み、前記出力する手段および前記調整する手段が、前記
    目標ビット・レートが前記所定のレートを超過するとき
    にのみ前記固定符号化ブロック・パターンが生成される
    ように、前記決定する手段に応答する、請求項20に記
    載のマクロブロックの符号化装置。
  24. 【請求項24】 前記目標ビット・レートが前記所定の
    レートよりも小さいときマクロブロックの係数を可変長
    符号化し、その後で、マクロブロックのブロックから従
    来の符号化ブロック・パターンを決定する手段を含む、
    請求項23に記載のマクロブロックの符号化装置。
  25. 【請求項25】 前記調整する手段に応答して、前記マ
    クロブロックの前記係数を可変長符号化する手段を更に
    含む、請求項20に記載のマクロブロックの符号化方
    法。
JP13516798A 1997-05-20 1998-05-18 ピクチャの符号化方法および符号化装置 Expired - Fee Related JP3529624B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/859,544 US6111913A (en) 1997-05-20 1997-05-20 Macroblock bit regulation schemes for video encoder
US08/859544 1997-05-20

Publications (2)

Publication Number Publication Date
JPH118849A JPH118849A (ja) 1999-01-12
JP3529624B2 true JP3529624B2 (ja) 2004-05-24

Family

ID=25331174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13516798A Expired - Fee Related JP3529624B2 (ja) 1997-05-20 1998-05-18 ピクチャの符号化方法および符号化装置

Country Status (4)

Country Link
US (1) US6111913A (ja)
JP (1) JP3529624B2 (ja)
KR (1) KR100313284B1 (ja)
MY (1) MY119636A (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6352535B1 (en) * 1997-09-25 2002-03-05 Nanoptics, Inc. Method and a device for electro microsurgery in a physiological liquid environment
KR100298397B1 (ko) * 1998-02-03 2001-08-07 구자홍 비디오디코딩시스템
US6961378B1 (en) * 1998-11-05 2005-11-01 International Business Machines Corporation On-chip dynamic buffer level indicators for digital video encoder
US6724817B1 (en) * 2000-06-05 2004-04-20 Amphion Semiconductor Limited Adaptive image data compression
KR20020001062A (ko) * 2000-06-24 2002-01-09 박종섭 응용분야에 적응적인 엠펙 영상압축 부호화기
WO2002037856A1 (en) * 2000-11-06 2002-05-10 Dynapel Systems, Inc. Surveillance video camera enhancement system
US7366236B1 (en) 2001-06-04 2008-04-29 Cisco Sytems Canada Co. Source adaptive system and method for 2D iDCT
US7656949B1 (en) * 2001-06-27 2010-02-02 Cisco Technology, Inc. Methods and apparatus for performing efficient inverse transform operations
US6934330B2 (en) * 2001-08-01 2005-08-23 Sony Corporation Image processing apparatus
KR100450844B1 (ko) * 2002-02-21 2004-10-01 (주)씨앤에스 테크놀로지 비디오 코덱 프로세서의 아키텍쳐
KR101066051B1 (ko) * 2002-11-15 2011-09-20 퀄컴 인코포레이티드 다중 디스크립션 인코딩용 장치 및 방법
US7995849B2 (en) * 2003-03-17 2011-08-09 Qualcomm, Incorporated Method and apparatus for improving video quality of low bit-rate video
KR20050075578A (ko) * 2004-01-16 2005-07-21 삼성전자주식회사 폐루프 최적화를 지원하는 스케일러블 비디오 엔코딩 방법및 장치
KR20050077874A (ko) * 2004-01-28 2005-08-04 삼성전자주식회사 스케일러블 비디오 스트림 송신 방법 및 이를 이용한 장치
JP3846489B2 (ja) * 2004-05-10 2006-11-15 セイコーエプソン株式会社 画像データ圧縮装置、エンコーダ、電子機器及び画像データ圧縮方法
US7664176B2 (en) * 2004-07-09 2010-02-16 Nokia Corporation Method and system for entropy decoding for scalable video bit stream
US20060008009A1 (en) * 2004-07-09 2006-01-12 Nokia Corporation Method and system for entropy coding for scalable video codec
JP4769605B2 (ja) * 2006-03-17 2011-09-07 富士通株式会社 動画像符号装置及び方法
WO2009075107A1 (ja) * 2007-12-13 2009-06-18 Panasonic Corporation 画像符号化装置、符号化レート変換装置、映像音声ストリーム記録装置、ネットワーク配信システム、係数変換装置、集積回路及び画像符号化方法
US8897365B2 (en) * 2008-11-19 2014-11-25 Nvidia Corporation Video rate control processor for a video encoding process
US8605791B2 (en) * 2008-11-21 2013-12-10 Nvidia Corporation Video processor using an optimized slicemap representation
US10117055B2 (en) 2009-07-08 2018-10-30 Dejero Labs Inc. System and method for providing data services on vehicles
US10165286B2 (en) 2009-07-08 2018-12-25 Dejero Labs Inc. System and method for automatic encoder adjustment based on transport data
US9756468B2 (en) 2009-07-08 2017-09-05 Dejero Labs Inc. System and method for providing data services on vehicles
US8942215B2 (en) 2010-07-15 2015-01-27 Dejero Labs Inc. System and method for transmission of data from a wireless mobile device over a multipath wireless router
US8675730B2 (en) * 2009-07-13 2014-03-18 Nvidia Corporation Macroblock grouping in a destination video frame to improve video reconstruction performance
TWI405467B (zh) * 2009-11-25 2013-08-11 Novatek Microelectronics Corp 影像壓縮的位元速率控制電路與方法
WO2011090352A2 (ko) 2010-01-22 2011-07-28 삼성전자주식회사 영역 기반의 부호화/복호화 장치 및 방법
GB2495460B8 (en) * 2010-07-15 2015-06-10 Dejero Labs Inc A System and method for transmission of data signals over a wireless network
CA2897599C (en) * 2013-01-17 2018-03-13 Samsung Electronics Co., Ltd. Encoding and decoding using constraint information for arrangement of samples of a picture from a video data stream
KR102249819B1 (ko) * 2014-05-02 2021-05-10 삼성전자주식회사 시스템 온 칩과 이를 포함하는 데이터 처리 시스템
US20160360206A1 (en) * 2015-06-04 2016-12-08 Microsoft Technology Licensing, Llc Rate controller for real-time encoding and transmission
US10312927B1 (en) * 2018-03-26 2019-06-04 Qualcomm Incorporated Calibration for time-interleaved analog-to-digital converters and signal generators therefor

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2062200A1 (en) * 1991-03-15 1992-09-16 Stephen C. Purcell Decompression processor for video applications
JP2549479B2 (ja) * 1991-12-06 1996-10-30 日本電信電話株式会社 動き補償フレーム間帯域分割符号化処理方法
US5493513A (en) * 1993-11-24 1996-02-20 Intel Corporation Process, apparatus and system for encoding video signals using motion estimation
US6356663B1 (en) * 1994-09-09 2002-03-12 Intel Corporation Processing image signals using spatial decomposition
US5644504A (en) * 1995-03-27 1997-07-01 International Business Machines Corporation Dynamically partitionable digital video encoder processor
US5526054A (en) * 1995-03-27 1996-06-11 International Business Machines Corporation Apparatus for header generation
US5936673A (en) * 1995-05-26 1999-08-10 Intel Corporation Temporal tile staggering for block based video compression
US5872598A (en) * 1995-12-26 1999-02-16 C-Cube Microsystems Scene change detection using quantization scale factor rate control
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
US5768537A (en) * 1996-02-22 1998-06-16 International Business Machines Corporation Scalable MPEG2 compliant video encoder
US5748240A (en) * 1996-03-15 1998-05-05 International Business Machines Corporation Optimal array addressing control structure comprising an I-frame only video encoder and a frame difference unit which includes an address counter for addressing memory addresses
US5870144A (en) * 1997-03-28 1999-02-09 Adaptec, Inc. Reduced-quality resolution digital video encoder/decoder

Also Published As

Publication number Publication date
MY119636A (en) 2005-06-30
KR19980086614A (ko) 1998-12-05
US6111913A (en) 2000-08-29
JPH118849A (ja) 1999-01-12
KR100313284B1 (ko) 2001-12-12

Similar Documents

Publication Publication Date Title
JP3529624B2 (ja) ピクチャの符号化方法および符号化装置
KR100196019B1 (ko) 스케일러블 mpeg2 컴플라이언트 비디오 인코더
JP4138056B2 (ja) マルチスタンダード脱圧縮及び/又は圧縮装置
US5812788A (en) Encoding/decoding video signals using quantization tables based on explicitly encoded base and scale matrices
US5864637A (en) Method and apparatus for improved video decompression by selective reduction of spatial resolution
EP0720374A1 (en) Apparatus for parallel decoding of digital video signals
US5729691A (en) Two-stage transform for video signals
US5721822A (en) Run-length encoding/decoding video signals using scan patterns explicitly encoded into bitstreams
US5835148A (en) Apparatus for parallel decoding of digital video signals
US5748240A (en) Optimal array addressing control structure comprising an I-frame only video encoder and a frame difference unit which includes an address counter for addressing memory addresses
KR100305485B1 (ko) 화질을최적화하기위한화상처리방법및디지탈비디오부호화기시스템
US6532265B1 (en) Method and system for video compression
US7054497B2 (en) Method and system for optimizing image sharpness during coding and image enhancement
US6999511B1 (en) Dynamically switching quant matrix tables within an MPEG-2 encoder
EP1078529A1 (en) Method and apparatus for increasing memory resource utilization in an information stream decoder
US6118823A (en) Control scheme for shared-use dual-port predicted error array
US20040109610A1 (en) Image processing apparatus for compositing images
US6081552A (en) Video coding using a maximum a posteriori loop filter
US20030147468A1 (en) Image data coding apparatus capable of promptly transmitting image data to external memory
KR20040069445A (ko) 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법
JPH08163561A (ja) 画像データ圧縮装置
JP3425026B2 (ja) 画像符号化方法および画像符号化回路
JPH09107548A (ja) 画像圧縮装置および画像圧縮方法
Ngai et al. A scalable chip set for MPEG2 real-time encoding
JP2001016589A (ja) 画像情報変換装置、画像情報伝達システム及び画像情報変換方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040225

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100305

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees