JP2002534865A - Video memory management for MPEG video decoding and display system - Google Patents
Video memory management for MPEG video decoding and display systemInfo
- Publication number
- JP2002534865A JP2002534865A JP2000591813A JP2000591813A JP2002534865A JP 2002534865 A JP2002534865 A JP 2002534865A JP 2000591813 A JP2000591813 A JP 2000591813A JP 2000591813 A JP2000591813 A JP 2000591813A JP 2002534865 A JP2002534865 A JP 2002534865A
- Authority
- JP
- Japan
- Prior art keywords
- video
- data
- memory
- video memory
- display
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】 ビデオイメージを表現しかつこのビデオイメージを表示するビデオビットストリームを復号・表示するためのシステムおよび方法。本発明は、特にMPEG−2フォーマットビデオイメージの表示に適合した分割メモリマネージャデザインを開示している。さらに、本発明は、ビデオ復号・表示システムにおいて用いられる新規なビデオメモリ管理方法を開示している。最後に、開示されたビデオ復号・表示システムを実行るためのフレーム内ビデオデータ圧縮システムおよび方法が開示されている。 A system and method for decoding and displaying a video bitstream representing a video image and displaying the video image. The present invention discloses a split memory manager design specifically adapted for displaying MPEG-2 format video images. Further, the present invention discloses a novel video memory management method used in a video decoding / display system. Finally, an intra-frame video data compression system and method for performing the disclosed video decoding and display system is disclosed.
Description
【0001】[0001]
本発明は、MPEG("Moving Picture Experts Groups")復号・表示システ
ムに関し、より詳細には、ビデオイメージの復号・表示用のMPEG復号・表示
システムで必要とされるビデオメモリサイズの減少に関する。The present invention relates to MPEG ("Moving Picture Experts Groups") decoding and display systems, and more particularly to reducing the video memory size required in MPEG decoding and display systems for decoding and displaying video images.
【0002】[0002]
1980年代末期、モーションビデオおよびそれに関連する音声を第1世代C
D−ROM上に1.4Mビット/秒で載せる必要が生じた。この目的のため、1
980年代末期および1990年代初頭、ISO(「国際標準化機構」)MPE
G委員会は、ビデオおよび2チャンネルステレオ音声のためのデジタル圧縮規格
を開発した。この規格は、通称MPEG−1、公式にはISO11172として
知られている。In the late 1980's, motion video and related audio were transferred to the first generation C
It became necessary to mount the data on the D-ROM at 1.4 Mbit / sec. For this purpose, 1
In the late 980s and early 1990s, the ISO ("International Organization for Standardization") MPE
The G Committee has developed a digital compression standard for video and two-channel stereo audio. This standard is commonly known as MPEG-1, officially known as ISO 11172.
【0003】 MPEG−1に続き、衛星、カセットテープ、放送およびCATVなどの伝送
媒体用のエンターテインメントテレビを圧縮する必要が生じた。従って、フル解
像度の標準解像度テレビ(SDTV)画像または高品位テレビ(HDTV)画像
用のデジタル圧縮方法を利用可能にするため、ISOは通称MPEG−2、公式
にはISO13818として知られる第2の規格を開発した。MPEG−2を最
適化するために選ばれたビットレートは、SDTVについては4Mビット/秒お
よび9Mビット/秒、HDTVについては20Mビット/秒であった。Following MPEG-1, a need has arisen to compress entertainment television for transmission media such as satellite, cassette tape, broadcast and CATV. Therefore, to make available a digital compression method for full resolution standard definition television (SDTV) images or high definition television (HDTV) images, the ISO is a second standard, commonly known as MPEG-2, officially known as ISO13818. Was developed. The bit rates chosen to optimize MPEG-2 were 4 Mbit / s and 9 Mbit / s for SDTV and 20 Mbit / s for HDTV.
【0004】 MPEG−1規格もMPEG−2規格も、どの符号化方法を使用するか、符号
化プロセス、または符号器の詳細について規定していない。これらの規格は、復
号器へのデータ入力を表現するためのフォーマット、およびこれらのデータを解
釈するためのルールセットを規定しているのみである。データを表すためのこれ
らのフォーマットは、構文と呼ばれ、ビットストリームと称される種々の有効な
データストリームを構築するのに用いることができる。データを解釈するための
ルールは、復号意味論と呼ばれる。復号意味論の順序集合は、復号プロセスと呼
ばれる。[0004] Neither the MPEG-1 nor the MPEG-2 standard specifies which encoding method to use, the encoding process, or the details of the encoder. These standards only specify a format for representing the data input to the decoder and a set of rules for interpreting these data. These formats for representing data are called syntax and can be used to construct various valid data streams called bitstreams. The rules for interpreting the data are called decoding semantics. The ordered set of decoding semantics is called the decoding process.
【0005】 MPEG構文は、空間的冗長性と時間的冗長性の両方を利用する種々の符号化
方法をサポートしている。空間的冗長性は、8×8画素ブロックのブロックベー
スの離散コサイン変換(「DCT」)符号化を用いて利用され、その後に量子化
、ジグザグスキャン、および0量子化されたインデックスおよびこれらインデッ
クスの振幅の可変長符号化が行なわれる。DCT係数の知覚的重み付け量子化を
可能にする量子化行列は、知覚的に無関係の情報を捨てるために用いることがで
き、従って、符号化効率がさらに向上する。一方、時間的冗長性は、動き補償予
測、順方向予測、逆方向予測および双方向予測を用いて利用される。[0005] The MPEG syntax supports various encoding methods that make use of both spatial and temporal redundancy. Spatial redundancy is exploited using block-based discrete cosine transform ("DCT") coding of 8x8 pixel blocks, followed by quantization, zigzag scanning, and zero-quantized indices and the index of these indices. Variable length coding of the amplitude is performed. A quantization matrix that allows perceptually weighted quantization of DCT coefficients can be used to discard perceptually irrelevant information, thus further improving coding efficiency. On the other hand, temporal redundancy is used using motion compensated prediction, forward prediction, backward prediction, and bidirectional prediction.
【0006】 MPEGは2タイプのビデオデータ圧縮方法、すなわちフレーム内符号化およ
びフレーム間符号化を提供する。[0006] MPEG provides two types of video data compression methods: intra-frame coding and inter-frame coding.
【0007】 フレーム内符号化は、空間的冗長性を利用するためのものである。対話的要件
の多くは、フレーム内符号化のみで満たし得る。しかしながら、低ビットレート
のいくつかのビデオ信号においては、フレーム内符号化のみで達成できる画像品
質は十分ではない。[0007] Intra-frame coding is to take advantage of spatial redundancy. Many of the interactive requirements can be met with intra-frame coding alone. However, for some low bit rate video signals, the image quality achievable with intraframe coding alone is not sufficient.
【0008】 従って、時間的冗長は、予測エラーと呼ばれるフレーム間差信号を計算するM
PEGアルゴリズムにより利用される。予測エラーの計算において、動き補償の
技術は、動きについての予測を補正するために使用される。H.261における
ように、マクロブロック(MB)アプローチは、MPEGにおける動き補償に採
用されている。前方向予測と呼ばれる一方向の運動評価において、符号化しよう
とするピクチャ内の目標MBは、参照ピクチャと呼ばれる過去のピクチャ内の同
サイズの移動されたマクロブロックのセットと突き合わせられる。H.261に
おけるように、目標マクロブロックに最もよく一致する参照ピクチャ内のマクロ
ブロックが予測MBとして用いられる。予測エラーは、次に目標マクロブロック
と予測マクロブロックとの差として計算される。[0008] Thus, the temporal redundancy is calculated by calculating an inter-frame difference signal called a prediction error.
Used by the PEG algorithm. In calculating the prediction error, motion compensation techniques are used to correct the prediction for motion. As in H.261, the macroblock (MB) approach has been adopted for motion compensation in MPEG. In one-way motion estimation, called forward prediction, a target MB in a picture to be coded is matched with a set of same-sized moved macroblocks in a past picture, called a reference picture. As in H.261, the macroblock in the reference picture that best matches the target macroblock is used as the prediction MB. The prediction error is then calculated as the difference between the target macroblock and the predicted macroblock.
【0009】 I.ピクチャバッファサイズ (1)2つの参照フレーム 要約すれば、MPEG−2はビデオピクチャを3タイプのピクチャ(すなわち
、イントラ「I」、予測「P」および双方向予測「B」)に分割する。定義によ
り、Iピクチャ内のすべてのマクロブロックは、(ベースラインJPEGピクチ
ャのように)符号化イントラでなければならない。さらに、Pピクチャ内のマク
ロブロックはイントラあるいは非イントラとして符号化し得る。Pピクチャの非
イントラ符号化の間に、Pピクチャは、前に再構築されたピクチャから一時的に
予測され、それにより直前のIまたはPピクチャについて符号化される。最後に
、B(すなわち双方向的予測)ピクチャ内のマクロブロックは、独立して、イン
トラあるいは順方向予測、逆方向予測または順方向および逆方向(補間)予測な
どの非イントラとして選択され得る。Bピクチャの非イントラ符号化の間に、ピ
クチャは、直後のIまたはPピクチャだけでなく、直前のIまたはPピクチャを
基準として符号化される。符号化順序については、Pピクチャは因果的であるの
に対し、Bピクチャは因果的ではなく、予測用に偶然に符号化された2つの包囲
するピクチャを使う。圧縮効率については、Iピクチャは効率が最も低く、Pピ
クチャは多少よく、Bピクチャは最も効率的である。I. Picture Buffer Size (1) Two Reference Frames In summary, MPEG-2 divides a video picture into three types of pictures (i.e., intra "I", prediction "P", and bidirectional prediction "B"). By definition, all macroblocks in an I picture must be coded intra (like a baseline JPEG picture). Further, macroblocks in a P picture may be encoded as intra or non-intra. During non-intra coding of a P-picture, the P-picture is temporarily predicted from a previously reconstructed picture, thereby being coded for the immediately preceding I or P picture. Finally, the macroblocks in the B (ie, bidirectionally predicted) picture may be independently selected as intra or non-intra, such as forward, backward or forward and backward (interpolated) prediction. During non-intra coding of B pictures, pictures are coded with respect to the immediately preceding I or P picture as well as the immediately preceding I or P picture. As for the coding order, P pictures are causal, while B pictures are not, and use two surrounding pictures that are accidentally coded for prediction. With regard to the compression efficiency, the I picture has the lowest efficiency, the P picture is somewhat better, and the B picture is the most efficient.
【0010】 すべてのマクロブロックヘッダーは、マクロブロックタイプと呼ばれる要素を
含み、これはスイッチのようにこれらのモードをオンおよびオフにできる。マク
ロブロック(または、MPEG−2におけるようなモーションタイプ)タイプは
、ことによると、ビデオ構文全体の中で単独で最も強力な要素である。ピクチャ
タイプ(I、PおよびB)は、単に、意味論の範囲を広げてマクロブロックモー
ドを可能にする。[0010] All macroblock headers include an element called a macroblock type, which can turn these modes on and off like a switch. The macroblock (or motion type as in MPEG-2) type is perhaps the single most powerful element in the overall video syntax. The picture types (I, P and B) simply extend the semantics and enable macroblock mode.
【0011】 ピクチャのシーケンスは、I、PおよびBピクチャのほとんどどのようなパタ
ーンからでも成り得る。固定パターン(例えば、IBBPBBPBBPBBPB
B)を持つことは工業的には一般的であるけれども、より進化した符号器は、よ
りグローバルな特徴の文脈中のローカルなシーケンスの特徴に従って3つのピク
チャタイプの配置を最適化することを試みるであろう。A sequence of pictures can consist of almost any pattern of I, P and B pictures. Fixed pattern (for example, IBBPBBPBBPBBPB
Although having B) is industrially common, more advanced encoders attempt to optimize the placement of the three picture types according to local sequence features in the context of more global features. Will.
【0012】 上記で説明したように、Bピクチャを再構築するためには復号器は2つの参照
フレーム(すなわち、2つのPフレーム、PおよびIフレーム各1つ、または2
つのIフレーム)を必要とするので、ビデオ復号・表示システムは、2つの参照
フレームを格納するために、ビデオメモリの少なくとも2つのフレームを割り当
てなければならない。As described above, in order to reconstruct a B picture, the decoder must use two reference frames (ie, two P frames, one P and one I frame, or two
(One I frame), the video decoding and display system must allocate at least two frames in video memory to store two reference frames.
【0013】 (2)2つの半フレーム (I)インターレースビデオ さらに、MPEG−2は、フレームがプログレッシブに符号化、またはインタ
ーレースされ「プログレッシブフレーム」変数により信号で伝えられ得ることを
定義する。(2) Two Half-Frames (I) Interlaced Video In addition, MPEG-2 defines that frames can be progressively encoded or interlaced and signaled by a “progressive frame” variable.
【0014】 プログレッシブフレームは、フィルムから組織されたビデオ材料のための論理
選択であり、そこではすべての「画素」が統合、すなわちほとんど同じ瞬間にキ
ャプチャされる。ピクチャ上の場面の光学的イメージは、1度に1ラインが、左
から右そして上から下へ走査される。垂直方向に表し得る細部は、走査線数によ
り制限される。従って、ラスタ走査低下の結果として、垂直解像度の細部のいく
らかが失われる。同様に、各走査線のサンプリングのため、水平方向の細部のい
くらかが失われる。A progressive frame is a logical choice for video material organized from film, where all “pixels” are integrated, ie, captured at about the same moment. The optical image of the scene on the picture is scanned one line at a time, left to right and top to bottom. The details that can be represented in the vertical direction are limited by the number of scan lines. Thus, some vertical resolution detail is lost as a result of raster scan degradation. Similarly, some horizontal detail is lost due to the sampling of each scan line.
【0015】 走査線の選択は、帯域幅、フリッカおよび解像度の矛盾した要件間のトレード
オフを伴う。インターレースフレーム走査は、異なる時間にサンプリングされた
2つのフィールドのラインで構成されたフレームを用いてこれらのトレードオフ
を達成しようとし、2つのフィールドのラインはインターリーブされており、そ
れにより、フレームの2つの連続するラインは交互のフィールドに属する。これ
は空間的および時間的解像度における垂直−時間的トレードオフである。The selection of scan lines involves a trade-off between conflicting requirements for bandwidth, flicker and resolution. Interlaced frame scanning attempts to achieve these trade-offs using frames composed of lines of two fields sampled at different times, the lines of the two fields being interleaved, and thus the two Two consecutive lines belong to alternating fields. This is a vertical-temporal trade-off in spatial and temporal resolution.
【0016】 インターレースされたピクチャのために、MPEG−2は2つの「ピクチャ構
造」の選択を提供する。「フィールドピクチャ」では、各々がマクロブロックに
分割されて、かつ別々に符号化される個々のフィールドから構成される。他方、
「フレームピクチャ」で、各インターレースされたフィールドペアは、1つのフ
レームに共にインターリーブされ、そのフレームは次にマクロブロックに分割さ
れ、符号化される。MPEG−2は、インターレースされたビデオが交互のトッ
プおよびボトムフィールドとして表示されることを必要とする。しかしながら、
フレーム内では、トップまたはボトムフィールドの一方が、一時的に最初に符号
化され、フレームの第1フィールドピクチャとして送られる。フレーム構造の選
択は、MPEG−2パラメータの1つにより示される。[0016] For interlaced pictures, MPEG-2 offers two "picture structure" options. A "field picture" is composed of individual fields that are each divided into macroblocks and encoded separately. On the other hand,
In a "frame picture", each interlaced field pair is interleaved together into one frame, which is then divided into macroblocks and encoded. MPEG-2 requires that interlaced video be displayed as alternating top and bottom fields. However,
Within a frame, one of the top or bottom fields is temporarily coded first and sent as the first field picture of the frame. The choice of frame structure is indicated by one of the MPEG-2 parameters.
【0017】 インターレースされたフレームピクチャを処理する従来の復号・表示システム
においては、たとえトップフィールドおよびボトムフィールドのために再構築さ
れた両方のデータが復号器により同時に生成されたとしても、ボトムフィールド
はトップフィールドの表示完了後にやっと表示されるか、あるいは逆の場合も同
じである。ボトムフィールド表示においては、この遅延のため、遅延したものに
ついてボトムフィールドを格納するために、1フィールド(半フレーム)サイズ
のバッファが必要である。付加的な1フィールド(半フレーム)のこの付加的な
ビデオメモリ要件が、2つの参照フレーム(すなわち、Iおよび/またはPフレ
ーム)を格納するために必要な2つのフレームの上述の要件に加えられることに
留意されたい。In a conventional decoding and display system for processing interlaced frame pictures, the bottom field is generated even if both data reconstructed for the top field and the bottom field are generated simultaneously by the decoder. It is displayed only after the display of the top field is completed, or vice versa. In the bottom field display, due to this delay, a buffer of one field (half frame) size is required to store the bottom field for the delayed one. This additional video memory requirement of one additional field (half frame) is in addition to the above requirement of two frames needed to store two reference frames (ie, I and / or P frames). Note that
【0018】 (ii)3:2プルダウン リピート・ファースト・フィールドは、現在のフレームからのフィールドまた
はフレームが、フレームレート変換の目的のために繰り返されるべきである(3
0Hz表示対24Hz符号化の下記例のように)ことを信号で伝えるために、M
PEG−2に導入された。平均して、24フレーム/秒符号化シーケンスにおい
て、1つおきの符号化されたフレームは、リピート・ファースト・フィールドフ
ラッグを信号で伝えるであろう。従って、24フレーム/秒(または48フィー
ルド/秒)符号化シーケンスは、30フレーム/秒(60フィールド/秒)表示
シーケンスになるであろう。このプロセスは数十年来、3:2プルダウンとして
知られている。テレビ出現以来、NTSCディスプレイ上で見られたほとんどの
映画は、この方法で表示されてきた。MPEG−2フォーマットにおいては、リ
ピート・ファースト・フィールドフラッグはあらゆるフレーム構造化ピクチャに
おいて独立して決定されるので、実際のパターンは不規則となり得る(それは、
文字どおり1つ置きのフレームである必要はない)。(Ii) 3: 2 pulldown The repeat first field is that fields or frames from the current frame should be repeated for frame rate conversion purposes (3
To signal (as in the following example of 0 Hz display versus 24 Hz encoding):
Introduced into PEG-2. On average, in a 24 frame / s coded sequence, every other coded frame will signal a repeat first field flag. Thus, a 24 frame / s (or 48 fields / s) encoding sequence would result in a 30 frames / s (60 fields / s) display sequence. This process has been known for decades as 3: 2 pulldown. Since the advent of television, most movies watched on NTSC displays have been displayed in this manner. In the MPEG-2 format, the actual pattern can be irregular since the repeat first field flag is determined independently in every frame structured picture (which is
It doesn't have to be literally every other frame).
【0019】 MPEG−2ビデオについては、ビデオディスプレイおよびメモリコントロー
ラは、復号されたビデオデータと共に来るフラッグをチェックすることにより、
いつ3:2プルダウンを実行するかを自身で決定しなければならない。MPEG
−2は、フレームまたはフィールドが繰り返されるべきかどうかを明示的に記述
する2つのフラッグ(リピート・ファースト・フィールドおよびトップ・フィー
ルド・ファースト)を提供する。プログレッシブシーケンスにおいては、フレー
ムは2ないし3回繰り返され得る。一方、シンプルおよびメインプロファイルは
、繰り返されたフィールドにのみ限定される。さらに、リピート・ファースト・
フィールドは、プログレッシブフレーム構造化ピクチャにおいてのみ信号で伝え
られ得る(値=1)ということは一般的な構文上の制限である。For MPEG-2 video, the video display and memory controller checks the flag that comes with the decoded video data,
You have to decide yourself when to perform the 3: 2 pulldown. MPEG
-2 provides two flags (repeat first field and top field first) that explicitly state whether the frame or field should be repeated. In a progressive sequence, a frame may be repeated two or three times. On the other hand, the simple and main profiles are limited to repeated fields only. In addition, repeat first
It is a general syntactical restriction that a field can only be signaled in a progressive frame structured picture (value = 1).
【0020】 例えば、最も一般的なシナリオでは、1つのフィルムシーケンスは毎秒24フ
レームを含む。しかしながら、シーケンスヘッダー中のフレームレートエレメン
トは、30フレーム/秒を示すであろう。平均して、1つおきの符号化されたフ
レームは、フレームレートを24Hzから30Hzまで水増しするために、リピ
ートフィールド(リピート・ファースト・フィールド=1)の信号を送る。すな
わち、(24符号化フレーム/秒)*(2フィールド/符号化フレーム)*(5
表示フィールド/4符号化フィールド)=60表示フィールド/秒=30表示フ
レーム/秒。For example, in the most common scenario, one film sequence includes 24 frames per second. However, the frame rate element in the sequence header will indicate 30 frames / sec. On average, every other coded frame signals a repeat field (repeat first field = 1) to inflate the frame rate from 24 Hz to 30 Hz. That is, (24 encoded frames / second) * (2 fields / coded frame) * (5
(Display field / 4 encoded field) = 60 display fields / sec = 30 display frames / sec.
【0021】 3:2プルダウン能力を有するシステムについては、ビデオメモリの別の余分
な1フィールド(半フレーム)が、最初に表示されたフィールドを後に繰り返す
目的で格納するために必要とされる(3:2プルダウンプロトコルによる)。な
ぜならば、最初に表示されたフィールドは、第2フィールドの表示終了後に表示
用に再度必要とされるからである。この要件を説明すると、復号中にトップフィ
ールドが表示されると、次にボトムフィールドはトップフィールドの表示完了に
続いて表示されるであろう。しかしながら、このトップフィールドは、システム
がボトムフィールド表示を終了した後に再び表示用に必要とされるであろう(す
なわち、3:2プルダウン)。トップフィールドは、2つの異なる瞬間(すなわ
ち、ボトムフィールド表示の前後)に表示用に必要とされるので、トップフィー
ルドを格納するためにビデオメモリの別の半フレーム(1フィールド)が必要に
なる。2つの参照フレームを格納するのに必要な上記の2.5フレームに、イン
ターレースされたピクチャを表示するためにの半フレームを加えて、MPEG−
2ビデオピクチャを表示するために、従来システムは合計3フレームのビデオメ
モリを必要とする。For systems with 3: 2 pulldown capability, another extra field (half frame) of video memory is needed to store the first displayed field for later repetition (3). : 2 pulldown protocol). This is because the first displayed field is needed again for display after the second field has been displayed. To illustrate this requirement, if the top field is displayed during decoding, then the bottom field will be displayed following completion of the display of the top field. However, this top field will be needed for display again after the system has finished the bottom field display (ie, 3: 2 pulldown). Since the top field is needed for display at two different moments (ie, before and after the bottom field display), another half frame (one field) of video memory is needed to store the top field. In addition to the above 2.5 frames needed to store two reference frames, a half frame for displaying interlaced pictures is added to the MPEG-frame.
In order to display two video pictures, conventional systems require a total of three frames of video memory.
【0022】 (iii)静止フレーム いくつかの新設計のMPEG−2ビデオ復号・表示システムでは、現在表示中
のフレームを利用者が静止させることもできる。「静止フレーム」条件下では、
ビデオ復号・表示システムは、利用者からさらに指示があるまで現在表示中のピ
クチャを繰り返し表示する。停止中はそれ以上の復号および3:2プルダウンが
必要とされないので、上述の2つの半フレーム(すなわち、インターレースされ
たピクチャの表示と3:2プルダウン用)は要求されない。しかしながら、もし
表示中のフリーズされたフレームがプログレッシブBフレームであれば、Bフレ
ーム全体がビデオシステム中に格納される必要があるので、現在表示中のBフレ
ームを格納するために、ビデオメモリの余分なフレームが必要である。フリーズ
されたフレームがIまたはPフレームであれば、余分なビデオメモリが全く必要
とされないことは真実である。なぜなら、これら2つの参照フレームはすでにビ
デオメモリ中に(順方向予測フレームおよび逆方向予測フレームとして)格納さ
れているからである。しかしながら、通常Bフレームは参照用にビデオメモリ中
に格納されないので、ビデオメモリの余分なフレームがBフレーム表示用に必要
である。従って、Bフレームピクチャの正確なイメージを表示するためには、参
照フレームを格納するために必要な2つのフレームに加え、ビデオメモリの別の
フルフレームが必要である。(Iii) Still Frames Some newly designed MPEG-2 video decoding and display systems allow the user to freeze the currently displayed frame. Under "still frame" conditions,
The video decoding / display system repeatedly displays the currently displayed picture until further instructed by the user. During stop, no further decoding and 3: 2 pulldown are required, so the two half-frames described above (ie, for displaying interlaced pictures and 3: 2 pulldown) are not required. However, if the frozen frame being displayed is a progressive B frame, then the entire B frame needs to be stored in the video system, so extra video memory is needed to store the currently displayed B frame. Frame is needed. If the frozen frame is an I or P frame, it is true that no extra video memory is needed. This is because these two reference frames are already stored in the video memory (as forward predicted frames and backward predicted frames). However, extra B-frames are needed for B-frame display, since B-frames are not normally stored in the video memory for reference. Thus, to display an accurate image of a B-frame picture requires another full frame of video memory in addition to the two frames needed to store the reference frame.
【0023】 II.従来のビデオ復号・表示システムが直面する問題 MPEG−2メインプロファイル・メインレベルシステムは、CCIR601
パラメータにおいてサンプリング限界(NTSCについては720×480×3
0Hz、PALについては720×576×24Hz)を有すると規定されてい
る。用語「プロファイル」は、MPEGにおいて使われる構文(すなわち、アル
ゴリズム)を限定するために用いられ、用語「レベル」は、符号化パラメータ(
サンプルレート、フレーム寸法、符号化されたビットレート等)を限定するため
に用いられる。それと共に、ビデオメインプロファイル・メインレベルは、複雑
さを1994VLSI技術の実現可能な制限で標準化し、それでもやはり大半の
アプリケーションの要求を満たす。II. Problems faced by conventional video decoding and display systems The MPEG-2 main profile main level system is based on CCIR601.
Sampling limit in parameters (720 × 480 × 3 for NTSC)
0 Hz, and 720 × 576 × 24 Hz for PAL). The term “profile” is used to limit the syntax (ie, algorithm) used in MPEG, and the term “level” is used to describe the encoding parameters (
Sample rate, frame size, encoded bit rate, etc.). At the same time, the video main profile main level standardizes complexity with the feasible limitations of the 1994 VLSI technology and still meets the requirements of most applications.
【0024】 CCIR601レートビデオについては、PAL/SECAM復号・表示シス
テムに必要な3フレームが、復号器のビデオメモリ要件を、通常の16Mビット
(2Mバイト)限界を越えて、32−Mビットの次のレベルのメモリデザインへ
と押しやる。このメモリ制約は、アメリカ特許第5,646,693号(199
7年7月8日、Cismasに対し発行され、本出願と同じ譲受人に譲渡された
)中で論じられている。Cismas引例はこれにより、参照により完全に含ま
れる。従来技術においてよく立証されてきたように、ビデオメモリを16−Mビ
ット以上に増大させると、メモリコントローラのデザインを複雑にし、また別の
16Mビットビデオメモリの製造費用が加わることになるであろう。For CCIR 601 rate video, the three frames required for a PAL / SECAM decoding and display system exceed the decoder's video memory requirements beyond the normal 16 Mbit (2 Mbyte) limit to 32 Mbit To the next level of memory design. This memory constraint is discussed in U.S. Pat. No. 5,646,693 (199).
(Issued to Cismas on July 8, 2007, and assigned to the same assignee as the present application). The Cismas reference is hereby fully included by reference. As has been well documented in the prior art, increasing video memory beyond 16-Mbits would complicate the design of the memory controller and add to the cost of manufacturing another 16Mbit video memory. .
【0025】[0025]
【発明が解決しようとする課題】 Cismasは、サイズが通常のビデオメモリ要件よりも小さい(すなわち、
メモリの3フレーム)フレームバッファを用いて、MPEGビデオの復号・表示
を行なうシステムおよび方法を開示している。復号・表示の間、Cismasの
システムは、完全な第2のフィールドを格納する代わりに、第1のフィールドが
表示されつつある時は、第2のフィールドの一部のみを格納する。表示のために
第2のフィールドが必要になると、復号器は、第2のフィールドの足りない部分
を再度復号して、第2のフィールド表示用の残りのデータを生成する。第2のフ
ィールドを表示するために、最初に表示されたフィールドについて割り当てられ
た同じ格納場所を再度利用することによって、復号・表示システムは、メモリの
半フレームまでの節約をする(パーティションの数による)。しかしながら、表
示中のビデオメモリ不足の問題をCismasシステムがたとえ解決したとして
も、Cismasシステムは、第2のフィールドの足りない部分を2度目に復号
するための付加的な復号パワーを必要とする。従って、ビデオメモリの要件を低
減する一方で、第2の復号段階を無くすというCismasと同じ目的を達成で
きる新しいビデオメモリ管理システムが望まれている。Cismas are smaller in size than normal video memory requirements (ie,
A system and method for decoding and displaying MPEG video using a (3 frames of memory) frame buffer is disclosed. During decryption and display, the Cismas system stores only a portion of the second field when the first field is being displayed, instead of storing the complete second field. When the second field is needed for display, the decoder re-decodes the missing portion of the second field to generate the remaining data for the second field display. By reusing the same storage location allocated for the first displayed field to display the second field, the decoding and display system saves up to half a frame of memory (depending on the number of partitions). ). However, even though the Cismas system solves the problem of lack of video memory during display, the Cismas system requires additional decoding power to decode the missing portion of the second field a second time. Therefore, there is a need for a new video memory management system that can achieve the same purpose as Cismas, while reducing video memory requirements while eliminating the second decoding stage.
【0026】 本発明の付加的な目的および利点は、以下の説明中で述べられ、またその説明か
らある程度明らかになるか、あるいは本発明の実施により学ばれ得る。本発明の
目的および利点は、特に特許請求の範囲において指摘される手段および組合せに
よって実現および達成され得る。[0026] Additional objects and advantages of the invention will be set forth in the description which follows, and will in part be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and attained by means of the instruments and combinations particularly pointed out in the appended claims.
【0027】[0027]
本発明は、圧縮されたビデオデータのビットストリームの復号・表示に用いら
れるビデオメモリを取り扱うための改良されたビデオメモリコントロールシステ
ムに向けられている。詳細には、本発明は、圧縮されたビデオデータのビットス
トリームの受信、圧縮されたビデオデータの復号、およびその中に含まれている
イメージの表示のためのビデオメモリ管理システムに向けられている。The present invention is directed to an improved video memory control system for handling video memory used for decoding and displaying a bit stream of compressed video data. In particular, the present invention is directed to a video memory management system for receiving a bit stream of compressed video data, decoding the compressed video data, and displaying the images contained therein. .
【0028】 このメモリ管理システムの1つの側面は、ビデオメモリ管理を取り扱うための
モジュール式メモリ管理システムまたは装置を提供することである。より詳細に
は、本発明のビデオ復号・表示システムは、2つの別個のメモリマネージャを有
する分割メモリマネージャから成る。これらのメモリマネージャの各々は、特定
のメモリ管理機能を取り扱う。メモリ管理機能を種々のメモリマネージャ間で分
けることにより、ビデオデータの復号・表示はより効率的に実行できる。One aspect of this memory management system is to provide a modular memory management system or apparatus for handling video memory management. More specifically, the video decoding and display system of the present invention comprises a split memory manager having two separate memory managers. Each of these memory managers handles a specific memory management function. By dividing the memory management function among various memory managers, decoding and displaying of video data can be executed more efficiently.
【0029】 本発明の別の側面は、ビデオメモリの斬新な処理および取り扱方法を提供する
ことで、これによりMPEG−2データストリームの効率的な取り扱い方法が提
供される。特に、セグメント化された再利用可能なビデオメモリ管理システムが
開示されている。Another aspect of the present invention is to provide a novel way of processing and handling video memory, which provides an efficient way of handling MPEG-2 data streams. In particular, a segmented reusable video memory management system is disclosed.
【0030】 本発明の別の側面は、ビデオ復号・表示システムに必要とされるビデオメモリ
のサイズをさらに減らすことが可能なフレーム内ビデオデータ圧縮システムを提
供することである。Another aspect of the present invention is to provide an intra-frame video data compression system that can further reduce the size of video memory required for a video decoding and display system.
【0031】 添付図面は、本明細書中に含まれかつその一部を構成しており、本発明の好ま
しい実施態様を例示するもので、上述の全般的説明および以下に示される好まし
い実施態様の詳細な説明と共に、本発明の原理の説明を助けるものである。The accompanying drawings, which are included in and constitute a part of this specification, illustrate preferred embodiments of the present invention and which are incorporated by reference in the above general description and the preferred embodiments set forth below. Together with the detailed description, it helps explain the principles of the invention.
【0032】[0032]
本発明は、いくつかの好ましい実施態様について説明される。好ましい実施態
様は、ビデオデータの取り扱いおよび処理のための装置および方法である。以下
の本発明の3つの側面が詳細に論じられる。すなわち、(1)分割ビデオメモリ
マネージャ、(2)セグメント化再利用可能メモリデザイン(本発明者により「
ローリングメモリデザイン」と名付けられている)、および(3)方法および用
途を考慮しないシンプル固定低ビットレート補助圧縮技術(本発明者により「F
lexiRam」と名付けられている)である。本発明のこれら3つの側面すべ
ては、ビデオメモリデータの効率的取り扱いについて開示され、単独のビデオ復
号・表示システムにおいて実行できる。The invention has been described with reference to some preferred embodiments. A preferred embodiment is an apparatus and method for handling and processing video data. The following three aspects of the invention are discussed in detail. That is, (1) a divided video memory manager, and (2) a segmented reusable memory design (by the present inventors,
And (3) a simple fixed low bit rate auxiliary compression technique that does not consider the method and application ("F" by the present inventor).
lexiRam "). All three aspects of the invention are disclosed for efficient handling of video memory data and can be implemented in a single video decoding and display system.
【0033】 1.分割ビデオメモリマネージャ 図1は、従来のビデオ復号・表示システムを示すもので、復号器110、メモ
リマネージャ120、ビデオメモリ130、および表示サブシステム140から
成っている。符号化されたビデオデータの連続したビットストリームは、復号お
よび表示のため復号器110に供給される。ビデオデータの連続したビットスト
リームは、全体的なシステムデザインに応じて、一定または可変ビットレートで
供給される。復号器110はビットストリームを復元し、次に復元されたデータ
をメモリマネージャ120に供給する。メモリマネージャ120は、復元された
ビデオデータをビデオメモリ130中に格納し、そのビデオデータを表示サブシ
ステム140に供給する役割を果たしている。[0033] 1. FIG. 1 shows a conventional video decoding / display system, which comprises a decoder 110, a memory manager 120, a video memory 130, and a display subsystem 140. A continuous bit stream of encoded video data is provided to decoder 110 for decoding and display. A continuous bit stream of video data is provided at a constant or variable bit rate, depending on the overall system design. The decoder 110 restores the bit stream, and then supplies the restored data to the memory manager 120. The memory manager 120 is responsible for storing the restored video data in the video memory 130 and supplying the video data to the display subsystem 140.
【0034】 ビデオメモリ130は基本的に、2つの主要な機能を果たしている。すなわち
、第1に、これはビデオデータの入り来るビットストリームの復号と復号された
ビデオイメージの表示との間で異なる処理測度を緩衝するためのビデオデータバ
ッファとして働く。ビデオイメージ表示のいかなる中断も防止するため、復号器
110は、表示サブシステム140からの要求よりも速くビデオデータを復元す
ることが一般に要求される。第2に、ビデオメモリ130は、参照フレームデー
タ(すなわち、IおよびPフレーム)を格納し、データの入り来るビットストリ
ームからビデオイメージを再構築するために復号器110に提供することが必要
である。従って、図1に示すように、復号器110とメモリマネージャ120と
の間のデータバスは双方向であり、それにより復元されたデータは、メモリマネ
ージャ120へおよびそこから流れている。The video memory 130 basically performs two main functions. That is, first, it serves as a video data buffer to buffer different processing measures between decoding the incoming bit stream of video data and displaying the decoded video image. To prevent any interruption of video image display, decoder 110 is generally required to recover video data faster than requested from display subsystem 140. Second, the video memory 130 needs to store reference frame data (ie, I and P frames) and provide it to the decoder 110 for reconstructing a video image from the incoming bit stream of the data. . Thus, as shown in FIG. 1, the data bus between the decoder 110 and the memory manager 120 is bi-directional, so that the recovered data flows to and from the memory manager 120.
【0035】 図2は、本発明により開示される斬新な分割メモリマネージャデザインを説明
するものである。図1に示すような従来のシングルメモリマネージャデザインの
代わりに、本発明のメモリマネージャは2つの別個のメモリマネージャから成っ
ている。すなわち、第1メモリマネージャ210と第2メモリマネージャ220
である。各メモリマネージャはビデオメモリ(すなわち、第1メモリ230およ
び第2メモリ240)に連結されている。FIG. 2 illustrates the novel partitioned memory manager design disclosed by the present invention. Instead of the conventional single memory manager design as shown in FIG. 1, the memory manager of the present invention consists of two separate memory managers. That is, the first memory manager 210 and the second memory manager 220
It is. Each memory manager is coupled to a video memory (ie, a first memory 230 and a second memory 240).
【0036】 前の段落で論じたように、基本的に、ビデオメモリに格納される2つのビデオ
データグループがある。参照フレームデータ(すなわち、IおよびPフレーム)
と、双方向フレームデータ(すなわち、Bフレーム)である。ビデオデータのこ
れら2つのグループは、復号および表示両方において異なって処理されるので、
ビデオデータのこれら2つのグループ間のビデオメモリの取り扱いはまったく異
なる。As discussed in the previous paragraph, there are basically two video data groups stored in video memory. Reference frame data (ie, I and P frames)
And bidirectional frame data (that is, B frame). Since these two groups of video data are processed differently in both decoding and display,
The handling of video memory between these two groups of video data is quite different.
【0037】 本発明の好ましい実施態様において、第1メモリマネージャ210および結合
第1メモリ230は、参照フレーム(すなわち、IおよびPフレーム)を取り扱
いかつ格納するために割り当てられるのに対し、第2メモリマネージャ220お
よび結合第2メモリ240は、双方向フレーム(すなわち、Bフレーム)データ
を取り扱いかつ格納するために割り当てられる。ビデオメモリコントローラを2
つの分離された別個のメモリコントローラに分割することにより、各種類のビデ
オデータを取り扱うのに最も効率的なメモリ管理および/または圧縮方法を実行
するために、2つのコントローラの各々を特別にデザインできる。従来のメモリ
マネージャを2つの別個のマネージャに分割することにより、従来のビデオ復号
・表示システムに優る、ビデオデータをより効率的に取り扱うことができる一方
で、単純なシステムデザインを有するという利点が本発明によりもたらされる。In a preferred embodiment of the present invention, the first memory manager 210 and the combined first memory 230 are allocated to handle and store reference frames (ie, I and P frames), while the second memory The manager 220 and the combined second memory 240 are allocated to handle and store bi-directional frame (ie, B-frame) data. 2 video memory controllers
By splitting into two separate and separate memory controllers, each of the two controllers can be specially designed to implement the most efficient memory management and / or compression method to handle each type of video data . Splitting the traditional memory manager into two separate managers allows for more efficient handling of video data over traditional video decoding and display systems, while having the advantage of having a simpler system design. Brought by the invention.
【0038】 例えば、Cismasが開示したビデオメモリ管理システムにおいては、メモ
リ管理方法はBフレームに向けられる。分割メモリマネージャデザインを用いた
好ましい実施態様においては、第1メモリマネージャ210または310および
付属する第1メモリ230または330が従来のビデオメモリ管理機能を実行す
るのに対して、第2メモリマネージャ220または320および付属する第2メ
モリ240または340のみがCismasのメモリ管理技術を実行するように
デザインすることができる。従って、個々の種類のビデオデータ用に特定のビデ
オメモリ管理技術をカスタマイズできるという本発明の能力は、従来デザインに
優るより大きなデザイン柔軟性をビデオシステム設計者にもたらす。For example, in the video memory management system disclosed by Cismas, the memory management method is directed to B frames. In a preferred embodiment using a split memory manager design, the first memory manager 210 or 310 and the associated first memory 230 or 330 perform conventional video memory management functions, while the second memory manager 220 or Only 320 and the associated second memory 240 or 340 can be designed to implement Cismas memory management techniques. Thus, the ability of the present invention to customize specific video memory management techniques for individual types of video data provides video system designers with greater design flexibility than conventional designs.
【0039】 さらに、別の好ましい実施態様においては、本発明は3つのメモリマネージャ
から成る。第1メモリマネージャはIフレームを取り扱う。第2マネージャはP
フレームを取り扱う。さらに、第3メモリマネージャはBフレームのみを取り扱
う。Further, in another preferred embodiment, the present invention comprises three memory managers. The first memory manager handles I frames. The second manager is P
Handle the frame. Furthermore, the third memory manager handles only B frames.
【0040】 別の好ましい実施態様においては、本発明は3つメモリマネージャから成る。
3つのメモリマネージャの各々は、3つの色成分(例えば、Y、U、およびV)
の1つを取り扱う。In another preferred embodiment, the present invention comprises three memory managers.
Each of the three memory managers has three color components (eg, Y, U, and V)
Handle one of the following.
【0041】 多数のメモリマネージャを有するさらなる好ましい実施態様においては、メモ
リマネージャの各々は、ビデオデータのタイプ(例えば、色成分)および/また
はグループ(例えば、参照フレームまたは双方向フレーム)の異なる組合せを取
り扱うことができる。例えば、好ましい実施態様においては、ビデオ復号・表示
システムは、Iピクチャ用のYクロマ成分を取り扱うための第1メモリマネージ
ャ、Bピクチャ用のUおよびVクロマ成分を取り扱うための第2メモリマネージ
ャ、IおよびPピクチャ用のUおよびVクロマ成分を取り扱うための第3メモリ
マネージャ、および残りのビデオデータを取り扱うための第4メモリマネージャ
から成る。4つのメモリマネージャの各々は、異なるメモリ管理技術を利用でき
る。In a further preferred embodiment having multiple memory managers, each of the memory managers can store different combinations of video data types (eg, color components) and / or groups (eg, reference frames or bidirectional frames). Can handle. For example, in a preferred embodiment, the video decoding and display system comprises a first memory manager for handling Y chroma components for I pictures, a second memory manager for handling U and V chroma components for B pictures, A third memory manager for handling U and V chroma components for P and P pictures, and a fourth memory manager for handling remaining video data. Each of the four memory managers can utilize different memory management techniques.
【0042】 本発明の分割メモリマネージャデザインによりもたらされるデザイン柔軟性は
ほとんど無制限なので、ビデオデータの特定の種類または定義に適合するように
、個々のメモリマネージャをカスタマイズし得る。Since the design flexibility provided by the split memory manager design of the present invention is almost unlimited, individual memory managers can be customized to fit a particular type or definition of video data.
【0043】 図3は、本発明の別の好ましい実施態様を示すものである。MPEG−2のメ
インプロファイル・メインレベルの定義の下では、リピート・ファースト・フィ
ールドは、PAL規格についてのBフレームについては許されない。従って、M
PEG−2メインプロファイル・メインレベルPALシステムについてデザイン
された好ましい実施態様においては、リピート・ファースト・フィールドは第2
メモリマネージャ320に供給される必要はない。なぜならば、第2メモリマネ
ージャ320はBフレームピクチャのみを処理するからである。しかしながら、
トップ・フィールド・ファースト信号は、インターレースされたピクチャを取り
扱うための第1メモリマネージャ310および第2メモリマネージャ320の両
方にとり依然として必要である。FIG. 3 illustrates another preferred embodiment of the present invention. Under the MPEG-2 main profile main level definition, repeat first fields are not allowed for B frames for the PAL standard. Therefore, M
In a preferred embodiment designed for the PEG-2 main profile main level PAL system, the repeat first field is the second
It need not be provided to the memory manager 320. This is because the second memory manager 320 processes only B frame pictures. However,
The top field first signal is still needed for both the first memory manager 310 and the second memory manager 320 to handle interlaced pictures.
【0044】 2.セグメント化された再利用可能なビデオメモリデザイン 本発明の別の側面は、フィールドピクチャおよびフレームピクチャ両方を取り
扱うことができるビデオ復号・表示システムのためのビデオメモリ割り当てを取
り扱う方法に向けられている。2. Segmented Reusable Video Memory Design Another aspect of the present invention is directed to a method of handling video memory allocation for a video decoding and display system capable of handling both field pictures and frame pictures.
【0045】 前に説明したように、MPEG−2は、インターレースされたピクチャに対し
2つのピクチャ構造の選択を提供する。フィールドピクチャは、各々がマクロブ
ロックに分割され、個別に符号化された個々のフィールドから成る。一方、フレ
ームピクチャでは、インターレースされた各フィールドペアは一緒に1つのフレ
ームにインターリーブされ、そのフレームは次にマクロブロックに分割され、符
号化される。MPEG−2は、インターレースされたビデオが交互のトップおよ
びボトムフィールドとして表示されることを必要とする。しかしながら、フレー
ム内では、トップまたはボトムフィールドの一方が一時的に先に符号化され、あ
らかじめ定められた定義に従ってフレームの第1フィールドピクチャとして送ら
れ得る。2つのピクチャ構造についての復号されたデータのシーケンスにおける
違いのため、これらの2つのフォーマットにより定義されたビデオデータの読み
取りおよび書き込みは、異なる2つの順番で実行される。As previously described, MPEG-2 offers a choice of two picture structures for interlaced pictures. A field picture consists of individually coded individual fields, each divided into macroblocks. On the other hand, in a frame picture, each interlaced field pair is interleaved together into one frame, which is then divided into macroblocks and encoded. MPEG-2 requires that interlaced video be displayed as alternating top and bottom fields. However, within a frame, one of the top or bottom fields may be temporarily coded first and sent as the first field picture of the frame according to a predefined definition. Due to differences in the sequence of decoded data for the two picture structures, reading and writing of video data defined by these two formats is performed in two different orders.
【0046】 図4は、本発明の好ましい実施態様を説明するものである。図に示されるよう
に、ビデオメモリ410は多数のメモリセグメントに区切られている。メモリセ
グメントの各々は、2つのフィールドのうちの1つのビデオデータの8本の連続
するラインを格納することができる。メモリマネージャは、2つのリスト、MS
(メモリセグメント)420およびDS(表示セグメント)430を作り出しか
つ維持する。各メモリセグメントは、メモリセグメントリスト420のエントリ
を介して、表示セグメントリスト430のエントリにより間接的にアドレス指定
される。MSリスト420は、ビデオメモリセグメントと同数のエントリを有し
、MSリストの各エントリは1つのメモリセグメントに対応している。好ましい
実施態様においては、MSリスト420は、48個のメモリセグメントをビデオ
メモリ410中にアドレスするための48個のエントリを有している。PALの
ケースについては、ビデオメモリ中の48個のメモリセグメントがフレームの2
/3に対応している。MSリスト420の各エントリは、ビデオメモリ410中
のメモリセグメントの第1セルアドレスを定義する20ビットアドレスを含んで
いる。これらのアドレスは、システム設計に応じて、静的または動的とし得る。
例えば、MPEG−2ビデオデータの復号・表示用に特にデザインされた専用シ
ステムにおいては、システムオーバーヘッドを減らすため、アドレスは、好まし
くは静的であって動的ではない。しかしながら、MPEG−1およびMPEG−
2ビデオデータ両方を表示可能なシステムのような多目的デジタル式復号・表示
システムにおいては、これらのアドレスは、種々のビデオメモリ管理方法に対処
できるように、好ましくは動的に維持される。FIG. 4 illustrates a preferred embodiment of the present invention. As shown, video memory 410 is partitioned into a number of memory segments. Each of the memory segments can store eight consecutive lines of video data in one of two fields. The memory manager has two lists, MS
(Memory Segment) 420 and DS (Display Segment) 430 are created and maintained. Each memory segment is addressed indirectly by an entry in the display segment list 430 via an entry in the memory segment list 420. The MS list 420 has the same number of entries as the video memory segments, and each entry in the MS list corresponds to one memory segment. In the preferred embodiment, MS list 420 has 48 entries for addressing 48 memory segments in video memory 410. For the PAL case, forty-eight memory segments in the video memory are two frames of the frame.
/ 3. Each entry of MS list 420 includes a 20-bit address that defines the first cell address of a memory segment in video memory 410. These addresses can be static or dynamic, depending on the system design.
For example, in a dedicated system specifically designed for decoding and displaying MPEG-2 video data, the addresses are preferably static and not dynamic to reduce system overhead. However, MPEG-1 and MPEG-
In multipurpose digital decoding and display systems, such as systems capable of displaying both two video data, these addresses are preferably maintained dynamically to accommodate various video memory management methods.
【0047】 図4に示されるような好ましい実施態様においては、DSリスト430は、表
示スクリーンへビデオメモリ410をマッピングする。表示スクリーンは多数の
セグメントに論理的に分割されており、DSリスト430の各エントリは表示ス
クリーンの1つのセグメントに対応している。好ましい実施態様においては、D
Sリスト430は72個のエントリを含み、1つが各表示セグメントに対応して
いる。72という数が選ばれたのは、PALフォーマットにおいては、576本
のラインが表示され、かつ各セグメントなビデオデータの8本のラインを含んで
いるからである。従って、数72=576/8が選択される。In a preferred embodiment, as shown in FIG. 4, DS list 430 maps video memory 410 to a display screen. The display screen is logically divided into a number of segments, with each entry in the DS list 430 corresponding to one segment of the display screen. In a preferred embodiment, D
The S list 430 includes 72 entries, one for each display segment. The number 72 was chosen because, in the PAL format, 576 lines are displayed and each segment contains eight lines of video data. Therefore, the equation 72 = 576/8 is selected.
【0048】 図4と図5に示されるように、MSリスト420の各エントリは、ビデオメモ
リの特定のメモリセグメントがビジーであるかどうかを示すために、1つの付加
的なビジービット510(「ビジービット」)を含んでいる。具体的には、ある
メモリセグメントに書き込まれてそれが表示されなければ、それはビジーとして
示される。同様に、ビジーでないメモリセグメントとは、そのメモリセグメント
が表示されたが、新しいデータはなんらその中に含まれていないことを意味する
。本発明にとり、ビジービット510を用いることは非常に重要である。なぜな
らば、MSリスト420中の各エントリ上のビジービット510のスイッチング
は、ビデオメモリ410中の論理的スライディングウインドウを定義することと
特徴付け得るからである。データがビデオメモリセグメントに書き込みされおよ
びそこから読み出された時にビジービット510を「オン」および「オフ」に設
定することにより、論理的スライディングウインドウは、ビジービットが「オン
」のMSリスト中の対応するエントリを有するすべてのメモリセグメントとして
定義される。さらに、論理的スライディングウインドウは、図7に示されるよう
に、2つのDS書き込みポインタ(すなわち、710および720、または73
0および740)および読み取りポインタ(すなわち、750または760)の
インクリメントおよび更新によっても維持される。As shown in FIGS. 4 and 5, each entry in MS list 420 includes one additional busy bit 510 (““) to indicate whether a particular memory segment of video memory is busy. Busy bit "). Specifically, if it is written to a memory segment and it is not displayed, it is marked as busy. Similarly, a non-busy memory segment means that the memory segment was displayed but no new data is contained therein. It is very important to use the busy bit 510 for the present invention. Because the switching of the busy bit 510 on each entry in the MS list 420 can be characterized as defining a logical sliding window in the video memory 410. By setting the busy bit 510 to "on" and "off" when data is written to and read from the video memory segment, the logical sliding window causes the busy bit to be "on" in the MS list. Defined as all memory segments that have a corresponding entry. In addition, the logical sliding window has two DS write pointers (ie, 710 and 720, or 73, as shown in FIG. 7).
0 and 740) and read pointers (ie, 750 or 760).
【0049】 ビデオメモリ410中のメモリセグメントおよびMSリスト420中のエント
リの物理的位置が、DSリスト430中のエントリのように連続して割り当てら
れなくても、論理的スライディングウインドウは、DSリスト430中の連続し
ているエントリにより定義される。ビデオメモリ410中のメモリセグメントに
より多くの復号データが格納された後に論理的スライディングウインドウはサイ
ズが増大するのに対し、ビデオメモリ410中のメモリセグメントから復号デー
タが読み出された後では、サイズが減少する。さらに、ビデオデータがビデオメ
モリから読み出されおよびそれに書き込まれると、論理的スライディングウイン
ドウは位置がシフトする(すなわち、DSリスト430下方へ)。本発明のキー
コンセプトは、表示スクリーンの一部に対応する論理的に連続するメモリスペー
スを定義できることあり、対応する復号されたビデオデータは、たとえそのビデ
オデータが物理的ビデオメモリにランダムに格納されることがあったとしても、
現在ビデオメモリに書き込まれており、かつ表示されていない。本発明の利点は
、物理的ビデオメモリのサイズをフルピクチャより小さくできることである。理
論上は、物理的メモリサイズはフルピクチャの格納に必要なサイズの半分(すな
わち、フレームの半分)まで小さくし得る。Even though the memory segments in video memory 410 and the physical locations of the entries in MS list 420 are not contiguously assigned as the entries in DS list 430, the logical sliding window is It is defined by successive entries in it. The logical sliding window increases in size after more decoded data is stored in the memory segment in the video memory 410, whereas the size of the logical sliding window increases after decoded data is read from the memory segment in the video memory 410. Decrease. Further, as video data is read from and written to video memory, the logical sliding window shifts in position (ie, down DS list 430). A key concept of the invention is that it can define a logically contiguous memory space corresponding to a part of the display screen, and the corresponding decoded video data is stored even if the video data is stored randomly in the physical video memory. Even if it
Currently written to video memory and not displayed. An advantage of the present invention is that the size of the physical video memory can be smaller than a full picture. In theory, the physical memory size can be as small as half the size needed to store a full picture (ie, half a frame).
【0050】 図4は、本発明の好ましい実施態様により用いられる間接的アドレッシングス
キームを示すものである。DSリスト430の各エントリは、MSリスト420
の1つのエントリを指すインデックスを格納するのに対し、MSリスト420の
各エントリは、ビデオメモリ410のメモリセグメントのアドレスを格納する。FIG. 4 illustrates the indirect addressing scheme used by the preferred embodiment of the present invention. Each entry in the DS list 430 is an MS list 420
, Whereas each entry in the MS list 420 stores the address of a memory segment in the video memory 410.
【0051】 好ましい実施態様において、本発明のビデオ復号・表示システムは、フレーム
ピクチャフォーマットおよびフィールドピクチャフォーマット両方におけるイン
ターレースされたピクチャを取り扱う。従って、図6に示されるように、DSリ
スト430は、論理的に2つの部分に区切られる。すなわち、トップフィールド
に対応するトップポーション610およびボトムフィールドに対応するボトムポ
ーション620である。0から35まで索引を付けられたエントリはトップフィ
ールドに属し、36から71まで索引を付けられたエントリはボトムフィールド
に属する。DSリスト430を対応するビデオメモリセグメント420に一致さ
せるため、DSリスト430の各エントリは、MSリスト420への6ビットイ
ンデックス(0から47)を含む。従って、DSリスト430の各エントリはM
Sリスト420のエントリを参照し、かつビデオメモリの1つのセグメントに間
接的にアドレスする(図4参照)。In a preferred embodiment, the video decoding and display system of the present invention handles interlaced pictures in both frame picture format and field picture format. Therefore, as shown in FIG. 6, the DS list 430 is logically divided into two parts. That is, a top portion 610 corresponding to the top field and a bottom portion 620 corresponding to the bottom field. Entries indexed from 0 to 35 belong to the top field, and entries indexed from 36 to 71 belong to the bottom field. To match the DS list 430 to the corresponding video memory segment 420, each entry in the DS list 430 contains a 6-bit index (0 to 47) to the MS list 420. Therefore, each entry of DS list 430 is M
Reference is made to an entry in the S-list 420 and one segment of the video memory is indirectly addressed (see FIG. 4).
【0052】 図7に示されるように、好ましい実施態様において、DSリスト430用に3
つのポインタが維持される。すなわち、読み取り・表示用の読み取りポインタ(
すなわち、750または760)1つ、およびビデオメモリ書き込み用の書き込
みポインタ(すなわち、710、720または730、740)2つである。As shown in FIG. 7, in the preferred embodiment, three
Two pointers are maintained. That is, a read pointer for reading / display (
That is, one 750 or 760) and two write pointers for writing video memory (ie, 710, 720 or 730, 740).
【0053】 フィールドピクチャおよびフレームピクチャについては、これら3つのDSポ
インタは異なる位置に割り当てられる。For field pictures and frame pictures, these three DS pointers are assigned to different positions.
【0054】 図7(a)は、ビデオシステムがフレームピクチャを取り扱っている時のこれ
ら3つのポインタの位置を示すものである。データが2つのフィールド間でイン
ターリーブ的に復号される、フレームピクチャ用ビデオデータのビットストリー
ムを取り扱うため、2つの書き込みポインタ710、720は、間に36のイン
タバルを有する2つのDSエントリを指すように設定され、それにより、2つの
書き込みポインタの各々は、異なるフィールド中の同じオフセット位置にあるエ
ントリを指している(すなわち、トップフィールドおよびボトムフィールド)。
さらに、読み取りポインタ750は、次に表示されるべきDSリスト430のエ
ントリを指している。フレームピクチャのトップフィールドおよびボトムフィー
ルド両方に対応するため、論理的スライディングウインドウは、論理的トップウ
インドウおよび論理的ボトムウインドウからさらに成っている。論理的トップウ
インドウは、トップウインドウ内にスライディングウインドウを定義し、これは
ビデオメモリ中のメモリセグメントに間接的にアドレッシングしているDSリス
トのトップポーション中の連続するエントリにより示され、このメモリセグメン
トは書き込まれたがまだ表示されていないものである。同様に、論理的ボトムウ
インドウは、スライディングウインドウをボトムフィールド中に定義し、これは
ビデオメモリ中のメモリセグメントに間接的にアドレッシングしているDSリス
トのボトムポーション中の連続するエントリにより示され、このメモリセグメン
トは書き込まれたがまだ表示されていないものである。FIG. 7A shows the positions of these three pointers when the video system handles a frame picture. To handle the bit stream of video data for frame pictures, where the data is decoded interleaved between the two fields, the two write pointers 710, 720 point to the two DS entries with 36 intervals between them. Is set so that each of the two write pointers points to an entry at the same offset in a different field (ie, the top field and the bottom field).
Further, the read pointer 750 points to an entry in the DS list 430 to be displayed next. To accommodate both the top and bottom fields of the frame picture, the logical sliding window further comprises a logical top window and a logical bottom window. The logical top window defines a sliding window within the top window, which is indicated by successive entries in the top portion of the DS list indirectly addressing a memory segment in video memory, which memory segment is Written but not yet displayed. Similarly, a logical bottom window defines a sliding window in the bottom field, which is indicated by successive entries in the bottom portion of the DS list indirectly addressing a memory segment in video memory. The memory segment has been written but has not yet been displayed.
【0055】 図7(b)は、ビデオ復号・表示システムがフィールドピクチャを取り扱って
いる時のこれらのポインタの位置を示すものである。フィールドピクチャのビデ
オデータは復号器により逐次復号および供給されるので、2つの書き込みポイン
タは730、740は、それらの間に1の固定インタバルを有するように設定さ
れている。さらに、読み取りポインタ760は、次に表示されるべきDSリスト
430のエントリを指している。フィールドピクチャ中では、ビデオデータは逐
次復号および供給され、フレームピクチャにおけるように、論理的スライディン
グウインドウを論理的トップおよびボトムウインドウにさらに分割する必要は全
く無い。従って、前の段落において論じられたような論理的スライディングウイ
ンドウが維持される。FIG. 7B shows the positions of these pointers when the video decoding / display system handles field pictures. Since the video data of the field picture is sequentially decoded and supplied by the decoder, the two write pointers 730, 740 are set to have a fixed interval between them. Further, the read pointer 760 points to an entry in the DS list 430 to be displayed next. In field pictures, video data is decoded and supplied sequentially, and there is no need to further divide the logical sliding window into logical top and bottom windows as in frame pictures. Thus, a logical sliding window as discussed in the previous paragraph is maintained.
【0056】 図8は本発明のためのフローチャートを示すものである。FIG. 8 shows a flowchart for the present invention.
【0057】 最初に、ビデオ復号・表示システムの初期化中に、MSエントリのすべてのビ
ジービットは、メモリマネージャによりNOTビジー(すなわち、MSエントリ
の全ビジービットを論理0にセットする)初期化される(段階810)。First, during initialization of the video decoding and display system, all busy bits of the MS entry are initialized NOT busy (ie, setting all busy bits of the MS entry to logic 0) by the memory manager. (Step 810).
【0058】 メモリマネージャが、符号化されたビデオデータの入り来るストリーム中に新
しいピクチャを検出すると、図9に示されるように、メモリマネージャはDSリ
スト430を初期化する(段階820)。When the memory manager detects a new picture in the incoming stream of encoded video data, the memory manager initializes the DS list 430, as shown in FIG. 9 (step 820).
【0059】 図9は、各ピクチャについてDSリスト430を初期化する段階を詳しく示す
ものである(段階820)。最初に、メモリコントローラが入り来るビットスト
リーム中のピクチャのフォーマットをチェックし、ピクチャ構造パラメータ値を
チェックすることによりそのピクチャがフィールドピクチャかフレームピクチャ
かを決定する(段階910)。FIG. 9 illustrates details of initializing the DS list 430 for each picture (step 820). First, the memory controller checks the format of the picture in the incoming bitstream and determines whether the picture is a field picture or a frame picture by checking the picture structure parameter values (step 910).
【0060】 もしビデオデータがフレームピクチャフォーマットであれば、メモリコントロ
ーラは次にトップ・フィールド・ファースト変数をチェックしてフラッグが立て
られているどうかを決定する(段階930)。もしトップフィールドが最初に復
号される必要があれば、DS読み取りポインタ750は36に初期化され、第1
DS書き込みポインタ710は0にセットされ、第2DS書き込みポインタ72
0は36にセットされる(段階960)。一方、もしボトムフィールドが最初に
復号される必要があれば、DS読み取りポインタ750は0にセットされ、第1
DS書き込みポインタ710は0にセットされ、第2DS書き込みポインタ72
0は36にセットされる(段階970)。If the video data is in frame picture format, the memory controller then checks the top field first variable to determine if the flag is set (step 930). If the top field needs to be decoded first, the DS read pointer 750 is initialized to 36 and the first
The DS write pointer 710 is set to 0, and the second DS write pointer 72
0 is set to 36 (step 960). On the other hand, if the bottom field needs to be decoded first, the DS read pointer 750 is set to 0 and the first
The DS write pointer 710 is set to 0, and the second DS write pointer 72
0 is set to 36 (step 970).
【0061】 図9に示されるように、もしビデオデータがフィールドピクチャフォーマット
であれば、メモリコントローラはピクチャ構造パラメータをチェックして、入り
来るビデオデータがトップフィールドピクチャかボトムフィールドピクチャかを
決定する(段階920)。もしトップフィールドが復号される必要があれば、3
つのDSポインタは以下の通りセットされる。すなわち、DS読み取りポインタ
760は36にセットされ、第1DS書き込みポインタ730は0にセットされ
、第2DS書き込みポインタ740は1にセットされる(段階940)。一方、
もしボトムフィールドが復号される必要があれば、DS読み取りポインタ760
は0にセットされ、第1DS書き込みポインタ730は36にセットされ、第2
DS書き込みポインタ740は37にセットされる(段階950)。As shown in FIG. 9, if the video data is in field picture format, the memory controller checks the picture structure parameters to determine whether the incoming video data is a top field picture or a bottom field picture ( Step 920). 3 if the top field needs to be decoded
One DS pointer is set as follows. That is, the DS read pointer 760 is set to 36, the first DS write pointer 730 is set to 0, and the second DS write pointer 740 is set to 1 (step 940). on the other hand,
If the bottom field needs to be decoded, the DS read pointer 760
Is set to 0, the first DS write pointer 730 is set to 36,
The DS write pointer 740 is set to 37 (step 950).
【0062】 図8に示されるように、DSリストが初期化された後、メモリマネージャは、
MSリスト420をスキャンして、MSリスト420のエントリのビジービット
510をチェックすることにより、ビデオメモリ410中の利用可能なスペース
を調べる(段階830)。メモリマネージャは、MSリスト420をインデック
ス0からインデックス47まで順番にスキャンし、ビジービット510がセット
されていない最初の2つのエントリを見つける。もしそのような「ビジーでない
」セグメントが全く無いか、あるいはそのようなセグメントが1つしか無いので
あれば、条件が満たされるまで復号は停止される。復号器はそれにより、2つの
「ビジーでない」ビデオメモリセグメントを待つ待機ステージに入る。ビデオメ
モリセグメント中のデータが読み出されかつ表示されると、メモリマネージャは
、メモリセグメントの対応するビジービット510を論理0にセットすることに
より、新たに復号されたビデオデータを格納するためにメモリセグメントを解放
する。As shown in FIG. 8, after the DS list is initialized, the memory manager
The available space in the video memory 410 is checked by scanning the MS list 420 and checking the busy bit 510 of the entry of the MS list 420 (step 830). The memory manager scans the MS list 420 in order from index 0 to index 47 and finds the first two entries where the busy bit 510 is not set. If there are no such "non-busy" segments or only one such segment, decoding is stopped until the condition is satisfied. The decoder thereby enters a wait stage waiting for two "not busy" video memory segments. Once the data in the video memory segment has been read and displayed, the memory manager sets the corresponding busy bit 510 of the memory segment to a logical zero to store the newly decoded video data in the memory. Release the segment.
【0063】 2つのビジーでないメモリセグメントが見つかった時は、第1DS書き込みポ
インタ(すなわち、710または720)により指し示されるDSリスト430
に、第1の利用可能メモリセグメントのMSインデックス420(すなわち、0
、1、2、…または47)が書き込まれ、第2DS書き込みポインタ(すなわち
、720または740)により指し示されるDSエントリに第2の利用可能メモ
リセグメントが書き込まれる、それにより2つのDS書き込みポインタは、ビデ
オメモリ410中の2つの「ビジーでない」メモリセグメントに間接的にアドレ
スしている。When two non-busy memory segments are found, the DS list 430 pointed to by the first DS write pointer (ie, 710 or 720)
First, the MS index 420 of the first available memory segment (ie, 0
, 2,... Or 47) are written, and the second available memory segment is written to the DS entry pointed to by the second DS write pointer (ie, 720 or 740), so that the two DS write pointers , Indirectly addressing two “not busy” memory segments in video memory 410.
【0064】 DSエントリが更新された後、復号器はビデオデータの16本のラインを含む
新しいマクロブロック行を復号する(段階830)。After the DS entry has been updated, the decoder decodes a new macroblock row containing 16 lines of video data (step 830).
【0065】 ビデオデータのマクロブロック行が復号された後、メモリマネージャは、復号
されたビデオデータを段階840においてビデオメモリに保存する。図10は段
階840の詳細を示すものである。After the macroblock rows of video data have been decoded, the memory manager stores the decoded video data in video memory at step 840. FIG. 10 shows the details of step 840.
【0066】 図10に示されるように、ピクチャがフィールドピクチャであれば、メモリマ
ネージャは、各マクロブロック行のトップ8ラインのビデオデータを、第1DS
書き込みポインタ730により間接的にアドレスされたMSセグメントのエント
リによりアドレスされたメモリセグメントに書き込む(段階1030)。次にメ
モリマネージャは、各マクロブロック行のボトム8ラインのビデオデータを、第
2DS書き込みポインタ740により間接的にアドレスされたMSセグメントの
エントリによりアドレスされたメモリセグメントへ書き込む(段階1030)。As shown in FIG. 10, if the picture is a field picture, the memory manager stores the video data of the top 8 lines of each macroblock row in the first DS.
Write to the memory segment addressed by the entry of the MS segment indirectly addressed by the write pointer 730 (step 1030). Next, the memory manager writes the bottom eight lines of video data of each macroblock row to the memory segment addressed by the entry of the MS segment indirectly addressed by the second DS write pointer 740 (step 1030).
【0067】 一方、もしピクチャがフレームピクチャであれば、復号器が入り来るビットス
トリームのビデオデータのライン16本(すなわち、1マクロブロック行)を復
号した後、メモリマネージャは、現在復号しているフレームのトップフィールド
に対応するビデオデータのライン8本を、第1DS書き込みポインタ710によ
り間接的にアドレスされた第1MSセグメントのエントリによりアドレスされた
メモリセグメントへ書き込む。次にメモリマネージャは、現在復号中のフレーム
のボトムフィールドに対応するビデオデータのライン8本を、第2DS書き込み
ポインタ720により間接的にアドレスされた第2MSセグメントのエントリに
よりアドレスされたメモリセグメントへ書き込む(段階1020)。On the other hand, if the picture is a frame picture, the memory manager is currently decoding after the decoder has decoded 16 lines of video data of the incoming bitstream (ie, one macroblock row). Eight lines of video data corresponding to the top field of the frame are written to the memory segment addressed by the entry of the first MS segment indirectly addressed by the first DS write pointer 710. The memory manager then writes eight lines of video data corresponding to the bottom field of the currently decoded frame to the memory segment addressed by the entry of the second MS segment indirectly addressed by the second DS write pointer 720. (Step 1020).
【0068】 図8に示されるように、対応するメモリセグメントへのビデオデータの書き込
みに続き、DSポインタ(すなわち、710、720、および750または73
0、740、および760)が次に、図11に示されるような段階(段階860
)により更新される。As shown in FIG. 8, following the writing of the video data to the corresponding memory segment, the DS pointer (ie, 710, 720, and 750 or 73)
0, 740, and 760) are then converted to the steps shown in FIG.
).
【0069】 図11は、DSポインタ(すなわち、710、720、および750または7
30、740、および760)の更新操作(段階860)の詳細を示すものであ
る。メモリマネージャは最初に、ビデオデータがフィールドピクチャフォーマッ
トであるかフレームピクチャフォーマットであるかをチェックし(段階1110
)、次にそれに応じてメモリマネージャが2つのDS書き込みポインタを更新す
る(段階1120および1130)。FIG. 11 illustrates the DS pointer (ie, 710, 720, and 750 or 7).
30, 740, and 760) (step 860). The memory manager first checks whether the video data is in field picture format or frame picture format (step 1110).
), And then the memory manager updates the two DS write pointers accordingly (steps 1120 and 1130).
【0070】 もしビデオデータがフレームピクチャフォーマットであれば、2つのDS書き
込みポインタ710、720のどちらも1進められる(段階1120)。一方、
もしビデオデータがフィールドピクチャフォーマットであれば、2つのDS書き
込みポインタ730、740のどちらも2進められる(段階1130)。If the video data is in frame picture format, both of the two DS write pointers 710, 720 are advanced by one (step 1120). on the other hand,
If the video data is in field picture format, both of the two DS write pointers 730, 740 are advanced by 2 (step 1130).
【0071】 DSポインタが更新された後、メモリマネージャは、現在のピクチャ用にそれ
以上入り来るビデオデータがあるかどうかをチェックする。もし入り来るビデオ
ビットストリームがまだあるなら、その操作は、図8に示されるようなMSリス
トスキャニング段階に戻る(段階870)。After the DS pointer is updated, the memory manager checks if there is more incoming video data for the current picture. If there is still an incoming video bitstream, the operation returns to the MS list scanning stage as shown in FIG. 8 (stage 870).
【0072】 もし現在のピクチャ用の入り来るビットストリームが終結すれば、次にビデオ
システムは、さらに復号・表示されるピクチャがさらにあるかどうかをチェック
する(段階880)。もし復号・表示のために入り来るピクチャがさらにあれば
、全体の操作は段階820に戻る。全体の操作は、表示用に入り来るピクチャが
もはやなくなれば完了する(段階890)。If the incoming bit stream for the current picture ends, then the video system checks if there are more pictures to be decoded and displayed (step 880). If there are more incoming pictures for decoding / display, the entire operation returns to step 820. The entire operation is complete when there are no more incoming pictures for display (step 890).
【0073】 システムが表示用に付加的なビデオデータを必要とする時は、データの次のラ
イン8本が、DS読み取りポインタ(すなわち、750または760)によりア
ドレスされたMSインデックスを用いて、ビデオメモリ410のメモリセグメン
トから取り出される。MSリストエントリ中に格納されているアドレスは、ビデ
オメモリ410から次に表示されるメモリセグメントの位置を特定するのに用い
られる。表示用に特定のメモリセグメントが読み出された後、そのMSエントリ
420のビジービット510は非ビジーにセットされ、DS読み出しポインタは
次に1増大される(72を法として)。ポインタが71に達した後、DS読み取
りポインタは「0」位置にリセットされる。When the system needs additional video data for display, the next eight lines of data are sent to the video using the MS index addressed by the DS read pointer (ie, 750 or 760). Retrieved from a memory segment of memory 410. The address stored in the MS list entry is used to locate the next displayed memory segment from video memory 410. After a particular memory segment has been read for display, the busy bit 510 of its MS entry 420 is set to non-busy and the DS read pointer is then incremented by one (modulo 72). After the pointer reaches 71, the DS read pointer is reset to the "0" position.
【0074】 本発明の1実施態様において、もしメモリコントローラが、上記の「間接的ア
ドレッシング」スキームを処理するのに十分な速度を有していなければ、DSリ
スト430のエントリは6ビットから26ビットに増大され、それにより、メモ
リセグメントのアドレスがMSエントリ中で選択されると、それはMSリスト4
20インデックスと共にDSエントリにコピーされる。メモリセグメントのアド
レスをMSリスト420エントリと共にDSリストに書き込むことにより、アド
レッシングおよびMSリスト420からのデータ取り出しの余分な段階が回避で
きる。In one embodiment of the present invention, if the memory controller does not have sufficient speed to handle the “indirect addressing” scheme described above, the entries in the DS list 430 may be from 6 bits to 26 bits. , So that when the address of the memory segment is selected in the MS entry, it is
Copied to DS entry with 20 indexes. By writing the address of the memory segment into the DS list along with the MS list 420 entry, the extra steps of addressing and retrieving data from the MS list 420 can be avoided.
【0075】 3.FLEXIRAMデザイン 本発明の別の側面は、フレーム内ビデオメモリ圧縮/復元方法に向けられてい
る。[0075] 3. FLEXIRAM Design Another aspect of the present invention is directed to an intra-frame video memory compression / decompression method.
【0076】 本発明においては、ビデオデータは、ビデオメモリに格納される前に、損失性
または非損失性に圧縮され、圧縮されたデータは、それがビデオメモリから読み
出される時に復元される。このビデオデータ圧縮・復元装置は、本発明者らによ
り「FlexiRam」と名付けられている。In the present invention, the video data is lossy or losslessly compressed before being stored in the video memory, and the compressed data is restored when it is read from the video memory. This video data compression / decompression device is named "FlexiRam" by the present inventors.
【0077】 図12は、本発明の3つの異なる実施態様を示す。FIG. 12 shows three different embodiments of the present invention.
【0078】 図12(a)に示されるような好ましい実施態様において、本発明のFlex
iRam1220aは、メモリマネージャ1210aに組み込まれており、ビデ
オデータのすべての圧縮および復元はメモリマネージャ1210a内で実行され
る。この実施態様の利点は、ビデオメモリ1230aのための特別なハードウェ
ア要件が全く無いことおよびビデオデータの圧縮および復元のどちらもビデオメ
モリ1230aに対してトランスペアレントであることである。In a preferred embodiment as shown in FIG. 12A, the Flex of the present invention
iRam 1220a is embedded in memory manager 1210a, and all compression and decompression of video data is performed within memory manager 1210a. The advantage of this embodiment is that there are no special hardware requirements for video memory 1230a and both the compression and decompression of video data is transparent to video memory 1230a.
【0079】 図12(b)は本発明の別の好ましい実施態様を示すもので、FlexiRa
m1220bは、メモリマネージャ1210bおよびビデオメモリ1230bの
両方から分離されている。この実施態様の利点は、ビデオ復号・表示システム全
体の実質的な修正なしで本発明の実行が可能なことである。FIG. 12 (b) shows another preferred embodiment of the present invention, in which FlexiRa
m1220b is separate from both memory manager 1210b and video memory 1230b. An advantage of this embodiment is that the invention can be implemented without substantial modification of the overall video decoding and display system.
【0080】 図12(c)は本発明の別の実施態様を示すもので、FlexiRam122
0cはビデオメモリ1230cに組み入れられている。この実施態様の利点は、
データ圧縮および復元の操作全体がメモリマネージャ1210cに対してトラン
スペアレントであり、メモリマネージャ1210cに対しオーバーヘッドが全く
付加されないことである。FIG. 12C shows another embodiment of the present invention, in which FlexiRam122 is used.
0c is incorporated in the video memory 1230c. The advantages of this embodiment are:
The entire operation of data compression and decompression is transparent to the memory manager 1210c, and no overhead is added to the memory manager 1210c.
【0081】 本発明がすべてのピクチャタイプ(I、PおよびB)で作用し、かつどのよう
なタイプのピクチャに対しても限定されないことは留意すべきである。従って、
もし所望されれば、本発明は、分割メモリマネージャデザインにおいて、(a)
第2メモリマネージャ240、あるいは(b)第1メモリマネージャ230と第
2メモリマネージャ240両方を用いて実行し得る(図2参照)。It should be noted that the invention works with all picture types (I, P and B) and is not limited to pictures of any type. Therefore,
If desired, the present invention relates to a split memory manager design comprising:
It can be performed using the second memory manager 240 or (b) using both the first memory manager 230 and the second memory manager 240 (see FIG. 2).
【0082】 図13a、13bおよび13cは、FlexiRamデザインと分割メモリマ
ネージャデザインとを組み合せた、本発明の3つの異なる実施態様を示すもので
ある。図13aは、本発明の2つの好ましい実施態様の1つを示す。この実施態
様においては、2つのFlexiRam圧縮器/復号器が用いられる。第1Fl
exiRam1370aは、第1メモリマネージャ1310aと第1メモリ13
30aとの間に置かれている。第2FlexiRam1380aは、第2メモリ
マネージャ1320aと第2メモリ1340aとの間に置かれ、FlexiRa
m技術を用いて、格納されたすべてのビデオメモリデータが圧縮・復元される。
図13bは、本発明の別の実施態様を示すものである。FlexiRam137
0bは、第2メモリマネージャ1320bと第2メモリ1340bとの間に置か
れ、双方向フレーム(すなわち、B)のためのビデオデータのみが、ビデオメモ
リに格納される時に圧縮される。最後に、図13cは本発明のさらに別の実施態
様を示すものである。FlexiRam1370cは、第1メモリマネージャ1
310cと第1メモリ1330cとの間に置かれ、予測フレーム(すなわち、2
I;1Iおよび1P;または2P)用ビデオデータのみが、ビデオメモリに格納
される時に圧縮される。本発明はメモリマネージャの数を2または3に限定する
ものではないことに留意すべきである。メモリマネージャは、ビデオデータの種
々のタイプおよび/またはグループを処理するため、多数(すなわち、3を超え
る)の別個のメモリマネージャに分割し得る。FIGS. 13 a, 13 b and 13 c illustrate three different embodiments of the present invention that combine a FlexiRam design with a split memory manager design. FIG. 13a shows one of two preferred embodiments of the present invention. In this embodiment, two FlexiRam compressors / decoders are used. 1st Fl
The exiRam 1370a includes a first memory manager 1310a and a first memory 13
30a. The second FlexiRam 1380a is located between the second memory manager 1320a and the second memory 1340a,
Using m technology, all stored video memory data is compressed and decompressed.
FIG. 13b shows another embodiment of the present invention. FlexiRam137
0b is located between the second memory manager 1320b and the second memory 1340b, and only video data for bidirectional frames (ie, B) is compressed when stored in the video memory. Finally, FIG. 13c illustrates yet another embodiment of the present invention. FlexiRam 1370c is the first memory manager 1
310c and the first memory 1330c, the prediction frame (ie, 2
Only the video data for I; 1I and 1P; or 2P) is compressed when stored in the video memory. It should be noted that the present invention does not limit the number of memory managers to two or three. The memory manager may be divided into a number (ie, more than three) separate memory managers for processing various types and / or groups of video data.
【0083】 特定のシステムについてどの実施態様を実施すべきかを考慮する場合に最も重
要な因子は、利用可能なビデオメモリ量、利用可能な処理速度、および所望の画
質等であるThe most important factors when considering which implementation to implement for a particular system are the amount of available video memory, available processing speed, and desired image quality.
【0084】 例えば、上記の実施態様に加え、FlexiRamデザインは、3つの色成分
すべて、あるいは2つのクロマ色成分のみの圧縮および復元に適用できる。For example, in addition to the embodiments described above, the FlexiRam design can be applied to compression and decompression of all three color components, or only two chroma color components.
【0085】 デザインは、上記で開示されたすべての実施態様および側面を組み合せること
によりさらに改善し得る。例えば、1つの実施態様においては、Bピクチャ中の
UおよびV色成分のみがFlexiRamデザインにより圧縮される。あるいは
、別の実施態様においては、2つのピクチャグループ(すなわち、参照フレーム
、または双方向フレーム)すべてについての3つの色成分すべてが、Flexi
Ramデザインにより圧縮される。The design can be further improved by combining all the embodiments and aspects disclosed above. For example, in one embodiment, only the U and V color components in a B picture are compressed by the FlexiRam design. Alternatively, in another embodiment, all three color components for all two groups of pictures (ie, reference frames or bidirectional frames) are Flexi
Compressed by Ram design.
【0086】 分割メモリマネージャ、FlexiRam、および原色の分割を組み合せる上
での本発明のデザイン柔軟性により、種々のビデオシステム要件、ビデオメモリ
サイズ、および所望の画質等に応じて、システムデザイナーが最も適切かつ効果
的な組み合わせを選択できるようになるという、デザイン自由度におけるたいへ
んな利点がもたらされる。The design flexibility of the present invention in combination with the split memory manager, FlexiRam, and primary color split allows the system designer to be the most responsive to various video system requirements, video memory sizes, and desired image quality. The great advantage in design freedom comes from being able to choose the right and effective combinations.
【0087】 図14は、FlexiRamデザインの好ましい実施態様の概要を示すもので
ある。図に示されるように、データ圧縮は2つの段階から成る。すなわち、(1
)エラー拡散(段階1410)、および(2)カルテットあたり1画素切り捨て
(段階1420)である。FIG. 14 outlines a preferred embodiment of the FlexiRam design. As shown, data compression consists of two stages. That is, (1
) Error diffusion (step 1410), and (2) one pixel truncation per quartet (step 1420).
【0088】 最初、ビデオデータがエラー拡散アルゴリズムに従って圧縮される(段階14
10)。好ましい実施態様においては、基本的圧縮単位は、4つの連続した水平
画素を含む「カルテット」と定義される。エラー拡散圧縮段階(段階1410)
は、カルテットの各画素を個別に圧縮する。1ビットエラー拡散アルゴリズムを
用いることにより、本来32ビット(4画素*8ビット/画素)を有する画素の
カルテットは、28ビットに圧縮される(4画素*7ビット/画素)。本発明は
1ビットエラー拡散アルゴリズムに限定されるものではなく、多ビットエラー拡
散アルゴリズムも同様に、ただし知覚可能な画質低下のトレードオフを伴って実
施し得ることに留意すべきである。First, the video data is compressed according to an error diffusion algorithm (step 14).
10). In a preferred embodiment, the basic compression unit is defined as a "quartet" containing four consecutive horizontal pixels. Error diffusion compression step (step 1410)
Compresses each pixel of the quartet individually. By using the 1-bit error diffusion algorithm, the quartet of pixels that originally have 32 bits (4 pixels * 8 bits / pixel) is compressed to 28 bits (4 pixels * 7 bits / pixel). It should be noted that the invention is not limited to one-bit error diffusion algorithms, but that multi-bit error diffusion algorithms can be implemented as well, but with a perceptible image quality trade-off.
【0089】 ビデオデータ圧縮の第2段階は、「カルテットあたり1画素切り捨て」である
(段階1420)。カルテットあたり1画素切り捨てアルゴリズムは、4つの7
ビット画素のカルテットを24ビットカルテットに圧縮するものである。データ
圧縮器は、切り捨てされるカルテットの最良の画素を計算し、再構築記述子(「
RD」)としてカルテットの最後の3ビットに再構築方法を格納する。この圧縮
段階の後、画素の圧縮されたカルテットは24ビットを有する(3画素*7ビッ
ト/画素+3ビットRD)。このカルテットあたり1画素切り捨ての詳細なアル
ゴリズムは後述する。The second stage of video data compression is “Truncate one pixel per quartet” (stage 1420). The one pixel truncation algorithm per quartet has four 7
A quartet of bit pixels is compressed into a 24-bit quartet. The data compressor calculates the best pixel of the quartet to be truncated and reconstructs the descriptor ("
RD ”) stores the reconstruction method in the last three bits of the quartet. After this compression stage, the compressed quartet of pixels has 24 bits (3 pixels * 7 bits / pixel + 3 bits RD). A detailed algorithm of this one-quartet-truncation will be described later.
【0090】 ビデオデータがビデオメモリから必要とされる時は、FlexiRamは、メ
モリから読み出された圧縮データに復元を実行する。復元段階は、図14に示さ
れる圧縮段階の逆である。When video data is needed from video memory, FlexiRam performs decompression on the compressed data read from memory. The decompression stage is the reverse of the compression stage shown in FIG.
【0091】 最初に、1つの画素が、カルテットあたり1画素再構築アルゴリズムにより2
4ビットカルテットに加え戻されるが、このアルゴリズムはカルテットあたり1
画素切り捨てアルゴリズムの逆である(段階1430)。この復元段階は、カル
テットを表す24ビットの最後の3ビットとして格納されたRDにより供給され
た再構築方法に従って、7ビットの切り捨てられた画素を再構築する。この復元
段階(段階1430)の後、カルテットは再形成されて、4つの7ビット画素を
持つ。好ましい再構築アルゴリズムは後に詳述する。First, one pixel is reconstructed by a one pixel per quartet reconstruction algorithm.
The algorithm is added back to the 4-bit quartet,
The inverse of the pixel truncation algorithm (step 1430). This reconstruction step reconstructs the 7-bit truncated pixel according to the reconstruction method supplied by the RD stored as the last 3 bits of the 24 bits representing the quartet. After this restoration step (step 1430), the quartet is reformed to have four 7-bit pixels. A preferred reconstruction algorithm will be described in detail later.
【0092】 次に、各7ビット画素に「0」が連接され、圧縮前の4つの8ビット画素カル
テットに戻る(段階1440)。この復元段階(段階1440)は、すべての画
素に最も有意でないビットとして「0」を1つ連接して4つの8ビット画素を再
形成する。Next, “0” is concatenated to each 7-bit pixel, and the process returns to the four 8-bit pixel quartets before compression (step 1440). This reconstruction step (step 1440) reconstructs four 8-bit pixels by concatenating one "0" as the least significant bit for all pixels.
【0093】 図15は、圧縮・復元段階における種々のプロセス中のビデオデータのカルテ
ット(すなわち、4つの8ビット画素)のデータフォーマットを示すものである
。FIG. 15 illustrates the data format of the quartet (ie, four 8-bit pixels) of video data during various processes in the compression / decompression stage.
【0094】 最初、カルテット1510の各8ビット画素が、エラー拡散アルゴリズム15
20を用いて個別に圧縮される。中間的な圧縮データは、4つの7ビット画素1
530から成る。次に、これら4つの7ビット画素1530は、カルテットあた
り1画素切り捨てアルゴリズム1540によりさらに圧縮される。最終的な圧縮
データは、3つの7ビット画素1551と1つの3ビットRD1552とから成
る。圧縮されたデータの全長は24ビットである。Initially, each 8-bit pixel of the quartet 1510 is
20 are individually compressed. The intermediate compressed data is four 7-bit pixels 1
530. Next, these four 7-bit pixels 1530 are further compressed by a one pixel per quartet truncation algorithm 1540. The final compressed data is composed of three 7-bit pixels 1551 and one 3-bit RD 1552. The total length of the compressed data is 24 bits.
【0095】 ビデオデータがビデオメモリから必要とされる時は、圧縮されたデータは以下
の2つの連続的段階により復元される。When video data is needed from video memory, the compressed data is decompressed by two successive steps:
【0096】 最初、1つの付加的画素が、カルテットあたり1画素再構築アルゴリズム15
60に従って生成される。このアルゴリズムは、24ビット圧縮データ1550
の3ビットRD1552に基づくカルテットあたり1画素切り捨てアルゴリズム
1540の逆である。中間的な復元データ1570は4つの7ビット画素から成
る。次に、4つの7ビット画素の各々が、最も有意でないビット1580として
の「0」と連接され、圧縮前の4つの8ビット画素が再形成される。Initially, one additional pixel is used for one pixel reconstruction algorithm 15 per quartet.
Generated according to H.60. This algorithm uses 1550 compressed 24-bit data.
Is the inverse of the one pixel per quartet truncation algorithm 1540 based on the 3-bit RD 1552 of The intermediate restored data 1570 is composed of four 7-bit pixels. Next, each of the four 7-bit pixels is concatenated with a "0" as the least significant bit 1580 to recreate the four 8-bit pixels before compression.
【0097】 エラー拡散およびカルテットあたり1画素切り捨てアルゴリズムの詳細は以下
で説明する。The details of the error diffusion and truncation per pixel algorithm are described below.
【0098】 A.エラー拡散 この圧縮段階に様々なエラー拡散アルゴリズムが使用し得ることは留意すべき
である。以下に開示される好ましい実施態様は、1ビットエラー拡散アルゴリズ
ムを利用している。しかしながら、本発明は、エラー拡散処理に用いられるどの
ような特定のアルゴリズムにも限定されない。さらに、前に論じたように、もし
より多くの画質劣化が許されるならば、複数のビット(1を超える)がエラー拡
散アルゴリズムにより除去され得る。従って、以下の特定の1ビットエラー拡散
アルゴリズムは、説明目的だけのために開示されている。A. Error Diffusion It should be noted that various error diffusion algorithms may be used for this compression stage. The preferred embodiment disclosed below utilizes a one-bit error diffusion algorithm. However, the invention is not limited to any particular algorithm used for error diffusion processing. Further, as discussed above, if more image quality degradation is allowed, multiple bits (greater than one) may be removed by an error diffusion algorithm. Accordingly, the following specific one-bit error diffusion algorithm is disclosed for illustrative purposes only.
【0099】 本発明のこの好ましい実施態様においては、エラー拡散(ED)アルゴリズム
はピクチャ中のすべてのラインに独立して作用する。ラインの最初では、「e」
と表示された1ビットレジスターが1にセットされる。「e」は、現在走ってい
るエラーを格納し、画素ベースで更新される。1ビットEDアルゴリズムは、以
下の2つの方程式により説明される。 Iout (j)=2*floor[(Iin(j)+e(j))/2] ただし、Iin(j)=255およびe(j)=1であれば、Iout(
j)=255 e(j+1)=Iin(j)+e(j)+Iout (j) 式中、 j:行中の現在の画素のインデックス Iin(j):画素の本来の値 Iout (j):画素の新しい値(ED後) e(j):画素jの時間におけるエラーアキュムレータ floor(x):x以下で最も近い整数In this preferred embodiment of the invention, the error diffusion (ED) algorithm operates independently on every line in the picture. At the beginning of the line, "e"
Is set to one. "E" stores the currently running error and is updated on a pixel-by-pixel basis. The 1-bit ED algorithm is described by the following two equations. I out (j) = 2 * floor [(I in (j) + e (j)) / 2] However, if I in (j) = 255 and e (j) = 1, Iout (
j) = 255 e (j + 1) = I in (j) + e (j) + I out (j) where j: index of the current pixel in the row I in (j): original value of the pixel I out ( j): new value of pixel (after ED) e (j): error accumulator at time of pixel j floor (x): nearest integer less than or equal to x
【0100】 Iout (j)が計算された後、Iout (j)の最も有意でないビットが切り捨
てられ、このアルゴリズムにより8ビット画素が7ビット画素へ量子化される一
方で、擬似的輪郭効果が除去される。After I out (j) is calculated, the least significant bits of I out (j) are truncated, and the algorithm quantizes 8-bit pixels to 7-bit pixels, while the pseudo contour effect Is removed.
【0101】 このアルゴリズムは例えば以下のように説明し得る。すなわち、1つのケース
において、Iin(j)が182、2進数10010111であり、e(j)が1
であると仮定すると、 Iout (j)=2*floor((10010111+1/2) =2*floor(10011000/2) =2*floor01001100 =1001100 e(j+1) =10010111+1−1001100 =0This algorithm can be described, for example, as follows. That is, in one case, I in (j) is 182, binary 10010111, and e (j) is 1
Assuming that I out (j) = 2 * floor ((10010111 ++ 1) = 2 * floor (10011000/2) = 2 * floor001100100 = 11001100 e (j + 1) = 10010111 + 1-1001100 = 0
【0102】 最も有意でないビットを切り捨てることにより、格納された量子化画素は=1
00110である。By truncating the least significant bits, the stored quantized pixel is = 1.
00110.
【0103】 「e」値は次に、ラインの終わりに伝播される。本発明のEDアルゴリズムが
ラスタ構造に作用し、ピクチャがブロック構造のメモリに書き込まれるので、e(
j)をブロックラインの終わりに格納することが必要である。この値は、EDが同
じライン(これは次のブロックに属している)中の次の画素と続いている時に、
使われる。従って、8ビットラッチが、すべての「中断」ブロックに使用されな
ければならない。(eは0または1にしかなれないので、すべての中断ラインあ
たり1ビットで十分である)。The “e” value is then propagated to the end of the line. Since the ED algorithm of the present invention operates on a raster structure and pictures are written to a block-structured memory, e (
j) needs to be stored at the end of the block line. This value is calculated when the ED continues with the next pixel in the same line (which belongs to the next block).
used. Therefore, an 8-bit latch must be used for all "suspend" blocks. (Since e can only be 0 or 1, 1 bit is sufficient for every interrupt line).
【0104】 復元段階1580は、上記の圧縮段階の逆である。好ましい実施態様において
は、データは、「0」と共にあらゆる画素に連接され、4つの8ビット画素を再
形成する。The decompression stage 1580 is the reverse of the compression stage described above. In the preferred embodiment, the data is concatenated with every pixel with a "0" to recreate four 8-bit pixels.
【0105】 各7ビット画素は次に最も有意でないビットとして「0」が連接される。例え
ば、「1101101」は「11011010」に再形成される。従って、結果
として得られるデータは、オリジナルな未圧縮データと同様に4つの8ビット画
素である。Each 7-bit pixel is concatenated with “0” as the next least significant bit. For example, “1101101” is reformed to “11011010”. Thus, the resulting data is four 8-bit pixels, similar to the original uncompressed data.
【0106】 データが、1ビットエラー拡散アルゴリズムを用いて圧縮された後、4ビット
が切り捨てられ、それにより4つの8ビット画素を有するカルテットが4つの7
ビット画素に圧縮される。4つの8ビット画素を有するカルテットを4つの6ビ
ット画素に圧縮できる「2」ビットエラー拡散アルゴリズムを実行することによ
り、より高い圧縮率が達成できることは真実である。2ビットエラー拡散アルゴ
リズムを用いた時の圧縮率は、24/32×100%(すなわち、75%)であ
る。しかしながら、2ビットエラー拡散技術を用いた圧縮および復元後に知覚可
能な画質劣化があることが見出される。従って、2ビットエラー圧縮技術を用い
る代わりに、本発明では2段階の圧縮/復元プロセス、すなわち(1)1ビット
エラー拡散、および(2)カルテットあたり1画素切り捨てを開示している。た
とえ2つの技術の圧縮率が同一(すなわち、75%)であっても、本発明として
開示される2段階圧縮/復元プロセスの結果得られる画質は、2ビットエラー拡
散技術に対し知覚可能な改善をもたらす。After the data has been compressed using a 1-bit error diffusion algorithm, the 4 bits are truncated, so that a quartet with 4 8-bit pixels is converted to 4 7
Compressed to bit pixels. It is true that higher compression ratios can be achieved by performing a "2" bit error diffusion algorithm that can compress a quartet with four 8-bit pixels into four 6-bit pixels. The compression ratio when using the 2-bit error diffusion algorithm is 24/32 × 100% (that is, 75%). However, it is found that there is perceivable image quality degradation after compression and decompression using a two-bit error diffusion technique. Thus, instead of using a two bit error compression technique, the present invention discloses a two stage compression / decompression process: (1) one bit error diffusion and (2) one pixel truncation per quartet. Even if the compression ratios of the two techniques are the same (ie, 75%), the image quality resulting from the two-stage compression / decompression process disclosed in the present invention is a perceptible improvement over the two-bit error diffusion technique. Bring.
【0107】 B.1カルテットあたり1画素切り捨て 本発明の好ましい実施態様の第2圧縮段階は、カルテットあたり1画素切り捨
てである。カルテットあたり1画素切り捨てアルゴリズム1540は、4つの7
ビット画素を3つの7ビット画素プラス3ビット再構築記述子(「RD」)(す
なわち、総計で24ビット)に圧縮するものである。B. One pixel truncation per quartet The second compression stage of the preferred embodiment of the present invention is one pixel truncation per quartet. The one pixel truncation algorithm 1540 per quartet has four 7
It compresses the bit pixels into three 7-bit pixels plus a 3-bit reconstruction descriptor ("RD") (i.e., a total of 24 bits).
【0108】 ビデオメモリ中に格納される画素数を減らすため、種々の画素切り捨てアルゴ
リズムが使用し得ることに留意すべきである。本発明は、圧縮および復元プロセ
ス中に用いられるどのような特定の画素切り捨てアルゴリズムおよび方程式にも
限定されない。さらに、多画素(1を超える)は、画質劣化とのトレードオフで
切り捨てられ得る。以下のカルテットあたり1画素切り捨ては、メモリ節約と画
質への知覚可能な影響がほとんど無いという最良のバランスを備えた、本発明の
好ましい実施態様として開示される。It should be noted that various pixel truncation algorithms may be used to reduce the number of pixels stored in video memory. The present invention is not limited to any particular pixel truncation algorithms and equations used during the compression and decompression processes. Further, multiple pixels (greater than one) may be truncated due to trade-offs with image quality degradation. The following one pixel per quartet truncation is disclosed as a preferred embodiment of the present invention with the best balance between memory savings and negligible effect on image quality.
【0109】 好ましい実施態様において、カルテットの4画素は各々P0、P1、P2、ま
たはP3と連続的に名付けられる。画素P1およびP2は、切り捨てられる2つ
の候補である。このアルゴリズムは、(1)どちらの画素が切捨てにより適して
いるか、および(2)切り捨てられた画素を推定するために、復元においてどの
ような再構築方法を用いるべきかを予測する。各候補について5つの再構築方法
が考えらえる。すなわち、 1.左隣りのものをコピーする。 2.右隣りのものをコピーする。 3.左隣りのものと右隣りのものを平均する。 4.左隣りのものの1/4と右隣りのものの3/4を合計する。 5.左隣りのものの3/4と右隣りのものの1/4を合計する。In a preferred embodiment, the four pixels of the quartet are consecutively named P0, P1, P2, or P3, respectively. Pixels P1 and P2 are two candidates to be truncated. The algorithm predicts (1) which pixels are more suitable for truncation, and (2) what reconstruction method should be used in the reconstruction to estimate the truncated pixels. Five reconstruction methods are conceivable for each candidate. That is, 1. Copy the one on the left. 2. Copy the one on the right. 3. Average the one on the left and the one on the right. 4. Add 1/4 of the left neighbor and 3/4 of the right neighbor. 5. The 3/4 of the left neighbor and the 1/4 of the right neighbor are summed.
【0110】 理論的には、P1を切り捨ててP2のコピーによりそれを推定することと、P
2を切り捨ててP1のコピーによりそれを推定することとは等価である。従って
2つの候補(すなわち、P1およびP2)については、考えられる推定量は9つ
(10ではない)しかない。さらに、カルテットから1画素を切り捨てた後、残
る3画素を表すために21ビットが残されることになる。好ましい実施態様にお
いては、各カルテットについての最終的な圧縮データの目標サイズは24ビット
である(25%圧縮)。このことは、選択され推定量を記述するために3ビット
のみが割り当てられ得ることを意味し、従って、実際は8つの推定量のみが考慮
し得る。考慮から省略される推定量は、左隣りのものの3/4と右隣りのものの
1/4によりP2を再構築することである。この特定の推定量を省略する理由は
、MPEGピクチャの統計学により、これが最善のものとして選ばれることが最
も少ないとことが示されるからである(4つの1/4、3/4推定量の中で選択
は恣意的である)。Theoretically, truncating P1 and estimating it by copying P2;
It is equivalent to truncating 2 and estimating it by copying P1. Thus, for two candidates (ie, P1 and P2), there are only nine (not 10) possible estimators. Furthermore, after truncating one pixel from the quartet, 21 bits will be left to represent the remaining three pixels. In the preferred embodiment, the target size of the final compressed data for each quartet is 24 bits (25% compression). This means that only three bits can be allocated to describe the selected estimator, and thus in practice only eight estimators can be considered. The estimator omitted from consideration is to reconstruct P2 with 3/4 of the left neighbor and 1/4 of the right neighbor. The reason for omitting this particular estimator is that MPEG picture statistics indicate that it is least likely to be chosen as the best (four 4, / estimators). The choice is arbitrary).
【0111】 最初に、8つの推定量が計算される。 P0 1=P0(P k j はk法を用いたPiの推定量を表す) P0 1=P2 P2 1=0.5P0+0.5P2 P3 1=0.25P0+0.75P2 P4 1=0.75P0+0.25P2 P1 2=P3 P2 2=0.5P1+0.5P3 P3 2=0.25P1+0.75P3First, eight estimators are calculated. P 0 1 = P0 (P k j represents an estimate of Pi with k method) P 0 1 = P2 P 2 1 = 0.5P0 + 0.5P2 P 3 1 = 0.25P0 + 0.75P2 P 4 1 = 0 .75P0 + 0.25P2 P 1 2 = P3 P 2 2 = 0.5P1 + 0.5P3 P 3 2 = 0.25P1 + 0.75P3
【0112】 すべての推定量について、推定誤差の絶対値は、Ek i = |Pk i - Pi|と
定義される。最小誤差は、mini,k {Ek l }である。1を超える最小誤差が
あれば、選択は恣意的である。(決定は実行のために未決のままにされる)。最
後に、最小誤差に従って、Pjiminが切り捨てられ、3ビットの再構築記述子(
RD)が設定されて選択された推定量、Pkmin iminが示される。3ビットRDは
、残る3つの7ビット画素に連接され、一緒になって24ビットの圧縮されたカ
ルテットを形成する。連接方法は実行のために未決のままにされる。[0112] For all of the estimated amount, the absolute value of the estimation error, E k i = | P k i - Pi | to be defined. The minimum error is min i, k {E k l }. If there is a minimum error of more than one, the choice is arbitrary. (The decision is left pending for execution). Finally, according to the minimum error, Pj imin is truncated and the 3-bit reconstruction descriptor (
RD) is set and the selected estimator, P kmin imin, is shown. The 3-bit RD is concatenated with the remaining three 7-bit pixels and together forms a 24-bit compressed quartet. The connection method is left pending for execution.
【0113】 圧縮されたデータの復元は、単純に圧縮アルゴリズムの逆である。欠けている
7ビットの切り捨てられた画素は、(1)再構築にどの画素(すなわち、P1ま
たはP2)を、および(2)再構築にどの再構築方法を選択するかのために各カ
ルテットの最後にあるRDを用いて再構築される。The restoration of the compressed data is simply the reverse of the compression algorithm. The missing 7-bit truncated pixel is the value of each quartet for (1) which pixel (ie, P1 or P2) to reconstruct and (2) which reconstruction method to choose. Finally, it is reconstructed using a certain RD.
【0114】 図15に示されるように、データ圧縮器は、RDの3ビットにより提供される
再構築方法を得る。次に、再構築のための画素(P1またはP2)が決定され、
上記の8つの方程式の逆に従って、画素再構築が実行される。As shown in FIG. 15, the data compressor obtains a reconstruction method provided by three bits of RD. Next, the pixel (P1 or P2) for reconstruction is determined,
Pixel reconstruction is performed according to the inverse of the above eight equations.
【0115】 本発明は(1)エラー拡散、および(2)画素切り捨てのビデオデータ圧縮段
階において用いられるどのような特定の方法および方程式にも限定されないこと
は指摘されるべきである。本発明として開示されたFlexiRamデザインの
重要な特徴は、これら2つのデータ圧縮/復元段階の特定のシーケンスである。
すなわち、ビデオデータは最初に、エラー拡散アルゴリズムを用いて画素あたり
のビット数を減らして圧縮される。次に、中間的な圧縮ビデオデータは、特定の
画素グループから1つの画素を切り捨てる画素切り捨てアルゴリズムを用いてさ
らに圧縮される。前に論じたように、復元プロセスはまさに圧縮プロセスの逆で
ある。It should be pointed out that the invention is not limited to any particular method and equation used in the video data compression stage of (1) error diffusion, and (2) pixel truncation. An important feature of the FlexiRam design disclosed in the present invention is the specific sequence of these two data compression / decompression steps.
That is, the video data is first compressed using an error diffusion algorithm to reduce the number of bits per pixel. Next, the intermediate compressed video data is further compressed using a pixel truncation algorithm that truncates one pixel from a particular group of pixels. As discussed earlier, the decompression process is exactly the reverse of the compression process.
【0116】 本発明が上記で好ましい特定の実施態様と共にされる一方で、説明および実施
例は例示を意図するものであって、かつ本発明の範囲を限定するものではなく、
それは添付の特許請求の範囲により規定されるものであるということは理解され
るべきである。While the invention has been described in conjunction with the preferred specific embodiments above, the description and examples are intended to be illustrative and not limiting of the scope of the invention.
It is to be understood that it is defined by the appended claims.
【図1】 従来のビデオ復号・表示システムを示す。FIG. 1 shows a conventional video decoding and display system.
【図2】 本発明の分割メモリマネージャデザインの好ましい実施態様を示
す。FIG. 2 illustrates a preferred embodiment of the split memory manager design of the present invention.
【図3】 本発明の分割メモリマネージャデザインの別の好ましい実施態様
を示す。FIG. 3 illustrates another preferred embodiment of the split memory manager design of the present invention.
【図4】、表示セグメントリストとメモリセグメントリストとを用いた、ビ
デオメモリを間接的にアドレスする方法を示す。FIG. 4 shows a method of indirectly addressing a video memory using a display segment list and a memory segment list.
【図5】 メモリセグメントリストの詳細を示す。FIG. 5 shows details of a memory segment list.
【図6】 表示セグメントリストの詳細を示す。FIG. 6 shows details of a display segment list.
【図7】 (a)フレームピクチャフォーマットおよび(b)フィールドピ
クチャフォーマットのための表示セグメントリスト上の2つの書き込みポインタ
および読み取りポインタの位置決めを示す。FIG. 7 illustrates the positioning of two write and read pointers on a display segment list for (a) a frame picture format and (b) a field picture format.
【図8】 セグメント化された再利用可能なビデオメモリデザインの詳細を
示すブロック図である(本発明者によりローリングメモリデザインと名付けられ
ている)。FIG. 8 is a block diagram showing details of a segmented reusable video memory design (named rolling memory design by the present inventors).
【図9】 各ピクチャについての表示セグメントリストの初期化の詳細を示
す。FIG. 9 shows details of initialization of a display segment list for each picture.
【図10】 各マクロブロック行の復号されたビデオデータのビデオメモリ
への書き込みを示す。FIG. 10 shows writing of decoded video data of each macroblock row to a video memory.
【図11】 表示セグメントリストの更新の詳細を示す。FIG. 11 shows details of updating a display segment list.
【図12】 FlexiRamデザインの3つの好ましい実施態様を示す。FIG. 12 shows three preferred embodiments of the FlexiRam design.
【図13a】 FlexiRamデザインの別の3つの好ましい実施態様を
示す。FIG. 13a shows another three preferred embodiments of the FlexiRam design.
【図13b】 FlexiRamデザインの別の3つの好ましい実施態様を
示す。FIG. 13b shows another three preferred embodiments of the FlexiRam design.
【図13c】 FlexiRamデザインの別の3つの好ましい実施態様を
示す。FIG. 13c shows another three preferred embodiments of the FlexiRam design.
【図14】 ビデオデータ圧縮・復元の段階を示すブロック図である。FIG. 14 is a block diagram showing a stage of video data compression / decompression.
【図15】 圧縮および復元の種々の段階の間のカルテットのビデオデータ
フォーマットを示す。FIG. 15 shows the video data format of the quartet during various stages of compression and decompression.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フランケル,ミリ イスラエル、ハイファ、シュロムジオン ストリート 24 (72)発明者 オフィール,ラム イスラエル、ハイファ、ハリモン ストリ ート 7 (72)発明者 アニスマン,デビッド アメリカ合衆国、94022、カリフォルニア 州、ロス アルトス、チェリー アベニュ ー 368 (72)発明者 アイロニ,アロン イスラエル、ハイファ、パルマッチ スト リート 61 (72)発明者 ゴールドバーグ,パール アール. アメリカ合衆国、94306、カリフォルニア 州、パロ アルト、ラ パラ アベニュー 744 Fターム(参考) 5C059 KK08 MA00 MA05 MA14 MA23 MC14 MC38 ME01 NN21 PP05 PP06 PP07 PP16 SS02 SS03 SS12 UA05 UA29 UA32 UA33 UA38 5J064 AA02 BA16 BB03 BC01 BC02 BD03 ──────────────────────────────────────────────────の Continuation of the front page (72) Inventor Frankel, Milli Israel, Haifa, Shromzion Street 24 (72) Inventor Ophir, Lam Israel, Haifa, Harmon Street 7 (72) Inventor Aniseman, David United States, 94022 Cherry Avenue, Los Altos, California, 368 (72) Inventor Aironi, Aaron, Israel, Haifa, Palmatch Street 61 (72) Inventor Goldberg, Pearl Earl. United States, 94306, California, Palo Alto, La Para Avenue, 744 F-term (reference) 5C059 KK08 MA00 MA05 MA14 MA23 MC14 MC38 ME01 NN21 PP05 PP06 PP07 PP16 SS02 SS03 SS12 UA05 UA29 UA32 UA33 UA38 5J064 AA02 BA16 BB03 BC01 BC02
Claims (52)
ムを復号・表示するためのシステムであって、 データの前記ビットストリームを復号するための復号器であって、復号された
データが参照フレームデータと双方向フレームデータから成っている復号器と、 前記複合器に連結された第1ビデオメモリマネージャであって、前記参照フレ
ームデータを取り扱う第1ビデオメモリマネージャと、 前記第1ビデオメモリマネージャに連結され、前記参照フレームデータを格納
するための第1ビデオメモリと、 前記複合器に連結された第2ビデオメモリマネージャであって、前記双方向フ
レームデータを取り扱う第2ビデオメモリマネージャと、 前記前記第2ビデオメモリマネージャに連結され、前記双方向フレームデータ
を格納するための第2ビデオメモリと、 前記第1ビデオメモリマネージャおよび前記第2ビデオメモリマネージャに連
結され、前記ビデオイメージを表示するための表示サブシステムから成るシステ
ム。1. A system for decoding and displaying a bit stream of data representing an encoded video image, comprising: a decoder for decoding the bit stream of data, the decoded data comprising: A decoder comprising reference frame data and bidirectional frame data; a first video memory manager coupled to the multiplexer, the first video memory manager handling the reference frame data; and the first video memory. A first video memory coupled to the manager for storing the reference frame data; a second video memory manager coupled to the composite device for handling the bidirectional frame data; The bi-directional frame data coupled to the second video memory manager; A second video memory for storing, coupled to said first video memory manager and the second video memory manager, and a display subsystem for displaying the video image system.
号されたビデオイメージ情報を格納するのに十分な記憶容量よりも小さい記憶容
量を有している、請求項1に記載のシステム。2. The apparatus of claim 1, wherein the second video memory has a storage capacity less than sufficient to store decoded video image information for one complete frame. The described system.
号されたビデオイメージ情報を格納するのに十分な記憶容量を有している、請求
項1に記載のシステム。3. The system of claim 1, wherein said first video memory has sufficient storage capacity to store decoded video image information for two complete frames.
の復号されたビデオイメージ情報を格納するのに十分な記憶容量を有し、かつさ
らに前記第2ビデオメモリは、1つの完全なフレームのための復号されたビデオ
イメージ情報を格納するのに十分な記憶容量より小さい記憶容量を有している、
請求項1に記載のシステム。4. The first video memory has sufficient storage capacity to store decoded video image information for two complete whole frames, and the second video memory further comprises: Has storage capacity less than sufficient storage capacity to store decoded video image information for one complete frame;
The system according to claim 1.
ファースト信号およびリピート・トップ・フィールド信号を供給される、請求項
1に記載のシステム。5. The first video memory manager comprises a top field
The system of claim 1 provided with a fast signal and a repeat top field signal.
ド・ファースト信号を供給される、請求項1に記載のシステム。6. The system of claim 1, wherein said second video memory manager is provided with said top field first signal.
ファースト信号およびリピート・トップ・フィールド信号を供給され、かつさら
に前記第2ビデオメモリマネージャは、前記トップ・フィールド・ファースト信
号を供給される、請求項1に記載のシステム。7. The first video memory manager comprises a top field
The system of claim 1, wherein a first signal and a repeat top field signal are provided, and wherein the second video memory manager is further provided with the top field first signal.
リに連結されたデータ圧縮器であって、前記第2ビデオメモリ中に格納されるべ
き前記双方向フレームデータを圧縮する圧縮器と、 前記第2ビデオメモリマネージャおよび前記第2ビデオメモリに連結されたデ
ータ復号器であって、前記メモリから読み出された前記圧縮された双方向フレー
ムデータを復元する復元器とからさらに成る、請求項1に記載のシステム。8. A data compressor coupled to the second video memory manager and the second video memory, the compressor compressing the bidirectional frame data to be stored in the second video memory. And a data decoder coupled to the second video memory manager and the second video memory, further comprising a decompressor for decompressing the compressed bidirectional frame data read from the memory. Item 2. The system according to Item 1.
ラー拡散機構および画素切り捨て機構とから成り、かつさらに前記データ復元器
は、ビデオメモリ中に格納されている前記圧縮されたビデオデータを復元するた
めの画素再構築機構とビット連接機構とから成る、請求項8に記載のシステム。9. The data compressor comprises an error diffusion mechanism and a pixel truncation mechanism for compressing the video data, and the data decompressor further comprises the data decompressor stored in a video memory. 9. The system of claim 8, comprising a pixel reconstruction mechanism and a bit concatenation mechanism for restoring video data.
ムの復号・表示のための方法であって、 参照フレームデータおよび双方向フレームデータを供給するためのデータの前
記ビットストリームの復号と、 前記参照フレームデータの第1ビデオメモリへの格納と、 前記双方向フレームデータの第2ビデオメモリへの格納と、 前記第1ビデオメモリからの前記参照フレームデータの取り出しと、 前記第2ビデオメモリからの前記双方向フレームデータの取り出しと、 前記双方向フレームデータおよび前記参照フレームデータからのビデオイメー
ジの表示から成る方法。10. A method for decoding and displaying a bitstream of data representing an encoded video image, the method comprising: decoding the bitstream of data for providing reference frame data and bidirectional frame data. Storing the reference frame data in a first video memory; storing the bidirectional frame data in a second video memory; extracting the reference frame data from the first video memory; Retrieving said bi-directional frame data from said bi-directional frame data and displaying a video image from said bi-directional frame data and said reference frame data.
復号されたビデオイメージ情報を格納するのに十分な記憶容量よりも小さい記憶
容量を有する、請求項10に記載の方法。11. The method of claim 10, wherein the second video memory has a storage capacity less than sufficient to store decoded video image information for one complete frame. .
復号されたビデオイメージ情報を格納するのに十分な記憶容量を有している、請
求項10に記載の方法。12. The method of claim 10, wherein said first video memory has sufficient storage capacity to store decoded video image information for two complete frames.
復号されたイメージ情報を格納するのに十分な記憶容量を有し、かつさらに前記
第2ビデオメモリは、1つの完全なフレームのための復号されたビデオイメージ
情報を格納するのに十分な記憶容量よりも小さい記憶容量を有している、請求項
10に記載の方法。13. The first video memory has a storage capacity sufficient to store decoded image information for two complete frames, and the second video memory further comprises one full video memory. 11. The method of claim 10, wherein the method has less than enough storage capacity to store decoded video image information for a particular frame.
記格納段階は、前記双方向フレームデータを前記第2メモリへ格納する前に圧縮
する段階からさらに成り、かつさらに前記第2ビデオメモリからの前記双方向フ
レームデータの前記取り出し段階は、前記圧縮された双方向フレームデータの復
号段階からさらに成る、請求項10に記載の方法14. The step of storing said bidirectional frame data in said second video memory further comprises the step of compressing said bidirectional frame data before storing it in said second memory. The method of claim 10, wherein the step of retrieving the bidirectional frame data from video memory further comprises the step of decoding the compressed bidirectional frame data.
ントは、表示セグメントリスト中のエントリに対応しており、第2の数は第1の
数よりも大きい表示ビクチャと、 論理的スライディングウインドウを維持するためのメモリマネージャであって
、前記論理的スライディングウインドウは第3の数の表示セグメントリストエン
トリから成り、論理的スライディングウインドウ中の表示セグメントリストエン
トリの第3の数は、ビデオメモリ中のメモリセグメントの第1の数以下となるよ
うに維持され、前記論理的スライディングウインドウ中の各表示セグメントエン
トリは、書き込みされているが表示されていないビデオデータを有するメモリセ
グメントを参照するメモリマネージャとから成るシステム。15. A video decoding and display system, comprising: a video memory partitioned into a first number of memory segments; and a display picture partitioned into a second number of display segments, each display segment comprising: , Corresponding to an entry in the display segment list, wherein the second number is a display picture greater than the first number and a memory manager for maintaining a logical sliding window, wherein the logical sliding window is A third number of display segment list entries in the logical sliding window, wherein a third number of display segment list entries in the logical sliding window is maintained to be less than or equal to the first number of memory segments in the video memory; Each display segment entry in the dynamic sliding window is written but displayed A memory manager referencing a memory segment having unprocessed video data.
のビデオ復号・表示システム。16. The video decoding / display system according to claim 15, wherein the display picture is a B picture.
のビデオ復号・表示システム。17. The video decoding / display system according to claim 15, wherein the display picture is an I picture.
のビデオ復号・表示システム。18. The video decoding / display system according to claim 15, wherein the display picture is a P picture.
デオメモリから読み出された後に、表示セグメントエントリを論理的スライディ
ングウインドウから解放する、請求項15に記載のビデオ復号・表示システム。19. The video decoding and display system according to claim 15, wherein the memory manager releases the display segment entry from the logical sliding window after the corresponding memory segment has been read from the video memory.
まれた後に表示セグメントエントリを論理的スライディングウインドウに付加す
る、請求項15に記載のビデオ復号・表示システム。20. The video decoding and display system according to claim 15, wherein the memory manager adds the display segment entry to the logical sliding window after the corresponding memory segment has been written.
ら読み出された後に該メモリセグメントを論理的スライディングウインドウから
解放し、かつさらにメモリマネージャは、メモリセグメントが書き込まれた後に
該メモリセグメントを論理的スライディングウインドウに付加する、請求項15
に記載のビデオ復号・表示システム。21. The memory manager releases the memory segment from a logical sliding window after the memory segment has been read from video memory, and the memory manager further logically releases the memory segment after the memory segment has been written. 16. Addition to a dynamic sliding window.
5. The video decoding / display system according to 1.
されたピクチャのトップフィールドに対応している論理的トップウインドウと、
前記インターレースされたピクチャのボトムフィールドに対応している論理的ボ
トムウインドウとから成る、請求項15に記載のビデオ復号・表示システム。22. The logical sliding window, wherein the logical sliding window corresponds to a top field of an interlaced picture;
16. The video decoding and display system according to claim 15, comprising a logical bottom window corresponding to a bottom field of the interlaced picture.
びフレームピクチャ両方を取り扱う、請求項15に記載のビデオ復号・表示シス
テム。23. The video decoding and display system according to claim 15, wherein the video memory manager handles both field pictures and frame pictures.
リストの各エントリは、ビデオメモリ中のメモリセグメントに対応し、メモリセ
グメントリストの各エントリは、対応するメモリセグメントが書き込まれている
が読み出されてはいないどうかを示すビジーインジケータから成っているメモリ
セグメントリストと、 多数の表示セグメントに区切られた表示ピクチャと、 多数のエントリを有する表示セグメントリストであって、表示セグメントリス
トの各エントリは、表示ピクチャ中の表示セグメントに対応し、表示セグメント
リストの各エントリは、メモリセグメントリスト中のエントリを指すインデック
スから成り、前記表示セグメントリストは、トップポーションとボトムポーショ
ンとから成り、トップポーションとボトムポーションの各々は、前記表示セグメ
ントリストの多数のエントリの半分から成っている、表示セグメントリストと、 前記表示セグメントリストのエントリを指す読み取りポインタであって、メモ
リセグメントは、次に表示されるビデオデータを格納している読み取りポインタ
により指される表示セグメントリストのエントリにより参照される、読み取りポ
インタと、 前記表示セグメントリストの2つの異なるエントリを指す第1書き込みポイン
タおよび第2書き込みポインタであって、表示ピクチャはフィールドピクチャフ
ォーマットであり、第1書き込みポインタは表示セグメントリストのトップポー
ション中のエントリを指すのに対して第2書き込みポインタは表示セグメントリ
ストのボトムポーション中のエントリを指し、かつさらに表示ピクチャがフレー
ムピクチャフォーマットであれば、第1書き込みポインタおよび第2書き込みポ
インタはその間に1の固定間隔を有する、第1書き込みポインタおよび第2書き
込みポインタとから成る、ビデオ復号・表示システム24. A video decoding / display system, comprising: a video memory divided into a number of memory segments; and a memory segment list having a number of entries, wherein each entry of the memory segment list is Corresponding to a memory segment, each entry in the memory segment list is divided into a memory segment list consisting of a busy indicator indicating whether the corresponding memory segment has been written but not read, and a number of display segments. A display segment list having a number of entries, wherein each entry in the display segment list corresponds to a display segment in the display picture, and each entry in the display segment list is an entry in the memory segment list. Inde pointing to Wherein the display segment list comprises a top portion and a bottom portion, each of the top portion and the bottom portion comprising half of a number of entries in the display segment list; and A read pointer pointing to an entry in the segment list, wherein the memory segment is referenced by an entry in the display segment list pointed to by the read pointer storing video data to be displayed next; A first write pointer and a second write pointer pointing to two different entries of the segment list, wherein the display picture is in field picture format and the first write pointer is in a top portion of the display segment list. Whereas the second write pointer points to the entry in the bottom portion of the display segment list, and if the display picture is in frame picture format, the first write pointer and the second write pointer A video decoding and display system comprising a first write pointer and a second write pointer having a fixed interval
メモリマネージャと、 前記メモリマネージャに連結された、前記ビデオイメージを表示するための表
示サブシステムと、 前記メモリマネージャおよびビデオメモリに連結され、前記ビデオメモリ中に
格納されるべきビデオデータを圧縮するデータ圧縮器と、 前記メモリマネージャおよびビデオメモリに連結され、前記メモリマネージャ
のために、前記ビデオメモリから読み出された前記圧縮ビデオデータを復元する
データ復元器とから成るシステム。25. A system for displaying a video image, comprising: a video memory; a memory manager for receiving a bitstream of video data representing the video image; and the video coupled to the memory manager. A display subsystem for displaying an image; a data compressor coupled to the memory manager and video memory for compressing video data to be stored in the video memory; and a data compressor coupled to the memory manager and video memory; A data decompressor for decompressing the compressed video data read from the video memory for the memory manager.
ステム。26. The system of claim 25, wherein said data compressor is lossy.
システム。27. The system of claim 25, wherein said data compressor is lossless.
エラー拡散機構と画素切り捨て機構とから成る、請求項25に記載のシステム。28. The system of claim 25, wherein the data compressor comprises an error diffusion mechanism for compressing the video data and a pixel truncation mechanism.
記圧縮されたビデオデータを復元するための画素再構築機構とビット接合機構と
から成る、請求項28に記載のシステム。29. The system of claim 28, wherein said data decompressor comprises a pixel reconstruction mechanism and a bit splicing mechanism for decompressing said compressed video data stored in said video memory.
エラー拡散機構と画素切り捨て機構とから成り、かつさらに前記データ復元器は
、前記ビデオメモリ中に格納された前記圧縮されたビデオデータを復元するため
の画素再構築機構とビット接合機構とから成る、請求項25に記載のシステム。30. The data compressor comprises an error diffusion mechanism for compressing the video data and a pixel truncation mechanism, and the data decompressor further comprises a data decompressor for compressing the compressed video data stored in the video memory. 26. The system of claim 25, comprising a pixel reconstruction mechanism and a bit splicing mechanism for reconstructing video data.
記画素切り捨て機構はカルテットあたり1画素切り捨て機構であり、前記画素再
構築機構はカルテットあたり1画素再構築機構であり、前記ビット接合機構はゼ
ロ接合機構である、請求項30に記載のシステム。31. The error diffusion mechanism is a one bit error diffusion mechanism, the pixel truncation mechanism is a one pixel per truncation mechanism, the pixel reconstruction mechanism is a one pixel per quartet reconstruction mechanism, 31. The system of claim 30, wherein the bonding mechanism is a zero bonding mechanism.
号することと、 復号されたビデオデータをメモリマネージャに提供することと、 復号されたビデオデータを圧縮することと、 圧縮されたビデオデータをビデオメモリに格納することと、 前記圧縮されたビデオデータをビデオメモリから読み取ることと、 前記ビデオイメージを表示する表示サブシステムのために圧縮されたビデオデ
ータを復号することとから成る方法。32. A method for decoding and displaying a video image, comprising: decoding a bitstream representing encoded video data of the video image; providing the decoded video data to a memory manager; For compressing the decoded video data; storing the compressed video data in a video memory; reading the compressed video data from the video memory; and a display subsystem for displaying the video image. Decoding the video data that has been compressed into a video stream.
の方法。33. The method of claim 32, wherein the video data compression step is lossy.
載の方法。34. The method of claim 32, wherein the video data compression step is lossless.
から成り、かつデータ復元段階は、画素再構築段階とビット接合段階とから成る
、請求項32に記載の方法。35. The method of claim 32, wherein the data compression step comprises an error diffusion step and a pixel truncation step, and the data restoration step comprises a pixel reconstruction step and a bit splicing step.
ームの復号・表示システムであって、 データの前記ビットストリームを復号するための復号器であって、復号された
データが参照フレームデータと双方向フレームデータとから成る、複合器と、 前記復号器に連結され、前記参照フレームデータを取り扱う第1ビデオメモリ
マネージャと、 前記第1ビデオメモリマネージャに連結され、前記参照フレームデータを格納
するための第1ビデオメモリと、 前記復号器に連結され、前記双方向フレームデータを取り扱う第2ビデオメモ
リマネージャと、 前記第2ビデオメモリマネージャに連結され、前記双方向フレームデータを格
納するための第2ビデオメモリと、 前記ビデオイメージを表示するために、前記第1ビデオメモリマネージャおよ
び前記第2ビデオメモリマネージャに連結された表示サブシステムとから成る、
システム。36. A system for decoding and displaying a bitstream of data representing an encoded video image, the decoder for decoding the bitstream of data, wherein the decoded data is reference frame data. And a bidirectional frame data, a first video memory manager coupled to the decoder and handling the reference frame data, and a first video memory manager coupled to the first video memory manager and storing the reference frame data. A second video memory manager coupled to the decoder for handling the bidirectional frame data; and a second video memory manager coupled to the second video memory manager for storing the bidirectional frame data. Two video memories; and the first video for displaying the video image. A memory manager and a display subsystem coupled to said second video memory manager.
system.
復号されたビデオイメージ情報を格納するのに十分な記憶容量よりも小さい記憶
容量を有している、請求項36に記載のシステム。37. The second video memory according to claim 36, wherein the second video memory has a storage capacity less than sufficient storage capacity for storing decoded video image information for one complete frame. The described system.
復号されたビデオイメージ情報を格納するのに十分な記憶容量を有している、請
求項36に記載のシステム。38. The system of claim 36, wherein the first video memory has sufficient storage capacity to store decoded video image information for two complete frames.
復号されたビデオイメージ情報を格納するのに十分な記憶容量を有しており、か
つさらに前記第2ビデオメモリは、1つの完全なフレームのための復号されたビ
デオイメージ情報を格納するのに十分な記憶容量より小さい記憶容量を有してい
る、請求項36に記載のシステム。39. The first video memory has sufficient storage capacity to store decoded video image information for two complete frames, and the second video memory further comprises: 37. The system of claim 36, wherein the system has less than enough storage capacity to store decoded video image information for one complete frame.
モリに連結され、前記第2ビデオメモリ中に格納されるべき前記双方向フレーム
データを圧縮するデータ圧縮器と、 前記第2ビデオメモリマネージャおよび前記第2ビデオメモリに連結され、前
記第2ビデオメモリから読み出された圧縮された双方向フレームデータを復元す
るデータ復元器とからさらに成る、請求項36に記載のシステム。40. A data compressor coupled to the second video memory manager and the second video memory for compressing the bidirectional frame data to be stored in the second video memory; 37. The system of claim 36, further comprising a manager and a data decompressor coupled to the second video memory for decompressing compressed bidirectional frame data read from the second video memory.
モリに連結され、前記第1ビデオメモリ中に格納されるべき前記参照フレームデ
ータを圧縮するデータ圧縮器と、 前記第1ビデオメモリマネージャおよび前記第1ビデオメモリに連結され、前
記第1ビデオメモリから読み出された圧縮された参照フレームデータを復元する
データ復元器とからさらに成る、請求項36に記載のシステム。41. A data compressor coupled to the first video memory manager and the first video memory for compressing the reference frame data to be stored in the first video memory; and the first video memory manager 37. The system of claim 36, further comprising: a data decompressor coupled to the first video memory and decompressing compressed reference frame data read from the first video memory.
モリに連結され、前記第1ビデオメモリ中に格納されるべき前記参照フレームデ
ータを圧縮する第1データ圧縮器と、 前記第1ビデオメモリマネージャおよび前記第1ビデオメモリに連結され、前
記第1ビデオメモリから読み出された圧縮された参照フレームデータを復元する
第1データ復元器と、 前記第2ビデオメモリマネージャおよび前記第2ビデオメモリに連結され、前
記第2ビデオメモリ中に格納されるべき前記双方向フレームデータを圧縮する第
2データ圧縮器と、 前記第2ビデオメモリマネージャおよび前記第2ビデオメモリに連結され、前
記第2ビデオメモリから読み出された圧縮された双方向フレームデータを復元す
る第2データ復元器とからさらに成る、請求項36に記載のシステム。42. A first data compressor coupled to the first video memory manager and the first video memory for compressing the reference frame data to be stored in the first video memory; A first data decompressor coupled to a memory manager and the first video memory for decompressing compressed reference frame data read from the first video memory; and a second video memory manager and the second video memory. A second data compressor coupled to the second video memory for compressing the bidirectional frame data to be stored in the second video memory; and a second video compressor coupled to the second video memory manager and the second video memory. A second data decompressor for decompressing the compressed bidirectional frame data read from the memory. 37. The system of claim 36, wherein
エラー拡散機構と画素切り捨て機構とから成り、かつさらに前記データデ復元器
は、ビデオメモリ中に格納されている前記圧縮されたビデオデータを復元するた
めの画素再構築機構とビット連接機構とから成る、請求項36に記載のシステム
。43. The data compressor comprising an error diffusion mechanism for compressing the video data and a pixel truncation mechanism, and further comprising the data decompressor storing the compressed video data stored in a video memory. 37. The system of claim 36, comprising a pixel reconstruction mechanism and a bit concatenation mechanism for restoring video data.
ームの復号・表示システムであって、 ビデオデータの前記ビットストリームを復号するための復号器と、 前記復号器に連結された多数のビデオメモリマネージャであって、該多数のメ
モリマネージャの各々はビデオメモリに連結されており、多数のビデオメモリマ
ネージャの各々は復号されたビデオデータの一部を取り扱う、ビデオメモリマネ
ージャと、 前記ビデオイメージを表示するために、前記多数のビデオメモリマネージャに
連結された表示サブシステムとから成るシステム。44. A system for decoding and displaying a bit stream of data representing an encoded video image, comprising: a decoder for decoding the bit stream of video data; and a plurality of decoders coupled to the decoder. A video memory manager, wherein each of the plurality of memory managers is coupled to a video memory, wherein each of the plurality of video memory managers handles a portion of decoded video data; and And a display subsystem coupled to said plurality of video memory managers for displaying an image.
フレームデータとから成り、かつ前記多数のビデオメモリマネージャは、 復号されたビデオデータの参照フレームデータを取り扱うための第1メモリマ
ネージャと、 復号されたビデオデータの双方向フレームデータを取り扱うための第2メモリ
マネージャとから成る、請求項44に記載のシステム。45. The decoded video data comprises reference frame data and bidirectional frame data, and said plurality of video memory managers comprises: a first memory manager for handling reference frame data of the decoded video data. The system of claim 44, further comprising: a second memory manager for handling bi-directional frame data of the decoded video data.
ータと、Iフレームのためのビデオデータと、Bフレームのためのビデオデータ
とから成り、前記多数のビデオメモリマネージャは、 Pフレームのためのビデオデータを取り扱うための第1メモリマネージャと、 Iフレームのためのビデオデータを取り扱うための第2メモリマネージャと、 Bフレームのためのビデオデータを取り扱うための第3メモリマネージャとか
ら成る、請求項44に記載のシステム。46. The decoded video data comprises video data for a P frame, video data for an I frame, and video data for a B frame, wherein the plurality of video memory managers include: A first memory manager for handling video data for frames, a second memory manager for handling video data for I frames, and a third memory manager for handling video data for B frames. 47. The system of claim 44, comprising:
オデータと、第2クロマ成分のためのビデオデータと、第3クロマ成分のための
ビデオデータとから成り、前記多数のビデオメモリマネージャは、 第1クロマ成分のためのビデオデータを取り扱うための第1メモリマネージャ
と、 第2クロマ成分のためのビデオデータを取り扱うための第2メモリマネージャ
と、 第3クロマ成分のためのビデオデータを取り扱うための第3メモリマネージャ
とから成る、請求項44に記載のシステム。47. The decoded video data comprises video data for a first chroma component, video data for a second chroma component, and video data for a third chroma component, and A video memory manager, a first memory manager for handling video data for a first chroma component, a second memory manager for handling video data for a second chroma component, and a video memory manager for a third chroma component. The system of claim 44, comprising a third memory manager for handling video data.
ためのビデオデータから成り、かつ前記多数のビデオメモリマネージャは、 Yクロマ成分のためのビデオデータを取り扱うための第1メモリマネージャと
、 UおよびVクロマ成分のためのビデオデータを取り扱うための第2メモリマネ
ージャとから成る、請求項44に記載のシステム。48. The decoded video data comprises video data for Y, U and V chroma components, and said plurality of video memory managers comprises a first video memory for handling video data for Y chroma components. The system of claim 44, comprising a memory manager and a second memory manager for handling video data for U and V chroma components.
びそれぞれの連結ビデオメモリに連結されている少なくとも1つのデータ圧縮器
であって、それぞれの連結ビデオメモリ中に格納されるべき復号されたビデオデ
ータを圧縮する少なくとも1つのデータ圧縮器と、 前記多数のビデオメモリマネージャの少なくとも1つおよびそれぞれの連結ビ
デオメモリに連結されている少なくとも1つのデータ復元器であって、前記それ
ぞれの連結ビデオメモリから読み出されたビデオデータを復元する少なくとも1
つのデータ復元器とからさらに成る、請求項44に記載のシステム。49. At least one of the plurality of video memory managers and at least one data compressor coupled to a respective concatenated video memory, the decoded data to be stored in a respective concatenated video memory. At least one data compressor for compressing video data; and at least one data decompressor coupled to at least one of the plurality of video memory managers and respective associated video memories, the respective associated video memories. At least one for restoring video data read from
46. The system of claim 44, further comprising: one data reconstructor.
9に記載のシステム。50. The at least one data compressor is lossy.
10. The system according to 9.
49に記載のシステム。51. The system of claim 49, wherein at least one data compressor is lossless.
を圧縮するためのエラー拡散機構と画素切り捨て機構とから成り、かつさらに前
記少なくとも1つのデータ圧縮器は、前記ビデオメモリ中に格納された前記圧縮
されたビデオデータを復元するための画素再構築機構とビット接合機構とから成
る、請求項49に記載のシステム。52. The at least one data compressor comprises an error diffusion mechanism for compressing the video data and a pixel truncation mechanism, and the at least one data compressor is stored in the video memory. 50. The system of claim 49, comprising a pixel reconstruction mechanism and a bit splicing mechanism for decompressing the compressed video data.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US1998/027479 WO2000040033A1 (en) | 1998-12-23 | 1998-12-23 | Video memory management for mpeg video decode and display system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009075365A Division JP2009177833A (en) | 2009-03-26 | 2009-03-26 | Video memory management for mpeg video decoding/display system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002534865A true JP2002534865A (en) | 2002-10-15 |
JP4486755B2 JP4486755B2 (en) | 2010-06-23 |
Family
ID=22268546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000591813A Expired - Fee Related JP4486755B2 (en) | 1998-12-23 | 1998-12-23 | Video memory management for MPEG video decoding and display system |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1142345A1 (en) |
JP (1) | JP4486755B2 (en) |
WO (1) | WO2000040033A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001011456A1 (en) * | 1999-08-06 | 2001-02-15 | Intergraph Corporation | Video card with interchangeable connector module |
KR100750096B1 (en) * | 2001-04-19 | 2007-08-21 | 삼성전자주식회사 | Video pre-processing/post-processing method for processing video efficiently and pre-processing/post-processing apparatus thereof |
JP4725104B2 (en) * | 2002-06-20 | 2011-07-13 | ソニー株式会社 | Decoding device and decoding method |
GB2429593A (en) | 2005-08-26 | 2007-02-28 | Electrosonic Ltd | Data compressing using a wavelet compression scheme |
US9992252B2 (en) | 2015-09-29 | 2018-06-05 | Rgb Systems, Inc. | Method and apparatus for adaptively compressing streaming video |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5614952A (en) * | 1994-10-11 | 1997-03-25 | Hitachi America, Ltd. | Digital video decoder for decoding digital high definition and/or digital standard definition television signals |
FR2703535A1 (en) * | 1993-03-31 | 1994-10-07 | Philips Electronique Lab | Method and apparatus for decoding compressed images |
JP2611637B2 (en) * | 1993-11-22 | 1997-05-21 | 日本電気株式会社 | Image compression / decompression device |
EP0778709B1 (en) * | 1995-12-04 | 2001-05-23 | STMicroelectronics S.r.l. | MPEG-2 decoding with a reduced RAM requisite by ADPCM recompression before storing MPEG decompressed data |
JP3575508B2 (en) * | 1996-03-04 | 2004-10-13 | Kddi株式会社 | Encoded video playback device |
EP0825781B1 (en) * | 1996-08-22 | 2004-10-27 | Matsushita Electric Industrial Co., Ltd. | Image processor |
US5870087A (en) * | 1996-11-13 | 1999-02-09 | Lsi Logic Corporation | MPEG decoder system and method having a unified memory for transport decode and system controller functions |
-
1998
- 1998-12-23 WO PCT/US1998/027479 patent/WO2000040033A1/en active Application Filing
- 1998-12-23 JP JP2000591813A patent/JP4486755B2/en not_active Expired - Fee Related
- 1998-12-23 EP EP98966072A patent/EP1142345A1/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
WO2000040033A1 (en) | 2000-07-06 |
JP4486755B2 (en) | 2010-06-23 |
EP1142345A1 (en) | 2001-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6198773B1 (en) | Video memory management for MPEG video decode and display system | |
US5847762A (en) | MPEG system which decompresses and then recompresses MPEG video data before storing said recompressed MPEG video data into memory | |
US5835636A (en) | Method and apparatus for reducing the memory required for decoding bidirectionally predictive-coded frames during pull-down | |
US8817885B2 (en) | Method and apparatus for skipping pictures | |
US6473558B1 (en) | System and method for MPEG reverse play through dynamic assignment of anchor frames | |
US5818533A (en) | Method and apparatus for decoding B frames in video codecs with minimal memory | |
KR100598467B1 (en) | Image Information Processing System | |
EP0843485B1 (en) | Video decoder with unified memory | |
JP3395166B2 (en) | Integrated video decoding system, frame buffer, encoded stream processing method, frame buffer allocation method, and storage medium | |
US6301304B1 (en) | Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders | |
US6088391A (en) | Method and apparatus for segmenting memory to reduce the memory required for bidirectionally predictive-coded frames | |
US6442206B1 (en) | Anti-flicker logic for MPEG video decoder with integrated scaling and display functions | |
JPH104550A (en) | Mpeg-2 decoding method and mpeg-2 video decoder | |
JPH10322699A (en) | Fast inverse discrete cosine transformation method and system | |
JP2007525906A (en) | Stereo 3D video image digital coding system and method | |
EP0827344A2 (en) | Video decoder | |
US5903282A (en) | Video decoder dynamic memory allocation system and method with an efficient freeze mode | |
US6480542B1 (en) | Method for decoding compressed video data with a reduced memory requirement | |
JP5508024B2 (en) | Method and system for encoding a video signal, encoded video signal, and method and system for decoding a video signal | |
US6163576A (en) | Video encoder having reduced memory bandwidth requirements | |
US7436889B2 (en) | Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation | |
JP4486755B2 (en) | Video memory management for MPEG video decoding and display system | |
JP2001103521A (en) | Method for recognizing progressive or interlace contents in video sequence | |
Vasconcelos et al. | Library-based image coding | |
JP3990011B2 (en) | Decoded image conversion circuit and decoded image conversion device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051004 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081216 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090313 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090421 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100205 |
|
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: 20100302 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100329 |
|
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: 20130402 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |