JP3861317B2 - 可変長復号装置 - Google Patents
可変長復号装置 Download PDFInfo
- Publication number
- JP3861317B2 JP3861317B2 JP11683496A JP11683496A JP3861317B2 JP 3861317 B2 JP3861317 B2 JP 3861317B2 JP 11683496 A JP11683496 A JP 11683496A JP 11683496 A JP11683496 A JP 11683496A JP 3861317 B2 JP3861317 B2 JP 3861317B2
- Authority
- JP
- Japan
- Prior art keywords
- variable length
- coefficient information
- block
- length decoding
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【発明の属する技術分野】
この発明は、直交変換及び可変長符号化された画像情報を可変長復号するための可変長復号装置に関する。
【0002】
【従来の技術】
ディジタル通信ネットワークや情報記憶媒体の進歩に伴って、H.261,H.263,MPEG1,MPEG2等の種々のディジタル画像圧縮方式が提案され、標準化されている。
これらの方式における符号化されたビットストリームは、複数の階層から構成されるが、このうち、マクロブロック(MB)層のMBは、最大、輝度信号(Y)を構成する4個のブロック(BK)と色差信号(Cb,Cr)の2個のブロック(BK)とからなる。各ブロックは8×8画素からなり、これが離散的コサイン変換(DCT)の単位となる。
【0003】
ビットストリームは可変長符号化されているので、画像デコーダの前段の可変長復号回路では、入力されたビットストリームをレート調整用のバッファを介した後、可変長復号し、可変長復号された各ブロックのDCT係数情報を、DCTのジグザグスキャン方式に基づいて、1ブロックに対応する8×8の並び替え用のメモリに書き込んでいく処理が実行される。
図11は、このような可変長復号処理のタイミングチャートである。可変長復号器(VLD)で復号された各ブロックB0,B1,B2,…のレベル情報は、同じく復号されたラン情報に基づいてメモリにジクザクに書き込まれ、書き込み終了後にメモリから所定の走査方向で順番に読み出されて逆量子化及び逆DCT処理に供される。
【0004】
この可変長復号処理に関してリアルタイムデコードを実現するための種々の方式が開発されている。その1つに可変長復号処理を専用のVLD回路とプロセッサ(CPU)との共同作業によって実行していく方式が知られている。この方式では、ビットストリーム中のDCT係数部分のように固定長符号や可変長符号が連続する部分で、CPUはVLDに復号命令を発行し、VLDは可変長符号を連続的に復号し、1ブロックの終了コードが検出されると、CPUに割込をかける。この間、CPUは、IピクチャのMBの場合には、DCT係数のDC(直流)部分の演算を行ったり、動き補償されているIピクチャ以外のMBの場合には、ヘッダー部分で既に解読されているパラメータを用いて動きベクトルの再構成演算を行ったりする。
【0005】
【発明が解決しようとする課題】
しかし、上述した従来の可変長復号装置では、図11に示すように、1つのブロックの復号処理がDCTの係数情報の復号及びメモリへの書き込み(T1)並びにメモリからの読み出し(T2)からなり、メモリからの読み出しが終了しないと、次のブロックの復号及びメモリへの書き込み処理が実行できないため、1ブロックの復号に要する時間は、前述した2つの処理のトータル時間T(=T1+T2)だけかかってしまう。このため、CPUとVLDとを並列に動作させて高速化を図っても、メモリからの読み出しの時間が存在するために、結局、1つのブロックの復号処理の間にCPUの待ち時間が発生し、スループットが低下する。また、CPUがこの間、別の処理を実行することも考えられるが、この場合には、CPUに頻繁に割込をかけたり、DCT係数部分に続く情報の先読みのためのシーケンスが必要になる等、処理が複雑になる。
【0006】
この発明は、このような問題点に鑑みなされたもので、プロセッサとの協働により可変長復号処理を行う際のプロセッサの空き時間の発生を防止して復号処理全体の速度を向上させることができる可変長復号装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
この発明は、画像情報をブロック単位で離散的コサイン変換して得られると共に当該離散的コサイン変換規則に従って前記ブロックの各割り当て位置に割り当てられる係数情報を可変長符号化してなる可変長符号化情報が入力され、この可変長符号化情報をプロセッサからの起動によりプロセッサとの協働で復号すると共に、各ブロック毎に復号すべき情報の終わりを示す終了情報を検出して終了信号を出力することにより前記プロセッサに割り込みをかける可変長復号手段と、 ブロック単位で前記係数情報を記憶する記憶手段と、前記可変長復号手段で復号された係数情報を前記記憶手段の各割り当て位置に前記離散的コサイン変換に基づく順序で書き込む書込手段と、前記記憶手段に書き込まれた各係数情報を書き込み時とは異なる順序で読み出す読出手段と、前記可変長復号手段と前記書込手段との間に設けられ、前記記憶手段への係数情報の書き込みとこの書き込み中の係数情報のブロックとは異なるブロックの係数情報の可変長復号処理とを並列的に実行可能にするためのバッファと、前記可変長復号手段から出力される各ブロック毎の終了信号に基づいて当該ブロックについて前記係数情報の前記記憶手段への書き込み順序と前記記憶手段における前記終了信号が書き込まれた位置とから決定される、前記記憶手段からの読み出し順序において前記記憶手段から読み出されるデータに以後係数情報が存在しない最終のアドレスを示す最終アドレスを生成すると共に、前記読出手段がこの最終アドレスを読み出した後に前記読出手段により読み出す係数情報を“0”のデータに固定して前記記憶手段を次のブロックの係数情報が書き込み可能な状態にする最終アドレス発生手段とを備えたことを特徴とする。
【0009】
この発明によれば、可変長復号手段と、この可変長復号手段の復号結果を記憶手段に書き込む書込手段との間にバッファを設けているので、可変長復号手段は、復号処理が終了すれば記憶手段からの読み出し終了を待つことなく、直ちに次のブロックの復号処理を開始することができる。このため、可変長復号手段と協働するプロセッサの待ち時間が発生することもなくなり、プロセッサが直交変換係数情報の可変長復号処理に関与している時間が短縮される。これにより、記憶手段に対する書き込み及び読み出し処理を除いた可変長復号処理を連続的に実行することができるので、プロセッサは、集中的に復号処理に関与したのち、他の連続的に空いた時間を別の処理に当てることができる。
【0010】
【発明の実施の形態】
以下、図面を参照して、この発明の好ましい実施の形態について説明する。
図1は、この発明の一実施例に係るMPEGデコーダの概略構成を示す図である。
符号化信号(ビットストリーム)は、FIFO(First In First Out)メモリからなるバッファ1でレート調整されたのち、可変長復号回路2に入力される。可変長復号回路2は、CPU3との協働により、FIFOバッファ1から出力される符号化信号を可変長復号してDCTの係数情報である各周波数項のレベルを示すランをブロック単位で復号する。この復号出力は、逆量子化回路4で量子化特性と量子化マトリクスによって決定される値で逆量子化されたのち、逆DCT回路5で逆離散的コサイン変換される。逆コサイン変換された復号画像は、動き補償・フレーム予測回路6に供給される。動き補償・フレーム予測回路6では、Iピクチャの場合は復号画像をそのまま復号信号として出力し、P,Bのピクチャの場合は、そのタイプに応じて適宜フレームメモリ7,8に格納された画像情報を動きベクトルMVに基づいて動き補償して予測画像を生成し、この予測画像と復号画像とを加算処理して復号信号として出力する。
【0011】
図2は、このMPEGデコーダの可変長復号回路2の詳細を示すブロック図である。
符号化信号は、まずレジスタ11に入力される。レジスタ11に格納された符号化信号は、VLC復号部12とCPU3とに供給される。CPU3とVLC復号部12とは、協働して可変長復号処理を実行する。VLC復号部12で復号されたDCTの係数情報である各周波数項のレベルとランとはFIFOバッファ13に入力されている。FIFOバッファ13は、その後の処理とは独立して可変長復号処理の連続的な実行を補償するためのものである。FIFOバッファ13の出力は、ラン・レベル復号部14に供給されている。ラン・レベル復号部14は、並び替え用のメモリ15への書込手段であり、ランに基づいてメモリ15への書き込みアドレスを生成し、メモリ15にレベルを書き込む。メモリ15に書き込まれたレベルは、読出回路16によって読み出される。
【0012】
次に、この可変長復号回路2の復号処理について説明する。
VLC復号部12は、レジスタ11から供給される符号化信号からスタートコードを検出すると、CPU3にその旨を出力する。以後、VLC復号部12とCPU13との協働によりシンタクス部分の解読等が実行される。画像情報のブロック部分が到来すると、CPU3は、VLC復号部12に連続復号のための起動をかけ、VLC復号部12は、各ブロックの係数情報を連続的に復号する。
【0013】
図3はこの処理の一例である。…00101001000…と続くビットストリームが入力されると、VLC復号部12は、このビットストリームを、“0101010”,“01000”,“0110”,“001010”,…のように、予め定められた可変長符号(VLC)に分割し、各VLCからランとレベルからなる係数情報の復号データ及びエンド・オブ・ブロック(EOB)コードを出力する。レベル“0”の周波数項は符号化されないので、ランは直前の周波数項から次のレベル“0”でない周波数項との間に挿入されるレベル“0”の周波数項の数を示している。
【0014】
メモリ15には、図示のように1ブロックに相当する8×8画素分の記憶領域が確保され、最初に全領域が“0”にクリアされる。そして、IピクチャのMBの場合には、先ず、CPU3により、アドレス0にDC成分(この例では64)が書き込まれ、次に、可変長復号されたランに基づいて、ラン・レベル復号部14が各周波数項のレベルをジクザクパターンに沿って順番にメモリ15に書き込んでいく。また、P,BピクチャのMBの場合には、アドレス0からラン・レベル復号部14が各周波数項のレベルを書き込んでいく。
【0015】
メモリ15への書き込みアドレスは、ラン・レベル復号部14にて、次のように生成される。図4は、ラン・レベル復号部14の構成例を示す図である。復号されたランは、加算器21でD型フリップ・フロップ(D−FF)22に格納された値と加算される。加算器21の出力は、アドレス0にデータを書き込む場合を除き、更に加算器23で“1”と加算される。加算器23の出力xは、アドレス変換テーブル24に与えられる。アドレス変換テーブル24は、例えば図5に示すように、xの値(表中の数字)に応じたアドレスを出力する。図3の例では、まず最初にD−FF22がリセットされ、最初のランが“0”、D−FF22の出力が“0”であるから、加算器23の出力xは“1”となる。従って、それに対応するアドレスをアドレス変換テーブル24で参照するとアドレスは“1”となる。以後、同様の動作が繰り返され、例えばIピクチャのMBの場合には下記表1のように、順次アドレスが生成され、対応するレベルがメモリ15に書き込まれていく。なお、P,BピクチャのMBの場合には、最初の係数のみ1の加算を行わないので、括弧書きのようになる。
【0016】
【表1】
【0017】
EOBが検出されたら、読出回路16がメモリ15から、アドレス0,1,2,3,…の順にレベルを読み出していく。このメモリ15から読み出されたレベルが、逆量子化回路4に供給される。
【0018】
図6に以上の復号処理のタイムチャートを示す。VLC復号部12から出力される可変長復号されたランとレベルは、順次、FIFOバッファ13に書き込まれるので、VLC復号処理部12では、メモリ15への書き込み及びメモリ15からの読み出しの完了を待たずに、ブロックB0,B1,B2,…と各ブロックの復号を連続的に実行することができる。従って、CPU3が各ブロックの復号処理に関わる時間もT1に短縮される。
【0019】
FIFOバッファ13は、ランに6ビット、レベルに12ビットを割り当てるとすると、18ビットを1ワードとするように構成すればよい。このFIFOバッファの容量としては、64ワード×6あれば理想的であるが、実際上は統計的にみて効率よく処理できるように設定するのがよい。例えば、1つのMBはIピクチャで6ブロック、P,Bピクチャではそれ以下であるから、最大ブロック数を6として区切りのよい64ワード分の容量を設定してやれば、実用上はほとんどオーバーフローをすることなく、充分にDCT係数情報の連続復号処理が可能になる。
このようなDCT係数情報の連続処理が可能になると、DCT係数の復号処理以外の時間を連続的に確保することができるので、CPU3は、ビットストリームの他の部分の解析処理、即ちブロックの復号以外の処理を連続的に実行可能であり、処理が簡素化されると共に、余分な割込がかからない分だけ処理時間を短縮することができる。
【0020】
図7は、この発明の他の実施例に係る可変長復号回路2の構成を示すブロック図である。
この実施例は、メモリ15からの読み出しデータがそれ以降全て“0”であるときに切替器17を切り換えて、固定的なデータ“0”を読出回路16から読み出すようにして、メモリ15を全てのデータの読み出しが終了する前に解放するようにしたものである。最終アドレス発生回路18は、そのための切替器17の切替タイミングを与えるものである。
【0021】
最終アドレス発生回路18は、例えば図8に示すように、最終アドレス発生テーブル31と最終アドレス判定回路32とから構成される。最終アドレス発生テーブル31は、図9に示すように、書き込みアドレスに対して、表中の最終アドレスを発生する。この最終アドレス発生テーブル31は、例えば書き込みアドレス“2”(そのときのランは“5”)にEOBが存在する場合には、アドレス“16”まではデータが存在し得ることを示している。なお、最終アドレス発生テーブル31は、書き込みアドレスを入力とせずに、図4に示したxの値を入力とするように構成することもできる。最終アドレス判定回路32は、EOBの復号時にVLC復号部12から出力されるEOB信号が入力されたときの最終アドレスを保持し、読み出しアドレスが最終アドレスに一致したときに、次の読み出しアドレスから切替器17を固定値“0”側に切り換える。
【0022】
図3の例では、EOB信号が出力されるアドレスが“4”であるから、最終アドレス判定回路32は、最終アドレス発生テーブル31から出力される最終アドレス“32”を保持し、読み出しアドレスが“32”になったら、次の読み出しアドレス“33”から切替器17を切り換える。
【0023】
この実施例によれば、図10に示すように、メモリ15からの読み出し動作が、全てのデータを読み出す前に終了するので、その分だけメモリ15を解放するタイミング、即ち、次のデータをメモリ15に書き込むタイミングが早まることになる。このため、FIFOバッファ13からのデータ読み出し間隔も速くなり、先の実施例よりもFIFOバッファ13の容量を少なくできるという利点がある。
【0024】
なお、以上の実施例では、MPEGデコーダにこの発明を適用した例について述べたが、この発明は、H.261,H.263等、直交変換係数を可変長符号化した情報の可変長復号処理全般に適用可能であることはいうまでもない。
【0025】
【発明の効果】
以上述べたように、この発明によれば、可変長復号手段と、この可変長復号手段の復号結果を記憶手段に書き込む書込手段との間にバッファを設けているので、可変長復号手段での連続的な復号処理が可能になり、可変長復号手段と協働するプロセッサの待ち時間の発生を防止することができ、プロセッサは、集中的に復号処理に関与したのち、他の連続的に空いた時間を別の処理に当てることができるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明が適用されるMPEGデコーダのブロック図である。
【図2】 同デコーダにおける可変長復号回路のブロック図である。
【図3】 同回路による復号処理を説明するための図である。
【図4】 同回路におけるラン・レベル復号部のブロック図である。
【図5】 同ラン・レベル復号部におけるアドレス変換テーブルの内容を示す図である。
【図6】 同回路による復号処理のタイミングチャートである。
【図7】 この発明の他の実施例に係る可変長復号回路のブロック図である。
【図8】 同回路における最終アドレス発生回路のブロック図である。
【図9】 同回路における最終アドレス発生テーブルの内容を示す図である。
【図10】 同回路による復号処理のタイミングチャートである。
【図11】 従来の復号処理のタイミングチャートである。
【符号の説明】
1,13…FIFOバッファ、2…可変長復号回路、3…CPU、4…逆量子化回路、5…逆DCT回路、6…動き補償・フレーム予測回路、7,8…フレームメモリ、11…レジスタ、12…VLC復号部、14…ラン・レベル復号部、15…メモリ、16…読出回路、17…切替器、18…最終アドレス発生回路。
Claims (2)
- 画像情報をブロック単位で離散的コサイン変換して得られると共に当該離散的コサイン変換規則に従って前記ブロックの各割り当て位置に割り当てられる係数情報を可変長符号化してなる可変長符号化情報が入力され、この可変長符号化情報をプロセッサからの起動によりプロセッサとの協働で復号すると共に、各ブロック毎に復号すべき情報の終わりを示す終了情報を検出して終了信号を出力することにより前記プロセッサに割り込みをかける可変長復号手段と、
ブロック単位で前記係数情報を記憶する記憶手段と、
前記可変長復号手段で復号された係数情報を前記記憶手段の各割り当て位置に前記離散的コサイン変換に基づく順序で書き込む書込手段と、
前記記憶手段に書き込まれた各係数情報を書き込み時とは異なる順序で読み出す読出手段と、
前記可変長復号手段と前記書込手段との間に設けられ、前記記憶手段への係数情報の書き込みとこの書き込み中の係数情報のブロックとは異なるブロックの係数情報の可変長復号処理とを並列的に実行可能にするためのバッファと、
前記可変長復号手段から出力される各ブロック毎の終了信号に基づいて当該ブロックについて前記係数情報の前記記憶手段への書き込み順序と前記記憶手段における前記終了信号が書き込まれた位置とから決定される、前記記憶手段からの読み出し順序において前記記憶手段から読み出されるデータに以後係数情報が存在しない最終のアドレスを示す最終アドレスを生成すると共に、前記読出手段がこの最終アドレスを読み出した後に前記読出手段により読み出す係数情報を“0”のデータに固定して前記記憶手段を次のブロックの係数情報が書き込み可能な状態にする最終アドレス発生手段と
を備えたことを特徴とする可変長復号装置。 - 前記可変長復号手段は、1つのマクロブロックを構成する一連のブロックの係数情報を連続的に復号するものであり、
前記バッファは、前記可変長復号手段から連続的に供給される復号結果を、少なくとも前記一連のブロックの係数情報分だけ格納可能なFIFO(先入れ先出し)バッファである
ことを特徴とする請求項1記載の可変長復号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11683496A JP3861317B2 (ja) | 1996-05-10 | 1996-05-10 | 可変長復号装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11683496A JP3861317B2 (ja) | 1996-05-10 | 1996-05-10 | 可変長復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09307899A JPH09307899A (ja) | 1997-11-28 |
JP3861317B2 true JP3861317B2 (ja) | 2006-12-20 |
Family
ID=14696785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11683496A Expired - Fee Related JP3861317B2 (ja) | 1996-05-10 | 1996-05-10 | 可変長復号装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3861317B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002112268A (ja) | 2000-09-29 | 2002-04-12 | Toshiba Corp | 圧縮画像データ復号装置 |
US8284844B2 (en) | 2002-04-01 | 2012-10-09 | Broadcom Corporation | Video decoding system supporting multiple standards |
CN1306825C (zh) * | 2004-07-29 | 2007-03-21 | 联合信源数字音视频技术(北京)有限公司 | 视频解码芯片中基于行缓冲的参考存储方法 |
-
1996
- 1996-05-10 JP JP11683496A patent/JP3861317B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09307899A (ja) | 1997-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101227667B1 (ko) | 오버랩 평활화 및 인-루프 디블록킹의 구분적 프로세싱 | |
JP2870515B2 (ja) | 可変長符号化装置 | |
JP3928815B2 (ja) | Mpeg−2復号方法及びmpeg−2ビデオ復号器 | |
JP2007300517A (ja) | 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置 | |
KR20070111467A (ko) | 중간 루프 필터 데이터를 저장하는 스크래치 패드 | |
BR112014010839B1 (pt) | Processo de codificação e decodificação de imagens, dispositivo de codificação e decodificação e suportes legíveis por computador correspondentes | |
JPH05268590A (ja) | 動画像符号化復号化回路 | |
US6987811B2 (en) | Image processor and image processing method | |
JPH10271516A (ja) | 圧縮符号化装置、符号化方法、復号化装置および復号化方法 | |
US5973744A (en) | Apparatus for decoding video data | |
JP3861317B2 (ja) | 可変長復号装置 | |
JP2002112268A (ja) | 圧縮画像データ復号装置 | |
JP2000175201A (ja) | 画像処理装置及び方法、並びに提供媒体 | |
JP3173257B2 (ja) | 符号化方法と符号化装置 | |
JPH10145237A (ja) | 圧縮データ復号装置 | |
JP2776284B2 (ja) | 画像符号化装置 | |
JPH0846977A (ja) | 画像圧縮回路 | |
WO2010095181A1 (ja) | 可変長復号化装置 | |
JPH09307900A (ja) | 可変長復号装置 | |
JP3141149B2 (ja) | 画像符号化装置 | |
JP4214554B2 (ja) | 動画像復号化装置 | |
JPH09261641A (ja) | 圧縮画像データ処理方法及び装置 | |
JPH11155147A (ja) | 画像再生方法、画像符号化装置及び画像符号化方法 | |
JP2002141807A (ja) | 可変長復号化器 | |
JPH10285597A (ja) | 画像データ符号化装置及び画像データ取り扱い装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060113 |
|
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: 20060905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060918 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |