KR100741553B1 - 화상부호/복호방법 및 그 장치 및 그 프로그램을 기록한기록매체 - Google Patents

화상부호/복호방법 및 그 장치 및 그 프로그램을 기록한기록매체 Download PDF

Info

Publication number
KR100741553B1
KR100741553B1 KR1020000076886A KR20000076886A KR100741553B1 KR 100741553 B1 KR100741553 B1 KR 100741553B1 KR 1020000076886 A KR1020000076886 A KR 1020000076886A KR 20000076886 A KR20000076886 A KR 20000076886A KR 100741553 B1 KR100741553 B1 KR 100741553B1
Authority
KR
South Korea
Prior art keywords
image
basis
block
vector
pixel
Prior art date
Application number
KR1020000076886A
Other languages
English (en)
Other versions
KR20010104610A (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
Application filed by 허드슨 소프트 가부시끼가이샤 filed Critical 허드슨 소프트 가부시끼가이샤
Publication of KR20010104610A publication Critical patent/KR20010104610A/ko
Application granted granted Critical
Publication of KR100741553B1 publication Critical patent/KR100741553B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/649Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding the transform being applied to non rectangular image segments
    • 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/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 화상부호/복호방법 및 그 장치 및 그 프로그램을 기록한 기록매체에 관한 것으로, 고속의 고화질 부호/복호를 얻을 수 있는 것이다. 화상 데이터를 B 화소마다 블록 분할하여 각 블록 평균값으로 이루어지는 DC 화상을 생성하여, 상기 DC 화상의 일부를 DC 네스트로 함과 동시에, 부호대상의 화소블록<Rj>으로부터 그 DC 값 DCJ를 분리한 미분벡터<dj>의 크기가 허용값 Z를 넘는 경우는, 미분벡터<dj>를 근사하기 위한 하나 이상의 직교 기저(αk<vk>등)를 DC 네스트를 사용한 적응적 직교변환(AOT)에 의해 구하는 화상부호방법에 있어서, DC 네스트로부터 다운샘플된 기저 추출 블록<Ui>의 각 하위 n(n=log2B)비트가 0으로 설정되어 있다. 또한, 이 기저 추출 블록<Ui>으로부터 그 블록 평균값 ai를 분리하여 기저 추출벡터<ui>를 생성한다.
화상 부호, 복호, DC 네스트, 미분벡터, 적응적 직교변환, 기저추출블록

Description

화상부호/복호방법 및 그 장치 및 그 프로그램을 기록한 기록매체{IMAGE ENCODING/DECODING METHOD, APPARATUS THEREOF AND RECORDING MEDIUM IN WHICH PROGRAM THEREFOR IS RECORDED}
도 1은 종래의 화상부호장치의 블록도,
도 2는 종래의 적응적 직교 변환처리의 흐름도,
도 3은 종래의 적응적 직교 변환처리의 화상도,
도 4는 종래의 평균값 분리 처리의 화상도,
도 5는 본 발명의 원리를 설명하는 도면,
도 6은 실시예에 의한 화상부호장치의 블록도,
도 7은 실시예에 의한 화상부호(메인)처리의 흐름도,
도 8은 실시예에 의한 적응적 직교 변환처리의 흐름도(1),
도 9는 실시예에 의한 적응적 직교 변환처리의 흐름도(2),
도 10은 실시예에 의한 적응적 직교 변환처리의 흐름도(3),
도 11은 실시예에 의한 DC 네스트의 설명도(1),
도 12는 실시예에 의한 DC 네스트의 설명도(2),
도 13은 실시예에 의한 전개계수 부호처리의 화상도,
도 14는 실시예에 의한 화상복호장치의 블록도,
도 15는 실시예에 의한 화상복호처리의 흐름도,
도 16은 실시예에서의 교류성분예측의 화상도이다.
*도면의 주요 부분에 대한 부호의 설명*
11 : 원래 화상 메모리 12 : DC값 생성부
113 : 차이 PCM 부호부(DPCM) 114 :역 DPCM 부호부(IDPCM)
15 : DC 화상 메모리 16 : DC 네스트 생성부
17 : DC 네스트 메모리 18 : 감산기
19 : 미분벡터 버퍼 20 : 추출부 블록 버퍼
21 : 평균기 22 : 감산기
23 : 추출벡터 버퍼 24 : 적응적 직교 변환처리부(AOT)
25 : 계수 변환부 26 : 부호부
31 : DC 네스트 생성부 32 : 적응적 직교 변환처리부(AOT)
33 : 계수 변환부 34 : 부호부
본 발명은 화상부호/복호방법 및 그 장치 및 그 프로그램을 기록한 기록매체에 관한 것으로, 특히 하이브리드 벡터 양자화(HVQ : Hybrid Vector Quantization) 방식에 의한 화상부호/복호방법 및 그 장치 및 그 프로그램을 기록한 기록매체에 관한 것이다.
현재, JPEG(Joint Photographic Expert Group)방식에 따라, 8×8의 화소블록을 2차원 DCT(discrete cosine transform)에 의해 DC값 및 기본∼63배 주파수의 각 계수값으로 변환함과 동시에, 자연 그림의 주파수 성분이 저주파 영역에 집중하고 있는 것을 이용하여 화질이 저하하지 않은 범위 내에서 각 계수값을 다른 양자화 폭으로 양자화 하여, 정보량을 삭감하고 나서 하프맨 부호화를 실행한다.
이것에 대하여 HVQ 방식은, JPEG과 마찬가지로 평균값 분리형 블록 부호화의 일종이지만, 벡터 양자화와 직교 변환 부호화의 중간방식인 적응적 직교 변환(AOT=Adaptive Orthogonal Transform)을 그 압축 원리로서 사용하고 있다. 여기서, AOT는 벡터 양자화의 코드북에 해당하는 기저의 네스트(nest)로부터 최소수의 비 직교 기저를 선택하여, 대상블록을 원하는 허용오차 "Z"이내에 근사하는 방식이다. HVQ 방식에서는 복호연산을 정수형으로 할 수 있기 때문에, 복호가 고속으로 수행된다. 또한, JPEG에 특유한 모스키토 및 블록 노이즈, GIF에 특유한 의사 윤곽(false contour)이 발생하지 않기 때문에 자연화상, 인공화상(애니메이션 화상, CG 화상)을 고화질로 압축할 수 있다. 본 발명은 이러한 HVQ 방식에 있어서의 화질을 더욱 개선하고 고속에서 부호 연산을 실행하기 위한 방법에 관한 것이다.
본건 출원인은 일본국 특허출원번호 189239/9에 기재된 화상의 자기 상사성을 이용한 HVQ 방식에 따른 화상부호/복호방법을 제안하였다. 이하 그 내용을 설명한다. 이 명세서에서 기호<a>는 벡터 "a" 또는 블록 "a", 기호 ∥a∥는 벡터 "a"의 기준, 기호<a·b>는 벡터 a와 b의 내적을 나타낸다. 또한, 도면과 [수]에서 벡터 및 블록을 대문자로 나타낸다.
도 1은 종래의 화상 인코더(encoder)의 블록도이다. 도 1에 있어서, 11은 원래 화상 데이터를 기억하는 원래 화상 메모리, 12는 원래 화상 데이터의 각 화소블록(4×4 화소) 마다 블록 평균(DC)값을 구하는 DC값 생성부, 13은 각 DC값마다 차이 예측 부호화를 실행하는 차이 PCM 부호부(DPCM), 14는 차이 PCM 부호로부터 각 DC 값을 복호하는 역 DPCM 부호부(IDPCM), 15는 복호 DC 화상을 기억하는 DC 화상 메모리, 16은 DC 화상의 일부에서 소정 사이즈의 DC 네스트를 잘라 내는(cutting off) DC 네스트 생성부, 17은 DC 네스트를 기억하는 DC 네스트 메모리이다.
또한, 18은 부호대상인 타겟 화상 블록<Rj>으로부터 대응하는 복호 DC 값 "DCJ"를 분리하는 감산기, 19는 DC 분리된 미분벡터<dj>를 기억하는 미분벡터 버퍼, 20은 DC 네스트로부터 다운샘플된(down-sampled) 4×4 화소의 기저 추출(base extraction) 블록<Ui>을 기억하는 추출 블록버퍼, 21은 기저 추출블록<Ui>의 블록 평균값 ai를 구하는 평균기, 22는 기저 추출블록<Ui>으로부터 블록 평균값 a i를 분리하는 감산기, 23은 평균값에 의해 분리된 기저 추출벡터<ui>를 기억하는 추출 벡터버퍼, 24는 미분벡터의 제곱 기준(norm) ∥dj2가 허용오차 Z를 넘는 경우에, DC 네스트를 탐색하여 미분벡터<dj>를 허용오차 Z 이내로 근사하기 위한 직교 기저계 αk<uk'>(k=1∼m)를 생성하는 적응적 직교 변환처리부(AOT), 25는 생성된 직교 기저계 αk<uk'>(k= 1∼m) 마다 비 직교 기저벡터<uk>(k=1∼m)에 곱해서 등가인 비 직교 기저계 βk<uk>(k=1∼m)를 생성하기 위한 전개계수(expanding square coefficient) βk를 구하는 계수 변환부, 26은 상기 DC 값의 DPCM 부호나 비 직교 기저계 βk<uk> 등의 정보를 압축 부호화 하기 위한 하프맨, 런-길이, 고정 길이의 부호에 의한 부호부이다.
DC값 생성부(12)는 4×4 화소의 블록 평균값을 구하여, 소수점 이하를 라운딩 오프(round off)하거나 또는 잘라버린다(round down). DPCM(13)은, J행, I열의 DC 값을 DCJ, I로 할 때에, 해당 DCJ, I의 예측값 DCJ, I'를 예컨대 DC J, I'=(DCJ,I-1+DCJ-1, I)/2에 의해 구하여, 그 예측오차(△DCJ, I= DCJ, I -DCJ, I')를 양자화 계수 Q(Z)에 의해 선형 양자화하여 출력한다. 이 양자화 계수 Q(Z)는 허용오차 Z와 대응하고, 허용오차 Z에 따라서 1∼8의 범위 내로 변화된다.
DC 네스트 생성부(16)는 DC 화상으로부터 종39 × 횡71의 영역(range)을 그대로 복사하여 DC 네스트로 한다. DC 네스트는 코드북으로서 사용되기 때문에, 교류성분을 많이 포함하는 것이 바람직하다. 그러므로, 복수의 추출영역에서 서로간에 인접한 DC 값간의 차이의 절대값의 총합이 최대가 되는 영역을 복사하여 DC 네스트로 한다.
또한, 기저 추출블록<Ui>의 다운샘플에서, 종횡 1 DC값마다 정점은 (px, py) ∈[0, 63]×[0, 31]로 설정되고, 그 서브샘플간격은 (sx, sy)∈{(1, 1), (1, 2), (2, 1), (2, 2)}의 4종류로 한다. 따라서, 기저 추출블록<Ui>의 총수는 N(= 8192)개가 존재하여, 이들은 AOT(24)로부터의 인덱스 카운터 "i"에서 참조된다. 이하, 종래의 적응적 직교 변환처리부(24)의 동작을 설명한다.
도 2는 종래의 적응적 직교 변환처리의 흐름도이고, 도 3은 그 처리의 화상도이다. 도 2에 있어서, 미분벡터의 제곱 기준 ∥<dj>∥2이 Z보다 크면 이 처리로 입력한다. 스텝 S121에서는 레지스터 E에 미분벡터의 제곱 기준∥<dj>∥2를 세트한다. 또한, 기저수 카운터를 k=1로 초기화한다. 단계 S122에서는 최소값 유지 레지스터 E'에 큰 값(예컨대, 100,000)을 세트한다. 단계 S123에서는 기저 추출블록<Ui>의 인덱스 카운터를 i=0으로 초기화한다. 이들 단계로, DC 네스트의 초기 어드레스(px, py)=(0, 0), 서브샘플간격(sx, sy)=(1, 1)에 대응한다.
단계 S124에서는 기저 추출블록<Ui>으로부터 그 블록 평균값 ai를 분리하여 기저 추출벡터<ui>를 생성한다. 이 연산 또는 계산은 정수 정밀도로 하기 때문에, 블록 평균값 ai에 있는 임의의 소수점 이하의 값을 라운딩 오프하거나 또는 잘라버린다. 단계 S125에서는 필요(k>1)하면 기저 추출벡터<ui>를 직교 기저벡터<uk '>로 직교화 처리한다.
도 3a 및 도 3b는 직교화 처리의 화상도를 나타낸다. 도 3a에 있어서, 우선 제 1 기저 추출벡터<u1>는 그대로 제 1 기저벡터<u1'>가 될 수 있다.
다음으로, 제 2 기저 추출벡터<u2>는 이하의 방법에 의해 제 1 기저벡터<u1'>에 직교화된다. 즉, 제 2 기저 추출벡터<u2>의 제 1 기저벡터<u 1'>로의 투영은 수학식 1의 관계로 얻을 수 있다.
Figure 112000026778150-pat00001
따라서, 제 2 직교벡터<u2'>는 제 2 기저 추출벡터<u2>로부터 상기 투영분의 벡터를 빼는 것으로 얻을 수 있다.
Figure 112000026778150-pat00002
도 3b에 있어서, 제 3 기저 추출벡터<u3>를 제 1 및 제 2의 기저벡터<u1'>, <u2'>에 직교화한다.
도 3은 3차원적으로 그려져 있다. 제 3 기저 추출벡터<u3>를 제 1 기저벡터<u1'>에 직교화하면 중간 직교벡터<u3''>를 얻을 수 있다.
Figure 112000026778150-pat00003
또한, 이 중간 직교벡터<u3''>를 제 2 기저벡터<u2'>에 직교화하면 제 3 기저벡터<u3'>를 얻을 수 있다.
Figure 112000026778150-pat00004
도 2로 되돌아가서, 단계 S126에서는 그 얻어진 직교벡터<ui'>를 사용하여, 미분벡터<dk>(단, 최초는 <dj>)와의 거리를 최소로 하는 스칼라 계수α i를 구한다.
도 3c는 직교화 처리의 화상도이다. 도 3c에 있어서, <dk>로 나타낸 미분벡터가 근사될 경우, 도 3c(내적=0)에 도시된 것처럼, 직교벡터<ui'>와 스칼라 계수αi의 곱이 미분벡터{<dk>-αi<ui'>}가 직교할 때 미분벡터의 제곱 기준 ei=∥ <dk>-αi<ui'> ∥2가 최소가 된다. 따라서, 스칼라 계수αi는 수학식 5의 관계에 의 해 구한다.
Figure 112000026778150-pat00005
이때, 도면에는 미분벡터<dk>(k=0)를 다른 제 1 기저 추출벡터<uj'>로 근사한 경우가 그려져 있다. 제 1 기저 추출벡터<uj'>는 임의 방향을 취할 수 있으므로, 화상도로 도시되어 있다.
도 2로 되돌아가서, 단계 S127에서는 미분벡터<dk>를 기저 추출벡터αi<u i'>로 근사한 뒤의 오차벡터의 제곱 기준(ei)을 수학식 6에 의해 얻을 수 있다.
Figure 112000026778150-pat00006
도 2의 단계 S128에서는 ei가 E'미만인지 아닌지를 판별한다. ei가 E'미만인 경우는 단계 S129에서 E'의 내용을 갱신하고, 그 때의 αi, <ui'>, <ui > 등에 관한 정보를 배열 [αk], [uk'], [uk] 등으로 유지한다. 또한, ei가 E'미만이 아닌 경우는 상기 단계 S129의 처리를 스킵(skip)한다.
단계 S130에서는 카운터 i에 1을 더하고, 단계 S131에서는 i가 N(=8192)미만이 아닌지를 판별한다. i가 N미만인 경우는 단계 S124로 되돌아가서, 다음 기저 추출벡터<ui>에 관하여 상기와 같은 처리를 한다.
그 처리를 반복하여, 단계 S131의 판별로 i가 N미만이 아닐 경우 전체 기저 추출벡터<ui>를 완전히 시험한다. 이때, 레지스터 E'는 최소의 제곱 기준 ei를 보유하고 있다.
단계 S132에서는 E'가 Z보다 크지 않은지 아닌지를 판별한다. E'가 Z보다 큰 경우는 단계 S133에서 E=E'로 처리된다. 즉, 미분벡터의 제곱기준을 갱신한다. 단계 S134에서는 카운터 k에 1을 더하고 단계 S122로 되돌아간다. 또한, E'이 Z보다 크지 않은 경우는 이 처리를 스킵한다. 이렇게 해서, 최초의 미분벡터<dj>와의 차를 허용오차 Z 이하로 근사하기 위한 직교 기저계αk<uk'>(k=1∼m)를 얻을 수 있다.
그러나, 상기 종래 방법에서는 기저 추출블록<Ui>의 블록 평균값 ai을 라운딩 오프하거나 잘라버렸기 때문에, 화질 개선에 한계가 있다. 종래 방법이 불편한 이유를 도 4에 따라서 설명한다.
도 4는 평균값 분리 처리의 화상도이다. 기저 추출블록<Ui>(종축)과 특정 행(횡축)의 화소값의 관계를 도 4a에 도시하였다. 실제 화소값은 16화소의 블록 평균값이지만, 여기서는 설명을 간단하게 하기 위해 4화소의 블록 평균값을 사용한다. 도 4a에 있어서, 각 화소값은 5, 2, 4, 3이고 그 블록 평균값 ai=3.5이다. 이 소수점 이하를 잘라 버릴 경우, 도 4b에 나타낸 것처럼, 기저 추출벡터<ui>의 블록 평균값 ai이 0.5가 된다. 도 4c에 있어서, 복호블록의 DC값 DCJ에 기저벡터βk<uk>를 가산하면, 복호화상의 타겟블록<Rj>에는 DC 성분(ai=0.5)이 중첩되어 버린다. 더구나, 기저수가 복수인 경우는, 이러한 DC값은 0<ai<1의 범위의 여러가지 값으로 DCJ에 중첩된 결과, 복호화상에서는 블록마다 일종의 잡음이 중첩되어서, 화질이 개선되지 않았다. 이러한 단점은, 소수점 이하를 라운딩 오프하거나 또는 올림하는 경우에도 일어난다.
종래의 AOT 처리에서는 모든 기저 추출벡터<ui>를 기저벡터<uk'>에 직교화하고 있었기 때문에, AOT 처리에 많은 연산과 시간이 요구되었다.
본 발명의 목적은 고속의 고화질 부호/복호를 얻을 수 있는 화상부호/복호방법 및 그 장치 및 그 프로그램을 기록한 기록매체를 제공하는데 있다.
본 발명의 상기 목적은, 예컨대 도 5의 구성에 의해 해결될 수 있다. 즉, 본 발명(1)의 화상부호방법은, 화상 데이터를 B 화소마다 블록분할하여 각 블록 평균값으로 이루어지는 DC 화상을 생성하여, 상기 DC 화상의 일부를 DC 네스트로 함과 동시에, 부호대상의 화소블록<Rj>으로부터 그 DC값 DCJ를 분리한 미분벡터<d j>의 크기가 허용값 Z를 넘은 경우는, 해당 미분벡터<dj>를 근사하기 위한 하나 이상의 직교기저(예, αk<vk>)을 DC 네스트를 사용한 적응적 직교 변환(AOT)에 의해 구하는 화상부호방법에 있어서, DC 네스트로부터 기저 추출블록<Ui>을 다운샘플하고 그 블록 평균값 ai를 구할 때의 각 샘플 DC 화소의 하위 n(n=log2B)비트가 0으로 된 것이다.
따라서, 블록 평균값 ai에 1 미만의 임의 분수는 생기지 않고, 정수 정밀도의 블록 평균값 ai를 고속으로 얻을 수 있다.
바람직하게는, 본 발명(2)에서는, 상기 본 발명(1)의 실시예에 있어서, DC 화상으로부터 DC 네스트를 생성할 때에 각 DC 화소의 하위 n 비트를 0으로 설정하거나 마스크한다.
따라서, 1회의 처리로 그 DC 화소의 하위 n 비트를 0으로 설정하거나 마스크한 DC 네스트가 효율적으로 얻어질 수 있다.
또한, 바람직하게는 본 발명(3)에 있어서는, 상기 본 발명 (1) 또는 (2)에 있어서, DC 화소의 하위 n 비트가 0으로 되어 있는 기저 추출블록<Ui>으로부터 그 블록 평균값 ai를 분리하여 미분벡터<dj>를 근사하기 위해 기저 추출벡터<u i>를 생성 한다.
본 발명(3)에 의하면, 이러한 기저 추출벡터<ui>는 그 전체 요소의 합(블록 평균값)이 항상 0이며, DC 성분이 완전히 분리되어 있다. 따라서, 복호측에서 이러한 기저벡터<uk>를 몇 번 반복하여도 불필요한 DC성분(잡음)은 생기지 않는다. 이러한 본 발명(3)에 의해 본 HVQ 방식의 화질이 대폭 개선된다.
또한, 바람직하게는 본 발명(4)에 있어서는, 상기 본 발명(3)에 있어서, 기저 추출벡터<ui>의 임의 요소(예, u16)를 나머지 요소의 선형결합으로 치환함과 동시에, 해당 기저 추출벡터<ui>와 임의 다른 벡터<w>의 내적을 아래 식에 의해 구한다.
<w·ui>=(w1-w16) u1+(w2-w16)u 2+,…,+(W15-w16)u15
본 발명(4)에 있어서는, 상기 기저 추출벡터<ui>의 전체 요소의 합이 항상 0인 것에 의해, 그 임의 요소(예컨대, u16)를 나머지 요소의 선형결합으로 나타낼 수 있다. 따라서, 임의 다른 벡터<w>와의 내적 계산<w·ui>은 상기 식과 같은 곱의 합 계산으로 전개할 수 있어서, 이러한 복잡한 계산의 회수를 1회 생략할 수 있다. HVQ 방식에 의한 화상부호방법에서는 벡터의 내적 계산이 대량으로 행해지기 때문에, 그러한 계산의 1회 생략은 전체적으로 고속 부호 처리에 크게 기여한다.
또한, 바람직하게는 본 발명(5)에 있어서는, 상기 본 발명 (3) 또는 (4)에 있어서, <d>를 미분벡터로, <ui>를 기저 추출벡터로 할 때에 제 1 기저 탐색은 다음 식에서,
hi=<d·ui>2/∥ui2
을 최대로 하는 것을 조건으로 탐색한다.
본 발명(5)에 의하면, 미분벡터<d>와의 차의 제곱 기준∥<d>-<αi ui>∥ 2를 최소로 하는 조건을 상기 간단한 계산으로 탐색할 수 있다. 따라서, AOT 처리를 고속화할 수 있다.
또한, 바람직하게는 본 발명(6)에 있어서는, 상기 본 발명 (3) 또는 (4)에 있어서, <d>를 미분벡터로, <u1>를 제 1 기저에 대응하는 기저 추출벡터로, <u i>를 제 2 기저를 탐색하는 기저 추출벡터로 할 때에 제 2 기저 탐색은 다음 식에서,
hi={<d·ui>-(<d·u1><u1·ui>)/∥u 12}2/{∥ui2-(<u1·ui>)/∥u 1∥)2}
을 최대로 하는 것을 조건으로 탐색한다.
본 발명(6)에 의하면, 상기 본 발명(5)의 효과에 추가하여, 상기 식 분자의 <d·u1> 및 ∥u1∥와, 분모의 ∥ui2 및 ∥u1∥에 관해서는 이미 제 1 기저탐색으로 행한 계산결과를 이용할 수 있기 때문에, AOT 처리를 더 효율화 및 고속화할 수 있다.
또한, 바람직하게는 본 발명(7)에 있어서는, 상기 본 발명 (3) 또는 (4)에 있어서, <d>를 미분벡터로, <v1>를 제 1 정규 기저벡터로, <v2>를 제 2 정규 직교 기저벡터로, <ui>를 제 3 기저를 탐색하는 기저 추출벡터로 할 때에 제 3 기저 탐색은 다음 식에서,
hi=(<d·ui>-<d·v1><v1·ui>-<d·v 2><v2·ui>)2/{∥ui2-<v 1·ui>2-<v2·ui>2}를 최대로 하는 것을 조건으로 탐색한다.
본 발명(7)에 의하면, 상기 본 발명(5) 및 (6)의 효과에 추가하여, 상기 식 분자의 (<d·ui>-(d·v1><v1·ui>) 및 분모의(∥u i2-<v1·ui>2)에 관해서는 이미 제 1, 제 2 기저탐색으로 행한 계산결과를 이용할 수 있기 때문에, AOT 처리를 더 효율화 및 고속화할 수 있다.
또한, 바람직하게는 본 발명(8)에 있어서는, 상기 본 발명 (6) 또는 (7)에 있어서, 탐색조건에 일치한 기저 추출벡터<ui>를 그 이전의 하나 이상의 정규 직교기저에 정규 직교화한다.
즉, 이러한 정규 직교화는 각 단계의 탐색종료에 의해 기저에 채용된 각 기저 추출벡터<ui> 마다 각기 한번만 하면 되어서, AOT 처리를 더 효율화 및 고속화할 수 있다.
또한, 본 발명(9)의 화상부호방법은, 각 스칼라 전개계수β1∼βm의 기준을 그 크기가 감소하는 순으로 재배열하고, 인접 기준 사이의 각 차이(0을 포함)를 구하고, 그 얻어진 각 차이에 하프맨 부호를 적용한다. 이 방법에서는, 요구된 기저 계를 βk<uk>로 나타내며 k=1∼m이다.
일반적으로, 스칼라 전개계수β1∼βm의 기준은 여러가지 값을 취할 수 있다. 그 값을 오름 또는 내림차순으로 재배열하고 서로 인접한 기준 사이의 차이(0을 포함)를 구하면, 각 차이는 서로 근사 또는 동일해지는 경우가 종종 있다. 그래서, 이들의 차이 값에 하프맨 부호를 적용함으로써 부호압축이 가능해진다.
또한, 본 발명(10)의 화상부호방법에서는, 기저수가 소정 이상의 경우는 기저계의 부호화 대신에, 부호 대상블록의 화상 데이터<Rj>를 부호화한다. 따라서, 복호 화질을 개선할 수 있다. 또한, 실제 이러한 상황은 매우 적기 때문에 부호 압축율에 미치는 영향은 매우 적다.
또한, 본 발명의 상기 목적은, 예컨대 도 14에 도시된 것과 같은 구성에 의해 해결될 수 있다. 즉, 본 발명(11)의 화상복호방법은, HVQ 방식에 관한 부호 데이터로부터 B 화소마다의 각 블록 평균값에 상당하는 DC화상을 재생하여, 상기 DC화상의 일부를 DC네스트로 함과 동시에, 타겟 블록의 DC값 DCJ에 대하여, 상기 부호 데이터에 근거하여 DC 네스트로부터 선택생성한 하나 이상의 기저벡터βk<uk>를 합성하여 타겟블록의 화상 데이터<Rj>를 재생하는 화상복호방법에 있어서, DC 네스트로부터 선택 블록<Uk>을 다운샘플하여 그 블록 평균값을 구할 때의 각 샘플 DC 화소의 하위 n(n= log2B)비트가 0으로 되어 있는 것이다.
따라서, 블록 평균값에 1미만의 임의 분수는 생기지 않고, 정수 정밀도의 블 록 평균값을 고속으로 얻을 수 있다.
또한, 본 발명(12)의 화상복호방법은, 복호된 기저계가 βk<uk>(k=1∼m)에 관한 정보일 때, DC 네스트로부터 판독한 각 선택블록<Uk>마다 각 DC 화소의 하위 n(n=log2B)비트가 0으로 되어 있음과 동시에, 기저계 βk<Uk>(k=1∼m)의 곱의 합을 계산하여, 그 계산결과를 블록 화소수 B로 나누는 것이다.
본 발명(12)에 있어서는, 각 선택블록<Uk>의 하위 n 비트가 0으로 되어 있음으로써, 이들을 미리 누적 가산하더라도, 그 가산결과는 블록 사이즈 B(예컨대, 16)의 정수배가 된다. 이때, 전개계수βk는 정수 정밀도이다. 따라서, 최후에 이 누적 가산결과를 블록 화소수 B로 나누면 1회의 처리로 블록 평균값 Aj가 효율적으로 구해진다. 따라서, 기저벡터βk<uk>(k=1∼m)를 중첩하는 계산을 효율적으로 할 수 있다.
바람직하게는, 본 발명(13)에서는, 상기 본 발명 (11) 또는 (12)에 있어서, DC 화상으로부터 DC 네스트를 생성할 때에 각 DC 화소의 하위 n 비트를 0으로 하여서, 처리 효율이 좋다.
또한, 본 발명(14)의 화상부호장치는, 화상 데이터를 B 화소마다 블록분할하여 각 블록 평균값으로 이루어지는 DC 화상을 생성하여, DC 화상의 일부를 DC 네스트로 함과 동시에, 부호대상의 화소블록<Rj>으로부터 그 DC값 DCJ를 분리한 미분벡터<dj>의 크기가 허용값 Z를 넘은 경우는, 해당 미분벡터<dj>를 근사하기 위한 하나 이상의 직교기저(예, αk<vk>)를 DC 네스트를 사용한 적응적 직교 변환(AOT)에 의해 구하는 화상부호장치에 있어서, 각 DC 네스트 화소의 하위 n(n= log2B)비트가 0으로 되어 있는 DC 네스트를 기억하는 메모리(17)를 구비한 것이다.
또한, 본 발명(15)의 화상복호장치는, HVQ 방식에 관한 부호 데이터로부터 B 화소마다의 각 블록 평균값에 해당하는 DC 화상을 재생하여, 그 DC 화상의 일부를 DC 네스트로 함과 동시에, 타겟블록의 DC값 DCJ에 대하여, 상기 부호 데이터에 근거하여 DC 네스트로부터 선택생성한 하나 이상의 기저벡터βk<uk>를 합성하여 타겟블록의 화상 데이터<Rj>를 재생하는 화상복호장치에 있어서, 각 DC 네스트 화소의 하위 n(n=log2B)비트가 0으로 되어 있는 DC 네스트를 기억하는 메모리(49)를 구비한 것이다.
또한, 본 발명(16)의 기록매체는, 상기 본 발명 (1) 내지 (13)중 어느 하나에 기재된 처리를 컴퓨터에 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체이다.
(발명의 실시예)
이하, 첨부도면에 따라서 본 발명에 바람직한 실시예를 상세히 설명한다. 이때, 전체 도면을 통해서 동일부호는 동일 또는 대응부분을 나타낸 것으로 한다.
도 6은 본 발명의 실시예에 의한 화상부호장치의 블록도로, 도면에 있어서, 31은 복호 DC 화상으로부터 본 발명에 의한 DC 네스트를 생성하는 DC 네스트 생성부, 17은 생성된 DC 네스트를 기억하는 DC 네스트 메모리, 32는 AOT 처리를 효율적으로 또한 고속으로 행하는 적응적 직교 변환처리부(AOT), 33은 계수 변환부, 34는 전개계수βk의 고압축을 가능하게 하는 부호부이다. 그 밖의 구성에 관해서는 상기 도 1에서 서술한 것과 마찬가지이다. 이때, 상기 각 부의 특징은 이하의 동작설명에 의해서 분명하여 진다.
도 7은 본 발명의 실시예에 의한 메인 화상부호처리의 흐름도로, 단계 S1에서는, 원래 화상 메모리(11)에 있는 원래 화상 데이터를 판독한다. 예컨대, R.G.B의 대상 화상을 메모리(11)에 입력된 Y.U.V의 화상으로 변환하여 판독한다. Y는 휘도 데이터, U 및 V는 색차 데이터에 해당한다. 이 U 및 V는 횡방향 2화소의 휘도평균을 사용하여 다운샘플링된다. 일례의 휘도 데이터 Y는 종 960×횡 1280 화소로 이루어져, 화소마다 예컨대 8비트가 할당되어 있다. 이하는 휘도 데이터 Y의 처리를 중심으로 서술하지만, U 및 V에 관해서도 마찬가지로 처리한다.
단계 S2에서는, 전체 화상 데이터에 관하여 4×4 화소마다의 블록평균(DC)값을 구한다. 이때 소수점 이하는 라운딩 오프된다. 단계 S3에서는, 전체 DC 값을 공지의 2차원 DPCM법 등에 의해 부호화하여 출력한다. 단계 S4에서는, 전체 DPCM 출력을 IDPCM 복호하여 DC 화상을 재생하여, DC 화상 메모리(15)에 저장한다. 이것은 부호측/복호측의 AOT 처리조건을 동일하게 하기 위함이다. 단계 S5에서는, DC 네스트 생성부(31)가 DC 화상으로부터 DC 네스트를 생성하여, DC 네스트 메모리(17)에 저장한다. 이때, DC 네스트를 잘라 낸 영역은 종래와 마찬가지의 방법으로 선택될 수 있다.
도 11a에 있어서, DC 화상 메모리(15)로부터 잘라 낸 각 DC 화소 DCJ의 하위 4비트를 마스크(=0)하여 이것을 DC 네스트 메모리(17)의 네스트 화소 Nj에 기억한다. 하위 4비트는 24=B(B= 블록 사이즈 16) 또는 4=log2B의 관계에 있다. 하위 4비트를 마스크한 결과, 기저 추출블록<Ui>의 총합은 항상 정수배이고, 이 총합의 1/16인 블록 평균값 ai는 항상 정수가 된다. 따라서, 기저 추출블록<Ui>으로부터 블록 평균값 ai를 분리한 기저 추출벡터<ui>의 블록 평균값은 항상 0이 된다.
도 11a 및 도 11b에 구체적인 값의 그래프를 예로서 나타낸 것처럼, 설명을 간단하게 하기 위해 4화소의 평균을 사용하고 있다. 도 11c에 있어서, 복호블록<4 Rj>의 DC값 DCJ에 복수의 기저벡터βk<uk>를 누적가산하더라도, 각 기저벡터 βk<uk>의 블록 평균값은 항상 0이기 때문에, 잡음이 중첩되지 않아서, 화질을 대폭 개선할 수 있다.
도 12a에 도 11의 값의 예를 나타낸다. DC 화소 A∼D의 합계가 251이고, 그 평균값 AV가 251/4= 62.75(비정수)이다. 이들의 DC 화소 A∼D를 네스트 화소 A∼D에 전송할 때에 하위 4비트를 마스크하여서, 네스트 화소 A∼D의 합계가 224가 되고, 그 평균값 AV가 224/4= 56(정수)이 된다. 또한, 네스트 화소로부터 네스트 화소의 평균값 56을 분리하여 얻어진 기저 추출벡터<ui>의 각 요소 a∼d는 24, -24, 8, -8이 각각 된다. 이들 요소의 총합(sum)은 0(완전 평균값 분리)이 된다.
도 12b는 도 12a와 같은 값을 나타내고 있고, 단, DC 화소 A∼D를 그대로 네스트 화소 A∼D에 복사하여, 네스트 화소 A∼D의 총합으로부터 하위 4비트를 마스크 하는 점에서 다르다. 이 방법에서도 총합은 16의 배수이고, 블록 평균값은 60(정수)이 된다. 그러나 이 방법에 의하면, 네스트 화소 A∼D에서 그 평균값 60을 분리한 기저 추출벡터<ui>의 각 요소 a∼d는 33, -25, 13, -10이 각각 된다. 그 총합은 0(완전 평균값 분리)이 아니다.
이때, 도 12b에 나타낸 것처럼, DC 화상의 일부를 네스트 화소 A∼D에 복사해 두고, DC 네스트로부터 기저 추출블록<Ui>을 다운샘플할 때에 각 화소로부터 하위 4비트를 마스크 하여도 된다.
도 7로 되돌아가서, 단계 S6에서는 원래 화상 메모리(11) 및 DC 화상 메모리(15)에 대한 각 인덱스 카운터 j, J를 함께 0으로 초기화하고, 여기서 j는 부호대상의 타겟 블록<Rj>의 인덱스 카운터, J는 DC 화소의 인덱스 카운터를 나타낸다. 단계 S7에서는 타겟블록<Rj>으로부터 대응하는 복호 DC값 DCJ를 분리하여 미분벡터<dj>를 구한다. 단계 S8에서는, 미분벡터의 제곱 기준 ∥dj2가 허용오차 Z보다 큰지 아닌지를 판별한다. ∥dj2>가 Z보다 크지 않은 경우는 단계 S17에서 기저수 "0"를 부호출력한다. 이 경우의 타겟 블록<Rj>은 후술하는 교류성분 예측법에 의해 복호된다. 또한, ∥dj2가 Z보다 큰 경우는 단계 S9에서 후술하는 적응적 직교 변환처리를 한다.
단계 S10에서는, 적응적 직교 변환으로 생성된 기저수 k가 4보다 큰지 아닌지를 판별한다. 이와 관련하여, 실측에서는 대개의 경우에 k=1∼3 정도의 통계결과를 얻을 수 있다. 그래서, k가 4보다 큰 경우는 단계 S18에서 기저수 "5"를 부호출력하고, 타겟블록<Rj>의 각 화소값을 부호출력한다. 또한, k가 4보다 크지 않은 경우는 단계 S11에서 후술하는 전개계수βk로의 변환을 한다. 단계 S12에서는 기저수m, 전개계수βk 및 비 직교 기저벡터<ui>의 인덱스 정보 i를 부호출력한다.
단계 S13에서는 카운터 j 및 J에 각각 "1"을 더한다. 이 단계에서, 카운터 j에 대한 1의 가산은 1 화소 블록의 갱신을 의미한다. 단계 S14에서는 j가 M미만이 아닌 경우(전체 화상 블록수)인지 아닌지를 판별한다. j가 M미만인 경우는 단계 S7로 되돌아가, 다음 타겟블록<Rj>에 관하여 동일한 단계에 따른 동일한 부호처리를 반복한다. 이하, 마찬가지로 하여 진행하고, 단계 S14의 판별로 j가 M미만이 아니면, 후술하는 것처럼 단계 S15에서는 하프맨법에 의한 부호화를 한다. 따라서, 1화소의 부호처리를 종료한다.
도 8∼도 10은 적응적 직교 변환처리의 흐름도(1)∼(3)로, 최소 필요수의 직교 기저계αk<vk>(k=1∼m)를 고속에서 효율적으로 얻는 경우를 보이고 있다. 이때, 이하의 설명에서는 상기 단계 S7에서 얻어진 초기의 미분벡터<dj>를 <d>로 나타내 고, 그 후에 갱신되는 미분벡터를 <dk>(k=1∼m)로 나타낸다.
도 8은 제 1 기저 탐색 처리를 보이고 있다. 이 처리의 설명 전에, 해당 처리를 고속으로 행하기 위한 계산상의 아이디어를 설명한다. 즉, 통상적으로 제 1 기저는 미분벡터<d>와의 차의 제곱 기준 ei를 최소로 하는 기저 추출벡터<ui>로서 요구되지만, 이 관계식을 더 전개하면 수학식 7을 얻을 수 있다.
Figure 112000026778150-pat00007
그런데, 수학식 7의 우변 제 1 항의 0보다 큰 ∥d∥2는 기저추출에 상관없이 일정하니까, 동 우변 제 2 항을 최대로 하는 <ui>가 제 1 기저가 될 수 있다. 그래서, 이 우변 제 2 항 hi를 수학식 8에 의해 나타낸다.
Figure 112000026778150-pat00008
hi를 최대로 하는 제 1 기저 αk<vk>를 탐색 및 결정하기 위한 처리이다. 단 계 S21에서는, 후술하는 내적 계산<d·ui>의 이전 처리로서 <d>의 제 16 성분을 나머지 각 성분의 값으로부터 빼서 15차원 벡터<d'>를 구한다. 단계 S22에서는, i=0∼(N-1)에 관하여 hi 분자의 내적<d'·ui>을 구하여, 이들을 배열[Pi]{i=0∼(N-1)}에 저장한다.
이 내적 계산을 구체적으로 말하면, <ui>는 원래 16차원 벡터이지만, 그 블록 평균값(전체 요소의 합)이 0이기 때문에 그 제 16 성분 u16은 나머지 15성분의 선형결합으로 나타낼 수 있다.
Figure 112000026778150-pat00009
따라서, hi 분자의 내적<d·ui>을 이것과 등가인 <d'·ui>에 의해 구하여서, 곱/합 계산을 전체 i에 관해 8192에 대응하는 1회 생략할 수 있다.
Figure 112000026778150-pat00010
단계 S23에서는 i=0∼(N-1)에 관하여, hi 분모의 제곱 기준 ∥ui2를 구하 여, 이들을 배열[Li]{i=0∼(N-1)}에 저장한다.
Figure 112000026778150-pat00011
배열[Li]은 반복적으로 이용한다. 단계 S24에서는, hi의 최대값을 저장하는 레지스터 E=0, 기저 추출벡터<ui>의 인덱스 카운터 i=0, 기저수 카운터 k=1로 각각 초기화한다.
단계 S25에서는, hi=Pi 2/Li의 값을 구한다. 단계 S26에서는, hi가 E보다 큰지 아닌지를 판별한다. hi가 E보다 큰 경우는 단계 S27에서 E를 hi로 갱신하고, 그 때의 i를 배열[Ik](k=1)로 유지한다. 또한, hi가 E보다 크지 않은 경우는 상기 단계 S27의 처리를 스킵한다.
단계 S28에서는 i에 1을 더하고, 단계 S29에서는, i가 N(전체 추출수)미만인지 아닌지를 판별한다. i가 N미만인 경우는 단계 S25로 되돌아가서, 다음 hi에 관하여 상기와 같은 최대값 탐색처리를 한다.
이와 동일한 처리를 반복하여서, i가 N미만이 아닌 경우 전체 네스트 블록의 탐색을 종료한다. 이때, 상기 배열[Ik]에는 hi를 최대로 하는 제 1 기저벡터<u 1>의 인덱스값 i를 보유하고 있다.
단계 S30에서는, 제 1 기저벡터<u1>를 정규화 하여 정규화 기저벡터<v1>가 되 고, 이것을 배열[Vk](k=1)에 저장한다. 또한 스칼라 계수α1(<d>의 <v1 >으로의 투영)을 구하여, 이것을 배열[Ak](k=1)에 저장한다.
단계 S31에서는, 미분벡터<d>를 제 1 기저로 근사 후의 미분벡터<d1>=<d>-α1<v1>에 의해 갱신한다. 단계 S32에서는, 새로운 미분벡터의 제곱기준 e=∥d∥2를 구하고, 단계 S33에서는 e가 Z보다 크지 않은지 큰지를 판별한다. e가 Z보다 크지 않은 경우는 이 단계에서 AOT 처리를 종료하고, e가 Z보다 큰 경우는 제 2 기저 탐색 처리를 한다.
도 9는 제 2 기저 탐색처리를 보이고 있다. 이 처리의 설명 전에 해당 처리를 효율적으로 하기 위해서 행한 계산상의 아이디어를 설명한다. 즉, 통상적으로는, 제 2 기저는 미분벡터<d1>와의 차의 제곱기준 ei를 최소로 하는 직교벡터<u i'>로서 요구되지만, 이 관계식을 더 전개하면 수학식 12를 얻을 수 있다.
Figure 112000026778150-pat00012
여기서, 직교벡터<ui'>는 제 2 기저 추출벡터<ui>를 제 1 정규화 기저벡터<v1>에 직교화한 것이다.
Figure 112000026778150-pat00013
마찬가지로 하여, 상기 수학식 12의 우변 제 1 항의 0보다 큰 ∥d12은 기저추출에 상관없이 일정하니까, 동 우변 제 2 항을 최대로 하는 직교벡터<ui'>가 제 2 기저가 될 수 있다. 이 우변 제 2 항 hi를 수학식 14로 나타낸다.
Figure 112000026778150-pat00014
hi는, 수학식 14에 따라 구할 수 있지만, 상기 도 8의 계산결과를 효율적으로 이용하기 위해서 상기 수학식 14의 분모를 변형한다. 즉, 우선 hi 분자의 직교벡터<u1'>를 기저 추출벡터<ui>로 나타내면, hi 분자는 수학식 15로 나타낼 수 있다.
Figure 112000026778150-pat00015
또한, 미분벡터<d1>를 최초의 미분벡터<d>로 나타내면, hi 분자는 수학식 16으로 나타낼 수 있다.
Figure 112000026778150-pat00016
따라서, hi 분자의 계산에는 제 1 기저 탐색으로 얻어진 계산결과<d·u1>, ∥u1∥를 이용할 수 있다. 또한, 마찬가지로 하여 hi 분모를 변형하면 수학식 17로 나타낼 수 있다.
Figure 112000026778150-pat00017
따라서, hi 분모의 계산에는 제 1 기저탐색으로 얻어진 연산결과 ∥ui2, ∥u1∥을 이용할 수 있다. 이상을 상기 수학식 14의 hi에 대입하면, hi는 수학식 18-1이 되어, 최종적으로 수학식 18-2로 나타낼 수 있다.
Figure 112000026778150-pat00018
여기서, Pi=<d·ui>, Li=∥ui2는 배열 [Pi], [Li]의 계산결과를 각각 이용할 수 있고, Pk=P1=<d·u1>, √(Lk)=√(L1)=∥u 1∥도 이전 계산결과를 이용할 수 있다. 따라서, 이번에 새롭게 계산하는 것은 <uk·ui>=<u1·ui >의 부분이 있다.
이상을 전제로 하여서, 제 2 기저 탐색은 이하의 계산을 실행한다. 즉, 단계 S41에서는 k=1로서 P1=<d·u1> 및 L1=∥u12를 보유한다. 이들은 상기 단계 S22 및 S23에서 구한 결과를 이용할 수 있다. 이때, P1의 "1"은 인덱스 카운터 i에 있는 제 1 기저<u1>를 의미하고, 이것은 상기 단계 S27에서 배열[Ik]에 보유되어 있다. 단계 S42에서는, 수학식 19로 계산을 하여, 결과를 레지스터η, κ에 저장한다.
Figure 112000026778150-pat00019
단계 S43에서는 후술하는 내적 계산<u1·ui>의 이전 처리로서 <u1>의 제 16 성분을 나머지 각 성분으로부터 뺀 15차원 벡터<w1>를 구한다. 단계 S44에서는 i= 0∼(N-1)에 관하여 내적<wk·ui> η을 구하여, 이들을 배열[Qi]에 저장한다. 단계 S45에서는, i= 0∼(N-1)에 관하여 (Pi-κQi)를 구하여, 이들을 배열[Pi]에 저장하고 겹쳐쓴다. 여기서, 배열 Pi에 상기 단계 S45의 계산결과를 저장하여서(겹쳐 써서), 배열[Pi]의 내용은 과거의 계산결과를 반영하여 차차 갱신된다. 또한, 단계 S46에서는 i=0∼(N-1)에 관하여 (Li-Qi 2)를 구하여, 이들을 배열[Li]에 저장 및 기록한다. 여기서, 이 단계 S46의 연산결과를 단계 S23의 배열[Li]에 저장 및 겹쳐씀으로써, 배열[Li]의 내용도 과거의 연산결과를 반영하여 차차 갱신된다. 이상에 의한 hi의 반복된 계산은 최종적으로 수학식 20으로 나타낼 수 있다.
Figure 112000026778150-pat00020
단계 S47에서는 hi의 최대값을 보유한 레지스터 E=0, 기저 추출벡터<ui>의 인덱스 카운터 i=0으로 각각 초기화하고, 기저수 카운터 k에 "1"을 더하여 k=2가 된다.
단계 S48에서는 hi=Pi 2/Li를 구한다. 단계 S49에서는 hi 가 E보다 큰지 아닌지를 판별한다. hi가 E보다 큰 경우는 단계 S50에서 E를 hi로 갱신하고, 그 때의 i를 배열[Ik](k=2)에 저장한다. 또한, hi가 E보다 크지 않은 경우는 상기 단계 S50의 처리를 스킵한다.
단계 S51에서는 i에 "1"을 더하고, 단계 S52에서는 i가 N보다 크거나 같은지 아닌지를 판별한다. i가 N보다 크거나 같지 않은 경우는 단계 S48로 되돌아가서, 다음 hi에 관하여 상기와 마찬가지의 최대값 탐색처리를 한다. 이하, 마찬가지로 진행하여서, i가 N보다 크거나 같으면 전체 네스트 블록의 탐색을 종료한다. 이때, 상기 배열[Ik](k=2)에는 hi를 최대로 하는 제 2 기저벡터<u2>의 인덱스값 i가 보유되어 있다.
단계 S53에서는 제 2 기저벡터<u2>를 <v1>에 정규 직교화 하여 정규화 기저벡터<v2>가 되고, 이것을 배열[Vk](k=2)에 저장한다. 또한, 스칼라 계수α2 (<d1>의 <v2>로의 투영)을 구하여, 이것을 배열[Ak](k=2)에 저장한다. 이와 같이 기저벡터<u2>의 정규 직교화와 스칼라 계수α2의 계산은 상기 탐색결과에 관해서 한번에 실행되어서, AOT 처리의 대폭적인 고속의 경량화를 꾀할 수 있다.
단계 S54에서는, 미분벡터<d1>를 제 2 기저로 근사 후의 미분벡터<d2>=<d 1>- α2<v2>에 의해 갱신한다. 단계 S55에서는, 새로운 미분벡터의 제곱기준 e=∥d 22를 구하고, 단계 S56에서는 e가 Z보다 작거나 같은지 아닌지를 판별한다. e가 Z보다 작거나 같은 경우는 이 단계에서 AOT 처리를 종료하고, e가 Z보다 작거나 같지 않은 경우는 제 3 기저 탐색처리를 한다.
도 10은 제 3 기저 탐색처리를 보이고 있다. 이 처리의 설명 전에 해당 처리를 효율적으로 하기 위해서 행한 계산상의 고안을 설명한다. 즉, 통상적으로, 제 3 기저는 미분벡터<d2>와의 차의 제곱기준 ei를 최소로 하는 직교벡터<ui '>로서 요구되지만, 이 관계식을 더 전개하면 수학식 21을 얻을 수 있다.
Figure 112000026778150-pat00021
여기서, 직교벡터<ui'>는 제 3 기저 추출벡터<ui>를 제 1, 제 2의 정규화 기저벡터<v1>, <v2>에 직교화한 것이다.
Figure 112000026778150-pat00022
마찬가지로 하여 상기 수학식 21 우변 제 1 항의 0보다 큰 ∥d22는 기저추출에 상관없이 일정하니까, 동 우변 제 2 항을 최대로 하는 직교벡터<ui'>가 제 3 기저가 될 수 있다. 이 우변 제 2 항 hi를 수학식 23으로 나타낸다.
Figure 112000026778150-pat00023
또한, hi 분자의 직교벡터<ui'>를 기저 추출벡터<ui>로 나타내면, hi 분자는 수학식 24로 나타낼 수 있다.
Figure 112000026778150-pat00024
또한, 수학식 24의 미분벡터<d2>를 최초의 미분벡터<d>로 나타내면, hi 분자는 수학식 25로 나타낼 수 있다.
Figure 112000026778150-pat00025
마찬가지로 하여 hi 분모를 변형하면 수학식 26으로 나타낼 수 있다.
Figure 112000026778150-pat00026
이상을 수학식 23의 hi에 대입하면 수학식 27을 얻을 수 있다.
Figure 112000026778150-pat00027
그런데, 수학식 27 분자/분모의 각 제 2 항까지는 이미 계산되어 있고, 이들에는 수학식 28의 관계가 있다.
Figure 112000026778150-pat00028
따라서, hi의 연산은 상기 수학식 18-2로 배워서 최종적으로 수학식 29로 나타낼 수 있다.
Figure 112000026778150-pat00029
수학식 29는 내적<uk·ui>이 <vk·ui>로 되어 있는 것을 제외하고, 상기 수학식 18-2와 동일 형태를 하고 있다. 따라서, 이것 이후의 각 기저는 도 9와 마찬가지의 동작을 반복함으로써 효율적으로 구한다.
이상을 전제로 하여서, 제 3 기저 이후의 탐색은 이하의 계산을 한다. 즉, 단계 S61에서는, k=2에 의해 P2=<d1·u2> 및 L2=∥u2 2를 보유한다. 단계 S62에서는 수학식 30의 계산을 하여, 결과를 레지스터 η 및 κ에 저장한다.
Figure 112000026778150-pat00030
단계 S63에서는 후술하는 내적 계산<v2·ui>의 이전 처리로서 <v2>의 제 16 성분을 나머지 각 성분의 값으로부터 뺀 15차원 벡터<w2>를 구한다. 단, <v2>의 각 성분은 정수가 아니기 때문에, 내적 계산을 실수형으로 할 필요가 생긴다. 이를 피 하기 위해서, 미리 <v2>(즉, <w2>)의 각 성분에 정수 "a"를 곱해서 정수로 해둔다.
단계 S64에서는, i=0∼(N-1)에 관하여 내적<w2·ui>η/a을 구하여, 이들을 배열[Qi]에 저장한다(겹쳐 쓴다). 이때, 각 계산결과를 정수 a로 나눔으로써, 위치를 되돌린다.
단계 S65에서는, i= 0∼(N-1)에 관하여 (Pi-κQi)를 구하여, 이들을 배열[Pi]에 저장한다(겹쳐 쓴다). 단계 S66에서는 i=0∼(N-1)에 관하여 (Li-Qi 2)를 구하여, 이들을 배열[Li]에 저장한다(겹쳐 쓴다). 이상에 의해 상기 수학식 29의 계산은 수학식 31로 나타낼 수 있다.
Figure 112000026778150-pat00031
단계 S67에서는 hi의 최대값을 보유하는 레지스터 E=0, 기저 추출벡터<ui>의 인덱스 카운터 i=0으로 각각 초기화하고, 또한 기저수 카운터 k에 "1"을 더하여 k=3이 된다.
단계 S68에서는 hi=Pi 2/Li를 구한다. 단계 S69에서는 hi 가 E보다 큰지 아닌지를 판별한다. hi가 E보다 큰 경우는 단계 S70에서 E를 hi로 갱신하여, 그 때의 i를 배열[Ik](k=3)에 보유한다. 또한, hi가 E보다 크지 않은 경우는 상기 단계 S70의 처리를 스킵한다.
단계 S71에서는 i에 "1"을 더하고, 단계 S72에서는 i가 N보다 크거나 같은지 아닌지를 판별한다. i가 N보다 크거나 같지 않은 경우는 단계 S68로 되돌아가, 다음 hi에 관하여 상기와 같은 최대값 탐색 처리를 한다. 이하, 마찬가지로 진행하여, i≥N이 되면 전체 네스트 블록의 탐색을 종료한다. 이때, 상기 배열[Ik](k=3)에는 hi를 최대로 하는 제 3 기저벡터<u3>의 인덱스값 i가 보유되어 있다.
단계 S73에서는 제 3 기저벡터<u3>를 <v1> 및 <v2>에 직교화 또한 정규화하여 정규화 기저벡터<v3>가 되고, 이것을 배열[Vk]에 저장한다. 또한, 스칼라 계수 α3(<d2>의 <v3>로의 투영)을 구하여, 이것을 배열 [Ak ]에 저장한다.
단계 S74에서는 미분벡터<d2>를 제 3 기저로 근사 후의 미분벡터<d3>=<d2>-α3<v3>에 의해 갱신한다. 단계 S75에서는 새로운 미분벡터의 제곱기준e=∥d32를 구하고, 단계 S76에서는 e가 Z보다 작거나 같은지 아닌지를 판별한다. e가 Z보다 작거나 같은 경우는 이 단계에서 AOT 처리를 종료하고, e가 Z보다 작거나 같지 않은 경우는 단계 S61로 되돌아가, 제 4 기저 이후의 이전 처리 및 탐색 처리를 한다. 이때, 도시하지 않지만, 바람직하게는, 예컨대 상기 단계 S76의 다음으로 k가 4보다 크거나 같은지 아닌 지의 판별처리를 하여, k가 4보다 크거나 같은 경우는 이 AOT 처리를 스킵할 수 있다.
이상에 의해, AOT 처리가 상기 처리 또는 연산에 의해 대폭적인 경량화 및 고속화가 가능해질 수 있다. 실제 계산시간은 종래의 방법과 비교하여 1/3∼1/10으로 단축되었다.
도 6을 참조하여, AOT(32)로부터는 αk <vk>(k=1∼m)의 그룹을 얻을 수 있고, 이들의 선형결합에 의해 미분벡터<dj>를 허용오차 Z이내로 근사할 수 있다.
또한, 계수 변환부(33)는 αk <vk>(k=1∼m)의 그룹을 βk <uk >(k=1∼m)의 그룹으로 변환하고, 이하의 방법에 의해 전개계수βk를 구한다. 즉, 기저 추출벡터<uk>, 전개계수βk, 정규화 기저벡터<vk>, 스칼라 계수αk의 각 행렬을 수학식 32로 나타낼 때에,
Figure 112000026778150-pat00032
이 행렬의 관계를 수학식 33으로 나타낸다.
Figure 112000026778150-pat00033
이 수학식을 행렬 B에 관해서 풀기 위해서는, 우선 행렬 U를 정방 행렬로 변환하고, 양변에 행렬 U의 전치행렬 UT를 좌측으로부터 곱해진다.
Figure 112000026778150-pat00034
이 행렬(UTU)은, 수학식 35와 같이 전개된다.
Figure 112000026778150-pat00035
상기 수학식 35에서, <ui·uj>는 내적을 나타내고, <ui·uj >가 <uj·ui>이기 때문에, 대각요소에 대하여 대칭인 정방행렬을 얻을 수 있고, <ui>과 <uj>이 다르기 대문에 역행열이 존재한다. 그래서, 양변의 좌측에서 행렬(UTU)의 역행열(UTU)-1 을 곱하므로써 수학식 36을 얻을 수 있어, βk가 구해진다.
Figure 112000026778150-pat00036
이와 같이 정규 직교 기저계αk <vk>(k=1∼m)의 그룹을 비 직교 기저계βk <uk>(k=1∼m)의 그룹으로 변환함에 의해, 복호측에서는 각 기저 추출벡터<uk>를 일일이 직교화할 필요는 없고, 각각에 βk를 곱하여 가산함에 의해 미분벡터<dj>를 근사할 수 있다. 따라서, 복호처리를 간단하게 고속으로 할 수 있다.
다음으로, 전개계수βk의 압축부호처리를 설명한다.
도 13은 전개계수 압축부호처리의 화상 도면이다. 도 13a에서, 생성된 β1∼β4로부터 기준을 추출한다. 도 13b에서, 기준을 예컨대 오름차순(β3, β2, β4, β1)으로 배열하고, 차이(△β3, △β2, △β4, △β1 )를 구한다. 도 13c에 있어서, 계수미분(△β3, △β2, △β4, △β1)을 그 하위 2비트와 상위 비트로 분리하여, 상위 비트를 하프맨 부호화한다.
이 예에서는 △β3과 (△β2=△β4=△β1)의 2 그룹이 그 값에 관하여 존재하고, 하프맨 부호화에 따라 발생 빈도가 높은 (△β2, △β4, △β1)에는 비트 수가 적은 부호가 할당되고, 또한 발생빈도가 낮은 △β3에는 비트 수가 많은 부호가 할 당된다. 따라서, 전개계수βk의 압축부호화가 가능해진다. 더구나, 계수미분△βk의 상위 비트를 하프맨 부호화 하는 구성에 의해, 하위 비트의 분수가 생략되어서, 상위 비트에서는 도 13c에 도시한 것과 같이 △β2=△β4=△β1이 될 가능성이 높다.
또한, 미분 △βk의 하위 2비트는 정부(正負)의 부호 비트와 함께 대응하는 기저벡터<uk>의 인덱스 정보(13비트= 0∼8191)와 함께 2바이트 고정 길이 부호 영역에 패킹(packing)되어, 고정 길이 부호로서 출력된다. 이들의 부호의 출력순서는 △β3, △β2, △β4, 및 △β1(즉, u3, u2 , u4, u1)의 순이다.
도 13d에서, 복호측에서는 각 부호를 u3, u2, u4, u1의 순으로 입력하여, 각각으로부터 계수 △β3, △β2, △β4, △β1을 분리한다. 또한, 최초의 △β3로부터 β3을 복호하여, 해당 β3에 △β2를 더하여 β2를 복호하고, 해당 β2에 △β4를 더하여 β4를 복호하고, 해당 β4에 △β1을 더하여 β1을 복호한다. βk <uk>는 이들의 합(선형결합)을 갖는 기능을 하는 것이므로, 이들의 순서는 문제가 안 된다.
이때, 오름차순 대신에 내림차순으로 기준을 배열하여서 그 차이를 구한다.
이하, 부호부(34)에 의한 부호처리를 설명한다. DPCM의 예측미분△DCJ, I 에 관해서는 양자화 계수 Q(Z)로 양자화 함과 동시에, △DCJ, I가 0인 경우만 런 길이를 고려하여, 예측미분△DCJ, I 및 런 길이를 독립적으로 하프맨 부호화한다. 기저수 k는, 0인 경우만 런 길이를 고려하여, 기저수 k 및 런 길이를 각기 독립적으로 하프 맨 부호화한다. 계수미분△βk의 상위 비트는 정수 Q(예컨대, 8)로 양자화한 몫을 하프맨 부호화한다. 또한, 기저벡터<uk>의 코드정보 i(=13 비트)에 전개계수βk의 부호 비트 및 계수미분△βk의 하위 2비트를 채워 16비트의 고정길이부호가 되고, 이들은 미분△βk의 오름차순(또는 내림차순)으로 채워진다. 전체적으로는 화소블록 단위로 출현하는 순서로 채워 부호열을 구성한다. 필요하면 화소블록의 교환을 나타내기 위해 부호 EOB를 입력한다.
도 14는 본 발명의 실시예인 화상복호장치의 블록도로, 상기 도 6에 도시된 것과 같은 화상부호장치에 대응한 것이다. 도 14에 있어서, 41은 하프맨 등에 의한 복호부, 42는 주목(noticeable) 화소 DCJ를 포함하는 주위의 DC값 DCJ'으로부터 교류성분을 포함하는 타겟블록<Rj>을 추정하는 교류성분 예측부, 43은 복호 기저계βk<uk>(k=1∼m)에 근거하는 근사 미분벡터<dj>를 재생하는 미분벡터 재생부, 44는 복호블록<Rj>에 근거하여 타겟블록<Rj>를 재생하는 Rj 재생부, 45는 재생화상을 기억하는 재생 화상 메모리, 46은 복호 DC값을 IDPCM 복호하는 IDPCM부, 47은 복호 DC 화상을 기억하는 DC 화상 메모리, 48은 도 10과 같은 DC네스트 생성부, 49는 DC 네스트를 기억하는 DC 네스트 메모리, 50은 DC 네스트로부터 다운샘플된 선택블록<Uk>을 보유하는 선택블록버퍼, 51은 <Uk>에 βk를 승산하는 승산기, 52 및 53은 βk<Uk>(k=1∼m)의 누적 가산부, 54는 누적가산 결과의 블록 평균값 Aj 를 구하 는 평균기, 55는 누적가산결과로부터 블록 평균값 Aj를 분리하는 감산기, 56은 재생 근사 미분벡터<dj>를 보유하는 근사 벡터 버퍼, 57은 타겟블록<Rj>의 재생 DC값 DCJ에 재생 근사 미분벡터 <dj>를 가산하는 가산기이다.
도 15는 본 발명의 실시예인 화상복호처리의 흐름도이다. 단계 S101에서는 화상 부호 데이터를 판독한다. 단계 S102에서는 도 6과 같은 IDPCM 법에 의해 Y, U, V의 각 DC값을 복호하여, DC 화상을 재생한다. 단계 S103에서는 Y성분의 DC 값으로부터 DC 네스트를 생성한다. 이때, 상기 도 7에 나타낸 것처럼, 각 DC 화소값 DCJ의 하위 4비트가 마스크되어, 각 DC 네스트 화소값 Nj이 된다. 이때, DC 화상을 잘라 낸 위치 등의 정보는 별도로 수신한다. 단계 S104에서는 원래 화상 메모리(45) 및 DC 화상 메모리(47)에 대한 인덱스 카운터 j 및 J를 함께 0으로 초기화한다.
단계 S105에서는, 1 블록 화상분의 부호 데이터를 입력한다. 단계 S106에서는 기저수 k가 0인지 아닌지를 판별한다. k가 0인 경우는 단계 S114에서 후술하는 교류성분 예측법에 의해 타겟블록<Rj>을 재생한다. 또한, k가 0이 아닌 경우는 단계 S107에서 1≤k≤4인지 아닌지를 판별한다.
1≤k≤4의 경우는 단계 S112에서 미분벡터<dj>를 역양자화한다. 본 실시예에서는 미리 DC 네스트의 하위 4비트가 마스크되어 있기 때문에, 각 선택블록<Uk>에 직접 βk를 곱해서 이들을 누적 가산하여, 누적가산결과로부터 그 블록 평균값 Aj를 1회만 분리함으로써 미분벡터<dj>를 일거에 얻을 수 있다. 따라서 복호처리가 고속화된다. 단계 S113에서는 얻어진 미분벡터<dj>에 대응하는 DC값 DCJ를 가산한다.
또한, 1≤k≤4이 아닌 경우는 단계 S108에서 타겟블록<Rj>의 복호 데이터로부터 타겟블록<Rj>를 직접 재생한다. 이렇게 해서, 상기 어느 하나의 방법에 의해 4×4화소의 타겟블록<Rj>이 재생된다. 단계 S109에서는 그 재생된 타겟블록<Rj>을 재생 화상 메모리(45)에 저장한다.
단계 S110에서는 카운터 j 및 J에 각각 "1"을 더하고, 단계 S111에서는 i≥M(전체 화소 블록수)인지 아닌지를 판별한다. i≥M이 아닌 경우는 단계 S105로 되돌아가, 다음 블록 화상 부호 데이터에 관하여 상기와 같은 복호 및 재생처리를 한다. 단계 S111의 판별로 j≥M이 되면, 1화상마다의 복호처리를 종료한다.
도 16은 본 발명의 실시예인 교류성분예측의 화상 도면으로, 종래의 예측법을 채용할 수 있다.
도 16a는 단계적 교류 성분 예측법을 나타내고 있고, 이하에 내용을 개설한다. 그 제 1 단계에서는 주목 블록 S상의 각 서브블록 S1∼S4를 해당 S를 포함하는 주위 4블록(U, R, B, L)의 각 DC 값으로부터 다음 식에 의해 추정한다.
S1=S+(U+L-B-R)/8
S2=S+(U+R-B-L)/8
S3=S+(B+L-U-R)/8
S4=S+(B+R-U-L)/8
마찬가지로 하여서, 이 제 1 단계에서는 U1∼U4, L1∼L4, R 1∼R4, B1∼B4 등이 추정된다. 또한, 그 제 2 단계에서는 상기 방법을 반복적으로 사용함으로써, S1 상의 4 화소 P1∼P4를 다음 식에 의해 추정한다.
P1=S1+(U3+L2-S3-S2)/8
P2=S1+(U3+S2-S3-L2)/8
P3=S1+(S3+L2-U3-S2)/8
P4=S1+(S3+S2-U3-L2)/8
S2∼S4상의 각 4화소 P1∼P4에 관해서도 마찬가지로 추정한다. 이러한 2단계 처리에 의해 타겟블록<Rj>이 재생된다.
도 16b는 본건 출원인에 의해 이미 제안된 비단계적 교류성분 예측법을 나타내고 있고, 주목 블록 S를 포함하는 주위 4블록(U, R, B, L)의 각 DC값으로부터 각 서브블록 S1∼S4에서의 각 4화소 P1∼P4를 일거에 추정한다. 우선, S1상의 4화소 P1∼P4를 구하는 경우는, S2≒S3≒S, U3≒U, L2 ≒L의 각 근사를 한다. 이 근사를 상기 S1상의 P1의 식에 적용하면,
P1=S1+(U3+L2-S3-S2)/8
=S1+(U+L-S-S)/8
를 얻을 수 있다.
또한, 이 식에 상기 S1의 식, S1=S+(U+L-B-R)/8을 대입하면, S1상의 P1 은 최종적으로,
P1=S+(2U+2L-2S-B-R)/8
로 나타낼 수 있다. 또한, 상기 S1상의 P2에 관해서는,
P2=S1+(U3+S2-S3-L2)/8
=S1+(U+S-S-L)/8
를 얻을 수 있다. 또한, 이 식에 상기 S1의 식, S1=S+(U+L-B-R)/8을 대입하면, S1 상의 P2는 최종적으로,
P2=S+(2U-B-R)/8
로 나타낼 수 있다. 또한, 상기 S1상의 P3에 관해서는,
P3=S1+(S3+L2-U3-S2)/8
=S1+(S+L-U-S)/8
를 얻을 수 있다.
또한, 이 식에 상기 S1의 식, S1=S+(U+L-B-R)/8을 대입하면, S1상의 P3 은 최종적으로,
P3=S+(2L-B-R)/8
로 나타낼 수 있다. 또한, 상기 S1상의 P4에 관해서는,
P4=S1+(S3+S2-U3-L2)/8
=S1+(S+S-U-L)/8
를 얻을 수 있다. 또한, 이 식에 상기 S1의 식, S1=S+(U+L-B-R)/8을 대입하면, S1 상의 P4는 최종적으로,
P4=S+(2S-B-R)/8
로 나타낼 수 있다. 따라서, S1상의 4화소 P1∼P4는,
P1=S+(2U+2L-2S-B-R)/8
P2=S+(2U-B-R)/8
P3=S+(2L-B-R)/8
P4=S+(2S-B-R)/8
에 의해 비단계적으로 일거에 구해진다. S2∼S4상의 각 4화소 P1∼P4 에 관해서도 마찬가지이다.
이때, 상기 실시예를 구체적 수치 예를 사용하여서 설명하였지만, 본 발명이 이들에 한정되지 않은 것은 분명하다.
또한, 상기 본 발명에 바람직한 실시예를 서술하였지만, 본 발명의 사상을 일탈하지 않은 범위 내에서 각 부의 구성, 제어, 처리 및 이들의 조합의 여러가지 변경을 할 수 있는 것은 말할 나위도 없다.
상술한 것처럼, 본 발명에 의하면, DC네스트의 개량에 의해 고화질을 얻을 수 있고, AOT연산의 고안에 의해 고속 부호화를 얻을 수 있었다. 따라서, HVQ 방식의 고화질화, 고속 부호화에 기여하는 점이 매우 크다.

Claims (16)

  1. 화상 데이터를 B 화소마다 블록분할하여 각 블록 평균값으로 이루어지는 DC 화상을 생성하여, 상기 DC 화상의 일부를 DC 네스트로 함과 동시에, 부호대상의 화소블록으로부터 그 DC 값을 분리한 미분벡터의 크기가 허용값을 넘은 경우는, 해당 미분벡터를 근사하기 위한 하나 이상의 직교기저를 DC 네스트를 사용한 적응적 직교변환에 의해 구하는 화상부호방법에 있어서,
    DC 네스트로부터 기저 추출블록을 다운샘플하여 그 블록 평균값을 구할 때의 각 샘플 DC 화소의 하위 n(n=log2B)비트가 0으로 되고,
    DC 화상으로부터 DC 네스트를 생성할 때에 각 DC 화소의 하위 n 비트를 0으로 하는 것을 특징으로 하는 화상부호방법.
  2. 삭제
  3. 제 1 항에 있어서,
    DC 화소의 n 비트가 0으로 되어 있는 기저 추출블록으로부터 그 블록 평균값을 분리하여 미분벡터를 근사하기 위한 기저 추출벡터를 생성하는 것을 특징으로 하는 화상부호방법.
  4. 제 3 항에 있어서,
    기저 추출벡터<ui>의 임의 요소를 나머지 요소의 선형결합으로 치환함과 동시에, 기저 추출벡터<ui>와 임의 다른 벡터<w>의 내적을, <w·ui>=(w 1-w16) u1+(w2-w16)u2+,…,+(W15-w16)u15의 식에 의해 구하는 것을 특징으로 하는 화상부호방법.
  5. 제 3 항에 있어서,
    <d>를 미분벡터로, <ui>를 기저 추출벡터로 할 때에 제 1 기저 탐색은 다음 식에서,
    hi=<d·ui>2/∥ui∥2
    을 최대로 하는 것을 조건으로 탐색하는 것을 특징으로 하는 화상부호방법.
  6. 제 3 항에 있어서,
    <d>를 미분벡터로, <u1>를 제 1 기저에 대응하는 기저 추출벡터로, <ui>를 제 2 기저를 탐색하는 기저 추출벡터로 할 때에 제 2 기저 탐색은 다음 식에서,
    hi={<d·ui>-(<d·u1><u1·ui>)/∥u12}2/{∥ui2-(<v1·ui>)/∥u12}
    를 최대로 하는 것을 조건으로 탐색하는 것을 특징으로 하는 화상부호방법.
  7. 제 3 항에 있어서,
    <d>를 미분벡터로, <v1>를 제 1 정규 기저벡터로, <v2>를 제 2 정규 직교 기저벡터로, <ui>를 제 3 기저를 탐색하는 기저 추출벡터로 할 때, 제 3 기저 탐색은 다음 식에서,
    hi=(<d·ui>-(d·v1><v1·ui>-<d·v2><v2·ui>)2/{∥ui2-<v1·ui>2-<v2·ui>2}를 최대로 하는 것을 조건으로 탐색하는 것을 특징으로 하는 화상부호방법.
  8. 제 6 항 또는 제 7 항에 있어서,
    탐색조건에 일치한 기저 추출벡터<ui>를 그 이전의 하나 이상의 정규 직교기저에 정규 직교화하는 것을 특징으로 하는 화상부호방법.
  9. 화상 데이터를 B 화소마다 블록분할하여 각 블록 평균값으로 이루어지는 DC 화상을 생성하여, 상기 DC화상의 일부를 DC 네스트로 함과 동시에, 부호대상의 화소블록으로부터 그 DC 값을 분리한 미분벡터의 크기가 허용값을 넘은 경우는, 해당 미분벡터를 근사하기 위한 하나 이상의 직교기저를 DC 네스트를 사용한 적응적 직교 변환에 의해 구하는 화상부호방법에 있어서,
    기저계를 βk<uk>(k=1∼m)로 할 때에, 각 스칼라 전개 계수 β1∼β m의 기준을 그 크기 순으로 재배열하고, 인접 기준간의 각 차이(0을 포함)를 구하여, 얻어진 각 차이에 관하여 하프맨 부호를 적용하는 것을 특징으로 하는 화상부호방법.
  10. 화상 데이터를 B 화소마다 블록분할하여 각 블록 평균값으로 이루어지는 DC 화상을 생성하여, 그 DC화상의 일부를 DC 네스트로 함과 동시에, 부호대상의 화소블록으로부터 그 DC 값을 분리한 미분벡터의 크기가 허용값을 넘은 경우는, 해당 미분벡터를 근사하기 위한 하나 이상의 직교기저를 DC 네스트를 사용한 적응적 직교 변환에 의해 구하는 화상부호방법에 있어서,
    기저수가 소정 이상인 경우는 기저계의 부호화 대신에, 부호 대상블록의 화상 데이터를 부호화하는 것을 특징으로 하는 화상부호방법.
  11. HVQ 방식에 관하여 부호 데이터로부터 B 화소마다의 각 블록 평균값에 해당 하는 DC 화상을 재생하여, 그 DC화상의 일부를 DC 네스트로 함과 동시에, 타겟블록의 DC 값에 대하여, 상기 부호 데이터에 근거하여 DC 네스트로부터 선택 생성한 하나 이상의 기저벡터를 합성하여 타겟블록의 화상 데이터를 재생하는 화상복호방법에 있어서,
    DC 네스트로부터 선택블록을 다운샘플하여 그 블록 평균값을 구할 때의 각 샘플 DC 화소의 하위 n(n= log2B)비트가 0으로 되어 있는 것을 특징으로 하는 화상복호방법.
  12. HVQ 방식에 관한 부호 데이터로부터 B 화소마다의 각 블록 평균값에 해당하는 DC 화상을 재생하여, 그 DC화상의 일부를 DC 네스트로 함과 동시에, 타겟블록의 DC 값에 대하여, 상기 부호 데이터에 근거하여 DC 네스트로부터 선택 생성한 하나 이상의 기저벡터를 합성하여 타겟블록의 화상 데이터를 재생하는 화상복호방법에 있어서,
    복호된 기저계가 βk<uk>(k=1∼m)에 관한 정보일 때에, DC 네스트로부터 판독한 각 선택블록<Uk>에 관하여 각 DC 화소의 하위 n(n= log2B)비트가 0으로 되어 있음과 동시에, βk<Uk>(k=1∼m)의 곱-합 계산을 하여, 그 계산결과를 블록화소수 B로 나누는 것을 특징으로 하는 화상복호방법.
  13. 제 11 항 또는 제 12 항에 있어서,
    DC 화상으로부터 DC 네스트를 생성할 때에 각 DC 화소의 하위 n 비트를 0으로 하는 것을 특징으로 하는 화상복호방법.
  14. 화상 데이터를 B 화소마다 블록분할하여 각 블록 평균값으로 이루어지는 DC 화상을 생성하여, 그 DC 화상의 일부를 DC 네스트로 함과 동시에, 부호대상의 화소블록으로부터 그 DC 값을 분리한 미분벡터의 크기가 허용값을 넘은 경우는, 해당 미분벡터를 근사하기 위한 하나 이상의 직교기저를 DC 네스트를 사용한 적응적 직교 변환에 의해 구하는 화상부호장치에 있어서,
    각 DC 네스트 화소의 하위 n(n= log2B)비트가 0으로 되어 있는 DC 네스트를 기억하는 메모리를 구비한 것을 특징으로 하는 화상부호장치.
  15. HVQ 방식에 관한 부호 데이터로부터 B 화소마다의 각 블록 평균값에 해당하는 DC 화상을 재생하여, 그 DC화상의 일부를 DC 네스트로 함과 동시에, 타겟블록의 DC 값에 대하여, 상기 부호 데이터에 근거하여 DC 네스트로부터 선택생성한 하나 이상의 기저벡터를 합성하여 타겟블록의 화상 데이터를 재생하는 화상복호장치에 있어서,
    각 DC 네스트 화소의 하위 n(n=log2B)비트가 0으로 되어 있는 DC 네스트를 기억하는 메모리를 구비한 것을 특징으로 하는 화상복호장치.
  16. 청구항 1, 2, 9, 10, 11 또는 청구항 12 중 어느 한 항에 기재된 처리를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
KR1020000076886A 2000-05-15 2000-12-15 화상부호/복호방법 및 그 장치 및 그 프로그램을 기록한기록매체 KR100741553B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000141675A JP3932244B2 (ja) 2000-05-15 2000-05-15 画像符号/復号方法及びその装置並びにそのプログラムを記録した記録媒体
JP2000-141675 2000-05-15

Publications (2)

Publication Number Publication Date
KR20010104610A KR20010104610A (ko) 2001-11-26
KR100741553B1 true KR100741553B1 (ko) 2007-07-20

Family

ID=18648758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000076886A KR100741553B1 (ko) 2000-05-15 2000-12-15 화상부호/복호방법 및 그 장치 및 그 프로그램을 기록한기록매체

Country Status (8)

Country Link
US (2) US6714687B2 (ko)
EP (1) EP1156679A3 (ko)
JP (1) JP3932244B2 (ko)
KR (1) KR100741553B1 (ko)
CN (1) CN1324060A (ko)
CA (1) CA2328037A1 (ko)
MX (1) MXPA01001104A (ko)
TW (1) TW503666B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310598B1 (en) * 2002-04-12 2007-12-18 University Of Central Florida Research Foundation, Inc. Energy based split vector quantizer employing signal representation in multiple transform domains
US7343039B2 (en) * 2003-06-13 2008-03-11 Microsoft Corporation System and process for generating representations of objects using a directional histogram model and matrix descriptor
KR100612669B1 (ko) 2003-10-29 2006-08-14 에스케이 텔레콤주식회사 이동 통신 단말에서 고해상도 jpeg 화상을디스플레이하기 위한 방법과 이를 위한 이동 통신 단말
JP3833224B2 (ja) 2004-01-30 2006-10-11 キヤノン株式会社 符号化方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
CN101044511A (zh) * 2004-10-18 2007-09-26 汤姆森特许公司 胶片颗粒模拟的方法、装置及***
US7864864B2 (en) * 2005-06-27 2011-01-04 Intel Corporation Context buffer address determination using a plurality of modular indexes
US8968080B1 (en) 2010-11-05 2015-03-03 Wms Gaming, Inc. Display of third party content on a wagering game machine
US8515179B1 (en) * 2012-02-10 2013-08-20 Raytheon Company System and method for hyperspectral image compression
CN110892722A (zh) * 2017-12-06 2020-03-17 富士通株式会社 模式信息的编码和解码方法、装置以及电子设备
US20220327811A1 (en) * 2021-04-09 2022-10-13 Singulos Research Inc. System and method for composite training in machine learning architectures

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06253281A (ja) * 1993-02-24 1994-09-09 Nippon Telegr & Teleph Corp <Ntt> 画像信号直交変換方法
KR960036764A (ko) * 1995-03-16 1996-10-28 모리시타 요이찌 화상신호의 부호화장치 및 복호장치
JPH10136367A (ja) * 1996-10-29 1998-05-22 Kokusai Denshin Denwa Co Ltd <Kdd> 適応直交変換モード判定方法
US5767908A (en) * 1994-12-19 1998-06-16 Samsung Electronics Co., Ltd. Adaptive orthogonal transform coding apparatus
KR19990036088A (ko) * 1995-08-03 1999-05-25 모리시타 요이찌 화상 부호화 장치, 화상 복호화 장치 및 그 방법 및 화상 전송시스템

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0738760A (ja) * 1993-06-28 1995-02-07 Nec Corp 直交変換基底生成方式
US5937098A (en) * 1995-02-06 1999-08-10 Asahi Kogaku Kogyo Kabushiki Kaisha Adaptive quantization of orthogonal transform coefficients for setting a target amount of compression
KR0174453B1 (ko) * 1995-02-28 1999-03-20 배순훈 디지털 영상 복호화 방법
KR0174452B1 (ko) * 1995-02-28 1999-03-20 배순훈 디지털 영상 복호화장치
JPH11196262A (ja) * 1997-11-07 1999-07-21 Matsushita Electric Ind Co Ltd デジタル情報埋込み・抽出装置および方法並びに当該方法を実行するためのプログラムを記録した媒体
CA2347383A1 (en) 1998-07-03 2000-01-13 Hudson Co., Ltd. Image coding/decoding method and recordind medium having program for this method recorded thereon

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06253281A (ja) * 1993-02-24 1994-09-09 Nippon Telegr & Teleph Corp <Ntt> 画像信号直交変換方法
US5767908A (en) * 1994-12-19 1998-06-16 Samsung Electronics Co., Ltd. Adaptive orthogonal transform coding apparatus
KR960036764A (ko) * 1995-03-16 1996-10-28 모리시타 요이찌 화상신호의 부호화장치 및 복호장치
KR19990036088A (ko) * 1995-08-03 1999-05-25 모리시타 요이찌 화상 부호화 장치, 화상 복호화 장치 및 그 방법 및 화상 전송시스템
JPH10136367A (ja) * 1996-10-29 1998-05-22 Kokusai Denshin Denwa Co Ltd <Kdd> 適応直交変換モード判定方法

Also Published As

Publication number Publication date
TW503666B (en) 2002-09-21
CA2328037A1 (en) 2001-11-15
JP3932244B2 (ja) 2007-06-20
EP1156679A3 (en) 2003-10-08
MXPA01001104A (es) 2004-08-12
CN1324060A (zh) 2001-11-28
US20010051005A1 (en) 2001-12-13
US20040151389A1 (en) 2004-08-05
EP1156679A2 (en) 2001-11-21
KR20010104610A (ko) 2001-11-26
US6714687B2 (en) 2004-03-30
US7231089B2 (en) 2007-06-12
JP2001326935A (ja) 2001-11-22

Similar Documents

Publication Publication Date Title
JP4966669B2 (ja) マッチング追跡を用いたデータ圧縮
JP3681386B2 (ja) 改良されたベクトルの量子化のための前処理及び後処理
TWI521890B (zh) Image coding apparatus, method and program, and image decoding apparatus, method and program
EP0450937B1 (en) Geometric vector quantization
TWI496438B (zh) Image coding apparatus, method and program, and image decoding apparatus, method and program
US5635986A (en) Method for encoding a contour of an object in a video signal by using a contour motion estimation technique
JP3356663B2 (ja) 画像符号化装置、画像符号化方法および画像符号化プログラムを記録した記録媒体
KR100574702B1 (ko) 화상부호/복호방법 및 그 프로그램을 기록한 기록매체
EP1523196A2 (en) Encoding system of motion image containing arbitrary object
CN107071419A (zh) 图像编码设备和方法以及图像解码设备和方法
KR100922510B1 (ko) 영상의 부호화 및 복호화 방법, 장치 및 그 애플리케이션
CN101273639A (zh) 多维数字信号的滤波方法和设备及相关编解码方法和设备
KR100741553B1 (ko) 화상부호/복호방법 및 그 장치 및 그 프로그램을 기록한기록매체
KR987001186A (ko) 영역기준 텍스쳐 코딩 방법과 디코딩 방법, 및 그 대응 시스템(Region-based Texture Coding and Decoding Method, and Corresponding Systems)
JP3764765B2 (ja) ディジタル画像の処理方法及びシステム
Kountchev et al. Inverse pyramidal decomposition with multiple DCT
JP3120664B2 (ja) 画像符号化装置、画像復号化装置
JPH08317410A (ja) 映像信号符号化方法及びその装置
EP0932106A1 (en) Digital signal converting method and device, transformation matrix generating method and device, and supply medium
JPH0746595A (ja) 動画像符号化器および復号化器
JPH0621828A (ja) ベクトル量子化復号化器
JPH11103463A (ja) 画像符号化方法及び記憶媒体
JP3857820B2 (ja) 画像圧縮装置および画像伸張装置
KR100775422B1 (ko) 비균일 표본화된 영상의 압축/복원 방법
Chan et al. Variable block-size interpolative vector quantization of images

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20130705

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140707

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150703

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160705

Year of fee payment: 10