JP2008514095A - 可変長エンコーダ/デコーダのためのプログラム可能データプロセッサ - Google Patents
可変長エンコーダ/デコーダのためのプログラム可能データプロセッサ Download PDFInfo
- Publication number
- JP2008514095A JP2008514095A JP2007531935A JP2007531935A JP2008514095A JP 2008514095 A JP2008514095 A JP 2008514095A JP 2007531935 A JP2007531935 A JP 2007531935A JP 2007531935 A JP2007531935 A JP 2007531935A JP 2008514095 A JP2008514095 A JP 2008514095A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- length
- operand
- bit
- bit string
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Abstract
Description
SNORM R1, R2, R3, R4, R5
と記されるコマンドをサポートするよう設計される。
0010 1011 および 1110 0101
を含みうる。
0010101111100101
となる。
0010 1000
をもつ。
シフトの量は第三のオペランドデータR3によって選択される。今の例では、シフト制御入力は値6を受け取り、第一のバレルシフタ20は出力列
1111 1001 0100 0000
を生成する。
この例では、語長は8ビットであるが、もちろん、16、32または64といったより大きな語長のオペランドおよび結果が使われる場合には、より多くのビットが出力されうる。
bptr=0;
wptr=0;
word0=buf[wptr];
word1=buf[wptr+1];
while(wptr<end)
{ nrm,sucbits=OP_SNORM(word0,word1,bptr);
index=getIndex(nrm,sucbits);
len=lenTable[index];
dec=codeTable[index];
bptr=bptr+len;
wptr=bptr>>5;
word0=buf[wptr];
word1=buf[wptr+1];
}
このプログラムは、よく知られたC言語の文にほぼ一致する擬似コード文で表している(この言語では、[ ]が配列の添え字を表し、>>が右シフトを表す)。理解されるであろうように、C言語を選んだのは単に対応する一連の機械命令を記述する上での明確のためである。OP_SNORMの機能呼び出しをもつ文は、上記で説明したSNORM命令の実行を指している。
index=(nrm<<4)|(sucbits>>(32-4))
に対応する。
INDX R1, R2, R3, R4
と表すことができる。
concatenation(R1,R2)<<R3
に対応する。
index=(nrm<<4)|(concatenation(R1,R2)<<(28-(R3+R4)))
に対応する。
bptr=0;
wptr=0;
top0=buf[wptr];
word0=buf[wptr];
word1=buf[wptr+1];
while(wptr<end)
{ nrm,sucbits=OP_SNORM(top0,bptr);
aux=(word0<<16)|((word1>>16)&0xffff);
index=getIndex(nrm,sucbits);
len=lenTable[index];
dec=codeTable[index];
bptr=bptr+len;
wptr=bptr>>5;
word0=buf[wptr];
word1=buf[wptr+1];
if(bptr&31>16) top0=aux; else top0=word0;
}
この場合には、SNORM命令のためのオペランドとしては、ビット列をもつ変数は単一のtop0しか使われていないことを注意しておくべきであろう。SNORM命令のオペランドとして使用されるかもしれない変数auxに、変数word1の半分をシフトさせて入れるシフト演算が加えられている。変数auxからの値は、変数bptrがビット列オペランドの後半をポイントするときに使用される。半語というあらかじめ決まったシフト距離(この例では16)を使っており、そのため必要とされるシフト演算は符号語の長さが知られるより前に(他の演算と並列に)実行できることを注意しておくべきであろう。長さがわかるまで延期する必要があるのは、ビット列オペランドの選択だけである。
Claims (10)
- ビット列を示す第一のオペランドと、そのビット列の中の位置を示す第二のオペランドとをもつ命令を有する命令セットをもったプログラム可能プロセッサを有するデータ処理回路であって、前記プログラム可能プロセッサは、前記命令の実行の結果として、前記ビット列中の前記位置から、前記位置からのビット列が所定のビットパターンから逸脱するまでに生起するビットの数のカウントを示すコードを返すよう構成されている、データ処理回路。
- 前記命令が前記ビット列を延長するためのさらなるビット列を示す第三のオペランドをもち、前記位置からのビットが前記ビット列の終わりまで前記パターンから逸脱しない場合には、前記カウントに数えられるビットには、前記位置から始まって、前記ビット列の終わりから前記さらなるビット列の始めに続く諸ビットが含まれる、請求項1記載のデータ処理回路。
- 前記プロセッサが、前記命令に反応して後続ビットを含む追加的な結果を返すよう構成されており、該後続ビットは、当該位置に続くビットが前記所定のパターンから逸脱する最初のビット位置に対するある所定の相対位置から始まるビット列からのビットである、請求項1記載のデータ処理回路。
- 前記プロセッサが、カウントされるビットが始まる前記位置を制御するために前記第二のオペランドのうちからの所定数の下位ビットだけを使用するよう構成されている、請求項1記載のデータ処理回路。
- 可変長の符号語の復号を実行するプログラムであって、前記命令の呼び出しに続いて、前記命令によって生成される長さコードから導出される添え字を使って符号語の長さを探索するさらなる命令を含んでいるプログラム、をプログラムされた請求項1記載のデータ処理回路。
- 前記プログラムが、前記命令を複数回呼び出すよう諸命令を含んでおり、回ごとに第一のオペランドは同じであり、回ごとに第二のオペランドは前記ビット列中で逐次的な符号語が始まる逐次的な位置を示す逐次的な値をとる、請求項1記載のデータ処理回路。
- 可変長の符号語の復号を実行するプログラムであって、可変長の符号語を含むビットストリームの逐次的な諸部分をそれぞれのレジスタにロードする予備命令を含んでおり、該それぞれのレジスタを第一のオペランドおよび第三のオペランドとして使っての前記命令の呼び出しに続いて、長さコードを使って符号語の長さを探索するさらなる命令を含んでいるプログラム、をプログラムされた、請求項2記載のデータ処理回路。
- 可変長の符号語の復号を実行するプログラムであって、前記命令の呼び出しに続いて、長さコードおよび前記命令の前記追加的な結果から導出される添え字を使って符号語の長さを探索するさらなる命令を含んでいるプログラムをプログラムされた、請求項3記載のデータ処理回路。
- レジスタを含むプログラム可能プロセッサを使ってビットストリームからの可変長の符号語を復号する方法であって、
・前記ビットストリーム中の所定の位置からビット列を前記レジスタの第一のものにロードするための命令を実行し、
・前記ビット列の中の現在の符号語の先頭へのポインタを、前記レジスタの第二のものに保持し、
・前記レジスタのうちの第一および第二のものをオペランドとする命令を実行し、該命令は前記ビット列中の前記位置から、前記位置からのビット列の先頭部分が所定のビットパターンから逸脱するまでに生起するビットの数のカウントを示すコードを生成するような種類のものであり、
・長さコードを探索表の添え字として使って、現在の符号語の長さを探索する、
ことを含む方法。 - 実行されたときにプロセッサをして請求項9記載の方法を実行せしめるプログラムの命令を含む、コンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04104527 | 2004-09-20 | ||
PCT/IB2005/053033 WO2006033060A1 (en) | 2004-09-20 | 2005-09-15 | Programmable data processor for a variable length encoder/decoder |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008514095A true JP2008514095A (ja) | 2008-05-01 |
Family
ID=34929591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007531935A Pending JP2008514095A (ja) | 2004-09-20 | 2005-09-15 | 可変長エンコーダ/デコーダのためのプログラム可能データプロセッサ |
Country Status (7)
Country | Link |
---|---|
US (1) | US7761695B2 (ja) |
EP (1) | EP1795014B1 (ja) |
JP (1) | JP2008514095A (ja) |
KR (1) | KR101204380B1 (ja) |
CN (1) | CN101023675A (ja) |
AT (1) | ATE531200T1 (ja) |
WO (1) | WO2006033060A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102348114B (zh) * | 2010-07-30 | 2013-12-04 | 中国科学院微电子研究所 | 多模视频解码器中帧内预测器结构 |
CN101950301A (zh) * | 2010-09-26 | 2011-01-19 | 北京飞天诚信科技有限公司 | 数据处理的方法及装置 |
WO2013095529A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Addition instructions with independent carry chains |
ITTO20120829A1 (it) * | 2012-09-25 | 2014-03-26 | Torino Politecnico | Method and system for generating channel codes, in particular for a frame-header |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04260926A (ja) * | 1991-01-22 | 1992-09-16 | Mitsubishi Electric Corp | ビット検索回路及びそれを備えたデータ処理装置 |
JPH09326707A (ja) * | 1996-06-05 | 1997-12-16 | Hitachi Ltd | 可変長符号復号化演算処理装置 |
JP2000207205A (ja) * | 1999-01-14 | 2000-07-28 | Sony Corp | 演算装置 |
JP2000252837A (ja) * | 1999-02-25 | 2000-09-14 | Matsushita Electric Ind Co Ltd | 可変長符号復号プロセッサ |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2630085B2 (ja) * | 1991-02-26 | 1997-07-16 | 松下電器産業株式会社 | 記録装置と再生装置 |
JP3007235B2 (ja) * | 1992-11-10 | 2000-02-07 | 富士写真フイルム株式会社 | 可変長符号の伸長装置および圧縮伸長装置 |
US5668548A (en) * | 1995-12-28 | 1997-09-16 | Philips Electronics North America Corp. | High performance variable length decoder with enhanced throughput due to tagging of the input bit stream and parallel processing of contiguous code words |
US5781134A (en) * | 1996-10-18 | 1998-07-14 | Samsung Electronics Company, Ltd. | System for variable length code data stream position arrangement |
US5821887A (en) * | 1996-11-12 | 1998-10-13 | Intel Corporation | Method and apparatus for decoding variable length codes |
US6246347B1 (en) * | 1997-10-27 | 2001-06-12 | Philips Electronics North America Corporation | Controller for a variable length decoder |
US6182202B1 (en) * | 1997-10-31 | 2001-01-30 | Oracle Corporation | Generating computer instructions having operand offset length fields for defining the length of variable length operand offsets |
JP3570188B2 (ja) * | 1997-12-25 | 2004-09-29 | 富士通株式会社 | 可変長符号処理機構を有するデータ処理装置 |
US6219457B1 (en) * | 1998-05-26 | 2001-04-17 | Silicon Graphics, Inc. | Method and system for decoding data encoded in a variable length code word |
JP3540248B2 (ja) * | 2000-06-01 | 2004-07-07 | 松下電器産業株式会社 | 可変長符号復号装置 |
US6587057B2 (en) * | 2001-07-25 | 2003-07-01 | Quicksilver Technology, Inc. | High performance memory efficient variable-length coding decoder |
US20040120404A1 (en) * | 2002-11-27 | 2004-06-24 | Takayuki Sugahara | Variable length data encoding method, variable length data encoding apparatus, variable length encoded data decoding method, and variable length encoded data decoding apparatus |
-
2005
- 2005-09-15 WO PCT/IB2005/053033 patent/WO2006033060A1/en active Application Filing
- 2005-09-15 KR KR1020077006032A patent/KR101204380B1/ko active IP Right Grant
- 2005-09-15 AT AT05801602T patent/ATE531200T1/de not_active IP Right Cessation
- 2005-09-15 CN CNA2005800313698A patent/CN101023675A/zh active Pending
- 2005-09-15 US US11/575,318 patent/US7761695B2/en not_active Expired - Fee Related
- 2005-09-15 EP EP05801602A patent/EP1795014B1/en not_active Not-in-force
- 2005-09-15 JP JP2007531935A patent/JP2008514095A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04260926A (ja) * | 1991-01-22 | 1992-09-16 | Mitsubishi Electric Corp | ビット検索回路及びそれを備えたデータ処理装置 |
JPH09326707A (ja) * | 1996-06-05 | 1997-12-16 | Hitachi Ltd | 可変長符号復号化演算処理装置 |
JP2000207205A (ja) * | 1999-01-14 | 2000-07-28 | Sony Corp | 演算装置 |
JP2000252837A (ja) * | 1999-02-25 | 2000-09-14 | Matsushita Electric Ind Co Ltd | 可変長符号復号プロセッサ |
Also Published As
Publication number | Publication date |
---|---|
KR101204380B1 (ko) | 2012-11-26 |
KR20070065323A (ko) | 2007-06-22 |
CN101023675A (zh) | 2007-08-22 |
US20080320283A1 (en) | 2008-12-25 |
EP1795014A1 (en) | 2007-06-13 |
WO2006033060A1 (en) | 2006-03-30 |
EP1795014B1 (en) | 2011-10-26 |
ATE531200T1 (de) | 2011-11-15 |
US7761695B2 (en) | 2010-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7823142B2 (en) | Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor | |
KR101026821B1 (ko) | 단정밀도 부동 소수점 데이터의 저장 방법 및 프로세서 | |
US5087913A (en) | Short-record data compression and decompression system | |
KR960012741A (ko) | 데이타를 부호화 및 복호화하는 장치 및 방법 | |
JPH07297728A (ja) | パターン一致を探索するための方法およびシステム | |
KR101401244B1 (ko) | 방법 및 장치 및 기록 매체 | |
KR20120115244A (ko) | 데이터 압축 동안의 대안적 인코딩 솔루션들 평가 | |
JP2682264B2 (ja) | プログラムカウンタ装置 | |
JP2008514095A (ja) | 可変長エンコーダ/デコーダのためのプログラム可能データプロセッサ | |
KR20130111170A (ko) | 압축 및 신장 시스템, 압축 장치, 신장 장치, 압축 및 신장 방법, 압축 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 및 신장 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
US7523294B2 (en) | Maintaining original per-block number of instructions by inserting NOPs among compressed instructions in compressed block of length compressed by predetermined ratio | |
JP4930435B2 (ja) | 可変長符号復号装置、可変長符号復号方法およびプログラム | |
JP5853177B2 (ja) | データ処理装置、及びデータ処理方法 | |
US7668381B2 (en) | Decoding apparatus and encoding apparatus with specific bit sequence deletion and insertion | |
JP2012098893A (ja) | 圧縮命令処理装置及び圧縮命令生成装置 | |
US7484077B2 (en) | Skipping unnecessary instruction by multiplex selector using next instruction offset stride signal generated from instructions comparison results | |
US6765513B2 (en) | Decoding bit streams compressed with compression techniques employing variable length codes | |
JP4479370B2 (ja) | プロセッサ | |
JP4862894B2 (ja) | 符号化装置と方法及びプロセッサ | |
JP2529465B2 (ja) | 可変長符号復号装置 | |
JP2010258927A (ja) | 符号データ処理装置、方法及びプログラム | |
KR970032145A (ko) | 가변장 복호기 제어회로 | |
KR970012149A (ko) | 연집오류정정 복호화기 | |
KR950009473A (ko) | 디지탈신호처리프로세서 및 그것을 사용해서 명령을 페치하여 복호하는 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080826 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100820 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101117 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101208 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110111 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20110419 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110511 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110628 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20110722 |