JPWO2005088840A1 - 可変長符号復号装置 - Google Patents

可変長符号復号装置 Download PDF

Info

Publication number
JPWO2005088840A1
JPWO2005088840A1 JP2006511070A JP2006511070A JPWO2005088840A1 JP WO2005088840 A1 JPWO2005088840 A1 JP WO2005088840A1 JP 2006511070 A JP2006511070 A JP 2006511070A JP 2006511070 A JP2006511070 A JP 2006511070A JP WO2005088840 A1 JPWO2005088840 A1 JP WO2005088840A1
Authority
JP
Japan
Prior art keywords
decoding
stream
data
code
strm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006511070A
Other languages
English (en)
Other versions
JP4516068B2 (ja
Inventor
冨田 裕人
裕人 冨田
橋本 隆
隆 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2005088840A1 publication Critical patent/JPWO2005088840A1/ja
Application granted granted Critical
Publication of JP4516068B2 publication Critical patent/JP4516068B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

複数の符号化方式で符号化されたビットストリームを復号する可変長符号復号装置である。この装置は、複数の符号化方式により符号化された可変長符号を復号する復号段(100)と、可変長符号を入力するストリーム入力部(10)と、復号段とストリーム入力部とを仲介するインターフェイス(30)とを備え、ストリーム入力部とインターフェイスとは、複数の符号化方式について共用される。対応する符号化方式ごとにストリーム入力部を備える必要が無くなり面積増加を抑えることができる。ストリーム入力部と復号段の間をインタフェースで接続しているので、他の符号化方式の対応や符号化方式の他の組み合わせへの対応を容易に行うことができる。

Description

本発明は、複数の符号化方式で符号化されたビットストリームを復号する可変長符号復号装置に関するものである。
ディジタル衛星放送、インターネットや携帯情報端末を利用したディジタル映像コンテンツの送受信の普及により、MPEG(Moving Picture Coding Experts Group)規格に対応する信号処理装置の重要性が増している。現在、MPEGには、CD−ROMなどの蓄積メディアを対象にするMPEG−1、ディジタルTV放送やDVDなどの蓄積メディアを対象とするMPEG−2、移動体通信など低ビット・レートでの動画像フォーマットとして用いられるMPEG−4、近年提案されている低ビット・レート下での更なる高画質化を狙ったMPEG−4AVC(Advanced Video Coding)といった様々な符号化方式が存在する。
バッテリ駆動が前提の移動体通信端末に、MPEG方式を採用する場合、膨大なデータの高速処理と低消費電力化が課題となる。この観点から、移動体通信端末に搭載する動画像処理専用LSIは、プロセッサとVLD(Variable Length Decoder、可変長符号復号回路)、IQ(Inverse Quantization、逆量子化回路)、IDCT(Inverse Discrete Cosine Transform、逆DCT回路)などの特定アルゴリズムを処理する専用ハードウェアとを併用することにより、動画像処理時の負荷を分散し、合わせて、消費電力の低減を図っている。
動画像処理専用LSIが、複数の符号化方式を扱う画像処理装置に組み込まれ、動画像処理専用LSIが1つの符号化方式のみにしか対応していない場合、各々の符号化方式に対応した複数の動画像処理専用LSIを画像処理装置に組み込む必要がある。
しかし、複数の動画像処理専用LSIを画像処理装置に組み込むと、部品点数が増加するため画像処理装置のコストが増加し、符号化方式ごとに動作させる動画像処理専用LSIを切り替える必要があるためシステムが煩雑になる。
そこで、一つの動画像処理専用LSIで複数の符号化方式に対応することが考えられる。このためには、各符号化方式のVLDなどの専用ハードウェアを全て備えることで実現できる。しかし、このようにすると、動画像処理専用LSIの面積が増大し、動画像処理専用LSIのコストが増大する。
また、一つの動画像処理専用LSIでの複数の符号化方式へ対応するために、各専用ハードウェアを複数の符号化方式に対応させて作りこむことが考えられる。そのような技術の一つとして、文献1(日本国特開2002−141807号公報)は、2つの符号化方式に対応する可変長符号復号回路の技術を開示する。
第7図は、文献1に記載された従来の可変長符号復号回路300を示す。可変長符号復号回路300は、バレルシフタ301及びバレルシフタ制御器302と、DVフォーマットとMPEGフォーマットのAC係数の復号のための可変長符号復号テーブル303aと、レベル0のランレングスを処理できるランレングスデコーダと304、MPEGフォーマット専用のエスケープ処理回路303bと、各フォーマット用のDC処理回路303cと、両フォーマットのEOB処理回路303dを備える。
DVフォーマット、もしくはMPEGフォーマットのビットストリームが入力されると、各々のフォーマットの処理回路によりランレングス及びレベルが求められ、ランレングスデコーダに与えられたランレングスの数だけ0を出力することで、可変長符号が復号される。
しかしながら、文献1では、DVとMPEG−1もしくはMPEG−2の2つの符号化方式しか対応できない。また、他の符号化方式に対応するには、対応する符号化方式に合わせて最初から回路を開発する必要があり、開発工数が増大する。さらには、可変長復号に必要なテーブルなどを、DV用とMPEG−1用もしくはMPEG−2用と2種類持つ必要があるため、1つの符号化方式のみに対応する場合に比べ、回路規模が大きくなり、動画像処理専用LSIのコストが増加する。
そこで本発明は、複数の符号化方式に容易に対応でき、回路規模の増大を抑えることができる可変長符号復号装置を提供することを目的とする。
第1の発明に係る可変長復号装置は、複数の符号化方式により符号化された可変長符号を復号する復号段と、可変長符号を入力するストリーム入力部と、復号段とストリーム入力部とを仲介するインターフェイスとを備え、ストリーム入力部とインターフェイスとは、複数の符号化方式について共用される。
この構成において、ストリーム入力部とインターフェイスとが、複数の符号化方式において共用されるため、符号化方式毎にストリーム入力部を設ける場合に比べ、回路規模を削減できる。
第2の発明に係る可変長復号装置では、第1の発明に加え、復号段は、複数の符号化方式のそれぞれにより符号化された可変長符号を復号できるように再構成可能な論理回路により構成される。
この構成により、復号段は、例えば単一の再構成可能な論理回路とすることもできる。したがって、一層、回路規模を削減できる。
第3の発明に係る可変長復号装置では、第1の発明に加え、復号段は、複数の符号化方式のそれぞれにより符号化された可変長符号を復号する複数の復号器から構成される。
この構成によれば、再構成に要するオーバーヘッドなしに、複数の専用復号器により複数の符号化方式に対応できる。
第4の発明に係る可変長復号装置では、第3の発明に加え、インターフェイスは、符号化方式を指示する方式信号にしたがって、複数の復号器のうちのいずれかの復号器を選択し、ストリーム入力部に接続する復号器セレクタを備える。
第5の発明に係る可変長復号装置では、第4の発明に加え、複数の復号器のうち、復号器セレクタにより選択されない復号器の消費電力を抑制する。
これらの構成により、選択されない復号器による消費電力を抑制して、携帯端末などに実装しやすくすることができる。
第6の発明に係る可変長復号装置では、第1の発明に加え、ストリーム入力部は、ストリームの開始コードを検出するコード検出器を備える。
この構成により、可変長復号装置の前段において、開始コードが取り除かれていなくても、支障なく可変長符号を復号できる。また、開始コードを検出するコード検出器も複数の符号化方式において共用できるから、回路規模の増加を一層抑制できる。
第7の発明に係る可変長復号装置では、第1の発明に加え、ストリーム入力部は、ストリームの一部を構成するレジスタデータを保持するシフトレジスタと、レジスタデータから一定ビット幅のストリームデータをインターフェイスへ転送するデータセレクタと、ストリームデータの位置を定めるストリームポインタを制御するポインタ制御部とを備え、インターフェイスは、ストリームデータを保持し復号段へ転送するストリームデータバスと、復号を中断すべきか否かを示すストリーム有効信号を保持し復号段へ転送するストリーム有効信号線と、復号を開始すべきか否かを示す復号開始信号を保持し復号段へ転送する復号開始信号線とを備える。
この構成により、シフトレジスタのレジスタデータが一定ビット幅のストリームデータに分けられ、復号段へ転送される。ストリームポインタを制御し、ストリームデータを順次復号段へ供給でき、効率よく可変長符号を復号できる。また、ストリーム有効信号により復号段へ復号を中断すべきか否かを指示できるし、復号開始信号により復号段へ復号を開始すべきことを指示できる。
第8の発明に係る可変長復号装置では、第7の発明に加え、復号段は、復号が完了すると符号長をストリーム入力部へ通知し、ポインタ制御部は、通知された符号長に基づいてストリームポインタが定めるストリームデータの位置を移動する。
この構成により、復号を完成するまで不明な符号長を復号段からストリーム入力部へ通知することにより、ストリームポインタが定めるストリームデータの位置を常に適切に制御できる。即ち、ストリーム入力部と復号段において、ハンドシェイクプロトコルを確立することができ、復号段によるレイテンシの差を容易に吸収できる。
第1図は、本発明の実施の形態1における可変長符号復号装置のブロック図である。
第2図は、本発明の実施の形態1におけるストリーム入力部のブロック図である。
第3図は、本発明の実施の形態1における可変長符号復号装置のタイミングチャートである。
第4図は、本発明の実施の形態1における可変長符号復号装置のタイミングチャートである。
第5図は、本発明の実施の形態1における可変長符号復号装置のタイミングチャートである。
第6図は、本発明の実施の形態2における可変長符号復号装置のブロック図である。
第7図は、従来の可変長復号器のブロック図である。
以下、図面を参照しながら、本発明の実施の形態を説明する。
(実施の形態1)
第1図は、本発明の実施の形態1における可変長復号装置のブロック図である。
本形態の可変長復号装置は、次に述べるように、複数の符号化方式により符号化された可変長符号を復号する復号段100と、可変長符号を入力するストリーム入力部10と、復号段100とストリーム入力部10とを仲介するインターフェイス30とを備え、ストリーム入力部10とインターフェイス30とは、複数の符号化方式について共用される。
第1図に示すように、本形態の可変長復号装置1は、ストリーム入力端子2と方式信号入力端子3と復号データ出力端子4とを備える。
ストリーム入力端子2は、可変長符号化されたビットストリームを入力する。可変長復号装置1は、複数の符号化方式により符号化されたビットストリームを復号できるが、現在復号すべきビットストリームに関する符号化方式は、方式信号入力端子3に入力される方式信号により特定される。
ストリーム入力端子2から入力されるビットストリームは、ストリーム入力部10のシフトレジスタ11に一定量(本例では、96ビット)ずつ転送される。
方式信号入力端子3から入力される方式信号は、第1、第2の復号器セレクタ34、60及び第1、第2のマスク素子35、36の一方の入力端子に入力される。
復号データ出力端子4は、可変長復号装置1の出力データである復号データを外部(本例は、MPEG規格の可変長復号装置であるから、通常、逆量子化器(図示せず))へ出力する。
可変長復号装置1の内部要素は、ストリーム入力部10と、第1の復号器40及び第2の復号器50とを有する復号段100と、ストリーム入力部10と復号段100との間に介装されるインターフェイス30と、第2の復号器セレクタ60とに分けることができる。
本例のストリーム入力部10は、第2図に示しているように、次の要素を備える。
シフトレジスタ11は、上述したように、ビットストリームの部分データを最大96ビット保存する。本形態では、シフトレジスタ11に保存されるデータをレジスタデータstrm_regという。
制御部12は、可変長復号装置1の復号プロセスを制御する。制御部12は、ポインタ制御部13を含み、ポインタ制御部13は、データセレクタ14にストリームポインタstrm_ptrを指示する。
データセレクタ14は、ポインタ制御部13からストリームポインタstrm_ptrを入力すると、ストリームポインタstrm_ptrにより指された末端位置から一定量(本例では、32ビット)のストリームデータstrm_dataを取り出してストリームデータバス31へ転送する。ストリームポインタstrm_ptrが指示するストリームデータstrm_dataの末端位置は、理論的には、95ビット〜0ビットの範囲で変更され得る。
しかしながら、本例では後述するように、この末端位置がデータセレクタ14が出力するストリームデータstrm_dataのデータ幅である、32ビット未満にならないようにポインタ制御部13はストリームポインタstrm_ptrを制御する。
これは、末端位置が32ビット未満になると、ストリームデータバス31へ転送されるストリームデータstrm_dataの少なくとも一部に、意味のないデータが含まれ、不測の事態が発生するおそれがあるためである。因みに、末端位置が32ビット未満になったときには、ビットストリームの新たな部分データをシフトレジスタ11に補充的に転送させることとしている。
ストリームポインタstrm_ptrが指す末端位置が、最大値である95ビットから0ビット方向へ戻るにつれて、ストリームデータバス31に転送されるストリームデータstrm_dataの内容が変化する。なお以下説明を簡単にするために、ストリームポインタstrm_ptrは最大値95ビットから基本的に一定の差分値(本例では、8ビット)ずつ0ビット方向に向けて減ってゆくものとする。しかしながら、これは説明の便宜のためであり、この差分値は、後述する符号長信号strm_lenが示す符号長の値に他ならず、実際には、復号が完成した際の符号長信号strm_lenが示す符号長の値(可変値)と共に変化する。本発明は、このように、差分値が変化する場合にも同様に適用できる。
制御部12は、インターフェイス30のストリーム有効信号線32にビットストリーム有効指示信号strm_enを出力し、インターフェイス30の復号開始信号線33に復号開始指示信号dec_startを出力する。
ビットストリーム有効指示信号strm_enは、復号を中断すべきか否かを示し、復号開始指示信号dec_startは、復号を開始して良いか否かを示す。
制御部12は、第1の復号セレクタ34から符号長信号strm_len、復号完了通知信号dec_end及び供給停止信号strm_stopを入力する。符号長信号strm_lenについて3は、上述の通りである。
復号完了通知信号dec_endは、ストリームデータstrm_dataに関する処理が終了し、今回の可変長符号化データの復号が完了して、符号長信号strm_lenを特定できる状態になったとき、復号を担当する復号器がその状態になったことを制御部12に通知する信号である。
供給停止信号strm_stopは、ストリームデータstrm_dataに関する処理が完了する都度、復号を担当する復号器が制御部12に処理の完了を通知する信号である。
但し、供給停止信号strm_stopは、今回の可変長符号化データの復号が未完了である場合であっても制御部12に通知される点が復号完了通知信号dec_endとは異なる。
さらに本例のストリーム入力部10は、次の要素を備える。但し、これらの要素は、ビットストリームの特定コード(本例では、”0x000001”という開始コード)を操作する必要がない場合(例えば、ストリーム入力端子2の前段に設けられる図示されない要素によって開始コードが予め取り除かれている場合等)には、必要に応じて省略できる。
コードレジスタ15は、開始コードを保持し、コード検出器16の一方の入力端子へ開始コードを入力する。コード検出器16は、シフトレジスタ11の先頭24ビットの値を他方の入力端子から入力し、この値をコードレジスタ15から入力される開始コードと比較する。コード検出器16は、両者が一致するとき、開始コードを発見した旨を通知する検出信号を制御部12へ出力する。
制御部12は、この検出信号を入力すると、ポインタ制御部13が出力するストリームポインタstrm_ptrを24ビットだけ0ビット方向へ戻し、その結果、ビットストリームの開始コードの次のビットから32ビット分のデータがストリームデータstrm_dataとしてストリームデータバス31へ転送され、復号プロセスが開始する。なお以下説明を簡単にするために、開始コードが発見されると、開始コード分(本例では、24ビット)だけシフトレジスタ11にビットストリームの一部のデータが補充され、ストリームポインタstrm_ptrは最大値である95ビットからスタートするものとする。
なお、コードレジスタ15が保持する特定コードを制御部12が外部から入力する設定信号により変更できるようにしても良いし、特定コードを可変長符号化データの実体の一部として誤って復号してしまったような場合、ポインタ制御部13がストリームポインタstrm_ptrを適宜操作して、本来の正しい復号プロセスが実行されるように修正することもできる。
第1図に示すように、インターフェイス30は、ストリームデータバス31、ストリーム有効信号線32、復号開始信号線33の他に、次の要素を備える。
第1の復号セレクタ34は、
第1の復号器40からの供給停止信号strm_stop、復号完了通知信号dec_end、符号長信号strm_lenと、
第2の復号器50からの供給停止信号strm_stop、復号完了通知信号dec_end、符号長信号strm_lenと、供給停止信号strm_stopと
を、方式信号にしたがって択一的に選択し、制御部12へ転送する。また、第1のマスク素子35と第2のマスク素子36は、復号開始指示信号dec_startと方式信号との論理積を求める。第1のマスク素子35と第2のマスク素子36は、第1の復号器40又は第2の復号器50の一方を、方式信号にしたがって択一的に選択し、選択された復号器にストリームデータバス31から転送されるストリームデータstrm_dataを復号させる。第1のマスク素子35と第2のマスク素子36とは、論理的に反転している。
第1の復号器40と第2の復号器50とは、実施の形態1における復号段100を構成し、互いに異なる符号化方式に対応する専用の復号器である。本例では、第1の復号器40は、第1のテーブル41を備え、MPEG−4 Simple Profile方式による可変長符号化データを復号し、第2の復号器セレクタ60の一方の端子へ復号データを出力する。なおI/O部42は、インターフェイス30との間で信号を入出力する。
第2の復号器50は、第2のテーブル51を備え、MPEG−4 AVC方式による可変長符号化データを復号し、第2の復号器セレクタ60の他方の端子へ復号データを出力する。なおI/O部52は、インターフェイス30との間で信号を入出力する。
第2の復号器セレクタ60は、方式信号にしたがい、第1の復号器40又は第2の復号器50の一方から出力される復号データを、復号データ出力端子4を介して可変長復号装置1の外部へ出力する。
ここで、方式信号により選択されない復号器については、クロックを停止させる、あるいは給電しない等、事実上停止させることが望ましい。消費電力を節約できるからである。また、復号器は、第1図に示すように、2種類に限られず、3種以上の可変長符号化方式に対応するようにしても良い。
次に、第3図を参照しながら、可変長復号装置1の動作を説明する。なお、方式信号が、第1の復号器40と第2の復号器50とのいずれの復号器を選択しても、選択動作を除き、可変長復号装置1の動作は同様である。
「データセレクタ14がストリームデータstrm_dataを1回だけストリームデータバス31に転送すると、1単位の復号が完了する場合」
ここでは、第3図(a)に示されるレジスタデータstrm_regがシフトレジスタ11に転送されるものとする。第2図に基づいて上述したように、コード検出器16がコードレジスタ15との比較を行い、先頭の開始コード”0x000001”を検出し、シフトレジスタ11に24ビット分のデータが補充される。
ポインタ制御部13は、ストリームポインタstrm_ptrをシフトレジスタ11の最大値である95ビットにセットし、データセレクタ14が、ストリームポインタstrm_ptrにより指示される末端位置から32ビット分のストリームデータstrm_data(data1)をストリームデータバス31へ転送する。
第3図(d)に示すように、制御部12は、現在のストリームポインタstrm_ptrが32ビット以上を指しているから、ビットストリーム有効指示信号strm_enを”enable”とし、第3図(e)に示すように、制御部12は、時刻t1〜t2において、復号開始指示信号dec_startを”start”とする。
なお、このとき、第1の復号器40は、何も復号していないから、第1の復号器40は、第3図(g)に示すように、符号長信号strm_lenが示す符号長の値を”0”とし、第3図(f)に示すように、供給停止信号strm_stopを”not stop”とする。さらに、第3図(h)に示すように、復号完了通知信号dec_endは、”not end”の状態にある。
第1の復号器40は、時刻t1からストリームデータstrm_data(data1)の復号を開始し、第1の復号器40は、時刻t3にてストリームデータstrm_data(data1)のみにより1単位の復号を完了するものとする。すると、この一単位の符号長が初めて判明する(この符号長は、ストリームデータstrm_dataにより変化するものであるが、上述したように説明を簡単にするために、本例では符号長は常に8ビットであるものとする。)。
したがって、第1の復号器40は、時刻t3〜t4において、供給停止信号strm_stopを”stop”とし、復号完了通知信号dec_endを”end”とし、符号長信号strm_lenが示す符号長の値を”8”とする。これらの信号は、第1の復号セレクタ34を介して制御部12へ通知される。
また、第1の復号器40は、時刻t4において、供給停止信号strm_stopを”not stop”に戻し、符号長信号strm_lenが示す符号長の値を”0”に、復号完了通知信号dec_endを”not end”に、それぞれ戻す。
時刻t3において、これらの信号を受信する制御部12は、ポインタ制御部13を用いて受信した符号長信号strm_len(本例では、8ビット)だけストリームポインタstrm_ptrを0ビット方向へ戻す。その結果、ストリームポインタstrm_ptrは、(95−8=)87ビットを指すことになる。次に、data2について、上述と同様の処理が実施される。
「データセレクタ14がストリームデータstrm_dataを1回、ストリームデータバス31に転送しても、1単位の復号が完了しない場合」
第4図を参照しながら、データセレクタ14がストリームデータstrm_dataを1回だけストリームデータバス31に転送しても、1単位の復号が完了せず、データセレクタ14が複数回(本例では、2回)ストリームデータstrm_dataを転送する場合について説明する。
第4図において、時刻t11、t12までは、第3図と同様である。
但し、時刻t13において、第1の復号器40がストリームデータstrm_data(data1)の処理を完了しても、1単位の復号が完了しない場合、供給停止信号strm_stop、符号長信号strm_lenは第3図と同様である。しかし、第4図(h)に示すように、第1の復号器40は、復号完了通知信号dec_endを”not end”のままとする。
これにより、時刻t13以降に、次のストリームデータstrm_data(data2)が第1の復号器40に転送され、第1の復号器40は、ストリームデータstrm_data(data2)の処理を引き続いて実行する。その結果、1単位の復号が完了し、符号長を特定できる状態になると、第1の復号器40は、時刻t15〜t16において、第3図の時刻t4〜t5と同様の処理を行う。
なお本例では、時刻t13〜t14、t15〜t16において、符号長信号strm_lenが8ビットを示すが、これは誤りではない。理由は次の通りである。即ち、ストリームポインタstrm_ptrは、時刻t13において、ストリームデータstrm_data(data1)により暫定的に判明した符号長len1(本例では、8ビット)分だけ0ビット方向へ移動し、さらに時刻t15において、ストリームデータstrm_data(data2)により判明した符号長len2(本例では、8ビット)だけ移動する。結局、時刻t15において、ストリームポインタstrm_ptrは、data1の復号が開始される時の位置から、符号長の和(本例では、len1+len2=16ビット)だけ移動した位置を正しく指すからである。
次に、第5図を参照しながら、ストリームポインタstrm_ptrがストリームデータstrm_dataのビット幅(本例では、32ビット)未満となり、ビットストリームの後続する部分のデータがシフトレジスタ11に補充される場合における、可変長復号装置1の動作を説明する。
既に、第3図、第4図を参照して説明したように、復号が進むと、ストリームポインタstrm_ptrは0ビット方向へ戻り、ついには、ストリームデータstrm_dataのビット幅未満となる。
第5図の例では、時刻t31〜t33までは、ストリームポインタstrm_ptrは35ビットを指しており、ストリームデータstrm_dataのデータ幅以上である。
時刻t33において、第1の復号器40が符号長信号strm_len(8ビット)を出力すると、ストリームポインタstrm_ptrは、(35−8=27)<32を指すことになる。
このとき、第5図(b)に示すように、制御部12は、時刻t34において、ストリームデータstrm_dataに不測のデータが含まれる事態を避けるため、ビットストリーム有効指示信号strm_enを”disenable”にする。
その結果、時刻t32以降において、第1の復号器40が復号処理を行っている場合、第1の復号器40は、時刻t34から復号処理を中断する。
第5図の例では、時刻t34以降、シフトレジスタ11にビットストリームから32ビットのデータが補充され、時刻t35において、制御部12は、ビットストリーム有効指示信号strm_enを”enable”に戻す。その結果、時刻t35において、復号処理の中断が解消され、第1の復号器40は、時刻t36にて、1単位の復号処理を完了する。以後は、上述の動作と同様である。
本形態によれば、ストリーム入力部10及びインターフェイス30を複数の符号化方式において共用しているから、面積の増加が抑えられる。また、符号長を復号段100から制御部12へ送信しているから、異なる符号化方式の復号器も容易に接続できる。
本実施の形態において、符号化方式を「MPEG−4Simple Profile」か「MPEG−4AVC」の2種類としているが、他の符号化方式の可変長符号復号部を設け、インタフェース30に接続すれば他の符号化方式にも対応できる。
なお、以上述べた、96ビット、32ビット、8ビットなどの数値は、例示に過ぎないのであって、種々変更できることはいうまでもない。また、ストリームポインタstrm_ptrは、ストリームデータstrm_dataを昇順で制御するが、降順で制御しても良い。
(実施の形態2)
以下、実施の形態1との相違点のみを説明する。実施の形態1では、複数の符号化方式毎に、専用の復号器40、50を設けている。
実施の形態2では、これにかえて、I/O部81を有する再構成可能復号器80を設けて、復号段200を構成する。
再構成可能復号器80の全てを再構成可能な論理回路で構成することもできるが、例えば、復号パラメータを保持するテーブルのみを再構成可能な論理回路とすることもできる。いずれにしても、再構成可能復号器80により複数の符号化方式に対応する復号処理を実現できれば十分である。
第6図を、第1図と比べれば明らかなように、インターフェイス70は、ストリームデータバス71、ストリーム有効信号線72、復号開始信号線73を備えればよく、第1の復号セレクタ34、第1のマスク素子35、第2のマスク素子36等は、省略できる。また、再構成可能復号器80と復号データ出力端子4との間に、第2の復号器セレクタ60を設ける必要はない。
よって、実施の形態2では、実施の形態1よりもさらに回路規模を削減できる。勿論、第1図において、第1の復号器40のかわりに再構成可能復号器80を設け、第2の復号器50を除いた構成とすることもできる。
本発明の可変長符号復号装置によれば、複数の符号化方式への対応が求められる可変長符号復号装置において、復号段がストリーム入力部を共有するので、面積の増加を抑えることができる。また、復号段とストリーム入力部の間を符号化方式において共通のインタフェースで接続するので、復号段の接続が容易であり、さらに、符号化方式の他の組み合わせへにも容易に対応できる。
本発明に係る可変長符号復号装置は、例えば、動画像処理を行うシステムLSIであって複数の符号化方式に対応が必要なもの等あるいはその応用技術分野に好適に利用できる。
本発明は、複数の符号化方式で符号化されたビットストリームを復号する可変長符号復号装置に関するものである。
ディジタル衛星放送、インターネットや携帯情報端末を利用したディジタル映像コンテンツの送受信の普及により、MPEG(Moving Picture Coding Experts Group)規格に対応する信号処理装置の重要性が増している。現在、MPEGには、CD−ROMなどの蓄積メディアを対象にするMPEG−1、ディジタルTV放送やDVDなどの蓄積メディアを対象とするMPEG−2、移動体通信など低ビット・レートでの動画像フォーマットとして用いられるMPEG−4、近年提案されている低ビット・レート下での更なる高画質化を狙ったMPEG−4AVC(Advanced Video Coding)といった様々な符号化方式が存在する。
バッテリ駆動が前提の移動体通信端末に、MPEG方式を採用する場合、膨大なデータの高速処理と低消費電力化が課題となる。この観点から、移動体通信端末に搭載する動画像処理専用LSIは、プロセッサとVLD(Variable Length Decoder、可変長符号復号回路)、IQ(Inverse Quantization、逆量子化回路)、IDCT(Inverse Discrete Cosine Transform、逆DCT回路)などの特定アルゴリズムを処理する専用ハードウェアとを併用することにより、動画像処理時の負荷を分散し、合わせて、消費電力の低減を図っている。
動画像処理専用LSIが、複数の符号化方式を扱う画像処理装置に組み込まれ、動画像処理専用LSIが1つの符号化方式のみにしか対応していない場合、各々の符号化方式に対応した複数の動画像処理専用LSIを画像処理装置に組み込む必要がある。
しかし、複数の動画像処理専用LSIを画像処理装置に組み込むと、部品点数が増加するため画像処理装置のコストが増加し、符号化方式ごとに動作させる動画像処理専用LSIを切り替える必要があるためシステムが煩雑になる。
そこで、一つの動画像処理専用LSIで複数の符号化方式に対応することが考えられる。このためには、各符号化方式のVLDなどの専用ハードウェアを全て備えることで実現できる。しかし、このようにすると、動画像処理専用LSIの面積が増大し、動画像処理専用LSIのコストが増大する。
また、一つの動画像処理専用LSIでの複数の符号化方式へ対応するために、各専用ハードウェアを複数の符号化方式に対応させて作りこむことが考えられる。そのような技術の一つとして、文献1(日本国特開2002−141807号公報)は、2つの符号化方式に対応する可変長符号復号回路の技術を開示する。
第7図は、文献1に記載された従来の可変長符号復号回路300を示す。可変長符号復号回路300は、バレルシフタ301及びバレルシフタ制御器302と、DVフォーマットとMPEGフォーマットのAC係数の復号のための可変長符号復号テーブル303aと、レベル0のランレングスを処理できるランレングスデコーダと304、MPEGフォーマット専用のエスケープ処理回路303bと、各フォーマット用のDC処理回路303cと、両フォーマットのEOB処理回路303dを備える。
DVフォーマット、もしくはMPEGフォーマットのビットストリームが入力されると、各々のフォーマットの処理回路によりランレングス及びレベルが求められ、ランレングスデコーダに与えられたランレングスの数だけ0を出力することで、可変長符号が復号される。
しかしながら、文献1では、DVとMPEG−1もしくはMPEG−2の2つの符号化方式しか対応できない。また、他の符号化方式に対応するには、対応する符号化方式に合わせて最初から回路を開発する必要があり、開発工数が増大する。さらには、可変長復号に必要なテーブルなどを、DV用とMPEG−1用もしくはMPEG−2用と2種類持つ必要があるため、1つの符号化方式のみに対応する場合に比べ、回路規模が大きくなり、動画像処理専用LSIのコストが増加する。
特開2002−141807号公報
そこで本発明は、複数の符号化方式に容易に対応でき、回路規模の増大を抑えることができる可変長符号復号装置を提供することを目的とする。
第1の発明に係る可変長復号装置は、複数の符号化方式により符号化された可変長符号を復号する復号段と、可変長符号を入力するストリーム入力部と、復号段とストリーム入力部とを仲介するインターフェイスとを備え、ストリーム入力部とインターフェイスとは、複数の符号化方式について共用される。
この構成において、ストリーム入力部とインターフェイスとが、複数の符号化方式において共用されるため、符号化方式毎にストリーム入力部を設ける場合に比べ、回路規模を削減できる。
第2の発明に係る可変長復号装置では、第1の発明に加え、復号段は、複数の符号化方式のそれぞれにより符号化された可変長符号を復号できるように再構成可能な論理回路により構成される。
この構成により、復号段は、例えば単一の再構成可能な論理回路とすることもできる。したがって、一層、回路規模を削減できる。
第3の発明に係る可変長復号装置では、第1の発明に加え、復号段は、複数の符号化方式のそれぞれにより符号化された可変長符号を復号する複数の復号器から構成される。
この構成によれば、再構成に要するオーバーヘッドなしに、複数の専用復号器により複数の符号化方式に対応できる。
第4の発明に係る可変長復号装置では、第3の発明に加え、インターフェイスは、符号化方式を指示する方式信号にしたがって、複数の復号器のうちのいずれかの復号器を選択し、ストリーム入力部に接続する復号器セレクタを備える。
第5の発明に係る可変長復号装置では、第4の発明に加え、複数の復号器のうち、復号器セレクタにより選択されない復号器の消費電力を抑制する。
これらの構成により、選択されない復号器による消費電力を抑制して、携帯端末などに実装しやすくすることができる。
第6の発明に係る可変長復号装置では、第1の発明に加え、ストリーム入力部は、ストリームの開始コードを検出するコード検出器を備える。
この構成により、可変長復号装置の前段において、開始コードが取り除かれていなくても、支障なく可変長符号を復号できる。また、開始コードを検出するコード検出器も複数の符号化方式において共用できるから、回路規模の増加を一層抑制できる。
第7の発明に係る可変長復号装置では、第1の発明に加え、ストリーム入力部は、ストリームの一部を構成するレジスタデータを保持するシフトレジスタと、レジスタデータから一定ビット幅のストリームデータをインターフェイスへ転送するデータセレクタと、ストリームデータの位置を定めるストリームポインタを制御するポインタ制御部とを備え、インターフェイスは、ストリームデータを保持し復号段へ転送するストリームデータバスと、復号を中断すべきか否かを示すストリーム有効信号を保持し復号段へ転送するストリーム有効信号線と、復号を開始すべきか否かを示す復号開始信号を保持し復号段へ転送する復号開始信号線とを備える。
この構成により、シフトレジスタのレジスタデータが一定ビット幅のストリームデータに分けられ、復号段へ転送される。ストリームポインタを制御し、ストリームデータを順次復号段へ供給でき、効率よく可変長符号を復号できる。また、ストリーム有効信号により復号段へ復号を中断すべきか否かを指示できるし、復号開始信号により復号段へ復号を開始すべきことを指示できる。
第8の発明に係る可変長復号装置では、第7の発明に加え、復号段は、復号が完了すると符号長をストリーム入力部へ通知し、ポインタ制御部は、通知された符号長に基づいてストリームポインタが定めるストリームデータの位置を移動する。
この構成により、復号を完成するまで不明な符号長を復号段からストリーム入力部へ通知することにより、ストリームポインタが定めるストリームデータの位置を常に適切に制御できる。即ち、ストリーム入力部と復号段において、ハンドシェイクプロトコルを確立することができ、復号段によるレイテンシの差を容易に吸収できる。
本発明の可変長符号復号装置によれば、複数の符号化方式への対応が求められる可変長符号復号装置において、復号段がストリーム入力部を共有するので、面積の増加を抑えることができる。また、復号段とストリーム入力部の間を符号化方式において共通のインタフェースで接続するので、復号段の接続が容易であり、さらに、符号化方式の他の組み合わせへにも容易に対応できる。
以下、図面を参照しながら、本発明の実施の形態を説明する。
(実施の形態1)
第1図は、本発明の実施の形態1における可変長復号装置のブロック図である。
本形態の可変長復号装置は、次に述べるように、複数の符号化方式により符号化された可変長符号を復号する復号段100と、可変長符号を入力するストリーム入力部10と、復号段100とストリーム入力部10とを仲介するインターフェイス30とを備え、ストリーム入力部10とインターフェイス30とは、複数の符号化方式について共用される。
第1図に示すように、本形態の可変長復号装置1は、ストリーム入力端子2と方式信号入力端子3と復号データ出力端子4とを備える。
ストリーム入力端子2は、可変長符号化されたビットストリームを入力する。可変長復号装置1は、複数の符号化方式により符号化されたビットストリームを復号できるが、現在復号すべきビットストリームに関する符号化方式は、方式信号入力端子3に入力される方式信号により特定される。
ストリーム入力端子2から入力されるビットストリームは、ストリーム入力部10のシフトレジスタ11に一定量(本例では、96ビット)ずつ転送される。
方式信号入力端子3から入力される方式信号は、第1、第2の復号器セレクタ34、60及び第1、第2のマスク素子35、36の一方の入力端子に入力される。
復号データ出力端子4は、可変長復号装置1の出力データである復号データを外部(本例は、MPEG規格の可変長復号装置であるから、通常、逆量子化器(図示せず))へ出力する。
可変長復号装置1の内部要素は、ストリーム入力部10と、第1の復号器40及び第2の復号器50とを有する復号段100と、ストリーム入力部10と復号段100との間に介装されるインターフェイス30と、第2の復号器セレクタ60とに分けることができる。
本例のストリーム入力部10は、第2図に示しているように、次の要素を備える。
シフトレジスタ11は、上述したように、ビットストリームの部分データを最大96ビット保存する。本形態では、シフトレジスタ11に保存されるデータをレジスタデータstrm_regという。
制御部12は、可変長復号装置1の復号プロセスを制御する。制御部12は、ポインタ制御部13を含み、ポインタ制御部13は、データセレクタ14にストリームポインタstrm_ptrを指示する。
データセレクタ14は、ポインタ制御部13からストリームポインタstrm_ptrを入力すると、ストリームポインタstrm_ptrにより指された末端位置から一定量(本例では、32ビット)のストリームデータstrm_dataを取り出してストリームデータバス31へ転送する。ストリームポインタstrm_ptrが指示するストリームデータstrm_dataの末端位置は、理論的には、95ビット〜0ビットの範囲で変更され得る。
しかしながら、本例では後述するように、この末端位置がデータセレクタ14が出力するストリームデータstrm_dataのデータ幅である、32ビット未満にならないようにポインタ制御部13はストリームポインタstrm_ptrを制御する。
これは、末端位置が32ビット未満になると、ストリームデータバス31へ転送されるストリームデータstrm_dataの少なくとも一部に、意味のないデータが含まれ、不測の事態が発生するおそれがあるためである。因みに、末端位置が32ビット未満になったときには、ビットストリームの新たな部分データをシフトレジスタ11に補充的に転送させることとしている。
ストリームポインタstrm_ptrが指す末端位置が、最大値である95ビットから0ビット方向へ戻るにつれて、ストリームデータバス31に転送されるストリームデータstrm_dataの内容が変化する。なお以下説明を簡単にするために、ストリームポインタstrm_ptrは最大値95ビットから基本的に一定の差分値(本例では、8ビット)ずつ0ビット方向に向けて減ってゆくものとする。しかしながら、これは説明の便宜のためであり、この差分値は、後述する符号長信号strm_lenが示す符号長の値に他ならず、実際には、復号が完成した際の符号長信号strm_lenが示す符号長の値(可変値)と共に変化する。本発明は、このように、差分値が変化する場合にも同様に適用できる。
制御部12は、インターフェイス30のストリーム有効信号線32にビットストリーム有効指示信号strm_enを出力し、インターフェイス30の復号開始信号線33に復号開始指示信号dec_startを出力する。
ビットストリーム有効指示信号strm_enは、復号を中断すべきか否かを示し、復号開始指示信号dec_startは、復号を開始して良いか否かを示す。
制御部12は、第1の復号セレクタ34から符号長信号strm_len、復号完了通知信号dec_end及び供給停止信号strm_stopを入力する。符号長信号strm_lenについて3は、上述の通りである。
復号完了通知信号dec_endは、ストリームデータstrm_dataに関する処理が終了し、今回の可変長符号化データの復号が完了して、符号長信号strm_lenを特定できる状態になったとき、復号を担当する復号器がその状態になったことを制御部12に通知する信号である。
供給停止信号strm_stopは、ストリームデータstrm_dataに関する処理が完了する都度、復号を担当する復号器が制御部12に処理の完了を通知する信号である。
但し、供給停止信号strm_stopは、今回の可変長符号化データの復号が未完了である場合であっても制御部12に通知される点が復号完了通知信号dec_endとは異なる。
さらに本例のストリーム入力部10は、次の要素を備える。但し、これらの要素は、ビットストリームの特定コード(本例では、"0x000001"という開始コード)を操作する必要がない場合(例えば、ストリーム入力端子2の前段に設けられる図示されない要素によって開始コードが予め取り除かれている場合等)には、必要に応じて省略できる。
コードレジスタ15は、開始コードを保持し、コード検出器16の一方の入力端子へ開始コードを入力する。コード検出器16は、シフトレジスタ11の先頭24ビットの値を他方の入力端子から入力し、この値をコードレジスタ15から入力される開始コードと比較する。コード検出器16は、両者が一致するとき、開始コードを発見した旨を通知する検出信号を制御部12へ出力する。
制御部12は、この検出信号を入力すると、ポインタ制御部13が出力するストリームポインタstrm_ptrを24ビットだけ0ビット方向へ戻し、その結果、ビットストリームの開始コードの次のビットから32ビット分のデータがストリームデータstrm_dataとしてストリームデータバス31へ転送され、復号プロセスが開始する。なお以下説明を簡単にするために、開始コードが発見されると、開始コード分(本例では、24ビット)だけシフトレジスタ11にビットストリームの一部のデータが補充され、ストリームポインタstrm_ptrは最大値である95ビットからスタートするものとする。
なお、コードレジスタ15が保持する特定コードを制御部12が外部から入力する設定信号により変更できるようにしても良いし、特定コードを可変長符号化データの実体の一部として誤って復号してしまったような場合、ポインタ制御部13がストリームポインタstrm_ptrを適宜操作して、本来の正しい復号プロセスが実行されるように修正することもできる。
第1図に示すように、インターフェイス30は、ストリームデータバス31、ストリーム有効信号線32、復号開始信号線33の他に、次の要素を備える。第1の復号セレクタ34は、
第1の復号器40からの供給停止信号strm_stop、復号完了通知信号dec_end、符号長信号strm_lenと、
第2の復号器50からの供給停止信号strm_stop、復号完了通知信号dec_end、符号長信号strm_lenと、供給停止信号strm_stopと
を、方式信号にしたがって択一的に選択し、制御部12へ転送する。また、第1のマスク素子35と第2のマスク素子36は、復号開始指示信号dec_startと方式信号との論理積を求める。第1のマスク素子35と第2のマスク素子36は、第1の復号器40又は第2の復号器50の一方を、方式信号にしたがって択一的に選択し、選択された復号器にストリームデータバス31から転送されるストリームデータstrm_dataを復号させる。第1のマスク素子35と第2のマスク素子36とは、論理的に反転している。
第1の復号器40と第2の復号器50とは、実施の形態1における復号段100を構成し、互いに異なる符号化方式に対応する専用の復号器である。本例では、第1の復号器40は、第1のテーブル41を備え、MPEG−4 Simple Profile方式による可変長符号化データを復号し、第2の復号器セレクタ60の一方の端子へ復号データを出力する。なおI/O部42は、インターフェイス30との間で信号を入出力する。
第2の復号器50は、第2のテーブル51を備え、MPEG−4 AVC方式による可変長符号化データを復号し、第2の復号器セレクタ60の他方の端子へ復号データを出力する。なおI/O部52は、インターフェイス30との間で信号を入出力する。
第2の復号器セレクタ60は、方式信号にしたがい、第1の復号器40又は第2の復号器50の一方から出力される復号データを、復号データ出力端子4を介して可変長復号装置1の外部へ出力する。
ここで、方式信号により選択されない復号器については、クロックを停止させる、あるいは給電しない等、事実上停止させることが望ましい。消費電力を節約できるからである。また、復号器は、第1図に示すように、2種類に限られず、3種以上の可変長符号化方式に対応するようにしても良い。
次に、第3図を参照しながら、可変長復号装置1の動作を説明する。なお、方式信号が、第1の復号器40と第2の復号器50とのいずれの復号器を選択しても、選択動作を除き、可変長復号装置1の動作は同様である。
「データセレクタ14がストリームデータstrm_dataを1回だけストリームデータバス31に転送すると、1単位の復号が完了する場合」
ここでは、第3図(a)に示されるレジスタデータstrm_regがシフトレジスタ11に転送されるものとする。第2図に基づいて上述したように、コード検出器16がコードレジスタ15との比較を行い、先頭の開始コード"0x000001"を検出し、シフトレジスタ11に24ビット分のデータが補充される。
ポインタ制御部13は、ストリームポインタstrm_ptrをシフトレジスタ11の最大値である95ビットにセットし、データセレクタ14が、ストリームポインタstrm_ptrにより指示される末端位置から32ビット分のストリームデータstrm_data(data1)をストリームデータバス31へ転送する。
第3図(d)に示すように、制御部12は、現在のストリームポインタstrm_ptrが32ビット以上を指しているから、ビットストリーム有効指示信号strm_enを"enable"とし、第3図(e)に示すように、制御部12は、時刻t1〜t2において、復号開始指示信号dec_startを"start"とする。
なお、このとき、第1の復号器40は、何も復号していないから、第1の復号器40は、第3図(g)に示すように、符号長信号strm_lenが示す符号長の値を"0"とし、第3図(f)に示すように、供給停止信号strm_stopを"not stop"とする。さらに、第3図(h)に示すように、復号完了通知信号dec_endは、"not end"の状態にある。
第1の復号器40は、時刻t1からストリームデータstrm_data(data1)の復号を開始し、第1の復号器40は、時刻t3にてストリームデータstrm_data(data1)のみにより1単位の復号を完了するものとする。すると、この一単位の符号長が初めて判明する(この符号長は、ストリームデータstrm_dataにより変化するものであるが、上述したように説明を簡単にするために、本例では符号長は常に8ビットであるものとする。)。
したがって、第1の復号器40は、時刻t3〜t4において、供給停止信号strm_stopを"stop"とし、復号完了通知信号dec_endを"end"とし、符号長信号strm_lenが示す符号長の値を"8"とする。これらの信号は、第1の復号セレクタ34を介して制御部12へ通知される。
また、第1の復号器40は、時刻t4において、供給停止信号strm_stopを"not stop"に戻し、符号長信号strm_lenが示す符号長の値を"0"に、復号完了通知信号dec_endを"not end"に、それぞれ戻す。
時刻t3において、これらの信号を受信する制御部12は、ポインタ制御部13を用いて受信した符号長信号strm_len(本例では、8ビット)だけストリームポインタstrm_ptrを0ビット方向へ戻す。その結果、ストリームポインタstrm_ptrは、(95−8=)87ビットを指すことになる。次に、data2について、上述と同様の処理が実施される。
「データセレクタ14がストリームデータstrm_dataを1回、ストリームデータバス31に転送しても、1単位の復号が完了しない場合」
第4図を参照しながら、データセレクタ14がストリームデータstrm_dataを1回だけストリームデータバス31に転送しても、1単位の復号が完了せず、データセレクタ14が複数回(本例では、2回)ストリームデータstrm_dataを転送する場合について説明する。
第4図において、時刻t11、t12までは、第3図と同様である。
但し、時刻t13において、第1の復号器40がストリームデータstrm_data(data1)の処理を完了しても、1単位の復号が完了しない場合、供給停止信号strm_stop、符号長信号strm_lenは第3図と同様である。しかし、第4図(h)に示すように、第1の復号器40は、復号完了通知信号dec_endを"not end"のままとする。
これにより、時刻t13以降に、次のストリームデータstrm_data(data2)が第1の復号器40に転送され、第1の復号器40は、ストリームデータstrm_data(data2)の処理を引き続いて実行する。その結果、1単位の復号が完了し、符号長を特定できる状態になると、第1の復号器40は、時刻t15〜t16において、第3図の時刻t4〜t5と同様の処理を行う。
なお本例では、時刻t13〜t14、t15〜t16において、符号長信号strm_lenが8ビットを示すが、これは誤りではない。理由は次の通りである。即ち、ストリームポインタstrm_ptrは、時刻t13において、ストリームデータstrm_data(data1)により暫定的に判明した符号長len1(本例では、8ビット)分だけ0ビット方向へ移動し、さらに時刻t15において、ストリームデータstrm_data(data2)により判明した符号長len2(本例では、8ビット)だけ移動する。結局、時刻t15において、ストリームポインタstrm_ptrは、data1の復号が開始される時の位置から、符号長の和(本例では、len1+len2=16ビット)だけ移動した位置を正しく指すからである。
次に、第5図を参照しながら、ストリームポインタstrm_ptrがストリームデータstrm_dataのビット幅(本例では、32ビット)未満となり、ビットストリームの後続する部分のデータがシフトレジスタ11に補充される場合における、可変長復号装置1の動作を説明する。
既に、第3図、第4図を参照して説明したように、復号が進むと、ストリームポインタstrm_ptrは0ビット方向へ戻り、ついには、ストリームデータstrm_dataのビット幅未満となる。
第5図の例では、時刻t31〜t33までは、ストリームポインタstrm_ptrは35ビットを指しており、ストリームデータstrm_dataのデータ幅以上である。
時刻t33において、第1の復号器40が符号長信号strm_len(8ビット)を出力すると、ストリームポインタstrm_ptrは、(35−8=27)<32を指すことになる。
このとき、第5図(b)に示すように、制御部12は、時刻t34において、ストリームデータstrm_dataに不測のデータが含まれる事態を避けるため、ビットストリーム有効指示信号strm_enを"disenable"にする。
その結果、時刻t32以降において、第1の復号器40が復号処理を行っている場合、第1の復号器40は、時刻t34から復号処理を中断する。
第5図の例では、時刻t34以降、シフトレジスタ11にビットストリームから32ビットのデータが補充され、時刻t35において、制御部12は、ビットストリーム有効指示信号strm_enを"enable"に戻す。その結果、時刻t35において、復号処理の中断が解消され、第1の復号器40は、時刻t36にて、1単位の復号処理を完了する。以後は、上述の動作と同様である。
本形態によれば、ストリーム入力部10及びインターフェイス30を複数の符号化方式において共用しているから、面積の増加が抑えられる。また、符号長を復号段100から制御部12へ送信しているから、異なる符号化方式の復号器も容易に接続できる。
本実施の形態において、符号化方式を「MPEG−4Simple Profile」か「MPEG−4AVC」の2種類としているが、他の符号化方式の可変長符号復号部を設け、インタフェース30に接続すれば他の符号化方式にも対応できる。
なお、以上述べた、96ビット、32ビット、8ビットなどの数値は、例示に過ぎないのであって、種々変更できることはいうまでもない。また、ストリームポインタstrm_ptrは、ストリームデータstrm_dataを昇順で制御するが、降順で制御しても良い。
(実施の形態2)
以下、実施の形態1との相違点のみを説明する。実施の形態1では、複数の符号化方式毎に、専用の復号器40、50を設けている。
実施の形態2では、これにかえて、I/O部81を有する再構成可能復号器80を設けて、復号段200を構成する。
再構成可能復号器80の全てを再構成可能な論理回路で構成することもできるが、例えば、復号パラメータを保持するテーブルのみを再構成可能な論理回路とすることもできる。いずれにしても、再構成可能復号器80により複数の符号化方式に対応する復号処理を実現できれば十分である。
第6図を、第1図と比べれば明らかなように、インターフェイス70は、ストリームデータバス71、ストリーム有効信号線72、復号開始信号線73を備えればよく、第1の復号セレクタ34、第1のマスク素子35、第2のマスク素子36等は、省略できる。また、再構成可能復号器80と復号データ出力端子4との間に、第2の復号器セレクタ60を設ける必要はない。
よって、実施の形態2では、実施の形態1よりもさらに回路規模を削減できる。勿論、第1図において、第1の復号器40のかわりに再構成可能復号器80を設け、第2の復号器50を除いた構成とすることもできる。
本発明に係る可変長符号復号装置は、例えば、動画像処理を行うシステムLSIであって複数の符号化方式に対応が必要なもの等あるいはその応用技術分野に好適に利用できる。
本発明の実施の形態1における可変長符号復号装置のブロック図である。 本発明の実施の形態1におけるストリーム入力部のブロック図である。 本発明の実施の形態1における可変長符号復号装置のタイミングチャートである。 本発明の実施の形態1における可変長符号復号装置のタイミングチャートである。 本発明の実施の形態1における可変長符号復号装置のタイミングチャートである。 本発明の実施の形態2における可変長符号復号装置のブロック図である。 従来の可変長復号器のブロック図である。

Claims (8)

  1. 複数の符号化方式により符号化された可変長符号を復号する復号段と、
    前記可変長符号を入力するストリーム入力部と、
    前記復号段と前記ストリーム入力部とを仲介するインターフェイスとを備え、
    前記ストリーム入力部と前記インターフェイスとは、前記複数の符号化方式について共用される可変長復号装置。
  2. 前記復号段は、前記複数の符号化方式のそれぞれにより符号化された可変長符号を復号できるように再構成可能な論理回路により構成される請求の範囲第1項記載の可変長復号装置。
  3. 前記復号段は、前記複数の符号化方式のそれぞれにより符号化された可変長符号を復号する複数の復号器から構成される請求の範囲第1項記載の可変長復号装置。
  4. 前記インターフェイスは、符号化方式を指示する方式信号にしたがって、前記複数の復号器のうちのいずれか復号器を選択し、前記ストリーム入力部に接続する復号器セレクタを備える請求の範囲第3項記載の可変長復号装置。
  5. 前記複数の復号器のうち、前記復号器セレクタにより選択されない復号器の消費電力を抑制する請求の範囲第4項記載の可変長復号装置。
  6. 前記ストリーム入力部は、ストリームの開始コードを検出するコード検出器を備える請求の範囲第1項記載の可変長復号装置。
  7. 前記ストリーム入力部は、ストリームの一部を構成するレジスタデータを保持するシフトレジスタと、
    前記レジスタデータから一定ビット幅のストリームデータを前記インターフェイスへ転送するデータセレクタと、
    前記ストリームデータの位置を定めるストリームポインタを制御するポインタ制御部とを備え、
    前記インターフェイスは、前記ストリームデータを保持し前記復号段へ転送するストリームデータバスと、
    復号を中断すべきか否かを示すストリーム有効信号を保持し前記復号段へ転送するストリーム有効信号線と、
    復号を開始すべきか否かを示す復号開始信号を保持し前記復号段へ転送する復号開始信号線とを備える請求の範囲第1項記載の可変長復号装置。
  8. 前記復号段は、復号が完了すると符号長を前記ストリーム入力部へ通知し、
    前記ポインタ制御部は、通知された符号長に基づいてストリームポインタが定める前記ストリームデータの位置を移動する請求の範囲第7項記載の可変長復号装置。
JP2006511070A 2004-03-12 2005-03-11 可変長符号復号装置 Active JP4516068B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004070417 2004-03-12
JP2004070417 2004-03-12
PCT/JP2005/004863 WO2005088840A1 (ja) 2004-03-12 2005-03-11 可変長符号復号装置

Publications (2)

Publication Number Publication Date
JPWO2005088840A1 true JPWO2005088840A1 (ja) 2008-01-31
JP4516068B2 JP4516068B2 (ja) 2010-08-04

Family

ID=34975932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006511070A Active JP4516068B2 (ja) 2004-03-12 2005-03-11 可変長符号復号装置

Country Status (4)

Country Link
US (1) US7683807B2 (ja)
EP (1) EP1724931A1 (ja)
JP (1) JP4516068B2 (ja)
WO (1) WO2005088840A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2076049A4 (en) * 2007-03-28 2011-09-14 Panasonic Corp DECODING CIRCUIT, DECODING PROCESS, CODING CIRCUIT, AND CODING METHOD
US8717289B2 (en) 2010-06-22 2014-05-06 Hsni Llc System and method for integrating an electronic pointing device into digital image data
JP6623843B2 (ja) * 2016-03-01 2019-12-25 富士ゼロックス株式会社 データ処理装置およびプログラム
US9906239B1 (en) * 2017-06-28 2018-02-27 Ati Technologies Ulc GPU parallel huffman decoding
CN112492386A (zh) * 2020-11-09 2021-03-12 Tcl华星光电技术有限公司 解码方法、解码装置及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233429A (ja) * 1996-02-13 1997-09-05 Samsung Electron Co Ltd ビデオデータデコーダ及びデコーディング方法
JP2000050263A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd 画像符号化並びに復号化装置及びこれを用いた撮像装置
JP2000261324A (ja) * 1999-03-10 2000-09-22 Fuji Film Microdevices Co Ltd ハフマン復号化回路
JP2001202236A (ja) * 2000-01-20 2001-07-27 Fuji Xerox Co Ltd プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法
JP2002141807A (ja) * 2000-11-02 2002-05-17 Matsushita Electric Ind Co Ltd 可変長復号化器
JP2002516501A (ja) * 1998-05-18 2002-06-04 ソニー エレクトロニクス インク デジタル符号化されたビデオ信号を復号化する可変長デコーダ
JP2002261623A (ja) * 2001-02-28 2002-09-13 Canon Inc 復号装置、復号方法、記憶媒体及びプログラムソフトウェア
JP2003347927A (ja) * 2002-05-27 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> 再構成可能なハードウェアにおけるデータ処理回路およびその方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990812A (en) * 1997-10-27 1999-11-23 Philips Electronics North America Corporation Universally programmable variable length decoder
US7035292B1 (en) * 2000-03-17 2006-04-25 Applied Micro Circuits Corporation Transposable frame synchronization structure

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233429A (ja) * 1996-02-13 1997-09-05 Samsung Electron Co Ltd ビデオデータデコーダ及びデコーディング方法
JP2002516501A (ja) * 1998-05-18 2002-06-04 ソニー エレクトロニクス インク デジタル符号化されたビデオ信号を復号化する可変長デコーダ
JP2000050263A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd 画像符号化並びに復号化装置及びこれを用いた撮像装置
JP2000261324A (ja) * 1999-03-10 2000-09-22 Fuji Film Microdevices Co Ltd ハフマン復号化回路
JP2001202236A (ja) * 2000-01-20 2001-07-27 Fuji Xerox Co Ltd プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法
JP2002141807A (ja) * 2000-11-02 2002-05-17 Matsushita Electric Ind Co Ltd 可変長復号化器
JP2002261623A (ja) * 2001-02-28 2002-09-13 Canon Inc 復号装置、復号方法、記憶媒体及びプログラムソフトウェア
JP2003347927A (ja) * 2002-05-27 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> 再構成可能なハードウェアにおけるデータ処理回路およびその方法

Also Published As

Publication number Publication date
JP4516068B2 (ja) 2010-08-04
WO2005088840A1 (ja) 2005-09-22
US7683807B2 (en) 2010-03-23
EP1724931A1 (en) 2006-11-22
US20090051573A1 (en) 2009-02-26

Similar Documents

Publication Publication Date Title
KR100418437B1 (ko) 멀티미디어 신호처리를 위한 영상복원 프로세서
US20110280314A1 (en) Slice encoding and decoding processors, circuits, devices, systems and processes
KR100666880B1 (ko) 듀얼 비디오 디코딩 시스템 및 방법
US8462841B2 (en) System, method and device to encode and decode video data having multiple video data formats
JP4516068B2 (ja) 可変長符号復号装置
JP5167412B2 (ja) Tv放送システムにおける高速チャネル切り替え
TW201009566A (en) Coordinating power management functions in a multi-media device
US20020101257A1 (en) Semiconductor device
WO2012100032A1 (en) Dynamic video switching
JPWO2007032123A1 (ja) マルチストリーム復号装置
US20120201308A1 (en) Method for Low Memory Footprint Compressed Video Decoding
US6285789B1 (en) Variable length code decoder for MPEG
US20080215343A1 (en) Audio decoding apparatus and audio decoding system
JP2007259323A (ja) 画像復号化装置
US20050080784A1 (en) Data processing system
US20190007698A1 (en) Flexible frame referencing for display transport
US7590295B2 (en) Semiconductor device and an image processor
US20090316775A1 (en) Video encoding and decoding method and system thereof
US20090245350A1 (en) Image coding apparatus and image coding method
Mizosoe et al. A single chip H. 264/AVC HDTV encoder/decoder/transcoder system LSI
Kim et al. A cost-effective architecture for HDTV video decoder in ATSC receivers
Kimura et al. A full HD multistandard video codec for mobile applications
JP2010268094A (ja) 画像復号化装置および画像復号化方法
US20160227242A1 (en) Technique to constrain a video slice size with reduced performance penalty on pipelined encoder architectures
CN115706804A (zh) 解码装置及操作方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100122

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100513

R150 Certificate of patent or registration of utility model

Ref document number: 4516068

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3