[go: up one dir, main page]

JP3884172B2 - 可変長復号化装置および復号化方法 - Google Patents

可変長復号化装置および復号化方法 Download PDF

Info

Publication number
JP3884172B2
JP3884172B2 JP18931798A JP18931798A JP3884172B2 JP 3884172 B2 JP3884172 B2 JP 3884172B2 JP 18931798 A JP18931798 A JP 18931798A JP 18931798 A JP18931798 A JP 18931798A JP 3884172 B2 JP3884172 B2 JP 3884172B2
Authority
JP
Japan
Prior art keywords
decoding
error
encoded data
backward
bit
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
JP18931798A
Other languages
English (en)
Other versions
JPH11168393A (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.)
Toshiba Corp
Original Assignee
Toshiba 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
Priority to JP18931798A priority Critical patent/JP3884172B2/ja
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to BR9806295A priority patent/BR9806295A/pt
Priority to CA 2273169 priority patent/CA2273169C/en
Priority to EP98945588A priority patent/EP0966107A4/en
Priority to US09/319,160 priority patent/US6829299B1/en
Priority to CNB98802246XA priority patent/CN1153353C/zh
Priority to AU92826/98A priority patent/AU726301B2/en
Priority to KR1019997004860A priority patent/KR100334690B1/ko
Priority to PCT/JP1998/004460 priority patent/WO1999018674A1/ja
Priority to NO19992619A priority patent/NO992619L/no
Publication of JPH11168393A publication Critical patent/JPH11168393A/ja
Priority to US10/957,733 priority patent/US7236530B2/en
Priority to US10/974,704 priority patent/US7136416B2/en
Priority to US10/974,878 priority patent/US7203239B2/en
Application granted granted Critical
Publication of JP3884172B2 publication Critical patent/JP3884172B2/ja
Priority to US11/730,495 priority patent/US20070183506A1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/69Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving reversible variable length codes [RVLC]
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、例えば動画像信号などの圧縮符号化に用いられる可変長符号から構成される符号化データを復号する可変長復号化装置および復号化方法に関する。
【0002】
【従来の技術】
可変長符号は、シンボルの発生頻度に基づいて、頻繁に出現するシンボルは短い符号長の符号、希にしか出現しないシンボルは長い符号長の符号をそれぞれ割り当てることにより、平均的に短い符号長となるようにした符号系である。従って、可変長符号を用いると、符号化前のデータと比較して、データ量を大幅に圧縮することができる。このような理由から、可変長符号は広く情報圧縮のための符号として用いられている。
【0003】
動画像符号化方式においても、MPEG1,MPEG2,H. 261,H. 263といった一般的な標準方式で、可変長符号が用いられている。
【0004】
可変長符号の一般的な問題として、符号化データに伝送路誤りやその他の理由で誤りが混入した場合に、誤りが混入した以後のデータについては、その影響が伝搬することにより復号化装置で正しく復号することができなくなってしまうという点が挙げられる。この問題を避けるため、伝送路において誤りが生じる可能性がある場合には、ある間隔で同期符号を挿入し、誤りの伝搬を防止する方法がとられるのが一般的である。同期符号には、可変長符号の組み合わせでは出現しないようなビットパターンが割り当てられる。この方法によれば、符号化データに誤りが生じ、復号できなくなったとしても、次の同期符号を見つけてそこから復号を再開することにより、誤りの伝搬を防止でき、復号を継続して行うことが可能となる。
【0005】
しかし、同期符号を用いた場合でも、図56(a)に示すように誤りが生じて正しく復号できなくなった位置から、次の同期符号が見つかる位置までの間の符号化データについては、復号を行うことができない。
【0006】
そこで、順方向及び逆方向の双方向に復号可能な可変長符号を用いて、図56(b)に示すように次の同期符号から逆方向に復号することにより、復号できない部分を減らすことのできる可変長符号化/復号化装置が本出願人による特許出願(特願平7−260383号および特願平9−81614号)で提案されている。
【0007】
しかし、このような可変長符号化/復号化装置を用いた場合でも、符号化データの誤りを検出できるのは、可変長符号の符号語として使用してないビットパターンが出現した場合等であるため、本当に誤りが混入した位置ではなく、それよりもかなり後の位置で誤りの発生が発見される場合がある。これは、実際に誤りが混入した位置であっても、そこに可変長符号の符号語に使用されてないビットパターンが必ず出現するとは限らず、可変長符号の符号語に使用されているビットパターンの中に該当するものがある限り、復号化処理は継続して行われてしまうからである。したがって、本来は正しくない符号語が誤って正しい符号語として復号化されてしまうという問題が生じることになる。
【0008】
一方、これまで、動画像符号化・復号化装置の伝送路誤り対策としては、様々な方法が検討されている。例えば、文献(“画像符号化技術”、黒田英夫著、昭晃堂、1996)には、伝送路誤り対策としていくつかの方法が開示されている。その内、復号化器側で行う技術としては、エラーコンシールメントが紹介されている。エラーコンシールメントは、符号化データに欠落があった場合、画面上の周囲の動きベクトルなどを使って、誤りの影響ができるだけ画面に現れないようにするテクニックである。
【0009】
しかし、本来は正しくない符号語が正しいものとして復号されてしまった場合には、上述のエラーコンシールメントなどのように誤りの影響ができるだけ現れないようにするテクニックを用いることはできず、画面に誤りの影響が現れてしまうという問題が発生する。
【0010】
特に、フレーム内符号化(INTRA)モードでの誤りの影響はフレーム間予測符号化(INTER)モードの場合と比べて大きく、不自然な色のブロックが画面上に現れるなどの問題があった。
【0011】
【発明が解決しようとする課題】
上述したように、従来の可変長復号化装置では、可変長符号を復号する際に、本来は正しくない符号語を誤って正しい符号語として復号してしまうことがあり、可変長符号化された動画像信号の復号に適用した場合には画面に誤りの影響が現れてしまうなどの問題があった。
【0012】
本発明はこのような実情に鑑みてなされたものであり、本来は正しくない符号語が誤って正しい符号語として復号されてしまうという事態の発生を低減できるようにし、十分な誤り耐性を実現できる可変長復号化装置および復号化方法を提供することを目的とする。
【0013】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号する可変長復号化装置において、前記符号化データを順方向から復号する順方向復号手段と、前記符号化データを逆方向から復号する逆方向復号手段と、前記順方向復号化手段および逆方向復号手段の復号結果から最終的な復号結果を出力する復号値決定手段とを具備し、前記順方向復号化手段および逆方向復号手段の各々は前記符号化データの誤りを検出する手段を有し、前記復号値決定手段は、前記順方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置と、前記逆方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置とを利用して、復号値を決定することを特徴とする。
【0014】
この可変長復号化装置においては、順方向復号化手段および逆方向復号手段それぞれによって誤りが発見された場合、その誤り発見位置がビット上の位置とシンタクス上の位置との2種類の位置情報として復号値決定手段に通知される。従って、ビット上の誤り発見位置とシンタクス上の誤り発見位置とで2重に本当の誤り位置をチェックできるようになり、かなりの確率で正しい符号語のみに対応する復号結果だけを利用できるようになり、本来は正しくない符号語が誤って正しい符号語として復号されてしまうことを低減することが可能となる。
【0015】
また、前記復号値決定手段による復号値決定方法としては、
(a)前記順方向復号化手段および逆方向復号化手段での誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差しない場合、
前記順方向復号化手段による前記ビット上またはシンタクス上の誤り発見位置の一定量手前までの符号語に対する復号値として順方向の復号結果を使用し、前記逆方向復号手段による前記ビット上またはシンタクス上の誤り発見位置の一定量後からの符号語に対する復号値として逆方向の復号結果を使用し、残りの符号化データを廃棄し、
(b)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置では交差しないが、シンタクス上の位置で交差する場合、
前記逆方向復号化手段によるシンタクス上の誤り発見位置の直前までの符号語に対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるシンタクス上の誤り発見位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、シンタクス上の誤り発見位置が交差する部分の符号化データを廃棄し、
(c)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置で交差するが、シンタクス上の位置では交差しない場合、
前記逆方向復号化手段によるビット上の誤り発見位置の直前までの符号語に対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるビット上の誤り位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、ビット上誤り発見位置が交差する部分の符号化データを廃棄し、
(d)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差する場合、
交差する部分が最大となる位置を誤り発見位置と選択して、
前記逆方向復号化手段による誤り発見位置の直前までの符号語に対する復号値として順方向の復号結果を使用し、前記順方向復号手段での誤り発見位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、誤り位置が交差する部分の符号化データを廃棄することが好ましい。
【0016】
このように、可変長符号の誤り発見位置が本来の誤りが入った位置よりもかなり後になることを考慮して、順方向にも逆方向にも誤り発見位置が交差しない(a)の場合は、誤り発見位置よりも一定量さかのぼった位置までの符号語を使用し、順方向か逆方向の誤り発見位置が何らかの形で交差する(b)〜(d)については、交差範囲が広い部分を廃棄することにより、本来は間違っている部分を正しいと判断してしまうということを、効果的に防止することが可能となる。
【0017】
また、本発明は、動画像信号を直交変換することによって得られた変換係数を順方向にも逆方向にも復号可能な符号語を用いて符号化することによって生成された可変長符号を含む前記動画像信号の符号化データを、所定の同期区間毎に復号する動画像復号化装置において、前記符号化データの同期区間を検出する手段と、前記同期区間検出手段により検出された所定の同期区間の符号化データを順方向から復号する順方向復号手段と、前記同期区間検出手段により検出された所定の同期区間の符号化データを逆方向から復号する逆方向復号手段と、前記順方向復号化手段および逆方向復号手段の復号結果から最終的な復号結果を出力する復号値決定手段とを有し、前記順方向復号化手段および逆方向復号手段の各々は前記符号化データの誤りを検出する手段を有し、前記復号値決定手段は、前記順方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置と、前記逆方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置とを利用して、復号値を決定することを特徴とする。
【0018】
一般に、動画像符号化方式の性質上、本来正しい部分を廃棄してしまうことによる影響よりも、本来間違っている部分を正しいものと判断してしまうことによる影響の方が表示画面に与える影響が大きい。したがって、ビット上の誤り発見位置とシンタクス上の誤り発見位置とで2重チェックを行うことにより、本来間違っている部分を正しいものと判断してしまうことによる表示画面への影響を大幅に低減することが可能となる。
【0019】
また、この動画像復号化装置における復号値決定手段の復号値決定方法としては、
(a)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差しない場合、
前記順方向復号化手段によるビット上またはシンタクス上の誤り発見位置の一定量手前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記逆方向復号手段によるビット上またはシンタクス上の誤り発見位置の一定量後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、残りのマクロブロックの変換係数からなる符号化データを廃棄し、
(b)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置では交差しないが、シンタクス上の位置で交差する場合、
前記逆方向復号化手段によるシンタクス上の誤り発見位置の直前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるシンタクス上の誤り発見位置の直後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、シンタクス上の誤り発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄し、
(c)前記順方向復号化手段および逆方向復号化手段での誤り発見位置が、ビット上の位置で交差するが、シンタクス上の位置では交差しない場合、
前記逆方向復号化手段によるビット上の誤り発見位置の直前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるビット上の誤り発見位置の直後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、ビット上の誤り発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄し、
(d)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差する場合、
交差する部分が最大となる位置を誤り発見位置と選択して、
逆方向復号化手段による誤り発見位置の直前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記順方向復号手による誤り発見位置の直後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、誤り発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄することが好ましい。
【0020】
このように、可変長符号の誤り発見位置が本来の誤りが入った位置よりもかなり後になることを考慮して、順方向にも逆方向にも誤り発見位置が交差しない(a)の場合は、誤り発見位置よりも一定量さかのぼった位置までのマクロブロックを使用し、順方向か逆方向の誤り発見位置が何らかの形で交差する(b)〜(d)については、交差範囲が広い部分を廃棄することにより、本来は間違っている部分を正しいと判断してしまうということによる表示画面への影響を防止することが可能となる。
【0021】
さらに、前記復号値決定手段は、前記同期区間内の符号化データに誤りが検出された場合、誤りが検出されなかったマクロブロックの内で、フレーム内符号化を行ったマクロブロックの変換係数からなる符号化データを、一部または全て廃棄することを特徴とする。
【0022】
フレーム内符号化モードは、誤りが生じた場合に画面に与える影響が大きい。具体的には、間違った係数が表示されることによって不自然な色のブロックが画面内に現れるという現象が生じる。従って、同期区間内に少なくとも誤りが生じていることが分かっているのであれば、フレーム内符号化モードのマクロブロックを廃棄しておく方が画面への影響を少なくすることができる。
【0023】
また、さらに、前記復号値決定手段は、符号化データを廃棄したマクロブロックについて、フレーム内符号化モードの場合は前画面を表示するか、符号化を行わないモードとして処理し、フレーム間予測符号化モードの場合は動き補償を行うことを特徴とする。
【0024】
DCT係数を廃棄した場合、フレーム内符号化モードの場合には、動きベクトルがないので、前画面を表示するか、符号化を行わないモードとして処理し、フレーム間符号化の場合には、上位階層の動きベクトルがあるので、それを利用して動き補償を行うことで、DCT係数が無くともかなり自然な画像を作成することが可能となる。
【0025】
また、本発明は、順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号する可変長復号化装置において、前記符号化データを順方向から復号する順方向復号手段と、前記符号化データを逆方向から復号する逆方向復号手段と、前記順方向復号手段および逆方向復号手段の復号結果から最終的な復号結果を出力する復号値決定手段とを具備し、前記順方向復号化手段および逆方向復号手段の各々は前記符号化データの誤りを検出する手段を有し、前記復号値決定手段は、前記順方向および逆方向復号手段で検出した符号化データの誤り検出位置と、伝送系または蓄積系の誤り率と、各々の符号語の生起確率と、符号語テーブル中の各符号語のビットパターンから、誤りの存在する範囲を推定して、最終的な復号値を決定することを特徴とする。
【0026】
この可変長復号化装置においては、伝送系または蓄積系の誤り率と符号語の性能に応じて、誤り発見位置から、実際の誤りが存在する位置を確率的に推定することで、本来は正しくない符号語が誤って正しい符号語として復号されてしまうことを一定確率以下に低減することが可能となる。
【0027】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【0028】
(第1の実施形態)
図1には、本発明の第1実施形態に係る可変長符号化/復号化装置の構成が示されている。この可変長符号化/復号化装置は、可変長符号化データの生成およびその復号を行うものであり、可変長符号化データには同期符号が定期的に挿入され、また可変長符号として順方向及び逆方向の双方向に復号可能なリバーシブル符号(Reversibel VLC)が用いられている。
【0029】
可変長符号化装置11は、図示のように、符号化器111、符号語テーブル112、および同期区間設定部113から構成されている。符号語テーブル112には、各情報シンボルに対応して予め作成された可変長符号語が格納されている。この符号語テーブル112の中には、順方向にも逆方向にも復号可能なリバーシブル符号も各情報シンボルに対応して格納されている。符号化器111は、符号語テーブル112を参照して情報シンボルを可変長符号語に符号化するものであり、符号語テーブル112に格納されている符号語の中から入力された情報シンボルに対応した符号語を選択して出力する。同期区間設定部113では、符号化器111が選択した符号語を同期区間毎にまとめ、さらに順方向にも逆方向にも復号可能なスタッフィング符号を挿入して、同期区間毎に符号化データを出力する。この符号化データは、伝送系または蓄積系13を通して可変長復号化器12に送られる。
【0030】
可変長復号化器12は、同期区間検出部121、バッファ122、2つのスイッチS,T、順方向復号化器123、順方向符号語テーブル124、復号値決定部125、逆方向復号化器126、および逆方向符号語テーブル127から構成されている。
【0031】
可変長復号化器12においては、同期区間検出部106によって、伝送系または蓄積系13より入力された符号化データの同期区間が検出され、その同期区間毎に符号化データの復号処理が行われる。
【0032】
伝送系または蓄積系13より入力された符号化データが順方向のみ復号可能な可変長符号の場合は、スイッチSはA側につながれ、順方向復号化器123によって順方向符号語テーブル124を用いた通常の順方向復号が行われる。順方向復号化器123によって復号された符号化データは復号値決定部125に送られる。
【0033】
符号化データが双方向に復号可能な可変長符号の場合は、スイッチSはB側につながれ、同期区間内の全ての符号化データはバッファ122に一旦蓄えられる。そして、順方向復号化器123等によってバッファ122に蓄えられた符号化データのビット数をカウントすることなどにより、双方向に復号可能な可変長符号からなる符号化データの総ビット数が調べられる。この後、バッファ122から符号化データが読み出され、順方向復号化器123によって順方向符号語テーブル124を用いた通常の順方向復号が開始される。この順方向復号は、符号化データに誤りがあるか否かを調べながら行われる。
【0034】
具体的には、順方向符号語テーブル124に存在しないビットパターンが出現した場合や、復号化した符号化データのビット長の合計が前述の総ビット数に達しないまま復号化すべきデータが無くなった場合、あるいは、シンタクス(符号化データの文法上の規則)上あり得ない状態が生じた場合などに、その発見位置で誤りが生じていると検出する。シンタクス上あり得ない状態とは、例えば、上位階層の符号化データによって下位階層の対応する各符号化データに含まれる符号語数が指定されている場合に、その指定された符号語数と、各符号化データに含まれる符号語数とが一致しない状態などを意味する。
【0035】
どのような条件で符号化データの誤りが発見された場合であっても、誤り発見以前に復号化が正常に完了している順方向の復号結果と共に、その誤りを発見した位置を示す情報として、ビット上の誤り発見位置とシンタクス上の誤り発見位置とが復号値判定部125に送られる。ここで、ビット上の誤り発見位置は、同期開始から数えて誤りが検出された位置が何ビット目の符号化データであるかを示し、またシンタクス上の誤り発見位置としては、例えば、その同じ誤りについてそれが検出された位置が同期開始から数えて何符号語目の符号化データであるかなど示す。
【0036】
順方向復号化器123によって誤りが発見された場合には、スイッチTがオンされ、バッファ122に蓄えられた符号化データが今度は逆方向復号化器126に送られ、そこで逆方向符号語テーブル127を用いた逆方向からの復号が開始される。この逆方向復号も、符号化データに誤りがあるか否かを調べながら行われる。誤り検出の条件は順方向復号化器123の場合と同一であり、逆方向復号において誤りが発見された場合には、誤り発見以前に復号化が正常に完了している逆方向の復号結果と共に、その誤りを発見した位置を示す情報として、ビット上の誤り発見位置とシンタクス上の誤り発見位置が復号値判定部125に送られる。
【0037】
復号値決定部125では、順方向復号化器123の復号結果と逆方向復号化器126の復号結果をつきあわせて最終的な復号結果を決定する。すなわち、順方向復号化器123および逆方向復号化器126それぞれから通知されるビット上とシンタクス上の双方の誤り発見位置に基づいて正しい符号語と正しくない符号語との境界が2重に判定され、かなりの確率で正しい符号語と想定される符号語についてのみその復号値として順方向からの復号結果と逆方向からの復号結果が選択的に用いられ、それ以外の符号語は廃棄される。
【0038】
図2は、本実施形態の符号化データのシンタクスの一例を示した図である。
【0039】
図2(a)に示されているように、符号化データは上位階層のD情報と下位階層のG情報との2つの階層に分かれており、1つのDの符号語に対して、Gの符号語がm個づつ存在するように符号化されている。D情報がn個の符号語から構成される場合には、そのD情報に続くG情報はn×m個の符号語から構成されることになる。ここでは、D情報とそれに続くG情報とを単位として同期区間が設定されており、そこには再同期マーカ(RM1)が挿入されている。また、D情報とG情報の間にも再同期マーカ(RM2)が設定されている。
【0040】
また、D情報は、通常の順方向のみ復号可能な可変長符号で符号化されており、G情報は双方向に復号可能な可変長符号で復号されている。従って、このシンタクスでは、G情報の総符号語数は、D情報を復号した時点で判明し、n×m個あることがわかる。このG情報の総符号語数の値は、誤り発見位置をシンタクス上の位置で示すため、つまり同期開始位置から終了位置までに属する符号語の中の何番目の符号語にて発生したかを判定するため等に用いられる。
【0041】
図3および図4は、双方向復号可能な可変長符号から構成されるG情報の符号化データを復号する場合における復号値決定部304の動作を示した図である。
【0042】
はじめに、G情報について次のような関数を定義する。
【0043】
L …総ビット数
W …総符号語数(=n×m)
W1 …順方向に復号した符号語数
W2 …逆方向に復号した符号語数
L1 …順方向に復号したビット数
L2 …逆方向に復号したビット数
f_code(L1) …順方向にL1ビット復号した時の符号語数
b_code(L2) …逆方向にL2復号した時の符号語数
図3(a)は、順方向復号化器123および逆方向復号化器126それぞれによる誤り発見位置が、ビット上の位置でも符号語上の位置でも交差しない場合、つまり、L1+L2<L、かつW1+W2<Wとなる場合を示している。この場合は、T符号語さかのぼった位置までの符号化データを使うことにし、順方向から、W1−T個、逆方向から、W2−T個の符号語を使用し、残りの符号語を廃棄する。
【0044】
ここでは、T符号語さかのぼることにしたが、G情報をTビットあるいはTブロックさかのぼることにしてもよい。
【0045】
図3(b)は、順方向復号化器123および逆方向復号化器126それぞれによる誤り発見位置が、ビット上の位置では交差しないが、符号語上の位置で交差する場合、つまり、L1+L2<L、かつW1+W2≧Wとなる場合を示している。このような状況は、例えば実際に誤りが混入している位置からしばらくは、符号化データに含まれる各符号語が、その本当のビット数よりも少ないビット数のビットパターンを持つ符号語として復号化されてしまった場合などに発生する。
【0046】
この場合は、順方向から、W−W2個、逆方向から、W−W1個の符号語を使用し、残りの符号語を廃棄する。
【0047】
図4(a)は、順方向復号化器123および逆方向復号化器126それぞれによる誤り発見位置が、ビット上の位置で交差するが、符号語上の位置では交差しない場合、つまり、L1+L2≧L、かつW1+W2<Wとなる場合を示している。このような状況は、例えば実際に誤りが混入している位置からしばらくは、符号化データに含まれる各符号語が、その本当のビット数よりも多いビット数を持つビットパターンの符号語として復号化されてしまった場合などに発生する。
【0048】
この場合には、順方向から、W−b_code(L2) マクロブロック、逆方向から、W−f_code(L1) マクロブロックの符号語を使用し、残りの符号語を廃棄する。
【0049】
図4(b)は、順方向復号化器123および逆方向復号化器126それぞれによる誤り発見位置が、ビット上の位置でも符号語上の位置でも交差する場合、つまり、L1+L2≧LかつW1+W2≧Wとなる場合を示している。この場合は、順方向から、 min{W−b_code(L2) ,W−W2}個、逆方向から、 min{W−f_code(L1) ,W−W1}個の符号語を使用し、残りの符号語を廃棄する。
【0050】
なお、ここでは、図2のシンタクスを用いることにより、G情報の総符号語数が判明することを利用して、シンタクス上の位置として符号語の位置を用いたが、その他、シンタクスを利用した論理的な位置を用いるのであれば、どのようなものでも適用は可能である。
【0051】
次に、本実施形態の可変長復号化器12による復号化処理方法の手順について説明する。
【0052】
本復号化処理方法は、図1で説明したように、基本的には、双方向から復号可能な可変長符号語を用いた符号化データに誤りが検出されるまでは順方向からの復号化処理を行い、この順方向からの復号化処理において誤りが検出されたとき、今度は、その符号化データに誤りが検出されるまで逆方向からの復号化処理を開始し、そして、順方向および逆方向からの復号結果と、順方向および逆方向からの復号においてそれぞれ検出された符号化データのビット上の誤り発見位置とシンタクス上の誤り発見位置とを利用して復号値を決定するというものである。
【0053】
図5は、リバーシブル符号からなる可変長符号化データの復号化処理方法の手順を示すフローチャートである。
【0054】
まず、前述の関数L,W,W1,W2,L1,L2,f_ code(L1),b_ code(L2)を定義してから、同期区間の先頭のG情報から順方向の復号を開始する(ステップS101)。もしこの順方向の復号処理で同期区間内に何ら誤りが発見されなければ、復号処理を終了する(ステップS102)。一方、もし順方向の復号処理で誤りが発見された場合には、同期区間の末尾のG情報から逆方向の復号を開始する(ステップS103)。順方向の復号処理で誤りが発見された場合には、通常、逆方向の復号処理でも誤りが発見されることになる。
【0055】
もし、誤り発見位置がビット上の位置でも符号語上の位置でも交差しない場合、つまり、L1+L2<L、かつW1+W2<Wとなる場合は(ステップS104)、T符号語さかのぼった位置までの符号化データを使うこととし、順方向から、W1−T個、逆方向から、W2−T個の符号語を使用し、残りの符号語を廃棄する(ステップS105)。
【0056】
もし、誤り発見位置が、ビット上の位置では交差しないが、符号語上の位置で交差する場合、つまり、L1+L2<L、かつW1+W2≧Wとなる場合は(ステップS106)、順方向から、W−W2個、逆方向から、W−W1個の符号語を使用し、残りの符号語を廃棄する(ステップS107)。
【0057】
もし、誤り発見位置が、ビット上の位置で交差するが、符号語上の位置では交差しない場合、つまり、L1+L2≧L、かつW1+W2<Wとなる場合には(ステップS108)、順方向から、W−b_code(L2) マクロブロック、逆方向から、W−f_code(L1) マクロブロックの符号語を使用し、残りの符号語を廃棄する(ステップS109)。
【0058】
もし、誤り発見位置が、それ以外の場合、具体的には、ビット上の位置でも符号語上の位置でも交差する場合、つまり、L1+L2≧L、かつW1+W2≧Wとなる場合には、順方向から、 min{W−b_code(L2) ,W−W2}個、逆方向から、min {W−f_code(L1) ,W−W1}個の符号語を使用し、残りの符号語を廃棄する(ステップS110)。
【0059】
(第2の実施形態)
図6には、本第2実施形態に係る動画像信号の可変長符号化/復号化装置の構成が示されている。
【0060】
この動画像符号化/復号化装置は、動画像符号化器21、動画像復号化器22、および伝送系または蓄積系23から構成されている。
【0061】
動画像符号化器21においては、情報源符号化器202で符号化されたデータは動画像多重化器203にて上位階層と下位階層とに分けられてそれぞれ可変長符号化され、そしてそれらの多重化および同期区間の設定等が行われ、そして送信バッファ204で平滑化された後、符号化データとして伝送系または蓄積系23に送り出される。符号化制御部201は、送信バッファ204のバッファ量を考慮して、情報源符号化器202と動画像多重化器203の制御を行う。
【0062】
一方、動画像復号化器22においては、伝送系または蓄積系23からの符号化データが受信バッファ205に溜められ、動画像多重化分離器206で符号化データの同期区間毎に上位階層と下位階層との多重化分離とそれらの可変長復号化が行われた後、情報源復号化器207に送られ、最終的に動画像情報が復号化される。
【0063】
ここで、動画像多重化器203および動画像多重化分離器206には、第1実施形態で説明した可変長符号化/復号化装置が適用されている。
【0064】
図7は、本第2実施形態における動画像多重化分離器206のブロック図である。
【0065】
受信バッファ205で受信された符号化データは、多重化分離器501に送られ、そこで同期区間が検出されて、同期区間毎に上位階層と下位階層の符号化データを分離し、それぞれ上位階層可変長復号化器502、下位階層可変長復号化器503に送られ、可変長復号化される。
【0066】
図8は、本第2実施形態で用いられる動画像符号化データのシンタクスを示している。
【0067】
符号化データは、ビデオパケット毎に上位階層と下位階層に階層化されている。上位階層データと下位階層データには、それぞれ再同期マーカ(RM)とモーションマーカ(MM)によって同期区間が設定されている。また、下位階層のSTはスタッフィング符号である。
【0068】
このシンタクスでは、動画像信号の予測符号化の単位となるマクロブロックのモード情報の一部と動きベクトル情報を上位階層とし、モード情報の一部と、INTRA DC(フレーム内符号化におけるDCT係数のDC値)と、DCT係数情報を下位階層としている。これら各情報間にもその区切りを示す同期符号が設定されている。また、DCT係数情報には、リバーシブル符号を適用している。
【0069】
通常、ビデオパケットは複数のマクロブロックを含んでおり、上位階層のヘッダ情報にはそのビデオパケットに含まれる先頭のマクロブロック番号が設定されている。また、上位階層におけるモード情報1と動きベクトル情報はマクロブロック毎に設定されており、モード情報1と動きベクトル情報とのループの数は、そのビデオパケットに含まれるマクロブロックの個数だけ存在する。
【0070】
図9は、本第2実施形態における下位階層可変長復号化器503の構成を示すブロック図である。
【0071】
前述したように図7の多重化分離器501で同期区間毎に上位階層と下位階層の符号化データに分離されたデータのうち下位階層の符号化データは、下位階層可変長復号化器503に送られる。
【0072】
この下位階層可変長符号化器503では、シンタクス上で、DCT係数情報になるまでは、スイッチSはA側につながれて、順方向復号化器704によって順方向符号語テーブル703を用いた通常の順方向復号が行われる。順方向復号化器704で復号された符号化データは、復号値決定部705に送られ、誤りが発見された場合には、上位階層可変長復号化器502の復号結果とつきあわせて復号結果を決定する。
【0073】
符号化データがDCT係数情報の場合は、スイッチSはB側につながれ、同期区間内の全てのDCT係数情報はバッファ702に蓄えられる。そして、順方向復号化器704等によってバッファ702に蓄えられた符号化データのビット数をカウントすることなどにより、双方向に復号可能な可変長符号からなるDCT係数情報の総ビット数が調べられる。この後、バッファ702から符号化データが読み出され、順方向復号化器704によって順方向符号語テーブル703を用いた通常の順方向復号が開始される。この順方向復号は、符号化データに誤りがあるか否かを調べながら行われる。
【0074】
具体的には、順方向符号語テーブル703に存在しないビットパターンが出現した場合や、復号化した符号化データのビット長の合計が前述の総ビット数に達しないまま復号化すべきデータが無くなった場合、あるいは、シンタクス上あり得ない状態が生じた場合などに、その発見位置で誤りが生じていると検出する。シンタクス上あり得ない状態とは、例えば、8x8のDCT係数の各ブロックにおいて零ランの数と非零係数の個数との合計が64個よりも大きい状態などを意味する。
【0075】
どのような条件で符号化データの誤りが発見された場合であっても、誤り発見以前に復号化が正常に完了している順方向の復号結果と共に、その誤りを発見した位置を示す情報として、ビット上の誤り発見位置とシンタクス上の誤り発見位置とが復号値決定部705に送られる。ここで、ビット上の誤り発見位置は、DCT係数情報の同期開始から数えて誤りが検出された位置が何ビット目の符号化データであるかを示し、またシンタクス上の誤り発見位置は、例えば、その同じ誤りについてそれが検出された位置が同期開始から数えて何番目のマクロブロックであるかなど示す。
【0076】
順方向復号化器704によって誤りが発見された場合には、スイッチTがオンされ、バッファ122に蓄えられた符号化データが今度は逆方向復号化器708に送られ、そこで逆方向符号語テーブル707を用いた逆方向からの復号が開始される。この逆方向復号も、双方向に復号可能なDCT係数情報からなる符号化データに誤りがあるか否かを調べながら行われる。誤り検出の条件は順方向復号化器704の場合と同一であり、逆方向復号において誤りが発見された場合には、誤り発見以前に復号化が正常に完了している逆方向の復号結果と共に、その誤りを発見した位置を示す情報として、ビット上の誤り発見位置とシンタクス上の誤り発見位置が復号値決定部705に送られる。
【0077】
復号値決定部705では、順方向復号化器704の復号結果と逆方向復号化器708の復号結果をつきあわせて最終的な復号結果を決定する。すなわち、順方向復号化器704および逆方向復号化器708それぞれからの通知されるビット上とシンタクス上の双方の誤り発見位置に基づいて正しいマクロブロックと正しくないマクロブロックとの境界が2重に判定され、かなりの確率で全ての符号語が正しいと思われるマクロブロックに対してのみその復号値として順方向からの復号結果と逆方向からの復号結果が選択的に用いられ、それ以外の他のマクロブロックについては廃棄される。
【0078】
図10は、情報源復号化器207の構成の一例を示している。
【0079】
情報源復号化器207には、動画像多重化分離器206で分離および可変長復号化されたモード情報、動きベクトル情報、DCT係数情報等が入力される。
【0080】
モード情報が入力されるモード判定回路804では、モード情報がINTRAならば、モード切替スイッチ805をオフに選択してフレームメモリ806から切り離し、DCT係数情報を、逆量子化回路801で逆量子化し、IDCT回路802で逆離散コサイン変換処理をおこなうことにより、再生画像信号を生成させる。この再生画像信号は、フレームメモリ806に参照画像として蓄積される一方、再生画像信号として表示装置に出力される。
【0081】
モード情報がINTERならば、モード切替スイッチ805をオンに選択してフレームメモリ806と接続し、DCT係数情報を、逆量子化回路801で逆量子化し、IDCT回路802で逆離散コサイン変換処理をおこない、これに、動きベクトル情報に基づいてフレームメモリ806の参照画像を動き補償したものとを、加算器803で足しあわせて、再生画像信号を生成させる。この再生画像信号は、フレームメモリ806に参照画像として蓄積される一方、再生画像信号として出力される。
【0082】
図11および図12は、双方向復号可能な可変長符号から構成されるDCT係数情報の符号化データを復号する場合における復号値決定部705の動作を示した図である。
【0083】
はじめに、DCT係数情報について次のような関数を定義する。
【0084】
L …総ビット数
N …総マクロブロック数
N1 …順方向に復号したマクロブロック数
N2 …逆方向に復号したマクロブロック数
L1 …順方向に復号したビット数
L2 …逆方向に復号したビット数
f_mb(L) …順方向にLビット復号した時のマクロブロック数
b_mb(L) …逆方向にLビット復号した時のマクロブロック数
図11(a)は、順方向復号化器704および逆方向復号化器708それぞれによる誤り発見位置が、ビット上の位置でもマクロブロック上の位置でも交差しない場合、つまり、L1+L2<L、かつN1+N2<Nとなる場合を示している。この場合は、Tビットさかのぼった位置までのビットを使うことにし、順方向から、f_mb(L1-T) マクロブロック、逆方向から、b_mb(L2-T) マクロブロックの係数情報を使用し、残りの係数情報を廃棄する。
【0085】
ここでは、Tビットさかのぼることにしたが、T符号語、あるいは、Tブロック、あるいは、Tマクロブロックさかのぼることにしてもよい。
【0086】
図11(b)は、順方向復号化器704および逆方向復号化器708それぞれによる誤り発見位置が、ビット上の位置では交差しないが、マクロブロック上の位置で交差する場合、つまり、L1+L2<L、かつN1+N2≧Nとなる場合を示している。この場合は、順方向から、N−N2−1マクロブロック、逆方向から、N−N1−1マクロブロックの係数情報を使用し、残りの係数情報を廃棄する。
【0087】
図12(a)は、順方向復号化器704および逆方向復号化器708それぞれによる誤り発見位置が、ビット上の位置で交差するが、マクロブロック上の位置では交差しない場合、つまり、L1+L2≧L、かつN1+N2<Nとなる場合を示している。この場合は、順方向から、N−b_mb(L2) マクロブロック、逆方向から、N−f_mb(L1) マクロブロックの係数情報を使用し、残りの係数情報を廃棄する。
【0088】
図12(b)は、順方向復号化器704および逆方向復号化器708それぞれによる誤り発見位置が、ビット上の位置でもマクロブロック上の位置でも交差する場合、つまり、L1+L2≧L、かつN1+N2≧Nとなる場合を示している。この場合、順方向から、min {N−b_mb(L2) ,N−N2−1}マクロブロック、逆方向から、min {N−f_mb(L1) ,N−N1−1}マクロブロックの係数を使用し、残りの係数を廃棄する。
【0089】
ここで、DCT係数廃棄したマクロブロックについては、INTRAモードの場合、前画面をそのまま表示するか、あるいは符号化を行わないモードとして処理し、INTERモードの場合は、上位階層の動きベクトル(MV)を利用して、動き補償(MC)で表示するように復号値を決定する。
【0090】
また、図11(a),(b)、図12(a),(b)のいずれかの状態になった場合は、図13に示すように、誤りが発見されていない場合にも、同期区間内の一部または全てのINTRAモードのマクロブロックのDCT係数を廃棄し、その部分については、前画面をそのまま表示するか、符号化を行わないモードとして処理するようにしても良い。INTRAモードは、誤りが生じた場合に画面に与える影響が大きい。具体的には、間違った係数が表示されることによって不自然な色のブロックが画面内に現れるという現象が生じる。従って、同期区間内に少なくとも誤りが生じていることが分かっているのであれば、INTRAモードのマクロブロックを廃棄しておく方が画面への影響を少なくすることができる。
【0091】
また、本第2実施形態では、マクロブロック単位にDCT係数の廃棄を行ったが、ブロック単位で行ってもよいことはいうまでもない。
【0092】
次に、本第2実施形態の下位階層可変長復号化器503による復号化処理方法の手順について説明する。
【0093】
本復号化処理方法は、図9で説明したように、基本的には、双方向から復号可能な可変長符号語から構成されるDCT係数情報に誤りが検出されるまでは順方向からの復号化処理を行い、この順方向からの復号化処理において誤りが検出されたとき、今度は、そのDCT係数情報に誤りが検出されるまで逆方向からの復号化処理を開始し、そして、順方向および逆方向からの復号結果と、順方向および逆方向からの復号においてそれぞれ検出されたビット上の誤り発見位置とシンタクス上の誤り発見位置とを利用して復号値を決定するというものである。
【0094】
以下、図14のフローチャートを参照して、AC成分のDCT係数部に対する復号処理の手順を説明する。
【0095】
まず、前述の関数L,N,N1,N2,L1,L2,f_mb(L) ,b_mb(L) を定義してから、順方向の復号処理を開始する(ステップS201)。もし、この順方向復号処理で誤りが発見されなければ、復号処理は終了する(ステップS202)。一方、もし順方向の復号処理で誤りが発見された場合には、逆方向の復号を開始する(ステップS203)。順方向の復号処理で誤りが発見された場合には、通常、逆方向の復号処理でも誤りが発見されることになる。
【0096】
もし、誤り発見位置がビット上の位置でもマクロブロック上の位置でも交差しない場合、つまり、L1+L2<L、かつN1+N2<Nとなる場合は(ステップS204)、Tビットさかのぼった位置までのビットを使うこととし、順方向から、f_mb(L1-T) マクロブロック、逆方向から、b_mb(L2-T) マクロブロックの係数情報を使用し、残りの係数情報を廃棄する(ステップS205)。
【0097】
もし、誤り発見位置が、ビット上の位置では交差しないが、マクロブロック上の位置で交差する場合、つまり、L1+L2<L、かつN1+N2≧Nとなる場合には(ステップS206)、順方向から、N−N2−1マクロブロック、逆方向から、N−N1−1マクロブロックの係数情報を使用し、残りの係数情報を廃棄する(ステップS207)。
【0098】
もし、誤り発見位置が、ビット上の位置で交差するが、マクロブロック上の位置では交差しない場合、つまり、L1+L2≧L、かつN1+N2<Nとなる場合には(ステップS208)、順方向から、N−b_mb(L2) マクロブロック、逆方向から、N−f_mb(L1) マクロブロックの係数情報を使用し、残りの係数情報を廃棄する(ステップS209)。
【0099】
もし、誤り発見位置が、それ以外の場合、具体的には、ビット上の位置でもマクロブロック上の位置でも交差する場合、つまり、L1+L2≧L、かつN1+N2≧Nとなる場合には、順方向から、min {N−b_mb(L2) ,N−N2−1}マクロブロック、逆方向から、min {N−f_mb(L1) ,N−N1−1}マクロブロックの係数を使用し、残りの係数を廃棄する(ステップS210)。
【0100】
そして、誤りが発見されている場合、その同区期間内の全てのINTRAモードのマクロブロックのDCT係数を廃棄し、前画面をそのまま表示するか、符号化を行わないモードとして処理する(ステップS211)。
【0101】
DCT係数を廃棄したマクロブロックについては、INTRAモードの場合、前画面をそのまま表示するか、符号化を行わないモードとして処理し、INTERモードの場合は、上位階層の動きベクトル(MV)を利用して、動き補償(MC)で表示するように復号値を決定する(ステップS212)。
【0102】
次に、本第2実施形態の動画像符号化/復号化装置で用いられる符号語テーブルの具体的な構成例とそれを用いたリバーシブル符号の符号化/復号化動作について説明する。
【0103】
図6の情報源符号化器202では、量子化後の8x8のDCT係数のブロック毎にブロック内スキャンを行って、LAST(0:ブロックの最後でない非零係数、1:ブロックの最後の非零係数)、RUN(非零係数までの零ランの数)およびLEVEL(係数の量子化値)を求め、動画像多重化部203に送る。
【0104】
動画像多重化部203は上位階層可変長符号化部と下位階層可変長符号化部とを含んでおり、リバーシブル符号を用いた可変長符号化を行う下位階層可変長符号化部の符号語テーブルには、図18乃至図22に示す4個のテーブルが含まれている。図18は、INTRA(フレーム内符号化)の非LAST係数のRUNおよびLEVELから図21,22の符号語テーブルのINDEX値を検索するためのINDEXテーブルである。図19は、INTER(フレーム間符号化)の非LAST係数のRUNおよびLEVELから図21,22の符号語テーブルのINDEX値を検索するためのINDEXテーブルである。図20は、INTRAおよびINTER共通のLAST係数のRUNおよびLEVELから図21,22の符号語テーブルのINDEX値を検索するためのINDEXテーブルである。図21および図22は、INDEX値とリバーシブル可変長符号語(VLC−CODE)とを対応づけた符号語テーブルである。また、固定長のリバーシブル符号語に変換するためのテーブルとして、図23のRUN固定長符号語テーブル、および図24のLEVEL固定長符号語テーブルも用いられる。
【0105】
以下、図15のフローチャートを参照して、これらテーブルを用いた下位階層可変長符号化部による可変長符号化処理の手順を説明する。
【0106】
まず、上位階層のモード情報で指定された予測モードに応じて使用するINDEXテーブルが選択される(ステップS11)。この場合、予測モードがINTRAであれば図18のINDEXテーブルと図20のINDEXテーブルが選択され、予測モードがINTERであれば図19のINDEXテーブルと図20のINDEXテーブルが選択される。
【0107】
次に、符号化すべきDCT係数のRUNおよびLEVELの値が、使用するINDEXテーブルに定義されたRUNおよびLEVELの最大値以下であるか否かが調べられる(ステップS12)。INDEXテーブルに定義されたRUNおよびLEVELの最大値以下であれば、そのRUNおよびLEVELの値を用いてINDEXテーブルを検索し、図21および図22の符号語テーブルを検索するためのINDEX値を得る(ステップS13)。次に、INDEXテーブルから得られたINDEX値が“0”であるか否かが判断され(ステップS14)、“0”以外であれば、図21および図22の符号語テーブルを検索してINDEX値に対応するリバーシブル符号語を出力する(ステップS15)。ここで、図21および図22の符号語テーブルにおけるリバーシブル符号語の最終ビット“s”はLEVELの正負の符号を示しており、“s”が“0”のときはLEVELの符号は正、“s”が“1”のときはLEVELの符号は負である。
【0108】
一方、符号化すべきRUNおよびLEVELの値が、使用するINDEXテーブルに定義されたRUNおよびLEVELの最大値を越える場合、またはINDEXテーブルから得たINDEX値が“0”であれば、(LAST,RUN,LEVEL)を固定長符号化し、その両端にESCAPE符号を付けたものを出力する(ステップS16)。すなわち、RUNおよびLEVELの値はそれぞれ図23のRUN固定長符号語テーブルおよび図24のLEVEL固定長符号語テーブルによって6ビットと7ビットの固定長符号に変換され、これら固定長符号の先頭には、図25に示されているように、LASTの値に対応する1ビットが付加される。さらに、その符号列の両端に、ESCAPE符号が付加される。先頭のESCAPE符号は“00001”であり、末尾のESCAPE符号は図21および図22の符号語テーブルにおけるINDEX値=“0”によって検索されるリバーシブル符号“0000s”である。このリバーシブル符号“0000s”の最終ビットの“s”はLEVELの正負の符号を示しており、“s”が“0”のときはLEVELの符号は正、“s”が“1”のときはLEVELの符号は負である。
【0109】
次に、順方向復号化器704および逆方向復号化器708それぞれによるリバーシブル符号の復号処理方法を説明する。
【0110】
順方向符号語テーブル703および逆方向符号語テーブル707には、それぞれ前述の図21および図22に示した符号語テーブル、図23のRUN固定長符号語テーブル、図24のLEVEL固定長符号語テーブルに加え、図26および図27に示すような復号値テーブルが符号語テーブルとして予め用意されている。図26および図27の復号値テーブルには、INTRAとINTERのそれぞれのモードについてINDEX値に対応する(LAST、RUN、LEVEL)の復号値が設定されている。
【0111】
まず、図16のフローチャートを参照して、順方向の復号処理について説明する。
【0112】
まず、符号化データの復号処理が行われ、図21および図22に示した符号語テーブルを用いてリバーシブル符号語に対応するINDEX値が求められる(ステップS21)。次いで、そのINDEX値が“0”であるか否かがチェックされ(ステップS22)、“0”以外の場合には、図26および図27の復号値テーブルをINDEX値とモードとによって検索することにより、使用されている予測モードとINDEX値に対応する(LAST、RUN、LEVEL)の復号値を得る(ステップS23)。INDEX値が“0”の場合は、ESCAPE符号であるから、そのESCAPE符号に続く(LAST,RUN,LEVEL)の固定長符号を図23および図24の固定長符号語テーブルを用いて復号する(ステップS24)。次いで、末尾のESCAPE符号を復号する(ステップS25)。そして、符号語の最後の1ビットを用いてLEVELの正負の判定が行われる(ステップS26)。
【0113】
次に、図17のフローチャートを参照して、逆方向の復号処理について説明する。
【0114】
まず、符号語の最初の1ビットで、LEVELの正負が決定される(ステップS31)。次いで、図21および図22に示した符号語テーブルを用いてリバーシブル符号語に対応するINDEX値が求められる(ステップS32)。次いで、そのINDEX値が“0”であるか否かがチェックされ(ステップS33)、“0”以外の場合には、図26および図27の復号値テーブルを、INDEX値と予測モードとによって検索することにより、使用されている予測モードとINDEX値とに対応する(LAST、RUN、LEVEL)の復号値を得る(ステップS34)。INDEX値が“0”の場合は、ESCAPE符号であるから、次に続く(LEVEL,RUN,LAST)の固定長符号を図23および図24の固定長符号語テーブルを用いて復号する(ステップ35)。次いで、先頭のESCAPE符号を復号する(ステップS36)。
【0115】
次に、本第2実施形態において順方向および逆方向の各復号処理で行われる誤り発見処理の手順について説明する。
【0116】
図28は、順方向符号語テーブル124に存在しないビットパターンが符号化データに出現したことを理由に誤りを発見する場合のフローチャートである。
【0117】
まず、順方向または逆方向の復号処理で用いられる符号語テーブルに該当する符号語が存在するか否かを確認するために、前述の符号化データの復号処理で得たINDEX値が存在するか否かを確認する(ステップS301)。もしINDEX値が存在しなければ、存在しない符号語パターンが出現したと判定され、そこで誤りが発見される(ステップS306)。
【0118】
一方、INDEX値が存在する場合には、まず、そのINDEX値が“0”であるか否かを調べる(ステップS302)。INDEX値が“0”の場合は、ESCAPE符号で符号化している場合であるので、(LAST,RUN,LEVEL)の組み合わせが符号語テーブルに存在するか否かを調べる(ステップS303)。符号語テーブルに存在する組み合わせの場合には、存在しない符号語パターンが出現したと判定され、そこで誤りが発見される(ステップS306)。また、(LAST,RUN,LEVEL)の組み合わせが符号語テーブルに存在しなかった場合には、固定長符号の後にESCAPE符号が存在するか否かを確認する(ステップS304)。もしESCAPE符号が存在しなければ、存在しない符号語パターンが出現したと判定されてそこで誤りが発見され(ステップS306)、またESCAPE符号が存在すれば、正しい符号化ビットパターンであると判定され、正しい復号化処理が行われる(ステップS305)。
【0119】
一方、INDEX値が符号語テーブルに存在し、且つINDEX値が“0”以外の場合は、正しい符号化ビットパターンであると判定され、正しい復号化処理が行われる(ステップS305)。
【0120】
図29は、シンタクス上あり得ない状態が生じていることを理由に誤りを発見する場合のフローチャートである。この例では、8x8のDCT係数のブロック毎に零ランの数とゼロ以外の非零係数の個数との合計が64個よりも大きいか否かのチェックを行っている。
【0121】
すなわち、まず、8x8のDCT係数の中の直流成分がAC成分のDCT係数部の符号化データに含まれているか否かを調べ(ステップS401)、含まれているならば、零ランの数と非零係数の個数との合計を示す変数SUMに、初期値として“0”をセットし(ステップS402)、含まれてない場合には、変数SUMに初期値として“1”をセットする(ステップS403)。
【0122】
次に、(LAST,RUN,LEVEL)によって与えられる各DCT係数の符号化データの可変長復号がLAST=“1”になるまで繰り返し実行される(ステップS404〜S407)が、この処理においては、ステップS404で(LAST,RUN,LEVEL)の可変長復号が行われる度、非零係数までの零ランの数を示すRUNの値に+1したもの、つまりRUN+1の値が、変数SUMに足し込まれる(ステップS405)。ここで、RUNの値に+1するのは、零係数および非零係数のどちらであっても一個分の係数が復号処理されたことになるためである。そして、変数SUMの値が64よりも大きいか否かをチェックし(ステップS406)、もし変数SUMの値が64よりも大きければ、そのときにシンタクスエラーの発生が検出される(ステップS409)。
【0123】
LAST係数が“1”になるまでの間にシンタクスエラーが発見されなければ、そのブロックの復号処理が正常終了される(ステップS408)。
【0124】
(両端にESCAPE符号をつける場合の別の構成例)
図30と図31は、両端にESCAPE符号をつける場合の別の構成である。RUNおよびLEVELの値は、それぞれ図23のRUN固定長符号語テーブルおよび図30のLEVEL固定長符号語テーブルによって6ビットと11ビットの固定長符号に変換される。この時、LEVELの両端には、零ランの個数を制限するために、“1”のMarker Bitを立てる。この符号列の先頭には、図31に示されるように、LASTの値に対応する1ビットが付加される。さらに、その符号列の両端に、ESCAPE符号が付加される。先頭のESCAPE符号は、“00001”であり、末尾のESCAPE符号は図21及び図22の符号語テーブルにおけるINDEX値=“0”によって検索されるリバーシブル符号“0000s”である。このリバーシブル符号“0000s”の最終ビット“s”はLEVELの正負の符号を示しており、“s”が“0”のときはLEVELの符号は正、“s”が“1”のときはLEVELの符号は負である。
【0125】
図33は、図15に対応する下位階層の可変長符号化による可変長符号化処理手順を示している。
【0126】
ステップS101〜S105はそれぞれ図15のステップS11〜S15と同じであり、図15との違いは、ステップS106の部分である。ここでは、LEVELの両端にMarker Bitが立てられる。
【0127】
図34および図35は、順方向復号器704および逆方向復号器708それぞれによるリバーシブル符号の復号処理方法を示している。
【0128】
図34の順方向復号処理におけるステップS201,S202,S203,S205,S206は図16の順方向復号処理を構成するステップS21,S22,S23,S25,S26と同じであり、図16との違いは、ステップS204である。ステップS204では、ESCAPE符号に続く(LAST,RUN,LEVEL)の固定長符号のみならず、ESCAPE符号に続く(LAST,RUN,LEVEL)およびMarker Bitの固定長符号が復号される。
【0129】
同様に、図35の逆方向復号処理におけるステップS301,S302,S303,S305,S306は図17の逆方向復号処理を構成するステップS31,S32,S33,S35,S36と同じであり、図17との違いは、ステップS305である。ここでは、(LEVEL,RUN,LAST)の固定長符号のみならず、(LEVEL,RUN,LAST)およびMarker Bitの固定長符号が復号される。
【0130】
なお、本例では、両端にESCAPE符号をつける場合の構成として、RUNが6ビットで、LEVELの固定符号長が7ビットの場合と、11ビットの場合を示したが、その他のビット数であっても構わない。
【0131】
図32は、両端にESCAPE符号をつける場合の他の構成である。例えば、LEVELの固定符号長が長く、零ランの個数制限を越える場合には、図32のように、LEVELの固定長符号の間にMarker Bitを挿入することが好ましい。例えば再同期マーカーなどの同期符号の符号長が17ビット(16ビットの零ラン+1;“00000000000000001”)の場合には、同期符号と他の符号語との混同を避けるために、零ランの個数は15ビット以下に制限される。この場合、LEVELの固定長符号が長く、その零ランの個数が16ビットを越える可能性がある場合には、図32のようにLEVELの固定長符号の間にMarker Bitが挿入される。これにより、LEVELの固定符号長が長い場合でも同期符号との混同を避けることが可能となる。
【0132】
図36は、AC−DCT部の存在しない符号語パターンの検出方法を示したフローチャートである。これは、図28に対応するものである。
【0133】
まず、符号語テーブルに符号語が存在するかどうか確認するために、INDEX値が存在するか確認する(ステップS401)。もし、INDEX値が存在しなければ、存在しない符号語パターンが生じている(ステップS407)。
【0134】
もし、INDEX値が存在した場合は、INDEX値が0かどうか確認し(ステップS402)、もし、INDEX値が0の場合は、ESPACE符号で符号化してある場合で、(LAST,RUN,LEVEL)の組を復号して、符号語テーブルの方に存在するかどうか調べる(ステップS403)。符号語テーブルに存在する組合せの場合は、存在しない符号語パターンが生じている(ステップS407)。
【0135】
また、Marker Bitが正しいか確認する(ステップS404)。もし、Marker Bitが正しくない場合、存在しない符号語パターンが生じている(ステップS407)。
【0136】
もし、INDEX値が0以外の場合は、正しく復号化が行われている(S405)。
【0137】
もし、符号語テーブルに存在しない組合せの場合で、Marker Bitが正しい場合、固定長符号の後にESCAPE符号が存在するか確認する(ステップS405)。もし、ESCAPE符号が存在しない場合、存在しない符号語パターンが生じている(ステップS407)。もし、ESCAPE符号が存在した場合、正しく復号が行われている(ステップS407)。
【0138】
このように、本例では、順方向および逆方向の各復号処理で行われる誤り検出処理の中に、Marker Bitが正しいか否かの判定処理が加えられている。
【0139】
(両端にESCAPE符号をつける場合のさらに他の構成例)
図37と図38は、両端にESCAPE符号をつける場合のさらに他の構成である。ここでは、LEVELの値が図37のように2の補数表現で表される場合を想定している。この場合、LEVELの符号語によってその正負が特定されるので、符号列の末尾のESCAPE符号は“00001”となり、LEVELの正負を示す符号“s”は使用されない。
【0140】
RUNおよびLEVELの値は、それぞれ図23のRUN固定長符号語テーブルおよび図37のLEVEL固定長符号語テーブルによって、固定長符号に変換される。この時、LEVELの両端には、零ランの個数を制限するために、“1”のMarker Bitを立てる。この符号列の先頭には、図38に示されるように、LASTの値に対応する1ビットが付加される。さらに、その符号列の両端に、ESCAPE符号が付加される。
【0141】
また、LEVELの固定符号長によっては、LEVELと末尾のESCAPE符号との間のMarker Bitの挿入は省略できる。この例を図39に示す。図39では、LEVELの固定符号長が12ビットの場合が示されている。
【0142】
LEVELの零ランの個数は、LEVELの固定符号長−2ビットになるので、LEVELの固定符号長が13ビット以下であれば、末尾のESCAPE符号の4ビットの零ランと合わせても、合計の零ラン個数は、同期符号が17ビットの場合の制限値(16ビット)よりも小さくなる。
【0143】
また、前述したように零ランの個数制限は同期符号のビット数で決まるので、同期符号の符号長を長く設定した場合には、図40および図41に示されているように、LEVELの符号語として絶対値と2の補数表現のどちらを用いた場合でもMarker Bitの挿入を省略することができる。
【0144】
逆に、LEVELの符号語として2の補数表現を使用した場合でも、図32と同様にして、零ランの個数制限を越えないように、LEVELの符号語内にもMarker Bitを挿入しても良い。図42はこの例である。
【0145】
図43は、LEVELの符号語として2の補数表現を使用し、且つMarker Bitを挿入した場合、つまり図38、図39または図42の符号化データ列を使用した場合における順方向復号化処理の手順を示している。
【0146】
LEVELの符号語として絶対値を使用する図34の順方向復号化処理との違いは、ステップS206の処理が省略されている点である。つまり、LEVELの符号語として2の補数表現を使用した場合には、ステップS204における(LAST,RUN,LEVEL)およびMarker Bitの固定長符号の復号処理にて、LEVELの符号の正負も判定されることになる。
【0147】
図44は、LEVELの符号語として2の補数表現を使用し、且つMarker Bitを挿入した場合、つまり図38、図39または図42の符号化データ列を使用した場合における逆方向復号化処理の手順を示している。
【0148】
LEVELの符号語として絶対値を使用する図35の逆方向復号化処理との違いは、ステップS301の処理が省略されている点である。つまり、LEVELの符号語として2の補数表現を使用した場合には、ステップS304における(LEVEL,RUN,LAST)およびMarker Bitの固定長符号の復号処理にて、LEVELの符号の正負も判定されることになる。
【0149】
図45は、LEVELの符号語として2の補数表現を使用し、且つMarker Bitを使用しない場合、つまり図41の符号化データ列を使用した場合ににおける順方向復号化処理の手順を示している。図43との違いは、ステップS204にて、(LAST,RUN,LEVEL)の固定長符号についてのみの復号処理が行われる点である。
【0150】
図46は、LEVELの符号語として2の補数表現を使用し、且つMarker Bitを使用しない場合、つまり図41の符号化データ列を使用した場合における逆方向復号化処理の手順を示している。図44との違いは、ステップS305にて、(LEVEL,RUN,LAST)の固定長符号についてのみの復号処理が行われる点である。
【0151】
(第3の実施形態)
次に、第1および第2実施形態の復号値決定処理に適用可能な誤り範囲の推定方法を、本発明の第3実施形態として説明する。
【0152】
図47は、本発明の第3実施形態に係る可変長復号化器109の構成を示すブロック図である。
【0153】
可変長復号化器109は第1および第2実施形態と同様に可変長符号を含む符号化データを同期区間毎に復号するものであり、その基本構成は第1および第2実施形態と同じである。
【0154】
すなわち、可変長復号化器109では、符号化データが順方向のみ復号可能な可変長符号の場合は、スイッチSはAにつながれて、順方向復号化器104にて通常の順方向復号が行われる。順方向復号化器104で復号された符号化データは、復号値決定部105に送られる。
【0155】
符号化データが双方向に復号可能な可変長符号の場合は、スイッチS101はBにつながれ、符号化データは、バッファ102に蓄えられ、符号化データの総ビット数が調べられた後に、順方向復号化器104で復号される。
【0156】
順方向復号化器104で誤りが発見された場合には、スイッチT105がオンされて、バッフ102に蓄えられた符号化データを逆方向復号化器108で逆方向からの復号が行われる。
【0157】
順方向復号化器104および逆方向復号化器108では、存在しない符号語が出現した場合などに、誤りが生じたと判断する。
【0158】
復号値決定部105では、順方向復号化器104の復号結果と逆方向復号化器108の復号結果をつきあわせて最終的な復号結果を決定する。
【0159】
以下、双方向復号可能な可変長符号の符号化データの場合の復号値決定部105の動作について説明する。
【0160】
本第3実施形態では、順方向および逆方向復号処理で検出した符号化データの誤り検出位置と、伝送系または蓄積系の誤り率と、各々の符号語の生起確率と、符号語テーブル中の各符号語のビットパターンから、誤りの存在する範囲を推定することにより、最終的な復号値が決定される。つまり、前述したように、第1および第2実施形態では、誤りが検出された位置からある一定量(T符号語)の範囲を固定的に誤り伝搬範囲として特定するようにしたが、本第3実施形態では、誤り伝搬範囲の推定によって最適なTの値が求められる。
【0161】
ところで、無記憶情報源の最適符号化であるHuffman符号の符号長は、2元の場合、次のようなKraftの不等式を等号で満たすことが知られている。
【0162】
【数1】
Figure 0003884172
【0163】
ここで、xは、符号Xの符号語、l (x) は、xの符号長とする。
【0164】
しかし、本発明のように同期区間が設定されて、同期符号が挿入される場合、同期符号のパターン(例えば、000…01)とぶつからないような設計がなされるため、Kraftの不等式を等号で満足していない符号が用いられている。
【0165】
【数2】
Figure 0003884172
【0166】
例えば、図48および図49のような符号の場合、同期符号とぶつからないように“0000”を禁止符号語としている。この様な符号では、誤りが混入して可変長符号が正しく復号できなくなった時に、出現しないパターン“0000”が生じると、誤りであることを検出することができる。
【0167】
符号化データが伝送または蓄積される伝送系または蓄積系の通信路モデルとしては、図50のような誤り率ε、(0<ε<1)の2元対称通信路を仮定すると、符号語xを送信し、受信系列yを受信する条件付き確率P(y x)は、ビットの挿入、欠落は考慮しないので、
【数3】
Figure 0003884172
【0168】
となる。ここで、d(x,y) は、系列xと系列yのハミング距離である。
【0169】
その結果、系列yを受信する確率P(y) は、
【数4】
Figure 0003884172
【0170】
となる。今、符号Xの符号語数は有限、全てのxに対して、P(x) >0とする。
【0171】
ただし、ビットストリームに誤りが入った状態から、誤りが検出されるまでの状態を解析するためには、まず、少なくとも1ビットは誤りが入った状態(初期状態I)を考える必要がある。
【0172】
今、符号語xが1ビットも誤らない確率は、(1−ε)1(x)なので、少なくとも各符号語に1ビットは誤りが入るような条件付き確率を考えると、
【数5】
Figure 0003884172
【0173】
となる。
【0174】
今、対象としている瞬時復号可能な符号の場合、誤りがない場合の受信系列yは、符号木の根の部分からスタートして、必ず葉の部分に到達する。
【0175】
しかし、誤りがある場合には、受信系列yは、符号木の葉の部分だけでなく節点の状態でスタートまたは、受信される可能性があるので、図51のような状態遷移図で表現することができる。各状態への遷移確率tijは、
【数6】
Figure 0003884172
【0176】
によって、状態iから状態jに遷移する時の状態遷移確率tijを求めることができる。ここで、関数V(y,i j)は、状態iの時、受信系列yで、状態jに遷移するならば、値1、そうでないならば、値0をとる。
【0177】
ここで、各状態を次のように定義する。
【0178】
I 初期状態
S 同期状態
i 非同期状態 i=1,…,N−2
D 誤り検出状態
図51は、符号語の状態遷移図の例であり、図52は、符号語の状態遷移表である。
【0179】
行列Tは、状態遷移表のうち、各状態から誤り検出される確率を除いた部分で
【数7】
Figure 0003884172
【0180】
と定義し、一方、ベクトルDは、各状態から、誤り検出状態に遷移する確率とする。
【0181】
【数8】
Figure 0003884172
【0182】
初期状態Iからスタートするので誤り検出状態を除く各状態の確率の初期確率は、
【数9】
Figure 0003884172
【0183】
と置けるので、i符号語後の誤り検出状態を除く各状態の確率は、
【数10】
Figure 0003884172
【0184】
で、計算できる。
【0185】
従って、i符号語後に誤りが検出される確率は、i−1符号語後に各状態にいて、その次に検出される確率だから、
【数11】
Figure 0003884172
【0186】
となる。ただし、T0 は、単位行列Iとする。
【0187】
推定確率aを設定して、その確率で誤りが検出できる符号語数を計算できる。
【0188】
【数12】
Figure 0003884172
【0189】
となる最小のjを求めてF(a) とすることで、誤りの存在範囲を確率的に推定できる。このF(a) は、前述したように第1および第2実施形態におけるTに相当するものである。
【0190】
つまり、誤りを検出できた位置から、F(a) 符号語分さかのぼった範囲に確率aで誤りが存在するということである。また、復号処理の立場から考えると、この値によって、誤りを検出できた位置から、F(a) 符号語分さかのぼることにより、誤りの伝搬している可能性のある箇所を確率aで排除することが可能になる。
【0191】
復号値決定部105は、順方向符号語テーブル103と逆方向符号語テーブル108と符号語の生起確率P(x) と通信路の誤り率εと推定確率aから、順方向の誤りの存在する範囲F1(a)と逆方向の誤りの存在する範囲F2(a)を計算し、誤り検出位置との関係から、廃棄する部分を決定する。
【0192】
もし、図53(a)のように、順方向の誤り検出位置と逆方向の誤り検出位置が交差しない場合は、それぞれの検出位置から、誤りの存在する範囲F1(a) 2(a)の分だけさかのぼって廃棄する範囲を増やす。
【0193】
もし、図53(b)のように、順方向の誤り検出位置と逆方向の誤り検出位置が交差し、かつ、交差する範囲が誤りの存在する範囲より大きい場合、交差する範囲を廃棄する範囲とする。
【0194】
もし、図53(c)のように、順方向の誤り検出位置と逆方向の誤り検出位置が交差し、かつ、交差する範囲が誤りの存在する範囲より小さい場合、誤りが存在する範囲を廃棄する範囲とする。
【0195】
また、F(a) に平均符号長をかけることで、ビット数で推定することも可能である。
【0196】
【数13】
Figure 0003884172
【0197】
この場合は、復号値決定部105は、図54のような動作をとる。図53の場合と同様に、もし、図54(a)のように、順方向の誤り検出位置と逆方向の誤り検出位置が交差しない場合は、それぞれの検出位置から、誤りの存在する範囲B1(a) 2(a)の分だけさかのぼって廃棄する範囲を増やす。
【0198】
もし、図54(b)のように、順方向の誤り検出位置と逆方向の誤り検出位置が交差し、かつ、交差する範囲が誤りの存在する範囲より大きい場合、交差する範囲を廃棄する範囲とする。
【0199】
もし、図54(c)のように、順方向の誤り検出位置と逆方向の誤り検出位置が交差し、かつ、交差する範囲が誤りの存在する範囲より小さい場合、誤りが存在する範囲を廃棄する範囲とする。
【0200】
なお、本第3の実施形態においては、双方向に復号可能な可変長復号化器の場合の例を示したが、通常の順方向のみに復号可能な可変長復号化器の場合にも適用可能である。
【0201】
以上、説明したように本第3実施形態の可変長復号化装置においては、1)符号化データをその符号化データに誤りが検出されるまで順方向から復号し、2)順方向からの復号において符号化データに誤りが検出されたとき、符号化データを逆方向から復号し、3)順方向および逆方向からの復号結果と、順方向および逆方向からの復号においてそれぞれ検出された符号化データの誤り検出位置と、伝送系または蓄積系の誤り率と、各々の符号語の生起確率と、符号語テーブル中の各符号語のビットパターンから、誤りの存在する範囲を推定して、最終的な復号値を決定する、という手順にて復号処理が行われる。
【0202】
このように伝送系または蓄積系の誤り率と符号語の性能に応じて、誤り発見位置から、実際の誤りが存在する位置を確率的に推定することで、本来は正しくない符号語が誤って正しい符号語として復号されてしまうことを一定確率以下に低減することが可能となる。
【0203】
なお、以上説明した第1乃至第3実施形態の可変長復号化装置の復号化処理の手順は、コンピュータ読み取り可能なCD−ROMやDVD−ROM、DVD−RAMなどの記録媒体に格納されたコンピュータプログラムによって実現することもできる。これにより、可変長復号のための専用のハードウェアを持たないコンピュータなどにおいても、符号化データに含まれる誤りによる影響が少ない復号処理を行うことができる。また、第1乃至第3実施形態の可変長復号化装置の一部または全てのハードウェアを搭載し、その動作制御をコンピュータプログラムによって行うようにすることもできる。
【0204】
(第4実施形態)
次に、本発明の応用例として、本発明の実施形態1〜3の可変長符号化/復号化装置が組み込まれた動画像符号化/復号化システムの例を図55を用いて説明する。パーソナルコンピュータ(PC)1001に備え付けられたカメラ1002より入力された画像信号は、PC1001に組み込まれた動画像符号化器または動画像符号化ソフトウェアによって符号化される。符号化されたデータは、他の音声やデータの情報と多重化された後、無線機1003より無線で送信され、他の無線機1004によって受信される。無線機1004で受信された信号は、画像信号の符号化データおよび音声データに分解される。これらのうち、画像信号の符号化データはワークステーション(EWS)1005に組み込まれた動画像復号化器または動画像復号化ソフトウェアによって復号され、EWS1005のディスプレイに表示される。
【0205】
一方、EWS1005に備え付けられたカメラ1006より入力された画像信号は、EWS1005に組み込まれた動画像符号化器または符号化ソフトウェアを用いて上記と同様に符号化される。符号化データは、他の音声やデータの情報と多重化され、無線機1004により無線で送信され、無線機1003によって受信される。無線機1003によって受信された信号は、画像信号の符号化データおよび音声やデータの情報に分解される。これらのうち、画像信号の符号化データはPC1001に組み込まれた動画像復号化器または動画像復号化ソフトウェアによって復号され、PC1001のディスプレイに表示される。
【0206】
なお、動画像復号化ソフトウェアは、前述の各実施形態で説明した可変長復号化処理の手順をコンピュータに実行させるためのプログラムにより実現されるものである。
【0207】
また、以上説明した各実施形態1〜3の構成および符号化データ列の構造は適宜組み合わせて用いることが可能である。
【0208】
【発明の効果】
以上説明したように、本発明によれば、符号化データのビット上での誤り発見位置と符号化データのシンタクス上の誤り発見位置とを利用することにより、本来は正しくない符号語が正しいと復号される場合を減らすことができ、伝送路の誤りによる影響を抑えることのできる可変長復号化装置および方法を実現することができる。また、特に、本発明の可変長復号化装置および方法を動画像の復号化処理に適用することで、符号化された動画像信号が無線通信路などの伝送路誤りの多い環境を介して送信される場合であっても、伝送路誤りによる表示画面への影響を低減することが可能となる。さらに、誤りの伝搬範囲を推定することにより、本来は正しくない符号語が正しいと復号される確率をより低減することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る可変長復号化装置を用いた符号化/復号化システムの構成を示すブロック図。
【図2】同第1実施形態に係る可変長復号化装置で用いられる符号化データのシンタクスの例を示す図。
【図3】同第1実施形態に係る可変長復号化装置における復号値判定方法の原理を説明するための第1の図。
【図4】同第1実施形態に係る可変長復号化装置における復号値判定方法の原理を説明するための第2の図。
【図5】同第1実施形態に係る可変長復号化装置の復号値判定方法の手順を説明するフローチャート。
【図6】本発明の第2実施形態に係る動画像復号化装置を用いた動画像符号化/復号化システムの構成を示すブロック図。
【図7】同第2実施形態に係る動画像復号化装置の動画像多重化分離器の構成を示すブロック図。
【図8】同第2実施形態に係る動画像復号化装置で用いられる符号化データのシンタクスを示す図。
【図9】同第2実施形態に係る動画像復号化装置に設けられた下位階層可変長復号化器の構成を示すブロック図。
【図10】同第2実施形態に係る動画像復号化装置に設けられた情報源復号化器の構成を示すブロック図。
【図11】同第2実施形態に係る動画像復号化装置における復号値判定方法の原理を説明するための第1の図。
【図12】同第2実施形態に係る動画像復号化装置における復号値判定方法の原理を説明するための第2の図。
【図13】同第2実施形態に係る動画像復号化装置における復号値判定方法の原理を説明するための第3の図。
【図14】同第2実施形態に係る動画像復号化装置の復号値判定方法の手順を説明するフローチャート。
【図15】図6の動画像符号化/復号化システムの符号化器がリバーシブル符号を用いて動画像信号のDCT係数を可変長符号化する手順を説明するフローチャート。
【図16】図6の動画像符号化/復号化システムの順方向復号化器がリバーシブル符号を含む符号化データを可変長復号する手順を説明するフローチャート。
【図17】図6の動画像符号化/復号化システムの逆方向復号化器がリバーシブル符号を含む符号化データを可変長復号する手順を説明するフローチャート。
【図18】図6の動画像符号化/復号化システムの符号化器において、INTRAモードにおける非LAST係数のRUNおよびLEVELの値から符号語テーブルのINDEX値を検索するために用いられるINDEXテーブルを示す図。
【図19】図6の動画像符号化/復号化システムの符号化器において、INTERモードにおける非LAST係数のRUNおよびLEVELの値から符号語テーブルのINDEX値を検索するために用いられるINDEXテーブルを示す図。
【図20】図6の動画像符号化/復号化システムの符号化器において、LAST係数のRUNおよびLEVELから符号語テーブルのINDEX値を検索するために用いられるINDEXテーブルを示す図。
【図21】図6の動画像符号化/復号化システムにおいて使用される符号語テーブルの一部を示す図。
【図22】図6の動画像符号化/復号化システムにおいて使用される符号語テーブルの残りの部分を示す図。
【図23】図6の動画像符号化/復号化システムにおいて使用されるRUN用固定長符号語テーブルを示す図。
【図24】図6の動画像符号化/復号化システム使用されるLEVEL用固定長符号語テーブルを示す図。
【図25】図6の動画像符号化/復号化システムにおいて用いられる固定長リバーシブル符号のデータ形式を示す図。
【図26】図6の動画像符号化/復号化システムの復号化器において使用される符号語テーブルの一部を示す図。
【図27】図6の動画像符号化/復号化システムの復号化器において使用される符号語テーブルの残りの部分を示す図。
【図28】同第2実施形態に係る動画像復号化装置において、符号語に使用されてないビットパターンの出現によって誤りを検出する方法の手順を示すフローチャート。
【図29】同第2実施形態に係る動画像復号化装置において、シンタクス上あり得ない状態の出現によって誤りを検出する方法の手順を示すフローチャート。
【図30】LEVEL固定長符号語テーブルの他の構成の一例を示す図。
【図31】両端にESCAPE符号が付加された符号化データ列の他の構成例を示す図。
【図32】両端にESCAPE符号が付加された符号化データ列の別の構成例を示す図。
【図33】図31または図32の符号化データ列を使用した場合における符号化処理の手順を示すフローチャート。
【図34】図31または図32の符号化データ列を使用した場合における順方向復号化処理の手順を示すフローチャート。
【図35】図31または図32の符号化データ列を使用した場合における逆方向復号化処理の手順を示すフローチャート。
【図36】図31または図32の符号化データ列を使用した場合に用いられる誤り検出処理の手順を示すフローチャート。
【図37】2の補数表現を使用した場合のLEVEL固定長符号語テーブルの構成例を示す図。
【図38】図37のLEVEL固定長符号語テーブルを使用した場合における符号化データ列の構成例を示す図。
【図39】図37のLEVEL固定長符号語テーブルを使用した場合における符号化データ列の他の構成例を示す図。
【図40】符号化データ列の他の構成例を示す図。
【図41】図37のLEVEL固定長符号語テーブルを使用した場合における符号化データ列のさらに他の構成例を示す図。
【図42】図37のLEVEL固定長符号語テーブルを使用した場合における符号化データ列の別の構成例を示す図。
【図43】図38、図39または図42の符号化データ列を使用した場合に用いられる順方向復号化処理の手順を示すフローチャート。
【図44】図38、図39または図42の符号化データ列を使用した場合に用いられる逆方向復号化処理の手順を示すフローチャート。
【図45】図41の符号化データ列を使用した場合に用いられる順方向復号化処理の手順を示すフローチャート。
【図46】図41の符号化データ列を使用した場合に用いられる逆方向復号化処理の手順を示すフローチャート。
【図47】本発明の第3実施形態に係る可変長復号化装置の構成を示すブロック図。
【図48】Kraftの不等式を等号で満足しない符号を示す図。
【図49】Kraftの不等式を等号で満足しない符号の符号木を示す図。
【図50】2元対称通信路を説明する図。
【図51】2元対称通信路上の符号語の状態遷移図の例。
【図52】2元対称通信路上の符号語の状態遷移表。
【図53】同第3実施形態における復号値決定部の復号動作を示した図。
【図54】同第3実施形態における復号値決定部の別の復号動作を示した図。
【図55】本発明による可変長復号化装置が組み込まれるシステムの一例を示す図。
【図56】リバーシブル符号の一般的な復号方法を示す図。
【符号の説明】
11…可変長符号化器
12…可変長復号化器
13…伝送系/蓄積系
111…符号化器
112…符号語テーブル
113…同期区間設定部
121…同期区間検出部
S,T…スイッチ
122…バッファ
123…順方向復号化器
124…順方向符号語テーブル
125…復号値決定部
126…逆方向復号化器
127…逆方向符号語テーブル
21…動画像符号化器
22…動画像復号化器
23…伝送系/蓄積系
201…符号化制御部
202…情報源符号化器
203…動画像多重化器
204…送信バッファ
205…受信バッファ
206…動画像多重化分離器
207…情報源復号化器
501…多重化分離器
502…上位階層可変長復号化器
503…下位階層可変長復号化器
702…バッファ
703…順方向符号語テーブル
704…順方向復号化器
705…復号値決定部
707…逆方向符号語テーブル
708…逆方向復号化器
801…逆量子化回路
802…IDCT回路
803…加算器
804…モード判定回路
805…モード切替スイッチ
806…フレームメモリ
103…順方向符号語テーブル
104…順方向復号化器
105…復号値決定部
107…逆方向符号語テーブル
108…逆方向復号化器
1001…パーソナルコンピュータ
1002…ワークステーション
1003…無線機
1004…無線機
1005…カメラ
1006…カメラ

Claims (15)

  1. 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号する可変長復号化装置において、
    前記符号化データを順方向から復号する順方向復号手段と、
    前記符号化データを逆方向から復号する逆方向復号手段と、
    前記順方向復号化手段および逆方向復号手段の復号結果から最終的な復号結果を出力する復号値決定手段とを具備し、
    前記順方向復号化手段および逆方向復号手段の各々は前記符号化データの誤りを検出する手段を有し、
    前記復号値決定手段は、前記順方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置と、前記逆方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置とを利用して、復号値を決定することを特徴とする可変長復号化装置。
  2. 前記符号化データのシンタクス上の誤り発見位置として、前記同期区間内の何番目の符号語に誤りが生じたかを示す符号語上の誤り発見位置が使用されることを特徴とする請求項1記載の可変長復号化装置。
  3. 前記復号値決定手段は、
    前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、前記ビット上の誤り発見位置および前記シンタクス上の誤り発見位置のいずれか一方において交差する場合、より交差量の多い誤り発見位置間に属する符号化データを廃棄し、その廃棄データ領域の直前までの符号語に対する復号値として順方向の復号結果を使用し、廃棄データ領域の直後からの符号語に対する復号値として逆方向の復号結果を使用することを特徴とする請求項1記載の可変長復号化装置。
  4. 前記復号値決定手段は、
    (a)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差しない場合、
    前記順方向復号化手段による前記ビット上またはシンタクス上の誤り発見位置の一定量手前までの符号語に対する復号値として順方向の復号結果を使用し、前記逆方向復号手段による前記ビット上またはシンタクス上の誤り発見位置の一定量後からの符号語に対する復号値として逆方向の復号結果を使用し、残りの符号化データを廃棄し、
    (b)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置では交差しないが、シンタクス上の位置で交差する場合、
    前記逆方向復号化手段によるシンタクス上の誤り発見位置の直前までの符号語に対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるシンタクス上の誤り発見位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、シンタクス上の誤り発見位置が交差する部分の符号化データを廃棄し、
    (c)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置で交差するが、シンタクス上の位置では交差しない場合、
    前記逆方向復号化手段によるビット上の誤り発見位置の直前までの符号語に対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるビット上の誤り位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、ビット上誤り発見位置が交差する部分の符号化データを廃棄し、
    (d)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差する場合、
    交差する部分が最大となる位置を誤り発見位置として選択して、
    前記逆方向復号化手段による誤り発見位置の直前までの符号語に対する復号値として順方向の復号結果を使用し、前記順方向復号手段での誤り発見位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、誤り位置が交差する部分の符号化データを廃棄することを特徴とする請求項1記載の可変長復号化装置。
  5. 動画像信号を直交変換することによって得られた変換係数を順方向にも逆方向にも復号可能な符号語を用いて符号化することによって生成された可変長符号を含む前記動画像信号の符号化データを、所定の同期区間毎に復号する動画像復号化装置において、
    前記符号化データの同期区間を検出する手段と、
    前記同期区間検出手段により検出された所定の同期区間の符号化データを順方向から復号する順方向復号手段と、
    前記同期区間検出手段により検出された所定の同期区間の符号化データを逆方向から復号する逆方向復号手段と、
    前記順方向復号化手段および逆方向復号手段の復号結果から最終的な復号結果を出力する復号値決定手段とを有し、
    前記順方向復号化手段および逆方向復号手段の各々は前記符号化データの誤りを検出する手段を有し、
    前記復号値決定手段は、前記順方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置と、前記逆方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置とを利用して、復号値を決定することを特徴とする動画像復号化装置。
  6. 前記各同期区間内の符号化データはそれぞれ動画像信号の予測符号化の単位となる複数のマクロブロックの変換係数を含み、
    前記符号化データのシンタクス上の誤り発見位置として、前記同期区間内の何番目のマクロブロックに誤りが生じたかを示すマクロブロック上の誤り発見位置が使用されることを特徴とする請求項5記載の動画像復号化装置。
  7. 前記各同期区間内の符号化データはそれぞれ動画像信号の予測符号化の単位となる複数のマクロブロックの変換係数を含み、
    前記復号値決定手段は、
    (a)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差しない場合、
    前記順方向復号化手段によるビット上またはシンタクス上の誤り発見位置の一定量手前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記逆方向復号手段によるビット上またはシンタクス上の誤り発見位置の一定量後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、残りのマクロブロックの変換係数からなる符号化データを廃棄し、
    (b)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置では交差しないが、シンタクス上の位置で交差する場合、
    前記逆方向復号化手段によるシンタクス上の誤り発見位置の直前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるシンタクス上の誤り発見位置の直後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、シンタクス上の誤り発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄し、
    (c)前記順方向復号化手段および逆方向復号化手段での誤り発見位置が、ビット上の位置で交差するが、シンタクス上の位置では交差しない場合、
    前記逆方向復号化手段によるビット上の誤り発見位置の直前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるビット上の誤り発見位置の直後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、ビット上の誤り発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄し、
    (d)前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差する場合、
    交差する部分が最大となる位置を誤り発見位置と選択して、
    逆方向復号化手段による誤り発見位置の直前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記順方向復号手による誤り発見位置の直後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、誤り発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄することを特徴とする請求項5記載の動画像復号化装置。
  8. 前記復号値決定手段は、
    前記同期区間内の符号化データに誤りが検出された場合、誤りが検出されなかったマクロブロックの内で、フレーム内符号化を行ったマクロブロックの変換係数からなる符号化データを、一部または全て廃棄することを特徴とする請求項5または請求項7記載の動画像復号化装置。
  9. 前記復号値決定手段は、
    符号化データを廃棄したマクロブロックについて、フレーム内符号化モードの場合は前画面を表示するか、符号化を行わないモードとして処理し、フレーム間予測符号化モードの場合は動き補償を行うことを特徴とする請求項5または請求項7記載の動画像復号化装置。
  10. 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号する可変長復号化方法において、
    前記符号化データをその符号化データに誤りが検出されるまで順方向から復号し、
    前記順方向からの復号において前記符号化データに誤りが検出されたとき、前記符号化データを逆方向から復号し、
    前記順方向および逆方向からの復号結果と、前記順方向および逆方向からの復号においてそれぞれ検出された前記符号化データのビット上の誤り発見位置と前記符号化データのシンタクス上の誤り発見位置とを利用して、復号値を決定することを特徴とする可変長符号化データの復号化方法。
  11. 前記順方向からの復号および逆方向からの復号における誤り発見位置が、前記ビット上の誤り発見位置および前記シンタクス上の誤り発見位置のいずれか一方において交差する場合、より交差量の多い誤り発見位置間に属する符号化データを廃棄し、その廃棄データ領域の直前までの符号語に対する復号値として順方向の復号結果を使用し、廃棄データ領域の直後からの符号語に対する復号値として逆方向の復号結果を使用することを特徴とする請求項10記載の復号化方法。
  12. 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号するための手順を含むコンピュータプログラムが記録された記録媒体であって、
    前記プログラムは、
    前記符号化データをその符号化データに誤りが検出されるまで順方向から復号する手順と、
    前記順方向からの復号において前記符号化データに誤りが検出されたとき、前記符号化データを逆方向から復号する手順と、
    前記順方向および逆方向からの復号結果と、前記順方向および逆方向からの復号においてそれぞれ検出された前記符号化データのビット上の誤り発見位置と前記符号化データのシンタクス上の誤り発見位置とを利用して、復号値を決定する手順とを含むことを特徴とする記録媒体。
  13. 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号する可変長復号化装置において、
    前記符号化データを順方向から復号する順方向復号手段と、
    前記符号化データを逆方向から復号する逆方向復号手段と、
    前記順方向復号手段および逆方向復号化手段の復号結果から最終的な復号結果を出力する復号値決定手段とを具備し、
    前記順方向復号化手段および逆方向復号手段の各々は前記符号化データの誤りを検出する手段を有し、
    前記復号値決定手段は、前記順方向および逆方向復号手段で検出した符号化データの誤り検出位置と、伝送系または蓄積系の誤り率と、各々の符号語の生起確率と、符号語テーブル中の各符号語のビットパターンから、誤りの存在する範囲を推定して、最終的な復号値を決定することを特徴とする可変長復号化装置。
  14. 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号する可変長復号化方法において、
    前記符号化データをその符号化データに誤りが検出されるまで順方向から復号し、
    前記順方向からの復号において前記符号化データに誤りを検出したとき、前記符号化データを逆方向から復号し、
    前記順方向および逆方向からの復号においてそれぞれ検出された前記符号化データの誤り検出位置と、伝送系または蓄積系の誤り率と、各々の符号語の生起確率と、符号語テーブル中の各符号語のビットパターンから、誤りの存在する範囲を推定して、最終的な復号値を決定することを特徴とする可変長復号化方法。
  15. 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号するための手段を含むコンピュータプログラムが記録された記録媒体であって、
    前記プログラムは、
    前記符号化データをその符号化データに誤りが検出されるまで順方向から復号する手順と、
    前記順方向からの復号において前記符号化データに誤りが検出されたとき、前記符号化データを逆方向から復号する手順と、
    前記順方向および逆方向からの復号結果と、前記順方向および逆方向からの復号においてそれぞれ検出された前記符号化データの誤り検出位置と、伝送系または蓄積系の誤り率と、各々の符号語の生起確率と、符号語テーブル中の各符号語のビットパターンから、誤りの存在する範囲を推定して、最終的な復号値を決定する手順とを含むことを特徴とする記憶媒体。
JP18931798A 1997-10-02 1998-07-03 可変長復号化装置および復号化方法 Expired - Fee Related JP3884172B2 (ja)

Priority Applications (14)

Application Number Priority Date Filing Date Title
JP18931798A JP3884172B2 (ja) 1997-10-02 1998-07-03 可変長復号化装置および復号化方法
CA 2273169 CA2273169C (en) 1997-10-02 1998-10-02 Variable length decoder and decoding method
EP98945588A EP0966107A4 (en) 1997-10-02 1998-10-02 ENCODER FOR VARIABLE LENGTH WORDS AND DECODING METHOD
US09/319,160 US6829299B1 (en) 1997-10-02 1998-10-02 Variable length decoder and decoding method
CNB98802246XA CN1153353C (zh) 1997-10-02 1998-10-02 可变长度译码装置及译码方法
AU92826/98A AU726301B2 (en) 1997-10-02 1998-10-02 Variable-length decoding apparatus and decoding method
KR1019997004860A KR100334690B1 (ko) 1997-10-02 1998-10-02 가변길이 복호화 장치 및 복호화 방법
PCT/JP1998/004460 WO1999018674A1 (en) 1997-10-02 1998-10-02 Variable length decoder and decoding method
BR9806295A BR9806295A (pt) 1997-10-02 1998-10-02 Aparelho de decodificação e método de decodificação de comprimento variável
NO19992619A NO992619L (no) 1997-10-02 1999-06-01 Variabellengde-dekoder og fremgangsmate ved dekoding
US10/957,733 US7236530B2 (en) 1997-10-02 2004-10-05 Variable-length decoding apparatus and decoding method
US10/974,704 US7136416B2 (en) 1997-10-02 2004-10-28 Variable-length decoding apparatus and decoding method
US10/974,878 US7203239B2 (en) 1997-10-02 2004-10-28 Variable-length decoding apparatus and decoding method
US11/730,495 US20070183506A1 (en) 1997-10-02 2007-04-02 Variable-length decoding apparatus and decoding method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP26991697 1997-10-02
JP9-269916 1997-10-02
JP18931798A JP3884172B2 (ja) 1997-10-02 1998-07-03 可変長復号化装置および復号化方法

Publications (2)

Publication Number Publication Date
JPH11168393A JPH11168393A (ja) 1999-06-22
JP3884172B2 true JP3884172B2 (ja) 2007-02-21

Family

ID=26505412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18931798A Expired - Fee Related JP3884172B2 (ja) 1997-10-02 1998-07-03 可変長復号化装置および復号化方法

Country Status (10)

Country Link
US (5) US6829299B1 (ja)
EP (1) EP0966107A4 (ja)
JP (1) JP3884172B2 (ja)
KR (1) KR100334690B1 (ja)
CN (1) CN1153353C (ja)
AU (1) AU726301B2 (ja)
BR (1) BR9806295A (ja)
CA (1) CA2273169C (ja)
NO (1) NO992619L (ja)
WO (1) WO1999018674A1 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3884172B2 (ja) * 1997-10-02 2007-02-21 株式会社東芝 可変長復号化装置および復号化方法
DE19937456C2 (de) * 1999-08-07 2001-06-13 Bosch Gmbh Robert Rechner zur Datenverarbeitung und Verfahren zur Datenverarbeitung in einem Rechner
TW533738B (en) * 2000-10-31 2003-05-21 Matsushita Electric Industrial Co Ltd Received information record/regenerate method and received information record/regenerate device
US7215360B2 (en) * 2001-04-06 2007-05-08 Triveni Digital, Inc. Error propagation tree technology
JP3931595B2 (ja) * 2001-07-10 2007-06-20 株式会社日立製作所 データ修正装置及びデータ修正方法
CN1533635A (zh) * 2001-07-27 2004-09-29 �ʼҷ����ֵ������޹�˾ 信号编码
JP3775265B2 (ja) * 2001-08-16 2006-05-17 ソニー株式会社 信号処理装置および方法、記録再生装置および方法、ならびに、再生装置および方法
US7339500B2 (en) * 2001-10-03 2008-03-04 Sony Corporation Encoding method and decoding method
US7428684B2 (en) 2002-04-29 2008-09-23 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Device and method for concealing an error
DE10219133B4 (de) * 2002-04-29 2007-02-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verschleiern eines Fehlers
KR100585710B1 (ko) * 2002-08-24 2006-06-02 엘지전자 주식회사 가변길이 동영상 부호화 방법
ATE543178T1 (de) 2002-09-04 2012-02-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7602850B2 (en) * 2003-12-19 2009-10-13 Intel Corporation Content adaptive variable length coding (CAVLC) decoding
WO2006020934A2 (en) * 2004-08-13 2006-02-23 Conexant Systems, Inc. Systems and methods for decreasing latency in a digital transmission system
US20060218459A1 (en) * 2004-08-13 2006-09-28 David Hedberg Coding systems and methods
US20060059411A1 (en) * 2004-09-16 2006-03-16 Sony Corporation And Sony Electronics, Inc. Method and system for increasing channel coding gain
LT1800484T (lt) * 2004-10-05 2020-08-10 Vectormax Corporation Duomenų identifikavimo bei apdorojimo duomenų sraute sistema ir būdas
US7650031B2 (en) * 2004-11-23 2010-01-19 Microsoft Corporation Method and system for detecting black frames in a sequence of frames
US7693709B2 (en) * 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US7684981B2 (en) 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US7599840B2 (en) 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US7933337B2 (en) 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US7565018B2 (en) 2005-08-12 2009-07-21 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients
US8494042B2 (en) * 2006-01-09 2013-07-23 Lg Electronics Inc. Inter-layer prediction method for video signal
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
US8184710B2 (en) 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
US8265142B2 (en) * 2007-03-14 2012-09-11 Nippon Telegraph And Telephone Corporation Encoding bit-rate control method and apparatus, program therefor, and storage medium which stores the program
KR101075606B1 (ko) * 2007-03-14 2011-10-20 니폰덴신뎅와 가부시키가이샤 양자화 제어 방법 및 장치, 그 프로그램 및 프로그램을 기록한 기록 매체
KR101083379B1 (ko) * 2007-03-14 2011-11-14 니폰덴신뎅와 가부시키가이샤 움직임 벡터 탐색 방법 및 장치 그리고 프로그램을 기록한 기록매체
EP2120461B1 (en) * 2007-03-14 2011-07-06 Nippon Telegraph and Telephone Corporation Code quantity estimating method and device, their program, and recording medium
US8233537B2 (en) * 2007-03-19 2012-07-31 Texas Instruments Incorporated Efficient implementation of H.264 4 by 4 intra prediction on a VLIW processor
KR101086435B1 (ko) * 2007-03-29 2011-11-25 삼성전자주식회사 영상 데이터 스트림의 에러 검출 방법 및 그 장치
US7908463B2 (en) * 2007-06-26 2011-03-15 Globalfoundries Inc. Immediate and displacement extraction and decode mechanism
US7818542B2 (en) * 2007-07-10 2010-10-19 Globalfoundries Inc. Method and apparatus for length decoding variable length instructions
US8013765B1 (en) * 2008-05-01 2011-09-06 Cavium, Inc. Modular scaleable processing engine for accelerating variable length coding
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
FR2951896A1 (fr) * 2009-10-23 2011-04-29 France Telecom Procede d'encapsulation de sous-flux de donnees, procede de desencapsulation et programmes d'ordinateur correspondants
EP2612298A4 (en) 2010-09-03 2017-01-04 Telefonaktiebolaget LM Ericsson (publ) Co-compression and co-decompression of data values
US9280315B2 (en) * 2011-10-27 2016-03-08 Intel Corporation Vector processor having instruction set with vector convolution function for fir filtering
CN105323583B (zh) 2014-06-13 2019-11-15 财团法人工业技术研究院 编码方法、解码方法、编解码系统、编码器与解码器
CN109257136A (zh) * 2017-07-12 2019-01-22 中国科学院大学 联合信源信道与安全的jpeg2000算术码的双向编译码方法
JP2019165365A (ja) * 2018-03-20 2019-09-26 株式会社東芝 信号処理装置
US11152953B2 (en) * 2020-02-28 2021-10-19 Qualcomm Incorporated Error detection for a wireless channel
CN112422984B (zh) * 2020-10-26 2023-02-28 眸芯科技(上海)有限公司 多核解码系统的码流预处理装置、系统及方法
EP4248653A1 (en) * 2022-02-03 2023-09-27 Dream CHIP Technologies GmbH Gradient based pixel by pixel image spatial prediction

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02301280A (ja) 1989-05-15 1990-12-13 Nec Corp 動画像信号の符号化・復号化方式
WO1992019074A1 (en) 1991-04-10 1992-10-29 Mitsubishi Denki Kabushiki Kaisha Encoder and decoder
JPH05252055A (ja) * 1992-03-06 1993-09-28 Mitsubishi Electric Corp 符号化装置および復号化装置
JP2697479B2 (ja) * 1992-04-17 1998-01-14 国際電信電話株式会社 可逆可変長符号化方式
US5226082A (en) * 1992-07-02 1993-07-06 At&T Bell Laboratories Variable length decoder
KR100396971B1 (ko) * 1994-11-29 2003-11-03 산요덴키가부시키가이샤 인코드된비디오데이터의에러검출및처리기능을구비한비디오디코더
JP3431368B2 (ja) * 1995-04-14 2003-07-28 株式会社東芝 可変長符号化/復号化方法及び可変長符号化/復号化装置
EP1802129A3 (en) 1995-03-15 2008-10-22 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems
US6104754A (en) * 1995-03-15 2000-08-15 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
US6415398B1 (en) * 1995-09-29 2002-07-02 Kabushiki Kaisha Toshiba Coding system and decoding system
US5778191A (en) 1995-10-26 1998-07-07 Motorola, Inc. Method and device for error control of a macroblock-based video compression technique
EP0861001B1 (en) 1997-02-07 2012-05-23 Texas Instruments Incorporated Error resilient video encoding
JP3884172B2 (ja) * 1997-10-02 2007-02-21 株式会社東芝 可変長復号化装置および復号化方法
JP2000032393A (ja) * 1998-07-09 2000-01-28 Sony Corp 画像情報処理装置および方法、並びに提供媒体

Also Published As

Publication number Publication date
US20050084019A1 (en) 2005-04-21
NO992619L (no) 1999-08-02
US20070183506A1 (en) 2007-08-09
JPH11168393A (ja) 1999-06-22
US7203239B2 (en) 2007-04-10
US20050066318A1 (en) 2005-03-24
US7136416B2 (en) 2006-11-14
NO992619D0 (no) 1999-06-01
AU9282698A (en) 1999-04-27
CA2273169A1 (en) 1999-04-15
EP0966107A1 (en) 1999-12-22
BR9806295A (pt) 2000-04-11
WO1999018674A1 (en) 1999-04-15
CA2273169C (en) 2004-06-08
EP0966107A4 (en) 2000-12-13
KR20000069256A (ko) 2000-11-25
CN1153353C (zh) 2004-06-09
CN1246990A (zh) 2000-03-08
KR100334690B1 (ko) 2002-04-27
US6829299B1 (en) 2004-12-07
US7236530B2 (en) 2007-06-26
AU726301B2 (en) 2000-11-02
US20050041741A1 (en) 2005-02-24

Similar Documents

Publication Publication Date Title
JP3884172B2 (ja) 可変長復号化装置および復号化方法
JP5007012B2 (ja) ビデオ符号化方法
KR100495820B1 (ko) 비디오 코딩
JP3053781B2 (ja) 動画像圧縮符号の復号方法及び復号装置
JP2002027483A (ja) 画像符号化装置、画像復号化装置および記憶媒体
JP3756897B2 (ja) 動画像符号化装置及び動画像符号化方法
CA2477554A1 (en) Video processing
JP4131977B2 (ja) 可変長復号化装置
JP3819638B2 (ja) 可変長符号化装置
JP4302093B2 (ja) 動画像符号化装置及び動画像符号化方法
JP3905938B2 (ja) 画像符号化装置および画像復号化装置
JP4302094B2 (ja) 動画像復号化装置及び動画像復号化方法
JP3756900B2 (ja) 動画像復号化装置及び動画像復号化方法
JP3756901B2 (ja) 動画像復号化装置及び動画像復号化方法
JP3756902B2 (ja) 動画像復号化装置及び動画像復号化方法
JP3756899B2 (ja) 動画像復号化装置及び動画像復号化方法
JP4199240B2 (ja) 可変長復号化装置およびこの装置で用いられるデータまたはプログラムを記録した記録媒体
JP3474861B2 (ja) 動画像復号化装置及び動画像復号化方法
JP3474862B2 (ja) 動画像復号化装置及び動画像復号化方法
JP3756898B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2003087792A (ja) 動画像符号化装置
HK1114494B (en) Method and apparatus for video source encoding, and method and apparatus for video source decoding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061116

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131124

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees