JP2012100273A - 算術符号化方法及び算術符号化装置 - Google Patents
算術符号化方法及び算術符号化装置 Download PDFInfo
- Publication number
- JP2012100273A JP2012100273A JP2011248684A JP2011248684A JP2012100273A JP 2012100273 A JP2012100273 A JP 2012100273A JP 2011248684 A JP2011248684 A JP 2011248684A JP 2011248684 A JP2011248684 A JP 2011248684A JP 2012100273 A JP2012100273 A JP 2012100273A
- Authority
- JP
- Japan
- Prior art keywords
- value
- lps
- event
- range
- equal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 137
- 238000004519 manufacturing process Methods 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 199
- 230000008569 process Effects 0.000 description 80
- 238000010586 diagram Methods 0.000 description 31
- 239000011800 void material Substances 0.000 description 13
- 238000012360 testing method Methods 0.000 description 12
- 238000013459 approach Methods 0.000 description 10
- 230000007704 transition Effects 0.000 description 10
- 238000007906 compression Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 8
- 230000003247 decreasing effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000011010 flushing procedure Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- 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
- H03M7/4006—Conversion to or from arithmetic code
-
- 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
- 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
- H03M7/4006—Conversion to or from arithmetic code
- H03M7/4012—Binary arithmetic codes
- H03M7/4018—Context adapative binary arithmetic codes [CABAC]
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Error Detection And Correction (AREA)
Abstract
【解決手段】算術デコーダ1000は、イベントシーケンス1035のイベントに対してコンテクスト識別子を生成するシーケンサ1025と、LPSの値及びLPSの確率推定値を決定する確率推定器1010と、LPSのレンジに値を割り当てるレンジレジスタ1065を含む復号エンジン1015と、を備える。コンテクスト識別子がインデックスに等しくない場合に、値は、確率推定値と、レンジレジスタに記憶された値と、LPSのレンジへのコンテクスト識別子とに基づき、コンテクスト識別子がインデックスに等しい場合に、値はレンジレジスタに記憶された値に基づかなく、復号エンジンはLPSのレンジの値と情報シーケンスからのビットとに基づいて、2進イベントの値を決定する。
【選択図】図10
Description
現在の状態の番号+log((現在状の態の確率*適応レート+(1−適応レート))/現在の状態の確率)/log(適応レート)
の計算結果が丸められた値となる。
e≦αB+βS
ここで、eは、情報ビット(又は他のエレメント)のシーケンスで表わされたイベントの数であり、Bは、情報ビット(又は他のエレメント)のシーケンスにおける情報ビットの数であり、Sは、イベントシーケンスで表わされたセグメント(例えばマクロブロック)の数である。また、α及びβは、カウンタへの減少値を表しており、生成される情報ビットの数及び処理されるセグメントの数に対するイベントシーケンスのイベント数の制約を実質的に維持する。
[0128] 図16A及び16Bにおける状態マシンを構成するためのプロセスの一例をCコードで以下に示す。
C-code:
#define N b4
#define Pmax 0.5
#define Pmin 0.01875
#define regsize 9
#define ONE(1<<regsize)
double alpha;
double sum;
int i,j;
double q;
float prob64[N];
intnext_state_MPS_64[N];
intnext_state_LPS_64[N];
int switch_MPS_64[N];
int gLPS[N][4] ;
alpha=pow(Pmin/Pmax,1.0/(N-1));
sum=0.5;
for(i=0; i<N; i++){
prob64[i]=Pmax*pow(alpha,i);
next_state_MPS_64[i]=(i==N-1)?N-1:i+1;
q=prob64[i]*alpha+(1-alpha);
q=q/prob64[i];
q=-log(q)/log(alpha);
sum+=q;
k=(int)(sum);
sum-=k;
next_state_LPS_64[i]=(i-k<0)?O:i-k;
for(j=0; j<4; j++){
RTAB[i][j]=(int)(ONE/8*prob64[i]/log((j+5.0)/(j+4.0))+0.5);
if(j == 0 && RTAB[i][j] > ONE/4)
RTAB[i][j]=ONE/4;
}
}
(a)p(LPS) <-- p(LPS)*alpha、MPSが観察される場合
(b)p(LPS) <--p(LPS)*alpha+(1−alpha)、その他の場合
ここで、alphaは、適応レートを定める。alphaは、通常、0.9から1の範囲であるが、所望の適応に基づいて他の範囲内へ広がってもよく、又は他の範囲内にあってもよい。
Encoder:
void start_encode() {
encode_slice_header();
while (!byte_aligned)
send_bit(0);
R=0x1fe;
L=O;
BO=0;
FB=1;
}
void finish_encode() {
R=2;
renorm_encode();
bit_plus_follow((L >> 9) & 1);
send_bit((L >> 8) & 1);
send_bit(1); // stop_bit
while (!byte_aligned())
send_bit(0); // alignment_bit
}
voidbit_plus_follow(int b) {
if (FB == 1)
FB = 0;
else
send_bit(b);
while (BO > 0) {
BO--;
send_bit(!b);
}
}
void encode_renorm() {
while (!(R&0x100) {
if (L+R < 0x200)
bit_plus_follow(0);
else if (L >= 0x200) {
bit_plus_follow(1);
L -= 0x200;
}
else {
BO++;
L -= 0x100;
}
R <<= 1;
L <<= 1;
}
}
void encode_event(intctx, int b) {
rLPS = table[state[ctx]][(R>>6)-4];
R -= rLPS;
if (b == MPS[state[ctx]])
state[ctx] = next_state_MPS[state[ctx]];
else {
L += R;
R = rLPS;
if (state[ctx] == 0)
MPS[state[ctx]] = !MPS[state[ctx]];
state[ctx] = next_state_LPS[state[ctx]];
}
encode_renorm();
}
voidencode_equiprob_event(int b) {
L <<= 1;
if (b)
L+=R;
if (L+R < 0x400)
bit_plus_follow(0);
else if (L >= 0x400) {
bit_plus_follow(1);
L -= 0x400;
}
else {
BO++;
L -= 0x200;
}
}
voidencode_end_of_slice_flag(int b) {
if (b == O) {
R-=2;
L+=2;
encode_renorm();
}
}
Decoder (bytebased):
void start_decode() {
decode_slice_header();
while (!byte_aligned())
get_bit();
R = 0xff80;
V = get_byte() << 8;
V |= get_byte();
B = 7;
}
void finish_decode() {
while (more_bytes_in_slice())
get_byte(); // stuffing byte
}
void decode_renorm() {
while (R<0x8000) {
R <<= 1;
V <<= 1;
B--;
if (B<0) {
B= 7;
V |= get_byte();
}
}
}
int decode_equiprob() {
V = (V<<1);
B--;
if (B<0) {
V |= get_byte();
B = 7;
}
if (V >= R) {
V -= R;
bit = 1;
}
else
bit = 0;
return bit;
}
int decode_event(intctx) {
rLPS =table[state[ctx]][(R>>13)-4]<<7;
R -= rLPS;
if (V < R) {
state[ctx] = next_state_MPS[state[ctx]];
bit = MPS[state[ctx]];
}
else {
bit = !MPS[state[ctx]];
V -= R;
R = rLPS;
if (state[ctx] == 0)
MPS[state[ctx]] = !MPS[state[ctx]];
state[ctx] = next_state_LPS[state[ctx]];
}
decode_renorm();
return bit;
}
intdecode_end_of_slice_flag() {
if (V < 0x100)
bit = 1;
else {
bit = 0;
R-=0x100;
V-=0x100;
decode_renorm();
}
return bit;
}
Alternative byte-basedend of slice decoding for use when the MPS/LPS convention is switched(MPS/LPSの規定が切り替えられるときに使用される、代替のバイトベースのスライス終了ラグの復号)
intdecode_end_of_slice_flag(){
R -= 0x100;
if (V >= R)
bit = 1;
else {
bit = 0
decode_renorm();
}
return bit;
}
Decoder (bit based):
void start_decode() {
decode_slice_header();
while (!byte_aligned())
get_bit();
R = 0x1fe;
V = 0;
for (i=0; i<9; i++)
V = (V<<1) | get_bit();
}
void finish_decode() {
while (!byte_aligned())
get_bit(); // alignement bit
while (more_bytes_in_slice())
get_byte(); // stuffing byte
}
int decode_renorm() {
while (R<0x100) {
R <<= 1;
V = (V<<1)|get_bit();
}
}
int decode_equiprob() {
V = (V<<1) | get_bit();
if (V >= R) {
V -=R;
bit = 1;
}
else
bit = 0;
return bit;
}
int decode_event(intctx) {
rLPS = table[state[ctx]][(R>>6)-4];
R -= rLPS;
if (V < R) {
state[ctx] = next_state_MPS[state[ctx]];
bit = MPS[state[ctx]];
}
else {
bit = !MPS[state[ctx]];
V -= R; R = rLPS;
if (state[ctx] == 0)
MPS[state[ctx]] = !MPS[state[ctx]];
state[ctx] = next_state_LPS[state[ctx]];
}
decode_renorm();
return bit;
}
intdecode_end_of_slice_flag() {
if (V < 2)
bit = 1;
else {
bit = 0;
R-=2;
V-=2;
decode_renorm();
}
return bit;
}
Alternative bit-basedend_of_slice flag decoding for use when the MPS/LPS convention is switched(MPS/LPSの規定が切り替えられるときに使用される、代替のビットベースのスライス終了フラグの復号)
intdecode_end_of_slice_flag(){
R -= 2;
if (V >= R)
bit = 1
else {
bit = 0;
decode_renorm();
}
return bit;
}
void start_encode() {
send_NAL_first_byte();
encode_slice_header();
while (!byte_aligned())
send_bit(0);
R = 0x1fe; // range
L = 0; // low
BO = 0; // bits outstanding
C = 0; // event counter
FB = 1; // first bit flag
}
void finish_encode() {
bit_plus_follow((L >> 9) & 1);
for (i=8; i>=1; i--)
send_bit((L >> i) & 1);
send_bit(1); // stop_bit
while (!byte_aligned())
send_bit(0); // alignment bit
RBSP_to_EBSP();
S = min_bytes(C,number_of_macroblocks_in_slice);
while (S > bytes_in_NAL_unit())
send_three_bytes(Ox000003); // write bytesdirectly into
NAL unit
}
voidbit_plus_follow(int b) {
if (FB == 1)
FB = 0;
else
send_bit(b);
while (BO > 0) {
BO--;
send_bit(!b);
}
}
void encode_renorm() {
while (!(R&0x100) {
if (L+R < 0x200)
bit_plus_follow(0);
else if (L >= 0x200) {
bit_plus_follow(1);
L -= 0x200;
}
else {
BO++;
L -= 0x100;
}
R <<= 1;
L <<= 1;
}
}
void encode_event(intctx, int b) {
rLPS = table[state[ctx]][(R>>6)-4];
R -= rLPS;
if (b == MPS[state[ctx]])
state[ctx] = next_state_MPS[state[ctx]];
else {
L += R;
R = rLPS;
if (state[ctx] == 0)
MPS[state[ctx]] = !MPS[state[ctx]];
state[ctx] = next_state_LPS[state[ctx]];
}
encode_renorm();
C++;
}
voidencode_equiprob_event(int b) {
L <<= 1;
if (b)
L += R;
if (L+R < 0x400)
bit_plus_follow(0);
else if (L >= 0x400) {
bit_plus_follow(1);
L -= 0x400;
}
else {
BO++;
L -= 0x200;
}
C++;
}
voidencode_end_of_slice_flag(int b) {
if (b == 0) {
R-=2;
L+=2;
encode_renorm();
}
}
Claims (23)
- イベントシーケンスのイベントに対してコンテクスト識別子を生成するシーケンサと、
LPSの値及びLPSの確率推定値を決定する確率推定器と、
LPSのレンジに値を割り当てるレンジレジスタを含む復号エンジンと、
を備え、
前記コンテクスト識別子がインデックスに等しくない場合に、前記値は、前記確率推定値と、前記レンジレジスタに記憶された値と、前記LPSのレンジへの前記コンテクスト識別子とに基づくものであり、前記コンテクスト識別子が前記インデックスに等しい場合に、前記値は、前記レンジレジスタに記憶された値に基づかないものであり、
前記復号エンジンは、更に、前記LPSのレンジの前記値と、情報シーケンスからのビットとに基づいて、2進イベントの値を決定する、
算術デコーダ。 - 前記復号エンジンは、前記コンテクスト識別子が前記インデックスに等しく、且つ、LPSが復号されている場合に、復号を停止する、請求項1に記載の算術デコーダ。
- 非算術符号化データが、前記情報シーケンスにおいて前記算術符号化データに続く、請求項2に記載の算術デコーダ。
- 前記インデックスは、スライス終了インジケータを表す、請求項2に記載の算術デコーダ。
- 前記復号エンジンは、値レジスタを含んでおり、前記コンテクスト識別子が前記インデックスに等しいときに、前記値レジスタの値が前記LPSレンジに割り当てられた数値未満である場合には、第1の状態においてイベントを生成し、前記値レジスタの値が前記数値以上である場合には、第2の状態においてイベントを生成することによって、前記値レジスタの値に基づいてイベントを復号する、請求項1に記載の算術デコーダ。
- 前記復号エンジンは、前記値レジスタの値が前記数値以上であるときにのみ、前記イベントの復号に応答して再正規化を実行する、請求項5に記載の算術デコーダ。
- 前記復号エンジンは、値レジスタを含んでおり、前記コンテクスト識別子が前記インデックスに等しいときに、前記LPSレンジに割り当てられた値を前記レンジレジスタから最初に減算することによって前記イベントを復号し、
前記イベントは、前記値レジスタの値が前記レンジレジスタの値以上である場合には第1の状態において生成され、前記値レジスタの値が前記レンジレジスタの値未満である場合には第2の状態において生成される、請求項1に記載の算術デコーダ。 - 前記復号エンジンは、前記値レジスタの値が前記レンジレジスタの値以上であるときのみ、前記イベントの復号に応答して再正規化を実行する、請求項7に記載の算術デコーダ。
- 前記コンテクスト識別子が前記インデックスに等しい場合に、前記LPSのレンジに割り当てられる値は2である、請求項7に記載の算術デコーダ。
- 前記コンテクスト識別子が前記インデックスに等しい場合に、前記LPSのレンジに指定される値は100Hexである、請求項8に記載の算術デコーダ。
- 前記コンテクスト識別子が前記インデックスに等しい場合に、前記LPSのレンジに指定される値は2であり、
前記復号エンジンによって復号される2進イベントを含むビットストリームにおいて読み取られる最後のビットは、1に等しい、
請求項7に記載の算術デコーダ。 - イベントシーケンスの2進イベントに対してコンテクスト識別子を生成するステップと、
LPSの値及びLPSの確率推定値を決定するステップと、
LPSのレンジに値を割り当てるステップであって、前記コンテクスト識別子がインデックスに等しくない場合に、当該値は、前記確率推定値と、前記レンジレジスタに記憶された値と、前記LPSのレンジへの前記コンテクスト識別子とに基づいており、前記コンテクスト識別子が前記インデックスに等しい場合に、当該値は、前記レンジレジスタに記憶された値に基づかなくなっている、ステップと、
前記LPSのレンジの前記値と、情報シーケンスからのビットとに基づいて2進イベントの値を決定するステップと、
を含む復号方法。 - 前記コンテクスト識別子が前記インデックスに等しく、且つ、LPSが復号されている場合に、復号を停止するステップを更に含む、請求項12に記載の方法。
- 非算術符号化データが、前記情報シーケンスにおいて算術符号化データに続く、請求項12に記載の方法。
- 前記インデックスは、スライス終了インジケータを表す、請求項12に記載の方法。
- 前記LPSのレンジの前記値と、情報シーケンスからのビットとに基づいて2進イベントの値を決定する前記ステップは、前記コンテクスト識別子が前記インデックスに等しいときに、値レジスタの値が前記LPSレンジに指定された値未満である場合には第1の状態においてイベントを生成し、前記値レジスタの値が前記数値以上である場合には第2の状態においてイベントを生成することによって、前記値レジスタの値に基づいてイベントを復号するステップを含む、請求項12に記載の方法。
- 前記値レジスタの値が前記数値以上であるときのみ、前記イベントの復号に応答して再正規化を実行するステップを更に含む、請求項16に記載の方法。
- 前記LPSのレンジの前記値と、情報シーケンスからのビットとに基づいて2進イベントの値を決定する前記ステップは、前記コンテクスト識別子が前記インデックスに等しいときに、前記LPSレンジに指定された値を前記レンジレジスタから最初に減算することによって前記イベントを復号することを含み、
前記イベントは、前記値レジスタの値が前記レンジレジスタの値以上である場合には第1の状態で生成され、前記値レジスタの値が前記レンジレジスタの値未満である場合には第2の状態で生成される、
請求項12に記載の方法。 - 前記値レジスタの値が前記レンジレジスタの値以上であるときにのみ、前記イベントの復号に応答して再正規化を実行するステップを更に含む、請求項18に記載の方法。
- 前記コンテクスト識別子が前記インデックスに等しい場合に、前記LPSのレンジに割り当てられる値は2である、請求項18に記載の方法。
- 前記コンテクスト識別子が前記インデックスに等しい場合に、前記LPSのレンジに割り当てられる値は100Hexである、請求項19に記載の方法。
- 前記コンテクスト識別子が前記インデックスに等しい場合に、前記LPSのレンジに指割り当てられる値は2であり、
前記復号エンジンによって復号される2進イベントを含むビットストリームにおいて読み取られる最後のビットは、1に等しい、
請求項19に記載の方法。 - 命令を記憶する一つ以上の記録可能な媒体を有し、システムによって実行されたときに、当該命令が当該システムにデータを復号させる、製造品であって、
2進イベントに対してコンテクスト識別子を生成し、
LPSの値及びLPSの確率推定値を決定し、
LPSのレンジに値を割り当て、当該該値は、前記コンテクスト識別子がインデックスに等しくない場合には、前記確率推定値と、前記レンジレジスタに記憶された値と、前記LPSのレンジへの前記コンテクスト識別子とに基づいており、当該値は、前記コンテクスト識別子が前記インデックスに等しい場合には前記レンジレジスタに記憶された値に基づかなくなっており、
前記LPSのレンジの前記値と、情報シーケンスからのビットとに基づいて2進イベントの値を決定する、
製造品。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41224502P | 2002-09-20 | 2002-09-20 | |
US60/412,245 | 2002-09-20 | ||
US41599902P | 2002-10-04 | 2002-10-04 | |
US60/415,999 | 2002-10-04 | ||
US10/665,638 US6825782B2 (en) | 2002-09-20 | 2003-09-18 | Method and apparatus for arithmetic coding and termination |
US10/666,687 | 2003-09-18 | ||
US10/666,687 US6850175B1 (en) | 2003-09-18 | 2003-09-18 | Method and apparatus for arithmetic coding |
US10/665,638 | 2003-09-18 | ||
US10/666,798 US6906647B2 (en) | 2002-09-20 | 2003-09-18 | Method and apparatus for arithmetic coding, including probability estimation state table creation |
US10/666,798 | 2003-09-18 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009089108A Division JP2009207156A (ja) | 2002-09-20 | 2009-04-01 | 算術符号化方法及び算術符号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012100273A true JP2012100273A (ja) | 2012-05-24 |
JP5122677B2 JP5122677B2 (ja) | 2013-01-16 |
Family
ID=32034482
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004568951A Expired - Lifetime JP4391425B2 (ja) | 2002-09-20 | 2003-09-19 | 算術符号化方法及び算術符号化装置 |
JP2009089108A Pending JP2009207156A (ja) | 2002-09-20 | 2009-04-01 | 算術符号化方法及び算術符号化装置 |
JP2011248692A Expired - Lifetime JP5138805B2 (ja) | 2002-09-20 | 2011-11-14 | 算術符号化方法及び算術符号化装置 |
JP2011248684A Expired - Lifetime JP5122677B2 (ja) | 2002-09-20 | 2011-11-14 | 算術符号化方法及び算術符号化装置 |
JP2012235859A Expired - Lifetime JP5390004B2 (ja) | 2002-09-20 | 2012-10-25 | 確率推定のための状態マシンを生成する方法、算術エンコーダ、算術デコーダ、及び、復号方法 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004568951A Expired - Lifetime JP4391425B2 (ja) | 2002-09-20 | 2003-09-19 | 算術符号化方法及び算術符号化装置 |
JP2009089108A Pending JP2009207156A (ja) | 2002-09-20 | 2009-04-01 | 算術符号化方法及び算術符号化装置 |
JP2011248692A Expired - Lifetime JP5138805B2 (ja) | 2002-09-20 | 2011-11-14 | 算術符号化方法及び算術符号化装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012235859A Expired - Lifetime JP5390004B2 (ja) | 2002-09-20 | 2012-10-25 | 確率推定のための状態マシンを生成する方法、算術エンコーダ、算術デコーダ、及び、復号方法 |
Country Status (8)
Country | Link |
---|---|
EP (5) | EP3079261B1 (ja) |
JP (5) | JP4391425B2 (ja) |
CN (5) | CN105356887B (ja) |
AU (1) | AU2003299010A1 (ja) |
DK (3) | DK3468045T3 (ja) |
ES (3) | ES2586409T3 (ja) |
PT (3) | PT3468045T (ja) |
WO (1) | WO2004028165A2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8170359B2 (en) | 2006-11-28 | 2012-05-01 | Panasonic Corporation | Encoding device and encoding method |
US7839312B2 (en) | 2006-11-30 | 2010-11-23 | Panasonic Corporation | Coder |
JP2009177447A (ja) * | 2008-01-24 | 2009-08-06 | Panasonic Corp | 動画像送受信システム |
EP2315358A1 (en) | 2009-10-09 | 2011-04-27 | Thomson Licensing | Method and device for arithmetic encoding or arithmetic decoding |
JP5961189B2 (ja) * | 2011-01-14 | 2016-08-02 | 株式会社Nttドコモ | 算術符号化及び終了のための方法及び装置 |
WO2012134421A1 (en) * | 2011-03-31 | 2012-10-04 | Thomson Licensing | Techniques for context-adaptive binary data arithmetic coding (cabac) decoding |
US20130279597A1 (en) * | 2012-04-24 | 2013-10-24 | Magnum Semiconductor, Inc. | Apparatuses and methods for bitstream bitstuffing |
EP2915258A4 (en) * | 2012-10-31 | 2016-06-22 | CORRECTION OF COMBINED BLOCK-SYMBOL ERRORS | |
US20150312571A1 (en) * | 2012-11-29 | 2015-10-29 | Lg Electronics Inc. | Method and device for encoding/ decoding image supporting plurality of layers |
GB2513110A (en) * | 2013-04-08 | 2014-10-22 | Sony Corp | Data encoding and decoding |
JP6426212B2 (ja) | 2014-06-29 | 2018-11-21 | エルジー エレクトロニクス インコーポレイティド | 制限されたキャリー演算による算術コーディングを遂行するための方法及び装置 |
WO2016003131A1 (ko) | 2014-06-29 | 2016-01-07 | 엘지전자(주) | 연결된 rom-ram 테이블에 기초하여 산술 코딩을 수행하는 방법 및 장치 |
CN105472371B (zh) * | 2016-01-13 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 视频码流处理方法和装置 |
EP3602798A1 (en) * | 2017-03-23 | 2020-02-05 | INTEL Corporation | Flexible information block size support for polar code |
CN115623212A (zh) * | 2018-05-10 | 2023-01-17 | 夏普株式会社 | 对比特流进行子划分区间的方法和电子装置 |
CN109672923B (zh) * | 2018-12-17 | 2021-07-02 | 龙迅半导体(合肥)股份有限公司 | 一种数据处理方法和装置 |
GB2585042A (en) * | 2019-06-25 | 2020-12-30 | Sony Corp | Image data encoding and decoding |
CN117579081B (zh) * | 2023-11-23 | 2024-06-21 | 哈尔滨工程大学 | 一种二进制数据无损压缩方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05341955A (ja) * | 1992-06-12 | 1993-12-24 | Fujitsu Ltd | データ圧縮および復元方式 |
JPH09130810A (ja) * | 1995-08-31 | 1997-05-16 | Mitsubishi Electric Corp | 符号化・復号化装置及び符号化・復号化方法 |
JPH09148941A (ja) * | 1995-11-24 | 1997-06-06 | Matsushita Graphic Commun Syst Inc | 算術符号化・復号化装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2100202T3 (es) * | 1991-08-28 | 1997-06-16 | Alcatel Bell Nv | Disposicion codificadora. |
JP2891818B2 (ja) * | 1992-04-22 | 1999-05-17 | 三菱電機株式会社 | 符号化装置 |
KR100261254B1 (ko) * | 1997-04-02 | 2000-07-01 | 윤종용 | 비트율 조절이 가능한 오디오 데이터 부호화/복호화방법 및 장치 |
KR100335611B1 (ko) * | 1997-11-20 | 2002-10-09 | 삼성전자 주식회사 | 비트율 조절이 가능한 스테레오 오디오 부호화/복호화 방법 및 장치 |
GB2333412B (en) * | 1998-01-20 | 2002-05-15 | Daewoo Electronics Co Ltd | Context-based arithmetic encoding/decoding apparatus |
CN1174634C (zh) * | 1998-01-26 | 2004-11-03 | 株式会社大宇电子 | 基于上下文的算术编码/解码方法及装置 |
JP3391251B2 (ja) * | 1998-03-25 | 2003-03-31 | 三菱電機株式会社 | 適応確率推定方法及び適応符号化方法並びに適応復号方法 |
JP4570250B2 (ja) * | 1998-05-27 | 2010-10-27 | マイクロソフト コーポレーション | 信号の量子化変換係数をエントロピーエンコードするシステムと方法 |
US6289129B1 (en) * | 1998-06-19 | 2001-09-11 | Motorola, Inc. | Video rate buffer for use with push dataflow |
US6195026B1 (en) * | 1998-09-14 | 2001-02-27 | Intel Corporation | MMX optimized data packing methodology for zero run length and variable length entropy encoding |
JP3185769B2 (ja) * | 1998-10-26 | 2001-07-11 | 日本電気株式会社 | 画像信号処理装置 |
KR100326157B1 (ko) * | 1998-12-31 | 2002-07-03 | 윤종용 | 통신시스템에서반복디코더에대한양자화방법 |
FI106758B (fi) * | 1999-04-16 | 2001-03-30 | Nokia Networks Oy | Segmentointimekanismi lohkoenkooderia varten |
KR100612003B1 (ko) * | 2000-02-26 | 2006-08-11 | 삼성전자주식회사 | 통신망에서 비트 스트림 송수신 장치 및 그 방법 |
JP2002094386A (ja) * | 2000-09-12 | 2002-03-29 | Mitsubishi Electric Corp | 符号化装置、復号装置、符号化方法および復号方法 |
-
2003
- 2003-09-19 PT PT182091819T patent/PT3468045T/pt unknown
- 2003-09-19 EP EP16156283.0A patent/EP3079261B1/en not_active Expired - Lifetime
- 2003-09-19 DK DK18209181.9T patent/DK3468045T3/da active
- 2003-09-19 AU AU2003299010A patent/AU2003299010A1/en not_active Abandoned
- 2003-09-19 WO PCT/US2003/029690 patent/WO2004028165A2/en active Application Filing
- 2003-09-19 ES ES03756844.1T patent/ES2586409T3/es not_active Expired - Lifetime
- 2003-09-19 CN CN201510726145.4A patent/CN105356887B/zh not_active Expired - Lifetime
- 2003-09-19 CN CN038195208A patent/CN1675842B/zh not_active Expired - Lifetime
- 2003-09-19 CN CN201310053178.8A patent/CN103152054B/zh not_active Expired - Lifetime
- 2003-09-19 ES ES16156283T patent/ES2721055T3/es not_active Expired - Lifetime
- 2003-09-19 DK DK16156283.0T patent/DK3079261T3/en active
- 2003-09-19 PT PT16156283T patent/PT3079261T/pt unknown
- 2003-09-19 ES ES18209181T patent/ES2915662T3/es not_active Expired - Lifetime
- 2003-09-19 EP EP18209148.8A patent/EP3468043A1/en not_active Ceased
- 2003-09-19 JP JP2004568951A patent/JP4391425B2/ja not_active Expired - Lifetime
- 2003-09-19 DK DK03756844.1T patent/DK1540962T3/en active
- 2003-09-19 EP EP18209181.9A patent/EP3468045B1/en not_active Expired - Lifetime
- 2003-09-19 CN CN201510725612.1A patent/CN105306067B/zh not_active Expired - Lifetime
- 2003-09-19 PT PT37568441T patent/PT1540962T/pt unknown
- 2003-09-19 EP EP18209165.2A patent/EP3468044A1/en not_active Ceased
- 2003-09-19 CN CN201510726072.9A patent/CN105406873B/zh not_active Expired - Lifetime
- 2003-09-19 EP EP03756844.1A patent/EP1540962B1/en not_active Expired - Lifetime
-
2009
- 2009-04-01 JP JP2009089108A patent/JP2009207156A/ja active Pending
-
2011
- 2011-11-14 JP JP2011248692A patent/JP5138805B2/ja not_active Expired - Lifetime
- 2011-11-14 JP JP2011248684A patent/JP5122677B2/ja not_active Expired - Lifetime
-
2012
- 2012-10-25 JP JP2012235859A patent/JP5390004B2/ja not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05341955A (ja) * | 1992-06-12 | 1993-12-24 | Fujitsu Ltd | データ圧縮および復元方式 |
JPH09130810A (ja) * | 1995-08-31 | 1997-05-16 | Mitsubishi Electric Corp | 符号化・復号化装置及び符号化・復号化方法 |
JPH09148941A (ja) * | 1995-11-24 | 1997-06-06 | Matsushita Graphic Commun Syst Inc | 算術符号化・復号化装置 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5390004B2 (ja) | 確率推定のための状態マシンを生成する方法、算術エンコーダ、算術デコーダ、及び、復号方法 | |
US7183951B2 (en) | Method and apparatus for arithmetic coding and termination | |
US6967601B2 (en) | Method and apparatus for arithmetic coding, including probability estimation state table creation | |
US7839311B2 (en) | Architecture for multi-stage decoding of a CABAC bitstream | |
JP4179640B2 (ja) | 情報信号の算術符号化及び復号 | |
US6850175B1 (en) | Method and apparatus for arithmetic coding | |
EP1504408B1 (en) | System and method for arithmetic encoding |
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: 20121023 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121024 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151102 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5122677 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |