JP4945513B2 - 可変長復号装置およびそれを用いた動画復号装置 - Google Patents

可変長復号装置およびそれを用いた動画復号装置 Download PDF

Info

Publication number
JP4945513B2
JP4945513B2 JP2008146630A JP2008146630A JP4945513B2 JP 4945513 B2 JP4945513 B2 JP 4945513B2 JP 2008146630 A JP2008146630 A JP 2008146630A JP 2008146630 A JP2008146630 A JP 2008146630A JP 4945513 B2 JP4945513 B2 JP 4945513B2
Authority
JP
Japan
Prior art keywords
decoding
codeword
decoded
look
variable length
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
Application number
JP2008146630A
Other languages
English (en)
Other versions
JP2009296200A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2008146630A priority Critical patent/JP4945513B2/ja
Priority to US12/473,950 priority patent/US20090304078A1/en
Publication of JP2009296200A publication Critical patent/JP2009296200A/ja
Application granted granted Critical
Publication of JP4945513B2 publication Critical patent/JP4945513B2/ja
Expired - Fee Related 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/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
    • H04N19/436Methods 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 using parallelised computational arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Description

本発明は可変長復号装置およびそれを用いた動画復号装置に関し、特に高速リアルタイム復号を実行するのに有益な技術に関する。
動画像符号化方式としては、現在MPEG(Moving Picture Expert Group)によるMPEG−2やMPEG−4による動画像符号化方式が世界的に普及している。ITU−T(国際電気通信連合電気通信標準化部門;International Telecommunication Union、 Telecommunication Standardization Sector)の勧告H.264として承認されるとともにISO/IEC(International Organization for Standardization/ International Electrotechnical Commission)によって国際基準14496−10(MPEG part 10) Advanced Video Coding(AVC)として承認されたH.264/AVCが最新の国際標準のビデオ符号化である。
下記非特許文献1には、勧告H.264/AVCに準拠したビデオ符号化技術が記載されている。勧告H.264/AVCによるビデオコーディングは、ビデオコンテキストを有効に表現するように設計されたビデオコーディング層(Video Coding Layer)と、ビデオのVCL表現をフォーマットするとともに種々の転送層や記憶媒体による転送のために適切な方法でのヘッダ情報を与えるネットワーク抽象層(Network Abstraction Layer)とから構成されている。勧告H.264/AVCでは、規格に準拠した全ての復号器(decoder)が規格に準拠した符号化ビットストリームが供給された際に類似の出力を生成するように、ビットストリームとシンタックス(符号化データの規則や構成方法)に制限を持ち、シンタックス要素の符号化プロセスを制限することによって、復号器(decoder)のみが規格化されている。尚、シンタックス要素は、DCT係数や動きベクトル等のシンタックスで伝送される情報である。
また、下記非特許文献2には、H.264/AVCによるビデオコーディング層(VCL)は、ブロックベースドハイブリッドビデオコーディングと呼ばれるアプローチに従っていると記載している。VCL設計は、マクロブロック、スライス、スライスブロックから構成されており、各ピクチャーは固定サイズの複数のマクロブロックに分割され、各マクロブロックは輝度成分で16×16サンプルの四角形ピクチャー領域とそれに対応する2つの色差成分のそれぞれに四角形サンプル領域とを含んでいる。画像間予測(Inter-Picture Prediction)では、動き補償予測(motion-compensated prediction;MCP)のために、マクロブロックは16×16、16×8、8×16、8×8サンプルの輝度ブロックサイズの小さな領域に分割されることができる。8×8のマクロブロック分割が選択された場合には、8×8分割部分が更に8×4、4×8、4×4の輝度サンプルと対応する色差成分とに分割されるかを指定する付加的なシンタックス要素が各8×8の分割部分のために伝送される。また勧告H.264/AVCでは、以前の規格の大きな8×8サンプルのブロックではなく、4×4サンプルの小さなブロックに離散コサイン変換(discrete cosine transform;DCT)が適用される。
更に下記非特許文献1には、勧告H.264/AVCでは2種類のエントロピー符号化(可変長符号化)が用意され、単純なエントロピー符号化は量子化変換係数以外の全てのシンタックスのための単一の無制限符号テーブルを使用するもので、非常に単純で規則的な復号特性を持つ指数ゴロム符号(Exponential Golomb code)で単一の符号テーブルが構成されると記載されている。また、量子化変換係数のために、コンテキスト適応型可変長符号化方式(Context-Adaptive Variable Length Coding;CAVLC)と呼ばれるより効率的な符号化方式が利用されることが記載されている。このCAVLCの方式では、種々のシンタックス要素のためのVLCテーブルは既に伝送済みのシンタックス要素に依存してスイッチされる。このCAVLCエントロピー符号化方法では、非ゼロ係数の個数、実際のサイズ、係数の位置が別々に符号化される。変換係数のジグザグスキャンの後の統計的な分布では、低周波部分では大きな値でスキャンの後半の高周波部分では小さな値に減少する。この統計的挙動に基づき、輝度4×4のブロックの量子化変換係数を伝達するために、非ゼロ係数の個数およびトレーリング・ワンズ、係数値、符号情報(Sign Information)、トータル・ゼロズ(Total zeros)、ラン・ビフォワーのデータ情報が使用される。非ゼロ係数の個数は16個のDCT係数の中での非ゼロ係数の総数であり、トレーリング・ワンズ(Trailing ones)はスキャンの最後で絶対値が“1”に等しい係数の個数である。係数値は、指数ゴロム符号で符号化される。符号情報(Sign Information)では、係数の符号を示すために1ビットが使用され、トレーリング・ワンズのために単一ビットで転送され、他の係数では符号ビットは指数ゴロム符号中に含まれている。トータル・ゼロズ(Total zeros)は、スキャンの最後の非ゼロ係数とスキャンの開始との間のゼロの総数である。ラン・ビフォワー(Run before)は、各非ゼロ係数の前のゼロの連続個数である。
また下記非特許文献3には、一般にH.264/AVCでのCAVLC方式の復号には多数のメモリアクセスを必要として、CAVLC方式の復号器(decoder)ではシンタックス要素の復号にルックアップテーブルが使用され、消費電力と計算の複雑性とが今日の実システムの設計で著しく困難なものとなっていることが記載されている。従って、下記非特許文献3には、ルックアップテーブルを使用することなくビットストリームが復号され、符号語(codeword)が整数算術演算によって直接復号される可変長復号(variable-length decoding;VLD)が記載されている。
Thomas Wiegand et al, "Overview of the H.264/AVC Video Coding Standard", IEEETRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, JULY 2003, PP.1−19. GARY J. SULLIVAN et al、"Video Compression−From Concept to the H.264/AVC Standard", PROCEEDING OF THE IEEE、 VOL.93, No.1, JANUARY 2005, PP.18−31. Yong Ho Moon et al, "An Efficient Decoding of CAVLC in H.264/AVC Video Coding Standard", IEEE Transactions on Consumer Electronics, Vol.51, No.3, August 2005, PP.933−938.
近年、画像、音声等のマルチメディアデータを処理する機器では、マルチメディアデータを効率的に処理するために、符号化・復号化であるコーディック(Codec)の規格として標準化されたディジタルデータの圧縮符号化技術が利用されている。例えば、Blu−ray DiscやHD DVDなどの次世代の光ディスクではコーディックとしてMPEG−2、H.264/AVC、VC−1が採用され、テレビの地上ディジタル放送ではMPEG−2が採用され、ワンセグメント放送ではH.264/AVCが採用されている。
こうしたコーディック規格では、いずれの規格においても内部で可変長符号化処理(Variable Length Coding;VLC)と呼ばれる処理が行われる。可変長符号化処理では、出現頻度の高いデータにビット長の短い符号語を割り当てる一方、出現頻度の低いデータにビット長の長い符号語を割り当てることで平均符号語長を削減して、総データ量の削減を行うものである。可変長符号化処理では符号語毎にビット長が異なるため、逐次処理(シーケンシャル)の復号となることから、符号化処理の性能向上のための技術が必要とされるものである。
各コーディック規格では、ビットストリームのデータの構成と、各データがどのような可変長符号によって符号化されるかが、シンタックス(符号化データの規則や構成方法)として規定されている。復号処理時、可変長復号装置(デコーダ)はコーディック規格で定められたシンタックスに従って可変長符号の復号処理を行う。可変長符号化された各データは、シンタックス要素と呼ばれる。
各シンタックス要素は可変長符号で符号化されているため、符号語毎にビット長が異なる。また、上記非特許文献1に記載されたように、H.264/AVCのCAVLC方式の復号ではシンタックス要素の復号が完了しなければ、次のシンタックス要素の先頭ビット位置が確定しない。またシンタックスによっては、シンタックス要素の復号結果に応じて、後続のシンタックス要素の種類や、シンタックス要素の復号方法が変化することから、復号処理は逐次的(シーケンシャル)である。すなわち、コーディック規格のシンタックス処理および可変長符号処理では、あるシンタックス要素の復号を完了しなければ、次のシンタックス要素の復号処理を開始できない。このように復号処理が逐次処理(シーケンシャル)であること、およびシンタックスがシンタックス要素の復号処理結果に依存する構造であることから、あるシンタックス要素の符号語の復号完了後に、その復号値を即座に用いたシンタックス解析が必要である場合に、処理性能が低下するものとなる。
また近年では、MPEG−2、MPEG−4、H.264/AVC等の様々なコーディックの規格が多様な分野において採用されており、単一のハードウェアで複数のコーディックを処理するというマルチコーディックへの対応が要望されている。マルチコーディックに対応するためには、複数のコーディックを処理するハードウェアをそれぞれ設計してそれらを統合してひとつのハードウェアを構成するアプローチと、ソフトウェア処理を導入するアプローチとが考えられる。前者では、充分な性能を出しやすいが、複数のコーディックに対応する分のハードウェアが必要なため論理規模が増大しやすい。後者では、ソフトウェア処理により柔軟に対応できるが、前者のアプローチに比べ充分な処理性能を達成することが困難である。
H.264/AVCに準拠する可変長復号装置(decoder)では、輝度4×4のブロックの量子化変換係数に関係して、各非ゼロ係数の前のゼロの連続個数であるラン・ビフォワー(Run before)の復号の際には、最初にトータル・ゼロズ(Total zeros)を復号した後に、このトータル・ゼロズをベースにして自身のラン・ビフォワーを復号する際に復号されていないゼロズ・レフト(zerosLeft)を使用するものである。ゼロズ・レフトの初期値はトータル・ゼロズであり、ビットストリームの符号語(codeword)の復号によるラン・ビフォワーの復号結果をベースにしてゼロズ・レフトを更新して次のラン・ビフォワーの復号の準備を行う。
図1は、H.264/AVCに準拠する可変長符号化装置での輝度4×4のブロックの量子化変換係数の符号化ビットストリームの形成プロセスと、H.264/AVCに準拠する可変長復号装置における符号化ビットストリームの復号処理の様子を示す図である。尚、この図1は、上記非特許文献3に記載されたCAVLC復号プロセスの図に対応するものである。また図1においては、輝度4×4のブロックの量子化変換係数に関係してラン・ビフォワーの復号と次のラン・ビフォワーの復号のためのゼロズ・レフトの更新との様子も示されている。
図1に示すように、輝度4×4のブロックの量子化変換係数1000では、0、3、0、1、−1、−1、0、1、0…の順番でジグザグスキャンが実行されて、非ゼロ係数の個数(TotalCoeffs)が5個、トータル・ゼロズ(Total zeros)が3個、トレーリング・ワンズ(Trailing ones)は3個となる。
ここで、本当のトレーリング・ワンズは4個であるが、最後の4個目のワンは+1のレベルによって示されている。この情報は、Coeff_tokenのシンタックス要素で符号化され、H.264/AVCの規格に従ってその符号語(codeword)は“0000100”となって、H.264/AVCに準拠する可変長復号装置はこの符号語を復号して“x,x,|1|,|1|,|1|”を生成する。
ジグザグスキャンの8番目の“1”のトレーリング・ワンの符号は+であるので、この情報はSign of T1のシンタックス要素で符号化され、H.264/AVCの規格に従ってその符号語(codeword)は“0”となって、H.264/AVCに準拠する可変長復号装置はこの符号語を復号して“|1|,|1|,1”を生成する。
ジグザグスキャンの6番目の“−1”のトレーリング・ワンの符号は−であるので、この情報はSign of T1のシンタックス要素で符号化され、H.264/AVCの規格に従ってその符号語(codeword)は“1”となって、H.264/AVCに準拠する可変長復号装置はこの符号語を復号して“|1|,−1,1”を生成する。
ジグザグスキャンの5番目の“−1”のトレーリング・ワンの符号も−であるので、この情報もSign of T1のシンタックス要素で符号化されて、H.264/AVCの規格に従ってその符号語(codeword)も“1”となって、H.264/AVCに準拠する可変長復号装置はこの符号語を復号して“−1,−1,1”を生成する。
ジグザグスキャンの4番目の“1”の最後のトレーリング・ワンはLevelのシンタックス要素(係数値)で符号化され、H.264/AVCの規格に従ってその符号語(codeword)は“1”となって、H.264/AVCに準拠する可変長復号装置はこの符号語を復号して“1,−1,−1,1”を生成する。
ジグザグスキャンの2番目の“+3”の非ゼロ係数はLevelのシンタックス要素(係数値)で符号化され、H.264/AVCの規格に従ってその符号語(codeword)は“0010”となって、H.264/AVCに準拠する可変長復号装置はこの符号語を復号して“3,1,−1,−1,1”を生成する。
3個のトータル・ゼロズ(Total zeros)はtotal_zerosのシンタックス要素で符号化され、H.264/AVCの規格に従ってその符号語(codeword)も“111”となる。H.264/AVCに準拠する可変長復号装置はこの符号語を復号して“0,0,0”を生成して、直前の復号結果“3,1,−1,−1,1”と合成して新しい復号結果“0,0,0|,3,1,−1,−1,1”を生成する。
トータル・ゼロズ(Total zeros)の3個のゼロの中で、ジグザグスキャンの8番目で非ゼロ係数の“1”の最後のトレーリング・ワンの直前のジグザグスキャンの7番目のゼロ(連続個数:1個)のラン・ビフォワー(Run before)はrun_beforeのシンタックス要素で符号化され、H.264/AVCの規格に従ってその符号語(codeword)も“10”となる。H.264/AVCに準拠する可変長復号装置はこの符号語からトータル・ゼロズ(Total zeros)の3個目のゼロの1個がジグザグスキャンの8番目の非ゼロ係数の前に存在することを理解するので、復号結果“0,0|,3,1,−1,−1,0,1”を生成する。
トータル・ゼロズ(Total zeros)の2個目のゼロがジグザグスキャンの6番目で非ゼロ係数の“−1”のトレーリング・ワンの直前に存在していないこと(連続個数:0個)を示すラン・ビフォワー(Run before)もrun_beforeのシンタックス要素で符号化され、H.264/AVCの規格に従ってその符号語(codeword)は“1”となる。H.264/AVCに準拠する可変長復号装置はこの符号語からトータル・ゼロズ(Total zeros)の2個目のゼロの1個がジグザグスキャンの6番目の非ゼロ係数“−1”の前に存在しないことを理解するので、復号結果“0,0|,3,1,−1,−1,0,1”を生成する。
トータル・ゼロズ(Total zeros)の2個目のゼロがジグザグスキャンの5番目で非ゼロ係数の“−1”のトレーリング・ワンの直前に存在していないこと(連続個数:0個)を示すラン・ビフォワー(Run before)もrun_beforeのシンタックス要素で符号化され、H.264/AVCの規格に従ってその符号語(codeword)は“1”となる。H.264/AVCに準拠する可変長復号装置はこの符号語からトータル・ゼロズ(Total zeros)の2個目のゼロの1個がジグザグスキャンの5番目の非ゼロ係数“−1”の前に存在しないことを理解するので、復号結果“0,0|,3,1,−1,−1,0,1”を生成する。
トータル・ゼロズ(Total zeros)の2個目のゼロがジグザグスキャンの4番目で非ゼロ係数の“1”のトレーリング・ワンの直前に存在していること(連続個数:1個)を示すラン・ビフォワー(Run before)はrun_beforeのシンタックス要素で符号化され、H.264/AVCの規格に従ってその符号語(codeword)は“01”となる。H.264/AVCに準拠する可変長復号装置はこの符号語からトータル・ゼロズ(Total zeros)の2個目のゼロの1個だけがジグザグスキャンの4番目の非ゼロ係数“1”の前に単独で存在することを理解する。これと同時に、H.264/AVCに準拠する可変長復号装置は、トータル・ゼロズ(Total zeros)の1個目のゼロがジグザグスキャンの2番目で非ゼロ係数の“3”の直前に存在していることを理解するので、最終的な復号結果“0|,3,0,1,−1,−1,0,1”を生成する。このようにして、図1に示すように量子化変換係数1000の“0,3,0,1,−1,−1,0,1,0,0,0,0,0,0,0,0”の16個のDCT係数が符号化された後に、正確に復号されることができる。
図1の復号処理で、トレーリング・ワンの符号と非ゼロ係数のレベル(Level)とは、良好に構成された符号語(codeword)であるので、何らかの算術演算によって伸張(decompress)されることができる。しかし、その他のシンタックス要素の復号は、メモリによってインプリメントされるルックアップテーブルを利用することが必要となる。
図2は、図1に示した量子化変換係数に関係するラン・ビフォワーの復号と次のラン・ビフォワーの復号のためのゼロズ・レフトの更新とを実行するために本発明に先立って本発明者等によって検討されたルックアップ・テーブルを利用する可変長復号装置の一部の構成を示す図である。
図2に示す可変長復号装置の一部の構成は、メモリ1001と、アクセス制御ユニット1002とによって構成されている。メモリ1001は、物理的にはLSI内蔵のランダムアクセスメモリ(RAM)によって構成されることができるが、論理的にはラン・ビフォワーの復号のために少なくとも14個のルックアップテーブルLUT1、LUT2、LUT3…LUT12、LUT13、LUT14によって構成されている。
H.264/AVCに準拠する可変長符号化方式では、16個のDCT係数では最大14個のトータル・ゼロズ(Total zeros)が存在する。14個目のルックアップテーブルLUT14は、最大14個のトータル・ゼロズ(Total zeros)の14個のゼロの中で、ジグザグスキャンの最後の非ゼロ係数の直前のゼロ(連続個数は、1個から14個のいずれか)のラン・ビフォワー(Run before)を符号化した符号語(codeword)を復号するために使用される。各非ゼロ係数の前のゼロの連続個数であるラン・ビフォワー(Run before)の復号の際には、最初にトータル・ゼロズ(Total zeros)を復号した後に、このトータル・ゼロズをベースにして自身のラン・ビフォワーを復号する際に、復号されていないゼロズ・レフト(zerosLeft)が使用される。ゼロズ・レフトの初期値はトータル・ゼロズであり、ビットストリームの符号語(codeword)の復号によるラン・ビフォワーの復号結果をベースにしてゼロズ・レフトを更新して次のラン・ビフォワーの復号の準備を行う。
従って、図2では、ゼロズ・レフトの初期値であるトータル・ゼロズが、アクセス制御ユニット1002に供給される。このトータル・ゼロズが最大値14個のゼロを示す場合には、アクセス制御ユニット1002は最大値14のトータル・ゼロズに応答して14個目のルックアップテーブルLUT14を指示するためのポインタ・アドレスLA14の初期値をルックアップテーブルLUT14に供給する。非ゼロ係数の直前の連続個数が0個から14個までのいずれかのゼロであるラン・ビフォワーを符号化した符号語(codeword)1003に応答して、ルックアップテーブルLUT14は復号結果としての復号値(Value)1004を形成する。
最初の復号結果としての復号値1004は非ゼロ係数の直前のゼロの連続個数が0個から14個までのいずれかを示しているので、この復号値1004をベースにしてゼロズ・レフト(zerosLeft)を更新して次のラン・ビフォワーの復号の準備を行う必要がある。従って、ゼロズ・レフト(Total zeros)を更新するためにアクセス制御ユニット1002の算術論理ユニット(ALU)は、ゼロズ・レフトの初期値であるトータル・ゼロズに対応するポインタ・アドレスLA14の値から復号値1004を減算するものである。アクセス制御ユニット1002の算術論理ユニット(ALU)の演算結果は更新後のゼロズ・レフトを示すもので、更新後のゼロズ・レフトであるポインタ・アドレスLA1〜LA14のいずれかで指示されるルックアップテーブルLUT1〜LUT14のいずれかが次のラン・ビフォワーを符号化した符号語(codeword)1003を復号するために使用される。このように、ラン・ビフォワーの復号と次のラン・ビフォワーの復号のためのゼロズ・レフトの更新と次のラン・ビフォワーを符号化した符号語の復号とを実行することができる。
しかし、図2に示す構成では、アクセス制御ユニット1002の算術論理ユニット(ALU)の無視できない演算時間が必要であるので、動画像可変長符号の高性能リアル・タイム復号を実行することが困難であるとの問題が、本発明者等によって明らかとされた。
また、図2に示す構成は、H.264/AVCに準拠する可変長復号は容易であるが、MPEG−2やMPEG−4の他の方式の動画像符号化方式のコンテンツの可変長復号は容易ではないことが明らかとされた。
本発明は、以上のような本発明に先立った本発明者等の検討の結果、なされたものである。
従って、本発明の目的とするところは、可変長符号の高性能リアル・タイム復号を実行することを容易とすることにある。また、本発明の他の目的とするところは、種々の符号化方式のコンテンツの可変長復号を容易とすることにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうちの代表的なものについて簡単に説明すれば下記のとおりである。
すなわち、本発明の代表的な可変長復号装置は、複数のルックアップテーブル(LUT1〜LUT14)を含む記憶装置(1001)を有して(図3参照)、当該記憶装置を利用して可変長符号の複数の符号語(1003)をシーケンシャルに復号する。
複数のルックアップテーブルには、複数の符号語(1003)に対応する複数の復号値(1004)と複数の制御情報(1005)とが格納される(図4参照)。1つの符号語(“10”;1003)の復号では、複数のルックアップテーブルから1つのルックアップテーブル(LUT3)が選択される。
この復号では、1つの符号語に応答して、選択された1つのルックアップテーブルから1つの符号語に対応する1つの復号値(“1”:1004)とその復号値に依存する次の復号に使用される次のルックアップテーブル(LUT2)を選択する制御情報(“LA2”:1005)とが並列に生成される。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、可変長符号の高性能リアル・タイム復号を実行することを容易とすることができる。
《代表的な実施の形態》
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態による可変長復号装置は、複数のルックアップテーブル(LUT1〜LUT14)を含む記憶装置(1001)を有して(図3参照)、可変長符号によって符号化された複数の符号語(1003)を前記記憶装置の利用によってシーケンシャルに復号することが可能である。
前記複数のルックアップテーブルには、前記複数の符号語(1003)に対応する複数の復号値(1004)と複数の制御情報(1005)とが格納可能である(図4参照)。
前記複数の符号語に含まれる1つの符号語(“10”;1003)の復号に際して、前記複数のルックアップテーブルから1つのルックアップテーブル(LUT3)が選択される。
前記1つの符号語の前記復号では、前記1つの符号語に応答して、前記1つのルックアップテーブルから前記1つの符号語に対応する1つの復号値(“1”:1004)と当該1つの復号値に依存する次の復号に使用される次のルックアップテーブル(LUT2)を前記複数のルックアップテーブルから選択する制御情報(“LA2”:1005)とが並列に生成されるものである。
前記実施の形態によれば、符号語(1003)の復号に際して、符号語に対応する復号値(1004)とそれに依存する次使用のルックアップテーブルを指定する制御情報(1005)とが並列に生成されるので、可変長符号の高性能リアル・タイム復号の実行を容易とすることができる。
また、複数のルックアップテーブルに格納される複数の復号値(1004)と複数の制御情報(1005)の記憶内容を変更することにより、種々の符号化方式のコンテンツの可変長復号を容易とすることができる。
好適な実施の形態では、前記1つの符号語の直後に供給される他の1つの符号語(“1”;1003)の復号に際して、当該他の1つの符号語に応答して、前記次のルックアップテーブルから前記他の符号語に対応する他の復号値(“0”:1004)と当該他の1つの復号値に依存するさらに次の復号に使用される他のルックアップテーブル(LUT2)を前記複数のルックアップテーブルから選択する他の制御情報(“LA2”:1005)とが並列に生成されるものである。
他の好適な実施の形態では、前記複数の符号語のそれぞれは所定のシンタックスに従って符号化された可変長のシンタックス要素であり、先行のシンタックス要素の復号と後続のシンタックス要素の復号とはシーケンシャルに実行される。前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブル(LUT2)は、前記先行のシンタックス要素の前記復号で使用される前記1つのルックアップテーブル(LUT3)から生成される前記1つの復号値(“1”:1004)と並列に生成される前記制御情報(“LA2”:1005)によって指定される。
より好適な実施の形態では、前記複数のルックアップテーブル(LUT1〜LUT14)を含む前記記憶装置(1001)は半導体集積回路に搭載された内蔵メモリである(図3参照)。
更により好適な実施の形態では、前記内蔵メモリはランダムアクセスメモリ(1001)であり、当該ランダムアクセスメモリに格納される前記復号値と前記制御情報とが、前記半導体集積回路の初期化シーケンスに不揮発性メモリから転送可能とされている。
具体的な一つの実施の形態では、前記不揮発性メモリは前記半導体集積回路が搭載されるシステムに搭載される半導体不揮発性メモリもしくは前記半導体集積回路が搭載された内蔵半導体不揮発性メモリである。
他の具体的な一つの実施の形態では、前記シンタックス要素である前記複数の符号語は動画可変長符号化方式によって生成される量子化変換係数である。
最も具体的な一つの実施の形態では、前記動画可変長符号化方式は、H.264/AVCのコンテキスト適応型可変長符号化方式(CAVLC)であり、前記複数の符号語はラン・ビフォワーのシンタックス要素で符号化されている。
前記ラン・ビフォワーの前記複数の符号語に含まれる前記1つの符号語(“10”;1003)の最初の前記復号に際して、前記複数のルックアップテーブルから最初に選択される前記1つのルックアップテーブル(LUT3)がトータル・ゼロズ(Total zeros)に従って選択される。
前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブル(LUT2)は、前記先行のシンタックス要素の前記復号で使用される前記1つのルックアップテーブル(LUT3)から生成される前記制御情報(“LA2”:1005)を指示するゼロズ・レフト(zero_left)によって指定される。
〔2〕本発明の別の観点の代表的な実施の形態による動画復号装置は、ビットストリーム処理ユニット(10)、逆量子化ユニット(11)、逆変換ユニット(12)、イントラ予測ユニット(13)、インター予測ユニット(14)を具備するものである。
前記ビットストリーム処理ユニットは所定の方式によって符号化された動画符号化データのビットストリームから復号データを生成して、前記逆量子化ユニットは前記逆変換ユニットとは前記復号データの逆量子化処理と逆変換処理とをそれぞれ実行して、前記イントラ予測ユニットと前記インター予測ユニットとはイントラ・フレーム予測とインター・フレーム予測とをそれぞれ実行するものである(図9参照)。
前記ビットストリーム処理ユニット(10)は可変長符号・復号テーブル(112)を含み、当該可変長符号・復号テーブルは、複数のルックアップテーブル(LUT1〜LUT14)を含む記憶装置(1001)を有して(図3参照)、前記動画符号化データの前記ビットストリーム中に含まれる複数の符号語(1003)を前記記憶装置の利用によってシーケンシャルに復号することが可能である。
前記複数のルックアップテーブルには、前記複数の符号語(1003)に対応する複数の復号値(1004)と複数の制御情報(1005)とが格納可能である(図4参照)。
前記複数の符号語に含まれる1つの符号語(“10”;1003)の復号に際して、前記複数のルックアップテーブルから1つのルックアップテーブル(LUT3)が選択される。
前記1つの符号語の前記復号では、前記1つの符号語に応答して、前記1つのルックアップテーブルから前記1つの符号語に対応する1つの復号値(“1”:1004)と当該1つの復号値に依存する次の復号に使用される次のルックアップテーブル(LUT2)を前記複数のルックアップテーブルから選択する制御情報(“LA2”:1005)とが並列に生成されるものである。
前記実施の形態によれば、符号語(1003)の復号に際して、符号語に対応する復号値(1004)とそれに依存する次使用のルックアップテーブルを指定する制御情報(1005)とが並列に生成されるので、可変長符号の高性能リアル・タイム復号の実行を容易とすることができる。
更に、前記複数のルックアップテーブルに格納される前記復号値と前記制御情報の内容を適宜に選択することによって、H.264/AVC、MPEG−2、MPEG−4などの種々の符号化方式のコンテンツの可変長復号を容易とすることができる。
好適な実施の形態では、前記1つの符号語の直後に供給される他の1つの符号語(“1”;1003)の復号に際して、当該他の1つの符号語に応答して、前記次のルックアップテーブルから前記他の符号語に対応する他の復号値(“0”:1004)と当該他の1つの復号値に依存するさらに次の復号に使用される他のルックアップテーブル(LUT2)を前記複数のルックアップテーブルから選択する他の制御情報(“LA2”:1005)とが並列に生成されるものである。
他の好適な実施の形態では、前記複数の符号語のそれぞれは動画符号化の所定のシンタックスに従って符号化された可変長のシンタックス要素であり、先行のシンタックス要素の復号と後続のシンタックス要素の復号とはシーケンシャルに実行される。前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブル(LUT2)は、前記先行のシンタックス要素の前記復号で使用される前記1つのルックアップテーブル(LUT3)から生成される前記1つの復号値(“1”:1004)と並列に生成される前記制御情報(“LA2”:1005)によって指定される。
より好適な実施の形態では、前記複数のルックアップテーブル(LUT1〜LUT14)を含む前記記憶装置(1001)は半導体集積回路に搭載された内蔵メモリである(図3参照)。
更により好適な実施の形態では、前記内蔵メモリはランダムアクセスメモリ(1001)であり、当該ランダムアクセスメモリに格納される前記復号値と前記制御情報とが、前記半導体集積回路の初期化シーケンスに不揮発性メモリから転送可能とされている。
具体的な一つの実施の形態では、前記不揮発性メモリは前記半導体集積回路が搭載されるシステムに搭載される半導体不揮発性メモリもしくは前記半導体集積回路が搭載された内蔵半導体不揮発性メモリである。
他の具体的な一つの実施の形態では、前記シンタックス要素である前記複数の符号語は動画可変長符号化方式によって生成される量子化変換係数である。
最も具体的な一つの実施の形態では、前記動画可変長符号化方式は、H.264/AVCのコンテキスト適応型可変長符号化方式(CAVLC)であり、前記複数の符号語はラン・ビフォワーのシンタックス要素で符号化されている。
前記ラン・ビフォワーの前記複数の符号語に含まれる前記1つの符号語(“10”;1003)の最初の前記復号に際して、前記複数のルックアップテーブルから最初に選択される前記1つのルックアップテーブル(LUT3)がトータル・ゼロズ(Total zeros)に従って選択される。
前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブル(LUT2)は、前記先行のシンタックス要素の前記復号で使用される前記1つのルックアップテーブル(LUT3)から生成される前記制御情報(“LA2”:1005)を指示するゼロズ・レフト(zero_left)によって指定される。
《実施の形態の説明》
次に、実施の形態について更に詳述する。尚、発明を実施するための最良の形態を説明するための全図において、前記の図と同一の機能を有する部品には同一の符号を付して、その繰り返しの説明は省略する。
《可変長復号装置》
図3は、図1に示した量子化変換係数に関係するラン・ビフォワーの復号と次のラン・ビフォワーの復号のためのゼロズ・レフトの更新とを実行するための本発明の実施の形態による可変長復号装置の一部の構成を示す図である。
図3に示す可変長復号装置の一部の構成は、LSIのチップに集積化されたメモリ1001とアクセス制御ユニット1002とによって構成されている。メモリ1001は、物理的にはLSI内蔵のランダムアクセスメモリ(RAM)によって構成されることができるが、論理的にはラン・ビフォワーの復号のために少なくとも14個のルックアップテーブルLUT1、LUT2、LUT3…LUT12、LUT13、LUT14によって構成されている。
従って、図3でも図2と同様に、ゼロズ・レフト(zeros_left)の初期値であるトータル・ゼロズ(Total_zeros)がアクセス制御ユニット1002に供給される。このトータル・ゼロズが最大値14個のゼロを示す場合は、アクセス制御ユニット1002は最大値14のトータル・ゼロズに応答して14個目のルックアップテーブルLUT14を指示するためのポインタ・アドレスLA14の初期値をルックアップテーブルLUT14に供給する。非ゼロ係数の直前の連続個数が0個から14個までのいずれかのゼロであるラン・ビフォワーを符号化した符号語(codeword)1003に応答して、ルックアップテーブルLUT14は復号結果としての復号値(Value)1004を形成する。
復号値(Value)1004の形成と同時に、メモリ1001のルックアップテーブルLUT14から次のラン・ビフォワーの復号の準備として、次ポインタ・アドレス(LA)1005が形成される。この次ポインタ・アドレス(LA)1005の値は、ポインタ・アドレス(LA)の初期値から復号値(Value)1004を減算した値である。復号値1004は非ゼロ係数の直前のゼロの連続個数が0個から14個までのいずれかであるので、次ポインタ・アドレス(LA)1005はポインタ・アドレスLA14〜LA1までのいずれかとなる。
LSI内蔵RAMによって構成されるメモリ1001の14個のルックアップテーブルLUT1…LUT14がラン・ビフォワーを符号化した符号語1003に応答して、復号値1004と次ポインタ・アドレス(LA)1005とを並列に出力するように、メモリ1001内部のデータの物理的配置が決定される。
《14個のルックアップテーブルを含むメモリの構成》
図4は、図3に示す可変長復号装置の一部の構成において、符号語1003に応答して復号値1004と次ポインタ・アドレス(LA)1005とを並列に出力するための14個のルックアップテーブルLUT1…LUT14を含むメモリ1001の構成を示す図である。
図5は、図3に示す可変長復号装置の一部の構成によって復号されるラン・ビフォワーの復号値1004と、復号前のゼロズ・レフト(zeros_left)の初期値と、ラン・ビフォワーを符号化した符号語(codeword)1003との関係を示す図である。尚、図5に示すように、復号前のゼロズ・レフトの初期値によって、ラン・ビフォワーの復号に使用されるルックアップテーブルが14個のルックアップテーブルLUT1…LUT14の中から決定される。
図5のラン・ビフォワーの復号値1004を生成するために、図4に示すように、メモリ1001は14個のポインタ・アドレスLA1〜LA14によって指定される14個のメモリ領域を含んでいる。
1番目のポインタ・アドレスLA1によって指定される1番目のメモリ領域は、符号語1003のワード“1”で指定される第1エントリーと、符号語1003のワード“0”で指定される第2エントリーとを含んでいる。符号語1003のワード“1”によって指定される第1エントリーには、復号データ“0”の復号値1004と1番目のルックアップテーブルLUT1を指示するアドレスデータ“LA1”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“0”によって指定される第2エントリーには、復号データ“1”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
2番目のポインタ・アドレスLA2によって指定される2番目のメモリ領域は、符号語1003のワード“1”で指定される第1エントリーと、符号語1003のワード“01”で指定される第2エントリーと、符号語1003のワード“00”で指定される第3エントリーとを含んでいる。符号語1003のワード“1”によって指定される第1エントリーには、復号データ“0”の復号値1004と2番目のルックアップテーブルLUT2を指示するアドレスデータ“LA2”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“01”によって指定される第2エントリーには、復号データ“1”の復号値1004と1番目のルックアップテーブルLUT1を指示するアドレスデータ“LA1”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“00”によって指定される第3エントリーには、復号データ“2”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
3番目のポインタ・アドレスLA3によって指定される3番目のメモリ領域は、符号語1003のワード“11”で指定される第1エントリーと、符号語1003のワード“10”で指定される第2エントリーと、符号語1003のワード“01”で指定される第3エントリーと、符号語1003のワード“00”で指定される第4エントリーとを含んでいる。符号語1003のワード“11”で指定される第1エントリーには、復号データ“0”の復号値1004と3番目のルックアップテーブルLUT3を指示するアドレスデータ“LA3”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“10”で指定される第2エントリーには、復号データ“1”の復号値1004と2番目のルックアップテーブルLUT2を指示するアドレスデータ“LA2”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“01”によって指定される第3エントリーには、復号データ“2”の復号値1004と1番目のルックアップテーブルLUT1を指示するアドレスデータ“LA1”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“00”によって指定される第4エントリーには、復号データ“3”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
4番目のポインタ・アドレスLA4によって指定される4番目のメモリ領域から14番目のポインタ・アドレスLA14によって指定される14番目のメモリ領域も、上記の構成方式に従って構成されている。
図6(A)〜(D)は、図4のメモリ1001でそれぞれ14番目から11番目のポインタ・アドレスによって指定される14番目から11番目のメモリ領域の構成を示す図である。
図6(A)に示すように、14番目のポインタ・アドレスLA14によって指定される14番目のメモリ領域は、符号語1003のワード“111”で指定される第1エントリーから符号語1003のワード“00000000001”で指定される第15エントリーまでを含んでいる。符号語1003のワード“111”で指定される第1エントリーには、復号データ“0”の復号値1004と14番目のルックアップテーブルLUT14を指示するアドレスデータ“LA14”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“110”で指定される第2エントリーには、復号データ“1”の復号値1004と13番目のルックアップテーブルLUT13を指示するアドレスデータ“LA13”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“00000000001”で指定される第15エントリーには、復号データ“14”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図6(B)に示すように、13番目のポインタ・アドレスLA13によって指定される13番目のメモリ領域は、符号語1003のワード“111”で指定される第1エントリーから符号語1003のワード“0000000001”で指定される第14エントリーまでを含んでいる。符号語1003のワード“111”で指定される第1エントリーには、復号データ“0”の復号値1004と13番目のルックアップテーブルLUT13を指示するアドレスデータ“LA13”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“110”で指定される第2エントリーには、復号データ“1”の復号値1004と12番目のルックアップテーブルLUT12を指示するアドレスデータ“LA12”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“0000000001”で指定される第14エントリーには、復号データ“13”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図6(C)に示すように、12番目のポインタ・アドレスLA12によって指定される12番目のメモリ領域は、符号語1003のワード“111”で指定される第1エントリーから符号語1003のワード“000000001”で指定される第13エントリーまでを含んでいる。符号語1003のワード“111”で指定される第1エントリーには、復号データ“0”の復号値1004と12番目のルックアップテーブルLUT12を指示するアドレスデータ“LA12”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“110”で指定される第2エントリーには、復号データ“1”の復号値1004と11番目のルックアップテーブルLUT11を指示するアドレスデータ“LA11”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“000000001”で指定される第13エントリーには、復号データ“12”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図6(D)に示すように、11番目のポインタ・アドレスLA11によって指定される11番目のメモリ領域は、符号語1003のワード“111”で指定される第1エントリーから符号語1003のワード“00000001”で指定される第12エントリーまでを含んでいる。符号語1003のワード“111”で指定される第1エントリーには、復号データ“0”の復号値1004と11番目のルックアップテーブルLUT11を指示するアドレスデータ“LA11”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“110”で指定される第2エントリーには、復号データ“1”の復号値1004と10番目のルックアップテーブルLUT10を指示するアドレスデータ“LA10”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“00000001”で指定される第12エントリーには、復号データ“11”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図7(A)〜(D)は、図4のメモリ1001でそれぞれ10番目から7番目のポインタ・アドレスによって指定される10番目から7番目のメモリ領域の構成を示す図である。
図7(A)に示すように、10番目のポインタ・アドレスLA10によって指定される10番目のメモリ領域は、符号語1003のワード“111”で指定される第1エントリーから符号語1003のワード“0000001”で指定される第11エントリーまでを含んでいる。符号語1003のワード“111”で指定される第1エントリーには、復号データ“0”の復号値1004と10番目のルックアップテーブルLUT10を指示するアドレスデータ“LA10”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“110”で指定される第2エントリーには、復号データ“1”の復号値1004と9番目のルックアップテーブルLUT9を指示するアドレスデータ“LA9”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“0000001”で指定される第11エントリーには、復号データ“10”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図7(B)に示すように、9番目のポインタ・アドレスLA9によって指定される9番目のメモリ領域は、符号語1003のワード“111”で指定される第1エントリーから符号語1003のワード“000001”で指定される第10エントリーまでを含んでいる。符号語1003のワード“111”で指定される第1エントリーには、復号データ“0”の復号値1004と9番目のルックアップテーブルLUT9を指示するアドレスデータ“LA9”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“110”で指定される第2エントリーには、復号データ“1”の復号値1004と8番目のルックアップテーブルLUT8を指示するアドレスデータ“LA8”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“000001”で指定される第10エントリーには、復号データ“9”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図7(C)に示すように、8番目のポインタ・アドレスLA8によって指定される8番目のメモリ領域は、符号語1003のワード“111”で指定される第1エントリーから符号語1003のワード“00001”で指定される第9エントリーまでを含んでいる。符号語1003のワード“111”で指定される第1エントリーには、復号データ“0”の復号値1004と8番目のルックアップテーブルLUT8を指示するアドレスデータ“LA8”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“110”で指定される第2エントリーには、復号データ“1”の復号値1004と7番目のルックアップテーブルLUT11を指示するアドレスデータ“LA7”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“00001”で指定される第9エントリーには、復号データ“8”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図7(D)に示すように、7番目のポインタ・アドレスLA7によって指定される7番目のメモリ領域は、符号語1003のワード“111”で指定される第1エントリーから符号語1003のワード“0001”で指定される第8エントリーまでを含んでいる。符号語1003のワード“111”で指定される第1エントリーには、復号データ“0”の復号値1004と7番目のルックアップテーブルLUT7を指示するアドレスデータ“LA7”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“110”で指定される第2エントリーには、復号データ“1”の復号値1004と6番目のルックアップテーブルLUT6を指示するアドレスデータ“LA6”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“0001”で指定される第8エントリーには、復号データ“7”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図8(A)〜(F)は、図4のメモリ1001でそれぞれ6番目から1番目のポインタ・アドレスによって指定される6番目から1番目のメモリ領域の構成を示す図である。
図8(A)に示すように、6番目のポインタ・アドレスLA6によって指定される6番目のメモリ領域は、符号語1003のワード“11”で指定される第1エントリーから符号語1003のワード“100”で指定される第7エントリーまでを含んでいる。符号語1003のワード“11”で指定される第1エントリーには、復号データ“0”の復号値1004と6番目のルックアップテーブルLUT6を指示するアドレスデータ“LA6”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“000”で指定される第2エントリーには、復号データ“1”の復号値1004と5番目のルックアップテーブルLUT5を指示するアドレスデータ“LA5”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“100”で指定される第7エントリーには、復号データ“6”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図8(B)に示すように、5番目のポインタ・アドレスLA5によって指定される5番目のメモリ領域は、符号語1003のワード“11”で指定される第1エントリーから符号語1003のワード“000”で指定される第6エントリーまでを含んでいる。符号語1003のワード“11”で指定される第1エントリーには、復号データ“0”の復号値1004と5番目のルックアップテーブルLUT5を指示するアドレスデータ“LA5”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“10”で指定される第2エントリーには、復号データ“1”の復号値1004と4番目のルックアップテーブルLUT4を指示するアドレスデータ“LA4”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“000”で指定される第6エントリーには、復号データ“5”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図8(C)に示すように、4番目のポインタ・アドレスLA4によって指定される4番目のメモリ領域は、符号語1003のワード“11”で指定される第1エントリーから符号語1003のワード“000”で指定される第5エントリーまでを含んでいる。符号語1003のワード“11”で指定される第1エントリーには、復号データ“0”の復号値1004と4番目のルックアップテーブルLUT4を指示するアドレスデータ“LA4”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“10”で指定される第2エントリーには、復号データ“1”の復号値1004と3番目のルックアップテーブルLUT3を指示するアドレスデータ“LA3”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“000”で指定される第5エントリーには、復号データ“4”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図8(D)に示すように、3番目のポインタ・アドレスLA3によって指定される3番目のメモリ領域は、符号語1003のワード“11”で指定される第1エントリーから符号語1003のワード“00”で指定される第4エントリーまでを含んでいる。符号語1003のワード“11”で指定される第1エントリーには、復号データ“0”の復号値1004と3番目のルックアップテーブルLUT3を指示するアドレスデータ“LA3”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“10”で指定される第2エントリーには、復号データ“1”の復号値1004と2番目のルックアップテーブルLUT2を指示するアドレスデータ“LA2”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“01”で指定される第3エントリーには、復号データ“2”の復号値1004と1番目のルックアップテーブルLUT1を指示するアドレスデータ“LA1”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“00”で指定される第4エントリーには、復号データ“3”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図8(E)に示すように、2番目のポインタ・アドレスLA2によって指定される2番目のメモリ領域は、符号語1003のワード“1”で指定される第1エントリーから符号語1003のワード“00”で指定される第3エントリーまでを含んでいる。符号語1003のワード“1”で指定される第1エントリーには、復号データ“0”の復号値1004と2番目のルックアップテーブルLUT2を指示するアドレスデータ“LA2”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“01”で指定される第2エントリーには、復号データ“1”の復号値1004と1番目のルックアップテーブルLUT1を指示するアドレスデータ“LA1”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“00”で指定される第3エントリーには、復号データ“2”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
図8(F)に示すように、1番目のポインタ・アドレスLA1によって指定される1番目のメモリ領域は、符号語1003のワード“1”で指定される第1エントリーから符号語1003のワード“0”で指定される第2エントリーまでを含んでいる。符号語1003のワード“1”で指定される第1エントリーには、復号データ“0”の復号値1004と1番目のルックアップテーブルLUT1を指示するアドレスデータ“LA1”の次ポインタ・アドレス1005とが格納されている。符号語1003のワード“0”で指定される第2エントリーには、復号データ“1”の復号値1004と指示するルックアップテーブルが存在しないことを示すデータ“None”の次ポインタ・アドレス1005とが格納されている。
《ラン・ビフォワーの復号》
次に、図4と図6から図8に示した14個のルックアップテーブルLUT1〜LUT14を含むメモリ1001を具備する図3に示す可変長復号装置が、図1に示した量子化変換係数に関係するランズ・ビフォワー(runs_before)を復号する際の動作を説明する。
図1で3個のトータル・ゼロズ(Total zeros)が復号された後、この復号された3個のトータル・ゼロズをベースに最初のランズ・ビフォワー(runs_before)を復号する際に復号されていないゼロズ・レフト(zero_left)を使用するものであり、ゼロズ・レフトの初期値はトータル・ゼロズである。
図1でトータル・ゼロズ(Total zeros)の後の最初のランズ・ビフォワー(runs_before)の復号に際しては、3個のゼロズ・レフト(zero_left)に対応するポインタ・アドレスLA3によって指示される3番目のルックアップテーブルLUT3が使用される。図1でトータル・ゼロズ(Total zeros)の後の最初のランズ・ビフォワー(runs_before)の復号に際して、ワード“10”の符号語(codeword)1003に応答して3番目のルックアップテーブルLUT3は復号データ“1”の復号値と2番目のルックアップテーブルLUT2を指示する2番目のポインタ・アドレスLA2とが並列に生成される。
図1でトータル・ゼロズ(Total zeros)の後の2番目のランズ・ビフォワー(runs_before)の復号に際しては、2番目のポインタ・アドレスLA2によって指示される2番目のルックアップテーブルLUT2が使用されるものとなる。図1で2番目のランズ・ビフォワーの復号に際して、ワード“1”の符号語(codeword)1003に応答して2番目のルックアップテーブルLUT2は復号データ“0”の復号値と2番目のルックアップテーブルLUT2を指示する2番目のポインタ・アドレスLA2とが並列に生成される。
図1でトータル・ゼロズ(Total zeros)の後の3番目のランズ・ビフォワー(runs_before)の復号に際しては、2番目のポインタ・アドレスLA2によって指示される2番目のルックアップテーブルLUT2が使用されるものとなる。図1で3番目のランズ・ビフォワーの復号に際して、ワード“1”の符号語(codeword)1003に応答して2番目のルックアップテーブルLUT2は復号データ“0”の復号値と2番目のルックアップテーブルLUT2を指示する2番目のポインタ・アドレスLA2とが並列に生成される。
図1でトータル・ゼロズ(Total zeros)の後の4番目のランズ・ビフォワー(runs_before)の復号に際しては、2番目のポインタ・アドレスLA2によって指示される2番目のルックアップテーブルLUT2が使用されるものとなる。図1で3番目のランズ・ビフォワーの復号に際して、ワード“01”の符号語(codeword)1003に応答して2番目のルックアップテーブルLUT2は復号データ“1”の復号値と1番目のルックアップテーブルLUT1を指示する1番目のポインタ・アドレスLA1とが並列に生成される。
《具体的な可変長復号装置》
図9は、本発明の具体的な実施の形態によるH.264/AVCに準拠する動画復号装置(デコーダ)の構成を示す図である。
また、図9の動画復号装置1は、H.264/AVC以外にもMPEG−2、MPEG−4等の画像符号化方式のための動画復号装置にも適用することができる。
動画復号装置1は、携帯電話端末やディジタル・カメラ等の電池動作の携帯電子機器のための動画処理用半導体集積回路のLSIチップ上に構成されている。また図9では、例えば電子機器のパワーオン時もしくはパワーオンリセット時等のシステム初期化のシーケンスに、集積回路を動画符号化装置(エンコーダ)もしくは動画復号装置(デコーダ)として動作させることを指示するレベルもしくはビットパターンの動作モード信号が供給される。その結果、この動作モード信号による指示に応答して動画処理用半導体集積回路を構成する共通ハードウェア・リソースが動画符号化装置(エンコーダ)と動画復号装置(デコーダ)の一方として動作する。また、システム初期化のシーケンスに他のレベルもしくは別のビットパターンの動作モード信号が供給されると、動画処理用半導体集積回路を構成する共通ハードウェア・リソースが動画符号化装置(エンコーダ)と動画復号装置(デコーダ)の他方として動作する。
動画処理用半導体集積回路が動画復号装置(デコーダ)として動作する場合には、例えばハードディスクドライブ(HDD)、光ディスクドライブ、大容量不揮発性フラッシュメモリ、無線LAN(ローカルエリアネットワーク)等のメディアからH.264/AVCに準拠する動画符号化データがビットストリームの形態により供給される。この動画符号化データは動画復号装置(デコーダ)により復号され、復号データは表示用のメモリデバイスに格納されて、表示デバイス2により動画が表示されることができる。
動画処理用半導体集積回路が動画符号化装置(エンコーダ)として動作する場合には、例えばCCDまたはCMOSイメージセンサ等の撮像装置からの動画データが供給される。動画符号化装置(エンコーダ)の出力に得られるH.264/AVCに準拠したビデオ符号化データは、HDD、光ディスク、大容量不揮発性フラッシュメモリ等の記憶装置に格納されることができる。
図9において、ビットストリーム・バッファ3には、上述の種々のメディアからのH.264/AVCに準拠する動画符号化データのビットストリームが供給され格納される。ビットストリーム処理ユニット10は、外部から入力されるビットストリームのシンタックス解析処理と可変長符号の復号処理とを行うブロックである。
逆量子化ユニット11と逆変換ユニット12とは、ビットストリーム処理ユニット10からの復号データの逆量子化処理と逆変換処理とをそれぞれ実行するブロックで、逆変換ユニット12の出力は加算器16の一方の入力端子に供給される。尚、逆変換ユニット12での逆変換処理は、コーディック規格によって規定されたIDCT(逆離散コサイン変換)である。
イントラ予測ユニット13はH.264/AVCに準拠したイントラ・フレーム予測(画面内予測)を実行する一方、インター予測ユニット14はインター・フレーム予測(画面間予測)を実行する。イントラ予測ユニット13の出力とインター予測ユニット14の出力とは選択スイッチ15によって選択されて、選択スイッチ15によって選択された出力は加算器16の他方の入力端子に供給される。加算器16の出力は、フィルター17とフレームメモリ18とを介してインター予測ユニット14に供給される一方、動画復号装置1外部の表示装置2に供給される。
ビットストリーム処理ユニット10は、ストリーム・インタフェースユニット100、符号語処理ユニット110、シンタックス処理ユニット120によって構成される。外部からのビットストリームはストリーム・インタフェースユニット100を介して符号語処理ユニット110に供給されて、ビットストリームに含まれた種々の符号語(codeword)は符号語処理ユニット110によって復号される。符号語処理ユニット110による復号で形成された復号値(Value)はシンタックス処理ユニット120に供給され、シンタックス処理ユニット120は供給される復号値から復号結果を生成する。
符号語処理ユニット110は、FLC/VLC処理ユニット111、可変長符号・復号テーブル112、処理制御ユニット113、入力セレクター114、出力セレクター115によって構成されている。FLC/VLC処理ユニット111は、固定長符号(Fixed Length Code:FLC)を復号する一方、指数ゴロム符号の復号のように算術演算による復号処理を実行する可変長符号(Variable Length Code:VLC)を復号する処理ユニットである。可変長符号・復号テーブル112は、ルックアップテーブルの参照を必要とする可変長符号の復号のためのメモリであり、図9の動画復号装置1のコーディック規格によって規定された可変長の符号語(codeword)に対応する復号値(value)を含む複数のルックアップテーブルを含んでいる。
特に、本発明の実施の形態では、可変長符号・復号テーブル112の複数のルックアップテーブルのそれぞれは、可変長の符号語(codeword)に応答して復号値(value)を出力する一方、次の符号語の復号に使用されるルックアップテーブルを指示するポインタ・アドレスを出力する。具体的には、可変長符号・復号テーブル112は、図3と図4に示したように、符号語1003に応答して復号語1004と次ポインタ・アドレス1005とを並列に出力する少なくとも14個のルックアップテーブルLUT1〜LUT14を含むLSI内蔵RAM1001によって構成されている。
また、H.264/AVCで採用されているコンテキスト適応型可変長符号化方式(CAVLC)においては現在処理しているシンタックス要素の復号が完了することで、次のシンタックス要素の先頭ビット位置が確定する。従って、シンタックス処理ユニット120から生成される復号結果に応答して処理制御ユニット113は、ストリーム・インタフェースユニット100と入力セレクター114と出力セレクター115とを制御する。その結果、ビットストリーム・バッファ3からの次のシンタックス要素がストリーム・インタフェースユニット100と入力セレクター114とを介してFLC/VLC処理ユニット111または可変長符号・復号テーブル112に供給され、シンタックス要素の符号語(codeword)の復号が実行される。シンタックス要素の復号が完了すると、FLC/VLC処理ユニット111または可変長符号・復号テーブル112から復号値(value)は出力セレクター115を介してシンタックス処理ユニット120に供給される。
次に、図9に示した本発明の具体的な実施の形態によるH.264/AVCに準拠する動画復号装置1(デコーダ)によって復号可能な種々の動画像符号化方式を説明する。
≪H.264/AVCによる符号化ビデオシーケンス≫
HDTVは水平方向に最大で1920個のピクセルと垂直方向に最大で1080本の走査線との大画面を持ち、2つのスキャンモードを有する。1つ目は交互走査線によるインターレース・スキャンであり、2つ目は連続走査線によるプログレッシブ・スキャンである。H.264/AVCのビデオコーディング層(Video Coding Layer)の符号化ビデオシーケンスも、インターレースド・フレームとプログレッシブ・フレームとに対応する。
図10は、H.264/AVCのVCLの符号化ビデオシーケンスで規定されたプログレッシブ・フレームPFとインターレースド・フレームIFとを示す図である。図10に示すように、インターレースド・フレームIFでは、偶数番号の行を含むトップフィールドTFと奇数番号の行を含むボトムフィールドBFが別個に異なった時間に符号化されている。
≪H.264/AVCによるイントラ・フレーム予測≫
まず、図9に示したH.264/AVCに準拠する動画復号装置1のイントラ予測ユニット13によるイントラ・フレーム予測を説明する。
図11は、H.264/AVCに準拠した1つのピクチャーのスライスとマクロブロックへのパーティションとイントラ・フレーム予測とを示す図である。図11に示すように、1つのピクチャーは例えば複数のスライスSlice#0、Slice#1、Slice#2に分割され、1つのスライスSlice#0はMB000〜MBS207の32個のマクロブロックに分割されている。1つのピクチャーの全てのマクロブロックMB000〜MB811のそれぞれは、輝度成分で16×16サンプルの四角形ピクチャー領域とそれに対応する2つの色差成分のそれぞれに8×8サンプル領域とを含んでいる。
図12は、H.264/AVCに準拠したイントラ・フレーム予測で4×4サンプルの1つのブロックが空間的に近傍のサンプルから予測される予測モードPMの様子を示す図である。図12に示すように、記号aから記号pまでの4×4ブロックの16サンプルは、記号Aから記号Qとラベルされた近傍ブロック中で以前に復号されたサンプルを使用して予測することができる。更に、図12に示すように予測モードPMは、9つの4×4予測モードを含んでいる。モード0(垂直予測)では4×4ブロックの上のブロックのサンプルから矢印に示すようにコピーされた値から予測され、モード1(水平予測)では4×4ブロックの左のブロックのサンプルから矢印に示すようにコピーされた値から予測され、モード2(DC予測)では4×4ブロックの上のブロックと左のブロックのうちの有効画素の平均値から予測される。モード3(斜め左下予測)では斜め右上のサンプルから矢印に示すように予測され、モード4(斜め右下予測)では斜め左上のサンプルから矢印に示すように予測される。モード5(垂直右下予測)では斜め左上のサンプルから矢印に示すように予測され、モード6(水平右下予測)では斜め左上のサンプルから矢印に示すように予測される。モード7(垂直左下予測)では斜め右上のサンプルから矢印に示すように予測され、モード8(水平右上予測)では斜め左下のサンプルから矢印に示すように予測される。
この図12に示した輝度4×4のブロックの量子化変換係数(16個のDCT係数)の近傍サンプルへの予測にも、図3と図9とに示したラン・ビフォワーの高性能リアルタイム復号を応用することができる。
≪H.264/AVCによるインター・フレーム予測≫
次に、図9に示したH.264/AVCに準拠する動画復号装置1のインター予測ユニット12によるインター・フレーム予測を説明する。
図13は、インター予測ユニット112でのインター・フレーム予測に際してH.264/AVCに準拠した動き補償予測のために、1つのマクロブロックが更に小さな領域に分割されることを示す図である。図13の上段は輝度で16×16、16×8、8×16、8×8のサンプルのブロックサイズのセグメンテーションを示し、図13の下段は輝度で8×8、8×4、4×8、4×4のサンプルのブロックサイズのセグメンテーションを示している。図13の上段と下段との動き補償予測のためのブロックは、動き補償予測のためのシンタックスを含んでいる。このシンタックスを利用することによって、1つ以上の以前に符号化されたピクチャーが動き補償予測のための参照に使用されるマルチピクチャー動き補償予測が可能となる。
図14は、H.264/AVCのマルチピクチャー動き補償予測を示す図である。現在のピクチャーCPは以前に符号化されたピクチャーから動きベクトルとピクチャー参照パラメータΔ(=1、2、4)とを伝達することによって予測されることができる。
《他の動画像符号化方式への対応》
図4と図6から図8に示した14個のルックアップテーブルLUT1〜LUT14を含むメモリ1001を具備する図3または図9に示す可変長復号装置1が、図1に示したH.264/AVCに準拠する量子化変換係数に関係するランズ・ビフォワー(runs_before)を復号するものである。
従って、図3または図9に示す可変長復号装置1または動画復号装置1を、H.264/AVCに準拠する動画像符号化方式と異なるMPEG−2やMPEG−4等による他の動画像符号化方式に対応するためには、図3の可変長復号装置1のメモリ1001と図9の可変長復号装置1の可変長符号・復号テーブル112の内蔵RAM中に格納されるメモリ内容を変更すれば良い。そのためには、メモリ1001や可変長符号・復号テーブル112の内蔵RAMのメモリ内容である符号語1003の符号語(codeword)と復号結果としての復号値(Value)と次ポインタ・アドレス(LA)1005のそれぞれのデータ・コードをMPEG−2やMPEG−4等の他の動画像符号化方式に対応するように変更するものである。
図3、図9に示す復号装置1のメモリ1001や可変長符号・復号テーブル112の内蔵RAM中に格納されるメモリ内容であるデータ・コードは、可変長復号装置1が搭載されるシステムとしての動画像復号装置に搭載される半導体不揮発性フラッシュメモリから電源投入時等のシステム・リセットの際に転送されることができる。システム・リセット時の初期化シーケンスに、動画像復号装置をH.264/AVCとMPEG−2とMPEG−4とのいずれの動画像符号化方式に対応するかを選択することになる。選択した方式に従って可変長復号装置1のメモリ1001、可変長符号・復号テーブル112の内蔵RAMに格納されるメモリ内容が決定されて、電源投入後に動作を開始する動画像復号装置の動作方式が決定されることが可能となる。
以上、本発明者によってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
例えば、マクロブロック(16画素×16画素)の単位で処理を行う場合について説明したが、32画素×32画素、8画素×8画素等、任意の大きさのマクロブロックで処理を行う場合にも適用できる。
また、MotionJPEG等の静止画を連結させて動画とする画面内符号化のみの動画像符号化方式においても、インター・フレーム予測を行い、動き量を推測して、量子化パラメータに反映することによって、同様の効果を得ることができる。
本発明は、動画処理用半導体集積回路以外にも、アナログ・機能ブロックとディジタル・機能ブロックとが混載したミックスドシグナルシステムLSIに搭載するH.264/AVCに準拠する動画符号化と動画復号とを実行する集積回路として広く採用することができる。
更に、電源投入時等のシステム・リセット時の初期化シーケンスの際に図3、図9に示す可変長復号装置1のメモリ1001や可変長符号・復号テーブル112の内蔵RAMに転送されるメモリ内容を格納する不揮発性メモリは、システムLSIに搭載される内蔵不揮発性メモリによって構成することもできる。
図1は、H.264/AVCに準拠する可変長符号化装置での輝度4×4のブロックの量子化変換係数の符号化ビットストリームの形成プロセスと、H.264/AVCに準拠する可変長復号装置における符号化ビットストリームの復号処理の様子を示す図である。 図2は、図1に示した量子化変換係数に関係するラン・ビフォワーの復号と次のラン・ビフォワーの復号のためのゼロズ・レフトの更新とを実行するために本発明に先立って本発明者等によって検討されたルックアップ・テーブルを利用する可変長復号装置の一部の構成を示す図である。 図3は、図1に示した量子化変換係数に関係するラン・ビフォワーの復号と次のラン・ビフォワーの復号のためのゼロズ・レフトの更新とを実行するための本発明の実施の形態による可変長復号装置の一部の構成を示す図である。 図4は、図3に示す可変長復号装置の一部の構成において、符号語に応答して復号値と次ポインタ・アドレスとを並列に出力するための14個のルックアップテーブルを含むメモリの構成を示す図である。 図5は、図3に示す可変長復号装置の一部の構成によって復号されるラン・ビフォワーの復号値と、復号前のゼロズ・レフトの初期値と、ラン・ビフォワーを符号化した符号語との関係を示す図である。 図6は、図4のメモリでそれぞれ14番目から11番目のポインタ・アドレスによって指定される14番目から11番目のメモリ領域の構成を示す図である。 図7は、図4のメモリでそれぞれ10番目から7番目のポインタ・アドレスによって指定される10番目から7番目のメモリ領域の構成を示す図である。 図8は、図4のメモリでそれぞれ6番目から1番目のポインタ・アドレスによって指定される6番目から1番目のメモリ領域の構成を示す図である。 図9は、本発明の具体的な実施の形態によるH.264/AVCに準拠する動画復号装置の構成を示す図である。 図10は、H.264/AVCのVCLの符号化ビデオシーケンスで規定されたプログレッシブ・フレームとインターレースド・フレームとを示す図である。 図11は、H.264/AVCに準拠した1つのピクチャーのスライスとマクロブロックへのパーティションとイントラ・フレーム予測とを示す図である。 図12は、H.264/AVCに準拠したイントラ・フレーム予測で4×4サンプルの1つのブロックが空間的に近傍のサンプルから予測される予測モードPMの様子を示す図である。 図13は、図9に示した動画復号装置のインター予測ユニットでのインター・フレーム予測に際してH.264/AVCに準拠した動き補償予測のために、1つのマクロブロックが更に小さな領域に分割されることを示す図である。 図14は、H.264/AVCのマルチピクチャー動き補償予測を示す図である。
符号の説明
1001 メモリ
1002 アクセス制御ユニット
ALU 算術論理ユニット
LUT1〜LUT14 ルックアップテーブル
Total_zeos トータル・ゼロズ
1003 符号語
1004 復号値
LA1〜LA14 ポインタ・アドレス
1005 次ポインタ・アドレス
1 動画復号装置
2 表示デバイス
3 ビットストリーム・バッファ
10 ビットストリーム処理ユニット
11 逆量子化ユニット
12 逆変換ユニット
13 イントラ予測ユニット
14 インター予測ユニット
15 選択スイッチ
16 加算器
17 フィルター
18 フレームメモリ
100 ストリーム・インタフェースユニット
110 符号語処理ユニット
120 シンタックス処理ユニット
111 FLC/VLC処理ユニット
112 可変長・復号テーブル
113 処理制御ユニット
114 入力セレクター
115 出力セレクター

Claims (16)

  1. 複数のルックアップテーブルを含む記憶装置を有して、可変長符号によって符号化された複数の符号語を前記記憶装置の利用によってシーケンシャルに復号することが可能である可変長復号装置であって、
    前記複数のルックアップテーブルには、前記複数の符号語に対応する複数の復号値と複数の制御情報とが格納可能であり、
    前記複数の符号語に含まれる1つの符号語の復号に際して、前記複数のルックアップテーブルから1つのルックアップテーブルが選択され、
    前記1つの符号語の前記復号では、前記1つの符号語に応答して、前記1つのルックアップテーブルから前記1つの符号語に対応する1つの復号値と当該1つの復号値に依存する次の復号に使用される次のルックアップテーブルを前記複数のルックアップテーブルから選択する制御情報とが並列に生成されるものである可変長復号装置。
  2. 前記1つの符号語の直後に供給される他の1つの符号語の復号に際して、当該他の1つの符号語に応答して、前記次のルックアップテーブルから前記他の符号語に対応する他の復号値と当該他の1つの復号値に依存するさらに次の復号に使用される他のルックアップテーブルを前記複数のルックアップテーブルから選択する他の制御情報とが並列に生成されるものである請求項1に記載の可変長復号装置。
  3. 前記複数の符号語のそれぞれは、所定のシンタックスに従って符号化された可変長のシンタックス要素であり、先行のシンタックス要素の復号と後続のシンタックス要素の復号とはシーケンシャルに実行され、
    前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブルは、前記先行のシンタックス要素の前記復号で使用される前記1つのルックアップテーブルから生成される前記1つの復号値と並列に生成される前記制御情報によって指定されるものである請求項2に記載の可変長復号装置。
  4. 前記複数のルックアップテーブルを含む前記記憶装置は、半導体集積回路に搭載された内蔵メモリである請求項3に記載の可変長復号装置。
  5. 前記内蔵メモリはランダムアクセスメモリであり、当該ランダムアクセスメモリに格納される前記復号値と前記制御情報とが、前記半導体集積回路の初期化シーケンスに不揮発性メモリから転送可能とされている請求項4に記載の可変長復号装置。
  6. 前記不揮発性メモリは前記半導体集積回路が搭載されるシステムに搭載される半導体不揮発性メモリもしくは前記半導体集積回路が搭載された内蔵半導体不揮発性メモリである請求項5に記載の可変長復号装置。
  7. 前記シンタックス要素である前記複数の符号語は、動画可変長符号化方式によって生成される量子化変換係数である請求項に記載の可変長復号装置。
  8. 前記動画可変長符号化方式は、H.264/AVCのコンテキスト適応型可変長符号化方式であり、前記複数の符号語はラン・ビフォワーのシンタックス要素で符号化されており、
    前記ラン・ビフォワーの前記複数の符号語に含まれる前記1つの符号語の最初の前記復号に際して、前記複数のルックアップテーブルから最初に選択される前記1つのルックアップテーブルがゼロズ・レフトの初期値であるトータル・ゼロズに従って選択され、
    前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブルは、前記先行のシンタックス要素の前記復号で使用される前記1つのルックアップテーブルから生成され更新後のゼロズ・レフトに対応する前記制御情報によって指定される請求項7に記載の可変長復号装置。
  9. ビットストリーム処理ユニット、逆量子化ユニット、逆変換ユニット、イントラ予測ユニット、インター予測ユニットを具備するものであり、
    前記ビットストリーム処理ユニットは所定の方式によって符号化された動画符号化データのビットストリームから復号データを生成して、前記逆量子化ユニットは前記逆変換ユニットとは前記復号データの逆量子化処理と逆変換処理とをそれぞれ実行して、前記イントラ予測ユニットと前記インター予測ユニットとはイントラ・フレーム予測とインター・フレーム予測とをそれぞれ実行するものであり、
    前記ビットストリーム処理ユニットは可変長符号・復号テーブルを含み、当該可変長符号・復号テーブルは、複数のルックアップテーブルを含む記憶装置を有して、前記動画符号化データの前記ビットストリーム中に含まれる複数の符号語を前記記憶装置の利用によってシーケンシャルに復号することが可能である動画復号装置であって、
    前記複数のルックアップテーブルには、前記複数の符号語に対応する複数の復号値と複数の制御情報とが格納可能であり、
    前記複数の符号語に含まれる1つの符号語の復号に際して、前記複数のルックアップテーブルから1つのルックアップテーブルが選択され、
    前記1つの符号語の前記復号では、前記1つの符号語に応答して、前記1つのルックアップテーブルから前記1つの符号語に対応する1つの復号値と当該1つの復号値に依存する次の復号に使用される次のルックアップテーブルを前記複数のルックアップテーブルから選択する制御情報とが並列に生成されるものである動画復号装置。
  10. 前記1つの符号語の直後に供給される他の1つの符号語の復号に際して、当該他の1つの符号語に応答して、前記次のルックアップテーブルから前記他の符号語に対応する他の復号値と当該他の1つの復号値に依存するさらに次の復号に使用される他のルックアップテーブルを前記複数のルックアップテーブルから選択する他の制御情報とが並列に生成されるものである請求項9に記載の動画復号装置。
  11. 前記複数の符号語のそれぞれは所定のシンタックスに従って符号化された可変長のシンタックス要素であり、先行のシンタックス要素の復号と後続のシンタックス要素の復号とはシーケンシャルに実行され、
    前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブルは、前記先行のシンタックス要素の前記復号で使用される前記1つのルックアップテーブルから生成される前記1つの復号値と並列に生成される前記制御情報によって指定される請求項10に記載の動画復号装置。
  12. 前記複数のルックアップテーブルを含む前記記憶装置は、半導体集積回路に搭載された内蔵メモリである請求項11に記載の動画復号装置。
  13. 前記内蔵メモリはランダムアクセスメモリであり、当該ランダムアクセスメモリに格納される前記復号値と前記制御情報とが、前記半導体集積回路の初期化シーケンスに不揮発性メモリから転送可能とされている請求項12に記載の動画復号装置。
  14. 前記不揮発性メモリは、前記半導体集積回路が搭載されるシステムに搭載される半導体不揮発性メモリもしくは前記半導体集積回路が搭載された内蔵半導体不揮発性メモリである請求項13に記載の動画復号装置。
  15. 前記シンタックス要素である前記複数の符号語は、動画可変長符号化方式によって生成される量子化変換係数である請求項11に記載の動画復号装置。
  16. 前記動画可変長符号化方式は、H.264/AVCのコンテキスト適応型可変長符号化方式であり、前記複数の符号語はラン・ビフォワーのシンタックス要素で符号化されており、
    前記ラン・ビフォワーの前記複数の符号語に含まれる前記1つの符号語の最初の前記復号に際して、前記複数のルックアップテーブルから最初に選択される前記1つのルックアップテーブルがゼロズ・レフトの初期値であるトータル・ゼロズに従って選択され、
    前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブルは、前記先行のシンタックス要素の前記復号で使用される前記1つのルックアップテーブルから生成され更新後のゼロズ・レフトに対応する前記制御情報によって指定される請求項15に記載の動画復号装置。
JP2008146630A 2008-06-04 2008-06-04 可変長復号装置およびそれを用いた動画復号装置 Expired - Fee Related JP4945513B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008146630A JP4945513B2 (ja) 2008-06-04 2008-06-04 可変長復号装置およびそれを用いた動画復号装置
US12/473,950 US20090304078A1 (en) 2008-06-04 2009-05-28 Variable length decoder and animation decoder therewith

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008146630A JP4945513B2 (ja) 2008-06-04 2008-06-04 可変長復号装置およびそれを用いた動画復号装置

Publications (2)

Publication Number Publication Date
JP2009296200A JP2009296200A (ja) 2009-12-17
JP4945513B2 true JP4945513B2 (ja) 2012-06-06

Family

ID=41400296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008146630A Expired - Fee Related JP4945513B2 (ja) 2008-06-04 2008-06-04 可変長復号装置およびそれを用いた動画復号装置

Country Status (2)

Country Link
US (1) US20090304078A1 (ja)
JP (1) JP4945513B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011188431A (ja) * 2010-03-11 2011-09-22 Hitachi Kokusai Electric Inc 可変長復号装置
US9864243B2 (en) 2010-05-14 2018-01-09 Dolby Laboratories Licensing Corporation High dynamic range displays using filterless LCD(s) for increasing contrast and resolution
US9135864B2 (en) * 2010-05-14 2015-09-15 Dolby Laboratories Licensing Corporation Systems and methods for accurately representing high contrast imagery on high dynamic range display systems
WO2012122104A2 (en) 2011-03-09 2012-09-13 Dolby Laboratories Licensing Corporation High contrast grayscale and color displays
HRP20240379T1 (hr) * 2010-05-25 2024-06-07 Lg Electronics Inc. Novi način planarnog predviđanja
CN107277542B (zh) * 2011-02-10 2019-12-10 太阳专利托管公司 动态图像解码方法、动态图像解码装置
US9148670B2 (en) 2011-11-30 2015-09-29 Freescale Semiconductor, Inc. Multi-core decompression of block coded video data

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6008745A (en) * 1998-02-17 1999-12-28 Sun Microsystems, Inc. Variable length decoding using lookup tables
US6324103B2 (en) * 1998-11-11 2001-11-27 Hitachi, Ltd. Semiconductor integrated circuit device, memory module, storage device and the method for repairing semiconductor integrated circuit device
US6360348B1 (en) * 1999-08-27 2002-03-19 Motorola, Inc. Method and apparatus for coding and decoding data
JP2003309471A (ja) * 2002-04-15 2003-10-31 Fujitsu Ltd 可変長符号データ復号装置および復号方法
JP2006287862A (ja) * 2005-04-05 2006-10-19 Canon Inc 復号化装置
JP2007281763A (ja) * 2006-04-05 2007-10-25 Sony Corp 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置
JP4379444B2 (ja) * 2006-07-26 2009-12-09 ソニー株式会社 復号化方法、復号化方法のプログラム、復号化方法のプログラムを記録した記録媒体、復号化装置
JP2008042497A (ja) * 2006-08-04 2008-02-21 Seiko Epson Corp デコード装置、情報再生装置及び電子機器
JP4829720B2 (ja) * 2006-08-29 2011-12-07 ルネサスエレクトロニクス株式会社 可変長符号復号装置

Also Published As

Publication number Publication date
JP2009296200A (ja) 2009-12-17
US20090304078A1 (en) 2009-12-10

Similar Documents

Publication Publication Date Title
US10999601B2 (en) Line-based compression for digital image data
US20180213230A1 (en) Video encoder and method of operating the same
CN105379284B (zh) 动态图像编码装置及其动作方法
US8009740B2 (en) Method and system for a parametrized multi-standard deblocking filter for video compression systems
KR101919394B1 (ko) 무손실 인트라 hevc 코딩을 위한 지수-골룸 이진화에 대한 파라미터 결정
CN107277539B (zh) 减少用于上下文自适应熵解码中的行缓存的方法及装置
TW202005401A (zh) 擴展四叉樹、不等四劃分的主要概念以及信令
JP4945513B2 (ja) 可変長復号装置およびそれを用いた動画復号装置
JP2004140473A (ja) 画像情報符号化装置、復号化装置並びに画像情報符号化方法、復号化方法
JP2011024066A (ja) 画像処理装置および方法
JP2006222968A (ja) 画面間又は画面内符号化モードの動画像符号化方法及び装置
WO2014050151A1 (en) System for signaling idr and bla pictures
JP2008219205A (ja) 画像情報符号化装置及び画像情報符号化方法
JP2022539311A (ja) ピクチャのサブセクション用の独立したcabac
US8363722B2 (en) Method and apparatus for hierarchical bi-directional intra-prediction in a video encoder
US11159825B2 (en) Video coding method and apparatus utilizing group of encoding units
JP2008289105A (ja) 画像処理装置およびそれを搭載した撮像装置
EP4246971A1 (en) Quantization parameter decoding method and device
WO2022217417A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2022217442A1 (zh) 系数编解码方法、编码器、解码器以及计算机存储介质
JP2022548685A (ja) 画像データの符号化及び復号化
Verma et al. Design of Compressed Memory Model Based on AVC Standard for Robotics

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100527

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120208

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees