KR950013404B1 - 부호전송장치 - Google Patents

부호전송장치 Download PDF

Info

Publication number
KR950013404B1
KR950013404B1 KR1019920005436A KR920005436A KR950013404B1 KR 950013404 B1 KR950013404 B1 KR 950013404B1 KR 1019920005436 A KR1019920005436 A KR 1019920005436A KR 920005436 A KR920005436 A KR 920005436A KR 950013404 B1 KR950013404 B1 KR 950013404B1
Authority
KR
South Korea
Prior art keywords
bit
code
carry
bits
register
Prior art date
Application number
KR1019920005436A
Other languages
English (en)
Other versions
KR930011451A (ko
Inventor
도모히로 기무라
후미따까 오모
마사유끼 요시다
시게노리 기노
Original Assignee
미쯔비시덴끼 가부시끼가이샤
시기 모리야
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
Priority claimed from JP3300486A external-priority patent/JP2783019B2/ja
Application filed by 미쯔비시덴끼 가부시끼가이샤, 시기 모리야 filed Critical 미쯔비시덴끼 가부시끼가이샤
Publication of KR930011451A publication Critical patent/KR930011451A/ko
Application granted granted Critical
Publication of KR950013404B1 publication Critical patent/KR950013404B1/ko

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Abstract

내용 없음.

Description

부호전송장치
제 1 도는 본 발명을 도시한 1실시예의 부호전송장치의 기능 블록도.
제 2 도는 제 1 도에 도시한 1회 2비트 삽입 방식에 의한 캐리송신 제어수단의 처리 흐름도.
제 3 도는 제 1 도에 도시한 1회 2비트 삽입 방식에 의한 캐리수신 제어수단의 처리 흐름도.
제 4 도는 본 발명을 도시한 다른 1실시예의 부호전송장치의 기능 블록도.
제 5 도는 제 4 도에 도시한 1회 2비트 삽입 방식에 의한 산술 부호기의 1회 2비트 삽입 방식에 의한 산술 부호화 수단과 1회 2비트 삽입 방식에 의한 산술 복호기의 1회 2비트 삽입 방식에 의한 산술 복호수단의 흐름도.
제 6 도는 제 4 도에 도시한 산술 부호기의 β버퍼의 구성도.
제 7 도는 제 5 도에 도시한 1회 2비트 삽입 방식에 의한 부호화 개시시의 초기화 INITENC의 처리 흐름도.
제 8 도는 제 32 도에 도시한 1회 2비트 삽입 방식에 의한 산술부호의 출력 처리 BYTEOUT의 처리 흐름도.
제 9 도는 제 8 도에 도시한 1회 2비트 삽입 방식에 의한 8비트 출력 처리 SHIP9의 처리 흐름도.
제 10 도는 제 8 도에 도시한 1회 2비트 삽입 방식에 의한 6 또는 8비트 출력 처리 SHIP60R8의 처리 흐름도.
제 11 도는 제 9 도, 제 10 도, 제 14 도, 제 15 도에 도시한 1회 2비트 삽입 방식에 의한 B버러 갱신 처리 NEXTBYTE의 처리 흐름도.
제 12 도는 제 5 도에 도시한 1회 2비트 삽입 방식에 의한 부호화 후처리 FLUSH의 처리 흐름도.
제 13 도는 제 12 도에 도시한 1회 2비트 삽입 방식에 의한 산술 부호의 최종 출력 처리 FINALBYTES의 처리 흐름도.
제 14 도는 제 13 도에 도시한 1회 2비트 삽입 방식에 의한 8비트 스위프 아웃 처리 FLUSH8의 처리 흐름도.
제 15 도는 제 13 도에 도시한 1회 2비트 삽입 방식에 의한 6 또는 8비트 스위프 아웃 처리 FLUSH60R8의 처리 흐름도.
제 16 도는 제 4 도에 도시한 산술 복호기의 β버퍼의 구성도.
제 17 도는 제 5 도에 도시한 1회 2비트 삽입 방식에 의한 복호개시시의 초기화 INITDEC의 처리 흐름도.
제 18 도는 제 44 도에 도시한 1회 2비트 삽입 방식에 의한 산술 부호의 입력 처리 BYTEIN의 처리 흐름도.
제 19 도는 제 18 도에 도시한 1회 2비트 삽입 방식에 의한 B버퍼 갱신처리 GETBYTE의 처리 흐름도.
제 20 도는 종래예의 부호전송장치의 기능 블럭도.
제 21 도는 제 20 도에 도시한 산술 부호화 수단의 처리 흐름도.
제 22 도는 제 20 도에 도시한 매회 1비트 삽입 방식에 의한 캐리 송신 제어 수단의 처리 흐름도.
제 23 도는 제 20 도에 도시한 매회 1비트 삽입 방식에 의한 캐리 수신 제어 수단의 처리 흐름도.
제 24 도는 제 20 도에 도시한 산술 복호화 수단의 처리 흐름도.
제 25 도는 종래예의 부호전송장치의 기능 블럭도.
제 26 도는 제 25 도에 도시한 매회 1비트 삽입 방식에 의한 산술 부호기의 매회 1비트 삽입 방식에 의한 산술 부호화 수단과 매회 1비트 삽입 방식에 의한 산술 복호기의 매회 1비트 삽입 방식에 의한 산술 복호 수단의 흐름도.
제 27 도는 제 25 도에 도시한 산술 부호기의 C레지스터, A레지스터의 구성도.
제 28 도는 제 26 도에 도시한 매회 1비트 삽입 방식에 의한 부호화 개시시의 초기화 INITENC의 처리 흐름도.
제 29 도는 제 26 도에 부호화의 실처리 ENCODE의 처리 흐름도.
제 30 도는 제 29 도에 도시한 입력값=1의 처리 CODEYN1의 처리 흐름도.
제 31 도는 제 29 도에 도시한 입력값=0의 처리 CODEYT0의 처리 흐름도.
제 32 도는 제 30 도, 제 31 도에 도시한 부호화의 정규화 처리 RENORME의 처리 흐름도.
제 33 도는 제 32 도에 도시한 매회 1비트 삽입 방식에 의한 산술 부호의 출력 처리 BYTEOUT의 처리 흐름도.
제 34 도는 제 33 도에 도시한 매회 1비트 삽입 방식에 의한 8비트 출력 처리 SHIP8의 처리 흐름도.
제 35 도는 제 33 도에 매회 1비트 삽입 방식에 의한 7비트 출력 처리 SHIP7의 처리 흐름도.
제 36 도는 제 34 도, 제 35 도, 제 39 도 제 40 도에 도시한 매회 1비트 삽입 방식에 의한 B버퍼 갱신처리 NEXTBYTE의 처리 흐름도.
제 37 도는 제 26 도에 도시한 매회 1비트 삽입 방식에 의한 부호화 후처리 FLUSH의 처리 흐름도.
제 38 도는 제 37 도에 도시한 매회 1비트 삽입 방식에 의한 산술 부호의 최종 출력 처리 FINABYTES의 처리 흐름도.
제 39 도는 제 38 도에 도시한 매회 1비트 삽입 방식에 의한 8비트 스위프 아웃 처리 FLUSH8의 처리 흐름도.
제 40 도는 제 38 도에 도시한 매회 1비트 삽입 방식에 의한 7비트 스위프 아웃 처리 FLUSH7의 처리 흐름도.
제 41 도는 제 25 도에 도시한 산술 복호기의 C레지스터, A레지스터의 구성도.
제 42 도는 제 26 에 도시한 매회 1비트 삽입 방식에 의한 복호 개시시의 초기화 INITDEC의 처리 흐름도.
제 43 도는 제 26 도에 도시한 복호의 실처리 DECODE의 처리 흐름도.
제 44 도는 제 43 도에 도시한 복호의 정류화 처리 RENORMD의 처리 흐름도.
제 45 도는 제 44 도에 도시한 매회 1비트 삽입 방식에 의한 산술 부호의 입력 처리 BYTEIN의 처리 흐름도.
제 46 도는 제 45 도에 도시한 매회 1 비트 삽입 방식에 의한 B버퍼 갱신 처리 GETBYTE의 처리 흐름도.
* 도면의 주요부분에 대한 부호의 설명
(1) : 입력측의 모델 확률 발생기
(2a) : 매회 1 비트 삽입 방식에 의한 산술 부호기
(2b) : 1회 2비트 삽입 방식에 의한 산술 부호기
(3a) : 매회 1비트 삽입 방식에 의한 산술 복호기
(3b) : 1회 2비트 삽입 방식에 의한 산숙 복호기
(4) : 출력측의 모델 확률 발생기
(5a) : 매회 1비트 삽입 방식에 의한 산술 부호화 수단
(5b) : 1회 2비트 삽입 방식에 의한 산술 부호화 수단
(6a) : 매회 1비트 삽입 방식에 의한 산술 복호 수단
(6b) : 1회 2비트 삽입 방식에 의한 산술 복호 수단
(10) : 입력 데이터 (11) : 입력값 YN
(12) : 예측값 MPS (13) : 비예측값 LPS
(14) : LPS 영역폭 Qe
(15a) : 매회 1비트 삽입 방식에 의한 캐리 제어 신호를 포함한 산술 부호
(15b) : 1회 2비트 삽입 방식에 의한 캐리 제어 신호를 포함한 산술 부호
(16) : 출력값 YN (17) : 예측값 MPS
(18) : 비예측값 LPS (19) : LPS 영역폭 Qe
(20) : 출력데이타 (30) : C레지스터값(부호 레지스터)
(31) : Cx레지스터값(비트 0∼11) (32) : Cs레지스터값(12∼15)
(33) : Cb레지스터값(비트 16∼23) (34) : Cf레지스터 값(비트 24~31)
(35) : A레지스터값 (유효 영역폭)
(36) : B버퍼값(버퍼 포인터가 지시하는 바이트)
(37) : 버퍼 포인터 BP(산술부호 버퍼 저장 장소의 지정)
(38) : 후리처(FLUSH)용 카운터값CT (39) : β버퍼값
(40) : βt버퍼값(비트 0∼7) (41) : βi버퍼값(비츠 8∼23)
(42) : βh버퍼값(비트 24~31 ; =버퍼))
(50) : C레지스터값(부호 레지스터)
(51) Cf레지스터값(비트 0∼7) (52) : Cn레지스터값(비트 8∼15)
(53) : Cx레지스터값(비트 16∼31) (54) : A레지스터값(유효 영역폭)
(55) : B버퍼값(버퍼 포인터가 지시하는 바이트)
(56) : 버퍼 포인트 BP(산술부호 버퍼 저장 장소의 지정)
(57) : β버퍼값 (58) : βt버퍼값(비트 0∼7)
(59) : βi버퍼값(비트 8∼23) (60) : βh버값 (비트 24∼31)
(100a) : 매회 1비트 삽입 방식에 의한 캐리 제어 신호
(100b) : 1회 2비트 삽입 방식에 의한 캐리 제어 신호
(101) : 산술부호화 수단
(102) : 1회 2비트 삽입 방식에 의한 캐리 송신 제어 수단
(103) : 1회 2비트 삽입 방식에 의한 캐리 송신 제어 수단
(104) : 산술 부호화 수단
(110) : 정보원으로부터 부호화 대상 심볼 계열
(120) : 부호 출력 (130) : 캐리 발생 신호
(140) : 부호 계열 (150) : 복호 입력
(160) : 제어 비트 검출 신호 (170) : 복호와 심볼 계열
본 발명은 산술 부호화의 연산시에 발생하는 캐리(CARRY)의 전파 자리수를 캐리 제어 신호를 삽입하는 것에 의해 제어하여 산술 부호를 전송하는 부호전송장치에 관한 것이다.
데이터의 압축 신장의 한가지 방법으로 산술 부호화가 알려져 있다. 일반적으로 산술 부호화에서는 0이상 1미만의 수직선상에 유효 영역을 마련해서 입력 데이터 계열의 출현 확률비로 분활하고, 새로운 계열에 대한 유효 영역을 할당해서 갱신하는 조작이 반복된다.
[종래예 1]
예를 들면, 일본국 특허출원 평성 1-178632에 기재된 종래의 부호전송장치(수신계는 유추에 의한다)는 제 20 도와 같이, 산술 부호화 수단(101)은 정보원으로부터의 부호화 대상 심볼 계열(110)을 산술 부호화하여 부호 출력(120)과 캐리 발생 신호(130)을 송출한다. 매회 1비트 삽입 방식에 의한 캐리 송신 제어 수단(102a)는 부호출력(120)과 캐리 발생 신호(130)을 감시하고 하위 자리수로부터의 캐리 전파를 매회 1비트 삽입 방식에 의해 제어하여 계열(140a)를 전송로로 송신한다. 매회 1비트 삽입 방식에 의한 캐리 수신 제어 수단(103a)는 전송로에서 수신하는 매회 1비트 삽입의 부호 계열(140a)를 감시하고 하위 자리수로부터의 캐리의 유무를 검출하여 복호 입력(150)과 제어 비트 검출 신호(160)을 송출한다. 산술 부호화 수단(104)는 복호 입력(150)과 제어 비트 검출 신호(160)에 의해 산술 부호화하고 복호화 심볼 계열(170)을 생성함과 동시에 상위 자리수로의 캐리를 전파한다.
상기 종래예의 부호전송장치는 산술 부호를 전송하는 부호 계열(140a)에서 일정한 1런 길이 (부호 비트 1의 연속수)마다 1비트 캐리제어신호 "0"을 매회 삽입하는 전송 제어 방식(매회 1비트 삽입 방식)을 채택한다. 단, 캐리 제어신호가 캐리를 흡수한 경우에는 비트 "1"로 된다.
산술 부호화 수단(101)은 제 21 도와 같이, 먼저 부호화 대상 심볼 계열(110)의 각 심볼을 부호화할 때마다 확률 수직선상의 유효 영역폭 A(영역 레지스터에 저장하는 2진 소수값)을 열세 심볼(예를들면1)의 영역폭 A(1)과 우세심볼(예를들면 0)의 영역폭 A(0)으로 출현 확률비로 분할한다. 여기에서, A(1)의 열세심볼의 출현 확률을 예를 들면, 2의 누승의 역수로 근사해서 구하고, A(0)은 A에서 A(1)을 감산해서 구한다(이상, 스텝 S101), 다음에 해당 심볼 SY가 우세일 때는 현행의 유효영역 하한값 CR(부호화 레지스터에 저장하는 2진 소수값)을 A(1)과의 가산값으로 갱신하고, A를 A(0)으로 갱신한다. SY가 열세일때는 CR을 현행값 그대로 하고, A를 A(1)로 갱신한다(이상, 스텝 S102QS104). 또 A≤1/2(확대 유효 영역폭 1의 1/2)로 되면, A≥1/2로 될 때까지 부호화 레지스터와 함께 영역 레지스터를 왼쪽 논리시프트 조작 SLL에서 정규화한다. 부호화 레지스터에 의해 스위프 아웃된 최상의 비트를 부호 비트 C로 하는 부호출력(120)과 하위 자리수에서 부호화 레지스터의 최상의 비트를 초과해서 전파하는 캐리의 유무를 비트 CRY로 하는 캐리 발생 신호(130)을 송출한다. 캐리가 있을 때(CRY=1)의 캐리 발생신호(130)을 송출할 수 있는 것은 정규화 최초뿐이며, 이때 해당 C를 항상 0으로 하기 위해 부호화 레지스터 길이는 영역 레지스터 길이보다 크게 한다(이상, 스텝 S105∼S107), 또 이상의 스텝을 부호화 대상 심볼 계열(110)의 최종 비트까지 반복한다(스텝 108).
매회 1비트 삽입 방식에 의한 캐리 송신 제어 수단(102a)는 제 22 도에 도시한 바와 같이, 먼저 부호 출력(120)의 부호비트 C와 캐리 발생 신호(130)의 비트 CRY를 감시하고, 전송로에 송신이 종료된 1런 길이 j와 송신 대기중인 부호 출력(120)의 1런 길이를 계수하고, 하위 자리수로부터의 캐리의 유무를 판단한다(이상, 스텝 S201,S202). 다음에 캐리가 있을 때에는 캐리 전파 허용자리수 m으로 해서 j<m-1이면 k+1 비트의 캐리 반전 비트 패턴 10…0을 전송로로 송신한다. 여기에서 k=0이면 j에 1을 가산하고 k≠0이면 j를 리세트한다(부호 비트 0에서 1런이 종료한다). j-m-1이면 k+2비트의 캐리 반전 비트 패턴 100…0을 전송로로 송신한다(선두 비트 1에서 j=m으로 되므로, 직후에 1비트의 캐리제어 신호 "0"을 삽입한다). 여기에서, k의 값에 관계없이 j를 리세트한다. 그리고 k도 리세트하고, 해당 C=0을 다음에 대기하는 비트 패턴 01…1의 선두 비트로 한다(이상, 스텝 S204a S205∼S208,S209aS211). 또, 캐리가 없을 때는 C=1에서 k에 1을 가산해서 k=m으로 되면, m+1비트의 캐리반전 없이 비트 패턴 01…1을 전송로로 송신한다. 여기에서 j를 m으로 하고, k를 리세트한다. 이때, 송신된 캐리 반전없이 비트 패턴의 직후에는 1비트의 캐리제어신호 "0"을 삽입하지만, 해당 제어 비트 0을 다음에 대기하는 비트 패턴 01…1의 선두 비트로 한다.
C-1에서 k에 1을 가산해도 k≠이면 송신을 대기한다. C=0이면, k+1비트의 캐리 반전 없이 비트 패턴 01…1을 전송로로 송신한다. 여기에서 j를 k로 하고 k를 리세트한다. 해당 C=0을 다음에 대기하는 비트 패턴 01…1의 선두 비트로 한다(이상, 스텝 S212, S214, S215a, S216a, S219a).
또, 이상의 스텝을 산술 부호화 수단(101)로부터의 부호출력(120)의 최종 비트까지 반복한다(스텝 S222).
매회 1비트 삽입 방식에 의한 캐리 수신 제어 수단(103a)는 제 23 도와 같이, 먼저 전송로로부터의 수신이 종료한 부호 계열(140a)에서 수신 비트 D를 감시하고 계수한 1런 길이 h를 판단한다(스텝S301a), 다음에 h〈m일 때는 D=1이면 h에 1을 가산하고, 제어 비트 검출 신호의 비트 DET를 0으로 한다. D=0이면 h를 리세트 하고 DET를 0으로 한다(이상, 스텝 S302∼S304). 또 h=m일 때는 h를 리세트하고, 해당 D를 캐리제어신호 "0"이나 1로 간주하고, DET를 1로 한다(스텝 S307a). 상기 D를 복호 비트로 하는 복호 입력(150)과 상기 DET를 비트로 하는 제어 비트 검출 신호(160)을 송출한다(스텝 S308).
또, 이상의 스텝을 전송로로부터의 부호 계열(140a)의 최종 비트까지 반복한다(스텝 S309), 산술 부호화 수단(104)는 제 24 도에 도시한 바와 같이, 먼저 부호화 대상 심볼계열(110)의 각 심볼에 복호화할 때마다 산술부호화 수단(101)과 동일한 과정으로 A를 A(0)과 A(1)로 분할한다(스텝 S401). 다음에 복호입력(150)에서 해당 복호 비트 D의 상위 복수 자리수 DR(복호화 레지스터에 저장하는 2진 소수값)이 A(1)이상일때는 우세심볼 복호화하고 DR을 A(1)과의 감산값으로 갱신하고 A를 A(0)으로 갱신한다. DR이 A(1)미만일 때는 열세심볼로 복호화하고, DR을 현행값 그대로 하며, A를 A(1)로 생긴한다(스텝 S402∼S404).
또, A≤1/2로 되면 A≥1/2로 될 때까지, 복호화 레지스터와 함게 영역 레지스터를 왼쪽 논리 시프트 조작 SLL에 의해 정규화한다. 복호화 레지스터의 최하위 비트로써 복호입력(150)의 해당 복호신호 비트 D를 폐치한다. 동시에 제어 비트 검출 신호(160)의 해당 비트 DET=1일 때는 시프트 조작을 실행하지 않고 상위 자리수로 캐리 전파한다(스텝 S405∼S410), 또 이상의 스텝을 복호 입력(150)의 최종 비트의 처리가 종료할 때까지 반복한다(스텝 S411).
[종래예 2]
예를 들면, " J.L.Mitdhell, W, B, Pennebaker : “Software implemen tations of the Q-coder”, IBM journal of Research and Development, VOL. 32 No. 60 pp. 753∼774,1988"에 기재된 산술 부호화(-H가 붙는 흐름도. 이하, -H가 붙는 흐름도에 대해서 설명한다)에서는 산술 부호는 유효 영역내의 소수로 표시되고, 유효 영역 하한값의 죄표로써 부여하고 있다.
상기 논문에 의하면, 산술 보호화의 부호화 및 복호는 다음과 같은 연산에 의해 진행된다. C는 산술 부호의 값, A는 유효영역의 폭, Qe는 출현 확률(q로 한다)이 낮은 싱볼(상기 논문에서는 심볼값=데이타값)인 LPS(이것에 대해서 출현 확률 P가 높은 심볼을 MPS라 한다)의 영역폭이며, 유효 영역 A를 분할한 LPS 영역은 MPS 영역보다 수직선 하위에 위치시키는 것으로 한다.
(부호의 순서)
if MPS를 부호화
C←C+Qe
A←A-Qe
else(LPS를 부호화)
A←Qe
(부호순서)
if C≥Qe
MPS로 복호
C←C-Qe
A←A-Qe
else
LPS로 복호
A←Qe
end
여기에서, LPS의 영역폭 Qe는 유효 영역폭 A와 LPS의 출현확률 q의 곱으로서 구해지지만, 출현 확률 q가 취할 수 있는 0이상 0.5미만의 범위를 몇 개의 확률 상태로 분할하고, 출현확률 q가 속하는 확률 상태마다 LPS의 영역폭 Qe를 고정(예를 들면, 2의 누승의 역수로 근사한다)하는 것에 의해 연산 부하를 줄이고, 나머지 영역 A-Qe를 MPS 영역에 할당하는 수법을 채택한다. LPS의 영역폭 Qe는 확률 상태를 인덱스로 해서 테이블을 참조하는 것에 의해 얻어진다.
또, 연산에 의해 갱신된 유효 영역폭 A가 어떤 값 Amin(통상은 0.5, 상기 논문에서는 동일 무게를 0.75로 본다)보다 작게 되었을 때에 정규화(Renormalize)를 실행한다. 정규화라 함은 Amin보다 작게 된 유효 영역 A를 Amin보다 크게 될 때까지 산술 부호 C와 함께 2배씩 확대해 가는 것이다. 정규화에 의해 2배로 할 때마다 1비트의 산술 부호를 출력하게 된다.
정규화에 의해 유효 영역 A는 항상 0.5이상 1미만(상기 논문에서는 0.75이상 1.5미만)으로 수정되고, LPS의 영역폭 Qe(Qe〈Amin)을 고정해도 항상 할당된MPS 영역을 확보하여 MPS 영역이 없어지지 않도록 한다. 연산이 실행되는 레지스터에서 유지할 수 없는 자리수는 버려지지만, 한정된 유효자리수에서의 연산의 오차는 정규화를 실행하는 것에 의해서 보다 작게 억제할 수 있다.
예를 들면, 상기 논문에 개시된 종래예의 부호전송장치는 제 25 도와 같이 입력측의 모델 활률 발생기(1)은 정보원으로부터의 입력 데이터(10)의 입력에 대해서 입력값 YN(11), 입력값 YN(11)의 출현에 대한 예측값 MPS (12) 및 비예측값 LPS(13) (예측값 MPS (12)의 반전값)의 영역폭(또는 그 근사값 Qe(14)를 출력한다. 매회 1비트 삽입 방식에 대한 산술 부호기(2a)는 입력측의 모델 확률 발생기(1)의 출력하는 입력값 YN(11), 예측값 MPS(12) 및 LPS 영역폭 Qe(14)의 입력에 대해서 산술 부호화에 대한 산술 부호(15a)에 바이트 X'FF'(16진 표기, 이하 16진수는 X'값으로 표기하기로 한다)가 출현할 때마다 하위로부터의 캐리의 유무를 나타내는 삽입 방식에 의해서 송출한다.
매회 1비트 삽입 방식에 의한 산술 복호기(3a)는 매회 1비트 삽입 방식에 의한 산술 부호기(2a)에서 송출된 산술 부호(15a) 및 복호할 출력값 YN(16)에 대한 예측값 MPS(17)가 LPS 영역폭 Qe(19)의 입력에 대해서 캐리 제어 신호 (100a)를 검출하고 처리해서 폐치된 산술부호(15a)를 산술 복호한 출력값 YN(16)을 출력한다. 출력측의 모델 확률 발생기(4)는 복호되는 출력값 YN(16)에 대해서, 출력값 YN(16)이 출현에 대한 예측값 MPS(17)과 비예측된 LPS(18)(예측값 MPS(17)의 반전값)의 영역폭(또는 그 건사값 Qe(19)를 출력하고, 출력값 YN(16)을 얻는 것에 의해 출력 데이터(20)을 출력한다
상기 종래예의 부호전송장치는 전송되는 산술 부호중에 바이트 X' FF'가 출현할 때마다 그 직후의 바이트의 최상위 비트에 1비트의 캐리 제어 신호로써 비트" 0"을 삽입하여 산술 연산시에 하위에서 발생하는 캐리를 상위로 전파시키지 않도록 흡수시키는 전송 제어방식(매회 1비트 삽입 방식)을 채택한다. 단, 캐리 제어 신호가 캐리를 흡수한 경우에는 비트 "1"로 된다.
입력측의 모델 확률 발생기(1)은 제 25 도와 같이 입력 데이터(10)의 입력에 대해서 입력값 YN(11), RM 입력값 YN(11)의 출현에 대한 예측값 MPS(12) 및 예측값 LPS(13)의 영역폭 Qe(14)를 산술 부호기(2a)로 출력한다. 산술 부호기(2a)에서 정규화가 실행되었을 때 비예측값 LPS(13)의 확률 상태를 천이시켜 LPS 영역폭 Qe(14)를 갱신한다.
매회 1비트 삽입 방식에 대한 산술 부호기(2a)는 제 26 도와 같이, 부호화를 매회 1비트 삽입 방식의 의한 산술 부호화 수단(5a)로 나타내는 흐름도에 따라서 실행한다. INIRENC는 부호화 개시시의 초기화를 실행하는 것이다. MPS, Qe, YN의 획득은 입력측의 모델 확률 발생기(1)에서 3개의 파라미터(입력값 YN(11), 예측값 MPS(12), LPS 영역폭 Qe(14))를 받아들이는 것에 의해 실현된다. ENCODE는 받아들인 파라미터를 사용해서 부호화의 실처리를 실행하는 것이다. MPS,Qe,YN의 획득 및 ENCODE 는 파리미터의 입력이 종료할 때까지 반복된다. FUSH는 파라미터의 입력 모두 종료한 후에 부호화의 후처리를 실행하는 것이다.
매회 1비트 삽입방식에 의한 산술 부호기(2a)의 C레지스터(20)은 제 27 도와 같이, 32비트의 레지스터로 구성되어 있다. C레지스터(30)에 있어서 소수점은 비트 11과 12사이에 취해지고, 비트 0∼11을 Cx레지스터(31), 비트 12∼15를 Cs레지스터(32), 비트 16∼32을 Cb레지스터(33), 비트 24∼31을 Cf레지스트(34)로 분할해서 나타내기로 한다. LPS 영역폭 Qe(14)는 Cx레지스터(31)과 같은 정밀도로 Cx레지스터부(31)에 가산된다. 산술부호(15a)로서는 Cb레지스터(33) 또는 비트 17∼24의 내용이 산술 부호 버퍼로 출력된다. Cf레지스터(34)는 산술 부호 버퍼로 출력 타이밍을 나타내는데 사용되고, 출력 플래그가 세트되고 C레지스터(30)의 최상위 비트5까지 시프트 되었을 때 1바이트분의 산술 부호(15a)가 축적되고, 산술 부호 버퍼(B버퍼(36))으로 라이트가 가능하게 된 것을 나타낸다. A레지스터(35)는 제 27 도와 같이, 16비트의 레지스터로 구성되고, Cx레지스터(31)과 소수점을 대응시키서 LPS 영역폭 Qe(14)와의 연산이 실행된다.
매회 1비트 삽입방식에 의한 산술 부호화 수단(15A)에서의 부호화 처리를 흐름도에 따라서 설명한다. 먼저, 흐름도중에서 사용되는 변수 정수를 나타낸다.
C C레지스터값(부호 레지스터) ∼30
Cx Cx레지스터값(비트 0∼11) ∼31
Cs Cs레지스터값(비트 12∼15) ∼32
Cb Cb레지스터값(비트 16∼23) ∼33
Cf Cf레지스터값(비트 24∼31) ∼34
A A레지스터값(유효 영역폭) ∼35
YN 입력값 ∼11
MPS 예측값 ∼12
LPS 비예측값 ∼13
Qe LPS 영역폭 ∼14
B B버퍼값, 버퍼 포인터가 지시하는 바이트 ∼36
BP 버퍼 포인터(산술부호 버퍼 저장 장소의 지정) ∼37
CT 후처리(FLUSH)용 카운터값 ∼38
Amin 유효 영역 최소값(정규화 실행 조건용)
BPST 산술 부호 버퍼 선두 어드레스
LEN 버퍼 용량(단위 : 바이트)
BE 버퍼 종료 어드레스
부호화 개시시의 초기화인 INITENC는 제 28 도와 같이, 먼저 테이블의 세트업과 기억장치의 초기화를 실행한다. 그리고, 산술 부호 버퍼의 확보 설정을 실행한다. 버퍼 포인터 BP(37)은 버퍼 선두 어드레스 BPST보다 하나 전을 지시하고, 그 내용인 B버퍼(36)에는 특별한 의미를 갖는 바이트 X'FF'가 아닌 값으로써 바이트 X'80'를 세트한다. A레지스터935)에는 초기값으로써 유효 영역 최소값을 세트한다. Amin에는 유효영역 최소값을 세트하고, Amin에 대해서는 부호화 처리중에 변경은 없다. C레지스터(30)에는 Cf레지스터(31)(소수점)이하이므로, 비트 11이 Cb레지스터(33)의 최상의 비트(비트 23)에 도달했을 때 최초의 출력이 실행되므로 출력 플래그는 Cb레지스터(33) 내부(비트 20)에 세트된다.
부호화의 실처리인 ENCODE 는 제 29 도와 같이, 입력측의 모델확률 발생기(1)에서 얻어진 입력값 YN(11)이 1이면 CODEYN1, 0이면 CODEYN0을 실행한다.
입력값 YN(11)의 처리인 CODEYN1은 제 30 도와 같이 예측값 MPS(12)가 1이면, A레지스터값(35)에서 LPS 영역폭 Qe(14)를 빼고, C레지스터값(30)에 LPS 영역폭 Qe(14)를 더해서 갱신한다. 갱신된 A레지스터값(35)가 유효 영역 최소값 Amin보다도 작을 때에는 정규화 처리 RENORME를 실행한다. 예측값 MPS(12)가 0이면 A레지스터값(35)를 LPS 영역폭 Qe(14)로 갱신하고, C레지스터값(30)은 갱신하지 않고 정규화 처리 RENORME를 실행한다.
입력값 YN(11)=0의 처리인 CODEYN0은 제 31 도와 같이, 예측값 MPS (12)가 0이면, A레지스터값(35)에서 LPS 영역폭 Qe(14)를 빼고, C레지스터값(30)에 LPS 영역폭 Qe(14)를 더해서 갱신한다. 갱신된 A레지스터값(35)가 유효 영역 최소값 Amin보다도 작을 때에는 정규화 처리 RENORME를 실행한다. 예측값 MPS(12)가 1이면 A레지스터값(35)를 LPS 영역폭 Qe(14)로 갱신하고, C레지스터값(30)은 갱신하지 않고 정규화 처리 RENORME를 실행한다.
부호화의 정규화 처리인 RENORME는 제 32 도와 같이, A레지스터값(35)를 1비트 왼쪽으로 시프트(SLL : Shift Left Logical) 시켜서 2배의 승산을 실현하고 있다. C레지스터값(30)이 부인 경우 출력 플래그가 시프트 조작에 의해 최상위 비트로 세트된 것을 나타내고, 1바이트의 산술 부호(15a)가 출력 가능하게 된 것을 의미한다. 그래서, C레지스터(30)을 1비트 왼쪽으로 시프트시킨 후에 산술 부호 (15a)를 B버퍼(36)으로 출력하는 출력 처리 BYTEOUT를 실행한다. 부가 아니면 C레지스터(30)을 1비트 왼쪽으로만 시프트시키고 1바이트의 산술 부호(15a)가 출력 가능하게 되는 것을 기다린다. 또, A레지스터값(35)가 유효 영역 최소값 Amin보다도 작을 때에는 C레지스터(30), A레지스터(35)의 양쪽에 대해서 A레지스터값(35)가 유효영역 최소값 Amin 이상으로 될 때까지 왼쪽 시프트 조작을 반복한다. 그리고, 정규화 처리 종료시에 입력측의 모델 확률 발생기(1)이 출력하는 LPS 영역폭 Qe(14)를 다음의 확률 상태에서 취할 LPS 영역폭 Qe(14)로 갱신시킨다.
산술부호(15a)의 출력처리인 BYTEOUT는 제 33 도와 같이, B버퍼값(36)이 바이트 X'FF'이면 7비트 출력 처리 SHIP7을 실행한다. 바이트 X'FF'가 아니고 C레지스터값(30)이 바이트 X'FFFFFF'보다 큰 경우에는 캐리를 B버퍼(36)으로 전파시킨다. C레지스터값(30)이 X'FFFFFF'보다 큰 경우라 함은 LPS 영역폭 Qe(14)의 가산에 의해 Cs레지스터(32), Cb레지스터(33)을 거쳐서 캐리가 Cf레지스터(34)의 최하위 비트(캐리 비트)까지 전파했을 때이다. 이 결과 B버퍼값(36)이 바이트 X'FF'로 되면 C레지스터값(30)의 캐리 비트(B버퍼(36)으로 전파 종료)를 클리어해서 7비트 출력처리 SHIP7을 실행한다. B버퍼값(36)이 바이트 X'FF'가 아니면 8비트 출력 처리 SHIP8을 실행한다. 최초에 B버퍼값(36)이 바이트 X'FF'가 아니고 C레지스터값(30)이 X'F FFFFF'보다 크지 않으면, 8비트 출력 처리 SHIP8을 실행한다.
8비트 출력 처리 SHIP8은 제 34 도와 같이, 먼저 B버퍼(36)의 갱신처리 NEXTBYTE를 실행한다. C레지스터값(30)을 16비트 오른쪽으로 시프트(SRL : Shift Right Logical)시킨값, 즉 Cb레지스터부(33)(비트(16∼23)을 B버퍼(36)으로 출력한다. C레지스터값(30)의 출력 종료 또는 불필요한 비트(비트 16∼31)을 클리어하고, 남은 비트의 최상의 비트(비트15)가 정규화에 의해 Cb레지스터(33)의 최상위 비트(비트 23)에 도달했을 때 BYTEOUT가 실행되도록 출력 플래그를 비트 24에 세트한다.
7비트 출력 처리인 SHIP7은 제 35 도와 같이, 먼저 B버퍼(36)의 갱신처리 NEXTBYTE를 실행한다. C레지스터값(30)을 17비트 오른쪽으로 시프트시킨 값, 즉 Cb레지스터(33)의 상위 7비트(비트 17∼23)과 Cf레지스터(34)의 최하위 비트(비트 24)를 B버퍼(36)으로 출력한다. 출력되는 비트 24는 캐리 제어 신호(100a)로써 삽입되고, 바이트 X'FF'의 직후의 바이트 최상의 비트에 위치 결정된다. C레지스터값(30)의 출력 종료 또는 불필요한 비트(비트 17∼31)을 클리어하고, 남은 비트의 최상위 비트(비트16)이 정규화에 의해 Cb레지스터(33)의 최상위 비트(비트23)에 도달했을 때 BYTEOUT가 실행되도록 출력 플래그를 비트 25에 세트한다.
부호화의 B버퍼(36)의 갱신 처리인 NEXTBYTE는 제 36 도와 같이, 버퍼 포인터 BP(37)을 1진행시켜서 경신하고, 버퍼 포인터 BP(37)이 버퍼 종료 어드레스 BE보다 작지 않으면(동일하면), 산술 부호 버퍼에 축적한 산술 부호(15a)를 전송하고, 버퍼 포인터 BP(37)을 버퍼 선두 어드레스 BPST에 재초기화한다.
부호화의 후처리인 FLUSH는 제 37 도와 같이 후처리용 카운터값 CT(38)을 Cx레지스터부(31), Cs레지스터부(32), Cb레지스터부(33)을 스위프 아웃하기 위한 총비트수 24에 세트한다. 다음에 후처리용 카운터값 CT(38)을 1감산하고, C레지스터값(30)이 부, 즉 최상위 비트에 출력 플래그가 위치한 경우에는 C레지스터(30)을 1비트 왼쪽으로 시프트시킨 후에 산술 부호(15a)의 최종출력 처리 FINALBYTES를 실행한다. C레지스터값(30)이 정, 즉 1바이트의 산술 부호(15a)가 출력 가능하지 않은 경우에는 C레지스터(30)을 1비트 왼쪽으로만 시프트시키고, 후처리용 카운터값 CT(38)의 감산처리부터 반복한다.
산술 부호(15a)의 최종 출력 처리인 FINALBYTES는 제 38 도와 같이, B버퍼(36) 바이트 X'FF'이면 7비트 스위프 아웃처리 FLUSH7을 실행한다. 바이트 X'FF'가 아니고 C레지스터값(30)이 X'FFFFFF'보다 큰 경우에는 캐리를 B버퍼(36)으로 전파시킨다. C레지스터값(30)이 X'FFFFFF'보다 큰 경우라 함은 LPS 영역폭 Qe(14)의 가산에 의해 Cs레지스터(32), Cb레지스터(33)을 거쳐서 캐리가 Cf레지스터(34)의 최하위 비트(캐리비트)까지 전파하고 있었을 때이다. 이 결과 B버퍼(36)이 바이트 X'FF'로 되면, 캐리비트를 클리어해서 7비트 스위프 아웃 처리 FLUSH7을 실행한다. B버퍼(36)이 바이트 X'FF'가 아니면 8비트 스위프 아웃 처리 FLUSH8을 실행한다. 최초에 B버퍼값(36)이 바이트 X'FF'가 아니고 C레지스터값(30)이 X'FFFFFF'보다 크지 않으면, 8비트 스위프 아웃 처리 FLUSH8을 실행한다. 8비트 스위프 아웃처리 FLUSH8 또는 7비트 스위프 아웃처리 FLUSH7을 실행한 후에 후처리용 카운터값 CT(38)이 정이면 최초의 버퍼 포인터 BP(37)을 1진행시킨다. 또한, 산술 부호(15a)가 바이트 경계에서 종료하지 않을 때 바이트 경계까지 비트 "0"이 부가된다. 그리고 버퍼 선두 어드레스 BEST에서 축적하고 있는 BP-BEST 바이트의 산술 부호(15a)를 전송해서 부호화 처리를 종료한다.
8비트 스위프 아웃 처리 FLUSH8은 제 39 도와 같이, 먼저 B버퍼(36)의 갱신처리 NEXTBYTE를 실행한다. C레지스터값(30)을 16비트 오른쪽으로 시프트시킨 값, 즉 Cb레지스터(33)(비트(16∼23)을 B버퍼(36)으로 출력한다. C레지스터값(30)의 출력 종료 또는 불필요한 비트(비트 16∼31)을 클리어하고, 남은 비트의 최상위 비트(비트(15))가 Cb레지스터(33)의 최상위 비트(비트 (23))에 도달하도록 C레지스터(30)을 8비트 왼쪽으로 시프트시킴과 동시에 후처리용 카운터값 CT(38)에서 8을 뺀다.
7비트 스위프 아웃 처리인 FLUSH7은 제 40 도와 같이, 먼저 B버퍼(36)의 갱신처리 NEXTBYTE를 실행한다. C레지스터값(30)을 17비트 오른쪽으로 시프트시킨 값, 즉 Cb레지스터(33)의 상위 7비트(비트 17∼23)과 Cf레지스터(34)의 최하위 비트(비트 24)를 B버퍼(36)으로 출력한다. 출력되는 비트 24는 캐리 제어 신호(100a)로써 삽입되고, 바이트 X'FF'의 직후의 바이트의 최상위 비트에 위치 결정된다. C레지스터값(30)의 출력 종료 또는 불필요한 비트(비트 17∼31)을 클리어하고, 남은 비트의 최상위 비트(비트16)의 Cb레지스터(33)의 최상위 비트(비트23)에 도달하도록 C레지스터(30)을 7비트 왼쪽으로 시프트시킴과 동시에 후처리용 카운터 CT(38)에서 7을 뺀다.
매회 1비트 삽입 방식에 의한 산술 복호기(3a)는 제 26 도와 같이, 복호를 매회 1비트 삽입 방식에 의한 산술 복호 수단(6a)로 나타내는 흐름에도 따라서 실행한다, INITDEC는 복호 개시시의 초기화를 실행하는 것이다. MPS, Qe의 획득은 출력축의 모델 확률 발생기(4)에서 2개의 파라미터(예측값 MPS(17), LPS 영역폭 Qe(19)를 받아들이는 것에 의해 실현된다. DECODE는 받아들인 산술 부호(15a)와 파라미터에서 복호의 실처리를 실행하고, 출력 파리미터(출력값 YN(16))를 출력하는 것이다. MPS Qe의 획득 및 DECODE는 파라미터의 입출력이 종료할 때까지 반복된다.
매회 1비트의 삽입 방식에 의한 산술 복호기(3a)의 C레지스터(50)은 제 41 도와 같이, 32비트의 레지스터로 구성되어 있다. C레지스터(50)에 있어서, 소수점은 비트 28 사이에 취해지고, 비트 0∼7을 Cf레지스터(51), 비트 8∼15를 Cn레지스터(52), 비트 16∼27(∼비트31)를 Cx레지스터(53)으로 분할해서 나타내기로 한다 LPS 영역폭 QE(19)는 Cx레지스터(53)과 동일 정밀도로 Cx레지스터부(53)에서 감산된다. 산술부호(15a)는 Cn레지스터부(52) 또는 비트 9∼16에 산술부호 버퍼에서 페치된다. Cf레지스터부(51)은 산술부호 버퍼로부터의 입력 타이밍을 나타내는데 사용되고, 입력 플래그가 세트되고, Cn레지스터(52)의 최하위 비트까지 시프트되었을 때에 다음의 1바이트의 산술 부호(15a)의 입력이 필요한 것을 나타낸다. A레지스터(54)는 제 33 도와 같이, 16비트의 레지스터로 구성되고, Cx레지스터(53)과 소수점을 대응시켜서 LPS 영역폭 Qe(19)와의 연산이 실행된다.
매회 1비트 삽입방식에 의한 산술 복호 수단(6a)에서의 복호 처리를 흐름도에 따라서 설명한다. 먼저, 흐름도중에서 사용되는 변수 및 정수를 나타낸다.
C C레지스터값(부호 레지스터) ∼50
Cf Cf레지스터값(비트 0∼17) ∼51
Cn Cn레지스터값(비트 18∼15) ∼52
Cx Cx레지스터값(비트 16∼31) ∼53
A A레지스터값(유효 영역폭) ∼54
YN 출력값 ∼16
MPS 예측값 ∼17
LPS 비예측값 ∼18
Qe LPS 영역폭 ∼19
B B버퍼값, 버퍼 포인터가 지시하는 바이트 ∼55
BP 버퍼 포인터(산술부호 버퍼 저장 장소의 지정) ∼56
Amin 유효 영역 최소값(정규화 실행 조건용)
BPST 산술 부호 버퍼 선두 어드레스
LEN 버퍼 용량(단위 : 바이트)
BE 버퍼 종료 어드레스
복호화 개시시의 초기화인 INITENC는 제 28 도와 같이, 먼저 테이블의 세트업과 기억장치의 초기화를 실행한다. 그리고, 산술 부호버퍼의 확보 설정을 실행한다. 버퍼 포인터 BP(56)은 버퍼 선두 어드레스 BPST를 지시하고, 버퍼에 산술부호(15a)를 받아들인다. A레지스터(54)에 초기값으로써 유효 영역 최소값을 세트한다 Amin에는 유효 영역 최소값을 세트하고 Amin에 대해서는 복호 처리중에 변경은 없다. Cx레지스터부(53)에 산술부호(15a)를 입력하기 위해, 먼저 B버퍼값(55)를 16비트 왼쪽으로 시프트시켜서 페치한다. 다음에, 산술부호(15a)의 입력처리 BYTEN을 실행해서 산술부호(15)를 Cn레지스터부(52)에 페치한후, 또 C레지스터(50)을 4비트 왼쪽으로 시프트하는 것에 의해 Cx레지스터(53)(12비트)를 초기화, 복호화산술 부호(15b)를 Cx레지스터에 설정한다.
복호의 실처리인 DECODE는 제 43 도와 같이, Cx레지스터값(53)이 출력측의 모델 확률 발생기(4)에서 얻어진 LPS 영역폭 Qe(19) 이상이면 출력값 YN(16)을 예측값 MPS(17)로 복호하고, C레지스터값(50), A레지스터값(54)와 함께 LPS 영역폭 Qe(19)를 감산해서 갱신한다. 갱신된 A레지스터값(54)가 유효 영역 최소값 Amin보다도 작을 때에는 정규화 처리 RENORMD를 실행한다. Cx레지스터값(53)이 LPS 영역폭 Qe(19) 미만이면 출력값 YN(16)을 비예측값 LPS(18)로 복호하고, A레지스터값(54)를 LPS 영역폭 Qe(19)로 갱신하고, C레지스터값(50)을 갱신하지 않고 정규화 처리 RENORMD를 실행한다.
복호의 정규화 처리 RENORMD는 제 44 도와 같이 Cf레지스터(51)의 입력 플래그가 Cn레지스터(52)의 최하위 비트로 시프트되고, 바이트 X'00'로 되었으면 산술 부호(15a)의 입력처리인 BYTEIN을 실행한다. 그리고, C레지스터(50), A레지스터(54)를 각각 1비트 왼쪽으로 시프트시킨다. 또, A레지스터값(54)가 유효 영역 최소값 Amin보다도 작을 때에는 Cf레지스터(51)의 내용이 바이트 X'00'인지 아닌지의 판단부터 반복한다. 그리고 정규화 처리 종료시에 출력측의 모델 확률 발생기(4)가 출력하는 LPS 영역폭 Qe(19)를 다음의 확률 상태에서 취할 LPS 영역폭 Qe(19)로 갱신시키다.
산술 부호(15a)의 입력처리인 BYTEIN은 제 45 도와 같이, B버퍼값(55)가 바이트 X'FF'이면, 먼저 B버퍼(55)의 갱신처리리 GETBYTE를 실행하고, 갱신된 B버퍼(55)는 캐리 제어 신호(100a)를 최상위 비트에 갖고 있다. 정규화에 의해, 7비트(캐리제어 신호(100a)는 제외이므로) 시프트 후에 1바이트의 산술 부호(15a)의 입력 처리가 실행하도록 입력 플래그를 Cf레지스터(51)의 비트 1에 세트하고, Cn레지스터(52)를 클리어하고, B버퍼값(55)를 9비트 왼쪽으로 시프트한 값을 C레지스터(50)에 가산하는 것에 의해 입력한다. B버퍼(55)의 최상위 비트인 캐리 제어 신호(100a)는 Cx레지스터(53)의 최하위 비트(비트16)에 그대로 가산되는 것에 의해 흡수한 캐리르 전파시킬 수 있다. B버퍼값(55)가 바이트 X'FF'가 아니면 정규화에 의해 8비트 시프트 후에 산술 부호(15a)의 입력 처리가 실행되도록 입력 플래그를 Cf레지스터(51)의 비트 O에 세트하고 Cn레지스터(52)에 B버퍼값(55)를 그대로 입력한다.
복호의 B버퍼(55)의 갱신 처리인 GETBYTE는 제 46 도와 같이, 버퍼 포인터 BP(56)을 1진행시켜서 갱신하고, 버퍼 포인터 BP(56)이 버퍼 종료 어드레스 BE보다 작지 않으면(동일하다면), 산술 부호 버퍼에 산술부호(15a)를 받아들여서 버퍼 포인터 BP(56)을 버퍼 어드레스 BPST에 재초기화 한다.
출력측의 모델 확률 발생기(4)는 제 25 도와 같이, 복호되는 출력값 YN(16)에 대해서 먼저, 그 출력값 YN(16)의 출현에 대한 예측값 MPS(17)과 비예측값 LPS(18)의 영역폭 Qe(19)를 산술 복호기(3a)로 출력하고, 복호된 출력값 YN(16)을 입력으로써 받아들여 출력 데이터(20)을 출력한다. 산술 복호기(3a)에서 정규화가 실행되었을 때 비예측값 LPS(18)의 확률 상태를 천이시켜 LPS(18)의 영역폭 Qe(19)를 갱신한다.
상기와 같은 종래예 1에 나타난 부호전송장치에 산술부호를 전송하는 부호계열에서 일정한 1런 길이마다 1비트의 캐리제어신호를 매회 삽입하는 전송제어방식(매회 1비트 삽입방식)을 채택하므로, 1런 길이에 비례해서 삽입 비트수가 많아져서 전송하는 총부호 길이가 길어지는 문제점이 있었다.
또, 상기와 같은 종래예 2에 나타난 부호전송장치에서는 산술부호중에 바이트 X'FF'가 출현할 때마다 1비트(이상) 캐리제어신호를 직후의 바이트의 최상의 비트에 매회 삽입하는 전송제어방식(매회 1비트 삽입방식)을 채택하므로, 바이트 X'FF'의 출현횟수에 비례해서 삽입 비트수가 많아져서 전송하는 산술부호의 총부호길이가 길어진다는 문제점이 있었다.
본 발명의 목적은 상기 문제점을 해결하기 위해서 이루어진 것으로, 부호전송장치에서 2비트의 캐리제어 신호를 1회만 삽입하면 되는 전송제어방식(1회 2비트 삽입방식)을 제공하는 것이다.
상기 제 1의 부호전송장치는 상기 과제를 해결하기 위해 다음의 수단을 구비하고, 1회 2비트 삽입방식을 채택하는 것을 특징으로 한다.
산술 부호화수단은 정보원으로부터의 부호화 대상 심볼계열의 각 심볼을 부호화할 때마다 확률 수의 직선상의 유효 영역폭 A(영역 레지스터에 저장된 2진 소수값)을 출력 확률비에 따라 우세심볼(MPS)의 영역폭 A(0)과 열세심볼(LPS)의 영역폭 A(1)로 분할한다. 해당 심볼이 우세심볼(MPS)일 때는 현행의 유효영역폭 A의 하한값 CR(부호화 레지스터 저장된 2진 소수값)을 A(1)과의 가산값으로 갱신하고, A를 A(0)으로 갱신한다. 해당 심볼이 열세심볼(LPS)일 때는 하한값 CR을 현행값 그대로 유지하면서 A를 A(1)로 갱신한다. 이 분할/할당 처리를 부호화대상 심볼계열의 최종 비트까지 반복하고 순차적으로 부호신호와 캐리신호를 송출한다.
1회 2비트 삽입방식에 의한 캐리송신 제어수단은 산술부호와 수단에서 순차 공급된 부호신호와 캐리신호를 감시하고, 적어도 일정한 길이를 갖는 1런의 종료 직후에 1런의 종료를 나타내는 제 1 비트 "0"과 인접자리수로부터의 캐리 유무를 나타내는 제 2 비트 "1"로 이루어지는 2개의 캐리 전파 흡수 제어비트를 삽입하고, 삽입된 캐리 전파 흡수 제어비트를 갖는 부호비트계열을 전송로로 송신한다.
1회 2비트 삽입방식에 의한 캐리수신 제어수단은 전송로로부터의 부호비트계열을 감시하고, 적어도 일전한 길이를 갖는 1런의 종료 직후에 2비트의 캐리 전파 흡수 제어비트 "00"이나 "01"을 검출한다. 그리고 캐리 수신 제어수단은 캐리 전파 흡후 제어비트에 따라서 복호신호와 제어비트 검출신호를 송출한다.
산술복호화수단은 부화화된 심볼계열이 대응 심볼로 복호화될 때마다 신술 부호화수단과 동일한 과정으로 A를 A(0)과 A(1)로 분할한다. 캐리 수신 제어수단에서 공급된 복호비트의 좌측의 상위 여러 자리수 DR(복호화 레지스터에 저장된 2진 소수값)이 A(1) 이상일 때는 부호를 우세심볼(MPS)로 복호화하고, DR을 A(1)과의 감산값으로 갱신하고 A를 A(0)으로 갱신한다. 한편, DR이 A(1) 미만일 때 부호를 열세심볼(LPS)로 복호화하고, DR을 현행값 그대로 유지하면서 A를 A(1)로 갱신한다.
이 분할/할당처리를 복호대상 복호심볼계열의 최종 비트까지 반복하여 복호화 심볼계열을 생성함과 동시에 캐리수신 제어수단으로부터의 제어비트 검출신호에 의해서 캐리를 전파한다.
제 1의 부호전송장치는 상기한 수단에 의해 정보원으로부터의 부호화 대상 심볼계열을 산술 부호화한다. 부호비트 계열내의 적어도 일정한 길이를 갖는 1런의 종료후에 2비트의 캐리 전파 흡수용 제어비트를 1회만 삽입하고 수신된 부호를 감시하는 것에 의해서 인접 자리수로부터의 캐리의 유무를 검출한다. 캐리의 유무에 따라 산술복호화에 의해 복호화 심볼계열을 생성함과 동시에 상위 자리수로부터 캐리를 전파한다.
제 2, 제 3의 부호전송방식은 예를 들면 산술부호중에 적어도 일정수(본 발명의 후술하는 실시예에서는 4바이트= 32비트로 하였다) 이상 연속한 바이트 X'FF' 직후의 바이트 X'FF'이외의 바이트의 상기 2비트에 비트 "00"(단 캐리 제어신호가 캐리를 흡수한 경우에는 비트 "01"로 된다)를 캐리제어신호로서 삽입하는 것에 의해서 캐리가 상위로 전파되지 않도록 흡수하는 전송제어방식을 채택하는 것을 특징으로 하는 것이다. 이 방식을 1회 2비트 삽입방식이라고 한다.
또, 제 2 의 부호전송장치는 다음과 같은 구성으로 되어 있다.
즉, (a) 정보를 부호화하는 부호화수단, (b) 신호를 소정의 전송단위로 전송하는 전송수단, (c) 전송단위의 내용이 소정의 패턴으로 연속해서 전송되는 경우, 소정의 패턴의 연속 종료후에 그 소정의 패턴을 갖는 부호를 제어하는 제어신호를 소정패턴에 부가하는 제어신호 부가수단을 갖는다.
또, 제 3 의 부호전송장치는 다음과 같은 구성으로 되어 있다.
즉 (a) 정보를 부호화하는 부호화수단, (b) 부호화공정에 의해 생성된 부호에서 연속하는 소정의 패턴과 그 종료를 검출하는 검출 수단, (c) 검출수단에 의해 소정의 패턴의 연속 종료가 검출된 경우, 소정의 패턴의 변경을 제어하는 제어부호를 부호에 부가하는 부가수단, (d) 부호화수단에 의해 생성된 부호화 부가 수단에 의해 부가된 제어신호를 출력하는 출력수단을 갖는다.
제 2, 제 3 의 부호전송장치는 상기 구성에서 정보원으로부터의 입력데이타를 산술 부호화하고, 상술한 구조에 따라서 부호화신호를 전송한다. 연속한 소정수 이상의 바이트 X'FF'가 산술부호중에 출현할 때마다 연속한 바이트 직후에 바이트 X'FF'이외의 바이트 상위 2비트에 캐리제어신호를 1회만 삽입한다. 이것에 의해, 전송된 산술부호중의 캐리제어신호에 의해 인접 자리수로부터의 캐리가 유무를 검출하고 캐리가 있으면 상위 자리수로 전파시켜서 산술복호하고 출력데이타를 생성한다.
[실시예 1]
제 1 ∼제 3 의 발명을 나타내는 1실시예의 부호전송장치는 제 1 도와 같이, 산술 부호화수단(101)과 산술 복호화수단(104)가 상기 종래예의 제20 도에 대응하고 있다. 1회 2비트 삽입방식에 의한 캐리 송신 제어수단(102) 산술 부호화수단(101)로부터의 부호출력(120)과 캐리발생신호(130)을 감시하고 인접 자리수로부터의 캐리전파를 1회 2비트 삽입방식에 의해 제어하여 부호계열(140)을 전송로로 송신한다. 1회 2비트 삽입방식에 의한 캐리수신 제어수단(103)은 전송로에서 수신하는 1회 2비트 삽입의 부호계열(140)을 감시하고 인접 자리수로부터의 캐리의 유무를 검출하여 복호입력(150)과 제어비트 검출신호(160)을 송출한다.
상기 실시예의 부호전송장치는 산술부호를 전송하는 부호계열(140)에서 일정한 1런 길이 이상의 1런 종료후에 2비트에 캐리전파흡수용 제어비트를 1회만 삽입하는 전송제어방식(1회 2비트 삽입방식)을 채택한다.
1회 2비트 삽입방식에 의한 캐리송신 제어수단(102)는 제 2 도와 같이 먼저 부호출력(120)의 부호비트 C와 캐리발생신호(130)의 비트 CRY를 감시하고 전송로에 전송이 종료된 1런 길이 j와 송신 대기중인 부호 출력(120)의 1런 길이 k를 계수하고 인접 자리수로부터의 캐리의 유무를 판단한다. (이상, 스텝 S201,S202).
다음에 캐리가 있는 경우, 캐리전파 허용 자리수를 M으로 해서 k〈M일 때는 j〈M-1이면 k+1비트의 캐리반전 비트패턴 10…0을 전송로로 송신한다. 여기에서 k=0이면 j에 1을 가산하고, k0이면 j를 리세트한다(부호비트 0에서 1런이 종료한다). j=M-1이면 k+3비트의 캐리반전 비트패턴 1000 …0을 전송로로 송신한다(선두비트 1에서 j=M으로 되므로 직후에 2비트의 캐리 전파흡수용 제어비트 "00"을 삽입한다). 여기에서 k의 값에 관계없이 j를 리세트한다. k=M(1런 길이 k가 M이상일 때는 k=M으로 한다)일 때는 1런 종료 직후에 2비트의 캐리 전파흡수용 제어비트 01을 전송로로 송신한다. 여기에서 j를 리세트한다. 그리고 k도 리세트하고, 해당 C=0을 다음에 대기하는 비트패턴 01…1의 선두로 한다(이상, 스텝 S203∼S211). 또 캐리가 없는 경우, C=1일 때는 k=M에서 k에 1을 가산해서 k=M으로 되면 M+1비트의 캐리반전 없이 비트패턴 01…1을 전송로로 송신한다. 여기에서 j를 M으로한다. k〈M에서 k에 1을 가산해도 kM이면 송신을 대기한다. k에 1을 가산하지 않고 k=M이면 해당 C=1을 그대로 전송로로 송신한다. C=0일때대는 k〈M이면 k+1비트의 캐리반전 없이 비트피턴 01…1을 전송로로 송신한다. 여기에서 j를 k로 한다. k=M이면 1런 종료 직후에 2비트의 캐리 전파흡수용 제어비트 00을 전송로로 송신한다.
여기에서 j로 리세트한다. k도 리세트하고, 해당 C=0을 다음에 대기하는 비트패턴 01…1의 선두 비트로 한다(이상, 스텝 S212∼221). 또 이상의 스텝을 산술 부호화수단(101)로부터의 부호출력(120)의 최종비트까지 반복한다 (스텝 S222).
1회 2비트 삽입방식에 의한 캐리수신 제어수단 (103)은 제 3 도와 같이 먼저 전송로로부터 수신이 종료된 부호계열(140)에 의해 수신비트 D를 감시하고 계수한 1런 길이 h를 판단한다(스텝 S301) 다음에 h〈M일 때는 D=1이면 h에 1을 가산하고, 제어비트 검출신호의 비트 DET를 0으로 한다(이상, 스텝 S302∼304. 또, h=M(1런 길이 h가 M 이상일 때는 h=M으로 한다)일때는 D=1이면 DET를 0으로 하고, D=0 이면 h를 리세트하고 해당 D=0과 다음의 Dne×t를 캐리 전파 흡수용 제어비트 00 또는 01로 간주하고 D를 Dne×t로 갱신하고,(D=0을 해제하고), DET를 1로 한다(이상, 스텝 S305~307). 상기 D를 복호비트로 하는 복호입력(150)과 상기 DET를 비트로 하는 제어비트 검출신호(160)을 송출한다(스텝 S308). 또 이상의 스텝을 전송로로부터의 부호계열(140)의 최종비트까지 반복한다 (스텝 S309).
또한 상기 실시예에서 1회 2비트 삽입방식에 의한 캐리송신 제어수단(102)와 캐리수신 제어수단(103)은 1런 길이 k와 h가 M보다 크게 될대도 그 값에 관계없이 M지 계수할 수 있으면 캐리 저전파흡수용 제어비트를 삽입할 수 있고, M=2m으로 설정하면 상기 종래예의 카운터폭을 1비트 크게하는 것만으로 구성할 수 있다.
[실시예 2]
상기 실시예 1에서는 제어신호를 1런 종료시점에서 삽입하는 경우를 나타냈지만, 이 실시예 2에서는 제어신호를 바이트단위를 경계로 해서 삽입하는 경우에 대해서 설명한다.
제 2, 제 3 의 발명을 나타내는 1실시예의 부호전송장치는 제 4 도와 같이 입력측의 모델확률 발생기(1)과 출력측의 모델확률발생기(4)는 상기 종래예의 제 25 도에 대응한다. 1화 2비트 삽입방식에 의한 산술부호기(2b)는 입력측의 모델확률 발생기(1)이 출력하는 입력값 YN(11), 예측값 MPS(12) 및 LPS영역폭 Qe(14)의 입력을 사용해서 산술부호(15b)를 생성하고, 그 산술부호(15b)중에 연속한 일정수 이상의 바이트 X'FF'가 출현할 때마다 이후 최초에 출현하는 X'FF'가 아닌 바이트의 상위 2비트 하위로부터의 캐리 유무를 나타내는 캐리제어신호(100b)를 삽입하는 1회 2비트 삽입방식을 실행한다. 1회 2비트 삽입방식에 의한 산술복호기(3b)는 1회 2비트 삽입방식에 의한 산술부호기(2b)에서 송출된 산술부호(15b) 및 복호할 출력값 YN(16)에 대한 예측값 MPS(17)과 LPS 영역폭 Qe(19)의 입력을 사용해서 캐리제어신호(100b)를 검출하고 처리해서 래치된 산술부호(15b)를 산술 복호한 출력값 YN(16)을 출력한다.
상기 실시예의 부호전송장치는 전송되는 산술부호중에 일정수 이상 연속한 바이트 X'FF'가 출현할 때마다 이후 최초에 출현하는 X'FF'가 아닌 바이트이 상위 2비트에 캐리제어신호로서 비트 "00"을 삽입해서 산출 연산시에 하위에서 발생하는 캐리를 상위로 전파시키지 않도록 흡수시키는 전송제어방식(1회 2비트 삽입방식)을 채택한다. 단 캐리제어신호가 캐리를 흡수한 경우에는 비트 "01"로 된다.
1회 2비트 삽입방식에 의한 산술부호기(2b)는 제 5 도와 같이 부호화를 1회 2비트 삽입방식에 의한 산술부호화수단(5b)로 도시되는 흐름에도 따라서 실행한다. INITENC, MPS, Qe, YN의 획득, ENCODE , FLUSH의 기능은 제 26 도에 있어서의 매회 1비트 삽입방식에 의한 산술 부호화수단(5a)에서의 기능과 마찬가지이다.
1회 2비트 삽입방식에 의한 산술부호기(2b)는 C레지스터(30), (Cx레지스터(31), Cs레지스터(32), Cb레지스터(33), Cf레지스터(34))와 A레지스터(35)의 사양은 제 27 도에 있어서의 매회 1비트 삽입방식에 의한 산술부호기(2a)의 레지스터 사양과 동일하다. β버퍼(39)는 제 6 도와 같이 32비트의 레지스터로 구성되어 있다. β버퍼(39)에 있어서, 비트 0∼7을 βt버퍼(40), 비트 8∼23을 βi버퍼(41), 비트 24∼31을 βh버퍼(42), 분할해서 나타내기로 한다. C레지스터(30)에서 송출된 산술부호(15b)(Cb레지스터(33) 또는 비트 18∼25)를 βt버퍼(40)에 받아들이기 전에 8비트 왼쪽으로 시프트해서 축적하고 있던 βh버퍼(42)의 산술부호(15b)를 B버퍼(36)으로 송출한다. β버퍼(39)는 C레지스터(30)에 의해 검출된 캐리를 내부에서 전파시키는 역할이 있으며, βh버퍼(42)는 B버퍼(36)과 오버랩하고 있다.
1회 2비트 삽입방식에 의한 산술 부호화수단(5b)에서의 부호화 처리를 흐름도에 따라서 설명한다. 흐름도중에서 사용되는 변수 및 정수는 β(β버퍼값)을 부가하는 것 이외에는 매회 1비트 삽입방식에 의한 산술부호화수단(5a)에서 사용되는 변수 및 정수와 마찬가지이다.
β β버퍼값 ∼39
βt βt버퍼값 (비트 0∼7) ∼40
βi βi버퍼값 (비트 8∼23) ∼41
βh βh버퍼값 (비트 24∼31 ; =B 버퍼 ∼42
부호화 개시시의 초기확인 INITENC는 제 7 도와 같이 먼저 테이블의 세트 업과 기억장치의 초기화를 실행한다. 그리고 산술부호 버퍼의 확보 설정을 실행한다. 버퍼 포인터 BP(37)은 버퍼 선두 어드레스 BPST보다 1개 전을 가리키고, β버퍼(39)에 특별한 의미를 갖는 X'FFFFFFFF'가 아닌 값으로서 바이트 X'00000080'을 세트한다. Amin에는 유효영역 최소값을 세트하고, Amin에 대해서는 부호화 처리중에 변경은 없다. C레지스터(30)에는 Cf레지스터(34)에 출력 플래그만을 세트한다. 부호화 개시시의 상태에 있어서 출력될 산술부호(15b)는 Cx레지스터(31)(소수점) 이하이므로, 비트 11이 Cb레지스터(33)의 최상위 비트(비트23)에 도달했을 때 최초의 출력이 실행되도록 출력 플래그는 Cb레지스터(33)의 내부 (비트20)에 세트된다.
부호화의 실처리인 ENCODE, 입력값 YN11=1의 처리인 CODEYN1, 입력값 YN11=0의 처리인 CODEYN0, 부호화의 정규화 처리인 RENORME는 각각 제 29 도∼제 32 도와 같이 매회 1비트 삽입방식에 의한 산술 부호화수단(5a)와 마찬가지의 처리를 실행한다.
산술부호(15b)의 출력처리인 BYTEOUT는 제 8 도와 같이 β버퍼값(39)가 X'FFFFFFFF'이면 6또는 8비트 출력 처리 SHIP60R8을 실행한다. X'FFFFFFFF'가 아니고 C레지스터값(30)이 X'FFFFFF'보다 큰 경우에는 캐리를 β버퍼(39)로 전파시킨다. C레지스터값(30)이 X'FFFFFF'보다 큰 경우라함은 LPS 영역폭 Qe(14)의 가산에 의해 Cs레지스터(32), Cb레지스터(33)을 거쳐서 캐리가 Cf레지스터(34)의 최하위 비트 (캐리비트)까지 전파했을 때이다. 이 결과 β버퍼값(39)가 X'FFFFFFFF'로 되면 C레지스터값(30)의 캐리비트(β버퍼(39)로 전파 종료)를 클리어해서 6또는 8비트 출력처리 SHIP60R8을 실행한다. X'FFFFFFFF'가 아니면 8비트 출력처리 SHIP8을 실행한다.
최초로 β버퍼값(39)가 바이트 X'FFFFFFFF'아니고 C값(30)이 X'FFFFFF'보다 크지 않으면 8비트 출력처리 SHIP8을 실행한다.
8비트 출력처리 SHIP8은 제 9 도와 같이 먼저 B버퍼(36)의 갱신처리 NEXTBYTE를 실행한다. C레지스터값(30)을 16비트 오른쪽으로 시스트시킨 값, 즉 Cb레지스터(33)(비트 16∼23)을 βt버퍼(40)으로 출력한다. C레지스터값(30)의 출력종료 또는 불필요한 비트(비트 16~31)을 클리어하고, 남은 비트의 최상위비트(비트15)가 정규화에 의해 Cb레지스터(33)의 최상위 비트(비트23)에 도달했을 때에 BYTEOUT가 실행되도록 출력 플래그를 비트 24에 세트한다.
6 또는 8비트 출력처리 SHIP60R8은 제 10 도와 같이 먼저 B버퍼(36)의 갱신처리 NEXTBYTE를 실행한다. Cb레지스터부값(33)이 바이트 X'FF' 이외의 것이 출력될 때까지 바이트 X'FF'를 βt버퍼값(40)으로 출력한다. 즉, C레지스터값(30)을 16비트 오른쪽으로 시프트시킨값, 즉 Cb레지스터부(33)(비트16~23)을 Bt버퍼(40)으로 출력한다. C레지스터값(30)의 출력종료 또는 불필요한 비트(비트 16∼31)을 클리어하고 남은 비트의 최상위 비트(비트 15)가 정규화에 의해 Cb레지스터(33)의 최상위 비트(비트32)에 도달했을 때에 BYTEOUT가 실행되도록 출력 플래그를 비트 24에 세트한다. Cb레지스터부(33)의 바이트 X'FF'가 아니면 4바이트(이상)의 X'FFFFFFFF'에 이어지는 바이트 X'FF' 이외의 것이 출력되게 된다. 그래서, C레지스터값(30)의 18비트 오른쪽으로 시스트시킨 값, 즉 Cb레지스터부(33)의 상위 6비트(비트 18∼23)과 Cf레지스터(34)의 하위 2비트(비트 24,25 : 이때 비트 25는 항상 비트 "0")을 B버퍼(36)으로 출력한다. 출력되는 비트 24, 25는 캐리제어신호(100b)로서 산술부호(15b)에 삽입되고, β버퍼값(39)인X'FFFFFFFF'(또는 4바이트 이상 계속되고 있는 바이트 X'FF')의 직후의 X'FF' 가 아닌 바이트의 상위 2비트에 위치결정된다. C레지스터값(30)의 출력 종료 또는 불필요한 비트(비트 18∼31)을 클리어하고 남은 비트의 최상위 비트(비트 17)이 정규화에 의해Cb레지스터(33)의 최상위 비트(비트 23)에 도달했을 때에 BYTEOUT가 실행되도록 출력 플래그를 비트 26에 세트한다.
부호화의 B버퍼(36)의 갱신처리 NEXTBYTE는 제 11 도와 같이 β버퍼값(39)를 24비트 오른쪽으로 시프트시킨 값, 즉, βh버퍼값(42)를 B버퍼(36)으로 출력한 후, 버퍼 포인트 BP(37)을 1진행시켜서 갱신하고 β버퍼(39)를 8비트 왼쪽으로 시프트하고, 버퍼 포인트 BP(37)이 버퍼 종료 어드레스 BE보다 작지 않으면 (동일하면) 산술부호 버퍼에 축적된 산술부호(15b)를 전송하고, 버퍼 포인트 BP(37)을 버퍼 선두 어드레스 BPST에 재초기화한다.
부호화 후처리인 FLUSH는 제 12 도와 같이 후처리용 카운터값 CT (38)을 48(Cx레지스터부(31), Cs레지스터부(32), Cb레지스터부(33), βt버퍼부(40), βt버퍼부(41)을 스위치 아웃하기 위한 총비트수)에 세트한다. 다음에 후처리용 카운터값 CT(38)을 1 빼고 C레지스터값(30)이 부(최상위 비트에 출력 플래그가 위치했을 때)가 아니면 C레지스터(30)을 1비트 왼쪽으로 시프트해서 후처리용 카운터값 CT(38)의 감산처리부터 반복한다. C레지스터값(30)이 부이면 C레지스터(30)을 1비트 왼쪽으로 시프트해서 산술부호(15b)의 최종 출력처리 FINALBYTES를 실행한다.
산술부호(15b)의 최종 출력처리 FINALBYTES는 제 13 도와 같이 β버퍼값(39)가 X'FFFFFFFF'이면 6 또는 8비트 스위프 아웃 처리 FLUSH60R8을 실행한다. β버퍼값(39)바이트 X'FFFFFFFF'가 아니고 C레지스터값(30)이 X'FFFFFF'보다 큰 경우에는 캐리를 β버퍼값(39)로 전파시킨다. C레지스터값(30)이 X'FFFFFF'보다 큰 경우라 함은 LPS 영역폭 Qe(14)의 가산에 의해 Cs레지스터부(32) Cb레지스터부(33)을 거쳐서 캐리가 Cf레지스터가(34)의 최하위 비트(캐리비트)까지 전파했을 때이다. 이 결과, β버퍼값(39)가 X'FFFFFFFF'로 C레지스터(30)의 캐리비트(β버퍼값(39)로 전파종료)를 클리어해서 6또는 8비트 스위프 아웃 처리 FLUSH60R8을 실행한다. β버퍼값(39)가 X'FFFFFFFF'가 아니면 8비트 스위프 아웃 처리 FLUSH8을 실행한다. 최초에 β버퍼값(39)바이트 X'FFFFFFFF'가 아니고 C레지스터값(30)이 X'FFFFFF'보다 크지 않으면 8비트 스위프 아웃 처리 FLUSH8을실행한다. 8비트 스위프 아웃 처리 FLUSH8 또는 6또는 8비트 스위프 아웃 처리 FLUSH60R8을 실행한 후에 후처리용 카운터값 CT(38)이 정이면 최초의 β버퍼값(39)의 내용이 X'FFFFFFFF'인지 아닌지 판단부터 반복한다. 후처리용 카운터값 CT(38)이 정이 아니면 β버퍼값(39)를 24비트 오른쪽으로 시프트시킨 값, 즉 βh버퍼값(42) B버퍼(36)으로 출력한 후, 버퍼 포인트 BP(37)을 진행시킨다. 또한 산술부호(15b)가 바이트 경계에서 종료하지 않을 때 바이트 경계까지 비트 "0"이 부가된다, 그리고, 버퍼 선두 어드레스 BPST에서 축적하고 있는 BP-BPST 바이트의 산술부호(15b)를 전송해서 부호화처리를 종료한다.
8비트 스위프 아웃 처리 FLUSH8은 제 14 도와 같이 먼저 B버퍼(36)의 갱신처리 NEXTBYTE를 실행한다. C레지스터값(30)을 16비트 오른쪽으로 시프트시킨값, 즉 Cb레지스터부(33)(비트 16∼23)을 βt버퍼값(40)으로 출력한다.
C레지스터값(30)의 출력종료 또는 불필요한 비트(비트16∼31)을 클리어하고, 남은 비트의 최상위 비트(비트(15)가 Cb레지스터부(33)의 최상위 비트(비트23)에 도달하도록 C레지스터(30)을 8비트 왼쪽으로 시프트시킴과 동시에 후처리용 카운터값 CT(38)에서 8을 뺀다.
6 또는 8비트 스위프 아웃 처리 FLUSH60R8은 제 15 도와 같이 먼저 B버퍼(36)의 갱신처리 NEXTBYTE를 실행한다. Cb레지스터부(33)이 바이트 X'FF'이면 바이트 X'FF' 이외의 것이 출력될 때까지 바이트 X'FF'를 βt버퍼값(40)으로 그대로 출력한다.즉 C레지스터값(30)을 16비트 오른쪽으로 시프트시킨 값, 즉 Cb레지스터부(33)(비트 16∼23)을 βt버퍼(40)으로 출력한다. C레지스터값(30)의 출력종료 또는 불필요한 비트(비트16∼31)을 클리어하고 남은 비트의 최상위 비트(비트 15)가 정규화에 의해 Cb레지스터(33)의 최상위비트(비트 23)에 도달하도록 C레지스터(30)을 8비트 왼쪽으로 시프트시킴과 동시에 후처리용 카운터값 CT(38)에서 8을 뺀다. Cb레지스터부(33)이 바이트 X'FF'가 아니면 4바이트(이상) X'FFFFFFFF'에 이어지는 바이트 X'FF' 이외의 것이 출력되게 된다. 그래서, C레지스터값(30)을 18비트 오른쪽으로 시프트시킨값, 즉 Cb레지스터부(33)의 상위 6비트(비트18∼23)과 Cf레지스터부(34)의 하위 2비트(비트 24, 25 : 이때 비트 25는 항상 비트 "0"을 B버퍼(36)으로 출력한다. 출력되는 비트 24,25는 캐리제어신호(100b)로서 산술부호(15b)에 삽입되고 β버퍼값(39)인 X'FFFFFFFF'(또는 4바이트 이상 계속되고 있는 바이트 X'FF')의 직후의 X'FF'가 아닌 바이트의 상위 2비트에 위치결정된다. C레지스터값(30)의 출력 종료 또는 불필요한 비트(비트18∼31)을 클리어하고, 남은 비트의 최상위 비트(비트17)이 Cb레지스터(33)의 최상위 비트(비트23)에 도달하도록 C레지스터(30)을 6비트 왼쪽으로 시프트시킴과 동시에 후처리용 카운터값 CT(38)에서 6을 뺀다.
1회 2비트 삽입방식에 의한 산술복호기(3b)는 제 5 도와 같이 복호를 1회 2비트 삽입방식에 의한 산술복호수단(6b)로 나타내는 흐름도 따라서 실행한다. INITDEC, MPS, Qe의 획득, DECODE의 기능은 제 26 도에 있어서의 매회 1비트 삽입방식에 의한 산술복호수단(6a)에서 수행하는 기능과 마찬가지이다.
1회 2비트 삽입방식에 의한 산술복호기(3b)의 C레지스터(50)(Cf레지스터(51), Cn레지스터(52), Cs레지스터(53), 과 A레지스터(54)의 사양은 제도에 있어서 매회 1비트 삽입방식에 의한 산술복호기(3a)의 레지스터 사양과 동일하다. β버퍼(57) 은 제 16 도와 같이 32비트의 레지스터로 구성되어 있다. β버퍼(57)에 있어서 비트 0∼7을 βt버퍼(58), 비트 8∼23을 βi버퍼(59), 비트 24∼31을 βh버퍼(60)으로 분할해서 나타내는 것으로 한다. β버퍼(57)의 갱신은 B버퍼(55)의 갱신에 앞서서 8비트 왼쪽으로 시프트해서 입력의 이력으로서 불필요하게 된 βh버퍼부(60)의 내용을 버리고, β버퍼값(55)을 βt버퍼(58)와 페치하는 것에 의해 실행한다.
1회 2비트 삽입방식에 의한 산술복호수단(6b)에서의 복호처리를 흐름도로 도시해서 설명한다, 흐름도중에서 사용되는 변수 및 정수는 β (β버퍼값)을 부가하는 것 이외에는 매회 1비트 삽입방식에 의한 산술복호수단(6a)에서 사용되는 변수 및 정수와 마찬가지다.
β β버퍼값 ∼57
βt βt버퍼값 (비트 0∼7) ∼58
βi βi버퍼값 (비트 8∼23) ∼59
βh βh버퍼값 (비트 24∼31) ∼60
복호개시시의 초기화인 INITENC는 제 17 도와 같이 먼저 테이블의 세트 업과 기억장치의 초기화를 실행한다. 그리고 산술부호 버퍼의 확보 설정을 실행한다. 버퍼 포인터 BP(56)은 버퍼 선두 어드레스 BPST를 나타내고, 버퍼에 산술부호(15b)를 받아들인다. β버퍼(57)에 특별한 의미를 갖는 X'FFFFFFFF'가 아닌 값으로서 바이트 X'00000001'을 세트한다.
A레지스터(54)에는 초기값으로서 유효영역 최소값을 세트하고, Amin에는 유효영역 최소화를 세트한다. Amin에 대해서는 부호화 처리중에 변경은 없다. Cx레지스터부(53)에 산술부호(15b)를 입력하기 위해 먼저 B버퍼값(55)를 16비트 왼쪽으로 시프트시켜서 페치한다. 다음에 산술부호(15b)의 입력처리 BYTEIN을 실행해서 산술부호(15b)를 Cn레지스터부(52)에 페치한 후 또 C레지스터(50)을 4비트 왼쪽으로 시프트하는 것에 의해 Cx레지스터(53)(12비트)를 초기화, 즉 복호해야할 산술부호(15b)를 Cx레지스터에 설정한다.
복호의 실처리인 DECODE, 복호의 정규화 처리인 RENORMD는 각각 제 43 도, 제 44 도와 같이 매회 1비트 삽입방식에 의한 산술복호수단(6a)와 마찬가지의 처리를 실행한다.
산술부호(15b)의 입력처리인 BYTEIN은 제18도와 같이 β버퍼(57)이 X'FFFFFFFF'이면 B버퍼(55)의 갱신처리인 GETBYTE를 실행한다. 갱신된 B버퍼값(55) 바이트 X'FF'이면 캐리제어신호(100b)를 포함하고 있지 않으므로, Cf레지스터(51)에 정규화에 의해 8비트 시프트후에 산술부호(15b)의 입력처리가 샐행되도록 입력 플래그를 비트0에 세트하고, Cn레지스터(52)에 B버퍼값(55)를 그대로 입력한다. B버퍼값(55)가 바이트 X'FF'기 아니면 캐리제어신호(100b)가 상위 2비트에 포함되어 않으므로, Cf레지스터(51)에 정규화에 의해 6비트(캐리제어신호(100b)는 제외하므로)시프트후에 산술부호(15b)의 입력처리가 실행되도록 입력 플래그를 비트 2에 세트하고, Cn레지스터(52)를 클리어하고, B버퍼값(55)를 10비트 왼쪽으로 시프트한 값을 C레지스터(50)에 부가하는 것에 의해 입력한다. B버퍼값(55)의 상위 2비트인 캐리제어신호(100b)(최상위 비트는 항상 비트 "0")은 Cx레지스터(53)의 하위 2비트(비트 16, 17)에 그대로 부가되는 것에 의해 흡수한 캐리를 전파시킬 수가 있다. β버퍼값(57)이 X'FFFFFFFF'가 아니면 Cf레지스터(51)에 정규화에 의해 8비트 시프트후에 산술부호(15b)의 입력처리가 실행되도록 입력 플래그를 비트 0에 세트하고, Cn레지스터(52)에 B버퍼값(55)를 그대로 입력한다.
복호 B버퍼값(55)의 갱신처리 GETBYTE는 제 19 도와 같이, β버퍼(57)은 8비트 왼쪽으로 시프트해서 βh버퍼(60)을 버림과 동시에 βt버퍼(58)을 비우고, β버퍼값(55)를 βt버퍼(58)에 페치해서 갱신하고, 버퍼 포인터 BP(56)을 1진행시켜서 갱신하고, 버퍼 포인터BP(56)이 버퍼 종료 어드레스 BE보다 작지 않으면(동일하면), 산술부호버퍼에 산술부호(15b)를 받아들여서 버퍼 포인터 BP(56)을 버퍼 선두 어드레스 BPST에 재초기화한다.
이상과 같이, 이 실시예에서는 정보원으로부터의 입력데이타의 입력에 대해서 입력값 YN, 상기 입력값 YN의 출현에 대한 예측값 MPS 및 비예측값 LPS의 영역폭(또는 그 근사값) Qe를 출력하고, 정규화가 실행되었을 때 상기 비예측값 LPS의 확률상태를 천이시켜 상기 LPS영역폭 Qe를 갱신하는 입력측의 모델 확률 발생기, 복호되는 출력값 YN에 대해서 상기 출력값 YN의 출현에 대한 예측값 MPS와 비예측값 LPS 영역폭 (또는 그 근사값) Qe를 출력하고, 상기 출력값 YN을 얻은 것에 의해 출력데이타를 출력하여 정규화가 실행되었을 때 상기 비예측값 LPS의 확률상태를 천이시켜 상기 LPS 영역폭 Qe를 갱신하는 출력측의 모델 확률 발생기를 구비한 부호전송장치에 있어서, 상기 입력측의 모델 확률 발생기가 출력하는 상기 입력값 YN, 상기 예측값 MPS 및 상기 LPS 영역폭 Qe의 입력에 대해서 확률 수직선(0 이상 1미만)상의 유효 영역폭인 A레지스터값을 상기 비예측값 LPS 영역폭 Qe와 상기 예측값 MPS의 영역폭 A-Qe로 분할하고, 상기 입력값 YN과 상기 예측값 MPS가 동일할 때는 새로운 상기 유효 영역폭 A에 A-Qe를 할당해서 갱신하고, 다를 때는 새로운 상기 유효 영역폭 A에 Qe를 할당해서 갱신하고, 할당된 상기 유효영역 A의 하한값으로 되도록 C레지스터값을 연산해서 갱신하고, 상기 C레지스터에서 출력한 산술부호를 일시적으로 저장해서 상기 C레지스터값의 연산시에 발생하는 캐리를 전파시키는 기능을 갖는 β버퍼를 구비하고, 상기 캐리가 일정수 이상 연속한 바이트 X'FF'를 초과해서 전파될 가능성을 상기 β버퍼를 사용해서 검출하고, 상기 β버퍼내에서 캐리를 전파시키지 않을 때 캐리제어신호를 이후 최초에 출력하는 X'FF'가 아닌 바이트의 상위 2비트에 삽입해서 캐리의 유무를 뒤부터 전송하고, 상기 입력측의 모델 확률 발생기로부터의 입력이 종료될때까지 상기 분할/할당 처리를 순차적으로 반복하여 상기 산술부호를 송출하는 1회 2비트 삽입방식에 의한 산술부호기, 상기 1회 2비트 삽입방식에 의한 산술부호기에서 송출된 상기 산술부호 및 복호할 상기 출력값 YN에 대한 상기 예측값 MPS와 상기 LPS 영역폭 Qe의 입력에 대해서 확률 수직선상의 유효 영역폭 A레지스터값을 상기 비예측값 LPS의 영역폭 Qe와 상기 예측값 MPS의 영역폭 A-Qe로 분할하고, 입력된 상기 산술부호의 입력 이력을 일시적으로 저장하는 β버퍼를 구비하고, 상기 산술부호에 바이트 X'FF'가 일정수 이상 계속되고 있는 것을 상기 β버퍼를 사용해서 검출하고, 상기 캐리제어신호를 검출하고 처리해서 상기 산술부호를 C레지스터에 페치하고, 상기 C레지스터값에서 상기 비예측값 LPS로 할당되는 상기 LPS 영역폭 Qe가 작으면, 상기 출력값 YN을 상기 예측값 MPS로 복호하여 새로운 상기 유효영역폭 A에 A-Qe를 할당해서 갱신하고, 크면 상기 출력값 YN을 상기 비예측값 LPS로 복호하여 새로운 상기 유효영역폭 A에 Qe를 할당해서 갱신하고, 할당된 상기 유효영역 A의 하한값이 상기 산술부호의 기준으로 되도록 상기 C레지스터값을 수정해서 갱신하고, 상기 산술부호에서 복호한 상기 출력값 YN의 출력이 종료할 때까지 상기 분할/ 할당처리를 순차적으로 반복하는 1회 2비트 삽입방식에 의한 산술복호기를 마련하는 것을 특징으로 하는 부호전송장치를 설명하였다.
또한, 상기 실시예에서 1회 2비트 삽입방식을 취할 때, 매회 1비트 삽입방식에 있어서 합계 2비트 이상 삽입되는 것은 X'FF7FFF7F…'로 되는 4바이트 이상의 산술부호(15a)의 패턴이 출현한 경우이면, 32비트(4바이트)의 β버퍼(39) (57)을 마련해서 검출하는 바이트 X'FF'의 연속수를 4이상으로 하였다. 이것은 4바이트에서 2비트 삽입되는 것으로 본다면 β(39) (57)을 3바이트(βi버퍼(41),(59)를 1바이트로 한다)로서 실현하는 것도 가능하고, n 바이트(n≥3)의 β버퍼(39)(57)을 마련할 때 βi버퍼(1),(59)를 n-2바이트로 하면 좋다. 종래예의 방식에서 매회 2비트(이상)삽입하는 방식을 취하면, 상기 실시예의 방식에서는 β버퍼(39)(57)을 1바이트(부호화에는 β버퍼(39)=B버퍼값(36)으로 되므로 불필요함) 마련하는 것만으로 구성할 수 있다.
또, 상기 실시예 1, 2에서는 데이터를 압축 신장하는 하나의 방법으로서 산술부호화방법을 설명하였지만, 제 2, 제 3의 발명은 산술부호화 방법에 한정되는 것은 아니고 다른 부호화 방법을 사용하고 있는 경우라도 좋다.
또, 상기 실시예 1, 2에서는 소정의 패턴으로서 비트 "1"이 연속하는 비트 패턴 또는 바이트 X'FF'가 연속하는 바이트 패턴을 검출하는 경우를 설명하였지만 이들과 다른 패턴의 경우라도 관계없다.
또, 상기 실시예 1,2에서는 캐리가 있는 것에 의해 이미 전송된 패턴이 변경되는 경우를 예로 하였지만, 캐리에 한정되는 것은 아니고, 후에 발생한 부호화 결과에 의해 이미 전송되어 있는 부호의 패턴을 변경하거나 부호를 제어하는 경우라도 관계없다.
또, 상기 실시예에서는 삽입되는 제어신호가 "00" 또는 "01"의 2비트의 경우를 설명하였지만, 다른 패턴이라도 좋고 또 2비트에 한정할 필요도 없다.
상기와 같은 제 1 의 발명의 부호전송장치에서는 산술부호를 전송하는 부호비트계열에서 적어도 일정한 길이를 갖는 1련의 종료 직후에 2비트의 캐리 전파 흡수제어비트 1회 삽입하는 전송제어방식(1회 2비트 삽입방식)을 채택하므로, 캐리 전파 최대 허용 자리수를 종래방식의 2배로 설정하면, 표 1과 같이 1비트의 개리 전파 제어신호를 매회 삽입하는 종래의 전송제어방식(매회 1회 삽입방식)에 비해서 삽입비트수가 항상 작게된다. 그 결과, 전송되는 총부호 길이를 짧게 할 수 있는 효과가 얻어진다.
[표 1]
m : 종래 방식의 캐리 전파 최대 허용 자리수
또, 상기와 같은 제 2, 제 3의 발명의 부호전송장치에서는 예를 들면 전송되는 산술부호중에 적어도 일정수 이상 연속한 바이트 X'FF'가 출현할 때마다 그 직후에 출현하는 X'FF' 이외의 바이트에 캐리제어신호로서 비트 "00" 또는 "01"을 삽입하는 전송제어방식(1회 2비트 삽입방식)을 채택하므로 종래방식에서 2비트의 캐리제어신호가 삽입되는 바이트수와 동일한 수의 바이트β버퍼와 β버퍼의 바이트수와 동일한 바이트 수의 F 레지스터를 마련하는 것에 의해, 바이트 X'FF' 직후의 가장 유효한 비트에 캐리제어신호의 수가 항상 적게 되어 전송하는 총부호 길이를 짧게 할 수 있다는 효과가 얻어진다.

Claims (18)

  1. 정보원으로부터의 부호화 대상 심볼계열의 각 심볼을 부호화할 때마다 확률 수의 직선상의 유효 영역폭 A를 출현 확률비에 따라 우세심볼(MPS)의 영역폭 A(0)과 열세심볼(LPS)의 영역폭 A(1)로 분할하고, 상기 심볼이 우세심볼(MPS)일 때는 현행의 유효영역폭 A의 하한값 CR을 A(1)과의 가산값으로 갱신하고, 상기 A를 A(0)으로 갱신하고, 상기 심볼이 열세심볼(LPS)일 때는 상기 하한값 CR을 현행 그대로 유지하면서 상기 A를 A(1)로 갱신하고, 이 분할/ 할당 처리를 상기 부호화 대상 심볼계열의 최종비트까지 반복하고 순차적으로 부호신호와 캐리신호를 송출하는 산술부호화수단, 상기 부호화 심볼계열을 대응하는 심볼로 복호화할 때마다 상기 산술부호화수단과 동일한 과정으로 A를 A(0)과 A(1)로 분할하고, 상기 부호의 복호비트의 좌측의 소정의 상위 여러자리수 DR이 상기 A(1)이 이상일 때는 상기 A(1)과의 감산값으로 갱신하고 상기 A를 상기 A(0)으로 갱신하고, 상기 DR이 상기 A(1)미만일 때는 상기 부호를 열세심볼(LPS)로 복호화하고 상기 DR을 현행값 그대로 유지하면서 상기 A를 A(1)로 갱신하고, 이 분할/할당 처리를 상기 부호화 심볼계열의 최종 비트의 처리가 종료할 때까지 반복하여 순차적으로 복호화 심볼계열을 생성함과 동시에 제어비트 검출신호에 의해 캐리의 전파를 제어하는 산술복호화 수단, 상기 산술부호화 수단으로부터의 상기 부호신호와 상기 캐리신호를 감시하고, 적어도 소정수의 부호비트 1의 연속의 종료 직후에 부호비트 1의 연속종료를 나타내는 제 1 비트 "0"과 인접 자리수로부터의 캐리의 유무를 나타내는 제 2 비트 "1" 또는 "0"으로 이루어지는 2개의 캐리 전파 흡수 제어비트를 삽입하고 삽입된 부호비트열을 전송로로 송출하는 1회 2비트 삽입방식의 캐리전송 제어수단, 상기 전송로로부터의 상기 부호비트열을 감시하고, 적어도 소정수의 부호비트 1의 연속의 종료 직후에 상기 캐리 전파 흡수 제어비트 "00" 또는 "01"을 검출하고, 상기 캐리 전파 흡수 제어비트에 따라서 상기 제어비트 검출신호와 복호신호를 송출하는 1회 2비트 삽입 방식의 캐리 수신 제어수단을 포함하는 부호전송장치.
  2. (a) 부호를 부호화하는 부화화수단 및 (b) 상기 부호화수단에 의해 부호화된 부호를 전송하는 전송수단, (c) 상기 부호가 전송되는 경우, 소정 패턴의 연속의 종료후에 일정한 길이의 연속비트를 갖는 부호에 제어신호를 부가하는 제어신호 부가수단을 포함하고, 소정 패턴의 하나의 연속한 일정 길이의 시퀀스가 있으면, 상기 부가수단은 사퀸스 종료후에 제어신호를 부가하고, 소정 패턴의 여러개의 연속한 일정 길이의 시퀀스가 있으면, 상기 제어신호 부가수단은 연속 시퀀스의 종료후에만 제어신호를 부가하는 부호전송장치.
  3. (a) 부호를 발생시키는 부호화수단, (b) 상기 부호의 소정 패턴의 시퀀스를 검출하고, 상기 부호의 상기 시퀀스의 종료를 검출하는 검출수단, (c) 상기 검출수단에 응답해서 상기 검출수단에 의해 상기 패턴의 연속의 종료가 검출된 후에만 상기 부호에 제어신호를 부가하는 부가수단 및 (d) 상기 부호화수단에서 발생된 상기 부호와 상기 부가수단에서 부가된 상기 제어신호를 출력하는 출력수단을 포함하고, 하나의 연속 시퀀스가 있으면 상기 부가수단은 상기 시퀀스후에 상기 제어신호를 부가하고, 여러개의 연속 시퀀스가 있으면, 상기 부가수단은 상기 여러개의 연속 시퀀스의 종료후에만 상기 제어신호를 부가하는 부호전송장치.
  4. 제 2 항에 있어서, 상기 시퀀스는 모두 "1비트의 바이트를 포함하는 부호전송장치.
  5. 제 2 항에 있어서, 상기 전송수단은 현행의 부호화되는 비트를 축적하는 부호 레지스터, 현행의 유효영역을 나타내는 값을 축적하는 간격 레지스터 및 여러개의 바이트를 축적하고, 부호 레지스터로부터 축적비트를 수신하고, 상기 부호 레지스터에서 검출된 캐리를 전파하는 버퍼를 포함하는 부호전송장치.
  6. 제 2 항에 있어서, 상기 부가수단에서 부가된 상기 제어신호는 1개 이상의 바이트후에 부가된 캐리신호이고, 각각의 바이트는 모두 "1"인 부호전송장치.
  7. 제 3항에 있어서, 상기 시퀀스는 모두 "1"비트의 바이트를 포함하는 부호전송장치.
  8. 제 3 항에 있어서, 상기 전송수단은 현행의 부호화되는 비트를 축적하는 부호 레지스터, 현행 유효영역을 나타내는 값을 축적하는 간격 레지스터 및 여러개의 바이트를 축적하고, 부호 레지스터로부터 축적비트를 수신하고, 상기 부호 레지스터에서 검출된 캐리를 전파하는 여러개의 버퍼를 포함하는 부호전송장치.
  9. 제 3 항에 있어서, 상기 부가수단에서 부가된 상기 제어신호는 1개의 이상의 바이트후에 부가된 캐리신호이고, 각각의 바이트는 모두 "1"인 부호전송장치.
  10. 부호화신호와 캐리신호를 순차적으로 공급하는 심볼계열을 부호화하는 산술부호기, 연속한 시퀀스가 최소의 소정 길이보다 길고, 상기 캐리신호에 응답해서, 부호비트 "0"이전의 부호비트"1"의 연속한 시퀀스의 종료 직후에만 여러개의 캐리비트를 삽입하는 수단 및 상기 삽입수단에 의해 마련된 부호비트열을 전송로로 송출하는 수단을 포함하는 부호전송장치.
  11. 제 10 항에 있어서 상기 제어비트는 부호비트 "1"의 연속의 종료를 나타내는 제 1 의 비트 "0"과 캐리의 유무를 나타내는 제 2 의 비트를 구비하는 부호전송장치.
  12. 부호비트열을 수신하는 산술복호장치로서, 여러개이 캐리제어비트를 갖는 상기 부호비트열을 감시하는 수단, 연속한 시퀀스가 최소의 소정 길이보다 길고, 부호비트 "0" 이전의 부호비트 "1"의 연속한 시퀀스의 종료후에 여러개의 캐리 제어비트를 검출하는 수단 및 상기 캐리 제어비트에 따라서 복호화신호와 제어비트 검출신호를 송출하는 수단을 포함하는 산술복호장치.
  13. 제 12 항에 있어서, 상기 제어비트는 부호비트 "1"의 연속의 종료를 나타내는 제 1 의 비트 "0"과의 유무를 나타내는 제 2 의 비트를 구비하는 산술복호장치.
  14. 다수의 바이트의 부호화신호와 캐리신호를 순차적으로 공급하여 심볼계열을 부호화하는 산술부호기, 소정의 성분을 갖는 바이트를 검출하는 수단, 상기 바이트의 종료후에 여러개의 캐리 제어비트를 삽입하는 수단 및 상기 삽입수단에 의해 마련된 부호비트열을 전송로로 송출하는 수단을 포함하고, 상기 검출수단이 소정의 성분을 갖는 단일의 바이트를 검출하면, 상기 삽입수단은 상기 바이트후에 여러개의 제어비트를 삽입하고, 상기 검출수단이 소정의 성분을 갖는 여러개의 연속한 바이트를 검출하면, 상기 삽입수단은 상기 여러개의 연속한 바이트의 종료후에만 상기 여러개의 제어비트를 삽입하는 부호전송장치.
  15. 제 14 항에 있어서, 상기 소정의 성분은 모두 "1"인 부호전송장치.
  16. 부호화신호와 캐리신호를 순차적으로 공급하여 심볼계열을 부호화하는 산술부호기, 소정의 성분과 소정이 최소 길이를 갖는 일련의 비트를 검출하는 수단, 상기 일련의 비트의 종료후에 여러개의 캐리 제어비트를 삽입하는 수단 및 상기 삽입수단에 의해 마련된 부호비트열을 전송로로 송출하는 수단을 포함하고, 상기 검출수단이 소정의 성분과 최소 길이를 갖는 일련의 비트를 검출하면, 상기 삽입수단은 상기 바이트후에 여러개의 제어비트를 삽입하고, 상기 검출수단이 최소 길이 이상의 일련의 연속을 검출하면, 상기 삽입수단은 일련의 연속의 종료후에만 여러개의 제어비트를 삽입하는 부호전송장치.
  17. 제 16 항에 있어서, 상기 소정의 성분은 길이가 "1"이고, 상기 최소길이는 1바이트의 길이이고 상기 일련의 연속은 연속된 "1"의 시퀀스인 부호전송장치.
  18. 부호화신호와 캐리신호를 순차적으로 공급하는 산술부호화수단, 복호와 심볼계열을 순차적으로 발생하고 캐리의 전파를 제어비트 검출신호에 의해 제어하는 산술복호수단, 산술부호화수단에서 공급된 상기 부호화신호 및 상기 캐리신호를 감시하는 수단, 부호비트 "1"의 연속의 종료를 나타내고 캐리의 유무를 나타내는 여러개의 캐리 전파 흡수 제어비트를 삽입하는 수단 및 상기 삽입된 부호비트열을 전송로로 송출하는 수단을 구비한 1회 다비트 삽입 전송 제어수단, 상기 전송로에서 공급된 상기 부호비트열을 감시하는 수단, 적어도 소정수의 부호비트 1의 연속의 종료 직후에 상기 캐리 전파 흡수제어비트를 검출하는 수단 및 상기 캐리 전파 흡수 제어비트를 따라서 상기 제어비트 검출신호와 복호신호를 송출하는 수단을 구비한 1회 다비트 삽입 캐리 수신 제어수단을 포함하는 부호전송장치.
KR1019920005436A 1991-11-15 1992-04-01 부호전송장치 KR950013404B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP3300486A JP2783019B2 (ja) 1990-12-28 1991-11-15 符号化装置及び符号化方式及び符号化方法及び復号化方式及び復号化方法
JP91-300486 1991-11-15

Publications (2)

Publication Number Publication Date
KR930011451A KR930011451A (ko) 1993-06-24
KR950013404B1 true KR950013404B1 (ko) 1995-11-08

Family

ID=17885391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920005436A KR950013404B1 (ko) 1991-11-15 1992-04-01 부호전송장치

Country Status (6)

Country Link
US (1) US5311177A (ko)
EP (1) EP0541899B1 (ko)
KR (1) KR950013404B1 (ko)
AU (1) AU640088B2 (ko)
CA (1) CA2072505C (ko)
DE (1) DE69230609T2 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835782A (en) * 1996-03-04 1998-11-10 Intel Corporation Packed/add and packed subtract operations
US5955977A (en) * 1997-03-31 1999-09-21 Sharp Laboratories Of America, Inc. System for avoiding start code emulation and long carry-over propagation
JP3745160B2 (ja) 1999-04-12 2006-02-15 三菱電機株式会社 符号化装置、復号化装置、符号化方法並びに復号化方法
US6560368B1 (en) * 1999-06-25 2003-05-06 Microsoft Corporation Arithmetic coding and decoding methods and related systems
US6892343B2 (en) 2000-03-27 2005-05-10 Board Of Regents Of The University Of Nebraska System and method for joint source-channel encoding, with symbol decoding and error correction
JP3853710B2 (ja) * 2002-07-15 2006-12-06 Necアクセステクニカ株式会社 ディジタル画像符号化装置およびディジタル画像符号化方法
JP4491295B2 (ja) * 2004-07-22 2010-06-30 キヤノン株式会社 画像再生方法及び画像再生装置
US7161507B2 (en) * 2004-08-20 2007-01-09 1St Works Corporation Fast, practically optimal entropy coding
WO2007002468A2 (en) * 2005-06-23 2007-01-04 1Stworks Corporation Modeling for enumerative encoding
JP4717780B2 (ja) * 2006-11-01 2011-07-06 キヤノン株式会社 符号化装置及びその制御方法
WO2009022048A1 (en) * 2007-08-16 2009-02-19 Nokia Corporation A method and apparatuses for encoding and decoding an image
US8779950B2 (en) 2012-03-05 2014-07-15 Dcba, Llc Command encoded data compression
KR101579795B1 (ko) 2014-01-20 2015-12-24 가톨릭관동대학교산학협력단 고정화된 견운모를 이용한 세슘 제거방법
KR101589905B1 (ko) 2014-01-29 2016-01-29 가톨릭관동대학교산학협력단 액상 견운모 용액 및 이것을 이용한 세슘 제거방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE50429T1 (de) * 1985-06-14 1990-02-15 Philips Nv System zum uebertragen von worten, gesichert bei einer kombination eines blockcodes und eines rekurrenten kodes, uebertragungsgeraet zur verwendung in solchem system und empfaengergeraet zur verwendung in solchem system.
US4933883A (en) * 1985-12-04 1990-06-12 International Business Machines Corporation Probability adaptation for arithmetic coders
JPS62258812A (ja) * 1986-05-02 1987-11-11 Kyowa Sangyo Kk 車両用のミラ−付サンバイザの製造方法
US4891643A (en) * 1986-09-15 1990-01-02 International Business Machines Corporation Arithmetic coding data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders
IL86993A (en) * 1988-07-05 1991-07-18 Ibm Israel Method of generating a compressed representation of a source data string
JPH0834432B2 (ja) * 1989-01-31 1996-03-29 三菱電機株式会社 符号化装置及び符号化方法
JPH07120963B2 (ja) * 1989-07-11 1995-12-20 三菱電機株式会社 符号伝送装置
US4973961A (en) * 1990-02-12 1990-11-27 At&T Bell Laboratories Method and apparatus for carry-over control in arithmetic entropy coding

Also Published As

Publication number Publication date
EP0541899A3 (en) 1994-08-17
CA2072505C (en) 1998-06-23
EP0541899A2 (en) 1993-05-19
DE69230609D1 (de) 2000-03-02
US5311177A (en) 1994-05-10
DE69230609T2 (de) 2000-08-31
AU640088B2 (en) 1993-08-12
EP0541899B1 (en) 2000-01-26
AU1853092A (en) 1993-05-20
CA2072505A1 (en) 1993-05-16
KR930011451A (ko) 1993-06-24

Similar Documents

Publication Publication Date Title
KR950013404B1 (ko) 부호전송장치
EP0260462B1 (en) Arithmetic coding for data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders
KR100227275B1 (ko) 단위 처리 시스템에서의 가변길이코드 검출장치 및 방법
US4463342A (en) Method and means for carry-over control in the high order to low order pairwise combining of digits of a decodable set of relatively shifted finite number strings
US7343542B2 (en) Methods and apparatuses for variable length encoding
EP3079261B1 (en) Method and apparatus for arithmetic decoding
KR19980032139A (ko) 신호처리 시스템내의 비트스트림 신호형식 검출장치 및 방법
JPH0328091B2 (ko)
JP3684128B2 (ja) 算術符号化/復号化方法ならびに算術符号化/復号化装置
US4799242A (en) Multi-mode dynamic code assignment for data compression
EP0658982B1 (en) System for bi-level symbol coding-decoding with saved storage and method for the same
EP0581571B1 (en) Imaging coding device and method
JP2755091B2 (ja) 符号化方式及び符号化方法
JP2783019B2 (ja) 符号化装置及び符号化方式及び符号化方法及び復号化方式及び復号化方法
US6781528B1 (en) Vector handling capable processor and run length encoding
JP3184670B2 (ja) 画像符号化装置
US6567019B2 (en) Data processing apparatus and method
JPH11215008A (ja) 復号回路
JP3309371B2 (ja) データを解読するための、チェックする状態が少なくてすむ装置および方法
US6707397B1 (en) Methods and apparatus for variable length codeword concatenation
JPH05341955A (ja) データ圧縮および復元方式
JP2004128619A (ja) 符号化方法
KR19990050486A (ko) 고속 처리 가변 길이 코덱 장치
JP3595659B2 (ja) パッキング回路
Cena et al. A Q-Coder algorithm with carry free addition

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20071026

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee