JP2009177833A - Video memory management for mpeg video decoding/display system - Google Patents
Video memory management for mpeg video decoding/display system Download PDFInfo
- Publication number
- JP2009177833A JP2009177833A JP2009075365A JP2009075365A JP2009177833A JP 2009177833 A JP2009177833 A JP 2009177833A JP 2009075365 A JP2009075365 A JP 2009075365A JP 2009075365 A JP2009075365 A JP 2009075365A JP 2009177833 A JP2009177833 A JP 2009177833A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- video
- data
- display
- video memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、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.
1980年代末期、モーションビデオおよびそれに関連する音声を第1世代CD−ROM上に1.4Mビット/秒で載せる必要が生じた。この目的のため、1980年代末期および1990年代初頭、ISO(「国際標準化機構」)MPEG委員会は、ビデオおよび2チャンネルステレオ音声のためのデジタル圧縮規格を開発した。この規格は、通称MPEG−1、公式にはISO11172として知られている。 In the late 1980's, it became necessary to load motion video and related audio on a first generation CD-ROM at 1.4 Mbit / s. To this end, in the late 1980s and early 1990s, the ISO (“International Organization for Standardization”) MPEG committee developed a digital compression standard for video and two-channel stereo audio. This standard is commonly known as MPEG-1, officially known as ISO11172.
MPEG−1に続き、衛星、カセットテープ、放送およびCATVなどの伝送媒体用のエンターテインメントテレビを圧縮する必要が生じた。従って、フル解像度の標準解像度テレビ(SDTV)画像または高品位テレビ(HDTV)画像用のデジタル圧縮方法を利用可能にするため、ISOは通称MPEG−2、公式にはISO13818として知られる第2の規格を開発した。MPEG−2を最適化するために選ばれたビットレートは、SDTVについては4Mビット/秒および9Mビット/秒、HDTVについては20Mビット/秒であった。 Following MPEG-1, there has been a need to compress entertainment television for transmission media such as satellite, cassette tape, broadcast and CATV. Therefore, in order to make available a digital compression method for full resolution standard definition television (SDTV) or high definition television (HDTV) images, ISO is a second standard known as MPEG-2, officially known as ISO 13818. Developed. The bit rates chosen to optimize MPEG-2 were 4 Mbit / sec and 9 Mbit / sec for SDTV and 20 Mbit / sec for HDTV.
MPEG−1規格もMPEG−2規格も、どの符号化方法を使用するか、符号化プロセス、または符号器の詳細について規定していない。これらの規格は、復号器へのデータ入力を表現するためのフォーマット、およびこれらのデータを解釈するためのルールセットを規定しているのみである。データを表すためのこれらのフォーマットは、構文と呼ばれ、ビットストリームと称される種々の有効なデータストリームを構築するのに用いることができる。データを解釈するためのルールは、復号意味論と呼ばれる。復号意味論の順序集合は、復号プロセスと呼ばれる。 Neither the MPEG-1 nor the MPEG-2 standard defines which encoding method to use, the encoding process, or details of the encoder. These standards only specify a format for representing the data input to the decoder and a rule set for interpreting these data. These formats for representing data are called syntaxes 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.
MPEG構文は、空間的冗長性と時間的冗長性の両方を利用する種々の符号化方法をサポートしている。空間的冗長性は、8×8画素ブロックのブロックベースの離散コサイン変換(「DCT」)符号化を用いて利用され、その後に量子化、ジグザグスキャン、および0量子化されたインデックスおよびこれらインデックスの振幅の可変長符号化が行なわれる。DCT係数の知覚的重み付け量子化を可能にする量子化行列は、知覚的に無関係の情報を捨てるために用いることができ、従って、符号化効率がさらに向上する。一方、時間的冗長性は、動き補償予測、順方向予測、逆方向予測および双方向予測を用いて利用される。 The MPEG syntax supports a variety of encoding methods that utilize both spatial and temporal redundancy. Spatial redundancy is exploited using block-based discrete cosine transform (“DCT”) coding of 8 × 8 pixel blocks, followed by quantization, zigzag scanning, and zero-quantized indices and their indices. A variable length encoding of the amplitude is performed. A quantization matrix that allows perceptual 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 by using motion compensation prediction, forward prediction, backward prediction, and bidirectional prediction.
MPEGは2タイプのビデオデータ圧縮方法、すなわちフレーム内符号化およびフレーム間符号化を提供する。
フレーム内符号化は、空間的冗長性を利用するためのものである。対話的要件の多くは、フレーム内符号化のみで満たし得る。しかしながら、低ビットレートのいくつかのビデオ信号において、フレーム内符号化のみで達成できる画像品質は十分ではない。
MPEG provides two types of video data compression methods: intraframe coding and interframe coding.
Intraframe coding is for using spatial redundancy. Many of the interactive requirements can be met with intraframe coding alone. However, for some video signals with low bit rates, the image quality that can be achieved with only intra-frame coding is not sufficient.
従って、時間的冗長は、予測エラーと呼ばれるフレーム間差信号を計算するMPEGアルゴリズムにより利用される。予測エラーの計算において、動き補償の技術は、動きについての予測を補正するために使用される。H. 261におけるように、マクロブロック(MB)アプローチは、MPEGにおける動き補償に採用されている。前方向予測と呼ばれる一方向の運動評価において、符号化しようとするピクチャ内の目標MBは、参照ピクチャと呼ばれる過去のピクチャ内の同サイズの移動されたマクロブロックのセットと突き合わせられる。H. 261におけるように、目標マクロブロックに最もよく一致する参照ピクチャ内のマクロブロックが予測MBとして用いられる。予測エラーは、次に目標マクロブロックと予測マクロブロックとの差として計算される。 Therefore, temporal redundancy is utilized by the MPEG algorithm that calculates the interframe difference signal called the prediction error. In calculating prediction errors, motion compensation techniques are used to correct predictions for motion. As in H.261, the macroblock (MB) approach has been adopted for motion compensation in MPEG. In a one-way motion estimation called forward prediction, the target MB in the picture to be encoded is matched with a set of moved macroblocks of the same size in past pictures called reference pictures. 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 prediction macroblock.
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 (ie, intra “I”, prediction “P”, and bi-directional prediction “B”). By definition, all macroblocks in an I picture must be coded intra (like a baseline JPEG picture). Furthermore, the macroblocks in the P picture can 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 coding for the immediately preceding I or P picture. Finally, macroblocks within a B (ie bi-directional prediction) picture may be independently selected as non-intra, such as intra or forward prediction, reverse prediction or forward and reverse (interpolated) prediction. During non-intra coding of a B picture, the picture is coded with reference to the immediately preceding I or P picture as well as the immediately following I or P picture. In terms of coding order, P pictures are causal, while B pictures are not causal and use two surrounding pictures that were accidentally coded for prediction. Regarding the compression efficiency, the I picture has the lowest efficiency, the P picture is somewhat better, and the B picture is the most efficient.
すべてのマクロブロックヘッダーは、マクロブロックタイプと呼ばれる要素を含み、これはスイッチのようにこれらのモードをオンおよびオフにできる。マクロブロック(または、MPEG−2におけるようなモーションタイプ)タイプは、ことによると、ビデオ構文全体の中で単独で最も強力な要素である。ピクチャタイプ(I、PおよびB)は、単に、意味論の範囲を広げてマクロブロックモードを可能にする。 Every macroblock header contains 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. Picture types (I, P and B) simply extend the scope of semantics to allow macroblock mode.
ピクチャのシーケンスは、I、PおよびBピクチャのほとんどどのようなパターンからでも成り得る。固定パターン(例えば、IBBPBBPBBPBBPBB)を持つことは工業的には一般的であるけれども、より進化した符号器は、よりグローバルな特徴の文脈中のローカルなシーケンスの特徴に従って3つのピクチャタイプの配置を最適化することを試みる。 A sequence of pictures can consist of almost any pattern of I, P and B pictures. Although having a fixed pattern (eg, IBBPBBPBBPBBPBB) is common in the industry, more advanced encoders optimize the placement of three picture types according to local sequence features in the context of more global features Try to make it.
前に説明したように、Bピクチャを再構築するためには復号器は2つの参照フレーム(すなわち、2つのPフレーム、PおよびIフレーム各1つ、または2つのIフレーム)を必要とするので、ビデオ復号・表示システムは、2つの参照フレームを格納するために、ビデオメモリの少なくとも2つのフレームを割り当てなければならない。 As previously explained, in order to reconstruct a B picture, the decoder requires two reference frames (ie, two P frames, one P and I frame each, or two I frames). The video decoding and display system must allocate at least two frames of video memory in order to store two reference frames.
(2)2つの半フレーム
(i)インターレースビデオ
さらに、MPEG−2は、フレームがプログレッシブに符号化、またはインターレースされ「プログレッシブフレーム」変数により信号で伝えられ得ることを定義する。
プログレッシブフレームは、フィルムから組織されたビデオ材料のための論理選択であり、そこではすべての「画素」が統合、すなわちほとんど同じ瞬間にキャプチャされる。ピクチャ上の場面の光学的イメージは、1度に1ラインが、左から右そして上から下へ走査される。垂直方向に表し得る細部は、走査線数により制限される。従って、ラスタ走査低下の結果として、垂直解像度の細部のいくらかが失われる。同様に、各走査線のサンプリングのため、水平方向の細部のいくらかが失われる。
(2) Two half-frames (i) Interlaced video In addition, MPEG-2 defines that a frame can be progressively encoded or interlaced and signaled by a “progressive frame” variable.
Progressive frames are a logical choice for video material organized from film, where all “pixels” are integrated, that is, captured almost at 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 of the details of the vertical resolution are lost as a result of raster scan degradation. Similarly, because of the sampling of each scan line, some of the horizontal details are lost.
走査線の選択は、帯域幅、フリッカおよび解像度の矛盾した要件間のトレードオフを伴う。インターレースフレーム走査は、異なる時間にサンプリングされた2つのフィールドのラインで構成されたフレームを用いてこれらのトレードオフを達成しようとし、2つのフィールドのラインはインターリーブされており、それにより、フレームの2つの連続するラインは交互のフィールドに属する。これは空間的および時間的解像度における垂直−時間的トレードオフである。 Scan line selection involves a trade-off between inconsistent requirements of bandwidth, flicker and resolution. Interlaced frame scans attempt to achieve these trade-offs using frames composed of two field lines sampled at different times, and the two field lines are interleaved, so that Two consecutive lines belong to alternating fields. This is a vertical-temporal tradeoff in spatial and temporal resolution.
インターレースされたピクチャのために、MPEG−2は2つの「ピクチャ構造」の選択を提供する。「フィールドピクチャ」では、各々がマクロブロックに分割されて、かつ別々に符号化される個々のフィールドから構成される。他方、「フレームピクチャ」で、各インターレースされたフィールドペアは、1つのフレームに共にインターリーブされ、そのフレームは次にマクロブロックに分割され、符号化される。MPEG−2は、インターレースされたビデオが交互のトップおよびボトムフィールドとして表示されることを必要とする。しかしながら、フレーム内では、トップまたはボトムフィールドの一方が、一時的に最初に符号化され、フレームの第1フィールドピクチャとして送られる。フレーム構造の選択は、MPEG−2パラメータの1つにより示される。 For interlaced pictures, MPEG-2 offers a choice of two “picture structures”. A “field picture” is made up 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 interlaced video to be displayed as alternating top and bottom fields. However, within a frame, one of the top or bottom fields is temporarily encoded first and sent as the first field picture of the frame. The selection of the frame structure is indicated by one of the MPEG-2 parameters.
インターレースされたフレームピクチャを処理する従来の復号・表示システムにおいて、たとえトップフィールドおよびボトムフィールドのために再構築された両方のデータが復号器により同時に生成されたとしても、ボトムフィールドはトップフィールドの表示完了後にやっと表示されるか、あるいは逆の場合も同じである。ボトムフィールド表示において、この遅延のため、遅延したものについてボトムフィールドを格納するために、1フィールド(半フレーム)サイズのバッファが必要である。付加的な1フィールド(半フレーム)のこの付加的なビデオメモリ要件が、2つの参照フレーム(すなわち、Iおよび/またはPフレーム)を格納するために必要な2つのフレームの前述した要件に加えられることに留意されたい。 In conventional decoding and display systems that process interlaced frame pictures, the bottom field is a representation of the top field, even if both data reconstructed for the top field and the bottom field are generated simultaneously by the decoder. It will only be displayed after completion, or vice versa. Due to this delay in bottom field display, 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 an additional field (half frame) is in addition to the aforementioned requirement of two frames required to store two reference frames (ie, I and / or P frames). Please note that.
(ii)3:2プルダウン
リピート・ファースト・フィールドは、現在のフレームからのフィールドまたはフレームが、フレームレート変換の目的のために繰り返されるべきである(30Hz表示対24Hz符号化の以下の例のように)ことを信号で伝えるために、MPEG−2に導入された。平均して、24フレーム/秒符号化シーケンスにおいて、1つおきの符号化されたフレームは、リピート・ファースト・フィールドフラッグを信号で伝える。従って、24フレーム/秒(または48フィールド/秒)符号化シーケンスは、30フレーム/秒(60フィールド/秒)表示シーケンスになる。このプロセスは数十年来、3:2プルダウンとして知られている。テレビ出現以来、NTSCディスプレイ上で見られたほとんどの映画は、この方法で表示されてきた。MPEG−2フォーマットにおいて、リピート・ファースト・フィールドフラッグはあらゆるフレーム構造化ピクチャにおいて独立して決定されるので、実際のパターンは不規則となり得る(それは、文字どおり1つ置きのフレームである必要はない)。
(Ii) 3: 2 pulldown The repeat first field should be repeated for the purpose of frame rate conversion, or a field or frame from the current frame (as in the following example of 30 Hz display vs. 24 Hz encoding) Introduced in MPEG-2 to signal. On average, in a 24 frame / second encoded sequence, every other encoded frame signals a repeat first field flag. Thus, a 24 frame / second (or 48 field / second) encoded sequence becomes a 30 frame / second (60 field / second) display sequence. This process has been known as 3: 2 pulldown for decades. Since the advent of television, most movies seen on NTSC displays have been displayed this way. In MPEG-2 format, the repeat first field flag is determined independently in every frame-structured picture, so the actual pattern can be irregular (it doesn't have to be every other frame literally) .
MPEG−2ビデオについて、ビデオディスプレイおよびメモリコントローラは、復号されたビデオデータと共に来るフラッグをチェックすることにより、いつ3:2プルダウンを実行するかを自身で決定しなければならない。MPEG−2は、フレームまたはフィールドが繰り返されるべきかどうかを明示的に記述する2つのフラッグ(リピート・ファースト・フィールドおよびトップ・フィールド・ファースト)を提供する。プログレッシブシーケンスにおいて、フレームは2〜3回繰り返され得る。一方、シンプルおよびメインプロファイルは、繰り返されたフィールドにのみ限定される。さらに、リピート・ファースト・フィールドは、プログレッシブフレーム構造化ピクチャにおいてのみ信号で伝えられ得る(値=1)ということは一般的な構文上の制限である。 For MPEG-2 video, the video display and memory controller must determine by itself when to perform 3: 2 pulldown by checking the flag that comes with the decoded video data. MPEG-2 provides two flags (repeat first field and top field first) that explicitly describe whether a frame or field should be repeated. In a progressive sequence, a frame can be repeated 2-3 times. On the other hand, simple and main profiles are limited to repeated fields only. Furthermore, it is a general syntactic limitation that the repeat first field can be signaled only in progressive frame structured pictures (value = 1).
例えば、最も一般的なシナリオでは、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 indicates 30 frames / second. On average, every other encoded frame sends a repeat field (repeat first field = 1) signal to pad the frame rate from 24 Hz to 30 Hz. That is, (24 encoded frames / second) * (2 fields / encoded frames) * (5 display fields / 4 encoded fields) = 60 display fields / second = 30 display frames / second.
3:2プルダウン能力を有するシステムについて、ビデオメモリの別の余分な1フィールド(半フレーム)が、最初に表示されたフィールドを後に繰り返す目的で格納するために必要とされる(3:2プルダウンプロトコルによる)。なぜならば、最初に表示されたフィールドは、第2フィールドの表示終了後に表示用に再度必要とされるからである。この要件を説明すると、復号中にトップフィールドが表示されると、次にボトムフィールドはトップフィールドの表示完了に続いて表示される。しかしながら、このトップフィールドは、システムがボトムフィールド表示を終了した後に再び表示用に必要とされる(すなわち、3:2プルダウン)。トップフィールドは、2つの異なる瞬間(すなわち、ボトムフィールド表示の前後)に表示用に必要とされるので、トップフィールドを格納するためにビデオメモリの別の半フレーム(1フィールド)が必要になる。2つの参照フレームを格納するのに必要な前述した2.5フレームに、インターレースされたピクチャを表示するためにの半フレームを加えて、MPEG−2ビデオピクチャを表示するために、従来システムは合計3フレームのビデオメモリを必要とする。 For systems with 3: 2 pull-down capability, another extra field (half frame) of video memory is needed to store the first displayed field for later repetition (3: 2 pull-down protocol). by). This is because the first displayed field is needed again for display after the second field is displayed. To explain this requirement, if a top field is displayed during decoding, then the bottom field is displayed following the completion of the display of the top field. However, this top field is needed for display again after the system finishes the bottom field display (ie, 3: 2 pulldown). Since the top field is required for display at two different moments (ie before and after the bottom field display), another half frame (one field) of video memory is required to store the top field. In order to display an MPEG-2 video picture, the conventional system adds up the aforementioned 2.5 frames needed to store two reference frames plus a half frame to display an interlaced picture. Requires 3 frames of video memory.
(iii)静止フレーム
いくつかの新設計のMPEG−2ビデオ復号・表示システムでは、現在表示中のフレームを利用者が静止させることもできる。「静止フレーム」条件下では、ビデオ復号・表示システムは、利用者からさらに指示があるまで現在表示中のピクチャを繰り返し表示する。停止中はそれ以上の復号および3:2プルダウンが必要とされないので、前述した2つの半フレーム(すなわち、インターレースされたピクチャの表示と3:2プルダウン用)は要求されない。しかしながら、表示中のフリーズされたフレームがプログレッシブBフレームであれば、Bフレーム全体がビデオシステム中に格納される必要があるので、現在表示中のBフレームを格納するために、ビデオメモリの余分なフレームが必要である。フリーズされたフレームがIまたはPフレームであれば、余分なビデオメモリが全く必要とされないことは真実である。なぜなら、これら2つの参照フレームはすでにビデオメモリ中に(順方向予測フレームおよび逆方向予測フレームとして)格納されているからである。しかしながら、通常Bフレームは参照用にビデオメモリ中に格納されないので、ビデオメモリの余分なフレームがBフレーム表示用に必要である。従って、Bフレームピクチャの正確なイメージを表示するためには、参照フレームを格納するために必要な2つのフレームに加え、ビデオメモリの別のフルフレームが必要である。
(Iii) Still Frames In some newly designed MPEG-2 video decoding and display systems, the user can also freeze the currently displayed frame. Under the “still frame” condition, the video decoding / display system repeatedly displays the currently displayed picture until further instruction from the user. Since no further decoding and 3: 2 pulldown are required during the pause, the two half-frames described above (ie, display of interlaced pictures and 3: 2 pulldown) are not required. However, if the frozen frame being displayed is a progressive B frame, the entire B frame needs to be stored in the video system, so extra memory in the video memory is needed to store the currently displayed B frame. A frame is needed. It is true that no extra video memory is required if the frozen frame is an I or P frame. This is because these two reference frames are already stored in the video memory (as a forward prediction frame and a backward prediction frame). However, normally B frames are not stored in the video memory for reference, so an extra frame of video memory is needed for B frame display. Thus, in order to display an accurate image of a B-frame picture, in addition to the two frames required to store the reference frame, another full frame of video memory is required.
II.従来のビデオ復号・表示システムが直面する問題
MPEG−2メインプロファイル・メインレベルシステムは、CCIR601パラメータにおいてサンプリング限界(NTSCについては720×480×30Hz、PALについては720×576×24Hz)を有すると規定されている。用語「プロファイル」は、MPEGにおいて使われる構文(すなわち、アルゴリズム)を限定するために用いられ、用語「レベル」は、符号化パラメータ(サンプルレート、フレーム寸法、符号化されたビットレート等)を限定するために用いられる。それと共に、ビデオメインプロファイル・メインレベルは、複雑さを1994VLSI技術の実現可能な制限で標準化し、それでもやはり大半のアプリケーションの要求を満たす。
II. Problems faced by conventional video decoding and display systems The MPEG-2 main profile main level system specifies that it has a sampling limit (720 x 480 x 30 Hz for NTSC and 720 x 576 x 24 Hz for PAL) in CCIR601 parameters Has been. The term “profile” is used to limit the syntax (ie, algorithm) used in MPEG, and the term “level” limits the encoding parameters (sample rate, frame size, encoded bit rate, etc.). Used to do. Along with that, the video main profile main level standardizes complexity with the feasible limitations of 1994 VLSI technology and still meets the requirements of most applications.
CCIR601レートビデオについて、PAL/SECAM復号・表示システムに必要な3フレームが、復号器のビデオメモリ要件を、通常の16Mビット(2Mバイト)限界を越えて、32−Mビットの次のレベルのメモリデザインへと押しやる。このメモリ制約は、1997年7月8日に登録され、本願と同じ譲受人に譲渡されたCismasによる米国特許第5,646,693号(特許文献1)で論じられている。この特許は、その全体が本願明細書において参照により援用されている。従来技術においてよく立証されてきたように、ビデオメモリを16−Mビット以上に増大させると、メモリコントローラのデザインを複雑にし、また別の16Mビットビデオメモリの製造費用が加わることになる。 For CCIR 601 rate video, the 3 frames required for the PAL / SECAM decoding and display system exceed the decoder's video memory requirements beyond the normal 16 Mbit (2 Mbyte) limit and 32-Mbit next level memory Push to design. This memory constraint is discussed in US Pat. No. 5,646,693 by Cismas, registered on July 8, 1997 and assigned to the same assignee as the present application. This patent is hereby incorporated by reference in its entirety. As has been well documented in the prior art, increasing video memory beyond 16-Mbits complicates the design of the memory controller and adds to the cost of manufacturing another 16Mbit video memory.
特許文献1は、サイズが通常のビデオメモリ要件よりも小さい(すなわち、メモリの3フレーム)フレームバッファを用いて、MPEGビデオの復号・表示を行なうシステムおよび方法を開示している。復号・表示の間、特許文献1のシステムは、完全な第2のフィールドを格納する代わりに、第1のフィールドが表示されつつある時は、第2のフィールドの一部のみを格納する。表示のために第2のフィールドが必要になると、復号器は、第2のフィールドの足りない部分を再度復号して、第2のフィールド表示用の残りのデータを生成する。第2のフィールドを表示するために、最初に表示されたフィールドについて割り当てられた同じ格納場所を再度利用することによって、復号・表示システムは、メモリの半フレームまでの節約をする(パーティションの数による)。しかしながら、表示中のビデオメモリ不足の問題を特許文献1のシステムがたとえ解決したとしても、特許文献1のシステムは、第2のフィールドの足りない部分を2度目に復号するための付加的な復号パワーを必要とする。従って、ビデオメモリの要件を低減する一方で、第2の復号段階を無くすという特許文献1と同じ目的を達成できる新しいビデオメモリ管理システムが望まれている。
本発明の付加的な目的および利点は、以下の説明中で述べられ、またその説明からある程度明らかになるか、あるいは本発明の実施により学ばれ得る。本発明の目的および利点は、特に特許請求の範囲において指摘される手段および組合せによって実現および達成され得る。 Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be apparent 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 instrumentalities and combinations particularly pointed out in the appended claims.
本発明は、圧縮されたビデオデータのビットストリームの復号・表示に用いられるビデオメモリを取り扱うための改良されたビデオメモリコントロールシステムに向けられている。詳細には、本発明は、圧縮されたビデオデータのビットストリームの受信、圧縮されたビデオデータの復号、およびその中に含まれているイメージの表示のためのビデオメモリ管理システムに向けられている。 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 bitstream of compressed video data, decoding the compressed video data, and displaying the images contained therein. .
このメモリ管理システムの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 particularly, the video decoding and display system of the present invention consists of 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 the various memory managers, decoding and display of video data can be performed more efficiently.
本発明の別の側面は、ビデオメモリの斬新な処理および取り扱方法を提供することで、これによりMPEG−2データストリームの効率的な取り扱い方法が提供される。特に、セグメント化された再利用可能なビデオメモリ管理システムが開示されている。 Another aspect of the present invention provides a novel method for processing and handling video memory, thereby providing an efficient method for handling MPEG-2 data streams. In particular, a segmented reusable video memory management system is disclosed.
本発明の別の側面は、ビデオ復号・表示システムに必要とされるビデオメモリのサイズをさらに減らすことが可能なフレーム内ビデオデータ圧縮システムを提供することである。 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 video decoding and display systems.
添付図面は、本願明細書中に含まれかつその一部を構成しており、本発明の好ましい実施態様を例示するもので、前述した全般的説明および以下に示される好ましい実施態様の詳細な説明と共に、本発明の原理の説明を助けるものである。 The accompanying drawings are included in and constitute a part of this specification and exemplify the preferred embodiments of the present invention, the general description given above and the detailed description of the preferred embodiments given below. At the same time, it helps to explain the principle of the present invention.
本発明は、いくつかの好ましい実施態様について説明される。好ましい実施態様は、ビデオデータの取り扱いおよび処理のための装置および方法である。以下の本発明の3つの側面が詳細に論じられる。すなわち、(1)分割ビデオメモリマネージャ、(2)セグメント化再利用可能メモリデザイン(本発明者により「ローリングメモリデザイン」と名付けられている)、および(3)方法および用途を考慮しないシンプル固定低ビットレート補助圧縮技術(本発明者により「FlexiRam」と名付けられている)である。本発明のこれら3つの側面すべては、ビデオメモリデータの効率的取り扱いについて開示され、単独のビデオ復号・表示システムにおいて実行できる。 The invention will be described with reference to several preferred embodiments. The preferred embodiment is an apparatus and method for handling and processing video data. The following three aspects of the present invention are discussed in detail. (2) segmented reusable memory design (named by the inventor as “rolling memory design”), and (3) simple fixed low without considering method and application. Bit rate assisted compression technology (named "FlexiRam" by the inventor). All three aspects of the present invention are disclosed for efficient handling of video memory data and can be implemented in a single video decoding and display system.
1.分割ビデオメモリマネージャ
図1は、従来のビデオ復号・表示システムを示すもので、復号器110、メモリマネージャ120、ビデオメモリ130、および表示サブシステム140から成っている。符号化されたビデオデータの連続したビットストリームは、復号および表示のため復号器110に供給される。ビデオデータの連続したビットストリームは、全体的なシステムデザインに応じて、一定または可変ビットレートで供給される。復号器110はビットストリームを復元し、次に復元されたデータをメモリマネージャ120に供給する。メモリマネージャ120は、復元されたビデオデータをビデオメモリ130中に格納し、そのビデオデータを表示サブシステム140に供給する役割を果たしている。
1. Divided Video Memory Manager FIG. 1 illustrates a conventional video decoding and display system, which comprises a
ビデオメモリ130は基本的に、2つの主要な機能を果たしている。すなわち、第1に、これはビデオデータの入り来るビットストリームの復号と復号されたビデオイメージの表示との間で異なる処理測度を緩衝するためのビデオデータバッファとして働く。ビデオイメージ表示のいかなる中断も防止するため、復号器110は、表示サブシステム140からの要求よりも速くビデオデータを復元することが一般に要求される。第2に、ビデオメモリ130は、参照フレームデータ(すなわち、IおよびPフレーム)を格納し、データの入り来るビットストリームからビデオイメージを再構築するために復号器110に提供することが必要である。従って、図1に示すように、復号器110とメモリマネージャ120との間のデータバスは双方向であり、それにより復元されたデータは、メモリマネージャ120へおよびそこから流れている。
The
図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
前の段落で論じたように、基本的に、ビデオメモリに格納される2つのビデオデータグループがある。参照フレームデータ(すなわち、IおよびPフレーム)と、双方向フレームデータ(すなわち、Bフレーム)である。ビデオデータのこれら2つのグループは、復号および表示両方において異なって処理されるので、ビデオデータのこれら2つのグループ間のビデオメモリの取り扱いはまったく異なる。 As discussed in the previous paragraph, there are basically two groups of video data stored in video memory. Reference frame data (ie, I and P frames) and bidirectional frame data (ie, B frames). Since these two groups of video data are handled differently in both decoding and display, the handling of video memory between these two groups of video data is quite different.
本発明の好ましい実施態様において、第1メモリマネージャ210および結合第1メモリ230は、参照フレーム(すなわち、IおよびPフレーム)を取り扱いかつ格納するために割り当てられるのに対し、第2メモリマネージャ220および結合第2メモリ240は、双方向フレーム(すなわち、Bフレーム)データを取り扱いかつ格納するために割り当てられる。ビデオメモリコントローラを2つの分離された別個のメモリコントローラに分割することにより、各種類のビデオデータを取り扱うのに最も効率的なメモリ管理および/または圧縮方法を実行するために、2つのコントローラの各々を特別にデザインできる。従来のメモリマネージャを2つの別個のマネージャに分割することにより、従来のビデオ復号・表示システムに優る、ビデオデータをより効率的に取り扱うことができる一方で、単純なシステムデザインを有するという利点が本発明によりもたらされる。
In a preferred embodiment of the present invention, the
例えば、特許文献1が開示したビデオメモリ管理システムにおいて、メモリ管理方法はBフレームに向けられる。分割メモリマネージャデザインを用いた好ましい実施態様において、第1メモリマネージャ210または310および付属する第1メモリ230または330が従来のビデオメモリ管理機能を実行するのに対して、第2メモリマネージャ220または320および付属する第2メモリ240または340のみが特許文献1のメモリ管理技術を実行するようにデザインすることができる。従って、個々の種類のビデオデータ用に特定のビデオメモリ管理技術をカスタマイズできるという本発明の能力は、従来デザインに優るより大きなデザイン柔軟性をビデオシステム設計者にもたらす。
For example, in the video memory management system disclosed in
さらに、別の好ましい実施態様において、本発明は3つのメモリマネージャから成る。第1メモリマネージャはIフレームを取り扱う。第2マネージャはPフレームを取り扱う。さらに、第3メモリマネージャはBフレームのみを取り扱う。
別の好ましい実施態様において、本発明は3つメモリマネージャから成る。3つのメモリマネージャの各々は、3つの色成分(例えば、Y、U、およびV)の1つを取り扱う。
Furthermore, in another preferred embodiment, the present invention comprises three memory managers. The first memory manager handles I frames. The second manager handles P frames. Furthermore, the third memory manager handles only B frames.
In another preferred embodiment, the present invention comprises three memory managers. Each of the three memory managers handles one of the three color components (eg, Y, U, and V).
多数のメモリマネージャを有するさらなる好ましい実施態様において、メモリマネージャの各々は、ビデオデータのタイプ(例えば、色成分)および/またはグループ(例えば、参照フレームまたは双方向フレーム)の異なる組合せを取り扱うことができる。例えば、好ましい実施態様において、ビデオ復号・表示システムは、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 handle different combinations of video data types (eg, color components) and / or groups (eg, reference frames or bi-directional frames). . For example, in a preferred embodiment, the video decoding and display system includes 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, I and It consists of a third memory manager for handling U and V chroma components for P pictures and a fourth memory manager for handling the remaining video data. Each of the four memory managers can utilize a different memory management technique.
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 suit a particular type or definition of video data.
図3は、本発明の別の好ましい実施態様を示すものである。MPEG−2のメインプロファイル・メインレベルの定義の下では、リピート・ファースト・フィールドは、PAL規格についてのBフレームについては許されない。従って、MPEG−2メインプロファイル・メインレベルPALシステムについてデザインされた好ましい実施態様において、リピート・ファースト・フィールドは第2メモリマネージャ320に供給される必要はない。なぜならば、第2メモリマネージャ320はBフレームピクチャのみを処理するからである。しかしながら、トップ・フィールド・ファースト信号は、インターレースされたピクチャを取り扱うための第1メモリマネージャ310および第2メモリマネージャ320の両方にとり依然として必要である。
FIG. 3 shows another preferred embodiment of the present invention. Under the MPEG-2 main profile main level definition, the repeat first field is not allowed for B frames for the PAL standard. Thus, in a preferred embodiment designed for an MPEG-2 main profile main level PAL system, the repeat first field need not be provided to the
2.セグメント化された再利用可能なビデオメモリデザイン
本発明の別の側面は、フィールドピクチャおよびフレームピクチャ両方を取り扱うことができるビデオ復号・表示システムのためのビデオメモリ割り当てを取り扱う方法に向けられている。
前に説明したように、MPEG−2は、インターレースされたピクチャに対し2つのピクチャ構造の選択を提供する。フィールドピクチャは、各々がマクロブロックに分割され、個別に符号化された個々のフィールドから成る。一方、フレームピクチャでは、インターレースされた各フィールドペアは一緒に1つのフレームにインターリーブされ、そのフレームは次にマクロブロックに分割され、符号化される。MPEG−2は、インターレースされたビデオが交互のトップおよびボトムフィールドとして表示されることを必要とする。しかしながら、フレーム内では、トップまたはボトムフィールドの一方が一時的に先に符号化され、あらかじめ定められた定義に従ってフレームの第1フィールドピクチャとして送られ得る。2つのピクチャ構造についての復号されたデータのシーケンスにおける違いのため、これらの2つのフォーマットにより定義されたビデオデータの読み取りおよび書き込みは、異なる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.
As previously described, MPEG-2 provides a choice of two picture structures for interlaced pictures. A field picture consists of individual fields, each divided into macroblocks and individually encoded. 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 interlaced video to be displayed as alternating top and bottom fields. However, within a frame, one of the top or bottom fields can be temporarily encoded 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, the reading and writing of the video data defined by these two formats is performed in two different orders.
図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, the 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 creates and maintains two lists, MS (memory segment) 420 and DS (display segment) 430. Each memory segment is indirectly addressed by an entry in the
図4に示されるような好ましい実施態様において、DSリスト430は、表示スクリーンへビデオメモリ410をマッピングする。表示スクリーンは多数のセグメントに論理的に分割されており、DSリスト430の各エントリは表示スクリーンの1つのセグメントに対応している。好ましい実施態様において、DSリスト430は72個のエントリを含み、1つが各表示セグメントに対応している。72という数が選ばれたのは、PALフォーマットにおいて、576本のラインが表示され、かつ各セグメントなビデオデータの8本のラインを含んでいるからである。従って、数72=576/8が選択される。
In the preferred embodiment as shown in FIG. 4, the
図4と図5に示されるように、MSリスト420の各エントリは、ビデオメモリの特定のメモリセグメントがビジーであるかどうかを示すために、1つの付加的なビジービット510(「ビジービット」)を含んでいる。具体的には、あるメモリセグメントに書き込まれてそれが表示されなければ、それはビジーとして示される。同様に、ビジーでないメモリセグメントとは、そのメモリセグメントが表示されたが、新しいデータはなんらその中に含まれていないことを意味する。本発明にとり、ビジービット510を用いることは非常に重要である。なぜならば、MSリスト420中の各エントリ上のビジービット510のスイッチングは、ビデオメモリ410中の論理的スライディングウインドウを定義することと特徴付け得るからである。データがビデオメモリセグメントに書き込みされおよびそこから読み出された時にビジービット510を「オン」および「オフ」に設定することにより、論理的スライディングウインドウは、ビジービットが「オン」のMSリスト中の対応するエントリを有するすべてのメモリセグメントとして定義される。さらに、論理的スライディングウインドウは、図7に示されるように、2つのDS書き込みポインタ(すなわち、710および720、または730および740)および読み取りポインタ(すなわち、750または760)のインクリメントおよび更新によっても維持される。
As shown in FIGS. 4 and 5, each entry in the
ビデオメモリ410中のメモリセグメントおよびMSリスト420中のエントリの物理的位置が、DSリスト430中のエントリのように連続して割り当てられなくても、論理的スライディングウインドウは、DSリスト430中の連続しているエントリにより定義される。ビデオメモリ410中のメモリセグメントにより多くの復号データが格納された後に論理的スライディングウインドウはサイズが増大するのに対し、ビデオメモリ410中のメモリセグメントから復号データが読み出された後では、サイズが減少する。さらに、ビデオデータがビデオメモリから読み出されおよびそれに書き込まれると、論理的スライディングウインドウは位置がシフトする(すなわち、DSリスト430下方へ)。本発明のキーコンセプトは、表示スクリーンの一部に対応する論理的に連続するメモリスペースを定義できることあり、対応する復号されたビデオデータは、たとえそのビデオデータが物理的ビデオメモリにランダムに格納されることがあったとしても、現在ビデオメモリに書き込まれており、かつ表示されていない。本発明の利点は、物理的ビデオメモリのサイズをフルピクチャより小さくできることである。理論上は、物理的メモリサイズはフルピクチャの格納に必要なサイズの半分(すなわち、フレームの半分)まで小さくし得る。
Even though the memory segment in the video memory 410 and the physical location of the entries in the
図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
好ましい実施態様において、本発明のビデオ復号・表示システムは、フレームピクチャフォーマットおよびフィールドピクチャフォーマット両方におけるインターレースされたピクチャを取り扱う。従って、図6に示されるように、DSリスト430は、論理的に2つの部分に区切られる。すなわち、トップフィールドに対応するトップポーション610およびボトムフィールドに対応するボトムポーション620である。0から35まで索引を付けられたエントリはトップフィールドに属し、36から71まで索引を付けられたエントリはボトムフィールドに属する。DSリスト430を対応するビデオメモリセグメント420に一致させるため、DSリスト430の各エントリは、MSリスト420への6ビットインデックス(0から47)を含む。従って、DSリスト430の各エントリはMSリスト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. Accordingly, as shown in FIG. 6, the
図7に示されるように、好ましい実施態様において、DSリスト430用に3つのポインタが維持される。すなわち、読み取り・表示用の読み取りポインタ(すなわち、750または760)1つ、およびビデオメモリ書き込み用の書き込みポインタ(すなわち、710、720または730、740)2つである。
フィールドピクチャおよびフレームピクチャについて、これら3つのDSポインタは異なる位置に割り当てられる。
As shown in FIG. 7, in the preferred embodiment, three pointers are maintained for the
For field pictures and frame pictures, these three DS pointers are assigned to different positions.
図7(a)は、ビデオシステムがフレームピクチャを取り扱っている時のこれら3つのポインタの位置を示すものである。データが2つのフィールド間でインターリーブ的に復号される、フレームピクチャ用ビデオデータのビットストリームを取り扱うため、2つの書き込みポインタ710、720は、間に36のインタバルを有する2つのDSエントリを指すように設定され、それにより、2つの書き込みポインタの各々は、異なるフィールド中の同じオフセット位置にあるエントリを指している(すなわち、トップフィールドおよびボトムフィールド)。さらに、読み取りポインタ750は、次に表示されるべきDSリスト430のエントリを指している。フレームピクチャのトップフィールドおよびボトムフィールド両方に対応するため、論理的スライディングウインドウは、論理的トップウインドウおよび論理的ボトムウインドウからさらに成っている。論理的トップウインドウは、トップウインドウ内にスライディングウインドウを定義し、これはビデオメモリ中のメモリセグメントに間接的にアドレッシングしているDSリストのトップポーション中の連続するエントリにより示され、このメモリセグメントは書き込まれたがまだ表示されていないものである。同様に、論理的ボトムウインドウは、スライディングウインドウをボトムフィールド中に定義し、これはビデオメモリ中のメモリセグメントに間接的にアドレッシングしているDSリストのボトムポーション中の連続するエントリにより示され、このメモリセグメントは書き込まれたがまだ表示されていないものである。
FIG. 7 (a) shows the positions of these three pointers when the video system is handling frame pictures. To handle a bitstream of video data for frame picture where data is interleaved between two fields, the two
図7(b)は、ビデオ復号・表示システムがフィールドピクチャを取り扱っている時のこれらのポインタの位置を示すものである。フィールドピクチャのビデオデータは復号器により逐次復号および供給されるので、2つの書き込みポインタは730、740は、それらの間に1の固定インタバルを有するように設定されている。さらに、読み取りポインタ760は、次に表示されるべきDSリスト430のエントリを指している。フィールドピクチャ中では、ビデオデータは逐次復号および供給され、フレームピクチャにおけるように、論理的スライディングウインドウを論理的トップおよびボトムウインドウにさらに分割する必要は全く無い。従って、前の段落において論じられたような論理的スライディングウインドウが維持される。
FIG. 7B shows the positions of these pointers when the video decoding / display system is handling field pictures. Since the video data of the field picture is sequentially decoded and supplied by the decoder, the two
図8は、本発明のためのフローチャートを示すものである。
最初に、ビデオ復号・表示システムの初期化中に、MSエントリのすべてのビジービットは、メモリマネージャによりNOTビジー(すなわち、MSエントリの全ビジービットを論理0にセットする)初期化される(段階810)。
メモリマネージャが、符号化されたビデオデータの入り来るストリーム中に新しいピクチャを検出すると、図9に示されるように、メモリマネージャはDSリスト430を初期化する(段階820)。
FIG. 8 shows a flowchart for the present invention.
First, during initialization of the video decoding and display system, all busy bits of the MS entry are initialized by the memory manager to NOT busy (ie, set all busy bits of the MS entry to logic 0) (stage). 810).
When the memory manager detects a new picture in the incoming stream of encoded video data, the memory manager initializes the
図9は、各ピクチャについてDSリスト430を初期化する段階を詳しく示すものである(段階820)。最初に、メモリコントローラが入り来るビットストリーム中のピクチャのフォーマットをチェックし、ピクチャ構造パラメータ値をチェックすることによりそのピクチャがフィールドピクチャかフレームピクチャかを決定する(段階910)。
FIG. 9 shows in detail the step of initializing the
ビデオデータがフレームピクチャフォーマットであれば、メモリコントローラは次にトップ・フィールド・ファースト変数をチェックしてフラッグが立てられているどうかを決定する(段階930)。トップフィールドが最初に復号される必要があれば、DS読み取りポインタ750は36に初期化され、第1DS書き込みポインタ710は0にセットされ、第2DS書き込みポインタ720は36にセットされる(段階960)。一方、ボトムフィールドが最初に復号される必要があれば、DS読み取りポインタ750は0にセットされ、第1DS書き込みポインタ710は0にセットされ、第2DS書き込みポインタ720は36にセットされる(段階970)。
If the video data is in frame picture format, the memory controller next 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
図9に示されるように、ビデオデータがフィールドピクチャフォーマットであれば、メモリコントローラはピクチャ構造パラメータをチェックして、入り来るビデオデータがトップフィールドピクチャかボトムフィールドピクチャかを決定する(段階920)。トップフィールドが復号される必要があれば、3つのDSポインタは以下の通りセットされる。すなわち、DS読み取りポインタ760は36にセットされ、第1DS書き込みポインタ730は0にセットされ、第2DS書き込みポインタ740は1にセットされる(段階940)。一方、ボトムフィールドが復号される必要があれば、DS読み取りポインタ760は0にセットされ、第1DS書き込みポインタ730は36にセットされ、第2DS書き込みポインタ740は37にセットされる(段階950)。
As shown in FIG. 9, if the video data is in a field picture format, the memory controller checks a picture structure parameter to determine whether the incoming video data is a top field picture or a bottom field picture (step 920). If the top field needs to be decoded, the three DS pointers are set as follows: That is, the DS read
図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 scans the
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エントリが更新された後、復号器はビデオデータの16本のラインを含む新しいマクロブロック行を復号する(段階830)。
ビデオデータのマクロブロック行が復号された後、メモリマネージャは、復号されたビデオデータを段階840においてビデオメモリに保存する。図10は段階840の詳細を示すものである。
After the DS entry has been updated, the decoder decodes a new macroblock row containing 16 lines of video data (stage 830).
After the macroblock row of video data is decoded, the memory manager stores the decoded video data in video memory at
図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 uses the MS segment entry indirectly addressed by the first
一方、ピクチャがフレームピクチャであれば、復号器が入り来るビットストリームのビデオデータのライン16本(すなわち、1マクロブロック行)を復号した後、メモリマネージャは、現在復号しているフレームのトップフィールドに対応するビデオデータのライン8本を、第1DS書き込みポインタ710により間接的にアドレスされた第1MSセグメントのエントリによりアドレスされたメモリセグメントへ書き込む。次にメモリマネージャは、現在復号中のフレームのボトムフィールドに対応するビデオデータのライン8本を、第2DS書き込みポインタ720により間接的にアドレスされた第2MSセグメントのエントリによりアドレスされたメモリセグメントへ書き込む(段階1020)。
図8に示されるように、対応するメモリセグメントへのビデオデータの書き込みに続き、DSポインタ(すなわち、710、720、および750または730、740、および760)が次に、図11に示されるような段階(段階860)により更新される。
On the other hand, if the picture is a frame picture, after the decoder decodes the 16 lines of video data of the incoming bitstream (ie, one macroblock row), the memory manager will return the top field of the currently decoded frame. Are written into the memory segment addressed by the first MS segment entry indirectly addressed by the first
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 730, 740, and 760) is then as shown in FIG. It is updated by a different stage (stage 860).
図11は、DSポインタ(すなわち、710、720、および750または730、740、および760)の更新操作(段階860)の詳細を示すものである。メモリマネージャは最初に、ビデオデータがフィールドピクチャフォーマットであるかフレームピクチャフォーマットであるかをチェックし(段階1110)、次にそれに応じてメモリマネージャが2つのDS書き込みポインタを更新する(段階1120および1130)。
FIG. 11 shows details of the update operation (stage 860) of the DS pointer (ie, 710, 720, and 750 or 730, 740, and 760). The memory manager first checks whether the video data is in field picture format or frame picture format (stage 1110), and then the memory manager updates the two DS write pointers accordingly (
ビデオデータがフレームピクチャフォーマットであれば、2つのDS書き込みポインタ710、720のどちらも1進められる(段階1120)。一方、ビデオデータがフィールドピクチャフォーマットであれば、2つのDS書き込みポインタ730、740のどちらも2進められる(段階1130)。
DSポインタが更新された後、メモリマネージャは、現在のピクチャ用にそれ以上入り来るビデオデータがあるかどうかをチェックする。入り来るビデオビットストリームがまだあるならば、その操作は、図8に示されるようなMSリストスキャニング段階に戻る(段階870)。
If the video data is a frame picture format, both of the two
After the DS pointer is updated, the memory manager checks whether 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).
現在のピクチャ用の入り来るビットストリームが終結すれば、次にビデオシステムは、さらに復号・表示されるピクチャがさらにあるかどうかをチェックする(段階880)。復号・表示のために入り来るピクチャがさらにあれば、全体の操作は段階820に戻る。全体の操作は、表示用に入り来るピクチャがもはやなくなれば完了する(段階890)。 If the incoming bitstream for the current picture ends, the video system then checks whether there are more pictures to be decoded and displayed (step 880). If there are more incoming pictures for decoding and display, the overall operation returns to step 820. The entire operation is completed when there are no more incoming pictures for display (step 890).
システムが表示用に付加的なビデオデータを必要とする時は、データの次のライン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 8 lines of data are stored in the video memory 410 using the MS index addressed by the DS read pointer (ie, 750 or 760). Retrieved from memory segment. The address stored in the MS list entry is used to locate the next memory segment to be displayed from the video memory 410. After a particular memory segment is read for display, the busy bit 510 of that
本発明の1実施態様において、メモリコントローラが、前述した「間接的アドレッシング」スキームを処理するのに十分な速度を有していなければ、DSリスト430のエントリは6ビットから26ビットに増大され、それにより、メモリセグメントのアドレスがMSエントリ中で選択されると、それはMSリスト420インデックスと共にDSエントリにコピーされる。メモリセグメントのアドレスをMSリスト420エントリと共にDSリストに書き込むことにより、アドレッシングおよびMSリスト420からのデータ取り出しの余分な段階が回避できる。
In one embodiment of the invention, if the memory controller is not fast enough to handle the “indirect addressing” scheme described above, the
3.FLEXIRAMデザイン
本発明の別の側面は、フレーム内ビデオメモリ圧縮/復元方法に向けられている。
本発明において、ビデオデータは、ビデオメモリに格納される前に、損失性または非損失性に圧縮され、圧縮されたデータは、それがビデオメモリから読み出される時に復元される。このビデオデータ圧縮・復元装置は、本発明者らにより「FlexiRam」と名付けられている。
3. FLEXIRAM Design Another aspect of the present invention is directed to an intra-frame video memory compression / decompression method.
In the present invention, the video data is compressed lossy or lossless before being stored in the video memory, and the compressed data is decompressed when it is read from the video memory. This video data compression / decompression apparatus is named “FlexiRam” by the present inventors.
図12は、本発明の3つの異なる実施態様を示す。
図12(a)に示されるような好ましい実施態様において、本発明のFlexiRam1220aは、メモリマネージャ1210aに組み込まれており、ビデオデータのすべての圧縮および復元はメモリマネージャ1210a内で実行される。この実施態様の利点は、ビデオメモリ1230aのための特別なハードウェア要件が全く無いことおよびビデオデータの圧縮および復元のどちらもビデオメモリ1230aに対してトランスペアレントであることである。
FIG. 12 shows three different embodiments of the present invention.
In a preferred embodiment as shown in FIG. 12 (a), the
図12(b)は本発明の別の好ましい実施態様を示すもので、FlexiRam1220bは、メモリマネージャ1210bおよびビデオメモリ1230bの両方から分離されている。この実施態様の利点は、ビデオ復号・表示システム全体の実質的な修正なしで本発明の実行が可能なことである。
FIG. 12 (b) illustrates another preferred embodiment of the present invention, where
図12(c)は本発明の別の実施態様を示すもので、FlexiRam1220cはビデオメモリ1230cに組み入れられている。この実施態様の利点は、データ圧縮および復元の操作全体がメモリマネージャ1210cに対してトランスペアレントであり、メモリマネージャ1210cに対しオーバーヘッドが全く付加されないことである。
FIG. 12 (c) shows another embodiment of the present invention, where the
本発明がすべてのピクチャタイプ(I、PおよびB)で作用し、かつどのようなタイプのピクチャに対しても限定されないことは留意すべきである。従って、所望されれば、本発明は、分割メモリマネージャデザインにおいて、(a)第2メモリマネージャ240、あるいは(b)第1メモリマネージャ230と第2メモリマネージャ240両方を用いて実行し得る(図2参照)。
It should be noted that the present invention works with all picture types (I, P and B) and is not limited to any type of picture. Thus, if desired, the present invention can be implemented in a split memory manager design using (a) the
図13a、13bおよび13cは、FlexiRamデザインと分割メモリマネージャデザインとを組み合せた、本発明の3つの異なる実施態様を示すものである。図13aは、本発明の2つの好ましい実施態様の1つを示す。この実施態様において、2つのFlexiRam圧縮器/復号器が用いられる。第1FlexiRam1370aは、第1メモリマネージャ1310aと第1メモリ1330aとの間に置かれている。第2FlexiRam1380aは、第2メモリマネージャ1320aと第2メモリ1340aとの間に置かれ、FlexiRam技術を用いて、格納されたすべてのビデオメモリデータが圧縮・復元される。図13bは、本発明の別の実施態様を示すものである。FlexiRam1370bは、第2メモリマネージャ1320bと第2メモリ1340bとの間に置かれ、双方向フレーム(すなわち、B)のためのビデオデータのみが、ビデオメモリに格納される時に圧縮される。最後に、図13cは本発明のさらに別の実施態様を示すものである。FlexiRam1370cは、第1メモリマネージャ1310cと第1メモリ1330cとの間に置かれ、予測フレーム(すなわち、2I;1Iおよび1P;または2P)用ビデオデータのみが、ビデオメモリに格納される時に圧縮される。本発明はメモリマネージャの数を2または3に限定するものではないことに留意すべきである。メモリマネージャは、ビデオデータの種々のタイプおよび/またはグループを処理するため、多数(すなわち、3を超える)の別個のメモリマネージャに分割し得る。
Figures 13a, 13b and 13c illustrate three different embodiments of the present invention combining a FlexiRam design and a split memory manager design. FIG. 13a shows one of two preferred embodiments of the present invention. In this embodiment, two FlexiRam compressor / decoders are used. The
特定のシステムについてどの実施態様を実施すべきかを考慮する場合に最も重要な因子は、利用可能なビデオメモリ量、利用可能な処理速度、および所望の画質等である
例えば、前述した実施態様に加え、FlexiRamデザインは、3つの色成分すべて、あるいは2つのクロマ色成分のみの圧縮および復元に適用できる。
The most important factors when considering which embodiment to implement for a particular system are the amount of video memory available, the available processing speed, the desired image quality, etc. 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.
デザインは、前に開示されたすべての実施態様および側面を組み合せることによりさらに改善し得る。例えば、1つの実施態様において、Bピクチャ中のUおよびV色成分のみがFlexiRamデザインにより圧縮される。あるいは、別の実施態様において、2つのピクチャグループ(すなわち、参照フレーム、または双方向フレーム)すべてについての3つの色成分すべてが、FlexiRamデザインにより圧縮される。 The design can be further improved by combining all previously disclosed embodiments and aspects. For example, in one embodiment, only the U and V color components in a B picture are compressed with the FlexiRam design. Alternatively, in another embodiment, all three color components for all two picture groups (ie, reference frames or bi-directional frames) are compressed by the FlexiRam design.
分割メモリマネージャ、FlexiRam、および原色の分割を組み合せる上での本発明のデザイン柔軟性により、種々のビデオシステム要件、ビデオメモリサイズ、および所望の画質等に応じて、システムデザイナーが最も適切かつ効果的な組み合わせを選択できるようになるという、デザイン自由度におけるたいへんな利点がもたらされる。 The design flexibility of the present invention in combining split memory manager, FlexiRam, and primary color splits makes system designers most appropriate and effective according to various video system requirements, video memory size, desired image quality, etc. This gives you a great advantage in design freedom, allowing you to choose the right combination.
図14は、FlexiRamデザインの好ましい実施態様の概要を示すものである。図に示されるように、データ圧縮は2つの段階から成る。すなわち、(1)エラー拡散(段階1410)、および(2)カルテットあたり1画素切り捨て(段階1420)である。 FIG. 14 outlines a preferred embodiment of the FlexiRam design. As shown in the figure, data compression consists of two stages. That is, (1) error diffusion (stage 1410) and (2) truncation of one pixel per quartet (stage 1420).
最初、ビデオデータがエラー拡散アルゴリズムに従って圧縮される(段階1410)。好ましい実施態様において、基本的圧縮単位は、4つの連続した水平画素を含む「カルテット」と定義される。エラー拡散圧縮段階(段階1410)は、カルテットの各画素を個別に圧縮する。1ビットエラー拡散アルゴリズムを用いることにより、本来32ビット(4画素*8ビット/画素)を有する画素のカルテットは、28ビットに圧縮される(4画素*7ビット/画素)。本発明は1ビットエラー拡散アルゴリズムに限定されるものではなく、多ビットエラー拡散アルゴリズムも同様に、ただし知覚可能な画質低下のトレードオフを伴って実施し得ることに留意すべきである。 Initially, the video data is compressed according to an error diffusion algorithm (stage 1410). In a preferred embodiment, a basic compression unit is defined as a “quartet” that includes four consecutive horizontal pixels. The error diffusion compression stage (stage 1410) compresses each pixel of the quartet individually. By using the 1-bit error diffusion algorithm, the quartet of pixels originally having 32 bits (4 pixels * 8 bits / pixel) is compressed to 28 bits (4 pixels * 7 bits / pixel). It should be noted that the present invention is not limited to a 1-bit error diffusion algorithm and that a multi-bit error diffusion algorithm can be implemented as well, but with a perceptible image quality degradation tradeoff.
ビデオデータ圧縮の第2段階は、「カルテットあたり1画素切り捨て」である(段階1420)。カルテットあたり1画素切り捨てアルゴリズムは、4つの7ビット画素のカルテットを24ビットカルテットに圧縮するものである。データ圧縮器は、切り捨てされるカルテットの最良の画素を計算し、再構築記述子(「RD」)としてカルテットの最後の3ビットに再構築方法を格納する。この圧縮段階の後、画素の圧縮されたカルテットは24ビットを有する(3画素*7ビット/画素+3ビットRD)。このカルテットあたり1画素切り捨ての詳細なアルゴリズムは後述する。
ビデオデータがビデオメモリから必要とされる時は、FlexiRamは、メモリから読み出された圧縮データに復元を実行する。復元段階は、図14に示される圧縮段階の逆である。
The second stage of video data compression is “1 pixel truncation per quartet” (stage 1420). The one-pixel truncation algorithm per quartet compresses four 7-bit pixel quartets into a 24-bit quartet. The data compressor calculates the best pixel of the quartet to be truncated and stores the reconstruction method in the last 3 bits of the quartet as a reconstruction descriptor (“RD”). After this compression stage, the compressed quartet of pixels has 24 bits (3 pixels * 7 bits / pixel + 3 bits RD). A detailed algorithm for truncating one pixel per quartet will be described later.
When video data is needed from the video memory, FlexiRam performs decompression on the compressed data read from the memory. The decompression stage is the reverse of the compression stage shown in FIG.
最初に、1つの画素が、カルテットあたり1画素再構築アルゴリズムにより24ビットカルテットに加え戻されるが、このアルゴリズムはカルテットあたり1画素切り捨てアルゴリズムの逆である(段階1430)。この復元段階は、カルテットを表す24ビットの最後の3ビットとして格納されたRDにより供給された再構築方法に従って、7ビットの切り捨てられた画素を再構築する。この復元段階(段階1430)の後、カルテットは再形成されて、4つの7ビット画素を持つ。好ましい再構築アルゴリズムは後に詳述する。 Initially, one pixel is added back to the 24-bit quartet by the 1-pixel reconstruction algorithm per quartet, which is the inverse of the 1-pixel truncation algorithm per quartet (stage 1430). This restoration phase reconstructs the 7-bit truncated pixel according to the reconstruction method supplied by the RD stored as the last 3 bits of 24 bits representing the quartet. After this restoration stage (stage 1430), the quartet is reshaped and has four 7-bit pixels. A preferred reconstruction algorithm will be described in detail later.
次に、各7ビット画素に「0」が連接され、圧縮前の4つの8ビット画素カルテットに戻る(段階1440)。この復元段階(段階1440)は、すべての画素に最も有意でないビットとして「0」を1つ連接して4つの8ビット画素を再形成する。
図15は、圧縮・復元段階における種々のプロセス中のビデオデータのカルテット(すなわち、4つの8ビット画素)のデータフォーマットを示すものである。
Next, “0” is connected to each 7-bit pixel, and the process returns to the four 8-bit pixel quartets before compression (step 1440). This restoration step (step 1440) reconstructs four 8-bit pixels by concatenating one “0” as the least significant bit for all pixels.
FIG. 15 shows the data format of the quartet of video data (ie, four 8-bit pixels) during various processes in the compression / decompression stage.
最初、カルテット1510の各8ビット画素が、エラー拡散アルゴリズム1520を用いて個別に圧縮される。中間的な圧縮データは、4つの7ビット画素1530から成る。次に、これら4つの7ビット画素1530は、カルテットあたり1画素切り捨てアルゴリズム1540によりさらに圧縮される。最終的な圧縮データは、3つの7ビット画素1551と1つの3ビットRD1552とから成る。圧縮されたデータの全長は24ビットである。
ビデオデータがビデオメモリから必要とされる時は、圧縮されたデータは以下の2つの連続的段階により復元される。
Initially, each 8-bit pixel of
When video data is needed from the video memory, the compressed data is decompressed in two successive stages:
最初、1つの付加的画素が、カルテットあたり1画素再構築アルゴリズム1560に従って生成される。このアルゴリズムは、24ビット圧縮データ1550の3ビットRD1552に基づくカルテットあたり1画素切り捨てアルゴリズム1540の逆である。中間的な復元データ1570は4つの7ビット画素から成る。次に、4つの7ビット画素の各々が、最も有意でないビット1580としての「0」と連接され、圧縮前の4つの8ビット画素が再形成される。
エラー拡散およびカルテットあたり1画素切り捨てアルゴリズムの詳細は以下で説明する。
Initially, one additional pixel is generated according to a one
Details of the error diffusion and truncation of one pixel per quartet algorithm are described below.
A.エラー拡散
この圧縮段階に様々なエラー拡散アルゴリズムが使用し得ることは留意すべきである。以下に開示される好ましい実施態様は、1ビットエラー拡散アルゴリズムを利用している。しかしながら、本発明は、エラー拡散処理に用いられるどのような特定のアルゴリズムにも限定されない。さらに、前に論じたように、より多くの画質劣化が許されるならば、複数のビット(1を超える)がエラー拡散アルゴリズムにより除去され得る。従って、以下の特定の1ビットエラー拡散アルゴリズムは、説明目的だけのために開示されている。
A. Error diffusion It should be noted that various error diffusion algorithms can be used for this compression stage. The preferred embodiment disclosed below utilizes a 1-bit error diffusion algorithm. However, the present invention is not limited to any particular algorithm used for error diffusion processing. Further, as discussed previously, multiple bits (greater than 1) can be removed by an error diffusion algorithm if more image quality degradation is allowed. Accordingly, the following specific 1-bit error diffusion algorithms are disclosed for illustrative purposes only.
本発明のこの好ましい実施態様において、エラー拡散(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以下で最も近い整数
Iout (j)が計算された後、Iout (j)の最も有意でないビットが切り捨てられ、このアルゴリズムにより8ビット画素が7ビット画素へ量子化される一方で、擬似的輪郭効果が除去される。
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, a 1-bit register labeled “e” is set to 1. “E” stores the currently running error and is updated on a 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 current pixel in row I in (j): Original value of pixel I out (j): New value of pixel (after ED)
e (j): Error accumulator at pixel j time floor (x): After calculating the closest integer I out (j) less than or equal to x, the least significant bit of I out (j) is truncated, and this algorithm Quantizes 8-bit pixels to 7-bit pixels while removing pseudo contour effects.
このアルゴリズムは例えば以下のように説明し得る。すなわち、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
=0
最も有意でないビットを切り捨てることにより、格納された量子化画素は=100110である。
This algorithm can be described, for example, as follows. That is, in one case, assuming that I in (j) is 182, binary 10010111 and e (j) is 1,
I out (j) = 2 * floor ((10010111 + 1/2)
= 2 * floor (10011000/2)
= 2 * floor01001100
= 1001100
e (j + 1) = 10010111 + 1-1001100
= 0
By truncating the least significant bit, the stored quantized pixel is = 100110.
「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 the raster structure and the picture is written into the block structure memory, it is necessary to store e (j) at the end of the block line. This value is used when the ED continues with the next pixel in the same line (which belongs to the next block). Therefore, an 8-bit latch must be used for all “interrupt” blocks. (Because e can only be 0 or 1, 1 bit is sufficient for every break line).
復元段階1580は、前述した圧縮段階の逆である。好ましい実施態様において、データは、「0」と共にあらゆる画素に連接され、4つの8ビット画素を再形成する。
各7ビット画素は次に最も有意でないビットとして「0」が連接される。例えば、「1101101」は「11011010」に再形成される。従って、結果として得られるデータは、オリジナルな未圧縮データと同様に4つの8ビット画素である。
The
Each 7-bit pixel is then concatenated with “0” as the 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.
データが、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 is compressed using a 1-bit error diffusion algorithm, 4 bits are truncated, thereby compressing a quartet having 4 8-bit pixels into 4 7-bit pixels. It is true that a higher compression ratio can be achieved by executing a “2” bit error diffusion algorithm that can compress a quartet having four 8-bit pixels into four 6-bit pixels. The compression ratio when using the 2-bit error diffusion algorithm is 24/32 × 100% (ie, 75%). However, it is found that there is perceptible image quality degradation after compression and decompression using a 2-bit error diffusion technique. Thus, instead of using a 2-bit error compression technique, the present invention discloses a two-stage compression / decompression process: (1) 1-bit error diffusion, and (2) 1 pixel truncation per quartet. Even if the two techniques have the same compression ratio (ie, 75%), the resulting image quality of the two-stage compression / decompression process disclosed in the present invention is a perceptible improvement over the two-bit error diffusion technique. Bring.
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
ビデオメモリ中に格納される画素数を減らすため、種々の画素切り捨てアルゴリズムが使用し得ることに留意すべきである。本発明は、圧縮および復元プロセス中に用いられるどのような特定の画素切り捨てアルゴリズムおよび方程式にも限定されない。さらに、多画素(1を超える)は、画質劣化とのトレードオフで切り捨てられ得る。以下のカルテットあたり1画素切り捨ては、メモリ節約と画質への知覚可能な影響がほとんど無いという最良のバランスを備えた、本発明の好ましい実施態様として開示される。 It should be noted that various pixel truncation algorithms can be used to reduce the number of pixels stored in the video memory. The present invention is not limited to any particular pixel truncation algorithm and equation used during the compression and decompression process. Furthermore, multiple pixels (greater than 1) can be truncated at a trade-off with image quality degradation. The following truncation of one pixel per quartet is disclosed as a preferred embodiment of the present invention with the best balance of memory savings and little perceptible impact on image quality.
好ましい実施態様において、カルテットの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 the preferred embodiment, the four pixels of the quartet are each named consecutively as P0, P1, P2, or P3. 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. There are five possible reconstruction methods for each candidate. That is,
1. Copy the one on the left.
2. Copy the right neighbor.
3. Average the left neighbor and the right neighbor.
4). Add 1/4 of the left neighbor and 3/4 of the right neighbor.
5. Add 3/4 of the left neighbor and 1/4 of the right neighbor.
理論的には、P1を切り捨ててP2のコピーによりそれを推定することと、P2を切り捨てて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 with a copy of P2 is equivalent to truncating P2 and estimating it with a copy of P1. Thus, for two candidates (ie, P1 and P2), there are only 9 (not 10) possible estimators. Further, after truncating one pixel from the quartet, 21 bits are left to represent the remaining three pixels. In the preferred embodiment, the final compressed data target size for each quartet is 24 bits (25% compression). This means that only 3 bits can be assigned to describe the estimator that is selected, so in practice only 8 estimators can be considered. The estimator omitted from consideration is to reconstruct P2 by 3/4 of the left neighbor and 1/4 of the right neighbor. The reason for omitting this particular estimator is that the statistics of the MPEG picture show that it is least likely to be chosen as the best (four quarter, three quarter estimators). The choice is arbitrary.)
最初に、8つの推定量が計算される。
P0 1=P0(Pk 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.75P3
Initially, eight estimators are calculated.
P 0 1 = P0 (P k j represents the estimated amount of Pi using the 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
すべての推定量について、推定誤差の絶対値は、Ek i=|Pk i−Pi|と定義される。最小誤差は、mini,k{Ek l}である。1を超える最小誤差があれば、選択は恣意的である。(決定は実行のために未決のままにされる)。最後に、最小誤差に従って、Pjiminが切り捨てられ、3ビットの再構築記述子(RD)が設定されて選択された推定量、Pkmin iminが示される。3ビットRDは、残る3つの7ビット画素に連接され、一緒になって24ビットの圧縮されたカルテットを形成する。連接方法は実行のために未決のままにされる。 For all estimators, the absolute value of the estimation error is defined as E k i = | P k i −Pi |. The minimum error is min i, k {E k l }. If there is a minimum error greater than 1, the selection is arbitrary. (The decision is left pending for execution). Finally, Pj imin is truncated according to the minimum error, and a 3-bit reconstruction descriptor (RD) is set to indicate the selected estimator, P kmin imin . The 3-bit RD is concatenated with the remaining three 7-bit pixels and together forms a 24-bit compressed quartet. The articulation method is left pending for execution.
圧縮されたデータの復元は、単純に圧縮アルゴリズムの逆である。欠けている7ビットの切り捨てられた画素は、(1)再構築にどの画素(すなわち、P1またはP2)を、および(2)再構築にどの再構築方法を選択するかのために各カルテットの最後にあるRDを用いて再構築される。 The decompression of compressed data is simply the reverse of the compression algorithm. The missing 7-bit truncated pixels are: (1) which pixel (ie, P1 or P2) to reconstruct, and (2) which reconstruction method to select for reconstruction. It is reconstructed using the last RD.
図15に示されるように、データ圧縮器は、RDの3ビットにより提供される再構築方法を得る。次に、再構築のための画素(P1またはP2)が決定され、前述した8つの方程式の逆に従って、画素再構築が実行される。 As shown in FIG. 15, the data compressor obtains the reconstruction method provided by 3 bits of RD. Next, the pixel for reconstruction (P1 or P2) is determined and pixel reconstruction is performed according to the inverse of the eight equations described above.
本発明が、(1)エラー拡散、および(2)画素切り捨てのビデオデータ圧縮段階において用いられるどのような特定の方法および方程式にも限定されないことは指摘されるべきである。本発明として開示されたFlexiRamデザインの重要な特徴は、これら2つのデータ圧縮/復元段階の特定のシーケンスである。すなわち、ビデオデータは最初に、エラー拡散アルゴリズムを用いて画素あたりのビット数を減らして圧縮される。次に、中間的な圧縮ビデオデータは、特定の画素グループから1つの画素を切り捨てる画素切り捨てアルゴリズムを用いてさらに圧縮される。前に論じたように、復元プロセスはまさに圧縮プロセスの逆である。 It should be pointed out that the present 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 as the present invention is the specific sequence of these two data compression / decompression stages. That is, the video data is first compressed using an error diffusion algorithm with a reduced number of bits per pixel. The intermediate compressed video data is then further compressed using a pixel truncation algorithm that truncates one pixel from a particular group of pixels. As discussed previously, the decompression process is just the opposite of the compression process.
本発明が前述した好ましい特定の実施態様と共にされる一方で、説明および実施例は例示を意図するものであって、かつ本発明の範囲を限定するものではなく、それは添付の特許請求の範囲により規定されるものであるということは理解されるべきである。 While the invention is described in conjunction with the preferred specific embodiments described above, the description and examples are intended to be illustrative and not limiting the scope of the invention, which is defined by the appended claims. It should be understood that it is specified.
Claims (31)
参照フレームデータおよび双方向フレームデータを供給するために前記データのビットストリームを復号するステップと、
前記参照フレームデータを第1ビデオメモリに格納するステップと、
前記双方向フレームデータを第2ビデオメモリに格納するステップと、
前記第1ビデオメモリから前記参照フレームデータを取り出すステップと、
前記第2ビデオメモリから前記双方向フレームデータを取り出すステップと、
前記双方向フレームデータおよび前記参照フレームデータからのビデオイメージを表示するステップと、
からなる方法。 A method for decoding and displaying a bitstream of data representing an encoded video image, comprising:
Decoding a bitstream of the data to provide reference frame data and bi-directional frame data;
Storing the reference frame data in a first video memory;
Storing the bidirectional frame data in a second video memory;
Retrieving the reference frame data from the first video memory;
Retrieving the bidirectional frame data from the second video memory;
Displaying a video image from the bi-directional frame data and the reference frame data;
A method consisting of:
前記第2ビデオメモリの記憶容量は、1つの完全なフレーム用の復号されたビデオイメージ情報を格納するのに十分な記憶容量よりも小さい方法。 The method of claim 1, wherein
A method in which the storage capacity of the second video memory is smaller than a storage capacity sufficient to store decoded video image information for one complete frame.
前記第1ビデオメモリの記憶容量は、2つの完全なフレーム用の復号されたビデオイメージ情報を格納するのに十分である方法。 The method of claim 1, wherein
The method wherein the storage capacity of the first video memory is sufficient to store decoded video image information for two complete frames.
前記第1ビデオメモリの記憶容量は、2つの完全なフレーム用の復号されたビデオイメージ情報を格納するのに十分であり、前記第2ビデオメモリの記憶容量は、1つの完全なフレーム用の復号されたビデオイメージ情報を格納するのに十分な記憶容量よりも小さい方法。 The method of claim 1, wherein
The storage capacity of the first video memory is sufficient to store decoded video image information for two complete frames, and the storage capacity of the second video memory is decoded for one complete frame. Less than enough storage capacity to store the recorded video image information.
前記双方向フレームデータを第2ビデオメモリに格納するステップは、前記双方向フレームデータを前記第2メモリに格納する前に圧縮するステップとからさらになり、前記第2ビデオメモリから前記双方向フレームデータを取り出すステップは、前記圧縮された双方向フレームデータを復元するステップとからさらになる方法。 The method of claim 1, wherein
The step of storing the bi-directional frame data in the second video memory further comprises a step of compressing the bi-directional frame data before storing in the second memory, and the bi-directional frame data from the second video memory. Extracting the compressed bi-directional frame data further comprises the step of:
第1の数のメモリセグメントに区切られたビデオメモリと、
第2の数の表示セグメントに区切られた表示ピクチャであって、各表示セグメントは、表示セグメントリスト中のエントリに対応し、第2の数は第1の数よりも大きい表示ピクチャと、
論理的スライディングウインドウを維持するメモリマネージャであって、前記論理的スライディングウインドウは、第3の数の表示セグメントリストエントリからなり、論理的スライディングウインドウ中の第3の数の表示セグメントリストエントリは、ビデオメモリ中の第1の数のメモリセグメント以下となるように維持され、前記論理的スライディングウインドウ中の各表示セグメントエントリは、書き込まれているがまだ表示されていないビデオデータを有するメモリセグメントを参照するメモリマネージャと、
からなるシステム。 A video decoding and display system,
A video memory partitioned into a first number of memory segments;
A display picture partitioned into a second number of display segments, each display segment corresponding to an entry in the display segment list, wherein the second number is a display picture greater than the first number;
A memory manager that maintains a logical sliding window, the logical sliding window comprising a third number of display segment list entries, wherein the third number of display segment list entries in the logical sliding window is a video Each display segment entry in the logical sliding window refers to a memory segment having video data that has been written but not yet displayed, and is maintained below a first number of memory segments in memory. A memory manager;
A system consisting of
前記表示ピクチャは、Bピクチャであるシステム。 The system of claim 6, wherein
The system in which the display picture is a B picture.
前記表示ピクチャは、Iピクチャであるシステム。 The system of claim 6, wherein
The system in which the display picture is an I picture.
前記表示ピクチャは、Pピクチャであるシステム。 The system of claim 6, wherein
The system in which the display picture is a P picture.
前記メモリマネージャは、対応するメモリセグメントが前記ビデオメモリから読み出された後に表示セグメントエントリを論理的スライディングウインドウから解放するシステム。 The system of claim 6, wherein
The memory manager releases a display segment entry from a logical sliding window after a corresponding memory segment is read from the video memory.
前記メモリマネージャは、対応するメモリセグメントが書き込まれた後に表示セグメントエントリを論理的スライディングウインドウに付加するシステム。 The system of claim 6, wherein
The memory manager adds a display segment entry to a logical sliding window after a corresponding memory segment is written.
前記メモリマネージャは、メモリセグメントがビデオメモリから読み出された後に前記メモリセグメントを論理的スライディングウインドウから解放し、かつメモリセグメントが書き込まれた後に前記メモリセグメントを論理的スライディングウインドウに付加するシステム。 The system of claim 6, wherein
The memory manager releases the memory segment from the logical sliding window after the memory segment is read from the video memory, and adds the memory segment to the logical sliding window after the memory segment is written.
前記論理的スライディングウインドウは、インターレースされたピクチャのトップフィールドに対応する論理的トップウインドウと、前記インターレースされたピクチャのボトムフィールドに対応する論理的ボトムウインドウとからなるシステム。 The system of claim 6, wherein
The logical sliding window comprises a logical top window corresponding to a top field of an interlaced picture and a logical bottom window corresponding to a bottom field of the interlaced picture.
前記ビデオメモリマネージャは、フィールドピクチャおよびフレームピクチャ両方を取り扱うシステム。 The system of claim 6, wherein
The video memory manager is a system that handles both field pictures and frame pictures.
多数のメモリセグメントに区切られたビデオメモリと、
多数のエントリを有するメモリセグメントリストであって、前記メモリセグメントリストの各エントリは、ビデオメモリ中のメモリセグメントに対応し、かつ対応するメモリセグメントが書き込まれているが読み出されてはいないかどうかを示すビジーインジケータからなる、メモリセグメントリストと、
多数の表示セグメントに区切られた表示ピクチャと、
多数のエントリを有する表示セグメントリストであって、表示セグメントリストの各エントリは、表示ピクチャ中の表示セグメントに対応し、かつメモリセグメントリスト中のエントリを指すインデックスからなり、前記表示セグメントリストは、トップポーションとボトムポーションとからなり、前記トップポーションとボトムポーションの各々は、前記表示セグメントリストの多数のエントリの半分からなる、表示セグメントリストと、
前記表示セグメントリストのエントリを指す読み取りポインタであって、前記メモリセグメントは、次に表示されるべきビデオデータを格納している読み取りポインタにより指された表示セグメントリストのエントリにより参照される、読み取りポインタと、
前記表示セグメントリストの2つの異なるエントリを指す第1書き込みポインタおよび第2書き込みポインタであって、前記表示ピクチャはフィールドピクチャフォーマットであり、前記第1書き込みポインタは表示セグメントリストのトップポーション中のエントリを指すのに対して前記第2書き込みポインタは表示セグメントリストのボトムポーション中のエントリを指し、かつ表示ピクチャがフレームピクチャフォーマットであれば、第1書き込みポインタおよび第2書き込みポインタはその間に1の固定間隔を有する、第1書き込みポインタおよび第2書き込みポインタと、
からなるシステム。 A video decoding and display system,
Video memory divided into a number of memory segments;
A memory segment list having a number of entries, each entry of the memory segment list corresponding to a memory segment in the video memory and whether the corresponding memory segment is written but not read A memory segment list consisting of busy indicators indicating
A display picture divided into a number of display segments;
A display segment list having a number of entries, each entry of the display segment list comprising an index corresponding to a display segment in a display picture and pointing to an entry in the memory segment list, the display segment list comprising: A display segment list comprising a portion and a bottom portion, each of the top and bottom portions comprising half of a number of entries in the display segment list;
A read pointer pointing to an entry in the display segment list, wherein the memory segment is referenced by an entry in the display segment list pointed to by a read pointer storing video data to be displayed next When,
A first write pointer and a second write pointer pointing to two different entries of the display segment list, wherein the display picture is in a field picture format, and the first write pointer points to an entry in the top portion of the display segment list On the other hand, the second write pointer points to an entry in the bottom portion of the display segment list, and if the display picture is a frame picture format, the first write pointer and the second write pointer are 1 fixed interval therebetween. A first write pointer and a second write pointer,
A system consisting of
ビデオメモリと、
前記ビデオイメージを表すビデオデータのビットストリームを受信するメモリマネージャと、
前記ビデオイメージを表示するために、前記メモリマネージャに連結された表示サブシステムと、
前記メモリマネージャおよびビデオメモリに連結され、前記ビデオメモリ中に格納されるべき前記ビデオデータを圧縮するデータ圧縮器と、
前記メモリマネージャおよびビデオメモリに連結され、前記メモリマネージャのために、前記ビデオメモリから読み出された前記圧縮ビデオデータを復元するデータ復元器と、 からなるシステム。 A system for displaying a video image,
Video memory,
A memory manager for receiving a bitstream of video data representing the video image;
A display subsystem coupled to the memory manager for displaying the video image;
A data compressor coupled to the memory manager and video memory for compressing the video data to be stored in the video memory;
And a data decompressor coupled to the memory manager and a video memory, for restoring the compressed video data read from the video memory for the memory manager.
前記データ圧縮器は、損失性であるシステム。 The system of claim 16, wherein
The data compressor is a lossy system.
前記データ圧縮器は、非損失性であるシステム。 The system of claim 16, wherein
The data compressor is a lossless system.
前記データ圧縮器は、前記ビデオデータを圧縮するエラー拡散機構および画素切り捨て機構からなるシステム。 The system of claim 16, wherein
The data compressor includes an error diffusion mechanism and a pixel truncation mechanism for compressing the video data.
前記データ復元器は、前記ビデオメモリ中に格納されている前記圧縮されたビデオデータを復元する画素再構築機構およびビット接合機構からなるシステム。 The system of claim 19, wherein
The data decompressor comprises a pixel reconstruction mechanism and a bit joining mechanism for restoring the compressed video data stored in the video memory.
前記データ圧縮器は、前記ビデオデータを圧縮するエラー拡散機構および画素切り捨て機構からなり、前記データ復元器は、前記ビデオメモリ中に格納されている前記圧縮されたビデオデータを復元する画素再構築機構およびビット接合機構からなるシステム。 The system of claim 16, wherein
The data compressor includes an error diffusion mechanism and a pixel truncation mechanism for compressing the video data, and the data decompressor reconstructs the compressed video data stored in the video memory. And a system consisting of a bit joining mechanism.
前記エラー拡散機構は1ビットエラー拡散機構であり、前記画素切り捨て機構はカルテットあたり1画素切り捨て機構であり、前記画素再構築機構はカルテットあたり1画素再構築機構であり、前記ビット接合機構はゼロ接合機構であるシステム。 The system of claim 21, wherein
The error diffusion mechanism is a 1-bit error diffusion mechanism, the pixel truncation mechanism is a 1-pixel truncation mechanism per quartet, the pixel reconstruction mechanism is a 1-pixel reconstruction mechanism per quartet, and the bit junction mechanism is a zero junction A system that is a mechanism.
前記ビデオイメージを表す符号化されたビデオデータのビットストリームを復号するステップと、
復号されたビデオデータをメモリマネージャに供給するステップと、
復号されたビデオデータを圧縮するステップと、
圧縮されたビデオデータをビデオメモリに格納するステップと、
前記圧縮されたビデオデータをビデオメモリから読み取るステップと、
前記ビデオイメージを表示する表示サブシステムのために圧縮されたビデオデータを復元するステップと、
からなる方法。 A method of decoding and displaying a video image,
Decoding a bitstream of encoded video data representing the video image;
Providing the decoded video data to a memory manager;
Compressing the decoded video data;
Storing the compressed video data in a video memory;
Reading the compressed video data from a video memory;
Decompressing compressed video data for a display subsystem displaying the video image;
A method consisting of:
前記復号されたビデオデータを圧縮するステップは、損失性である方法。 24. The method of claim 23.
The method of compressing the decoded video data is lossy.
前記復号されたビデオデータを圧縮するステップは、非損失性である方法。 24. The method of claim 23.
The method of compressing the decoded video data is lossless.
前記復号されたビデオデータを圧縮するステップは、エラー拡散段階および画素切り捨て段階からなり、前記圧縮されたビデオデータを復元するステップは、画素再構築段階およびビット接合段階からなる方法。 24. The method of claim 23.
The method of compressing the decoded video data comprises an error diffusion stage and a pixel truncation stage, and the step of restoring the compressed video data comprises a pixel reconstruction stage and a bit joining stage.
前記データのビットストリームを復号する復号器であって、復号されたデータが参照フレームデータおよび双方向フレームデータからなる、複合器と、
前記復号器に連結され、前記参照フレームデータを取り扱う第1ビデオメモリマネージャと、
前記参照フレームデータを格納するために、前記第1ビデオメモリマネージャに連結された第1ビデオメモリと、
前記復号器に連結され、前記双方向フレームデータを取り扱う第2ビデオメモリマネージャと、
前記双方向フレームデータを格納するために、前記第2ビデオメモリマネージャに連結された第2ビデオメモリと、
前記ビデオイメージを表示するために、前記第1ビデオメモリマネージャおよび前記第2ビデオメモリマネージャに連結された表示サブシステムと、
からなるシステム。 A system for decoding and displaying a bitstream of data representing an encoded video image,
A decoder for decoding a bitstream of the data, wherein the decoded data comprises reference frame data and bidirectional frame data;
A first video memory manager coupled to the decoder and handling the reference frame data;
A first video memory coupled to the first video memory manager for storing the reference frame data;
A second video memory manager coupled to the decoder and handling the bidirectional frame data;
A second video memory coupled to the second video memory manager for storing the bi-directional frame data;
A display subsystem coupled to the first video memory manager and the second video memory manager for displaying the video image;
A system consisting of
前記第2ビデオメモリの記憶容量は、1つの完全なフレーム用の復号されたビデオイメージ情報を格納するのに十分な記憶容量よりも小さいシステム。 28. The system of claim 27.
A system in which the storage capacity of the second video memory is smaller than a storage capacity sufficient to store decoded video image information for one complete frame.
前記第1ビデオメモリの記憶容量は、2つの完全なフレーム用の復号されたビデオイメージ情報を格納するのに十分であるシステム。 28. The system of claim 27.
A system wherein the storage capacity of the first video memory is sufficient to store decoded video image information for two complete frames.
前記第1ビデオメモリの記憶容量は、2つの完全なフレーム用の復号されたビデオイメージ情報を格納するのに十分であり、前記第2ビデオメモリの記憶容量は、1つの完全なフレーム用の復号されたビデオイメージ情報を格納するのに十分な記憶容量よりも小さいシステム。 28. The system of claim 27.
The storage capacity of the first video memory is sufficient to store decoded video image information for two complete frames, and the storage capacity of the second video memory is decoded for one complete frame. System smaller than sufficient storage capacity to store the recorded video image information.
前記第2ビデオメモリマネージャおよび前記第2ビデオメモリに連結され、前記第2ビデオメモリ中に格納されるべき前記双方向フレームデータを圧縮するデータ圧縮器と、
前記第2ビデオメモリマネージャおよび前記第2ビデオメモリに連結され、前記第2ビデオメモリから読み出された圧縮された双方向フレームデータを復元するデータ復元器と、
からさらになるシステム。 28. The system of claim 27.
A data compressor coupled to the second video memory manager and the second video memory for compressing the bi-directional frame data to be stored in the second video memory;
A data decompressor coupled to the second video memory manager and the second video memory, for restoring compressed bi-directional frame data read from the second video memory;
A system that further consists of.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009075365A JP2009177833A (en) | 2009-03-26 | 2009-03-26 | Video memory management for mpeg video decoding/display system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009075365A JP2009177833A (en) | 2009-03-26 | 2009-03-26 | Video memory management for mpeg video decoding/display system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000591813A Division JP4486755B2 (en) | 1998-12-23 | 1998-12-23 | Video memory management for MPEG video decoding and display system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009177833A true JP2009177833A (en) | 2009-08-06 |
Family
ID=41032361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009075365A Pending JP2009177833A (en) | 2009-03-26 | 2009-03-26 | Video memory management for mpeg video decoding/display system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009177833A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9268525B2 (en) | 2012-09-06 | 2016-02-23 | Samsung Electronics Co., Ltd. | Bit stream processing device for pipe-lined decoding and multimedia device including the same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH104550A (en) * | 1995-12-04 | 1998-01-06 | Sgs Thomson Microelettronica Spa | Mpeg-2 decoding method and mpeg-2 video decoder |
JPH1023403A (en) * | 1996-06-28 | 1998-01-23 | Hitachi Ltd | Device for decoding and displaying encoded picture data |
-
2009
- 2009-03-26 JP JP2009075365A patent/JP2009177833A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH104550A (en) * | 1995-12-04 | 1998-01-06 | Sgs Thomson Microelettronica Spa | Mpeg-2 decoding method and mpeg-2 video decoder |
JPH1023403A (en) * | 1996-06-28 | 1998-01-23 | Hitachi Ltd | Device for decoding and displaying encoded picture data |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9268525B2 (en) | 2012-09-06 | 2016-02-23 | Samsung Electronics Co., Ltd. | Bit stream processing device for pipe-lined decoding and multimedia device including the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6198773B1 (en) | Video memory management for MPEG video decode and display system | |
JP4083832B2 (en) | MPEG compatible decoder in a system for processing information representing an image | |
TWI444048B (en) | Fragmented reference in temporal compression for video coding | |
RU2409005C2 (en) | Method of scalable coding and decoding of video signal | |
JP4491349B2 (en) | Intra-coding method and apparatus for video data | |
US6473558B1 (en) | System and method for MPEG reverse play through dynamic assignment of anchor frames | |
US6301304B1 (en) | Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders | |
US20070030911A1 (en) | Method and apparatus for skipping pictures | |
WO2017133315A1 (en) | Lossless compression method and system appled to video hard decoding | |
JP2000224591A (en) | Overall video decoding system, frame buffer, coding stream processing method, frame buffer assignment method and storage medium | |
US20130021350A1 (en) | Apparatus and method for decoding using coefficient compression | |
KR19980042224A (en) | MPEG decoder system and method with integrated memory for transport, decryption, system controller functions | |
US5739862A (en) | Reverse playback of MPEG video | |
JP2007524309A (en) | Video decoding method | |
JP2008537427A (en) | Efficient video decoding accelerator | |
JP5508024B2 (en) | Method and system for encoding a video signal, encoded video signal, and method and system for decoding a video signal | |
US5761423A (en) | Scalable picture storage access architecture for video decoding | |
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 | |
US20040057522A1 (en) | MPEG video bitstream decoder system and method | |
JP2001103521A (en) | Method for recognizing progressive or interlace contents in video sequence | |
JP2009177833A (en) | Video memory management for mpeg video decoding/display system | |
US20110051815A1 (en) | Method and apparatus for encoding data and method and apparatus for decoding data | |
US6144323A (en) | Method and apparatus for decoding video data | |
JP4264811B2 (en) | Image decoding apparatus and image decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120626 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121120 |