JP2017511997A - データのソース符号化及び復号の装置及びその方法 - Google Patents

データのソース符号化及び復号の装置及びその方法 Download PDF

Info

Publication number
JP2017511997A
JP2017511997A JP2016549710A JP2016549710A JP2017511997A JP 2017511997 A JP2017511997 A JP 2017511997A JP 2016549710 A JP2016549710 A JP 2016549710A JP 2016549710 A JP2016549710 A JP 2016549710A JP 2017511997 A JP2017511997 A JP 2017511997A
Authority
JP
Japan
Prior art keywords
data
probability
range
encoder
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.)
Pending
Application number
JP2016549710A
Other languages
English (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.)
Gurulogic Microsystems Oy
Original Assignee
Gurulogic Microsystems Oy
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 Gurulogic Microsystems Oy filed Critical Gurulogic Microsystems Oy
Publication of JP2017511997A publication Critical patent/JP2017511997A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1407Digital recording or reproducing using self-clocking codes characterised by the use of two levels code representation depending on a single bit, i.e. where a one is always represented by a first code symbol while a zero is always represented by a second code symbol
    • G11B20/1419Digital recording or reproducing using self-clocking codes characterised by the use of two levels code representation depending on a single bit, i.e. where a one is always represented by a first code symbol while a zero is always represented by a second code symbol to or from biphase level coding, i.e. to or from codes where a one is coded as a transition from a high to a low level during the middle of a bit cell and a zero is encoded as a transition from a low to a high level during the middle of a bit cell or vice versa, e.g. split phase code, Manchester code conversion to or from biphase space or mark coding, i.e. to or from codes where there is a transition at the beginning of every bit cell and a one has no second transition and a zero has a second transition one half of a bit period later or vice versa, e.g. double frequency code, FM code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

入力データ(D1,10)を符号化して対応する符号化データ(E2,30)を生成するエンコーダ(20)であって、符号化データ(E2,30)は、該符号化データ(E2,30)で表わされるべき1つ又は複数のシンボルの頻度、確率又はレンジを示す情報を含む、エンコーダ(20)が提供される。このエンコーダ(20)は、1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が符号化データ(E2,30)に含まれるか否かを示す追加情報を、符号化データ(E2,30)に含めるように動作可能である。このエンコーダ(20)はまた、1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が符号化データ(E2,30)に含まれるか否かを示す追加情報であって、単一の可用性ビット情報として表わされる、該追加情報を、符号化データ(E2,30)に含めるように動作可能である。このエンコーダ(20)は有益であるように、符号化データ(E2,30)に頻度、確率又はレンジを示す情報が含まれることを、単一の可用性ビット値「7」を用いて表わし、該符号化データ(E2,30)に該頻度、確率又はレンジを示す情報が含まれていないことを、単一の可用性ビット値「0」を用いて表わすように動作可能である。【選択図】図1

Description

本開示は、入力データ(D1)を符号化してそれに対応する符号化データ(E2)を生成する符号化方法に関する。また本開示は、前述の符号化データ(E2)を復号してそれに対応する復号データ(D3)、復号データ(D3)のトランスコード版の何れか又は両方を生成する復号方法に関する。さらにまた、本開示は、前述の方法を実装するように動作可能なエンコーダとデコーダにも関する。こうしたエンコーダとデコーダは一体でコーデックを形成する。さらに加えて、本開示は、非一時的コンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、非一時的コンピュータ可読記憶媒体はコンピュータ可読命令を含み、コンピュータ可読命令は、前述の方法を実行する計算ハードウェアによって実行可能である、コンピュータプログラム製品にも関連する。
背景
概要としては、図1に示すように、入力データ(D1)10を符号化する既知の符号化方法は、エンコーダ20に入る入力データ(D1)10を符号化してそれに対応する符号化出力データ(E2)30を生成するものであって、入力データ(D1)10に対する1つ又は複数の変換40a・40bの適用を伴い、それに対応する変換された符号化出力データ50を生成する。ここで、変換された符号化出力データ50は、それに関連付けられる符号表データ60であって、採用される1つ又は複数の変換を規定する符号表データ60を有する。符号化変換データ50と符号表データ60をまとめて符号化出力データ(E2)30と呼ぶ。符号化出力データ(E2)30は通常、データキャリア、データ通信ネットワークの何れか又は両方を介して1つ又は複数のデコーダ80に伝送される。デコーダ80は、符号化出力データ(E2)30を復号してそれに対応する復号データ(D3)90を生成するように動作可能である。復号データ(D3)はデータ(D1)の再生成版であるが、これに限らず、例えば、1つ又は複数のデコーダ80でトランスコードされたものでもよい。符号化出力データ(E2)30は通常、入力データ(D1)10に対して圧縮されるのが望ましい。また、符号化出力データ(E2)30が実質的に可逆方式で圧縮され、復号データ(D3)90が入力データ(D1)10と比べて実現可能な程度に正確であることも望まれる。入力データ(D1)10に対して符号化出力データ(E2)30で実現可能なデータ圧縮は、符号表データ60が符号化変換データ50と比べてかなりの大きさである場合、即ち、符号表データ60が大幅なデータオーバヘッドに相当する場合は非効率になる可能性がある。エンコーダ20に関する既知の実装では、符号表データ60には、入力データ(D1)10における元のシンボルに相当する、符号化変換データ50に存在する符号化「シンボル」の出現頻度や出現確率、レンジを示す情報が含まれる。ただし、符号表データ60はこれに限定されない。符号表データ60は、使用される変換とそのパラメータに関する情報を含んでもよい。
既知の実装によっては、符号表データ60に含まれる確率を修正するためにコンテンツ情報を使用することもある。コンテンツ情報の使用は確率の修正方法として非常に効率的であるが、画像における画素値や画像変換が行われた後の画素値の符号化の場合等、特定の種類のデータにしか効率的でない。
レンジコーデックの基本実装は、例えばウィキペディアの「Range encoding」のサイトに記載されている(「Range encoding」−ウィキペディア、フリー百科事典、アクセス日:2013年12月13日、URL:http://en.wikipedia.org/wiki/Range_encoding)。この基本実装では、少なくとも1つの<EOM>(end-of-message、メッセージ終了)シンボルが使用される。算術符号化(URL:http://en.wikipedia.org/wiki/Arithmetic_coding)はレンジ符号化とよく似ているが、1つの符号小数点数[0, 1]と<EOD>(end-of-data、データ終了)シンボルが使用される。またレンジ符号化は、ビデオ符号化、画像符号化のようなデータ圧縮を必要とするアプリケーションに広く用いられており、相異なる可能なシンボルの確率が既知であるときには、大規模なデータセットの符号化に非常に適している。しかし、符号化対象データが、1つ又は複数のデコーダ80でシンボルの確率が予め既知でないような特性を有する場合、符号化データ(E2)30と共にシンボルの確率を送信する必要がある。そうしないと、レンジ符号化の圧縮効率が著しく悪化する。
出現頻度や出現確率、レンジの値の送出には、追加データ、即ち「消費データ」を含める必要があり、エンコーダ20で実現可能な全体の圧縮効率に影響を及ぼす。送信されるシンボル頻度や確率、レンジの値が正確になる程、レンジ符号化において実現可能な圧縮効率もそれに応じてよくなるが、精緻な頻度、確率、又はレンジの値の送信にはより多くのデータサイズが必要である。つまり、シンボルに対する正確な頻度、確率、又はレンジの値の送信と、符号化データ(E2)における最大限の圧縮効率の実現には、トレードオフの関係がある。
一方、今では世界中で伝送・保存されるデータ量は急速に増え続けている。伝送帯域とデータ保存はパラメータを制限しているため、効率的なデータ圧縮方法の提供は多大な利益をもたらす。こうして、レンジ符号を用いて達成可能な圧縮効率を高めるデータ圧縮の改良方法の必要性は高く、例えば、圧縮対象データのサイズがそれ程大きくなくても必要とされる。したがって、レンジ符号化及びそれに類する符号化の利用がこれまで現実的でなかったり有益でなかったり、あるいはその両方であったりした場合でも、レンジ符号化を利用可能にする方法の必要性は高い。
先願の欧州特許公開公報第0166607A2号(出願人:King Reginald Alfred)には、特定時間符号化シンボル(particular time encoded symbol、TES)における(音声)データサンプル伝送の圧縮が、リニア方式(固定長コード)の代わりにノンリニア方式(可変長コード)でビットを表わすことによって改善可能であるような方法が記載されている。この方法は先行コードを利用し、要素の出現確率の順序をエンコーダからデコーダへ送出するために、この先行コードが用いられる。つまり、この方法は、実際に確率を送信するのではなく、その順序を要素が続く限り送信する。
先願の米国特許第6650996B1号(出願人:Garmin Ltd.)には、カノニカルハフマン符号化データを復号する復号構造を規定する第1のデータフィールドと、シンボル表を規定する第2のデータフィールドを利用するデータ構造を採用するシステム、装置、及び方法が記載されている。またシンボル表は、低頻度インデクスを持つシンボルを提供するのに適している。
摘要
本開示は、データ(D1)を符号化してそれに対応する符号化データ(E2)を生成する改良方法であって、例えばレンジ符号化を用いる状況では、符号化データ(E2)のデータ圧縮を高めることができるような方法を提供しようとするものである。
また本開示は、前述の改良方法を利用する改良型エンコーダを提供しようとするものである。
第1の態様によれば、入力データ(D1)を符号化してそれに対応する符号化データ(E2)を生成するエンコーダが提供される。符号化データ(E2)は、該符号化データ(E2)で表わされるべき1つ又は複数のシンボルの頻度、確率又はレンジを示す情報を含み、エンコーダは、1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が符号化データ(E2)に含まれるか否かを示す追加情報を、該符号化データ(E2)に含めるように動作可能である。
本発明には、頻度や確率、レンジの情報が符号化対象データ(D1)におけるシンボルの出現の関数として符号化データ(E2)内に選択的に含められ、それによって、圧縮率等の符号化効率の向上が可能となるという利点がある。こうした利点は、例えば、符号化対象データ(D1)の量が少ない程より有益になるような仕方で実現される。
前述の「1つ又は複数のシンボルのうち少なくとも1つに対する…含まれるか否か」という箇所については、この後で詳述される。
第1の態様に従うエンコーダには、レンジ符号化の頻度や確率、レンジの値をより効率的に送出できる改良方法であって、そうした効率的送出が、その改良方法を用いて生成された符号化データに関連して実現されるような方法を利用するという利点がある。
また前述の改良方法は、符号化対象シンボルの数が可能なシンボルの数と比べてあまり多くない場合でも、レンジ符号化の利用を可能にする。既知のレンジ符号化技術では、こうしたデータの符号化は、頻度や確率、レンジの値を送出するのに必要なビット数により不可能であるか、実用的でないか、あるいはその両方である。すなわち、既知のレンジ符号化技術を用いてエンコーダからそれに対応するデコーダへ頻度や確率、レンジの情報が送出されるのに関連して、非実用的なデータオーバヘッドが生じることになる。
第1の態様に従う改良方法は更に、1つ又は複数の<EOM>シンボルを用いて使用されてもよく、あるいは<EOM>シンボルを用いなくてもよい。「EOM」は「メッセージ終了」を表わすのに用いられる。以下で記述される全ての例示的実施形態では、1つ又は複数の<EOM>シンボルを用いずに示されているが、こうした1つ又は複数の<EOM>シンボルが全ての例示的実施形態に追加されてもよい。例えば、このシンボルに対して確率値1を用い、その他の確率値から1を引くことで追加されてもよい。こうした解決方法では、確率値が既知であるため、新たな確率値の送出をする必要は無い。<EOM>シンボルの確率は、データシンボルの数に基づいて算出されてもよい。確率が算出されると、確率表に<EOM>シンボルが追加され、確率値1が与えられる。頻度の合計も1だけ増えるので、全シンボル確率にも影響を及ぼす。このため、<EOM>シンボルに対して追加確率値の送出が必要となる。
第1の態様に従う改良方法はあらゆる種類のデータの符号化に利用可能であり、幅広い領域で使用できる可能性を持つ。こうした符号化対象である「あらゆる種類のデータ」には、遺伝子配列データやDNA配列データ、RNA配列データ、録音音声信号、録画ビデオ信号、静止画像、テキストデータ、感震データ、センサ信号データ、アナログ−デジタル変換(ADC)データ、生体信号データ、カレンダーデータ、経済データ、数学的データ、二進数データの1つ又は複数が含まれる、これらに限定されるものではない。本改良方法では、確率を修正する別のやり方として適応確率とレンジを使用し、データを符号化してそれに対応する符号化データを生成することもできる。適応確率は比較的大規模なデータ列に対して有効であり、特に、シンボルの確率が可変方式で変更されるが、データ列の相異なる部分ではその変化が遅い場合に適している。しかし、適応確率はデータ列の規模が小さくなる程適さなくなる。データ列におけるシンボルの正確な確率に一致させるために確率を適応させようとすると、追加の計算リソースと時間が必要になるからである。
第1の態様に従う改良方法はエンコーダで利用可能であり、この改良方法に対応する逆の方法は、対応するデコーダで利用可能である。このエンコーダとデコーダを組み合わせて前述のコーデックを構成することもできる。デコーダでは、例えば、そのデコーダのデータレンダリング装置やデコーダのデータ記憶装置に対応するデータを提供するために、デコーダで復号されたデータを更に再フォーマットするトランスコードが実行されてもよい。本改良方法は、データ列のシンボルのうち存在する可能性のある別のシンボルに対して、レンジ値や確率値、頻度値の送出が必要か否かを表わすビット0及びビット1の情報を用いる。本改良方法は、どのシンボルがそれ自体の送出された確率値、即ちビット1を必要とし、どのシンボルがビット0等を用いる等でエスケープ可能であるかを決定するために、1つ又は複数の確率閾値を利用してもよい。全てのエスケープデータシンボルは、エンコーダとデコーダにおいて確率値1を使用可能でもよい。あるいは、頻度値や確率値、即ちレンジを持たないような全てのデータシンボルは、レンジ符号化方式ではエスケープシンボル、即ちレンジと共に送出されてもよい。加えて、こうしたエスケープシンボルに対する全てのシンボル値は、例えば非圧縮の元の値として送出されてもよい。
次に、以下の概念(i)から(iii)について詳述する:
(i)「符号化シンボルが既知である」又は
(ii)エンコーダにおいて「1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が符号化データに含まれるか否かを示す追加情報」又は
(iii)デコーダにおいて「符号化データの符号化シンボルのどれが、頻度、確率又はレンジの情報を用いて復号されるか」。
本開示の実施形態では、シンボル自体が常に既知であることが本質的ではなく、どのシンボルが確率に関連付けられるかが本質的である。したがって、本開示の実施形態では、確率がデータ列等のどのシンボルに関連するかが分かればよく、実用的には、実際のシンボルが何であるかという内容に基づいて知る必要はない。つまり、デコーダ等に送出され、少なくとも1つのシンボルに対して利用可能な情報は、確率情報でなくてはならない。ただし実用上、実際のシンボルが何であるかを知る必要はない。シンボル値が実際に分かっている確率が用いられてもよく、この場合、その情報も当然利用される。
さらに別の実施例を次に記述する。出現頻度や確率、レンジのテーブルが送出される場合、その送出で重要なパラメータは、テーブルの最大インデクスと、送出される確率で符号化されるシンボルに関する情報である。テーブルの最大インデクスは、送出されたテーブルで利用可能な、即ち入力データD1に存在する相異なるシンボルが何種類あるか、あるいは最大何種類ありうるかを表わしている。例えば、次の例を検討する:
4, 3, 0, 1, 0, 4, 3, 4
この場合、実際の最大インデクスは4(最小インデクスは0)であり、このデータに存在する相異なるシンボルは最大で5種類(最大インデクス−最小インデクス+1=4-0+1)ということになる。実際にデータに存在する異なるシンボルは4種類(0, 1, 3, 4)しかないため、テーブルは、可能な相異なるシンボル数4ではなく、最大インデクス、即ち利用可能な相異なるシンボル数としての3を用いて送出可能である。テーブルの最大インデクス値として値「3」が用いられる場合、各テーブルインデクスに対してどのシンボルが用いられるのかという情報を送出するために、他の機構が用いられてもよい。
こうした方法は、本開示の随所で詳述されることになる。シンボルが順番に並んでいる場合、一つの可能な形態は、実際の最大インデクス(4)と可用性ビット(この場合、例えば11011)を送出することである。この種の送出は、テーブルインデクス0がインデクスと呼ばれるシンボル0と等しくなるように対応付けし、そのシンボルの対は(0, 0)になる。同様に、残りのインデクスとシンボルの対は(1, 1)、(2, 3)、(3, 4)である。こうしたインデクス・シンボル対を、別のテーブルインデクスとして用いられるインデクスを直接定義するために使用し、テーブルの最大インデクスである3、又は相異なるインデクス・シンボル対の数である4を送出することもできる。こうした方法を用いることで、符号表は通常順番に並べられ、シンボルのみの送出で済む。こうした方法は、送出されるテーブルの中のシンボルがその出現頻度に基づいて格納される場合、非常に有益である。
例えばこの場合、インデクス・シンボル対は(0, 4), (1, 0), (2, 3), (3, 1) であり、値4, 0, 3, 1のみがこの順序で送出される。状況によっては:
(a)こうした使用されるインデクス・シンボル対が定義済みでもよい;
(b)使用されるインデクス・シンボル対のテーブルのインデクスが送出されてもよく、あるいは、インデクス・シンボル対が符号化データと共に送出されてもよい;
(c)また別の場合、デコーダは、既知の場所から使用対象のインデクス・シンボル対を読み出すこともできる;
(d)さらにまた別の場合、デコーダは、符号化データと共に送出された場所から、使用対象のインデクス・シンボル対を読み出すこともできる。
前述の第1の態様に従う改良方法を用いてエンコーダで符号化されるデータ中におけるシンボル対の出現頻度は、通常互いに異なっており、それらの関連するデータのエントロピーも相異なる。このため、符号化して符号化データ(E2)を生成するとき、データを小分けにする、即ち複数部分に分割するのが有益である。相異なる部分に対してそれぞれ異なる符号表が使用されることも有益である。本改良方法により、例えば、一つの大規模なデータチャンクをより効率的に小さな部分、即ち小規模データチャンクに分割することができ、それによって、符号表や頻度表の送出が最適化される。この符号化対象データ(D1)の分割は、その符号化対象データが分割されるとき、そのデータのエントロピーに関しては著しく有益であり、符号化されないデータ(D1)を圧縮する場合と比べて、符号化データ(E2)を圧縮する場合の方が圧縮率を向上させることができる。
第1の態様に従って、エンコーダは、1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が符号化データ(E2)に含まれるか否かを示す追加情報であって、単一の可用性ビット情報として表わされる、該追加情報を、符号化データ(E2)に含めるように動作可能でもよい。エンコーダはまた、符号化データ(E2)に頻度、確率又はレンジを示す情報が含まれることを、単一の可用性ビット値「1」を用いて表わし、該符号化データ(E2)に該頻度、確率又はレンジを示す情報が含まれていないことを、単一の可用性ビット値「0」を用いて表わすように動作可能でもよい。こうした可用性ビットの値がこれとは逆で用いられてもよい。さらに、こうした可用性情報が利用可能なインデクスの数として送出され、実在する情報を指し示すこともできる。こうしたインデクスがそれ自体のままで送出されてもよく、デルタ符号化を用いて送出されてもよい。可用性情報の送出に必要なデータ量を削減する種々の符号化方法が用いられてもよい。選択された符号化方法が利用可能なインデクスの数を含んでもよく、符号化方法が送出対象インデクスの数を必要としてもよい。あるいは、符号表が送出される場合、符号化方法が、全シンボルに対する可用性ビットの値の送出を必要としてもよい。
エンコーダでは、符号化データ(E2)において表わされるべき1つ又は複数のシンボルの頻度や確率、レンジを示す情報は、符号化対象データ(D1)の特質、即ち特性の関数として、エンコーダによって動的に変えられてもよい。こうした特性は、データ(D1)の構造、データ(D1)のサイズ、データ(D1)に存在する値の範囲、データ(D1)に存在する要素の大きさ、データ(D1)に関連するメタデータの1つ又は複数に関連してもよい。またこうした特性は、例えばデータ(D1)の種類、データ(D1)の内容、データ(D1)の統計の何れか又は全てを表わしてもよい。またエンコーダは、符号化対象データ(D1)を複数の部分に分割し、該部分のそれぞれに対して別個に対応する追加情報であって、1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が符号化データ(E2)に含まれるか否かを示す、該追加情報を生成するように動作可能でもよい。
エンコーダは、遺伝子配列情報、DNA配列情報、RNA配列情報、録音音声信号、録画ビデオ信号、静止画像、テキストデータ、感震データ、センサ信号データ、アナログ−デジタル変換(ADC)データ、生体信号データ、カレンダーデータ、経済データ、数学的データ、二進数データの少なくとも1つに対応するデータを符号化するように動作可能でもよいが、これらに限定されるものではない。
第2の態様によれば、エンコーダで入力データ(D1)を符号化してそれに対応する符号化データ(E2)を生成する方法が提供される。符号化データ(E2)は、該符号化データ(E2)で表わされるべき1つ又は複数のシンボルの頻度、確率又はレンジを示す情報を含み、本方法は:
(a)1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が前記符号化データ(E2)に含まれるか否かを示す追加情報を、該符号化データ(E2)に含めるために、このエンコーダを使用することを含む。
本方法は更に、
(b)1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が符号化データ(E2)に含まれるか否かを示す追加情報であって、単一の可用性ビット情報として表わされる、該追加情報を、該符号化データ(E2)に含めるために、このエンコーダを使用することを含んでもよい。
本方法はまた更に、
(c)符号化データ(E2)に前記頻度、確率又はレンジを示す情報が含まれることを、単一の可用性ビット値「1」を用いて表わし、該符号化データ(E2)に該頻度、確率又はレンジを示す情報が含まれていないことを、単一の可用性ビット値「0」を用いて表わすために、このエンコーダを使用することを含んでもよい。こうした含む/含まないを表わす値「0」と「1」は、これとは逆で使用されてもよい。
本方法は、符号化データ(E2)で表わされるべき1つ又は複数のシンボルの頻度、確率又はレンジを示す情報を、前記符号化対象データ(D1)の1つ又は複数の特性の関数として動的に変更するために、このエンコーダを使用することを含んでもよい。ここで、技術用語としての「特質」や「特性」の定義は、前述の内容を参照して行われるものとする。
本方法は、符号化対象データ(D1)を複数の部分に分割し、該部分のそれぞれに対して別個に対応する追加情報であって、前記1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が前記符号化データ(E2)に含まれるか否かを示す、該追加情報を生成するために、このエンコーダを使用することを含んでもよい。
本方法は、遺伝子配列情報、録音音声信号、録画ビデオ信号、静止画像、テキストデータ、感震データの少なくとも1つに対応するデータ(D1)の符号化を含むが、これらに限定されるものではない。遺伝子配列データは電気遊泳装置で生物学的サンプルから得られるため、相当大きなデータ量になることが多く、核塩基類、アミノ酸類の何れか又は両方を規定するデータでは、通常1テラバイトのオーダーに達する。こうしたデータを伝送し処理することは、現在においては相当大きな技術的挑戦であることを示している。
第3の態様によれば、第1の態様に従うエンコーダが生成した符号化データ(E2)を復号するデコーダが提供される。
第4の態様によれば、デコーダで符号化データ(E2)を復号する方法が提供され、この方法は、第2の態様に従う方法と逆の処理を実行することを含む。
本方法は:
(a)可用性信号を受け取ることと;
(b)符号化データ(E2)で伝送された頻度、確率又はレンジのテーブルを受け取ることと;
(c)前記処理(a)及び(b)から、完全な頻度表、確率表又はレンジ表を構成することと;
(d)符号化データ(E2)を復号して出力データ(D3)を生成するために、完全な頻度表、確率表又はレンジ表を使用すること
を含む。
本方法では、可用性信号は、可用性を示すビットを少なくとも1ビット含んでもよい。
本方法では、可用性信号は、可用性を示す符号化方法を少なくとも1つ含んでもよい。
本方法では、可用性信号は、可用性を示すインデクス及び/又はインデクス数を少なくとも1つ含んでもよい。
第5の態様によれば、第1の態様に従う少なくとも1つのエンコーダと、第3の態様に従う少なくとも1つのデコーダを備えるコーデックが提供される。
第6の態様によれば、非一時的コンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、非一時的コンピュータ可読記憶媒体はコンピュータ可読命令を含み、コンピュータ可読命令は、第2の態様に従う方法を実装するために、第1の態様に従うエンコーダの計算ハードウェアによって実行可能である、コンピュータプログラム製品が提供される。
第7の態様によれば、非一時的コンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、非一時的コンピュータ可読記憶媒体はコンピュータ可読命令を含み、コンピュータ可読命令は、第4の態様に従う方法を実装するために、第3の態様に従うデコーダの計算ハードウェアによって実行可能である、コンピュータプログラム製品が提供される。
本発明の構成は、添付の特許請求の範囲に定義される本発明の範囲を逸脱しない限りにおいて、様々に組合せ可能であることを理解されたい。
以下、本開示の実施形態を、一例として次の図面を参照しながら説明する。
入力データ(D1)を符号化してそれに対応する符号化出力データ(E2)を生成するように動作可能であるエンコーダと、符号化データ(E2)を復号してそれに対応する復号データ(D3)を生成するように動作可能である、エンコーダに対応するデコーダの図である。 本開示に従うデータ符号化方法のフローチャートである。 本開示に従うデータ復号方法のフローチャートである。 添付図面において下線の引かれた番号は、その番号が位置するアイテムやその番号が隣接するアイテムを表わすために使用される。番号に下線が無く矢印を伴って書かれている場合、その番号は矢印が示す汎用アイテムを特定するのに使用される。
本開示の実施形態の説明
一般に、データ(D1)を符号化するレンジ符号化を採用する場合、この符号化対象データ(D1)におけるシンボルの出現確率を知らなくてはならない。そうでなければ、それに応じて、こうしたレンジ符号化で実現可能な圧縮効率が著しく劣化することになる。各シンボルの確率は、符号化中における「レンジ」を規定し、この確率が高い程、レンジも広くなる。シンボルが符号化されるとき、その符号化されるシンボルの確率に従って、それに対応するレンジが更新される。レンジが十分狭くなると、レンジコーダは例えば1バイトを放出してレンジを広げる。こうして、共通のシンボルが多い程、そのレンジはゆっくりと狭められ、1バイトの放出前により多くにシンボルを符号化することができる。
エンコーダにレンジ符号化を実装する場合、頻度表インデクスや確率表インデクス、レンジ表インデクスは、デコーダで既に分かっている、即ち既知でない限り、それに対応するエンコーダが所定の精度で生成した符号化データ(E2)で送信される。エンコーダは、符号化対象データ(D1)の相異なる部分に対して、頻度値、確率値、レンジ値の何れかを動的に切り換えるように動作可能である。その際、それぞれに対応して頻度表インデクス、確率表インデクス、レンジ表インデクスの何れかが用いられる。例えば、レンジコーデックで8ビットデータが符号化される場合、可能なシンボル数は28、即ち256になる。1個の頻度値、確率値又はレンジ値の送信に対して8ビット、即ち1バイトが使用された場合、全ての頻度値、確率値又はレンジ値の送信には256バイトが必要になる。場合によっては、レンジエンコーダから獲得される圧縮データの量が256バイトより少ない可能性もある。したがって、頻度値や確率値、レンジ値の送出にはより少ないビット数の使用で済むことも明らかである。換言すれば、エンコーダからデコーダへの頻度値、確率値又はレンジ値の送出は、実際の符号化対象データの量よりも多い可能性のあるデータオーバヘッドをもたらすことになり、これが圧縮率の性能劣化に対応する。
本開示に従う、データ(D1)を符号化する方法は、シンボルの出現頻度値や確率値、レンジ値に加えて、シンボル毎に可用性を示す信号、例えば1ビットの可用性ビットも送信される点で、既知の方法とは異なる。この可用性ビットの値は有用であるように、符号化データ(E2)に現れ、十分高い確率を有する全てのシンボルに対して「1」、符号化データ(E2)に現れない全てのシンボルに対して「0」、符号化データ(E2)に現れるが、比較的低い確率を有する全てのシンボルに対しても「0」を示す。
本開示に従う、データ(D1)を符号化する方法では、シンボルが十分低い確率を有するかを、例えばシンボルの確率を閾値と比較することで調べる。複数の閾値が用いられてもよい。シンボルを符号化するとき、符号化データ(E2)に存在しないシンボル、又は閾値よりも低い確率を有するシンボルの確率は「0」(そのシンボルに対してエスケープコードが用いられ、レンジは保存されない)又は「1」(即ち、最小可能レンジと共に送出される低確率シンボル)である。すなわち、「0」や「1」は、符号化データ(E2)30を生成するためにエンコーダ20に提供される入力データ(D1)10を符号化するのに用いられるレンジ全体の大きさとは無関係である。これは、エンコーダ20と1つ又は複数のデコーダ80がそれぞれ改良方法(T)とその逆変換(T-1)を用いる場合に関係する。出現頻度や確率、レンジと可用性信号(例えば、本実施例では可用性ビット)を送信するのに必要な(ビット単位の)符号化データ量Aは、符号化データ(E2)に存在する又はそこで利用可能な、十分高い確率を有するシンボル数NSと、出現頻度や確率、レンジの値の各々に使用されるビット数NBとの積に、全シンボルに対する1ビットの可用性ビットOSを加えたもので、次式で表わされる:
[式1]
A = NS * NB + OS
本開示に従う改良発明の次の実施例は、入力データ(D1)10としてのデータ値セットを符号化して、それに対応する符号化データ(E2)30を生成するエンコーダ20に適用される。この実施例では、コード化データ列(D1)に150のデータ値が含まれ、これらが20種のシンボル(=値)0から19を含むことができる。ただし、これら可能な20種のデータ値のうち8種で、最小値2、最大値19であるものが実際に現行データ列に現れるとする。この最小値と最大値は、例えば、英国特許出願第1303661.1号、出願日2013年3月1日、出願人Gurulogic Microsystems Oyに開示されているODelta符号化法での記載から導出されてもよい。「ODelta」符号化は、特に効率的なデータ符号化を提供する、オフセットとラップアラウンド計算を用いるデルタ符号化法に関連する。これにより、可用性ビットの送出に必要なビット数の削減を可能にする。また、ODelta符号化のようなエントロピーを修正する方法が、レンジ符号化の使用前に利用される場合では、可能性のある利用可能なシンボル値のデータ範囲を削減することもできる。最小値と最大値の利用に関連する最大の利点は、エントロピーを修正する全ての方法とレンジ符号化が同一情報を使用し、その情報がエンコーダからそれに対応するデコーダへ一度だけ送出される場合に発揮される。次の表1は、例として、シンボルの頻度と確率を示す。確率は、頻度をデータ値の総数で割って算出される。
表1には、出現頻度が非常に低いシンボルも幾つか存在する。確率の送出に7ビットが使用される場合、各確率を表わすのに同じビット数が用いられると、全ての確率を表わすには20*7 = 140ビットが必要になる。データ列、即ち符号化データ(E2)30におけるシンボルの有無が、例えばシンボル毎に1ビットの可用性ビットを送信して表わされる場合、全ての確率を表わすには、まだ8*7 + 20*1 = 76ビットが必要である。
本開示に従う改良発明を実装する、既に説明した最初の実施形態は、こうした別々の可用性ビットを用いることで送出される確率の数を20から8に減らす既知の解決方法とは異なる。この後で記述する、本開示に従う別の実施形態に関しては、閾値を用いて、所定の確率がデコーダ80へ送信されるか否かを確実に決定させるようにすることも有益である。例えば、この閾値が7ビット確率で0.018に設定されてもよい。閾値の変更により、符号化データ(E2)30での確率の表現及び1つ又は複数のデコーダ80への送出に必要なビット数も変わる。表1に記載されたデータに対する閾値として0.10が選択される場合、2つのシンボルしか残らないので、符号化データ(E2)30で確率を表わすのに必要なビット数は2*x + 20*1ビットである。ここで、xは、確率の表現に用いられるビット数を表わす。
本開示に従う改良発明を実装するときに用いる最適な閾値は、エンコーダ20から1つ又は複数のデコーダ80へ送信されるべき符号化データ(E2)30の量と、その符号化データ(E2)30で表わされるシンボルの出現頻度に応じて探索される。前述した1つ又は複数の閾値の決定方法は、この後詳細に解明される。例として、
Tを閾値、
Bを、確率を表現するのに用いられるビット数、
とする。例えば前述の表1では、確率は6ビット又は7ビットで表現可能である。閾値は、有益であるよう所定の推奨制限内にあるが、式2で定まるような下限閾値 TLOWよりも下回らない。
表1の右4列には、1つ又は複数のデコーダ80に送信される実際の確率が示されている。「7ビット確率」には、8種又は20種の全てのデータ値に7ビットが使用される場合に、可用性信号を伴って、又は伴わずに送信される確率が示されている。ここで、可用性信号は、データ列におけるシンボルの有無を表わす信号のことである。「7ビット確率(エスケープ有り)」は、本開示に従う改良発明の第1の実施形態を利用して送信される確率に対応し、「7(又は6)ビット確率(修正済)」は、本開示に従う改良発明の第2の実施形態を利用して送信される確率に対応する。
表1の右3列における括弧内の確率は、値0の可用性ビットを用いて表わされため、実際には1つ又は複数のデコーダ80には送信されない。この実施例では、1つ又は複数のデコーダ80に送信される確率は、既知の符号化方法で送信される確率に近い値であるため、本開示に従う改良発明を使用しても実際のレンジ符号化の効率を有意に上げることはない。しかし、出現頻度や確率、レンジの値の送信に必要なビット数を削減することによって、全圧縮効率を著しく向上させることができる。また表から自明であるが、既知の方式やエスケープ有りの場合で送信される確率の合計は128であるのに対し、第2の実施形態に従う改良方法では送信される確率の合計は114又は49となっている。これは、可用性ビットが0であるデータ値のそれぞれに対して確率値「1」を受け取ることによる結果である。ここで、データ値は14又は15あり、12種のデータ値はデータ列に存在せず、閾値未満の確率を有する値が2又は3種存在する。
この7ビットと閾値を使用する実施例では、シンボル4と9は、可用性ビットが0で、データ列に存在しない全12種のシンボルと共に表わされる。データ列に存在しないこうしたシンボルに対しては、当初、エスケープと呼ばれる範囲が受け取られていなかったため、確率を持たないシンボル4や9も送出する機構が必須になる。これは、以下で記述する2つの別個の実施形態を用いて効率的な実行が可能となる。
第1の実施形態は表1の「(エスケープ有り)」で示され、別々のエスケープシンボルとそれに関連する範囲(レンジ)が生成される。シンボルは、その範囲を持たない場合にはエスケープ(レンジ)を用いて送出される。またシンボル値も、そのデータ列で送出される。この実施例ではシンボル値は0から19までであるため、シンボル値は5ビットで送出可能である。利用可能なシンボルの数を可能な全シンボルの数で割った割合が高い、即ち0.25を超える場合、シンボル値に対応する可用性ビット0の位置と共にシンボル値を送出することによって、ビット数を若干少なくとしてシンボル値を送出することができ、有益である。例えばこの実施例の場合、シンボル値4はビット列で可用性ビット0が3に対応し、シンボル値9は可用性ビット0が7に対応して、ビット列全体は「00100001000011100001」となる。したがって、ビット列で利用可能な可用性ビット0の数は14しかなく、これを表わすのに、即ち符号化データ(E2)で表現するのに必要なビット数は4で済む。別のシンボル値データ列の送出が禁止されてもよい。すなわち、レンジ符号化の確率が通常の確率から、全シンボルの確率を等確率に変えてもよい。あるいは、実際のデータ値を送出するエスケープ(レンジ)シンボルの送出の後に可用性ビットが0である全シンボルの確率が等確率にされ、実際のシンボル値が送出されるときに確率が元の通常の確率値に戻されてもよい。
第2の実施形態では、全ての可用性ビット0のシンボルが確率「1」に割り当てられ、確率の全範囲から除いた残りの範囲は、可用性ビット1のシンボル用に保存される。こうした解決方法は表1の「(修正済)」で示され、以下で記述する。前述の7ビットの実施例では12 + 2個のエスケープシンボルがあり、128種の利用可能な値のうち14の値が割り当てられる。残りの114種の値は、可用性ビット1に割り当てられる6種のシンボルに使用される。表1の最後の列には、レンジ確率に6ビットを用いる同様の実施例が示されており、この実施例の閾値として0.4が選択されている。前述のように、ビット列にあるこうした可用性ビット0がエスケープシンボルとして解釈可能である場合、これら全てに対して、表1の括弧内に示されるように確率「1」が割り当てられる。
確率値の送出に必要なビット数は次の通りである。統合(エスケープ有り)解決方法では、7*7 + 20*1 = 69ビットが使用される。しかし、この実施例では最適な解決方法ではない。確率表の送出では、本開示の第1の実施形態と比べて7(= 76 - 69)ビットしか削減できず、追加されたエスケープシンボル値の送出に3*4 = 12ビットを使うからである。したがって、1つ又は複数のエスケープシンボルの確率が元のシンボルよりも高い場合は、データサイズの増加を相殺するには十分でない。この場合、他のシンボルの確率は同じであり、こうした他のシンボルの送出は有益ではない。
この改良方法は別のやり方でも有用である。例えば、多数のシンボルがエスケープされる場合、その確率はあまり高くはない。場合によっては、エスケープシンボル用として元のシンボル用のビット数よりも少ないビット数を利用することもできる。統合エスケープコードを用いるときは如何なる場合でも最小確率が送出されるからである。修正確率を用いる第2の実施形態では、6*7 + 20*1 = 62ビット(7ビット確率)又は5*6 + 20*1 = 50ビット(6ビット確率)が使われる。確率の送出は、符号化データ(E2)30に現れる最大頻度のシンボルの確率を示す情報を知ること又はその情報の送出によって、更に最適化されてもよい。
検討中のこうした実施例において、確率の最大値が64未満で、32未満の確率が6ビット(及び5ビット)で送出されてもよい場合、全確率表の送出に必要なビット数は6*6 + 20*1 = 56ビット(7ビットの場合)、及び5*5 + 20*1 = 45ビット(6ビットの場合)で済む。また、この20個の1から成る可用性ビット列の送出は圧縮されてもよい。可用性ビットの圧縮に加え、頻度表や確率値の圧縮によって本開示に従う実施形態を実装することもできる。こうした圧縮が1つ又は複数の圧縮方法を用いて実装されてもよい。このような場合としては特に、可能性のある利用可能なシンボルが多数あり、可用性ビット0の確率と可用性ビット1の確率が様々存在する場合、即ち、多数の0又は多数の1が在る場合や、こうしたビットが符号化データ(E2)30におけるビット列の様々な箇所に在る場合が挙げられる。利用可能なシンボルの範囲が、例えば最小値と最大値の何れか又は両方を送出することで別々に制限される場合、最初と最後のシンボルの何れか又は両方は、ビット列で利用可能であるために分かっていればよく、可用性信号を用いて伝送される必要はない。例えば、こうしたシンボルに対する可用性ビットの送出は不要であり、最小値+1から最大値-1までの範囲に対して可用性ビット等の可用性信号を送出すればよい。この表1の実施例では、シンボルの有無が表現されている第1の改良方法と比べて削減されるビット数は、31 (76 - 45)ビットである。既知の方法と比べた場合は、95 (140 - 45)ビットが削減される。この削減効果はシンボルの正確な確率値の数が少なくても失われないため、こうした改良方法は、この実施例におけるデータ送出としては明らかに有利な方法である。
また、正確な確率値の数が少なくても、符号化データ(E2)30で確率情報が送出されてもよい。あるいは、高い閾値を用いて、符号化データ(E2)30での確率表の送出においてデータサイズを更に削減してもよい。確率表送出での削減は通常、エントロピー符号化においては情報の欠損に繋がる。こうした欠損は、本開示の実施形態を実装するときに最も可能性の高いテーブル送出方法を選択する場合に考慮されなくてはならない。
本開示の改良方法はまた、場合により元データに用いられ、データサイズを削減するようにしてもよい。例えば、データベースやデータキャリア等に保存する場合に用いられてもよい。前述の実施例では当然ながら、元データには150のシンボルと8種の相異なる値が含まれており、元の情報である150*5 = 750ビットは、元データに関する可用性ビット情報を直接用いることによって、150*3 + 20*1 = 470ビットで送出することができる。テーブル送出を伴うレンジ符号化とエントロピー符号化は、元データよりもデータサイズを小さくすることができる。当然ながら、レンジ符号化の前、データのエントロピーを修正する別の方法を用いることもできる。同様に、その逆の動作がレンジ復号の後に行われる必要もある。エントロピーを修正するこうした方法には、例えばデルタ符号化やODelta符号化、即ち、英国特許出願第1303661.1号、出願日2013年3月1日、出願人Gurulogic Microsystems Oyに開示された方法(以下、参照により本願に組み込まれる。ここで、ODelta符号化はデルタ符号化、オフセット計算、ラップアラウンド計算の組合せを採用する)、entropy modifier(EM)、即ち、英国特許出願第1303658.7号、出願日2013年3月1日、出願人Gurulogic Microsystems Oyに開示された方法(以下、参照により本願に組み込まれる)、ランレングス符号化(RLE)、分割ランレングス符号化(SRLE)、即ち、英国特許出願第1303660.3号、出願日2013年3月1日、出願人Gurulogic Microsystems Oyに開示された方法(以下、参照により本願に組み込まれる)が含まれる。
前述のように、本開示に従う改良方法には、レンジ符号化を実装する場合、1つ又は複数の<EOM>シンボルを利用せず、符号化対象データの量(=復号対象データの量)や符号化データ(復号されなくてはならないデータ)の量を送出することができるという点は有益である。符号化対象データの量又は符号化データの量に基づいて、レンジ符号化後の符号化データ(E2)30に存在する情報が、レンジ復号でデータ(D3)90が復号されるときに使用されてもよい。また、本開示に従えば、符号化データ(E2)30を生成するレンジ符号化において、データの後に追加<EOM>を送出する必要は無い。
確率値が、限定されないが符号化データ(E2)30を介して送出される場合、確率値の合計が定義済みである、又は1つ又は複数のデコーダ80へ予め送出済みである等、既知であるときには、最後の確率値を送出する必要は無い。データの存在するシンボルやエスケープ、<EOM>、実際のシンボルに対する最後の確率値は、それまでに送出済みの全ての値を確率の合計値から差し引くことで算出されてもよい。なお、如何なる場合でも、1つ又は複数のデコーダ80で確率値の復号が適切に実行可能であるように、合計値は分かっていなくてはならない。最後の確率値を送出しないことによって、幾つかのビットを予めデータサイズから削減しておくこともできる。
本開示の実施例はレンジ符号化に関して提供されてきたが、エンコーダ20に実装される算術符号化、バイナリ算術符号化についても準用することができる。こうした算術符号化、バイナリ算術符号化がエンコーダ20に実装される場合、エスケープコードは実際の符号化処理では使用されず、代わりに、後で利用される類似項目用に確率範囲を伝送する仕方を決定する。ただし、こうした方法は、所定のシンボルの存在を伝える可用性信号及び確率値と、その所定のシンボルの確率に関する標示を使用する、前述した本開示の改良方法よりも効率が悪い。これについては次の記載が知られており、参照することができる:「一般に、圧縮率は静的符号化よりも低い。ただし、短い入力データ列に対しては、統計データを送信しない有益性がより有意になり得る。」<http://compressions.sourceforge.net/Arithmetic.html#static> 。したがって、本開示の改良方法は、データ符号化技術において著しい技術的進歩を示している。
本開示に従う改良符号化方法は、パーソナルコンピュータ等のデータ処理・データ生成装置、無線対応携帯コンピュータ、ファブレットコンピュータ、タブレットコンピュータ、スマートフォン、携帯電話(「セルフォン」)、視聴覚機器、デジタルカメラ、ビデオカメラ、科学機器、遺伝子配列解析装置、テレビ受像機、監視装置に用いられてもよい。ただし、これらに限定されない。本改良方法は、特定用途向け集積回路(ASIC)等のデジタルハードウェアに実装されてもよい。あるいは又は加えて、本改良方法は、非一時的機械可読データ記憶媒体に記録された1つ又は複数のソフトウェア製品を用いて実装することもできる。ソフトウェア製品は計算ハードウェアで実行可能である。1つ又は複数のソフトウェア製品は、「ソフトウェアアプリ」として通信ネットワークを介して、例えば携帯電話等の無線対応携帯通信デバイスにダウンロード可能でもよい。エンコーダ20とそれに対応するデコーダ80は、コーデック95としても実装可能である。コーデック95は例えば、デジタルカメラ等の携帯型信号キャプチャ装置やインターネット対応マルチメディア装置、ゲーム装置、監視カメラ、環境モニタリング装置等に使用することができるが、これらに限定されない。
次に、図2を参照する。図2には、エンコーダ20でデータ(D1)10を符号化してそれに対応する符号化データ(E2)30を生成する方法のステップが示されている。 各ステップは示された順に実行されるが、一部のステップは任意選択されるものであり、実行順序も変更可能である。
1つ又は複数のデコーダ80では、表2とは逆の処理が実質的に行われる。すなわち、頻度や確率、レンジの情報は、ステップ100で生成される符号化データ(E2)30から抽出され、ステップ120からのデータは、符号化データ(E2)30で符号化されたシンボルのうち、頻度や確率、レンジの情報を用いて復号されるシンボルと、そうした仕方で復号されない他のシンボルを決定するために利用される。こうした計算の結果は、復号データ(D3)90を提供するためにまとめて集められる。1つ又は複数のデコーダ80は、データD1とデータD3が相異なるように、トランスコードを実行可能でもよい。こうしたトランスコードは、例えば1つ又は複数のデコーダ80が相異なり、データD3が相異なる表示装置でレンダリングされるものである場合、こうした表示装置用に画素表示解像度、表示アスペクト比等についてカスタマイズ可能になっているという利点がある。
次の図3を参照する。図3には、符号化データ(E2)30を復号して復号データ(D3)90を生成する復号方法のステップ200から240が示されている。復号データ(D3)90はデータ(D1)10の再生成版でもよいが、これに限るものではない。 この処理では、ステップ200で、デコーダ80は可用性信号、即ち可用性ビットを受け取る。あるいは、符号化方法やインデクスの数、インデクスそのものを受け取ることもできる。さらにステップ210で、デコーダ80は、データ番号60で伝送された頻度や確率、レンジのテーブル(これらはデータ(E2)30に含まれる)を受け取る。デコーダ80は、これらのテーブルから完全な頻度表や確率表、レンジ表を構成する。ビット「0」のスロットには値「0」を設定するのが有益であるが、必要に応じて値「1」が設定されてもよい。ビット「1」のスロットには、受け取られた頻度や確率、レンジの値が設定される。頻度表が受け取られた場合、それを確率表に変換してレンジ符号化に利用することもできる。当然ながら、エンコーダ20でもレンジ符号化を用いて効率的な符号化が実行される前に、頻度表を確率表に変換する必要がある。デコーダ80で確率表を構成した後、ステップ220から240で、このテーブルから、値の合計値が2の累乗で表わされ、デコーダ80は受取り済み変換データ50(データE2・30に含まれる)のレンジ復号を実行することができ、復号出力データ(D2)90を生成する。このステップ200から240は、図2のステップ100から140の逆処理と実質的に対応する。
エンコーダ20とデコーダ80は幅広いデータ処理装置で利用可能であり、例えば無線通信デバイスやオーディオ装置、視聴覚装置、計算装置、ビデオ会議装置、監視装置、科学測定装置、遺伝子シーケンサ装置、遺伝子配列解析装置、通信システムハードウェア及び/又はソフトウェア、通信ネットワークハードウェア及び/又はソフトウェア等で利用可能である。ただし、これらに限定されるものではない。
前述した本発明の実施形態への修正は、添付の特許請求の範囲に定義される発明の範囲を逸脱しない限りにおいて可能である。本発明の記述と特許請求の範囲で用いられる「含む」,「備える」,「包含する」,「構成される」,「有する」,「存在する」等の表現は、包括的構成であると解釈されることを意図しており、明示的に記載されていないアイテムや部品,構成要素も含まれうることを意図している。単数表現もまた、複数に関連するものと解釈されるべきものである。添付の特許請求の範囲における括弧内の数字は、請求項の理解を助けることを意図したものであり、これらの請求項によって定義される発明の範囲を限定するように解釈されるべきではない。

Claims (25)

  1. 入力データ(D1,10)を符号化して対応する符号化データ(E2,30)を生成するエンコーダ(20)であって、前記符号化データ(E2,30)は、該符号化データ(E2,30)で表わされるべき1つ又は複数のシンボルの頻度、確率又はレンジを示す情報を含み、前記エンコーダ(20)は、前記1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が前記符号化データ(E2,30)に含まれるか否かを示す追加情報を、該符号化データ(E2,30)に含めるように動作可能である、
    エンコーダ(20)。
  2. 前記1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が前記符号化データ(E2,30)に含まれるか否かを示す追加情報であって、単一の可用性ビット情報として表わされる、該追加情報を、該符号化データ(E2,30)に含めるように動作可能である、請求項1に記載のエンコーダ(20)。
  3. 前記符号化データ(E2,30)に前記頻度、確率又はレンジを示す情報が含まれることを、単一の可用性ビット値「7」を用いて表わし、該符号化データ(E2,30)に該頻度、確率又はレンジを示す情報が含まれていないことを、単一の可用性ビット値「0」を用いて表わすように動作可能である、請求項2に記載のエンコーダ(20)。
  4. 前記符号化データ(E2,30)で表わされるべき1つ又は複数のシンボルの頻度、確率又はレンジを示す情報は、符号化対象データ(D1,10)の1つ又は複数の特性の関数として、前記エンコーダ(20)によって動的に変更される、請求項1から3の何れかに記載のエンコーダ(20)。
  5. 前記1つ又は複数の特性は、前記データ(D1,10)の種類、該データ(D1,10)のコンテンツ及び/又は該データ(D1,10)の統計情報の少なくとも1つを含む、請求項4に記載のエンコーダ(20)。
  6. 前記符号化対象データ(D1,10)を複数の部分に分割し、該部分のそれぞれに対して別個に対応する追加情報であって、前記1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が前記符号化データ(E2,30)に含まれるか否かを示す、該追加情報を生成するように動作可能である、請求項4又は5に記載のエンコーダ(20)。
  7. 前記エンコーダ(20)は、前記データ(D1,10)において生じる最小値及び最大値を決定するために該データ(D1,10)を解析するように動作可能であり、前記最小値及び最大値を表わす情報は、該エンコーダ(20)によって前記符号化データ(E2,30)に含められ、該最小値及び最大値は、レンジ符号化が用いられる場合、可能性のある利用可能なシンボル値の範囲を制限する、請求項1から6の何れかに記載のエンコーダ(20)。
  8. 可用性信号を用いずに、前記データ(D1,10)に存在する先頭シンボル及び/又は最後尾シンボルを前記符号化データに表わすように動作可能である、請求項7に記載のエンコーダ(20)。
  9. 前記符号化対象データ(D1,10)にレンジ符号化を適用して前記符号化データ(E2,30)を生成する前に、該データ(D1,10)のエントロピーを修正するように動作可能である、請求項1から8の何れかに記載のエンコーダ(20)。
  10. 前記エンコーダ(20)は、前記データ(D1,10)を符号化するように動作可能であり、該データ(D1,10)は、録音音声信号、遺伝子配列データ、録画ビデオ信号、静止画像、テキストデータ、感震データ、センサ信号データ、アナログ−デジタル変換(ADC)データ、生体信号データ、カレンダーデータ、経済データ、数学的データ、二進数データの少なくとも1つに対応する、請求項1から9の何れかに記載のエンコーダ(20)。
  11. エンコーダ(20)で入力データ(D1,10)を符号化して対応する符号化データ(E2,30)を生成する方法であって、前記符号化データ(E2,30)は、該符号化データ(E2,30)で表わされるべき1つ又は複数のシンボルの頻度、確率又はレンジを示す情報を含み、前記方法は:
    前記1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が前記符号化データ(E2,30)に含まれるか否かを示す追加情報を、該符号化データ(E2,30)に含めるために、前記エンコーダ(20)を使用すること
    を含む、方法。
  12. 前記1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が前記符号化データ(E2,30)に含まれるか否かを示す追加情報であって、単一の可用性ビット情報として表わされる、該追加情報を、該符号化データ(E2,30)に含めるために、前記エンコーダ(20)を使用することを更に含む、請求項11に記載の方法。
  13. 前記符号化データ(E2,30)に前記頻度、確率又はレンジを示す情報が含まれることを、単一の可用性ビット値「7」を用いて表わし、該符号化データ(E2,30)に該頻度、確率又はレンジを示す情報が含まれていないことを、単一の可用性ビット値「0」を用いて表わすために、前記エンコーダ(20)を使用することを更に含む、請求項12に記載の方法。
  14. 前記符号化データ(E12,30)で表わされるべき1つ又は複数のシンボルの頻度、確率又はレンジを示す情報を、前記符号化対象データ(D1,10)の特質の関数として動的に変更するために、前記エンコーダ(20)を使用することを含む、請求項11から13の何れかに記載の方法。
  15. 前記符号化対象データ(D1,10)を複数の部分に分割し、該部分のそれぞれに対して別個に対応する追加情報であって、前記1つ又は複数のシンボルのうち少なくとも1つに対する頻度、確率又はレンジを示す情報が前記符号化データ(E2,30)に含まれるか否かを示す、該追加情報を生成するために、前記エンコーダ(20)を使用することを含む、請求項14に記載の方法。
  16. 前記方法は前記データ(D1,10)を符号化することを含み、該データ(D1,10)は、録音音声信号、遺伝子配列情報、録画ビデオ信号、静止画像、テキストデータ、感震データ、センサ信号データ、アナログ−デジタル変換(ADC)データ、生体信号データ、カレンダーデータ、経済データ、数学的データ、二進数データの少なくとも1つに対応する、請求項11から15の何れかに記載の方法。
  17. 復号データ(D3,90)を生成するために、請求項1から10の何れかに記載のエンコーダ(20)によって生成された符号化データ(E2,30)を復号する、デコーダ(80)。
  18. (a)可用性信号を受け取ることと;
    (b)前記符号化データ(E2,30)で伝送された頻度、確率又はレンジのテーブルを受け取ることと;
    (c)前記(a)及び(b)から、完全な頻度表、確率表又はレンジ表を構成することと;
    (d)前記符号化データ(E2,30)を復号して出力データ(D3,90)を生成するために、前記完全な頻度表、確率表又はレンジ表を使用すること
    を実行するように動作可能であるデータ処理ハードウェアを備える、請求項17に記載のデコーダ(80)。
  19. 対応するトランスコードデータを生成するために、前記復号出力データ(D3)にトランスコードを実行するように動作可能である、請求項17又は18に記載のデコーダ(80)。
  20. デコーダ(80)で符号化データ(E2,30)を復号する方法であって、請求項11から16の何れかに記載の方法とは逆の処理を実行することを含む、方法。
  21. (a)可用性信号を受け取ることと;
    (b)前記符号化データ(E2,30)で伝送された頻度、確率又はレンジのテーブルを受け取ることと;
    (c)前記処理(a)及び(b)から、完全な頻度表、確率表又はレンジ表を構成することと;
    (d)前記符号化データ(E2,30)を復号して出力データ(D3,90)を生成するために、前記完全な頻度表、確率表又はレンジ表を使用すること
    を含む、請求項20に記載の方法。
  22. 対応するトランスコードデータを生成するために、前記復号出力データ(D3)にトランスコードを実行することを含む、請求項20又は21に記載の方法。
  23. 請求項1から10の何れかに記載の少なくとも1つのエンコーダ(20)と、請求項17から19の何れかに記載の少なくとも1つのデコーダ(80)を備える、コーデック(20,80,95)。
  24. 非一時的コンピュータ可読記憶媒体を含むコンピュータプログラムであって、前記非一時的コンピュータ可読記憶媒体はコンピュータ可読命令を含み、前記コンピュータ可読命令は、請求項11から16の何れかに記載の方法を実装するために、請求項1から10の何れかに記載のエンコーダ(20)の計算ハードウェアによって実行可能である、コンピュータプログラム。
  25. 非一時的コンピュータ可読記憶媒体を含むコンピュータプログラムであって、前記非一時的コンピュータ可読記憶媒体はコンピュータ可読命令を含み、前記コンピュータ可読命令は、請求項19に記載の方法を実装するために、請求項17に記載のデコーダ(80)の計算ハードウェアによって実行可能である、コンピュータプログラム。
JP2016549710A 2014-02-20 2015-02-20 データのソース符号化及び復号の装置及びその方法 Pending JP2017511997A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1403038.1A GB2523347B (en) 2014-02-20 2014-02-20 Encoder, decoder and method
GB1403038.1 2014-02-20
PCT/EP2015/025007 WO2015124323A1 (en) 2014-02-20 2015-02-20 Devices and methods of source-encoding and decoding of data

Publications (1)

Publication Number Publication Date
JP2017511997A true JP2017511997A (ja) 2017-04-27

Family

ID=50482548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016549710A Pending JP2017511997A (ja) 2014-02-20 2015-02-20 データのソース符号化及び復号の装置及びその方法

Country Status (8)

Country Link
US (1) US10003356B2 (ja)
EP (1) EP3108583B1 (ja)
JP (1) JP2017511997A (ja)
KR (1) KR102175020B1 (ja)
CN (1) CN106170922B (ja)
GB (1) GB2523347B (ja)
RU (1) RU2630750C1 (ja)
WO (1) WO2015124323A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2543844B (en) * 2015-11-01 2018-01-03 Gurulogic Microsystems Oy Encoders, decoders and methods
WO2018020299A1 (en) * 2016-07-29 2018-02-01 Chan Kam Fu Lossless compression and decompression methods
TWI645698B (zh) * 2017-07-17 2018-12-21 財團法人工業技術研究院 資料發送裝置、資料接收裝置及其方法
CN107645665B (zh) * 2017-10-09 2020-02-14 郑州云海信息技术有限公司 一种WebP熵编码的方法及装置
US10922026B2 (en) 2018-11-01 2021-02-16 Fungible, Inc. Data processing unit having hardware-based range encoding and decoding
US10511324B1 (en) * 2018-11-01 2019-12-17 Fungible, Inc. Data processing unit having hardware-based range encoding and decoding
EP3874757A4 (en) * 2018-11-02 2022-08-24 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR REFERENCE OFFSET SIGNALING IN VIDEO CODING
WO2020100435A1 (ja) * 2018-11-14 2020-05-22 日本電信電話株式会社 符号化装置、復号装置、符号化システム、学習方法、及びプログラム
US10567807B1 (en) * 2019-02-04 2020-02-18 Google Llc Adjustable per-symbol entropy coding probability updating for image and video coding
US11296720B2 (en) * 2020-08-24 2022-04-05 Innogrit Technologies Co., Ltd. Data compression using reduced numbers of occurrences
US12034462B2 (en) * 2022-08-09 2024-07-09 Synaptics Incorporated Compressing probability tables for entropy coding
CN116610265B (zh) * 2023-07-14 2023-09-29 济南玖通志恒信息技术有限公司 一种商务信息咨询系统的数据存储方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005051406A (ja) * 2003-07-31 2005-02-24 Ishikawajima Harima Heavy Ind Co Ltd 圧縮符号化方法、装置、及びプログラム、並びに復号方法、装置、及びプログラム
JP2006270821A (ja) * 2005-03-25 2006-10-05 Casio Comput Co Ltd 符号化装置及び符号化方法
JP2009017232A (ja) * 2007-07-04 2009-01-22 Toshiba Corp 算術符号化装置及び画像符号化装置
WO2013018296A1 (ja) * 2011-07-29 2013-02-07 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置
US20130243102A1 (en) * 2011-01-14 2013-09-19 Ntt Docomo, Inc. Method and apparatus for arithmetic coding and termination

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3394352A (en) * 1965-07-22 1968-07-23 Electronic Image Systems Corp Method of and apparatus for code communication
GB8416495D0 (en) * 1984-06-28 1984-08-01 King R A Encoding method
US5680129A (en) * 1995-07-18 1997-10-21 Hewlett-Packard Company System and method for lossless image compression
EP1045590A3 (en) * 1999-04-13 2005-03-09 Matsushita Electric Industrial Co., Ltd. Transcoder and transcoding method with bit rate regulation
US6650996B1 (en) * 2001-12-20 2003-11-18 Garmin Ltd. System and method for compressing data
US7536054B2 (en) 2003-02-19 2009-05-19 Ishikawajima-Harima Heavy Industries Co., Ltd. Image compression device, image compression method, image compression program, compression encoding method, compression encoding device, compression encoding program, decoding method, decoding device, and decoding program
US6894628B2 (en) * 2003-07-17 2005-05-17 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables
RU2426227C2 (ru) * 2006-11-14 2011-08-10 Квэлкомм Инкорпорейтед Кодирование кодов переменной длины с эффективным использованием памяти
US20110310982A1 (en) 2009-01-12 2011-12-22 Lg Electronics Inc. Video signal processing method and apparatus using depth information
PL2559166T3 (pl) * 2010-04-13 2018-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder i dekoder dzielący interwał prawdopodobieństwa
WO2013011608A1 (ja) 2011-07-19 2013-01-24 パナソニック株式会社 画像符号化装置とその集積回路、および画像符号化方法
GB201203559D0 (en) 2012-02-29 2012-04-11 Chargepoint Technology Ltd Improvements relating to valves
US8675731B2 (en) * 2012-08-13 2014-03-18 Gurulogic Microsystems Oy Encoder and method
GB2511493B (en) 2013-03-01 2017-04-05 Gurulogic Microsystems Oy Entropy modifier and method
US8810439B1 (en) 2013-03-01 2014-08-19 Gurulogic Microsystems Oy Encoder, decoder and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005051406A (ja) * 2003-07-31 2005-02-24 Ishikawajima Harima Heavy Ind Co Ltd 圧縮符号化方法、装置、及びプログラム、並びに復号方法、装置、及びプログラム
JP2006270821A (ja) * 2005-03-25 2006-10-05 Casio Comput Co Ltd 符号化装置及び符号化方法
JP2009017232A (ja) * 2007-07-04 2009-01-22 Toshiba Corp 算術符号化装置及び画像符号化装置
US20130243102A1 (en) * 2011-01-14 2013-09-19 Ntt Docomo, Inc. Method and apparatus for arithmetic coding and termination
WO2013018296A1 (ja) * 2011-07-29 2013-02-07 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置

Also Published As

Publication number Publication date
US10003356B2 (en) 2018-06-19
KR20160123302A (ko) 2016-10-25
EP3108583A1 (en) 2016-12-28
KR102175020B1 (ko) 2020-11-06
CN106170922A (zh) 2016-11-30
GB2523347B (en) 2016-01-13
WO2015124323A1 (en) 2015-08-27
EP3108583B1 (en) 2021-09-01
CN106170922B (zh) 2018-10-02
RU2630750C1 (ru) 2017-09-12
GB201403038D0 (en) 2014-04-09
US20170250707A1 (en) 2017-08-31
GB2523347A (en) 2015-08-26

Similar Documents

Publication Publication Date Title
JP2017511997A (ja) データのソース符号化及び復号の装置及びその方法
KR101737294B1 (ko) 심볼 압축을 수반하는 데이터의 소스 코딩 및 디코딩을 위한 방법들 및 디바이스들
US9735805B2 (en) Encoder, decoder and method
JP6045123B2 (ja) エンコーダ、デコーダ及び方法
JP4801776B2 (ja) データ圧縮
KR101781776B1 (ko) 인코더 및 디코더
JP2017507590A5 (ja)
RU2693902C2 (ru) Кодер, декодер и способ
JP2016512004A5 (ja)
KR20190040063A (ko) 인덱스 코딩 및 비트 스케줄링을 갖는 양자화기
RU2611249C1 (ru) Модификатор энтропии и способ его использования
RU2709656C2 (ru) Кодер, декодер и способ, использующие модовые символы
US20130082850A1 (en) Data encoding apparatus, data decoding apparatus and methods thereof
US10340946B2 (en) Encoders, decoders, and methods
GB2539486B (en) Encoder, decoder and method employing palette compression
KR20150072853A (ko) 가변길이코딩을 이용한 인코딩 방법, 디코딩 방법, 및 그 시스템
US20160323603A1 (en) Method and apparatus for performing an arithmetic coding for data symbols

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170815

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180425