JP2017153124A - 復号装置、及び復号方法 - Google Patents
復号装置、及び復号方法 Download PDFInfo
- Publication number
- JP2017153124A JP2017153124A JP2017078974A JP2017078974A JP2017153124A JP 2017153124 A JP2017153124 A JP 2017153124A JP 2017078974 A JP2017078974 A JP 2017078974A JP 2017078974 A JP2017078974 A JP 2017078974A JP 2017153124 A JP2017153124 A JP 2017153124A
- Authority
- JP
- Japan
- Prior art keywords
- data
- decoding
- unit
- length
- encoded data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】可変長符号化された符号化データの復号処理時間の短縮を図る。【解決手段】復号装置10は、切出部12と、復号部16と、を備える。切出部12は、可変長符号化された複数の符号化データを含む入力データを、複数の符号化データの最大符号長以上の予め定めた第1符号長毎に切出す。復号部16は、切出した切出データに含まれる符号化データを可変長復号する。【選択図】図1
Description
本発明の実施形態は、復号装置、及び復号方法に関する。
画像データの符号化方法として、符号長が固定の固定長符号化や、符号長が一様でない可変長符号化が知られている。例えば、符号化方式の一つであるMPEG−2では、量子化パラメータは0〜31までの範囲で設定可能であり、5ビットの固定長符号化を行うことが知られている。また、H.264等の符号化方式では、可変長符号化を採用することが知られている。
可変長符号化を行った場合、固定長符号化に比べて高い圧縮率の符号化データを得ることが出来る。しかし、可変長符号化により得られた符号化データの復号は、固定長符号化により得られた符号化データの復号に比べて時間がかかることが知られている。一方、固定長符号化により得られた符号化データは、復号時に要する処理時間は可変長符号化に比べて短いものの、圧縮率効率が低いことが知られている。
また、可変長符号化された符号化データを、重要度の高い固定長のパケットと重要度の低い固定長のパケットに分割し、伝送障害時に重要度の高いパケットを再送する技術も開示されている。
しかしながら、従来では、可変長符号化された符号化データを、高速に復号することは困難であった。
本発明が解決しようとする課題は、可変長符号化された符号化データの復号処理時間の短縮を図ることができる、復号装置、及び復号方法を提供することである。
実施形態の復号装置は、切出部と、復号部と、を備える。切出部は、可変長符号化された複数の符号化データを含む入力データを、前記複数の符号化データの最大符号長以上の予め定めた第1符号長毎に順に切出し、切出した切出データを格納データとして格納部に格納する。復号部は、前記格納部に格納された前記格納データを順次読み出し、読み出した前記格納データに含まれる前記符号化データを可変長復号する。復号部は、前記格納データに基づいた可変長復号が可能か否かを判断する判断部を含む。切出部は、前記判断部によって可変長復号が不可能と判断された場合、前記入力データから前記切出データを切出して前記格納データとして前記格納部に格納する。
(実施の形態1)
図1は、本実施の形態の復号装置10の機能的構成を示すブロック図である。復号装置10は、画像復号を行う装置である。復号装置10は、例えば、PC(パーソナルコンピュータ)の画面等、主に、CG(コンピュータグラフィックス)画像を扱う装置やシステムに組み込まれる。
図1は、本実施の形態の復号装置10の機能的構成を示すブロック図である。復号装置10は、画像復号を行う装置である。復号装置10は、例えば、PC(パーソナルコンピュータ)の画面等、主に、CG(コンピュータグラフィックス)画像を扱う装置やシステムに組み込まれる。
復号装置10は、画像復号LSI(Large Scale Integration)等のハードウェアで実装された装置に組み込まれる。復号装置10による復号処理によって高速に復号を行うことで、例えば、ディスプレイへの表示応答性を高めることができる。
本実施の形態の復号装置10は、復号対象の入力データを受け付け、復号し、復号データを出力する。
復号装置10が受け付ける入力データは、可変長符号化された複数の符号化データを含む。符号化データは、符号化装置(詳細後述)による可変長符号化によって得られたデータを示す。符号化データには、量子化パラメータの差分や、動きベクトル等が挙げられるが、これらに限定されない。
復号装置10は、切出部12、格納部14、及び復号部16を備える。
切出部12は、復号装置10で受け付けた入力データを、予め定めた第1符号長毎に切出す。
第1符号長は、受け付けた入力データに含まれる複数の符号化データの各々の符号長の内、最大符号長以上の値である。最大符号長とは、入力データを可変長符号化した場合にとりうる符号長のうち最大値を示す。最大符号長は、用いる可変長符号化の手法等で定まる。また、第1符号長は、入力データのデータ長以下の値である。なお、第1符号長は、復号装置10が受け付ける対象の入力データ毎に予め定められており、復号装置10の図示を省略するメモリ等に予め記憶されているものとする。
例えば、入力データのデータ長がXビットであったとする(Xは1以上の整数)。また、第1符号長がMビットであったとする(Mは1以上X以下の整数)。この場合、切出部12は、入力データを、第1符号長であるMビット毎に切出す。なお、第1符号長であるMビットを、以下では、単に「第1符号長M」と称して説明する場合がある。
格納部14は、切出部12で切出された切出データを格納する。格納部14は、公知の記憶媒体である。復号部16は、切出データに含まれる符号化データを可変長復号する。復号部16は、判断部16Aを備える。判断部16Aは、格納部14に格納されているデータ(以下、格納データと称する)を解析し、格納データに基づいた可変長復号が可能か否かを判断する。
図2は、復号装置10が実行する復号処理の手順を示すフローチャートである。
復号装置10では、入力データを受け付けると、図2に示す復号処理を実行する。
まず、切出部12が、受け付けた入力データを、第1符号長毎に切出す(ステップS100)。そして、切出部12は、切出した切出データを、格納部14へ格納する(ステップS102)。なお、切出部12は、格納部14にデータが格納されている場合には、このデータの終端に、新たに切出した切出データを結合して格納部14に格納する。格納データは、詳細は後述するが、切出部12によって切出されて格納部14に格納された切出データの内、格納部14に残存しているデータを示す。
次に、復号部16が、格納部14に格納されている格納データに含まれる符号化データを復号する(ステップS104)(詳細後述)。そして復号部16は、復号データを出力する。なお、復号部16は、復号した符号化データを、格納部14の格納データから削除する。このため、格納部14には、切出部12によって格納部14に格納された切出データの内、未復号の未復号データが格納データとして残った状態となる。
次に、判断部16Aが、格納部14に格納されている格納データを解析し(ステップS106)、格納データに基づいた可変長復号が可能か否かを判断する(ステップS108)(詳細後述)。
ステップS108で肯定判断すると(ステップS108:Yes)、ステップS104へ戻る。
一方、ステップS108で否定判断すると(ステップS108:No)、ステップS110へ進む。ステップS110では、切出部12が、復号対象の入力データに、未復号の未復号データが有るか否かを判断する(ステップS110)。切出部12は、例えば、入力データの全データが切出部12によって切出されたか否かを判別することによって、ステップS110の判断を行う。
ステップS110で肯定判断すると(ステップS110:Yes)、上記ステップS100へ戻る。一方、ステップS110で否定判断すると(ステップS110:No)、本ルーチンを終了する。
次に、復号装置10が実行する復号処理の詳細を、具体例を挙げて説明する。
図3は、入力データに含まれる複数の符号化データの一例を示す模式図である。なお、図3では、符号化データが、量子化パラメータの差分(図3中、delta_qp参照、以下、単に、delta_qpと称して説明する場合がある)を符号化した符号化データである場合を示している。また、図3中に示す符号化データは、各量子化パラメータの差分に対応する可変長符号化されたデータである。また、図3中、符号長は、対応する符号化データの符号長を示す。
例えば、図3に示すように、delta_qpの値が、−4〜+4であるものとし、各delta_qpに対応する符号化データが、図3に示す値であったとする。また、各符号化データの符号長が図3に示す値であったとする。
具体的には、delta_qp「−2」に対応する符号化データは、2進数で「0011」であり、符号長は「4」である。なお、以下では、2進数を表現する場合、“b”を付して表現する。すなわち、2進数の「0011」は、「0011b」と表記する。
図3に示す、複数の符号化データにおける最大符号長は、「6」である。このため、入力データが図2に示す複数の符号化データを含むデータである場合、復号装置10は、最大符号長「6」として切出しを行う。
図4は、切出部12による切出データの切出しを示す説明図である。図4に示すように、切出部12は、図3に示す複数の符号化データを含む入力データから、これらの符号化データの最大符号長以上の予め定めた第1符号長M毎に切出しを行う。本実施の形態では、第1符号長Mが「6」である場合を想定して説明する。また、入力データのデータ長がXビット(Xは、Mより大きい整数)である場合を想定して説明する。
なお、本実施の形態では、第1符号長Mは、1つの入力データに対して一定の値であるものとして説明する。なお、第1符号長Mは、1つの入力データに対して一定の値を用いることが、高速に復号処理を行う観点から好ましいが、1つの入力データに対する第1符号長Mの値は、入力データに含まれる符号化データの配列に応じて変更してもよい。具体的には、符号化データの符号長が規則的に変更する順に配列されている場合には、該変更規則に沿って第1符号長Mを変更してもよい。
切出部12は、入力データの先頭から順に、該入力データを第1符号長M毎に切出す。そして、切出部12は、切出したMビットの切出データを、順次、格納部14へ格納する。図4に示すように、格納部14に残存データ(例えば、αビット)が存在する場合、切出部12は、残存データの終端に、切出データを結合させる。このため、切出部12による切出し(図2中、ステップS100参照)及び格納(図2中、ステップS102参照)によって、例えば、格納部14には、M+αビットのデータ長の格納データが格納された状態となる。
なお、詳細は後述するが、復号部16は、格納データから符号化データを読取り復号する。このとき、復号部16は、格納部14に格納されている格納データから復号対象の符号化データを切出して、切出した符号化データを復号する。このため、格納部14には、切出部12が切出した切出データの内、復号部16によって未復号のデータが格納データとして格納されている状態となる。
図4に示すように、入力データのデータ長Xが、切出部12による切出単位である第1符号長Mの整数倍とならない場合もある。この場合、切出部12は、入力データを先頭から順に切出したときの最後の切出し時には、残存している第1符号長M未満のデータ長(X/Mの余りの値)のデータを切出せばよい。
切出データを格納する格納部14の記憶容量(以下、メモリサイズと称する)は、装置小型化等の観点から、最小限であることが好ましい。本実施の形態では、格納部14のメモリサイズは、下記式(1)によって示されるメモリサイズ以上であることが好ましい。
格納部14のメモリサイズ=M×2−L ・・・式(1)
式(1)中、Mは、第1符号長を示す。Lは、入力データに含まれる符号化データの最小符号長を示す。
格納部14にデータが格納されていない状態で、切出部12が切出データを格納部14に格納すると、格納部14に格納されている格納データのデータ長のとりうる最大値は第1符号長Mとなる。また、復号部16が格納データから復号対象の符号化データを切出して復号すると、格納部14における格納データのデータ長は、復号前の状態の格納データのデータ長から復号した符号化データのデータ長を減算した減算値となる。このため、復号部16による復号後の状態における、格納部14に格納されている格納データのデータ長のとりうる最大値は、第1符号長Mから、入力データに含まれる符号化データの最小符号長Lを減算した減算値(M−Lの値)となる。
この「M−L」のデータ長の格納データが格納部14に格納された状態で、更に、切出部12による次の切出し(ステップS100)及び格納(ステップS102)が行われたとする。この状態における格納データのデータ長のとりうる最大値は、「(M−L)+M」となる。
このため、格納部14は、「(M−L)+M」、すなわち、上記式(1)によって示される「M×2−L」のメモリサイズを少なくとも有する必要がある。このため、格納部14のメモリサイズは、上記式(1)によって示されるメモリサイズ以上であることが好ましい。
なお、本実施の形態では、格納部14のメモリサイズは、上記式(1)によって示されるメモリサイズである場合を説明する。
次に、復号部16による符号化データの復号について説明する。本実施の形態では、復号部16は、格納部14に格納されている格納データの先頭からデータを読込むことで符号化データ(例えばNバイト)を切出し、復号する。
このため、格納部14に格納されている格納データのデータ長が「M×2−L」の状態で復号部16が復号を実行すると、格納データのデータ長は、「M×2−L−N」となる。
本実施の形態では、復号部16は、ルックアップテーブルを用いて復号を行う場合を説明する。
具体的には、復号対象の入力データに含まれる複数の符号化データが、図3に示す符号化データであったとする。また、格納部14には、格納データとして、残存データ「01b」と切出データ「011000b」とからなる格納データ「01011000b」が格納された状態であったとする。
復号部16は、まず、復号対象の符号化データのデータ長を取得するためのルップアップテーブルを生成する。
図6は、復号部16による復号時に生成する生成途中のルックアップテーブルのデータ構造の一例を示す模式図である。図6中、「X」は任意の値(0または1)を示す。読込データは、復号部16が格納データから読込む対象のデータである。復号部16は、図6に示す「X」の組合せを全て展開し、読込データから符号化データ、及び該符号化データの切出長を取得するためのルックアップテーブルを作成する。
図7は、復号部16が復号時に生成したルックアップテーブルのデータ構造の一例を示す模式図である。図7に示すように、delta_qpが「0」の場合、2進数で示したときの先頭1ビット目の値は「1」である。このため、第1符号長Mの値である「6」に対して、残り5ビットは、どのような値でもよい。よって、復号部16は、図7に示すように、格納データから読み込んだ読込データの値が「32」〜「63」の範囲であれば、delta_qpの値は「0」であり、切出長は「1」であると解析する。
図5は、格納データの一例を示す模式図である。復号部16が、図5に示す格納データから、図7に示すルックアップテーブルに基づいて復号を行うとする。この場合、格納データにおける先頭から6ビット(第1符号長M)分のデータは、「010110b」である。このため、この格納データは、図6に示すルックアップテーブルにおける、「010XXX」に相当することから、delta_qpは「−1」、切出長は「3」であることがわかる。
このため、復号部16は、格納データ「01011000b」から復号データとして、量子化パラメータの差分(delta_qp)=「−1」を出力し、復号に用いた3ビット分のデータ「010b」を格納データから切出す。図8は、格納部14に格納されている、残存している格納データの一例を示す模式図である。図8に示すように、この場合、復号後に格納部14に格納されている格納データは、「11000b」の5ビットのデータとなる。
次に、復号部16の判断部16Aが、格納部14に残存する格納データを解析し、可変長復号可能か否かを判断する(図2中、ステップS106及びステップS108参照)。
詳細には、判断部16Aは、格納部14に格納されている格納データを読込み、解析することで、復号が可能か否かを判断する。この解析及び判断方法の一つとして、実際に復号を行い、符号化データが得られるか否かを判断する方法が挙げられる。
この場合に、復号部16が、格納部14に格納されている格納データに対して、図6及び図7のルックアップテーブルを利用するときには工夫が必要となる。
図6及び図7に示すルックアップテーブルは、上述したように、入力データに含まれる、可変長符号化された符号化データの内の最大符号長に基づいて作成したものである。このため、格納部14のメモリサイズを、上記式(1)を満たす値に最小化している本実施の形態では、格納データのデータ長は、第1符号長M未満の値となる。
このため、この場合、復号部16は、図6及び図7に示すルックアップテーブルの下位ビットを削除したルップアップテーブルを作成する必要がある。
具体的には、格納部14に、図8に示す格納データが格納されているとする。この格納データのデータ長は5ビット(「11000b」)である。このため、復号部16は、「6−5=1」ビット分を、図7に示すルックアップテーブルの下位ビットから削除し、図9に示すルックアップテーブルを作成する。
図9は、下位ビットを削除したルックアップテーブルの一例を示す模式図である。
すなわち、格納データが「00001b」である場合、切出長は「6」である。この場合、符号化データのデータ長が1ビット分足りないことが判明する。このため、この場合、判断部16Aは、格納データに基づいた可変長復号が不可能であると判断する(図2中、ステップS108:No)。
なお、図8に示す例では、格納部14に残存している格納データが「1XXXXb」であるため、復号データとしてのdelta_qpは「0」、切出長は「1」であることが判明する。このため、この場合、判断部16Aは、格納データに基づいた可変長復号が可能と判断する(図2中、ステップS108:Yes)。
なお、図2におけるステップS108の可変長復号が可能か否かの判断を、復号を行うことにより実行する場合には、ステップS108で肯定判断すると(ステップS108:Yes)、ステップS104の処理を省略し、ステップS106の処理を実行してもよい。これにより、復号処理効率の向上を更に図ることができる。
なお、上記では、復号部16は、ステップS108の判断を、格納データについて復号を行うことにより実行する場合を説明した。しかし、復号部16は、下記方法を用いることで、復号を行うことなく、格納データに基づいた可変長復号が可能か否かを判断してもよい。
例えば、復号部16は、格納部14に格納されている格納データの上位4ビットの論理和演算結果が「0」であるか「1」であるかを判別することで、格納データに基づいた可変長復号が可能か否かの判断を行ってもよい。
例えば、格納部14に格納されている格納データが、図8に示す格納データ「11000b」であったとする。
この場合、復号部16は、格納データの上位4ビットについて論理和演算(OR演算と称される場合もある)した結果が「0」であれば、可変長復号は不可能と判断する。これは、格納データの上位4ビットの論理和演算結果が「0」となる格納データは、「0000XXb」、すなわち、「000010b」または「000011b」であるためである。すなわち、この場合、復号には6ビット必要であるが、格納データのデータ長は5ビットであり、データが足りないためである。
一方、復号部16は、格納データの上位4ビットの論理和演算結果が「0」ではない場合、すなわち「1」である場合には、可変長復号可能と判断する。
このように、復号部16は、格納データの上位4ビットの論理和演算結果が「0」であるか否かを判別することで、格納データから可変長復号可能か否かを判断してもよい。この場合、復号を行いつつ可変長復号可能か否かを判断する方法に比べて、処理の簡略化及び処理時間の短縮を図ることができる。
次に、復号部16が、復号対象の入力データに、未復号の未復号データが有るか否かを判断する判断処理(図2中、ステップS110参照)について説明する。
ステップS110において、復号部16は、復号対象の入力データにおける未復号データのデータ長を読取る。なお、この入力データは、切出部12によって切出データの切出された残りのデータである。このため、復号部16は、復号対象の入力データの残りのデータ長を読取ることで、未復号データのデータ長を読取ればよい。
そして、復号部16は、未復号データのデータ長が「0」では無いか否かを判別することで、未復号データが有るか否かを判断する。具体的には、復号部16は、未復号データのデータ長が「0」である場合には、ステップS110で否定判断(ステップS110:No)する。そして、復号処理を終了する。一方、復号部16は、未復号データのデータ長が「0」ではない場合には、ステップS110で肯定判断(ステップS110:Yes)し、切出部12による切出し(ステップS100)へ戻る。
以上説明したように、本実施の形態の復号装置10では、可変長符号化された複数の符号化データを含む入力データを、最大符号長以上の予め定めた第1符号長M毎に切出し、切出した切出データに含まれる符号化データを可変長復号する。
ここで、従来では、入力データを先頭から読出し、先頭位置(0番目)に位置する符号化データを復号することで該符号化データの符号長(データ長)を解析し、該符号長に応じた可変長復号を該符号化データに対して行っていた。このように、従来では、入力データの先頭から順に検索して処理する、いわゆるシーケンシャルな処理を実行していた。
一方、本実施の形態の復号装置10では、上述したように、可変長符号化された複数の符号化データを含む入力データを、最大符号長以上の予め定めた第1符号長M毎に切出し、切出した切出データに含まれる符号化データを可変長復号する。
図10は、本実施の形態の復号装置10による、復号対象の入力データに対する復号処理の処理タイミングの説明図である。
図10に示すように、本実施の形態の復号装置10では、切出部12が、復号対象の入力データを先頭から順に読出し(図10中、矢印Y方向参照)、予め定めた第1符号長M毎にデータ切出しを行う(図10中、データ切出し♯0、データ切出し♯1、データ切出し♯2参照)。このため、復号部16では、切出部12において全てのデータが切出されるのを待つ事なく、切出部12で0番目(図10中、♯0参照)のデータ切出しが行われることで切出された切出データについて、復号を開始する。すなわち、復号部16では、切出部12による切出しの実行中に、既に切出された切出データに対して復号を実行する。このため、本実施の形態の復号装置10では、切出部12によるデータ切出しと、復号部16による復号と、の少なくとも一部を並列して実行することができる。
このように、本実施の形態の復号装置10では、復号対象の入力データから高速にデータを切出して復号処理を実行することができる。
従って、本実施の形態の復号装置10では、可変長符号化された符号化データを高速に復号することができる。
また、上述のように、本実施の形態の復号装置10では、切出部12が入力データから切出データを切出す単位である第1符号長Mの値を、入力データにおける複数の符号化データの最大符号長以上の値に定めている。このため、本実施の形態の復号装置10では、復号部16による復号に必要なデータ長以上のデータを格納部14に格納することができるので、復号処理の短縮を図ることができる。
また、本実施の形態の復号装置10では、切出部12が切出した切出データを格納部14に格納した後に、復号部16で順次読み出して復号する。このため、復号によって符号化データの符号長が確定する前に、入力データから切出データを切出すことが出来る。よって、異なるタイミングで切出された切出データに含まれる複数の符号化データについて、並列復号したり、パイプライン処理による高速復号が可能となる。
また、本実施の形態では、復号部16(判断部16A)が、格納部14に格納されている格納データに基づいて、可変長復号可能か否かを判断する。そして、格納データを用いた復号が不可能であると判断された場合に、切出部12が、入力データから第1符号長の切出データを切出して格納部14に格納する。このため、格納部14には、復号部16において復号に用いる必要最小限のデータ長のデータのみを格納することができる。このように、本実施の形態では、復号に用いるデータが不足している場合にのみ、入力データから第1符号長の切出データを切出す。このため、格納部14のメモリサイズの最小化を図ることができる。
なお、本実施の形態では、入力データに含まれる符号化データが、delta_qp(量子化パラメータの差分)の符号化データである場合を説明した。しかし、入力データに含まれる符号化データは、量子化パラメータの差分の符号化データに限られない。例えば、入力データは、量子化パラメータの差分(delta_qp)、動きベクトル(mv_x、mv_y)等、最大符号長の異なる複数種類の符号化パラメータを含んでいてもよい。入力データが、複数種類の符号化データを含む場合、復号装置10では、符号化データの種類に応じた回数の復号処理を実行すればよい。
また、本実施の形態の復号装置10では、格納データの解析及び格納データについて可変長復号可能か否かの判断を行う場合を説明した。しかし、復号装置10では、図2に示す復号処理における、格納データの解析、及び可変長復号可能か否かの判断(図2中、ステップS106、及びステップS108参照)を省略してもよい。
この場合、復号装置10は、図11に示す復号処理を実行すればよい。図11は、復号処理の他の手順を示すフローチャートである。
まず、切出部12が入力データを第1符号長M毎に切出し(ステップS200)、格納部14へ格納する(ステップS202)。次に、復号部16が、格納部14に格納されている格納データを復号する(ステップS204)。次に、復号部16が、未復号データが有るか否かを判断する(ステップS206)。そして、ステップS206で肯定判断すると(ステップS206:Yes)、上記ステップS200へ戻る。一方、ステップS206で否定判断すると(ステップS206:No)、ステップS208へ進む。ステップS208では、復号部16が、格納部14に格納されている全ての格納データを復号する(ステップS208)。そして、本ルーチンを終了する。
なお、ステップS200、ステップS202、ステップS204、ステップS206の処理は、図2におけるステップS100、ステップS102、ステップS104、ステップS110の各々と同様である。
このように、復号装置10が、図2に示す復号処理に替えて図11に示す復号処理を実行することで、格納データの解析を行う必要が無くなり、復号処理の更なる簡略化を図ることができる。ただし、図11に示す復号処理を実行する場合には、格納部14に残存する格納データが、図2に示す復号処理を実行する場合に比べて大きくなる場合がある。
具体的には、図11に示す復号処理を実行する場合には、格納部14に格納される格納データのデータ量は、上述した「M×2−L」よりはるかに大きいデータ量となる。このため、図11に示す復号処理を実行する場合には、入力データのデータサイズが大きいほど、メモリサイズのより大きい格納部14を用意する必要がある。
このため、復号装置10が、図11に示す復号処理を実行する場合には、図2に示す復号処理を実行する場合に比べてメモリサイズの大きいメモリを格納部14として搭載可能な装置に、復号装置10を適用することが好ましい。
なお、図2に示す復号処理に替えて図11に示す復号処理を実行する場合、ステップS200〜ステップS206の処理を実行し、ステップS206で否定判断(ステップS206:No)した場合には、ステップS208において、格納部14に格納されている全ての格納データを復号することが必要となる。このステップS208の復号は、ステップS204の復号処理と同様の処理であるため、復号処理全体の処理量が図2に示す復号処理に比べて増加することはない。
(実施の形態2)
本実施の形態では、実施の形態1における、入力データから切出した切出データを格納した格納データに基づく復号処理に加えて、入力データに含まれる符号化データに対する復号処理を行う形態を説明する。
本実施の形態では、実施の形態1における、入力データから切出した切出データを格納した格納データに基づく復号処理に加えて、入力データに含まれる符号化データに対する復号処理を行う形態を説明する。
図12は、本実施の形態の復号装置10Aの機能的構成を示すブロック図である。復号装置10Aは、可変長符号化された複数の符号化データを含む入力データを受け付ける。
本実施の形態の復号装置10Aでは、入力データが、最大符号長の異なる複数種類の符号化データを含む場合を説明する。
復号装置10Aは、切出部12、格納部14、第1復号部17A、及び第2復号部17Bを備える。第1復号部17Aは、判断部170Aを含む。切出部12、及び格納部14は、実施の形態1と同様である。また、第1復号部17A、及び判断部170Aは、実施の形態1の復号部16及び判断部16Aの各々と同様である。
第2復号部17Bは、入力データに含まれる複数種類の符号化データの内、最大符号長が予め定めた値以上の種類の符号化データを順次切出し、復号する(以下、第2復号と称する場合がある)。一方、第1復号部17Aは、入力データに含まれる複数種類の符号化データの内、該第2復号部17Bで切出す種類以外の種類の符号化データを順次切出し、復号する(以下、第1復号と称する場合がある)。
この予め定めた値は、復号装置10Aで扱う入力データに含まれる符号化データの符号化方法に応じて予め設定すればよい。
なお、本実施の形態の復号装置10Aでは、入力データが、最大符号長の異なる2種類の符号化データを含む場合を説明する。このため、第1復号部17Aは、2種類の符号化データの内、最大符号長の小さい種類(以下、第1種類と称する場合がある)の符号化データを切出し、復号する。一方、第2復号部17Bは、2種類の符号化データの内、最大符号長の大きい種類(以下、第2種類と称する場合がある)の符号化データを切出し、復号する。
最大符号長の小さい第1種類の符号化データは、例えば、量子化パラメータの差分の符号化データである。最大符号長の大きい第2種類の符号化データは、例えば、MPEGで用いられる直交変換係数の符号化データである。
また、本実施の形態において用いる入力データでは、最大符号長の小さい第1種類の符号化データが複数と、最大符号長の大きい第2種類の符号化データと、がこの順に該入力データの先頭から配列されている場合を想定して説明する。
図13は、復号装置10Aが実行する復号処理の手順を示すフローチャートである。
まず、切出部12が、受け付けた入力データにおける、最大符号長の小さい第1種類の符号化データの群を、第1符号長毎に切出す(ステップS300)。そして、切出部12は、切出した切出データを、格納部14へ格納する(ステップS302)。これらのステップS300及びステップS302の処理は、実施の形態1のステップS100及びステップS102の処理と同様である。また、第1符号長の定義も、実施の形態1の第1符号長(第1符号長M)と同様である。
次に、第2復号部17Bが、入力データから最大符号長の大きい第2種類の符号化データを直接読取り、該符号化データを復号する第2復号を行う(ステップS304)。
次に、第1復号部17Aが、実施の形態1の復号部16によるステップS104〜ステップS110と同様にして、格納部14に格納された格納データにおける第1種類の符号化データについて、ステップS306〜ステップS312の処理を実行する。
なお、本実施の形態では、実施の形態1におけるステップS108の判断に相当するステップS310で肯定判断すると(ステップS310:Yes)、ステップS304へ戻る。一方、ステップS310で否定判断すると(ステップS310:No)、ステップS312へ進む。そして、ステップS312で肯定判断すると(ステップS312:Yes)、上記ステップS300へ戻る。一方、ステップS312で否定判断すると(ステップS312:No)、本ルーチンを終了する。
以上説明したように、本実施の形態では、最大符号長が小さい第1種類の符号化データについては、切出部12で第1符号長M毎に切出して格納部14に格納した後に第1復号部17Aで順次復号(第1復号)する。一方、最大符号長が大きい第2種類の符号化データについては、格納部14に格納することなく、第2復号部17Bが入力データから直接切出して復号(第2復号)する。
従って、本実施の形態の復号装置10Aでは、実施の形態1の効果に加えて更に、復号処理速度の向上を図ることができる。
また、例えば、復号対象の入力データに含まれる符号化データが、MPEGで用いられる直交変換係数の符号化データのような最大符号長の大きい第2種類の符号化データである場合、格納部14には、実施の形態1に比べてメモリサイズの大きい格納部14を用意する必要がある。
一方、本実施の形態の復号装置10Aでは、最大符号長が大きい第2種類の符号化データについては、格納部14に格納することなく、第2復号部17Bが入力データから直接切出して復号(第2復号)する。このため、実施の形態1の効果に加えて更に、格納部14のメモリサイズを小さくすることができる。
なお、図13では、復号装置10Aが、第2復号部17Bによる第2復号の実行後に、第1復号部17Aによる第1復号を実行する場合を説明した。しかし、第1復号部17Aによる第1復号の実行後に第2復号部17Bによる第2復号を実行してもよい。
この場合、復号装置10Aは、図14に示す復号処理を実行すればよい。
図14は、復号装置10Aが実行する復号処理の他の手順を示すフローチャートである。
まず、図13と同様に、切出部12が、受け付けた入力データにおける、最大符号長の小さい第1種類の符号化データの群を、第1符号長毎に切出す(ステップS300)。そして、切出部12は、切出した切出データを、格納部14へ格納する(ステップS302)。
次に、第1復号部17Aが、上記ステップS306と同様にして第1復号を行う(ステップS3040)。次に、第2復号部17Bが、上記ステップS304と同様にして、入力データから最大符号長の大きい第2種類の符号化データを直接読取り、該符号化データを復号する第2復号を行う(ステップS3060)。
次に、上記ステップS308〜ステップS312と同様の処理を行い、本ルーチンを終了する。
このように、第1復号部17Aによる第1復号と、第2復号部17Bによる第2復号との順を逆にしてもよい。
なお、本実施の形態では、第1復号部17A及び第2復号部17Bの何れか一方による復号を実行した後に、他方による復号を実行する形態を説明した。しかし、第1復号部17Aによる第1復号と、第2復号部17Bによる第2復号と、を並列に実行してもよい。
この場合には、復号装置10Aは、図15及び図16に示す処理を実行すればよい。
図15及び図16は、本実施の形態の復号装置10Aで実行する復号処理の他の手順を示すフローチャートである。
まず、切出部12が、受け付けた入力データにおける、最大符号長の小さい第1種類の符号化データの群を、第1符号長毎に切出す(ステップS400)。そして、切出部12は、切出した切出データを、格納部14へ格納する(ステップS402)。次に、第2復号部17Bが、入力データから最大符号長の大きい第2種類の符号化データを直接読取り、該符号化データを復号する第2復号を行う(ステップS404)。
これらのステップS400〜ステップS404の処理は、上記ステップS300〜ステップS304の処理と同様である。
次に、第1復号部17Aが、実施の形態1の復号部16によるステップS106〜ステップS110と同様にして、格納データの解析、可変長復号可能か否かの判断、及び未復号データ有りか否かの判断を実行する(ステップS406〜ステップS410)。そして、ステップS410で肯定判断すると(ステップS410:Yes)、上記ステップS400へ戻る。一方、ステップS410で否定判断すると(ステップS410:No)、本ルーチンを終了する。
そして、復号装置10Aでは、図15の復号処理を実行中に、第1復号部17Aが図16に示す並列処理を並列して実行する。
図16は、第1復号部17Aが実行する並列処理の手順を示すフローチャートである。
まず、第1復号部17Aは、格納部14に格納データが格納済か否かを判断する(ステップS500)。ステップS500で否定判断すると(ステップS500:No)、本ルーチンを終了する。一方、ステップS500で肯定判断すると(ステップS500:Yes)、ステップS502へ進む。ステップS502では、第1復号部17Aは、ステップS408と同様にして、可変長復号可能か否かを判断する(ステップS502)。
ステップS502で否定判断すると(ステップS502:No)、上記ステップS500へ戻る。一方、ステップS502で肯定判断すると(ステップS502:Yes)、ステップS504へ進む。
ステップS504では、第1復号部17Aは、ステップS306と同様にして第1復号を実行する(ステップS504)。そして、本ルーチンを終了する。
復号装置10Aが、図15に示す復号処理中に、図16に示す並列処理を実行することで、復号装置10Aでは、第1復号部17Aによる第1復号と、第2復号部17Bによる第2復号と、を並列に実行することができる。
このため、実施の形態1の効果に加えて更に、処理時間の短縮を図ることができる。
以上説明したように、本実施の形態の復号装置10Aによれば、入力データが、最大符号長の異なる複数種類の符号化データを含む場合であっても、入力データに対して高速で復号処理を実行することができる。
ここで、入力データが、最大符号長の大きく異なる複数種類の符号化データを含む場合であって、特に、符号化データの最大符号長の小さい(例えば、♯a)第1種類の符号化データと、符号化データの最大符号長の大きい(例えば、♯b)第2種類の符号化データと、が混在する形態であったとする。このような場合、復号処理時間が大きくなる場合がある。
一方、本実施の形態では、最大符号長の異なる複数種類の符号化データが混在している場合であっても、復号処理のための待ち時間の発生を抑制することができる。
図17は、本実施の形態の復号装置10Aによる、復号対象の入力データに対する復号処理の処理タイミングの説明図である。
図17に示すように、本実施の形態の復号装置10Aでは、切出部12が、受け付けた入力データを先頭から順に読出し(図17中、矢印Y方向参照)、最大符号長の小さい第1種類の符号化データの群を、第1符号長M毎に切出す(図17中、データ切出し♯a0)。切出した切出データは、格納部14へ格納される。
そして、この切出した切出データに対して、第1復号部17Aが第1復号を実行しているときに(復号処理♯a0参照)、第2復号部17Bが並列して入力データから直接読み出した、最大符号長の大きい第2種類の符号化データを第2復号する(復号処理♯b0参照)。
このため、本実施の形態の復号装置10Aによれば、同じ入力データに対して、複数の復号処理を並列して実行することが可能となる。
従って、実施の形態1による効果に加えて、更に、高速で復号処理を実行することができる。
(実施の形態3)
本実施の形態では、実施の形態1及び実施の形態2で復号する対象の入力データを作成する符号化装置を説明する。
本実施の形態では、実施の形態1及び実施の形態2で復号する対象の入力データを作成する符号化装置を説明する。
図18は、本実施の形態の符号化装置50の機能的構成を示すブロック図である。
本実施の形態の符号化装置50は、復号対象の情報を、可変長符号化方式を用いて符号化することで、符号化データを作成する。符号化装置50は、作成した符号化データを含む出力データを出力する。上述した復号装置10及び復号装置10Aでは、符号化装置50で作成された符号化データを含む該出力データを、復号対象の入力データとして受け付ける。
符号化装置50は、画像符号化LSI(Large Scale Integration)等のハードウェアで実装された装置に組み込まれる。符号化装置50による符号化によって得られた符号化データを用いることで、例えば、ディスプレイへの表示応答性を高めることができる。
符号化装置50は、第1符号化部52と、第2符号化部54と、結合部56と、を備える。第1符号化部52及び第2符号化部54は、各々、異なる可変長符号化方式により符号化対象情報を符号化する(詳細後述)。結合部56は、第1符号化部52で生成された符号化データを結合し、予め定めたデータ長でパケット化して順次出力する(詳細後述)。
図19は、符号化装置50が出力する出力データのデータ構造の一例を示す模式図である。
図19(A)に示すように、出力データは、第1符号化部52及び第2符号化部54で符号化された符号化データを含む。符号化装置50は、これらの符号化データを、予め定めたデータ長(詳細後述、例えば、Mバイト毎)にパケット化し(図19(B)参照)、順次出力する(図19中、パケット♯0〜パケット♯1等参照)。なお、パケットは、結合データに相当する。
図20は、符号化装置50が実行する符号化処理の手順を示すフローチャートである。
なお、符号化装置50が符号化する対象の符号化対象データには、符号化による最大符号長の異なる複数種類の符号化対象情報が含まれているものとする。なお、本実施の形態では、2種類の符号化対象情報が含まれている場合を想定して説明する。また、本実施の形態では、これらの2種類の符号化対象情報を、第1データ、第2データと称して説明する。
また、第1データは、可変長符号化を行ったときの最大符号長が比較的小さいデータである。第1データは、例えば、MPEGにおける量子化パラメータの差分(delta_qp)である。このように、第1データは、値のダイナミックレンジが比較的小さい(例えば、H.264では−51〜+51)データである。
第2データは、可変長符号化を行ったときの最大符号長が比較的大きいデータである。第2データは、該第2データの取り得る値の範囲が大きい、あるいは複数の情報を含む、といった特徴を有する。第2データは、例えば、MPEGにおける直交変換係数である。このように、第2データは、値のダイナミックレンジが比較的大きいデータである(例えば、H.264では、−32768〜32767)。また、第2データを符号化するときに、16×16画素ブロック単位で符号化処理を行う場合には、直交変換係数を256個符号化することとなる。
なお、この第1データを符号化した符号化データが、上述した、最大符号長の小さい第1種類の符号化データに相当する。また、この第2データを符号化した符号化データが、上述した、最大符号長の大きい第2種類の符号化データに相当する。
まず、第1符号化部52が、符号化対象データに含まれる第1データを可変長符号化する(ステップS600)。第1符号化部52は、符号化データを結合部56へ出力する。
結合部56は、第1符号化部52で符号化された符号化データを結合する(ステップS602)。
次に、結合部56が、1パケット分の符号化データを結合したか否かを判断する(ステップS604)。結合部56は、予め定めたデータ長(詳細後述)の符号化データを結合したか否かを判別することで、ステップS604の判断を行う。
ステップS604で否定判断すると(ステップS604:No)、上記ステップS600へ戻る。一方、ステップS604で肯定判断すると(ステップS604:Yes)、ステップS606へ進む。
ステップS606では、第2符号化部54が、第2データを可変長符号化する(ステップS606)。
次に、第1符号化部52が、符号化対象データに未符号化の未符号化データが残っているか否かを判断する(ステップS608)。ステップS608で肯定判断すると(ステップS608:Yes)、上記ステップS600へ戻る。一方、ステップS608で否定判断すると(ステップS608:No)、本ルーチンを終了する。
次に、符号化装置50が実行する符号化処理について詳細に説明する。
まず、第1符号化部52が、符号化対象データに含まれる第1データを可変長符号化する処理について説明する。なお、この処理は、上記ステップS600に相当する。
第1符号化部52は、可変長符号化方式を用いて、符号化処理を実行する。可変長符号化方式は、どのような方式の者であっても構わない。例えば、第1データが、量子化パラメータの差分(delta_qp)である場合、図3に示すゴロム符号を用いた符号化方式を用いてもよい。
図21は、第1符号化部52による可変長符号化と、結合部56による結合(パケット化)の説明図である。
具体的には、第1符号化部52が、図3に示す量子化パラメータの差分(delta_qp)を、「−1」、「0」、「+3」、「+1」の順番に可変長符号化したとする。すると、各量子化パラメータの差分に対応する符号化データは、図21に示すように、各々、「010b」、「1b」、「00011b」、「011b」となる。
第1符号化部52は、符号化によって得られたこれらの符号化データを、順次結合部56へ出力する。結合部56は、第1符号化部52から受け付けた符号化データを結合し、予め定めたデータ長のパケットを生成する(図20のステップS602〜ステップS604の処理に相当)。
このパケット生成時に用いる予め定めたデータ長には、第1データ及び第2データの各々を可変長符号化した際の最大符号長以上の値を定める。これは、1つのパケットを復号したときに、少なくとも1つの第1データが得られるようにするためである。すなわち、このデータ長には、実施の形態1及び実施の形態2で用いた、第1符号長Mと同じ値を定めることとなる。
図3に示すように、本実施の形態では、第1データとしての量子化パラメータの差分であるdelta_qpの最大符号長は6である。このため、本実施の形態では、結合部56は、6ビットのデータ長のパケットを生成する。
上記ステップS604の、1パケット分の符号化データを結合したか否かを判断するステップにおいて、結合部56が肯定判断すると(ステップS604:Yes)、結合部56は、結合したパケット(結合データ)を出力する。
一方、結合部56は、1パケット分の符号化データを結合していない場合には、ステップS604で否定判断し(ステップS604:No)、上記ステップS600へ戻る。
例えば、第1符号化部52が、符号化対象の符号化データに含まれる複数の第1データの内、量子化パラメータの差分「delta_qp」=「−1」を符号化した段階では、結合データのデータ量は3ビットである。このため、この場合、ステップS604で否定判断する。そして、第1符号化部52による、量子化パラメータの差分「delta_qp」=「0」の符号化によって、1ビットの符号化データが作成されると、結合データは4ビットとなる。この段階においても、6ビットに満たないことから、ステップS604で否定判断する。
そして、第1符号化部52による、量子化パラメータの差分「delta_qp」=「+3」の符号化によって、5ビットの符号化データが作成されると、結合データは、9ビットとなる。この段階となると、結合部56は、ステップS604の判断において肯定判断する(ステップS604:Yes)。
図22は、符号化装置50が出力する出力データの一例を示す模式図である。
結合部56から1パケット分(本実施の形態では6ビット)の符号化データが出力されることで、先頭のパケット(図22中、パケット♯0参照)には、量子化パラメータの差分「delta_qp」=「−1」の符号化データ(図22中、符号化データA♯0)と、量子化パラメータの差分「delta_qp」=「0」の符号化データ(図22中、符号化データA♯1)と、量子化パラメータの差分「delta_qp」=「+3」の符号化データの一部(図22中、符号化データA♯2a参照)と、を含む1パケット分の符号化データが出力される。
以降、結合部56は、順次パケットを生成して出力する(図22中、パケット♯1参照)。
図20に戻り、次に、第2符号化部54が第2データを可変長符号化する(図20中、ステップS606参照)。
第2符号化部54は、可変長符号化方式を用いて、第2データを可変長符号化する。第1符号化部52が可変長符号化する方式はどのようなものであっても構わない。
例えば、第2データが直交変換係数であったとする。この場合、第2符号化部54は、例えば、MPEG−2で用いるハフマン符号を用いた可変長符号化を行う。
第2符号化部54は、第2データを可変長符号化した符号化データのパケット(結合データ)を、出力するが、符号化装置50では、第1符号化部52から出力されるパケット単位の符号化データと、第2符号化部54から出力される符号化データと、を交互に出力する。このため、符号化装置50が出力する出力データは、図22に示すデータ構造となる。
すなわち、図22に示すように、符号化装置50が出力する出力データは、第1データを可変長符号化した符号化データを1パケット分まとめたものと、第2データを可変長符号化した符号化データと、を交互に並べた構造となる。
図20に戻り、図20におけるステップS608の処理において肯定判断すると(ステップS608:Yes)、上記ステップS600へ戻る。一方、ステップS608で否定判断すると(ステップS608:No)、本ルーチンを終了する。
以上説明したように、本実施の形態の符号化装置50は、可変長符号化した際の最大符号長の小さい第1データについては、可変長符号化した符号化データを固定長毎にパケット化する。
従って、本実施の形態の符号化装置50では、復号処理時に高速に符号化データを切出して復号処理可能な出力データを生成することができる。
なお、本実施の形態では、上述のように、可変長符号化した際の最大符号長の小さい第1データに関しては、上記データ長M分の符号化を行うパケット化を行う。このため、可変長符号化した際の最大符号長の大きい第2データの符号化を実行する前に、繰り返し第1データの符号化が行われる。
このため、符号化装置50で符号化する対象の符号化対象データに含まれる、第1データの数と、第2データの数と、が同じ数であれば、第1データの符号化が先に終了し、第2データが未符号化のままで残る場合もある。このため、図20に示す符号化処理において、第1データの符号化処理が終了したときには、該第1データの符号化処理(すなわち、第1符号化部52及び結合部56によるステップS600〜ステップS604の処理)を省略することが好ましい。
また、ステップS608における未符号化データが有るか否かの判断において、未符号化データ中に、第1データ及び第2データの各々が残っているか否かを更に判断してもよい。そして、未符号化データ中に、第1データ及び第2データの双方が残っていると判断した場合には、第2符号化部54によるステップS606の処理に進むようにすればよい。なお、未符号化データ中に、第1データのみが残っている場合には、ステップS600へ戻るようにすればよい。
また、第2符号化部54が、第2データを可変長符号化した符号化データを出力するタイミングを、第1データが可変長符号化された分だけ行うようにしてもよい。
図23は、符号化装置50が出力する出力データの他の一例を示す模式図である。
すなわち、最初のパケット(図23中、パケット♯0)には、第1データの0番目の符号化データ(図23中、符号化データA♯0)と、第1データの1番目の符号化データ(図23中、符号化データA♯1)と、が含まれている。このため、第2符号化部54は、第2データの符号化を1番目まで行う。
図22に示すデータ構造の出力データを入力データとして受け付けて復号する復号装置(10、10A)側では、1番目の第1データの符号化データ(図22中、符号化データA♯1)と、1番目の第2データの符号化データ(図22中、符号化データB♯1)と、の復号化時に、第1データについては、3番目のデータまで保持しておく必要がある。このため、より大きいメモリサイズの格納部14を用意する必要がある。
一方、出力データを、図23に示すデータ構造とすれば、該出力データを入力データとして受け付けて復号する復号装置(10、10A)側では、該復号化時に、第1データについては、2番目のデータの途中までのデータ(図23中、符号化データA♯2a参照)を保持しておけばよい。このため、出力データを図22に示すデータ構造とする場合に比べて、出力データを図23に示すデータ構造とすることで、復号装置(10、10A)側のメモリ(格納部14)のメモリサイズを抑えることができる。
なお、上記実施の形態における復号装置10、復号装置10A、及び符号化装置50で実行される復号処理及び符号化処理の各々を実行するためのプログラムは、ROM等に予め組み込まれて提供される。
上記実施の形態における復号装置10、復号装置10A、及び符号化装置50で実行される復号処理及び符号化処理の各々を実行するためのプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、上記実施の形態における復号装置10、復号装置10A、及び符号化装置50で実行される復号処理及び符号化処理の各々を実行するためのプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施の形態における復号装置10、復号装置10A、及び符号化装置50で実行される復号処理及び符号化処理の各々を実行するためのプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。
上記実施の形態における復号装置10、復号装置10A、及び符号化装置50で実行される復号処理及び符号化処理の各々を実行するためのプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより該各部が主記憶装置上にロードされ、該各部が主記憶装置上に生成されるようになっている。なお、上記実施の形態における復号装置10、復号装置10A、及び符号化装置50の各部を回路等のハードウェアで構成してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
10、10A 復号装置
12 切出部
14 格納部
16 復号部
16A 判断部
17A 第1復号部
17B 第2復号部
12 切出部
14 格納部
16 復号部
16A 判断部
17A 第1復号部
17B 第2復号部
Claims (4)
- 可変長符号化された複数の符号化データを含む入力データを、前記複数の符号化データの最大符号長以上の予め定めた第1符号長毎に順に切出し、切出した切出データを格納データとして格納部に格納する切出部と、
前記格納部に格納された前記格納データを順次読み出し、読み出した前記格納データに含まれる前記符号化データを可変長復号する復号部と、
を備え、
前記復号部は、前記格納データに基づいた可変長復号が可能か否かを判断する判断部を含み、
前記切出部は、前記判断部によって可変長復号が不可能と判断された場合、前記入力データから前記切出データを切出して前記格納データとして前記格納部に格納する、
復号装置。 - 前記格納部は、
前記第1符号長の2倍値から前記複数の符号化データの最小符号長を減算した減算値以上の記憶容量を有する、
請求項1に記載の復号装置。 - 前記入力データは、最大符号長の異なる複数種類の符号化データを含み、
前記復号部は、前記複数種類の符号化データの少なくとも1種の可変長復号と、該種類以外の他の種類の可変長復号と、を並列して実行する、
請求項1に記載の復号装置。 - 可変長符号化された複数の符号化データを含む入力データを、前記複数の符号化データの最大符号長以上の予め定めた第1符号長毎に順に切出し、切出した切出データを格納データとして格納部に格納する切出ステップと、
前記格納部に格納された前記格納データに含まれる前記符号化データを可変長復号する復号ステップと、
を備え、
前記復号ステップは、前記格納データに基づいた可変長復号が可能か否かを判断する判断ステップを含み、
前記切出ステップは、前記判断ステップによって可変長復号が不可能と判断された場合、前記入力データから前記切出データを切出して前記格納データとして前記格納部に格納する、
復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017078974A JP6280266B2 (ja) | 2017-04-12 | 2017-04-12 | 復号装置、及び復号方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017078974A JP6280266B2 (ja) | 2017-04-12 | 2017-04-12 | 復号装置、及び復号方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012270288A Division JP2014116835A (ja) | 2012-12-11 | 2012-12-11 | 復号装置、符号化装置、復号方法、及び符号化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017153124A true JP2017153124A (ja) | 2017-08-31 |
JP6280266B2 JP6280266B2 (ja) | 2018-02-14 |
Family
ID=59741027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017078974A Active JP6280266B2 (ja) | 2017-04-12 | 2017-04-12 | 復号装置、及び復号方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6280266B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0376469A (ja) * | 1989-08-18 | 1991-04-02 | Fujitsu Ltd | 可変長符号の復号回路 |
JPH10200595A (ja) * | 1996-11-15 | 1998-07-31 | N T T Ido Tsushinmo Kk | 可変長符号化データ伝送装置、送信側装置、受信側装置およびその方法 |
JP2007043595A (ja) * | 2005-08-05 | 2007-02-15 | Nec Corp | 可変長符号復号化方法および装置ならびにデータ伸長装置 |
US20070040714A1 (en) * | 2005-08-16 | 2007-02-22 | Via Technologies Inc. | Device and method for variable length decoding |
-
2017
- 2017-04-12 JP JP2017078974A patent/JP6280266B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0376469A (ja) * | 1989-08-18 | 1991-04-02 | Fujitsu Ltd | 可変長符号の復号回路 |
JPH10200595A (ja) * | 1996-11-15 | 1998-07-31 | N T T Ido Tsushinmo Kk | 可変長符号化データ伝送装置、送信側装置、受信側装置およびその方法 |
JP2007043595A (ja) * | 2005-08-05 | 2007-02-15 | Nec Corp | 可変長符号復号化方法および装置ならびにデータ伸長装置 |
US20070040714A1 (en) * | 2005-08-16 | 2007-02-22 | Via Technologies Inc. | Device and method for variable length decoding |
Also Published As
Publication number | Publication date |
---|---|
JP6280266B2 (ja) | 2018-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10489426B2 (en) | Category-prefixed data batching of coded media data in multiple categories | |
US8018996B2 (en) | Arithmetic decoding apparatus and method | |
US6587057B2 (en) | High performance memory efficient variable-length coding decoder | |
KR101208233B1 (ko) | 중간 형식으로 변환하는 2단계 산술 복호 | |
JP3171776B2 (ja) | 圧縮方法及びコンテキスト・モデラー | |
JP2014525183A (ja) | 2dマトリクスにエンコーディングパラメータを保存する画像圧縮のための方法および装置 | |
JP2006211621A (ja) | データ圧縮装置、及びデータ復元装置 | |
JP2018026871A (ja) | ビデオデコーダを実装するコンピューティングデバイス及びその方法 | |
KR101360313B1 (ko) | 산술 디코딩 방법 및 디바이스 | |
JP2008113374A (ja) | エントロピー符号化装置 | |
US7528749B2 (en) | Decoding apparatus and decoding method | |
US10455244B2 (en) | Method and device for entropy encoding or entropy decoding video signal for high-capacity parallel processing | |
JP2011130413A (ja) | デジタルコンテンツ符号器、復号器、検索装置、符号化方法、検索方法、記録担体、信号、および記憶装置 | |
JP2014241579A (ja) | 映像圧縮装置 | |
JP2010193398A (ja) | 画像符号化装置及び画像符号化方法 | |
US11825104B2 (en) | Methods, apparatuses, computer programs and computer programs and computer-readable media for scalable image coding | |
JP2006093958A (ja) | プログレッシブjpeg復号化システム | |
JP4865509B2 (ja) | 復号装置及び復号方法 | |
JP6280266B2 (ja) | 復号装置、及び復号方法 | |
JP2014116835A (ja) | 復号装置、符号化装置、復号方法、及び符号化方法 | |
JP2017192080A (ja) | 画像圧縮装置、画像復号装置、画像圧縮方法及び画像圧縮プログラム | |
JP4727669B2 (ja) | LASeR二進表現のポイントシーケンス符号化/復号化方法及び装置 | |
JP2007074648A (ja) | Cabac復号化装置 | |
US10798383B2 (en) | Method for decoding a digital image, coding method, devices, terminal and associated computer programs | |
JP2010171655A (ja) | 算術符号化装置及び算術符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20171219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180118 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6280266 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |