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

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

Info

Publication number
JPH118849A
JPH118849A JP10135167A JP13516798A JPH118849A JP H118849 A JPH118849 A JP H118849A JP 10135167 A JP10135167 A JP 10135167A JP 13516798 A JP13516798 A JP 13516798A JP H118849 A JPH118849 A JP H118849A
Authority
JP
Japan
Prior art keywords
macroblock
pattern
constraint
block
picture
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.)
Granted
Application number
JP10135167A
Other languages
English (en)
Other versions
JP3529624B2 (ja
Inventor
John Ashley Murdock
ジョン・アシュレイ・マードック
E Gai Angus
アンガス・イー・ガイ
Philip Pokrinchak Stephen
ステファン・フィリップ・ポクリンチャク
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

Abstract

(57)【要約】 (修正有) 【課題】 MPEG2方式において、改善されたマクロ
ブロック・ビット調整方式を提供する。 【解決手段】MPEG2準拠のディジタル・ビデオ・エ
ンコーダ・システムは、ピクチャの各マクロブロックの
係数を符号化する。1つの行内で、先行する2つのマク
ロブロックのビット・レートが、制限を超過するか、現
在の非イントラ・マクロブロックのビット・レートが所
定の制限よりも大きい場合は、マクロブロックの選択さ
れた係数を制約するビット調整方式が使用される。パタ
ーンの制約は量子化ユニット内で実行される。非イント
ラ・ピクチャについては、係数の符号化に先だって、ピ
クチャの各マクロブロックのために固定符号化ブロック
・パターンのヘッダを生成してビットストリーム中に出
力するように、可変長符号化処理が変更される。固定符
号化ブロック・パターンは、マクロブロックの各ブロッ
クが少なくとも1つの非ゼロ係数を含むことを示す。

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】
【課題を解決するための手段】簡単に説明すると、本発
明は、第一の局面では、複数の行を有し、各行が複数の
マクロブロックを含むピクチャを符号化する方法と装置
を提供する。各マクロブロックは複数のブロックに配列
された複数の係数を有する。本発明のアプローチは、各
行内の各マクロブロックについて次のことを行う。すな
わち、行の中の先行するn個のマクロブロックがビット
・レートの制限を超過したかどうかを決定し(ここで、
nは所定の数)、マクロブロックを符号化し、行の中の
先行するn個のマクロブロックがビット・レートの制限
を超過した場合、マクロブロックへ制約パターンを適用
する。制約パターンはマクロブロックの選択された係数
をゼロにして、マクロブロックのビット・レートを減少
させる。さらに、前記の基本的概念を改良する多くの手
段が備えられている。
【0010】他の局面では、本発明は、複数のマクロブ
ロックを有し、各マクロブロックが複数の係数を含むピ
クチャを符号化する方法および装置を提供する。この方
法および装置は、各マクロブロックについて次のことを
行う。すなわち、マクロブロックの係数を符号化し、マ
クロブロックのために目標のビット・レートを決定し、
目標のビット・レートがxメガビット/秒よりも小さい
とき(xは所定の数)、係数へ制約パターンを適用し
て、マクロブロックの選択された係数をゼロにする。
【0011】さらに、他の局面では、本発明は、複数の
マクロブロックを有し、各マクロブロックが複数のブロ
ックに配列された係数を含むピクチャの非イントラ・マ
クロブロックを符号化する方法および装置を提供する。
この方法は次のことを行う。すなわち、マクロブロック
の各ブロックが少なくとも1つの非ゼロ係数を含むこと
を表す固定符号化ブロック・パターンのヘッダをマクロ
ブロックのために生成してビットストリーム中に出力
し、続いてマクロブロックの各ブロックが少なくとも1
つの非ゼロ係数を含むことを確実にする。
【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に示される。本発
明のこの局面では、ビット・レートを調整するメカニズ
ムとして、マクロブロック・パターンが制約される。マ
クロブロックを構成するブロック中の係数を、所定のプ
ログラム可能な制約パターンに基づいて選択的に制約す
ることにより、ビット・レートとピクチャ品質の最適バ
ランスが達成される。制約パターンはマクロブロック中
の高周波数係数をゼロにするように選択するのが望まし
く、それによって多くのビットを低周波数係数に割り振
ることができる。その結果より多くのピクチャ・ディテ
ールを捕捉するためにより細かな量子化ステップ・サイ
ズ(mquant)を使用することができる。
【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つまたは複数のプログラム可能制約パターン71
2にアクセスするパターン制約ロジック710を含むよ
うに変更される。制約するかどうかの決定は、マクロブ
ロックのビット・レートに基づいて行うか、1つの行内
の2つの先行するマクロブロックがビット・レートの制
限を超過したかどうかに基づいて行うことができ、その
制約は行内のすべての後続するマクロブロックについて
開始される。一度、パターン制約がマクロブロックにつ
いて設定されると、複数のプログラム可能制約パターン
の中のどのプログラム可能制約パターンが適用されるか
を、ユーザ・インタフェースによって命令することがで
きる。後で、図9から図12までを参照して、望ましい
各種のパターンを説明する。
【0050】図8は、本発明に従った、量子化ユニット
673におけるパターン制約の1つの処理の流れを示
す。この流れは、ピクチャの各マクロブロック(MB)
の処理に反復される(ステップ750)。最初の質問
は、目標のビット・レートが所定のxメガビット/秒
(Mbps)(たとえば15Mbps)よりも大きいか
どうかを決定する(ステップ752)。ビット・レート
が所定のMbpsよりも大きいと仮定すると、前述した
ように、マクロブロックの各ブロックの係数が従来の量
子化処理に従って量子化される(ステップ756)。
【0051】ビット・レートが所定のMbpsよりも小
さければ、処理は、ビット・レートの制限がピクチャの
対応する行内のn個のマクロブロック(nはあらかじめ
選択された数で、たとえばn=2)によってすでに超過
されているかどうかを質問する(ステップ754)。こ
の例では、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パターン数は32*P1+1
6*P2+8*P3+4*P4+2*P5+1*P6に
等しい。ここで、ブロックnに係数が存在していれば、
Pnは1であり、そうでなければ、0である。イントラ
・マクロブロックについては、すべてのブロックが符号
化される必要があり、したがって符号化ブロック・パタ
ーンは不要である。符号化ブロック・パターンは非イン
トラ・マクロブロックにのみ必要である。
【0057】本発明に従ったビット調整のこの局面は、
現マクロブロックの係数が符号化される前に符号化ブロ
ック・パターンを決定することができれば、圧縮ストア
・インタフェース679(図6)は係数をバッファする
必要はないという認識に基づいている。したがって、本
発明は符号化ブロック・パターンを「固定」して、非イ
ントラ・マクロブロック内のすべてのブロックが符号化
されていることを示す固定符号化ブロック・パターン
(FCBP)を生成する。一度これが行われると、エン
コーダは、各ブロックが符号化されている(すなわち、
少なくとも1つの非ゼロ係数を含む)ことを保証する。
ブロックがオール・ゼロを含む場合には、エンコーダは
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)、従来
の符号化ブロック・パターンが決定されて、ビットスト
リームへ出力するために送られる(ステップ910)。
次に、マクロブロックの可変長符号化は完了する(ステ
ップ924)。パフォーマンスが考慮されるモードであ
るか、その質問が省略される場合、処理はステップ90
6からステップ912に進み、目標のビット・レートが
所定のレート(たとえば20Mbps)よりも大きいか
どうかが決定される。所定のレートよりも大きい場合、
固定符号化ブロック・パターン(FCBP)モードが設
定される(ステップ914)。目標のビット・レートが
所定のレートよりも小さい場合、本発明のこの局面に従
ったパフォーマンスの向上は不要であり、処理は前述し
たように符号化と決定のステップ(ステップ908およ
び910)へ進む。
【0062】他方、ビット・レートが所定のビット・レ
ートよりも大きい場合、FCBPモードが設定された後
に(ステップ914)、FCBPヘッダ、すなわちオー
ル1の符号化ブロック・パターンが生成され、ビットス
トリームへ送られる(ステップ916)。次に、マクロ
ブロックの各ブロックが検査され、そのブロックがオー
ル・ゼロを有するかどうかが決定される(ステップ91
8)。オール・ゼロを有しない場合、ブロックの量子化
された係数が可変長符号化される(ステップ922)。
本発明のこの局面に従って、ブロックがオール・ゼロを
有する場合、係数の1つ(たとえば64番目の係数)が
非ゼロ(たとえば「1」)に設定される(ステップ92
0)。次に、ブロックは可変長符号化される(ステップ
922)。ステップ918、920、および922はマ
クロブロックの各ブロックについて反復され、次にマク
ロブロックの処理が完了する(ステップ924)。
【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

Claims (33)

    【特許請求の範囲】
  1. 【請求項1】複数の行を有し、各行が複数のマクロブロ
    ックを含み、各マクロブロックが係数を含むピクチャを
    符号化する方法であって、 各行内の各マクロブロックについて、行内の先行する所
    定数のマクロブロックがビット・レートの制限を超過し
    たかどうかを決定するステップと、 マクロブロックを符号化するステップと、 前記所定数のマクロブロックが前記ビット・レートの制
    限を超過した場合、マクロブロックのビット・レートを
    減少させるためにマクロブロックの選択された係数をゼ
    ロにする制約パターンをマクロブロックに適用するステ
    ップとを含む、 ピクチャの符号化方法。
  2. 【請求項2】前記制約パターンをマクロブロックへ適用
    する前記ステップが、マクロブロックの高周波数係数を
    ゼロにし、マクロブロックの低周波数係数を維持するス
    テップを含む、請求項1に記載のピクチャの符号化方
    法。
  3. 【請求項3】マクロブロックに適用される制約パターン
    がプログラム可能となるように、適用される制約パター
    ンを複数の制約パターンから選択するステップを含む、
    請求項1に記載のピクチャの符号化方法。
  4. 【請求項4】前記複数の制約パターンが複数の斜行制約
    パターンを含み、各斜行制約パターンが高周波数係数を
    ゼロにし低周波数係数を維持する、請求項3に記載のピ
    クチャの符号化方法。
  5. 【請求項5】マクロブロックのために目標ビット・レー
    トを決定し、該目標ビット・レートに基づいて適用され
    る制約パターンを選択するステップを含む、請求項3に
    記載のピクチャの符号化方法。
  6. 【請求項6】前記目標ビット・レートが所定のレートよ
    りも小さいときにのみ前記制約パターンを適用するステ
    ップを含む、請求項5に記載のピクチャの符号化方法。
  7. 【請求項7】複数のマクロブロックを有し、各マクロブ
    ロックが係数を含むピクチャを符号化する方法であっ
    て、 各マクロブロックについて、マクロブロックの係数を符
    号化するステップと、 マクロブロックのために目標ビット・レートを決定する
    ステップと、 前記目標ビット・レートが所定のレートよりも小さいと
    きにマクロブロックの選択された係数をゼロにする制約
    パターンを係数に適用するステップとを含む、 ピクチャの符号化方法。
  8. 【請求項8】前制約パターンをマクロブロックへ適用す
    る前記ステップが、マクロブロックの選択された高周波
    数係数をゼロにし、マクロブロックの低周波数係数を維
    持するステップを含む、請求項7に記載のピクチャの符
    号化方法。
  9. 【請求項9】マクロブロックへ適用される制約パターン
    を、複数の制約パターンから選択するステップを含む、
    請求項7に記載のピクチャの符号化方法。
  10. 【請求項10】各マクロブロックの係数がブロックとし
    て配列され、ピクチャが非イントラ・ピクチャを含むか
    どうかを決定するステップが符号化方法に含まれ、ピク
    チャが非イントラ・ピクチャを含むとき、 各マクロブロックについて、マクロブロックの各ブロッ
    クが少なくとも1つの非ゼロ係数を含むことを示す固定
    符号化ブロック・パターンをマクロブロックのために生
    成してビットストリーム中に出力するステップと、 マクロブロックの各ブロックが少なくとも1つの非ゼロ
    係数を含むことを保証するステップとを含む、 請求項7に記載のピクチャの符号化方法。
  11. 【請求項11】前記保証にするステップが、オール・ゼ
    ロを有するブロックを識別し、該ブロックの1つの係数
    を非ゼロの値へ設定するステップを含む、請求項10に
    記載のピクチャの符号化方法。
  12. 【請求項12】前記符号化するステップが、前記目標ビ
    ット・レートが前記所定のレートよりも小さいときマク
    ロブロックの係数を可変長符号化し、その後で、前記固
    定符号化ブロック・パターンを生成する前記ステップと
    前記保証にするステップを実行することなくマクロブロ
    ックのために従来の符号化ブロック・パターンを決定す
    るステップを含む、請求項10に記載のピクチャの符号
    化方法。
  13. 【請求項13】前記目標ビット・レートが前記所定のレ
    ートよりも大きいとき、前記固定符号化ブロック・パタ
    ーンを生成するステップおよび前記保証にするステップ
    を実行し、その後でマクロブロックの係数を可変長符号
    化するステッを含む、請求項10に記載のピクチャの符
    号化方法。
  14. 【請求項14】複数のマクロブロックを有し、各マクロ
    ブロックが複数のブロックに配列された係数を含む非イ
    ントラ・ピクチャのマクロブロックを符号化する方法で
    あって、 マクロブロックの各ブロックが少なくとも1つの非ゼロ
    係数を含むことを示す固定符号化ブロック・パターンを
    マクロブロックのために生成してビットストリーム中に
    出力するステップと、 マクロブロックの各ブロックが少なくとも1つの非ゼロ
    係数を含むことを保証にするステップとを含む、 マクロブロックの符号化方法。
  15. 【請求項15】前記保証するステップが、オール・ゼロ
    を有するブロックを識別し、該ブロックの1つの係数を
    非ゼロの値へ設定するステップを含む、請求項14に記
    載のマクロブロックの符号化方法。
  16. 【請求項16】マクロブロック目標ビット・レートが所
    定のレートを超過するかどうかを決定するステップを含
    み、前記目標ビット・レートが前記所定のレートよりも
    大きいときだけ前記出力するステップおよび前記保証す
    るステップを実行する、請求項14に記載のマクロブロ
    ックの符号化方法。
  17. 【請求項17】前記目標ビット・レートが前記所定のレ
    ートよりも小さいとき、前記マクロブロックの前記係数
    を可変長符号化し、その後で、前記固定符号化ブロック
    ・パターンを生成するステップおよび前記保証するステ
    ップを実行することなく、マクロブロックのブロックか
    ら従来の符号化ブロック・パターンを決定してビットス
    トリームへ出力するステップを含む、請求項16に記載
    のマクロブロックの符号化方法。
  18. 【請求項18】非イントラ・ピクチャの符号化のために
    パフォーマンスを考慮しないモードであるかどうかを決
    定するステップを含み、パフォーマンスを考慮しないモ
    ードであれば、マクロブロックの係数を可変長符号化
    し、マクロブロックのために従来の符号化ブロック・パ
    ターンを決定し、前記固定符号化ブロック・パターンを
    生成するステップおよび前記保証するステップを実行す
    ることなく、符号化ブロック・パターンおよび可変長符
    号化された係数をビットストリーム中に出力するステッ
    プを含む、請求項16に記載のマクロブロックの符号化
    方法。
  19. 【請求項19】複数の行を有し、各行が複数のマクロブ
    ロックを含み、各マクロブロックが係数を含むピクチャ
    を符号化する装置であって、 各行内の各マクロブロックについて行内の先行する所定
    数のマクロブロックがビット・レートの制限を超過した
    かどうかを決定する手段と、 前記決定する手段に応答して、前記所定数のマクロブロ
    ックがビット・レートの制限を超過したとき、マクロブ
    ロックのビット・レートを削減するためマクロブロック
    の選択された係数をゼロにする制約パターンを、マクロ
    ブロックへ適用するパターン制約ロジックとを備えた、 ピクチャの符号化装置。
  20. 【請求項20】前記パターン制約ロジックに結合された
    記憶手段を含み、前記記憶手段は前記パターン制約ロジ
    ックのために前記制約パターンを含み、前記記憶手段内
    の複数の制約パターンから制約パターンを選択する手段
    を含む、請求項19に記載のピクチャの符号化装置。
  21. 【請求項21】前記制約パターンを選択する手段が、マ
    クロブロックのためにビット・レートを決定し、該ビッ
    ト・レートに基づいて制約パターンを選択する手段を含
    む、請求項20に記載のピクチャの符号化装置。
  22. 【請求項22】各マクロブロックの係数がブロックとし
    て配列され、前記制約パターンが斜行制約パターンを含
    み、前記パターン制約ロジックは前記斜行制約パターン
    を前記マクロブロックの各ブロックへ適用する手段を含
    み、前記斜行制約パターンはマクロブロックの各ブロッ
    クの高周波数係数をゼロにし、マクロブロックの各ブロ
    ックの低周波数係数を維持する、請求項21に記載のピ
    クチャの符号化装置。
  23. 【請求項23】複数のマクロブロックを有し、各マクロ
    ブロックが係数を含むピクチャのマクロブロックを符号
    化する装置であって、 マクロブロックの係数を量子化する手段と、 前記マクロブロックの目標ビット・レートを決定する手
    段と、目標ビット・レートが所定のレートよりも小さい
    とき、マクロブロックのビット・レートを削減するため
    にマクロブロックの選択された係数をゼロにする制約パ
    ターンをマクロブロックへ適用するパターン制約ロジッ
    クとを備えた、 マクロブロックの符号化装置。
  24. 【請求項24】前記パターン制約ロジックが、マクロブ
    ロックの選択された高周波数係数をゼロにするために前
    記制約パターンを適用し、マクロブロックの低周波数係
    数を維持する、請求項23に記載のマクロブロックの符
    号化装置。
  25. 【請求項25】マクロブロックのビット・レートに基づ
    いてマクロブロックへ適用される制約パターンを選択す
    る手段を含む、請求項23に記載のマクロブロックの符
    号化装置。
  26. 【請求項26】前記選択する手段が、複数の所定の制約
    パターンを記憶する手段と、前記複数の所定の制約パタ
    ーンから制約パターンを選択する手段とを含む、請求項
    25に記載のマクロブロックの符号化装置。
  27. 【請求項27】各マクロブロックの係数がブロックとし
    て配列され、ピクチャが非イントラ・ピクチャを含む符
    号化装置において、 マクロブロックの各ブロックが少なくとも1つの非ゼロ
    係数を含むことを示す固定符号化ブロック・パターンを
    マクロブロックのために生成してビットストリーム中に
    出力する手段と、 前記出力する手段に応答して、マクロブロックの各ブロ
    ックが少なくとも1つの非ゼロ係数を含むことを保証す
    る手段とを備えた、 請求項23に記載のマクロブロックの符号化装置。
  28. 【請求項28】前記保証する手段が、オール・ゼロを有
    するブロックを識別し、該ブロックの1つの係数を非ゼ
    ロの値へ設定する手段を含む、請求項27に記載のマク
    ロブロックの符号化装置。
  29. 【請求項29】前記目標ビット・レートが前記所定のレ
    ートよりも小さいときにマクロブロックの係数を可変長
    符号化し、その後でマクロブロックのために従来の符号
    化ブロック・パターンを決定する手段を含む、請求項2
    7に記載のマクロブロックの符号化装置。
  30. 【請求項30】複数のマクロブロックを有し、各マクロ
    ブロックが複数のブロックとして配列された係数を含む
    非イントラ・ピクチャのマクロブロックを符号化する装
    置であって、 マクロブロックの各ブロックが少なくとも1つの非ゼロ
    係数を含むことを示す固定符号化ブロック・パターンを
    マクロブロックのために生成してビットストリーム中に
    出力する手段と、 前記固定符号化ブロック・パターンを出力した後で、マ
    クロブロックの各ブロックが少なくとも1つの非ゼロ係
    数を含むことを保証する手段とを備えた、 マクロブロックの符号化装置。
  31. 【請求項31】前記保証する手段が、オール・ゼロを有
    するブロックを識別し、該ブロックの1つの係数を非ゼ
    ロの値へ設定する手段を含む、請求項30に記載のマク
    ロブロックの符号化装置。
  32. 【請求項32】マクロブロックの目標ビット・レートが
    所定のレートを超過するかどうかを決定する手段を含
    み、前記出力する手段および前記保証する手段が、前記
    目標ビット・レートが前記所定のレートを超過するとき
    にのみ前記固定符号化ブロック・パターンが生成される
    ように、前記決定する手段に応答する、請求項30に記
    載のマクロブロックの符号化装置。
  33. 【請求項33】前記目標ビット・レートが前記所定のレ
    ートよりも小さいときマクロブロックの係数を可変長符
    号化し、その後で、マクロブロックのブロックから従来
    の符号化ブロック・パターンを決定する手段を含む、請
    求項32に記載のマクロブロックの符号化装置。
JP13516798A 1997-05-20 1998-05-18 ピクチャの符号化方法および符号化装置 Expired - Fee Related JP3529624B2 (ja)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
JPH118849A true JPH118849A (ja) 1999-01-12
JP3529624B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251758A (ja) * 2006-03-17 2007-09-27 Fujitsu Ltd 動画像符号装置及び方法

Families Citing this family (32)

* 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 박종섭 응용분야에 적응적인 엠펙 영상압축 부호화기
US20020054211A1 (en) * 2000-11-06 2002-05-09 Edelson Steven D. 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 (주)씨앤에스 테크놀로지 비디오 코덱 프로세서의 아키텍쳐
US7564382B2 (en) * 2002-11-15 2009-07-21 Qualcomm Incorporated Apparatus and method for multiple description encoding
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 セイコーエプソン株式会社 画像データ圧縮装置、エンコーダ、電子機器及び画像データ圧縮方法
US20060008009A1 (en) * 2004-07-09 2006-01-12 Nokia Corporation Method and system for entropy coding for scalable video codec
US7664176B2 (en) * 2004-07-09 2010-02-16 Nokia Corporation Method and system for entropy decoding for scalable video bit stream
US20100260258A1 (en) * 2007-12-13 2010-10-14 Kyoko Ueda Image coding device, coding rate conversion device, audio video stream recording device, network distribution system, coefficient conversion device, integrated circuit, and image coding method
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
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
US10117055B2 (en) 2009-07-08 2018-10-30 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 影像壓縮的位元速率控制電路與方法
KR101743482B1 (ko) 2010-01-22 2017-06-07 삼성전자주식회사 영역 기반의 부호화/복호화 장치 및 방법
GB2495460B8 (en) * 2010-07-15 2015-06-10 Dejero Labs Inc A System and method for transmission of data signals over a wireless network
EP2947879B1 (en) * 2013-01-17 2018-11-07 Samsung Electronics Co., Ltd. Method for decoding video on basis of decoder setting
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
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
US5872598A (en) * 1995-12-26 1999-02-16 C-Cube Microsystems Scene change detection using quantization scale factor rate control
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251758A (ja) * 2006-03-17 2007-09-27 Fujitsu Ltd 動画像符号装置及び方法
US8761264B2 (en) 2006-03-17 2014-06-24 Fujitsu Limited Apparatus and method for coding moving pictures

Also Published As

Publication number Publication date
MY119636A (en) 2005-06-30
KR19980086614A (ko) 1998-12-05
JP3529624B2 (ja) 2004-05-24
US6111913A (en) 2000-08-29
KR100313284B1 (ko) 2001-12-12

Similar Documents

Publication Publication Date Title
JP3529624B2 (ja) ピクチャの符号化方法および符号化装置
US6081622A (en) Optimized field-frame prediction error calculation method and apparatus in a scalable MPEG-2 compliant video encoder
JP4138056B2 (ja) マルチスタンダード脱圧縮及び/又は圧縮装置
US11375187B2 (en) Apparatus and method for filtering in video coding with look-up table selected based on bitstream information
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
EP0585051B1 (en) Image processing method and apparatus
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
JPH104550A (ja) Mpeg−2復号方法及びmpeg−2ビデオ復号器
US5835148A (en) Apparatus for parallel decoding of digital video signals
KR100305485B1 (ko) 화질을최적화하기위한화상처리방법및디지탈비디오부호화기시스템
US20080123748A1 (en) Compression circuitry for generating an encoded bitstream from a plurality of video frames
US6999511B1 (en) Dynamically switching quant matrix tables within an MPEG-2 encoder
US6532265B1 (en) Method and system for video compression
JPH08275149A (ja) データ符号化方法
KR100683380B1 (ko) 영상 압축 부호화를 위한 변환 및 역변환 방법 및 장치
JP2000050263A (ja) 画像符号化並びに復号化装置及びこれを用いた撮像装置
US6118823A (en) Control scheme for shared-use dual-port predicted error array
US7330595B2 (en) System and method for video data compression
US20030147468A1 (en) Image data coding apparatus capable of promptly transmitting image data to external memory
JPH08163561A (ja) 画像データ圧縮装置
Ngai et al. A scalable chip set for MPEG2 real-time encoding
JP2004236321A (ja) ビデオデータ圧縮のための装置及び方法
JP2002077912A (ja) 画像符号化装置
KR20060034269A (ko) 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법

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