JP6280266B2 - Decoding device and decoding method - Google Patents

Decoding device and decoding method Download PDF

Info

Publication number
JP6280266B2
JP6280266B2 JP2017078974A JP2017078974A JP6280266B2 JP 6280266 B2 JP6280266 B2 JP 6280266B2 JP 2017078974 A JP2017078974 A JP 2017078974A JP 2017078974 A JP2017078974 A JP 2017078974A JP 6280266 B2 JP6280266 B2 JP 6280266B2
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.)
Active
Application number
JP2017078974A
Other languages
Japanese (ja)
Other versions
JP2017153124A (en
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
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2017078974A priority Critical patent/JP6280266B2/en
Publication of JP2017153124A publication Critical patent/JP2017153124A/en
Application granted granted Critical
Publication of JP6280266B2 publication Critical patent/JP6280266B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明の実施形態は、復号装置、及び復号方法に関する。   Embodiments described herein relate generally to a decoding device and a decoding method.

画像データの符号化方法として、符号長が固定の固定長符号化や、符号長が一様でない可変長符号化が知られている。例えば、符号化方式の一つであるMPEG−2では、量子化パラメータは0〜31までの範囲で設定可能であり、5ビットの固定長符号化を行うことが知られている。また、H.264等の符号化方式では、可変長符号化を採用することが知られている。   Known encoding methods for image data include fixed-length encoding with a fixed code length and variable-length encoding with a non-uniform code length. For example, in MPEG-2, which is one of the encoding methods, the quantization parameter can be set in the range of 0 to 31, and it is known to perform 5-bit fixed length encoding. H. In coding systems such as H.264, it is known to employ variable length coding.

可変長符号化を行った場合、固定長符号化に比べて高い圧縮率の符号化データを得ることが出来る。しかし、可変長符号化により得られた符号化データの復号は、固定長符号化により得られた符号化データの復号に比べて時間がかかることが知られている。一方、固定長符号化により得られた符号化データは、復号時に要する処理時間は可変長符号化に比べて短いものの、圧縮率効率が低いことが知られている。   When variable length coding is performed, encoded data having a higher compression rate than that of fixed length coding can be obtained. However, it is known that decoding of encoded data obtained by variable length encoding takes time compared to decoding of encoded data obtained by fixed length encoding. On the other hand, it is known that encoded data obtained by fixed-length encoding has a low compression rate efficiency, although the processing time required for decoding is shorter than that of variable-length encoding.

また、可変長符号化された符号化データを、重要度の高い固定長のパケットと重要度の低い固定長のパケットに分割し、伝送障害時に重要度の高いパケットを再送する技術も開示されている。   Also disclosed is a technique for dividing variable-length encoded data into fixed-length packets with high importance and fixed-length packets with low importance, and retransmitting high-importance packets in the event of a transmission failure. Yes.

特開2003−101416号公報JP 2003-101416 A 特許第3662171号公報Japanese Patent No. 3662171 特許第3669277号公報Japanese Patent No. 3669277 特許第3669281号公報Japanese Patent No. 3669281

しかしながら、従来では、可変長符号化された符号化データを、高速に復号することは困難であった。   However, in the past, it has been difficult to decode variable-length encoded data at high speed.

本発明が解決しようとする課題は、可変長符号化された符号化データの復号処理時間の短縮を図ることができる、復号装置、及び復号方法を提供することである。   The problem to be solved by the present invention is to provide a decoding device and a decoding method capable of reducing the decoding processing time of encoded data subjected to variable length encoding.

実施形態の復号装置は、切出部と、復号部と、を備える。切出部は、可変長符号化された複数の符号化データを含む入力データを、前記複数の符号化データの最大符号長以上の予め定めた第1符号長毎に順に切出し、切出した切出データを格納データとして格納部に格納する。復号部は、前記格納部に格納された前記格納データを順次読み出し、読み出した前記格納データに含まれる前記符号化データを可変長復号する。復号部は、前記格納データに基づいた可変長復号が可能か否かを判断する判断部を含む。切出部は、前記判断部によって可変長復号が不可能と判断された場合、前記入力データから前記切出データを切出して前記格納データとして前記格納部に格納する。   The decoding device according to the embodiment includes a cutout unit and a decoding unit. The cutout unit sequentially cuts input data including a plurality of pieces of encoded data subjected to variable length encoding for each predetermined first code length that is equal to or larger than the maximum code length of the plurality of pieces of encoded data. Data is stored in the storage unit as stored data. The decoding unit sequentially reads the stored data stored in the storage unit, and performs variable length decoding on the encoded data included in the read storage data. The decoding unit includes a determination unit that determines whether variable length decoding based on the stored data is possible. When it is determined by the determination unit that variable length decoding is impossible, the extraction unit extracts the extraction data from the input data and stores it as the storage data in the storage unit.

復号装置のブロック図。The block diagram of a decoding apparatus. 復号処理の手順を示すフローチャート。The flowchart which shows the procedure of a decoding process. 符号化データを示す模式図。The schematic diagram which shows encoded data. 切出データの切出しの説明図。Explanatory drawing of extraction of extraction data. 格納データの模式図。The schematic diagram of stored data. ルックアップテーブルのデータ構造の模式図。The schematic diagram of the data structure of a lookup table. ルックアップテーブルのデータ構造の模式図。The schematic diagram of the data structure of a lookup table. 格納データの模式図。The schematic diagram of stored data. ルックアップテーブルのデータ構造の模式図。The schematic diagram of the data structure of a lookup table. 復号処理の処理タイミングの説明図。Explanatory drawing of the process timing of a decoding process. 復号処理の他の手順を示すフローチャート。The flowchart which shows the other procedure of a decoding process. 復号装置のブロック図。The block diagram of a decoding apparatus. 復号処理の手順を示すフローチャート。The flowchart which shows the procedure of a decoding process. 復号処理の他の手順を示すフローチャート。The flowchart which shows the other procedure of a decoding process. 復号処理の他の手順を示すフローチャート。The flowchart which shows the other procedure of a decoding process. 復号処理の他の手順を示すフローチャート。The flowchart which shows the other procedure of a decoding process. 復号処理の処理タイミングの説明図。Explanatory drawing of the process timing of a decoding process. 符号化装置のブロック図。The block diagram of an encoding apparatus. 出力データのデータ構造の模式図。The schematic diagram of the data structure of output data. 符号化処理の手順を示すフローチャート。The flowchart which shows the procedure of an encoding process. 可変長符号化及びパケット化の説明図。Explanatory drawing of variable length encoding and packetization. 出力データのデータ構造の模式図。The schematic diagram of the data structure of output data. 出力データのデータ構造の模式図。The schematic diagram of the data structure of output data.

(実施の形態1)
図1は、本実施の形態の復号装置10の機能的構成を示すブロック図である。復号装置10は、画像復号を行う装置である。復号装置10は、例えば、PC(パーソナルコンピュータ)の画面等、主に、CG(コンピュータグラフィックス)画像を扱う装置やシステムに組み込まれる。
(Embodiment 1)
FIG. 1 is a block diagram illustrating a functional configuration of the decoding device 10 according to the present embodiment. The decoding device 10 is a device that performs image decoding. The decoding device 10 is incorporated in a device or system that mainly handles CG (computer graphics) images, such as a PC (personal computer) screen.

復号装置10は、画像復号LSI(Large Scale Integration)等のハードウェアで実装された装置に組み込まれる。復号装置10による復号処理によって高速に復号を行うことで、例えば、ディスプレイへの表示応答性を高めることができる。   The decoding device 10 is incorporated in a device implemented by hardware such as an image decoding LSI (Large Scale Integration). By performing decoding at high speed by the decoding process by the decoding device 10, for example, display responsiveness to the display can be improved.

本実施の形態の復号装置10は、復号対象の入力データを受け付け、復号し、復号データを出力する。   The decoding device 10 according to the present embodiment receives and decodes input data to be decoded, and outputs the decoded data.

復号装置10が受け付ける入力データは、可変長符号化された複数の符号化データを含む。符号化データは、符号化装置(詳細後述)による可変長符号化によって得られたデータを示す。符号化データには、量子化パラメータの差分や、動きベクトル等が挙げられるが、これらに限定されない。   The input data received by the decoding device 10 includes a plurality of encoded data subjected to variable length encoding. The encoded data indicates data obtained by variable length encoding by an encoding device (described later in detail). Encoded data includes, but is not limited to, quantization parameter differences, motion vectors, and the like.

復号装置10は、切出部12、格納部14、及び復号部16を備える。   The decryption device 10 includes a cutout unit 12, a storage unit 14, and a decryption unit 16.

切出部12は、復号装置10で受け付けた入力データを、予め定めた第1符号長毎に切出す。   The cutout unit 12 cuts out the input data received by the decoding device 10 for each predetermined first code length.

第1符号長は、受け付けた入力データに含まれる複数の符号化データの各々の符号長の内、最大符号長以上の値である。最大符号長とは、入力データを可変長符号化した場合にとりうる符号長のうち最大値を示す。最大符号長は、用いる可変長符号化の手法等で定まる。また、第1符号長は、入力データのデータ長以下の値である。なお、第1符号長は、復号装置10が受け付ける対象の入力データ毎に予め定められており、復号装置10の図示を省略するメモリ等に予め記憶されているものとする。   The first code length is a value that is greater than or equal to the maximum code length among the code lengths of a plurality of pieces of encoded data included in the received input data. The maximum code length indicates the maximum value among the code lengths that can be taken when the input data is variable-length encoded. The maximum code length is determined by the variable length coding method used. Further, the first code length is a value equal to or less than the data length of the input data. Note that the first code length is predetermined for each input data to be received by the decoding device 10 and is stored in advance in a memory or the like (not shown) of the decoding device 10.

例えば、入力データのデータ長がXビットであったとする(Xは1以上の整数)。また、第1符号長がMビットであったとする(Mは1以上X以下の整数)。この場合、切出部12は、入力データを、第1符号長であるMビット毎に切出す。なお、第1符号長であるMビットを、以下では、単に「第1符号長M」と称して説明する場合がある。   For example, it is assumed that the data length of input data is X bits (X is an integer of 1 or more). Further, it is assumed that the first code length is M bits (M is an integer of 1 to X). In this case, the cutout unit 12 cuts the input data every M bits that are the first code length. In the following description, the M bits that are the first code length may be simply referred to as “first code length M”.

格納部14は、切出部12で切出された切出データを格納する。格納部14は、公知の記憶媒体である。復号部16は、切出データに含まれる符号化データを可変長復号する。復号部16は、判断部16Aを備える。判断部16Aは、格納部14に格納されているデータ(以下、格納データと称する)を解析し、格納データに基づいた可変長復号が可能か否かを判断する。   The storage unit 14 stores the cutting data cut out by the cutting unit 12. The storage unit 14 is a known storage medium. The decoding unit 16 performs variable length decoding on the encoded data included in the cut out data. The decoding unit 16 includes a determination unit 16A. The determination unit 16A analyzes data stored in the storage unit 14 (hereinafter referred to as storage data) and determines whether variable-length decoding based on the stored data is possible.

図2は、復号装置10が実行する復号処理の手順を示すフローチャートである。   FIG. 2 is a flowchart showing the procedure of the decoding process executed by the decoding device 10.

復号装置10では、入力データを受け付けると、図2に示す復号処理を実行する。   When receiving the input data, the decoding device 10 executes the decoding process shown in FIG.

まず、切出部12が、受け付けた入力データを、第1符号長毎に切出す(ステップS100)。そして、切出部12は、切出した切出データを、格納部14へ格納する(ステップS102)。なお、切出部12は、格納部14にデータが格納されている場合には、このデータの終端に、新たに切出した切出データを結合して格納部14に格納する。格納データは、詳細は後述するが、切出部12によって切出されて格納部14に格納された切出データの内、格納部14に残存しているデータを示す。   First, the cutting unit 12 cuts the received input data for each first code length (step S100). Then, the cutting unit 12 stores the cut out data in the storage unit 14 (step S102). In the case where data is stored in the storage unit 14, the cutout unit 12 combines the newly cut out data at the end of this data and stores it in the storage unit 14. Although the details will be described later, the stored data indicates data remaining in the storage unit 14 among the cut data cut out by the cutout unit 12 and stored in the storage unit 14.

次に、復号部16が、格納部14に格納されている格納データに含まれる符号化データを復号する(ステップS104)(詳細後述)。そして復号部16は、復号データを出力する。なお、復号部16は、復号した符号化データを、格納部14の格納データから削除する。このため、格納部14には、切出部12によって格納部14に格納された切出データの内、未復号の未復号データが格納データとして残った状態となる。   Next, the decoding unit 16 decodes the encoded data included in the stored data stored in the storage unit 14 (step S104) (details will be described later). Then, the decoding unit 16 outputs the decoded data. The decoding unit 16 deletes the decoded encoded data from the stored data in the storage unit 14. For this reason, in the storage unit 14, undecoded undecoded data remains as stored data among the cut data stored in the storage unit 14 by the cutout unit 12.

次に、判断部16Aが、格納部14に格納されている格納データを解析し(ステップS106)、格納データに基づいた可変長復号が可能か否かを判断する(ステップS108)(詳細後述)。   Next, the determination unit 16A analyzes the stored data stored in the storage unit 14 (step S106), and determines whether variable length decoding based on the stored data is possible (step S108) (details will be described later). .

ステップS108で肯定判断すると(ステップS108:Yes)、ステップS104へ戻る。   If an affirmative determination is made in step S108 (step S108: Yes), the process returns to step S104.

一方、ステップS108で否定判断すると(ステップS108:No)、ステップS110へ進む。ステップS110では、切出部12が、復号対象の入力データに、未復号の未復号データが有るか否かを判断する(ステップS110)。切出部12は、例えば、入力データの全データが切出部12によって切出されたか否かを判別することによって、ステップS110の判断を行う。   On the other hand, if a negative determination is made in step S108 (step S108: No), the process proceeds to step S110. In step S110, the clipping unit 12 determines whether there is undecoded undecoded data in the input data to be decoded (step S110). For example, the cutout unit 12 determines whether or not all data of the input data has been cut out by the cutout unit 12 to perform the determination in step S110.

ステップS110で肯定判断すると(ステップS110:Yes)、上記ステップS100へ戻る。一方、ステップS110で否定判断すると(ステップS110:No)、本ルーチンを終了する。   If an affirmative determination is made in step S110 (step S110: Yes), the process returns to step S100. On the other hand, if a negative determination is made in step S110 (step S110: No), this routine ends.

次に、復号装置10が実行する復号処理の詳細を、具体例を挙げて説明する。   Next, details of the decoding process executed by the decoding device 10 will be described with a specific example.

図3は、入力データに含まれる複数の符号化データの一例を示す模式図である。なお、図3では、符号化データが、量子化パラメータの差分(図3中、delta_qp参照、以下、単に、delta_qpと称して説明する場合がある)を符号化した符号化データである場合を示している。また、図3中に示す符号化データは、各量子化パラメータの差分に対応する可変長符号化されたデータである。また、図3中、符号長は、対応する符号化データの符号長を示す。   FIG. 3 is a schematic diagram illustrating an example of a plurality of encoded data included in input data. FIG. 3 shows a case where the encoded data is encoded data obtained by encoding a difference between quantization parameters (refer to delta_qp in FIG. 3 and may be simply referred to as delta_qp hereinafter). ing. The encoded data shown in FIG. 3 is variable-length encoded data corresponding to the difference between the quantization parameters. In FIG. 3, the code length indicates the code length of the corresponding encoded data.

例えば、図3に示すように、delta_qpの値が、−4〜+4であるものとし、各delta_qpに対応する符号化データが、図3に示す値であったとする。また、各符号化データの符号長が図3に示す値であったとする。   For example, as shown in FIG. 3, it is assumed that the value of delta_qp is −4 to +4, and the encoded data corresponding to each delta_qp is the value shown in FIG. Also assume that the code length of each encoded data is the value shown in FIG.

具体的には、delta_qp「−2」に対応する符号化データは、2進数で「0011」であり、符号長は「4」である。なお、以下では、2進数を表現する場合、“b”を付して表現する。すなわち、2進数の「0011」は、「0011b」と表記する。   Specifically, the encoded data corresponding to delta_qp “−2” is “0011” in binary number and the code length is “4”. In the following, when a binary number is expressed, “b” is added. That is, the binary number “0011” is expressed as “0011b”.

図3に示す、複数の符号化データにおける最大符号長は、「6」である。このため、入力データが図2に示す複数の符号化データを含むデータである場合、復号装置10は、最大符号長「6」として切出しを行う。   The maximum code length in the plurality of pieces of encoded data illustrated in FIG. 3 is “6”. For this reason, when the input data is data including a plurality of pieces of encoded data shown in FIG. 2, the decoding apparatus 10 performs extraction with the maximum code length “6”.

図4は、切出部12による切出データの切出しを示す説明図である。図4に示すように、切出部12は、図3に示す複数の符号化データを含む入力データから、これらの符号化データの最大符号長以上の予め定めた第1符号長M毎に切出しを行う。本実施の形態では、第1符号長Mが「6」である場合を想定して説明する。また、入力データのデータ長がXビット(Xは、Mより大きい整数)である場合を想定して説明する。   FIG. 4 is an explanatory diagram showing the extraction of the extraction data by the extraction unit 12. As shown in FIG. 4, the cutout unit 12 cuts out input data including a plurality of pieces of encoded data shown in FIG. 3 for each predetermined first code length M that is equal to or larger than the maximum code length of these encoded data. I do. In the present embodiment, the case where the first code length M is “6” is assumed. Further, description will be made assuming that the data length of the input data is X bits (X is an integer larger than M).

なお、本実施の形態では、第1符号長Mは、1つの入力データに対して一定の値であるものとして説明する。なお、第1符号長Mは、1つの入力データに対して一定の値を用いることが、高速に復号処理を行う観点から好ましいが、1つの入力データに対する第1符号長Mの値は、入力データに含まれる符号化データの配列に応じて変更してもよい。具体的には、符号化データの符号長が規則的に変更する順に配列されている場合には、該変更規則に沿って第1符号長Mを変更してもよい。   In the present embodiment, the first code length M is described as a constant value for one input data. The first code length M is preferably a constant value for one input data from the viewpoint of performing decoding processing at high speed, but the value of the first code length M for one input data is You may change according to the arrangement | sequence of the encoding data contained in data. Specifically, when the code lengths of the encoded data are arranged in the order in which they are regularly changed, the first code length M may be changed according to the change rules.

切出部12は、入力データの先頭から順に、該入力データを第1符号長M毎に切出す。そして、切出部12は、切出したMビットの切出データを、順次、格納部14へ格納する。図4に示すように、格納部14に残存データ(例えば、αビット)が存在する場合、切出部12は、残存データの終端に、切出データを結合させる。このため、切出部12による切出し(図2中、ステップS100参照)及び格納(図2中、ステップS102参照)によって、例えば、格納部14には、M+αビットのデータ長の格納データが格納された状態となる。   The cutout unit 12 cuts out the input data for each first code length M in order from the top of the input data. Then, the cutout unit 12 sequentially stores the cut out M-bit cutout data in the storage unit 14. As shown in FIG. 4, when there is residual data (for example, α bits) in the storage unit 14, the cutout unit 12 combines the cutout data with the end of the residual data. For this reason, for example, the storage unit 14 stores storage data having a data length of M + α bits by cutting (see step S100 in FIG. 2) and storing (see step S102 in FIG. 2) by the cutting unit 12. It becomes a state.

なお、詳細は後述するが、復号部16は、格納データから符号化データを読取り復号する。このとき、復号部16は、格納部14に格納されている格納データから復号対象の符号化データを切出して、切出した符号化データを復号する。このため、格納部14には、切出部12が切出した切出データの内、復号部16によって未復号のデータが格納データとして格納されている状態となる。   Although details will be described later, the decoding unit 16 reads and decodes the encoded data from the stored data. At this time, the decoding unit 16 cuts out the encoded data to be decoded from the storage data stored in the storage unit 14 and decodes the extracted encoded data. Therefore, the storage unit 14 is in a state in which undecoded data is stored as stored data by the decoding unit 16 among the cut data cut out by the cutting unit 12.

図4に示すように、入力データのデータ長Xが、切出部12による切出単位である第1符号長Mの整数倍とならない場合もある。この場合、切出部12は、入力データを先頭から順に切出したときの最後の切出し時には、残存している第1符号長M未満のデータ長(X/Mの余りの値)のデータを切出せばよい。   As shown in FIG. 4, the data length X of the input data may not be an integral multiple of the first code length M, which is a unit cut out by the cutout unit 12. In this case, the cutting unit 12 cuts the remaining data having a data length less than the first code length M (remainder value of X / M) at the time of last cutting when the input data is cut out in order from the top. Just put it out.

切出データを格納する格納部14の記憶容量(以下、メモリサイズと称する)は、装置小型化等の観点から、最小限であることが好ましい。本実施の形態では、格納部14のメモリサイズは、下記式(1)によって示されるメモリサイズ以上であることが好ましい。   The storage capacity (hereinafter referred to as memory size) of the storage unit 14 that stores the cut-out data is preferably minimal from the viewpoint of device miniaturization and the like. In the present embodiment, the memory size of the storage unit 14 is preferably greater than or equal to the memory size represented by the following formula (1).

格納部14のメモリサイズ=M×2−L ・・・式(1)   Memory size of storage unit 14 = M × 2-L (1)

式(1)中、Mは、第1符号長を示す。Lは、入力データに含まれる符号化データの最小符号長を示す。   In formula (1), M represents the first code length. L indicates the minimum code length of the encoded data included in the input data.

格納部14にデータが格納されていない状態で、切出部12が切出データを格納部14に格納すると、格納部14に格納されている格納データのデータ長のとりうる最大値は第1符号長Mとなる。また、復号部16が格納データから復号対象の符号化データを切出して復号すると、格納部14における格納データのデータ長は、復号前の状態の格納データのデータ長から復号した符号化データのデータ長を減算した減算値となる。このため、復号部16による復号後の状態における、格納部14に格納されている格納データのデータ長のとりうる最大値は、第1符号長Mから、入力データに含まれる符号化データの最小符号長Lを減算した減算値(M−Lの値)となる。   When the cutting unit 12 stores the cut data in the storage unit 14 in a state where no data is stored in the storage unit 14, the maximum value that the data length of the stored data stored in the storage unit 14 can take is the first value. The code length is M. When the decoding unit 16 extracts and decodes the encoded data to be decoded from the stored data, the data length of the stored data in the storage unit 14 is the data of the encoded data decoded from the data length of the stored data in the state before decoding. Subtracted by subtracting the length. For this reason, the maximum value that the data length of the storage data stored in the storage unit 14 in the state after decoding by the decoding unit 16 can take from the first code length M to the minimum of the encoded data included in the input data A subtraction value (a value of ML) obtained by subtracting the code length L is obtained.

この「M−L」のデータ長の格納データが格納部14に格納された状態で、更に、切出部12による次の切出し(ステップS100)及び格納(ステップS102)が行われたとする。この状態における格納データのデータ長のとりうる最大値は、「(M−L)+M」となる。   It is assumed that the next extraction (step S100) and storage (step S102) are further performed by the extraction unit 12 in a state where the storage data having the data length of “ML” is stored in the storage unit 14. The maximum value of the data length of the stored data in this state is “(ML) + M”.

このため、格納部14は、「(M−L)+M」、すなわち、上記式(1)によって示される「M×2−L」のメモリサイズを少なくとも有する必要がある。このため、格納部14のメモリサイズは、上記式(1)によって示されるメモリサイズ以上であることが好ましい。   Therefore, the storage unit 14 needs to have at least a memory size of “(M−L) + M”, that is, “M × 2−L” represented by the above formula (1). For this reason, it is preferable that the memory size of the storage part 14 is more than the memory size shown by said Formula (1).

なお、本実施の形態では、格納部14のメモリサイズは、上記式(1)によって示されるメモリサイズである場合を説明する。   In the present embodiment, a case will be described in which the memory size of the storage unit 14 is the memory size represented by the above equation (1).

次に、復号部16による符号化データの復号について説明する。本実施の形態では、復号部16は、格納部14に格納されている格納データの先頭からデータを読込むことで符号化データ(例えばNバイト)を切出し、復号する。   Next, decoding of encoded data by the decoding unit 16 will be described. In the present embodiment, the decoding unit 16 reads out the data from the beginning of the stored data stored in the storage unit 14 to extract and decode the encoded data (for example, N bytes).

このため、格納部14に格納されている格納データのデータ長が「M×2−L」の状態で復号部16が復号を実行すると、格納データのデータ長は、「M×2−L−N」となる。   For this reason, when the decoding unit 16 performs decoding while the data length of the stored data stored in the storage unit 14 is “M × 2-L”, the data length of the stored data is “M × 2-L−”. N ".

本実施の形態では、復号部16は、ルックアップテーブルを用いて復号を行う場合を説明する。   In the present embodiment, a case where the decoding unit 16 performs decoding using a lookup table will be described.

具体的には、復号対象の入力データに含まれる複数の符号化データが、図3に示す符号化データであったとする。また、格納部14には、格納データとして、残存データ「01b」と切出データ「011000b」とからなる格納データ「01011000b」が格納された状態であったとする。   Specifically, it is assumed that a plurality of pieces of encoded data included in the input data to be decoded are the encoded data shown in FIG. Further, it is assumed that storage data “01011000b” composed of remaining data “01b” and cut-out data “011000b” is stored in the storage unit 14.

復号部16は、まず、復号対象の符号化データのデータ長を取得するためのルップアップテーブルを生成する。   First, the decoding unit 16 generates a loop-up table for acquiring the data length of the encoded data to be decoded.

図6は、復号部16による復号時に生成する生成途中のルックアップテーブルのデータ構造の一例を示す模式図である。図6中、「X」は任意の値(0または1)を示す。読込データは、復号部16が格納データから読込む対象のデータである。復号部16は、図6に示す「X」の組合せを全て展開し、読込データから符号化データ、及び該符号化データの切出長を取得するためのルックアップテーブルを作成する。   FIG. 6 is a schematic diagram illustrating an example of the data structure of a lookup table that is being generated that is generated during decoding by the decoding unit 16. In FIG. 6, “X” represents an arbitrary value (0 or 1). The read data is data to be read by the decryption unit 16 from the stored data. The decoding unit 16 expands all combinations of “X” shown in FIG. 6 and creates a lookup table for acquiring encoded data and the cut-out length of the encoded data from the read data.

図7は、復号部16が復号時に生成したルックアップテーブルのデータ構造の一例を示す模式図である。図7に示すように、delta_qpが「0」の場合、2進数で示したときの先頭1ビット目の値は「1」である。このため、第1符号長Mの値である「6」に対して、残り5ビットは、どのような値でもよい。よって、復号部16は、図7に示すように、格納データから読み込んだ読込データの値が「32」〜「63」の範囲であれば、delta_qpの値は「0」であり、切出長は「1」であると解析する。   FIG. 7 is a schematic diagram illustrating an example of a data structure of a lookup table generated by the decoding unit 16 at the time of decoding. As shown in FIG. 7, when delta_qp is “0”, the value of the first bit when represented by a binary number is “1”. For this reason, with respect to “6” which is the value of the first code length M, the remaining 5 bits may be any value. Therefore, as shown in FIG. 7, when the value of the read data read from the stored data is in the range of “32” to “63”, the decryption unit 16 has a value of delta_qp of “0”, and the extraction length Is analyzed to be “1”.

図5は、格納データの一例を示す模式図である。復号部16が、図5に示す格納データから、図7に示すルックアップテーブルに基づいて復号を行うとする。この場合、格納データにおける先頭から6ビット(第1符号長M)分のデータは、「010110b」である。このため、この格納データは、図6に示すルックアップテーブルにおける、「010XXX」に相当することから、delta_qpは「−1」、切出長は「3」であることがわかる。   FIG. 5 is a schematic diagram illustrating an example of stored data. Assume that the decoding unit 16 performs decoding from the stored data illustrated in FIG. 5 based on the lookup table illustrated in FIG. In this case, the data for 6 bits (first code length M) from the beginning in the stored data is “010110b”. For this reason, this stored data corresponds to “010XXX” in the lookup table shown in FIG. 6, so that it is understood that delta_qp is “−1” and the cut-out length is “3”.

このため、復号部16は、格納データ「01011000b」から復号データとして、量子化パラメータの差分(delta_qp)=「−1」を出力し、復号に用いた3ビット分のデータ「010b」を格納データから切出す。図8は、格納部14に格納されている、残存している格納データの一例を示す模式図である。図8に示すように、この場合、復号後に格納部14に格納されている格納データは、「11000b」の5ビットのデータとなる。   Therefore, the decoding unit 16 outputs the quantization parameter difference (delta_qp) = “− 1” as the decoded data from the stored data “01011000b”, and stores the data “010b” for 3 bits used for the decoding as the stored data. Cut out from. FIG. 8 is a schematic diagram illustrating an example of the remaining stored data stored in the storage unit 14. As shown in FIG. 8, in this case, the storage data stored in the storage unit 14 after decoding is 5-bit data “11000b”.

次に、復号部16の判断部16Aが、格納部14に残存する格納データを解析し、可変長復号可能か否かを判断する(図2中、ステップS106及びステップS108参照)。   Next, the determination unit 16A of the decoding unit 16 analyzes the stored data remaining in the storage unit 14 and determines whether variable length decoding is possible (see step S106 and step S108 in FIG. 2).

詳細には、判断部16Aは、格納部14に格納されている格納データを読込み、解析することで、復号が可能か否かを判断する。この解析及び判断方法の一つとして、実際に復号を行い、符号化データが得られるか否かを判断する方法が挙げられる。   Specifically, the determination unit 16A determines whether decoding is possible by reading and analyzing the storage data stored in the storage unit 14. As one of the analysis and determination methods, there is a method of actually decoding and determining whether or not encoded data can be obtained.

この場合に、復号部16が、格納部14に格納されている格納データに対して、図6及び図7のルックアップテーブルを利用するときには工夫が必要となる。   In this case, when the decoding unit 16 uses the lookup tables of FIGS. 6 and 7 for the stored data stored in the storage unit 14, it is necessary to devise.

図6及び図7に示すルックアップテーブルは、上述したように、入力データに含まれる、可変長符号化された符号化データの内の最大符号長に基づいて作成したものである。このため、格納部14のメモリサイズを、上記式(1)を満たす値に最小化している本実施の形態では、格納データのデータ長は、第1符号長M未満の値となる。   The lookup tables shown in FIG. 6 and FIG. 7 are created based on the maximum code length of the encoded data that is variable-length encoded and included in the input data, as described above. For this reason, in the present embodiment in which the memory size of the storage unit 14 is minimized to a value satisfying the above equation (1), the data length of the stored data is a value less than the first code length M.

このため、この場合、復号部16は、図6及び図7に示すルックアップテーブルの下位ビットを削除したルップアップテーブルを作成する必要がある。   For this reason, in this case, the decoding unit 16 needs to create a loop-up table in which the lower bits of the lookup table shown in FIGS. 6 and 7 are deleted.

具体的には、格納部14に、図8に示す格納データが格納されているとする。この格納データのデータ長は5ビット(「11000b」)である。このため、復号部16は、「6−5=1」ビット分を、図7に示すルックアップテーブルの下位ビットから削除し、図9に示すルックアップテーブルを作成する。   Specifically, it is assumed that the storage data shown in FIG. The data length of the stored data is 5 bits (“11000b”). For this reason, the decoding unit 16 deletes “6-5 = 1” bits from the lower bits of the lookup table shown in FIG. 7 and creates the lookup table shown in FIG.

図9は、下位ビットを削除したルックアップテーブルの一例を示す模式図である。   FIG. 9 is a schematic diagram illustrating an example of a lookup table from which lower bits are deleted.

すなわち、格納データが「00001b」である場合、切出長は「6」である。この場合、符号化データのデータ長が1ビット分足りないことが判明する。このため、この場合、判断部16Aは、格納データに基づいた可変長復号が不可能であると判断する(図2中、ステップS108:No)。   That is, when the stored data is “00001b”, the cut-out length is “6”. In this case, it is found that the data length of the encoded data is less than 1 bit. Therefore, in this case, the determination unit 16A determines that variable length decoding based on the stored data is impossible (step S108: No in FIG. 2).

なお、図8に示す例では、格納部14に残存している格納データが「1XXXXb」であるため、復号データとしてのdelta_qpは「0」、切出長は「1」であることが判明する。このため、この場合、判断部16Aは、格納データに基づいた可変長復号が可能と判断する(図2中、ステップS108:Yes)。   In the example shown in FIG. 8, since the stored data remaining in the storage unit 14 is “1XXXb”, it is found that delta_qp as decoded data is “0” and the cut-out length is “1”. . Therefore, in this case, the determination unit 16A determines that variable-length decoding based on the stored data is possible (step S108: Yes in FIG. 2).

なお、図2におけるステップS108の可変長復号が可能か否かの判断を、復号を行うことにより実行する場合には、ステップS108で肯定判断すると(ステップS108:Yes)、ステップS104の処理を省略し、ステップS106の処理を実行してもよい。これにより、復号処理効率の向上を更に図ることができる。   In the case where the determination of whether or not variable length decoding in step S108 in FIG. 2 is possible by performing decoding, if the determination in step S108 is affirmative (step S108: Yes), the processing in step S104 is omitted. Then, the process of step S106 may be executed. As a result, the decoding processing efficiency can be further improved.

なお、上記では、復号部16は、ステップS108の判断を、格納データについて復号を行うことにより実行する場合を説明した。しかし、復号部16は、下記方法を用いることで、復号を行うことなく、格納データに基づいた可変長復号が可能か否かを判断してもよい。   In the above description, the case has been described in which the decoding unit 16 performs the determination in step S108 by decoding the stored data. However, the decoding unit 16 may determine whether variable length decoding based on stored data is possible without performing decoding by using the following method.

例えば、復号部16は、格納部14に格納されている格納データの上位4ビットの論理和演算結果が「0」であるか「1」であるかを判別することで、格納データに基づいた可変長復号が可能か否かの判断を行ってもよい。   For example, the decoding unit 16 determines whether the upper 4 bits of the logical sum operation result of the stored data stored in the storage unit 14 is “0” or “1”, and thus based on the stored data. It may be determined whether variable length decoding is possible.

例えば、格納部14に格納されている格納データが、図8に示す格納データ「11000b」であったとする。   For example, it is assumed that the storage data stored in the storage unit 14 is the storage data “11000b” illustrated in FIG. 8.

この場合、復号部16は、格納データの上位4ビットについて論理和演算(OR演算と称される場合もある)した結果が「0」であれば、可変長復号は不可能と判断する。これは、格納データの上位4ビットの論理和演算結果が「0」となる格納データは、「0000XXb」、すなわち、「000010b」または「000011b」であるためである。すなわち、この場合、復号には6ビット必要であるが、格納データのデータ長は5ビットであり、データが足りないためである。   In this case, the decoding unit 16 determines that variable-length decoding is not possible if the result of a logical sum operation (sometimes referred to as an OR operation) for the upper 4 bits of the stored data is “0”. This is because the stored data in which the logical sum operation result of the upper 4 bits of the stored data is “0” is “0000XXb”, that is, “000010b” or “000011b”. That is, in this case, 6 bits are required for decoding, but the data length of the stored data is 5 bits, and there is not enough data.

一方、復号部16は、格納データの上位4ビットの論理和演算結果が「0」ではない場合、すなわち「1」である場合には、可変長復号可能と判断する。   On the other hand, the decoding unit 16 determines that variable length decoding is possible when the logical sum operation result of the upper 4 bits of the stored data is not “0”, that is, “1”.

このように、復号部16は、格納データの上位4ビットの論理和演算結果が「0」であるか否かを判別することで、格納データから可変長復号可能か否かを判断してもよい。この場合、復号を行いつつ可変長復号可能か否かを判断する方法に比べて、処理の簡略化及び処理時間の短縮を図ることができる。   As described above, the decoding unit 16 determines whether or not variable length decoding is possible from the stored data by determining whether or not the logical sum operation result of the upper 4 bits of the stored data is “0”. Good. In this case, the processing can be simplified and the processing time can be shortened compared to the method of determining whether variable length decoding is possible while performing decoding.

次に、復号部16が、復号対象の入力データに、未復号の未復号データが有るか否かを判断する判断処理(図2中、ステップS110参照)について説明する。   Next, a determination process (see step S110 in FIG. 2) in which the decoding unit 16 determines whether there is undecoded undecoded data in the input data to be decoded will be described.

ステップS110において、復号部16は、復号対象の入力データにおける未復号データのデータ長を読取る。なお、この入力データは、切出部12によって切出データの切出された残りのデータである。このため、復号部16は、復号対象の入力データの残りのデータ長を読取ることで、未復号データのデータ長を読取ればよい。   In step S110, the decoding unit 16 reads the data length of the undecoded data in the input data to be decoded. Note that this input data is the remaining data cut out by the cutout unit 12. For this reason, the decoding part 16 should just read the data length of undecoded data by reading the remaining data length of the input data of decoding object.

そして、復号部16は、未復号データのデータ長が「0」では無いか否かを判別することで、未復号データが有るか否かを判断する。具体的には、復号部16は、未復号データのデータ長が「0」である場合には、ステップS110で否定判断(ステップS110:No)する。そして、復号処理を終了する。一方、復号部16は、未復号データのデータ長が「0」ではない場合には、ステップS110で肯定判断(ステップS110:Yes)し、切出部12による切出し(ステップS100)へ戻る。   Then, the decoding unit 16 determines whether there is undecoded data by determining whether the data length of the undecoded data is not “0”. Specifically, when the data length of the undecoded data is “0”, the decoding unit 16 makes a negative determination (step S110: No) in step S110. Then, the decoding process ends. On the other hand, when the data length of the undecoded data is not “0”, the decoding unit 16 makes an affirmative determination (step S110: Yes) in step S110, and returns to the extraction by the extraction unit 12 (step S100).

以上説明したように、本実施の形態の復号装置10では、可変長符号化された複数の符号化データを含む入力データを、最大符号長以上の予め定めた第1符号長M毎に切出し、切出した切出データに含まれる符号化データを可変長復号する。   As described above, in the decoding device 10 according to the present embodiment, input data including a plurality of pieces of variable length encoded data is cut out for each predetermined first code length M equal to or greater than the maximum code length, The encoded data included in the cut out data is subjected to variable length decoding.

ここで、従来では、入力データを先頭から読出し、先頭位置(0番目)に位置する符号化データを復号することで該符号化データの符号長(データ長)を解析し、該符号長に応じた可変長復号を該符号化データに対して行っていた。このように、従来では、入力データの先頭から順に検索して処理する、いわゆるシーケンシャルな処理を実行していた。   Here, conventionally, the input data is read from the head, the encoded data located at the head position (0th) is decoded, and the code length (data length) of the encoded data is analyzed, and according to the code length. The variable length decoding was performed on the encoded data. As described above, conventionally, so-called sequential processing is performed in which search is performed in order from the top of input data.

一方、本実施の形態の復号装置10では、上述したように、可変長符号化された複数の符号化データを含む入力データを、最大符号長以上の予め定めた第1符号長M毎に切出し、切出した切出データに含まれる符号化データを可変長復号する。   On the other hand, as described above, decoding apparatus 10 according to the present embodiment cuts out input data including a plurality of pieces of variable-length encoded data for each predetermined first code length M that is greater than or equal to the maximum code length. Then, the encoded data included in the cut out data is variable-length decoded.

図10は、本実施の形態の復号装置10による、復号対象の入力データに対する復号処理の処理タイミングの説明図である。   FIG. 10 is an explanatory diagram of the processing timing of the decoding process for the input data to be decoded by the decoding device 10 according to the present embodiment.

図10に示すように、本実施の形態の復号装置10では、切出部12が、復号対象の入力データを先頭から順に読出し(図10中、矢印Y方向参照)、予め定めた第1符号長M毎にデータ切出しを行う(図10中、データ切出し♯0、データ切出し♯1、データ切出し♯2参照)。このため、復号部16では、切出部12において全てのデータが切出されるのを待つ事なく、切出部12で0番目(図10中、♯0参照)のデータ切出しが行われることで切出された切出データについて、復号を開始する。すなわち、復号部16では、切出部12による切出しの実行中に、既に切出された切出データに対して復号を実行する。このため、本実施の形態の復号装置10では、切出部12によるデータ切出しと、復号部16による復号と、の少なくとも一部を並列して実行することができる。   As shown in FIG. 10, in the decoding device 10 according to the present embodiment, the cutout unit 12 reads input data to be decoded sequentially from the top (see the arrow Y direction in FIG. 10), and a predetermined first code Data extraction is performed for each length M (see data extraction # 0, data extraction # 1, and data extraction # 2 in FIG. 10). For this reason, the decoding unit 16 performs the 0th data extraction (see # 0 in FIG. 10) in the extraction unit 12 without waiting for all the data to be extracted in the extraction unit 12. Decryption is started for the extracted data. That is, the decoding unit 16 performs decoding on the already cut out data while the cutting unit 12 performs the cutting. For this reason, in the decoding apparatus 10 of this Embodiment, at least one part of the data extraction by the extraction part 12 and the decoding by the decoding part 16 can be performed in parallel.

このように、本実施の形態の復号装置10では、復号対象の入力データから高速にデータを切出して復号処理を実行することができる。   As described above, in the decoding device 10 of the present embodiment, data can be extracted from the input data to be decoded at high speed and the decoding process can be executed.

従って、本実施の形態の復号装置10では、可変長符号化された符号化データを高速に復号することができる。   Therefore, the decoding apparatus 10 of the present embodiment can decode encoded data that has been subjected to variable length encoding at high speed.

また、上述のように、本実施の形態の復号装置10では、切出部12が入力データから切出データを切出す単位である第1符号長Mの値を、入力データにおける複数の符号化データの最大符号長以上の値に定めている。このため、本実施の形態の復号装置10では、復号部16による復号に必要なデータ長以上のデータを格納部14に格納することができるので、復号処理の短縮を図ることができる。   Further, as described above, in the decoding device 10 according to the present embodiment, the value of the first code length M, which is a unit in which the cutout unit 12 cuts out the cutout data from the input data, is encoded into a plurality of pieces of input data. It is set to a value greater than the maximum data code length. For this reason, in the decoding apparatus 10 according to the present embodiment, data longer than the data length necessary for decoding by the decoding unit 16 can be stored in the storage unit 14, so that the decoding process can be shortened.

また、本実施の形態の復号装置10では、切出部12が切出した切出データを格納部14に格納した後に、復号部16で順次読み出して復号する。このため、復号によって符号化データの符号長が確定する前に、入力データから切出データを切出すことが出来る。よって、異なるタイミングで切出された切出データに含まれる複数の符号化データについて、並列復号したり、パイプライン処理による高速復号が可能となる。   Moreover, in the decoding apparatus 10 of this Embodiment, after storing the cut-out data cut out by the cut-out unit 12 in the storage unit 14, the decoding unit 16 sequentially reads and decodes the data. For this reason, before the code length of the encoded data is determined by decoding, the extracted data can be extracted from the input data. Therefore, a plurality of encoded data included in the cut data cut out at different timings can be decoded in parallel or by high-speed decoding by pipeline processing.

また、本実施の形態では、復号部16(判断部16A)が、格納部14に格納されている格納データに基づいて、可変長復号可能か否かを判断する。そして、格納データを用いた復号が不可能であると判断された場合に、切出部12が、入力データから第1符号長の切出データを切出して格納部14に格納する。このため、格納部14には、復号部16において復号に用いる必要最小限のデータ長のデータのみを格納することができる。このように、本実施の形態では、復号に用いるデータが不足している場合にのみ、入力データから第1符号長の切出データを切出す。このため、格納部14のメモリサイズの最小化を図ることができる。   In the present embodiment, the decoding unit 16 (determination unit 16A) determines whether variable-length decoding is possible based on the stored data stored in the storage unit 14. When it is determined that decoding using the stored data is impossible, the cutout unit 12 cuts out the first code length cutout data from the input data and stores it in the storage unit 14. For this reason, the storage unit 14 can store only data having a minimum necessary data length used for decoding in the decoding unit 16. Thus, in the present embodiment, cut-out data having the first code length is cut out from input data only when data used for decoding is insufficient. For this reason, the memory size of the storage unit 14 can be minimized.

なお、本実施の形態では、入力データに含まれる符号化データが、delta_qp(量子化パラメータの差分)の符号化データである場合を説明した。しかし、入力データに含まれる符号化データは、量子化パラメータの差分の符号化データに限られない。例えば、入力データは、量子化パラメータの差分(delta_qp)、動きベクトル(mv_x、mv_y)等、最大符号長の異なる複数種類の符号化パラメータを含んでいてもよい。入力データが、複数種類の符号化データを含む場合、復号装置10では、符号化データの種類に応じた回数の復号処理を実行すればよい。   In the present embodiment, the case has been described in which the encoded data included in the input data is encoded data of delta_qp (quantization parameter difference). However, the encoded data included in the input data is not limited to the encoded data of the quantization parameter difference. For example, the input data may include a plurality of types of encoding parameters having different maximum code lengths, such as quantization parameter differences (delta_qp) and motion vectors (mv_x, mv_y). When the input data includes a plurality of types of encoded data, the decoding apparatus 10 may perform the decoding process a number of times corresponding to the type of encoded data.

また、本実施の形態の復号装置10では、格納データの解析及び格納データについて可変長復号可能か否かの判断を行う場合を説明した。しかし、復号装置10では、図2に示す復号処理における、格納データの解析、及び可変長復号可能か否かの判断(図2中、ステップS106、及びステップS108参照)を省略してもよい。   Further, in the decoding device 10 of the present embodiment, the case has been described where analysis of stored data and determination as to whether variable length decoding is possible for the stored data are performed. However, the decoding apparatus 10 may omit the analysis of stored data and the determination of whether or not variable length decoding is possible in the decoding process shown in FIG. 2 (see step S106 and step S108 in FIG. 2).

この場合、復号装置10は、図11に示す復号処理を実行すればよい。図11は、復号処理の他の手順を示すフローチャートである。   In this case, the decoding device 10 may perform the decoding process shown in FIG. FIG. 11 is a flowchart showing another procedure of the decoding process.

まず、切出部12が入力データを第1符号長M毎に切出し(ステップS200)、格納部14へ格納する(ステップS202)。次に、復号部16が、格納部14に格納されている格納データを復号する(ステップS204)。次に、復号部16が、未復号データが有るか否かを判断する(ステップS206)。そして、ステップS206で肯定判断すると(ステップS206:Yes)、上記ステップS200へ戻る。一方、ステップS206で否定判断すると(ステップS206:No)、ステップS208へ進む。ステップS208では、復号部16が、格納部14に格納されている全ての格納データを復号する(ステップS208)。そして、本ルーチンを終了する。   First, the cutting unit 12 cuts input data for each first code length M (step S200) and stores it in the storage unit 14 (step S202). Next, the decryption unit 16 decrypts the stored data stored in the storage unit 14 (step S204). Next, the decoding unit 16 determines whether there is undecoded data (step S206). If an affirmative determination is made in step S206 (step S206: Yes), the process returns to step S200. On the other hand, if a negative determination is made in step S206 (step S206: No), the process proceeds to step S208. In step S208, the decryption unit 16 decrypts all stored data stored in the storage unit 14 (step S208). Then, this routine ends.

なお、ステップS200、ステップS202、ステップS204、ステップS206の処理は、図2におけるステップS100、ステップS102、ステップS104、ステップS110の各々と同様である。   Note that the processing of step S200, step S202, step S204, and step S206 is the same as that of step S100, step S102, step S104, and step S110 in FIG.

このように、復号装置10が、図2に示す復号処理に替えて図11に示す復号処理を実行することで、格納データの解析を行う必要が無くなり、復号処理の更なる簡略化を図ることができる。ただし、図11に示す復号処理を実行する場合には、格納部14に残存する格納データが、図2に示す復号処理を実行する場合に比べて大きくなる場合がある。   As described above, the decoding device 10 executes the decoding process shown in FIG. 11 instead of the decoding process shown in FIG. 2, thereby eliminating the need to analyze the stored data and further simplifying the decoding process. Can do. However, when the decoding process shown in FIG. 11 is executed, the stored data remaining in the storage unit 14 may be larger than when the decoding process shown in FIG. 2 is executed.

具体的には、図11に示す復号処理を実行する場合には、格納部14に格納される格納データのデータ量は、上述した「M×2−L」よりはるかに大きいデータ量となる。このため、図11に示す復号処理を実行する場合には、入力データのデータサイズが大きいほど、メモリサイズのより大きい格納部14を用意する必要がある。   Specifically, when the decoding process shown in FIG. 11 is executed, the data amount of the stored data stored in the storage unit 14 is much larger than “M × 2-L” described above. For this reason, when the decoding process shown in FIG. 11 is executed, it is necessary to prepare the storage unit 14 having a larger memory size as the data size of the input data is larger.

このため、復号装置10が、図11に示す復号処理を実行する場合には、図2に示す復号処理を実行する場合に比べてメモリサイズの大きいメモリを格納部14として搭載可能な装置に、復号装置10を適用することが好ましい。   For this reason, when the decoding device 10 executes the decoding process shown in FIG. 11, the device capable of mounting a memory having a larger memory size as the storage unit 14 than the case of executing the decoding process shown in FIG. It is preferable to apply the decoding device 10.

なお、図2に示す復号処理に替えて図11に示す復号処理を実行する場合、ステップS200〜ステップS206の処理を実行し、ステップS206で否定判断(ステップS206:No)した場合には、ステップS208において、格納部14に格納されている全ての格納データを復号することが必要となる。このステップS208の復号は、ステップS204の復号処理と同様の処理であるため、復号処理全体の処理量が図2に示す復号処理に比べて増加することはない。   If the decoding process shown in FIG. 11 is executed instead of the decoding process shown in FIG. 2, the process from step S200 to step S206 is executed, and if a negative determination is made in step S206 (step S206: No), a step is performed. In S208, it is necessary to decrypt all stored data stored in the storage unit 14. Since the decoding in step S208 is the same as the decoding process in step S204, the processing amount of the entire decoding process does not increase compared to the decoding process shown in FIG.

(実施の形態2)
本実施の形態では、実施の形態1における、入力データから切出した切出データを格納した格納データに基づく復号処理に加えて、入力データに含まれる符号化データに対する復号処理を行う形態を説明する。
(Embodiment 2)
In this embodiment, in addition to the decoding process based on the storage data storing the cut data cut out from the input data in the first embodiment, a form for performing the decoding process on the encoded data included in the input data will be described. .

図12は、本実施の形態の復号装置10Aの機能的構成を示すブロック図である。復号装置10Aは、可変長符号化された複数の符号化データを含む入力データを受け付ける。   FIG. 12 is a block diagram illustrating a functional configuration of the decoding device 10A according to the present embodiment. The decoding apparatus 10A accepts input data including a plurality of encoded data that has been subjected to variable length encoding.

本実施の形態の復号装置10Aでは、入力データが、最大符号長の異なる複数種類の符号化データを含む場合を説明する。   In decoding apparatus 10A of the present embodiment, a case will be described in which input data includes a plurality of types of encoded data having different maximum code lengths.

復号装置10Aは、切出部12、格納部14、第1復号部17A、及び第2復号部17Bを備える。第1復号部17Aは、判断部170Aを含む。切出部12、及び格納部14は、実施の形態1と同様である。また、第1復号部17A、及び判断部170Aは、実施の形態1の復号部16及び判断部16Aの各々と同様である。   The decoding device 10A includes a cutout unit 12, a storage unit 14, a first decoding unit 17A, and a second decoding unit 17B. The first decoding unit 17A includes a determination unit 170A. The cutout unit 12 and the storage unit 14 are the same as those in the first embodiment. Further, the first decoding unit 17A and the determination unit 170A are the same as the decoding unit 16 and the determination unit 16A of the first embodiment, respectively.

第2復号部17Bは、入力データに含まれる複数種類の符号化データの内、最大符号長が予め定めた値以上の種類の符号化データを順次切出し、復号する(以下、第2復号と称する場合がある)。一方、第1復号部17Aは、入力データに含まれる複数種類の符号化データの内、該第2復号部17Bで切出す種類以外の種類の符号化データを順次切出し、復号する(以下、第1復号と称する場合がある)。   The second decoding unit 17B sequentially extracts and decodes types of encoded data having a maximum code length equal to or greater than a predetermined value among a plurality of types of encoded data included in the input data (hereinafter referred to as second decoding). Sometimes). On the other hand, the first decoding unit 17A sequentially extracts and decodes encoded data of a type other than the types extracted by the second decoding unit 17B from among a plurality of types of encoded data included in the input data (hereinafter referred to as the first data). May be referred to as 1 decoding).

この予め定めた値は、復号装置10Aで扱う入力データに含まれる符号化データの符号化方法に応じて予め設定すればよい。   This predetermined value may be set in advance according to the encoding method of the encoded data included in the input data handled by the decoding apparatus 10A.

なお、本実施の形態の復号装置10Aでは、入力データが、最大符号長の異なる2種類の符号化データを含む場合を説明する。このため、第1復号部17Aは、2種類の符号化データの内、最大符号長の小さい種類(以下、第1種類と称する場合がある)の符号化データを切出し、復号する。一方、第2復号部17Bは、2種類の符号化データの内、最大符号長の大きい種類(以下、第2種類と称する場合がある)の符号化データを切出し、復号する。   In the decoding apparatus 10A of the present embodiment, a case will be described in which input data includes two types of encoded data having different maximum code lengths. For this reason, the first decoding unit 17A cuts out and decodes the encoded data of the type having the smallest maximum code length (hereinafter sometimes referred to as the first type) out of the two types of encoded data. On the other hand, the second decoding unit 17B cuts out and decodes the encoded data of the type having the largest maximum code length (hereinafter sometimes referred to as the second type) out of the two types of encoded data.

最大符号長の小さい第1種類の符号化データは、例えば、量子化パラメータの差分の符号化データである。最大符号長の大きい第2種類の符号化データは、例えば、MPEGで用いられる直交変換係数の符号化データである。   The first type of encoded data having a small maximum code length is, for example, encoded data of a difference between quantization parameters. The second type of encoded data having a large maximum code length is, for example, encoded data of orthogonal transform coefficients used in MPEG.

また、本実施の形態において用いる入力データでは、最大符号長の小さい第1種類の符号化データが複数と、最大符号長の大きい第2種類の符号化データと、がこの順に該入力データの先頭から配列されている場合を想定して説明する。   Also, in the input data used in the present embodiment, a plurality of first type encoded data having a small maximum code length and a second type encoded data having a maximum maximum code length are in this order in the head of the input data. A description will be given assuming the case of arrangement from

図13は、復号装置10Aが実行する復号処理の手順を示すフローチャートである。   FIG. 13 is a flowchart showing the procedure of the decoding process executed by the decoding device 10A.

まず、切出部12が、受け付けた入力データにおける、最大符号長の小さい第1種類の符号化データの群を、第1符号長毎に切出す(ステップS300)。そして、切出部12は、切出した切出データを、格納部14へ格納する(ステップS302)。これらのステップS300及びステップS302の処理は、実施の形態1のステップS100及びステップS102の処理と同様である。また、第1符号長の定義も、実施の形態1の第1符号長(第1符号長M)と同様である。   First, the cutout unit 12 cuts out a group of first type encoded data having a small maximum code length in the received input data for each first code length (step S300). Then, the cutting unit 12 stores the cut out data in the storage unit 14 (step S302). The processes in step S300 and step S302 are the same as the processes in step S100 and step S102 of the first embodiment. The definition of the first code length is also the same as the first code length (first code length M) in the first embodiment.

次に、第2復号部17Bが、入力データから最大符号長の大きい第2種類の符号化データを直接読取り、該符号化データを復号する第2復号を行う(ステップS304)。   Next, the second decoding unit 17B directly reads the second type of encoded data having a large maximum code length from the input data, and performs second decoding for decoding the encoded data (step S304).

次に、第1復号部17Aが、実施の形態1の復号部16によるステップS104〜ステップS110と同様にして、格納部14に格納された格納データにおける第1種類の符号化データについて、ステップS306〜ステップS312の処理を実行する。   Next, the first decoding unit 17A performs step S306 on the first type of encoded data in the stored data stored in the storage unit 14 in the same manner as in steps S104 to S110 performed by the decoding unit 16 of the first embodiment. Step S312 is executed.

なお、本実施の形態では、実施の形態1におけるステップS108の判断に相当するステップS310で肯定判断すると(ステップS310:Yes)、ステップS304へ戻る。一方、ステップS310で否定判断すると(ステップS310:No)、ステップS312へ進む。そして、ステップS312で肯定判断すると(ステップS312:Yes)、上記ステップS300へ戻る。一方、ステップS312で否定判断すると(ステップS312:No)、本ルーチンを終了する。   In this embodiment, when an affirmative determination is made in step S310 corresponding to the determination in step S108 in the first embodiment (step S310: Yes), the process returns to step S304. On the other hand, if a negative determination is made in step S310 (step S310: No), the process proceeds to step S312. If an affirmative determination is made in step S312 (step S312: Yes), the process returns to step S300. On the other hand, if a negative determination is made in step S312 (step S312: No), this routine ends.

以上説明したように、本実施の形態では、最大符号長が小さい第1種類の符号化データについては、切出部12で第1符号長M毎に切出して格納部14に格納した後に第1復号部17Aで順次復号(第1復号)する。一方、最大符号長が大きい第2種類の符号化データについては、格納部14に格納することなく、第2復号部17Bが入力データから直接切出して復号(第2復号)する。   As described above, in the present embodiment, the first type of encoded data having a small maximum code length is first extracted after being cut out for each first code length M by the cutout unit 12 and stored in the storage unit 14. The decoding unit 17A sequentially performs decoding (first decoding). On the other hand, for the second type of encoded data having a large maximum code length, the second decoding unit 17B directly extracts and decodes (second decoding) from the input data without storing in the storage unit.

従って、本実施の形態の復号装置10Aでは、実施の形態1の効果に加えて更に、復号処理速度の向上を図ることができる。   Therefore, in the decoding device 10A of the present embodiment, in addition to the effects of the first embodiment, the decoding processing speed can be further improved.

また、例えば、復号対象の入力データに含まれる符号化データが、MPEGで用いられる直交変換係数の符号化データのような最大符号長の大きい第2種類の符号化データである場合、格納部14には、実施の形態1に比べてメモリサイズの大きい格納部14を用意する必要がある。   For example, when the encoded data included in the input data to be decoded is the second type of encoded data having a large maximum code length, such as encoded data of orthogonal transform coefficients used in MPEG, the storage unit 14 Therefore, it is necessary to prepare the storage unit 14 having a larger memory size than that of the first embodiment.

一方、本実施の形態の復号装置10Aでは、最大符号長が大きい第2種類の符号化データについては、格納部14に格納することなく、第2復号部17Bが入力データから直接切出して復号(第2復号)する。このため、実施の形態1の効果に加えて更に、格納部14のメモリサイズを小さくすることができる。   On the other hand, in the decoding apparatus 10A according to the present embodiment, the second type of encoded data having a large maximum code length is not stored in the storage unit 14, but is directly extracted from the input data by the second decoding unit 17B and decoded ( Second decoding). For this reason, in addition to the effects of the first embodiment, the memory size of the storage unit 14 can be further reduced.

なお、図13では、復号装置10Aが、第2復号部17Bによる第2復号の実行後に、第1復号部17Aによる第1復号を実行する場合を説明した。しかし、第1復号部17Aによる第1復号の実行後に第2復号部17Bによる第2復号を実行してもよい。   Note that FIG. 13 illustrates a case where the decoding apparatus 10A executes the first decoding by the first decoding unit 17A after the second decoding by the second decoding unit 17B. However, the second decoding by the second decoding unit 17B may be executed after the first decoding by the first decoding unit 17A.

この場合、復号装置10Aは、図14に示す復号処理を実行すればよい。   In this case, the decoding device 10A may execute the decoding process shown in FIG.

図14は、復号装置10Aが実行する復号処理の他の手順を示すフローチャートである。   FIG. 14 is a flowchart showing another procedure of the decoding process executed by the decoding device 10A.

まず、図13と同様に、切出部12が、受け付けた入力データにおける、最大符号長の小さい第1種類の符号化データの群を、第1符号長毎に切出す(ステップS300)。そして、切出部12は、切出した切出データを、格納部14へ格納する(ステップS302)。   First, similarly to FIG. 13, the cutout unit 12 cuts out a group of first type encoded data having a small maximum code length in the received input data for each first code length (step S300). Then, the cutting unit 12 stores the cut out data in the storage unit 14 (step S302).

次に、第1復号部17Aが、上記ステップS306と同様にして第1復号を行う(ステップS3040)。次に、第2復号部17Bが、上記ステップS304と同様にして、入力データから最大符号長の大きい第2種類の符号化データを直接読取り、該符号化データを復号する第2復号を行う(ステップS3060)。   Next, the first decoding unit 17A performs the first decoding in the same manner as in step S306 (step S3040). Next, as in step S304, the second decoding unit 17B directly reads the second type of encoded data having a large maximum code length from the input data and performs second decoding for decoding the encoded data ( Step S3060).

次に、上記ステップS308〜ステップS312と同様の処理を行い、本ルーチンを終了する。   Next, processing similar to that in steps S308 to S312 is performed, and this routine is terminated.

このように、第1復号部17Aによる第1復号と、第2復号部17Bによる第2復号との順を逆にしてもよい。   Thus, the order of the first decoding by the first decoding unit 17A and the second decoding by the second decoding unit 17B may be reversed.

なお、本実施の形態では、第1復号部17A及び第2復号部17Bの何れか一方による復号を実行した後に、他方による復号を実行する形態を説明した。しかし、第1復号部17Aによる第1復号と、第2復号部17Bによる第2復号と、を並列に実行してもよい。   Note that, in the present embodiment, a mode has been described in which decoding is performed by one of the first decoding unit 17A and the second decoding unit 17B, and then decoding by the other is performed. However, the first decoding by the first decoding unit 17A and the second decoding by the second decoding unit 17B may be executed in parallel.

この場合には、復号装置10Aは、図15及び図16に示す処理を実行すればよい。   In this case, the decoding device 10A may execute the processes shown in FIGS.

図15及び図16は、本実施の形態の復号装置10Aで実行する復号処理の他の手順を示すフローチャートである。   FIG.15 and FIG.16 is a flowchart which shows the other procedure of the decoding process performed with 10 A of decoding apparatuses of this Embodiment.

まず、切出部12が、受け付けた入力データにおける、最大符号長の小さい第1種類の符号化データの群を、第1符号長毎に切出す(ステップS400)。そして、切出部12は、切出した切出データを、格納部14へ格納する(ステップS402)。次に、第2復号部17Bが、入力データから最大符号長の大きい第2種類の符号化データを直接読取り、該符号化データを復号する第2復号を行う(ステップS404)。   First, the cutout unit 12 cuts out a group of first type encoded data having a small maximum code length in the received input data for each first code length (step S400). Then, the cutting unit 12 stores the cut out data in the storage unit 14 (step S402). Next, the second decoding unit 17B directly reads the second type of encoded data having a large maximum code length from the input data, and performs second decoding for decoding the encoded data (step S404).

これらのステップS400〜ステップS404の処理は、上記ステップS300〜ステップS304の処理と同様である。   The processes in steps S400 to S404 are the same as the processes in steps S300 to S304.

次に、第1復号部17Aが、実施の形態1の復号部16によるステップS106〜ステップS110と同様にして、格納データの解析、可変長復号可能か否かの判断、及び未復号データ有りか否かの判断を実行する(ステップS406〜ステップS410)。そして、ステップS410で肯定判断すると(ステップS410:Yes)、上記ステップS400へ戻る。一方、ステップS410で否定判断すると(ステップS410:No)、本ルーチンを終了する。   Next, in the same way as steps S106 to S110 by the decoding unit 16 of the first embodiment, the first decoding unit 17A analyzes the stored data, determines whether variable length decoding is possible, and whether there is undecoded data. It is determined whether or not (steps S406 to S410). If an affirmative determination is made in step S410 (step S410: Yes), the process returns to step S400. On the other hand, if a negative determination is made in step S410 (step S410: No), this routine ends.

そして、復号装置10Aでは、図15の復号処理を実行中に、第1復号部17Aが図16に示す並列処理を並列して実行する。   In the decoding device 10A, the first decoding unit 17A executes the parallel processing shown in FIG. 16 in parallel while executing the decoding processing of FIG.

図16は、第1復号部17Aが実行する並列処理の手順を示すフローチャートである。   FIG. 16 is a flowchart showing a procedure of parallel processing executed by the first decoding unit 17A.

まず、第1復号部17Aは、格納部14に格納データが格納済か否かを判断する(ステップS500)。ステップS500で否定判断すると(ステップS500:No)、本ルーチンを終了する。一方、ステップS500で肯定判断すると(ステップS500:Yes)、ステップS502へ進む。ステップS502では、第1復号部17Aは、ステップS408と同様にして、可変長復号可能か否かを判断する(ステップS502)。   First, the first decryption unit 17A determines whether the storage data has been stored in the storage unit 14 (step S500). If a negative determination is made in step S500 (step S500: No), this routine ends. On the other hand, if a positive determination is made in step S500 (step S500: Yes), the process proceeds to step S502. In step S502, the first decoding unit 17A determines whether variable-length decoding is possible in the same manner as in step S408 (step S502).

ステップS502で否定判断すると(ステップS502:No)、上記ステップS500へ戻る。一方、ステップS502で肯定判断すると(ステップS502:Yes)、ステップS504へ進む。   If a negative determination is made in step S502 (step S502: No), the process returns to step S500. On the other hand, if an affirmative determination is made in step S502 (step S502: Yes), the process proceeds to step S504.

ステップS504では、第1復号部17Aは、ステップS306と同様にして第1復号を実行する(ステップS504)。そして、本ルーチンを終了する。   In step S504, the first decoding unit 17A performs the first decoding similarly to step S306 (step S504). Then, this routine ends.

復号装置10Aが、図15に示す復号処理中に、図16に示す並列処理を実行することで、復号装置10Aでは、第1復号部17Aによる第1復号と、第2復号部17Bによる第2復号と、を並列に実行することができる。   When the decoding device 10A performs the parallel processing shown in FIG. 16 during the decoding processing shown in FIG. 15, in the decoding device 10A, the first decoding by the first decoding unit 17A and the second decoding by the second decoding unit 17B are performed. Decoding and can be performed in parallel.

このため、実施の形態1の効果に加えて更に、処理時間の短縮を図ることができる。   For this reason, in addition to the effects of the first embodiment, the processing time can be further shortened.

以上説明したように、本実施の形態の復号装置10Aによれば、入力データが、最大符号長の異なる複数種類の符号化データを含む場合であっても、入力データに対して高速で復号処理を実行することができる。   As described above, according to decoding apparatus 10A of the present embodiment, even when input data includes a plurality of types of encoded data having different maximum code lengths, the input data is decoded at high speed. Can be executed.

ここで、入力データが、最大符号長の大きく異なる複数種類の符号化データを含む場合であって、特に、符号化データの最大符号長の小さい(例えば、♯a)第1種類の符号化データと、符号化データの最大符号長の大きい(例えば、♯b)第2種類の符号化データと、が混在する形態であったとする。このような場合、復号処理時間が大きくなる場合がある。   Here, the input data includes a plurality of types of encoded data having greatly different maximum code lengths, and in particular, the first type of encoded data having a small maximum code length (eg, #a) of the encoded data. And a second type of encoded data having a large maximum code length (eg, #b) of the encoded data. In such a case, the decoding processing time may become long.

一方、本実施の形態では、最大符号長の異なる複数種類の符号化データが混在している場合であっても、復号処理のための待ち時間の発生を抑制することができる。   On the other hand, in the present embodiment, even when a plurality of types of encoded data having different maximum code lengths are mixed, occurrence of waiting time for decoding processing can be suppressed.

図17は、本実施の形態の復号装置10Aによる、復号対象の入力データに対する復号処理の処理タイミングの説明図である。   FIG. 17 is an explanatory diagram of processing timing of decoding processing on input data to be decoded by the decoding device 10A according to the present embodiment.

図17に示すように、本実施の形態の復号装置10Aでは、切出部12が、受け付けた入力データを先頭から順に読出し(図17中、矢印Y方向参照)、最大符号長の小さい第1種類の符号化データの群を、第1符号長M毎に切出す(図17中、データ切出し♯a0)。切出した切出データは、格納部14へ格納される。   As shown in FIG. 17, in the decoding device 10A of the present embodiment, the cutout unit 12 reads the received input data in order from the top (see the arrow Y direction in FIG. 17), and the first with the smallest maximum code length. A group of types of encoded data is extracted for each first code length M (data extraction # a0 in FIG. 17). The cut out data is stored in the storage unit 14.

そして、この切出した切出データに対して、第1復号部17Aが第1復号を実行しているときに(復号処理♯a0参照)、第2復号部17Bが並列して入力データから直接読み出した、最大符号長の大きい第2種類の符号化データを第2復号する(復号処理♯b0参照)。   Then, when the first decoding unit 17A executes the first decoding for the extracted data (see decoding process # a0), the second decoding unit 17B reads directly from the input data in parallel. The second type of encoded data having a large maximum code length is second-decoded (see decoding process # b0).

このため、本実施の形態の復号装置10Aによれば、同じ入力データに対して、複数の復号処理を並列して実行することが可能となる。   For this reason, according to the decoding apparatus 10A of the present embodiment, a plurality of decoding processes can be executed in parallel on the same input data.

従って、実施の形態1による効果に加えて、更に、高速で復号処理を実行することができる。   Therefore, in addition to the effects of the first embodiment, the decoding process can be executed at a higher speed.

(実施の形態3)
本実施の形態では、実施の形態1及び実施の形態2で復号する対象の入力データを作成する符号化装置を説明する。
(Embodiment 3)
In this embodiment, an encoding apparatus that creates input data to be decoded in Embodiments 1 and 2 will be described.

図18は、本実施の形態の符号化装置50の機能的構成を示すブロック図である。   FIG. 18 is a block diagram showing a functional configuration of encoding apparatus 50 according to the present embodiment.

本実施の形態の符号化装置50は、復号対象の情報を、可変長符号化方式を用いて符号化することで、符号化データを作成する。符号化装置50は、作成した符号化データを含む出力データを出力する。上述した復号装置10及び復号装置10Aでは、符号化装置50で作成された符号化データを含む該出力データを、復号対象の入力データとして受け付ける。   The encoding device 50 according to the present embodiment generates encoded data by encoding information to be decoded using a variable-length encoding scheme. The encoding device 50 outputs output data including the generated encoded data. In the decoding device 10 and the decoding device 10A described above, the output data including the encoded data created by the encoding device 50 is received as input data to be decoded.

符号化装置50は、画像符号化LSI(Large Scale Integration)等のハードウェアで実装された装置に組み込まれる。符号化装置50による符号化によって得られた符号化データを用いることで、例えば、ディスプレイへの表示応答性を高めることができる。   The encoding device 50 is incorporated in a device implemented by hardware such as an image encoding LSI (Large Scale Integration). By using the encoded data obtained by encoding by the encoding device 50, for example, display responsiveness to a display can be improved.

符号化装置50は、第1符号化部52と、第2符号化部54と、結合部56と、を備える。第1符号化部52及び第2符号化部54は、各々、異なる可変長符号化方式により符号化対象情報を符号化する(詳細後述)。結合部56は、第1符号化部52で生成された符号化データを結合し、予め定めたデータ長でパケット化して順次出力する(詳細後述)。   The encoding device 50 includes a first encoding unit 52, a second encoding unit 54, and a combining unit 56. The first encoding unit 52 and the second encoding unit 54 each encode the encoding target information using different variable length encoding methods (details will be described later). The combining unit 56 combines the encoded data generated by the first encoding unit 52, packetizes it with a predetermined data length, and sequentially outputs it (details will be described later).

図19は、符号化装置50が出力する出力データのデータ構造の一例を示す模式図である。   FIG. 19 is a schematic diagram illustrating an example of a data structure of output data output from the encoding device 50.

図19(A)に示すように、出力データは、第1符号化部52及び第2符号化部54で符号化された符号化データを含む。符号化装置50は、これらの符号化データを、予め定めたデータ長(詳細後述、例えば、Mバイト毎)にパケット化し(図19(B)参照)、順次出力する(図19中、パケット♯0〜パケット♯1等参照)。なお、パケットは、結合データに相当する。   As illustrated in FIG. 19A, the output data includes encoded data encoded by the first encoding unit 52 and the second encoding unit 54. The encoding device 50 packetizes these encoded data into a predetermined data length (details will be described later, for example, every M bytes) (see FIG. 19B), and sequentially outputs them (packet # in FIG. 19). 0 to packet # 1, etc.). The packet corresponds to combined data.

図20は、符号化装置50が実行する符号化処理の手順を示すフローチャートである。   FIG. 20 is a flowchart showing the procedure of the encoding process executed by the encoding device 50.

なお、符号化装置50が符号化する対象の符号化対象データには、符号化による最大符号長の異なる複数種類の符号化対象情報が含まれているものとする。なお、本実施の形態では、2種類の符号化対象情報が含まれている場合を想定して説明する。また、本実施の形態では、これらの2種類の符号化対象情報を、第1データ、第2データと称して説明する。   It is assumed that the encoding target data to be encoded by the encoding device 50 includes a plurality of types of encoding target information having different maximum code lengths by encoding. In the present embodiment, description will be made assuming that two types of encoding target information are included. In the present embodiment, these two types of encoding target information will be referred to as first data and second data.

また、第1データは、可変長符号化を行ったときの最大符号長が比較的小さいデータである。第1データは、例えば、MPEGにおける量子化パラメータの差分(delta_qp)である。このように、第1データは、値のダイナミックレンジが比較的小さい(例えば、H.264では−51〜+51)データである。   The first data is data having a relatively small maximum code length when variable length coding is performed. The first data is, for example, a quantization parameter difference (delta_qp) in MPEG. Thus, the first data is data having a relatively small dynamic range (for example, −51 to +51 in H.264).

第2データは、可変長符号化を行ったときの最大符号長が比較的大きいデータである。第2データは、該第2データの取り得る値の範囲が大きい、あるいは複数の情報を含む、といった特徴を有する。第2データは、例えば、MPEGにおける直交変換係数である。このように、第2データは、値のダイナミックレンジが比較的大きいデータである(例えば、H.264では、−32768〜32767)。また、第2データを符号化するときに、16×16画素ブロック単位で符号化処理を行う場合には、直交変換係数を256個符号化することとなる。   The second data is data having a relatively large maximum code length when variable length coding is performed. The second data has a feature that a range of values that the second data can take is large or a plurality of pieces of information are included. The second data is, for example, an orthogonal transform coefficient in MPEG. Thus, the second data is data having a relatively large dynamic range of values (for example, -32768 to 32767 in H.264). In addition, when encoding the second data, when encoding processing is performed in units of 16 × 16 pixel blocks, 256 orthogonal transform coefficients are encoded.

なお、この第1データを符号化した符号化データが、上述した、最大符号長の小さい第1種類の符号化データに相当する。また、この第2データを符号化した符号化データが、上述した、最大符号長の大きい第2種類の符号化データに相当する。   The encoded data obtained by encoding the first data corresponds to the above-described first type encoded data having a small maximum code length. The encoded data obtained by encoding the second data corresponds to the above-described second type of encoded data having a large maximum code length.

まず、第1符号化部52が、符号化対象データに含まれる第1データを可変長符号化する(ステップS600)。第1符号化部52は、符号化データを結合部56へ出力する。   First, the first encoding unit 52 performs variable length encoding on the first data included in the encoding target data (step S600). The first encoding unit 52 outputs the encoded data to the combining unit 56.

結合部56は、第1符号化部52で符号化された符号化データを結合する(ステップS602)。   The combining unit 56 combines the encoded data encoded by the first encoding unit 52 (step S602).

次に、結合部56が、1パケット分の符号化データを結合したか否かを判断する(ステップS604)。結合部56は、予め定めたデータ長(詳細後述)の符号化データを結合したか否かを判別することで、ステップS604の判断を行う。   Next, the combining unit 56 determines whether or not the encoded data for one packet has been combined (step S604). The combining unit 56 determines whether or not encoded data having a predetermined data length (details will be described later) is combined, thereby determining step S604.

ステップS604で否定判断すると(ステップS604:No)、上記ステップS600へ戻る。一方、ステップS604で肯定判断すると(ステップS604:Yes)、ステップS606へ進む。   If a negative determination is made in step S604 (step S604: No), the process returns to step S600. On the other hand, if a positive determination is made in step S604 (step S604: Yes), the process proceeds to step S606.

ステップS606では、第2符号化部54が、第2データを可変長符号化する(ステップS606)。   In step S606, the second encoding unit 54 performs variable length encoding on the second data (step S606).

次に、第1符号化部52が、符号化対象データに未符号化の未符号化データが残っているか否かを判断する(ステップS608)。ステップS608で肯定判断すると(ステップS608:Yes)、上記ステップS600へ戻る。一方、ステップS608で否定判断すると(ステップS608:No)、本ルーチンを終了する。   Next, the first encoding unit 52 determines whether or not unencoded unencoded data remains in the encoding target data (step S608). If an affirmative determination is made in step S608 (step S608: Yes), the process returns to step S600. On the other hand, if a negative determination is made in step S608 (step S608: No), this routine ends.

次に、符号化装置50が実行する符号化処理について詳細に説明する。   Next, the encoding process executed by the encoding device 50 will be described in detail.

まず、第1符号化部52が、符号化対象データに含まれる第1データを可変長符号化する処理について説明する。なお、この処理は、上記ステップS600に相当する。   First, a process in which the first encoding unit 52 performs variable length encoding on the first data included in the encoding target data will be described. This process corresponds to step S600.

第1符号化部52は、可変長符号化方式を用いて、符号化処理を実行する。可変長符号化方式は、どのような方式の者であっても構わない。例えば、第1データが、量子化パラメータの差分(delta_qp)である場合、図3に示すゴロム符号を用いた符号化方式を用いてもよい。   The first encoding unit 52 performs an encoding process using a variable length encoding method. The variable length coding method may be any method. For example, when the first data is a quantization parameter difference (delta_qp), a coding scheme using the Golomb code shown in FIG. 3 may be used.

図21は、第1符号化部52による可変長符号化と、結合部56による結合(パケット化)の説明図である。   FIG. 21 is an explanatory diagram of variable length encoding by the first encoding unit 52 and combination (packetization) by the combining unit 56.

具体的には、第1符号化部52が、図3に示す量子化パラメータの差分(delta_qp)を、「−1」、「0」、「+3」、「+1」の順番に可変長符号化したとする。すると、各量子化パラメータの差分に対応する符号化データは、図21に示すように、各々、「010b」、「1b」、「00011b」、「011b」となる。   Specifically, the first encoding unit 52 performs variable length encoding on the quantization parameter difference (delta_qp) illustrated in FIG. 3 in the order of “−1”, “0”, “+3”, and “+1”. Suppose that Then, the encoded data corresponding to the difference between the quantization parameters is “010b”, “1b”, “00011b”, and “011b”, respectively, as shown in FIG.

第1符号化部52は、符号化によって得られたこれらの符号化データを、順次結合部56へ出力する。結合部56は、第1符号化部52から受け付けた符号化データを結合し、予め定めたデータ長のパケットを生成する(図20のステップS602〜ステップS604の処理に相当)。   The first encoding unit 52 sequentially outputs the encoded data obtained by encoding to the combining unit 56. The combining unit 56 combines the encoded data received from the first encoding unit 52 and generates a packet having a predetermined data length (corresponding to the processing in steps S602 to S604 in FIG. 20).

このパケット生成時に用いる予め定めたデータ長には、第1データ及び第2データの各々を可変長符号化した際の最大符号長以上の値を定める。これは、1つのパケットを復号したときに、少なくとも1つの第1データが得られるようにするためである。すなわち、このデータ長には、実施の形態1及び実施の形態2で用いた、第1符号長Mと同じ値を定めることとなる。   The predetermined data length used at the time of packet generation is set to a value equal to or greater than the maximum code length when the first data and the second data are variable-length encoded. This is because at least one first data can be obtained when one packet is decoded. That is, this data length is set to the same value as the first code length M used in the first and second embodiments.

図3に示すように、本実施の形態では、第1データとしての量子化パラメータの差分であるdelta_qpの最大符号長は6である。このため、本実施の形態では、結合部56は、6ビットのデータ長のパケットを生成する。   As shown in FIG. 3, in the present embodiment, the maximum code length of delta_qp, which is a difference between quantization parameters as the first data, is 6. For this reason, in this embodiment, the combining unit 56 generates a packet having a data length of 6 bits.

上記ステップS604の、1パケット分の符号化データを結合したか否かを判断するステップにおいて、結合部56が肯定判断すると(ステップS604:Yes)、結合部56は、結合したパケット(結合データ)を出力する。   In the step of determining whether or not the encoded data for one packet is combined in step S604, if the combining unit 56 makes an affirmative determination (step S604: Yes), the combining unit 56 combines the packets (combined data). Is output.

一方、結合部56は、1パケット分の符号化データを結合していない場合には、ステップS604で否定判断し(ステップS604:No)、上記ステップS600へ戻る。   On the other hand, when the encoded data for one packet is not combined, the combining unit 56 makes a negative determination in step S604 (step S604: No), and returns to step S600.

例えば、第1符号化部52が、符号化対象の符号化データに含まれる複数の第1データの内、量子化パラメータの差分「delta_qp」=「−1」を符号化した段階では、結合データのデータ量は3ビットである。このため、この場合、ステップS604で否定判断する。そして、第1符号化部52による、量子化パラメータの差分「delta_qp」=「0」の符号化によって、1ビットの符号化データが作成されると、結合データは4ビットとなる。この段階においても、6ビットに満たないことから、ステップS604で否定判断する。   For example, in a stage where the first encoding unit 52 encodes the quantization parameter difference “delta_qp” = “− 1” among the plurality of first data included in the encoded data to be encoded, the combined data The amount of data is 3 bits. Therefore, in this case, a negative determination is made in step S604. Then, when 1-bit encoded data is created by the encoding of the quantization parameter difference “delta_qp” = “0” by the first encoding unit 52, the combined data becomes 4 bits. Even at this stage, since it is less than 6 bits, a negative determination is made in step S604.

そして、第1符号化部52による、量子化パラメータの差分「delta_qp」=「+3」の符号化によって、5ビットの符号化データが作成されると、結合データは、9ビットとなる。この段階となると、結合部56は、ステップS604の判断において肯定判断する(ステップS604:Yes)。   When 5-bit encoded data is generated by encoding the quantization parameter difference “delta_qp” = “+ 3” by the first encoding unit 52, the combined data becomes 9 bits. At this stage, the coupling unit 56 makes an affirmative determination in the determination in step S604 (step S604: Yes).

図22は、符号化装置50が出力する出力データの一例を示す模式図である。   FIG. 22 is a schematic diagram illustrating an example of output data output from the encoding device 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パケット分の符号化データが出力される。   By outputting encoded data of one packet (6 bits in this embodiment) from the combining unit 56, the quantization parameter difference “delta_qp” is included in the first packet (see packet # 0 in FIG. 22). ”=“ − 1 ”(encoded data A # 0 in FIG. 22) and the quantization parameter difference“ delta_qp ”=“ 0 ”(encoded data A # in FIG. 22). 1) and a part of the encoded data of the quantization parameter difference “delta_qp” = “+ 3” (see encoded data A # 2a in FIG. 22) are output. The

以降、結合部56は、順次パケットを生成して出力する(図22中、パケット♯1参照)。   Thereafter, combining unit 56 sequentially generates and outputs packets (see packet # 1 in FIG. 22).

図20に戻り、次に、第2符号化部54が第2データを可変長符号化する(図20中、ステップS606参照)。   Returning to FIG. 20, next, the second encoding unit 54 performs variable length encoding on the second data (see step S606 in FIG. 20).

第2符号化部54は、可変長符号化方式を用いて、第2データを可変長符号化する。第1符号化部52が可変長符号化する方式はどのようなものであっても構わない。   The second encoding unit 54 performs variable length encoding on the second data using a variable length encoding method. Any method may be used for the first encoding unit 52 to perform variable length encoding.

例えば、第2データが直交変換係数であったとする。この場合、第2符号化部54は、例えば、MPEG−2で用いるハフマン符号を用いた可変長符号化を行う。   For example, it is assumed that the second data is an orthogonal transform coefficient. In this case, the second encoding unit 54 performs variable length encoding using, for example, a Huffman code used in MPEG-2.

第2符号化部54は、第2データを可変長符号化した符号化データのパケット(結合データ)を、出力するが、符号化装置50では、第1符号化部52から出力されるパケット単位の符号化データと、第2符号化部54から出力される符号化データと、を交互に出力する。このため、符号化装置50が出力する出力データは、図22に示すデータ構造となる。   The second encoding unit 54 outputs a packet (combined data) of encoded data obtained by variable-length encoding the second data. In the encoding device 50, the packet unit output from the first encoding unit 52 is output. The encoded data and the encoded data output from the second encoding unit 54 are alternately output. For this reason, the output data output from the encoding device 50 has the data structure shown in FIG.

すなわち、図22に示すように、符号化装置50が出力する出力データは、第1データを可変長符号化した符号化データを1パケット分まとめたものと、第2データを可変長符号化した符号化データと、を交互に並べた構造となる。   That is, as shown in FIG. 22, the output data output from the encoding device 50 is a combination of encoded data obtained by variable-length encoding the first data for one packet and variable-length encoding of the second data. The encoded data is alternately arranged.

図20に戻り、図20におけるステップS608の処理において肯定判断すると(ステップS608:Yes)、上記ステップS600へ戻る。一方、ステップS608で否定判断すると(ステップS608:No)、本ルーチンを終了する。   Returning to FIG. 20, when an affirmative determination is made in the processing of step S608 in FIG. 20 (step S608: Yes), the processing returns to step S600. On the other hand, if a negative determination is made in step S608 (step S608: No), this routine ends.

以上説明したように、本実施の形態の符号化装置50は、可変長符号化した際の最大符号長の小さい第1データについては、可変長符号化した符号化データを固定長毎にパケット化する。   As described above, the encoding apparatus 50 according to the present embodiment packetizes the variable length encoded encoded data for each fixed length for the first data having a small maximum code length when the variable length encoding is performed. To do.

従って、本実施の形態の符号化装置50では、復号処理時に高速に符号化データを切出して復号処理可能な出力データを生成することができる。   Therefore, the encoding apparatus 50 according to the present embodiment can generate output data that can be decoded by cutting out the encoded data at high speed during the decoding process.

なお、本実施の形態では、上述のように、可変長符号化した際の最大符号長の小さい第1データに関しては、上記データ長M分の符号化を行うパケット化を行う。このため、可変長符号化した際の最大符号長の大きい第2データの符号化を実行する前に、繰り返し第1データの符号化が行われる。   In the present embodiment, as described above, for the first data having a small maximum code length when variable length coding is performed, packetization is performed to perform coding for the data length M. Therefore, the first data is repeatedly encoded before executing the encoding of the second data having a large maximum code length when the variable length encoding is performed.

このため、符号化装置50で符号化する対象の符号化対象データに含まれる、第1データの数と、第2データの数と、が同じ数であれば、第1データの符号化が先に終了し、第2データが未符号化のままで残る場合もある。このため、図20に示す符号化処理において、第1データの符号化処理が終了したときには、該第1データの符号化処理(すなわち、第1符号化部52及び結合部56によるステップS600〜ステップS604の処理)を省略することが好ましい。   Therefore, if the number of first data and the number of second data included in the encoding target data to be encoded by the encoding device 50 are the same number, the first data is encoded first. In some cases, the second data may remain unencoded. For this reason, in the encoding process shown in FIG. 20, when the encoding process of the first data is completed, the encoding process of the first data (that is, steps S600 to S1 by the first encoding unit 52 and the combining unit 56). It is preferable to omit the process of S604.

また、ステップS608における未符号化データが有るか否かの判断において、未符号化データ中に、第1データ及び第2データの各々が残っているか否かを更に判断してもよい。そして、未符号化データ中に、第1データ及び第2データの双方が残っていると判断した場合には、第2符号化部54によるステップS606の処理に進むようにすればよい。なお、未符号化データ中に、第1データのみが残っている場合には、ステップS600へ戻るようにすればよい。   Further, in determining whether there is unencoded data in step S608, it may be further determined whether each of the first data and the second data remains in the unencoded data. Then, when it is determined that both the first data and the second data remain in the unencoded data, the process may proceed to step S606 by the second encoding unit 54. If only the first data remains in the unencoded data, the process returns to step S600.

また、第2符号化部54が、第2データを可変長符号化した符号化データを出力するタイミングを、第1データが可変長符号化された分だけ行うようにしてもよい。   Alternatively, the second encoding unit 54 may output the encoded data obtained by variable-length encoding the second data by the amount corresponding to the variable-length encoded first data.

図23は、符号化装置50が出力する出力データの他の一例を示す模式図である。   FIG. 23 is a schematic diagram illustrating another example of output data output from the encoding device 50.

すなわち、最初のパケット(図23中、パケット♯0)には、第1データの0番目の符号化データ(図23中、符号化データA♯0)と、第1データの1番目の符号化データ(図23中、符号化データA♯1)と、が含まれている。このため、第2符号化部54は、第2データの符号化を1番目まで行う。   That is, the first packet (packet # 0 in FIG. 23) includes the 0th encoded data of the first data (encoded data A # 0 in FIG. 23) and the first encoded of the first data. Data (encoded data A # 1 in FIG. 23). For this reason, the second encoding unit 54 encodes the second data up to the first.

図22に示すデータ構造の出力データを入力データとして受け付けて復号する復号装置(10、10A)側では、1番目の第1データの符号化データ(図22中、符号化データA♯1)と、1番目の第2データの符号化データ(図22中、符号化データB♯1)と、の復号化時に、第1データについては、3番目のデータまで保持しておく必要がある。このため、より大きいメモリサイズの格納部14を用意する必要がある。   On the decoding apparatus (10, 10A) side that receives and decodes the output data having the data structure shown in FIG. 22 as input data, the encoded data of the first first data (encoded data A # 1 in FIG. 22) and When decoding the encoded data of the first second data (encoded data B # 1 in FIG. 22), it is necessary to hold up to the third data for the first data. For this reason, it is necessary to prepare a storage unit 14 having a larger memory size.

一方、出力データを、図23に示すデータ構造とすれば、該出力データを入力データとして受け付けて復号する復号装置(10、10A)側では、該復号化時に、第1データについては、2番目のデータの途中までのデータ(図23中、符号化データA♯2a参照)を保持しておけばよい。このため、出力データを図22に示すデータ構造とする場合に比べて、出力データを図23に示すデータ構造とすることで、復号装置(10、10A)側のメモリ(格納部14)のメモリサイズを抑えることができる。   On the other hand, if the output data has the data structure shown in FIG. 23, on the decoding device (10, 10A) side that receives and decodes the output data as input data, The data up to the middle of the data (see encoded data A # 2a in FIG. 23) may be held. For this reason, compared with the case where the output data has the data structure shown in FIG. 22, the output data has the data structure shown in FIG. 23, so that the memory in the decoding device (10, 10A) side (storage unit 14) memory. The size can be reduced.

なお、上記実施の形態における復号装置10、復号装置10A、及び符号化装置50で実行される復号処理及び符号化処理の各々を実行するためのプログラムは、ROM等に予め組み込まれて提供される。   Note that a program for executing each of the decoding process and the encoding process executed by the decoding device 10, the decoding device 10A, and the encoding device 50 in the above-described embodiment is provided by being incorporated in advance in a ROM or the like. .

上記実施の形態における復号装置10、復号装置10A、及び符号化装置50で実行される復号処理及び符号化処理の各々を実行するためのプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読取り可能な記録媒体に記録して提供するように構成してもよい。   The program for executing each of the decoding process and the encoding process executed by the decoding device 10, the decoding device 10A, and the encoding device 50 in the above embodiment is a file in an installable format or an executable format. You may comprise so that it may record and provide on computer-readable recording media, such as CD-ROM, flexible disk (FD), CD-R, and DVD (Digital Versatile Disk).

さらに、上記実施の形態における復号装置10、復号装置10A、及び符号化装置50で実行される復号処理及び符号化処理の各々を実行するためのプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施の形態における復号装置10、復号装置10A、及び符号化装置50で実行される復号処理及び符号化処理の各々を実行するためのプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。   Furthermore, a program for executing each of the decoding process and the encoding process executed by the decoding apparatus 10, the decoding apparatus 10A, and the encoding apparatus 50 in the above embodiment is executed on a computer connected to a network such as the Internet. And may be provided by being downloaded via a network. In addition, a program for executing each of the decoding process and the encoding process executed by the decoding device 10, the decoding device 10A, and the encoding device 50 in the above embodiment is provided or distributed via a network such as the Internet. You may comprise as follows.

上記実施の形態における復号装置10、復号装置10A、及び符号化装置50で実行される復号処理及び符号化処理の各々を実行するためのプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより該各部が主記憶装置上にロードされ、該各部が主記憶装置上に生成されるようになっている。なお、上記実施の形態における復号装置10、復号装置10A、及び符号化装置50の各部を回路等のハードウェアで構成してもよい。   The program for executing each of the decoding process and the encoding process executed by the decoding device 10, the decoding device 10A, and the encoding device 50 in the above embodiment has a module configuration including the above-described units, As actual hardware, a CPU (processor) reads out a program from the ROM and executes the program, so that each unit is loaded on the main storage device, and each unit is generated on the main storage device. In addition, you may comprise each part of the decoding apparatus 10, decoding apparatus 10A, and the encoding apparatus 50 in the said embodiment with hardware, such as a circuit.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

10、10A 復号装置
12 切出部
14 格納部
16 復号部
16A 判断部
17A 第1復号部
17B 第2復号部
10, 10A Decoding device 12 Extraction unit 14 Storage unit 16 Decoding unit 16A Determination unit 17A First decoding unit 17B Second decoding unit

Claims (4)

可変長符号化された複数の符号化データを含む入力データを、前記複数の符号化データの最大符号長以上の予め定めた第1符号長毎に順に切出し、切出した切出データを格納データとして格納部に格納する切出部と、
前記格納部に格納された前記格納データを順次読み出し、読み出した前記格納データに含まれる前記符号化データを可変長復号する復号部と、
を備え、
前記復号部は、前記格納データに基づいた可変長復号が可能か否かを判断する判断部を含み、
前記切出部は、前記判断部によって可変長復号が不可能と判断された場合、前記入力データから前記切出データを切出して前記格納データとして前記格納部に格納する、
復号装置。
Input data including a plurality of variable length encoded data is sequentially cut out for each predetermined first code length that is equal to or larger than the maximum code length of the plurality of encoded data, and the cut out data is used as storage data. A cut-out section to be stored in the storage section;
A decoding unit that sequentially reads the stored data stored in the storage unit, and performs variable-length decoding on the encoded data included in the read storage data;
With
The decoding unit includes a determination unit that determines whether variable length decoding based on the stored data is possible,
The cutout unit cuts out the cutout data from the input data and stores it as the storage data in the storage unit when the determination unit determines that variable length decoding is impossible.
Decoding device.
前記格納部は、
前記第1符号長の2倍値から前記複数の符号化データの最小符号長を減算した減算値以上の記憶容量を有する、
請求項1に記載の復号装置。
The storage unit
A storage capacity equal to or greater than a subtraction value obtained by subtracting a minimum code length of the plurality of encoded data from a double value of the first code length;
The decoding device according to claim 1.
前記入力データは、最大符号長の異なる複数種類の符号化データを含み、
前記復号部は、前記複数種類の符号化データの少なくとも1種の可変長復号と、該種類以外の他の種類の可変長復号と、を並列して実行する、
請求項1に記載の復号装置。
The input data includes a plurality of types of encoded data having different maximum code lengths,
The decoding unit executes in parallel at least one type of variable length decoding of the plurality of types of encoded data and another type of variable length decoding other than the type,
The decoding device according to claim 1.
可変長符号化された複数の符号化データを含む入力データを、前記複数の符号化データの最大符号長以上の予め定めた第1符号長毎に順に切出し、切出した切出データを格納データとして格納部に格納する切出ステップと、
前記格納部に格納された前記格納データに含まれる前記符号化データを可変長復号する復号ステップと、
を備え、
前記復号ステップは、前記格納データに基づいた可変長復号が可能か否かを判断する判断ステップを含み、
前記切出ステップは、前記判断ステップによって可変長復号が不可能と判断された場合、前記入力データから前記切出データを切出して前記格納データとして前記格納部に格納する、
復号方法。
Input data including a plurality of variable length encoded data is sequentially cut out for each predetermined first code length that is equal to or larger than the maximum code length of the plurality of encoded data, and the cut out data is used as storage data. A cutting step to store in the storage unit;
A decoding step of variable-length decoding the encoded data included in the stored data stored in the storage unit;
With
The decoding step includes a determination step of determining whether variable length decoding based on the stored data is possible,
In the cutting step, when it is determined by the determining step that variable length decoding is impossible, the cutting data is cut out from the input data and stored as the storage data in the storage unit.
Decryption method.
JP2017078974A 2017-04-12 2017-04-12 Decoding device and decoding method Active JP6280266B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017078974A JP6280266B2 (en) 2017-04-12 2017-04-12 Decoding device and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017078974A JP6280266B2 (en) 2017-04-12 2017-04-12 Decoding device and decoding method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012270288A Division JP2014116835A (en) 2012-12-11 2012-12-11 Decoding device, encoding device, decoding method and encoding method

Publications (2)

Publication Number Publication Date
JP2017153124A JP2017153124A (en) 2017-08-31
JP6280266B2 true JP6280266B2 (en) 2018-02-14

Family

ID=59741027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017078974A Active JP6280266B2 (en) 2017-04-12 2017-04-12 Decoding device and decoding method

Country Status (1)

Country Link
JP (1) JP6280266B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0376469A (en) * 1989-08-18 1991-04-02 Fujitsu Ltd Decoding circuit for variable length code
JP3408957B2 (en) * 1996-11-15 2003-05-19 株式会社エヌ・ティ・ティ・ドコモ Variable length coded data transmission apparatus, transmission side apparatus, reception side apparatus and method therefor
JP2007043595A (en) * 2005-08-05 2007-02-15 Nec Corp Variable length code decoding method and device and data decompression device
TWI289979B (en) * 2005-08-16 2007-11-11 Via Tech Inc Device and method for variable length decoding

Also Published As

Publication number Publication date
JP2017153124A (en) 2017-08-31

Similar Documents

Publication Publication Date Title
US10489426B2 (en) Category-prefixed data batching of coded media data in multiple categories
US6587057B2 (en) High performance memory efficient variable-length coding decoder
KR101208233B1 (en) Two step arithmetic decoding with conversion into an intermediate format
US8018996B2 (en) Arithmetic decoding apparatus and method
US7894532B2 (en) Variable-length encoding apparatus and method
JP3171776B2 (en) Compression method and context modeler
JP2006211621A (en) Data compression device and data decompression device
JP2014525183A (en) Method and apparatus for image compression storing encoding parameters in a 2D matrix
TW201036449A (en) Video encoder, video decoder, video coding method, video decoding method, video coding program, video decoding program, and video coding/decoding system
JP4785706B2 (en) Decoding device and decoding method
KR101360313B1 (en) Arithmetic decoding method and device
JP2016006961A (en) System and method for compressing stream of integer-valued data
JP6681383B2 (en) Encoder, decoder and method
US10455244B2 (en) Method and device for entropy encoding or entropy decoding video signal for high-capacity parallel processing
JP2014241579A (en) Video compression device
JP2010193398A (en) Image encoding device, and image encoding method
US11825104B2 (en) Methods, apparatuses, computer programs and computer programs and computer-readable media for scalable image coding
JP2006093958A (en) Progressive jpeg decoding system
JP2010178319A (en) Image coding apparatus and image coding method
JP4865509B2 (en) Decoding device and decoding method
JP6280266B2 (en) Decoding device and decoding method
JP2014116835A (en) Decoding device, encoding device, decoding method and encoding method
USRE45300E1 (en) Context-adaptive variable length coder with simultaneous storage of incoming data and generation of syntax elements
JP4727669B2 (en) LASeR binary representation point sequence encoding / decoding method and apparatus
JP2007074648A (en) Cabac decoding apparatus

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