KR20030043634A - 데이터 부호화/복호화 방법 및 장치 - Google Patents

데이터 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR20030043634A
KR20030043634A KR1020020067679A KR20020067679A KR20030043634A KR 20030043634 A KR20030043634 A KR 20030043634A KR 1020020067679 A KR1020020067679 A KR 1020020067679A KR 20020067679 A KR20020067679 A KR 20020067679A KR 20030043634 A KR20030043634 A KR 20030043634A
Authority
KR
South Korea
Prior art keywords
data
quantized
value
cyclic
inverse
Prior art date
Application number
KR1020020067679A
Other languages
English (en)
Other versions
KR100543697B1 (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 삼성전자주식회사
Priority to EP05076145A priority Critical patent/EP1564999B1/en
Priority to JP2002344477A priority patent/JP3756875B2/ja
Priority to EP05076146.9A priority patent/EP1565000B1/en
Priority to CNB021542945A priority patent/CN100459460C/zh
Priority to US10/305,174 priority patent/US7336713B2/en
Priority to EP02258179A priority patent/EP1320266A3/en
Publication of KR20030043634A publication Critical patent/KR20030043634A/ko
Priority to JP2005216403A priority patent/JP4191706B2/ja
Priority to JP2005216402A priority patent/JP4070783B2/ja
Application granted granted Critical
Publication of KR100543697B1 publication Critical patent/KR100543697B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 차분 데이터의 크기를 감소시키는 DPCM 연산 방법 및 이를 이용한 데이터 부호화 방법 및 장치를 제공한다.
본 발명의 DPCM 연산 방법은 (a) 양자화된 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하고, 예측 DPCM 연산을 수행하여 예측 차분 데이터를 생성하는 단계, (b) 차분 데이터들에 대해서 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하여 순환 양자화된 차분 데이터 및 순환 양자화된 예측 차분 데이터를 생성하는 단계, 및 (c) 차분 데이터들의 크기에 따라서 순환 양자화된 차분 데이터 및 예측 차분 데이터 중 하나를 선택하는 단계를 포함한다.

Description

데이터 부호화/복호화 방법 및 장치{Method and apparatus for encoding/decoding the data}
본 발명은 데이터 부호화 및 복호화 장치 및 방법에 관한 것이다. 특히, 본 발명은 신규한 DPCM 연산 방법 및 데이터 정규화 방법에 관하고, 신규한 DPCM 연산 방법 및 데이터 정규화 방법을 이용한 데이터 부호화 및 복호화 방법 및 장치에 관한 것이다.
도 1 은 종래의 데이터 부호화 장치 및 복호화 장치의 구성을 도시하는 블록도이다. 종래의 부호화 장치는 양자화기(100), DPCM 연산부(110), 및 엔트로피 부호화기(120)로 구성된다. 종래의 부호화 방법에 대해서 설명하면, 입력 데이터는 양자화기(100)에서 소정의 비트수로 양자화된 후 DPCM 연산부(110)로 입력된다. DPCM 연산부(110)는 양자화된 데이터에 대해서, 이전 데이터에서 현재의 데이터를 감산함으로써 차분 데이터를 계산하고, 계산된 차분 데이터를 엔트로피 부호화기(120)로 출력한다. 엔트로피 부호화기(120)는 소정의 엔트로피 부호화방법을 이용하여 차분 데이터를 비트스트림으로 부호화한다.
한편, 종래의 복호화 장치는 엔트로피 복호화기(130), 역 DPCM 연산부(140), 및 역 양자화기(150)로 구성되고, 데이터를 부호화한 비트스림은 엔트로피 복호화기(130)로 입력된다. 엔트로피 복호화기(130)는 엔트로피 부호화기에서 수행된 연산의 역과정을 수행하여 차분 데이터를 출력하고, 역 DPCM 연산부(140)는 입력된 차분 데이터를 변환하여 양자화된 데이터를 역 양자화기로 출력하며, 역 양자화기(150)는 입력된 양자화된 데이터를 역 양자화하여 복원된 데이터를 출력한다.
그러나, 상술한 종래의 부호화 방법은 부호화할 데이터의 양을 줄이기 위해서 단순한 DPCM 연산만을 수행할 뿐이므로 부호화 효율이 높지 못하고, 여러 성분의 데이터가 연속적으로 입력될 때, 각 성분의 데이터의 성질을 고려하지 않고 부호화하므로 부호화 효율이 높지 못하였다.
본 발명의 제 1 기술적 과제는 부호화될 데이터의 크기를 크게 감소시킬 수 있는 DPCM 연산 방법 및 DPCM 연산 장치를 제공하는 것이다.
본 발명의 제 2 기술적 과제는 양자화 과정에서 발생하는 양자화 오차를 최소화하면서 데이터를 부호화할 수 있는 부호화/복호화 방법 및 장치를 제공하는 것이다.
본 발명의 제 3 기술적 과제는 복수 성분의 데이터가 입력될 때, 하나의 성분에 따라서 나머지 성분의 데이터를 정규화함으로써 데이터의 크기를 감소시키는정규화 방법을 이용한 부호화/복호화 방법 및 장치를 제공하는 것이다.
본 발명의 제 4 기술적 과제는 본 발명의 DPCM 연산 방법, 오차 최소화 방법 및 정규화 방법을, 3차원 에니메이션에 표현되는 객체의 위치를 나타내는 위치 인터폴레이터의 키 값 데이터의 부호화 방법 및 복호화 방법에 적용한 부호화 방법 및 장치를 제공하고, 이러한 부호화 방법 및 장치에 의해서 부호화된 비트스트림을 복호화하는 방법 및 장치를 제공하는 것이다.
도 1 은 종래의 데이터 부호화/복호화 장치의 구성을 도시하는 블록도이다.
도 2a 는 본 발명의 DPCM 연산 장치의 구성을 도시하는 블록도이고, 도 2b 는 본 발명의 DPCM 연산 방법을 설명하는 흐름도이다.
도 3a 는 본 발명의 DPCM 연산 장치를 이용한 데이터 부호화 장치의 구성을 도시하는 블록도이고, 도 3b 는 도 3a 에 도시된 부호화 장치의 처리 과정을 설명하는 흐름도이다.
도 4a 는 양자화 오차를 최소화하는 부호화 장치의 구성을 도시하는 블록도이고, 도 4b 는 양자화 오차를 최소화하는 방법을 설명한 흐름도이다.
도 5a 는 복수 성분의 입력 데이터를 정규화하여 부호화하는 부호화 장치의 구성을 도시하는 블록도이고, 도 5b 는 정규화 방법을 설명하는 흐름도이다.
도 6a 는 본 발명의 바람직한 실시예에 따라서 위치 인터폴레이터의 키 값 데이터를 부호화하는 부호화 장치의 구성을 도시한 블록도이고, 도 6b는 키 값 데이터의 부호화 방법을 설명하는 흐름도이다.
도 7a 및 도 7b 는 도 6a 에 도시된 실수 부호화기의 처리 과정을 설명하는 흐름도이다.
도 7c 및 도 7d 는 본 발명의 바람직한 실시예에 따른 엔트로피 부호화기의 처리 과정을 설명하는 흐름도이다.
도 8 은 도 7c 의 S683 단계의 처리과정을 설명하는 도면이다.
도 9a 및 도 9b 는 도 7d 의 도시된 처리과정을 예시하는 도면이다.
도 10a 는 본 발명의 바람직한 실시예에 따른 역 DPCM 연산장치의 구성을 도시하는 블록도이고, 도 10b 는 역 DPCM 연산 방법을 설명하는 흐름도이다.
도 11 은 본 발명의 역 DPCM 연산장치를 이용한 복호화 장치의 구성을 도시하는 블록도이다.
도 12a 는 본 발명의 역 정규화기를 이용한 복호화 장치의 구성을 도시하는 블록도이고, 도 12b 는 역 정규화기의 처리 과정을 설명하는 흐름도이다.
도 13a 는 본 발명의 바람직한 실시예에 따른 키 값 데이터 복호화 장치의 구성을 도시하는 블록도이고 도 13b 는 키 값 데이터 복호화 방법을 설명하는 흐름도이다.
도 14a 는 도 13b 의 제 S1320 단계의 상세 흐름도이다.
도 14b 는 도 14a 의 제 S1330 단계의 상세 흐름도이다.
도 14c 는 도 13b 의 제 S1380 단계의 상세 흐름도이다.
도 15 는 본 발명의 엔트로피 복호화기로 입력되어 처리되는 비트스트림의 순서를 도시하는 도면이다.
도 16a 및 도 16b 는 본 발명의 예측 DPCM 연산의 결과를 도시하는 도면이다.
도 17a 내지 도 17c 는 본 발명의 예측 순환 DPCM 연산의 결과를 도시하는 도면이다.
도 18a 및 도 18b 위치 인터폴레이터의 키 및 키 값 데이터를 도시하는 도면이다.
도 19 내지 도 27 은 본 발명의 바람직한 실시예에 따른 복호화 과정에서 비트스트림을 판독하는 과정을 프로그램 코드로 구현한 예를 도시하는 도면이다.
상기 제 1 기술적 과제를 이루기 위한 본 발명의 DPCM 연산 장치는, 양자화된 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하고 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하여 순환 양자화된 차분 데이터를 출력하는 순환 DPCM 연산부, 양자화된 데이터에 대해서 예측 DPCM 연산을 수행하여 예측 차분 데이터를 생성하고 예측 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하여 예측 순환 양자화된 차분 데이터를 출력하는 예측 순환 DPCM 연산부, 및 입력된 차분 데이터의 크기에 따라서 순환 양자화된 차분 데이터 및 예측 차분 데이터 중 하나를 선택하여 출력하는 선택부를 포함한다.
또한, 상기 제 1 기술적 과제를 이루기 위한 본 발명의 DPCM 연산 방법은, (a) 양자화된 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하고, 예측 DPCM 연산을 수행하여 예측 차분 데이터를 생성하는 단계, (b) 차분 데이터들에 대해서 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하여 순환 양자화된 차분 데이터 및 순환 양자화된 예측 차분 데이터를 생성하는 단계, 및 (c) 차분 데이터들의 크기에 따라서 순환 양자화된 차분 데이터 및 예측 차분 데이터 중 하나를 선택하는 단계를 포함한다.
한편, 상기 제 1 기술적 과제를 이루기 위한 본 발명의 역 DPCM 연산 장치는, 입력된 차분 데이터에 대해서 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하고 역 DPCM 연산을 수행하여 양자화된 데이터를 출력하는 역 순환 DPCM 연산부, 입력된 차분 데이터에 대해서 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하고 역 예측 DPCM 연산을 수행하여 양자화된 데이터를 출력하는 역 예측 순환 DPCM 연산부, 및 입력 차분 데이터에 수행된 DPCM 연산의 종류에 따라서 입력 차분 데이터를 역 순환 DPCM 연산부 또는 역 예측 순환 DPCM 연산부로 출력하는 판단부를 포함한다.
또한, 상기 제 1 기술적 과제를 이루기 위한 본 발명의 역 DPCM 연산 방법은 (a) 입력 차분 데이터에 대해서 수행된 DPCM 연산의 종류를 조사하는 단계, (b) 입력 차분 데이터에 대해서 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하는 단계, 및 (c) DPCM 연산의 종류가 DPCM 연산인 경우에는 역 순환 양자화된 차분 데이터에 대해서 역 순환 DPCM 연산을 수행하고 DPCM 연산의 종류가 예측 DPCM 연산인 경우에는 역 순환 양자화된 차분 데이터에 대해서 역 예측 순환 DPCM을 수행하여 양자화된 데이터를 생성하는 단계를 포함한다.
한편, 상기 제 2 기술적 과제를 이루기 위한 본 발명의 부호화 장치는, 입력 데이터를 소정의 양자화 비트로 양자화하는 양자화기, 양자화된 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하는 DPCM 연산부, DPCM 연산부로부터 입력된 차분 데이터를 엔트로피 부호화하여 비트스트림으로 출력하는 엔트로피 부호화기, 입력 데이터 및 양자화된 입력 데이터를 입력받아 양자화 오차가 최소화되도록 양자화된 데이터의 최대값 및 최소값을 조정하여 출력하는 양자화 오차 최소화부, 및 양자화 오차를 최소화하면서 양자화된 입력 데이터를 역양자화할 수 있도록 최대값 및 최소값을 헤더 정보로 부호화하여 비트스트림에 포함시키는 헤더 부호화기를 포함한다.
또한, 상기 제 2 기술적 과제를 이루기위한 본 발명의 부호화 방법은, (a) 입력 데이터를 소정의 양자화 비트로 양자화하는 양자화 단계, (b) 양자화된 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하는 DPCM 연산 단계, (c) 상기 (b) 단계에서 생성된 차분 데이터를 엔트로피 부호화하여 비트스트림을 생성하는 엔트로피 부호화 단계, (d) 입력 데이터 및 양자화된 입력 데이터를 이용하여, 양자화 오차가 최소화되도록 양자화된 데이터의 최대값 및 최소값을 조정하는 양자화 오차 최소화 단계, 및 (e) 양자화 오차를 최소화하면서 양자화된 입력 데이터를 역 양자화할 수 있도록 최대값 및 최소값을 헤더 정보로 부호화하여 비트스트림에 포함시키는 헤더 부호화 단계를 포함한다.
한편, 상기 제 3 기술적 과제를 이루기 위한 본 발명의 부호화 장치는, 입력된 각 성분의 데이터의 범위 중에서 최대 범위를 계산하고 각 성분의 데이터를 상기 최대 범위에 따라서 정규화하는 정규화기, 정규화된 데이터를 소정의 양자화 비트로 양자화하는 양자화기, 양자화된 데이터에 DPCM 연산을 수행하여 차분 데이터를 출력하는 DPCM 연산부, 및 차분 데이터를 엔트로피 부호화하여 데이터가 부호화된 비트스트림을 출력하는 엔트로피 부호화기를 포함한다.
또한, 상기 제 3 기술적 과제를 이루기 위한 본 발명의 부호화 방법은 (a) 각 성분의 데이터의 범위 중에서 최대 범위를 계산하고 각 성분의 데이터를 최대 범위에 따라서 정규화하는 단계, (b) 정규화된 데이터를 소정의 양자화 비트로 양자화하는 단계, (c) 양자화된 데이터에 DPCM 연산을 수행하여 차분 데이터를 생성하는 단계, 및 (d) 차분 데이터를 엔트로피 부호화하여 데이터가 부호화된 비트스트림을 생성하는 단계를 포함한다.
한편, 상기 제 3 기술적 과제를 이루기 위한 본 발명의 복호화 장치는, 입력된 비트스트림을 엔트로피 복호화하여 차분 데이터를 출력하는 엔트로피 복호화기, 차분 데이터에 역 DPCM 연산을 수행하여 양자화된 데이터를 출력하는 역 DPCM 연산부, 양자화된 데이터를 역 양자화하여 정규화된 데이터를 출력하는 역 양자화기, 및 비트스트림으로부터 복호화된 각 성분의 데이터의 최소값 및 모든 성분의 데이터의 최대값을 입력받아 정규화된 데이터의 최대범위를 구하고 최대범위에 따라서 데이터를 역 정규화하는 역 정규화기를 포함한다.
또한, 상기 제 3 기술적 과제를 이루기 위한 본 발명의 복호화 방법은, (a) 입력 비트스트림을 엔트로피 복호화하여 차분 데이터를 생성하는 단계, (b) 차분 데이터에 역 DPCM 연산을 수행하여 양자화된 데이터를 생성하는 단계, (c) 양자화된 데이터를 역 양자화하여 정규화된 데이터를 생성하는 단계, 및 (d) 비트스트림으로부터 복호화된 각 성분의 데이터의 최소값 및 모든 성분의 데이터의 최대값을 이용하여, 정규화된 데이터의 최대범위를 구하고, 최대범위에 따라서 데이터를 역정규화하는 단계를 포함한다.
한편, 상기 제 4 기술적 과제를 이루기 위한 본 발명의 부호화 장치는, 입력된 각 성분의 키 값 데이터의 범위 중에서 최대 범위를 계산하고 각 성분의 키 값 데이터를 상기 최대 범위에 따라서 정규화하여 정규화된 키 값 데이터를 출력하는 정규화기, 정규화된 키 값 데이터를 소정의 양자화 비트수로 양자화하는 양자화기, 각 성분의 키 값 데이터 중 최소값, 모든 성분의 키 값 데이터 중 최대값, 및 양자화된 키 값 데이터의 최대값 및 최소값을 입력받아 10 진수 체계의 실수로 변환하는 실수 부호화기, 양자화된 키 값 데이터에 대해서 차분 데이터 및 예측 차분 데이터를 구하고 차분 데이터들의 범위를 감소시키는 순환 양자화 연산을 수행하는 DPCM 처리부, 차분 데이터를 엔트로피 부호화하여 키 값 데이터가 부호화된 비트스트림을 출력하는 엔트로피 부호화기, 및 비트스트림의 복호화에 필요한 정보를 부호화하여 비트스트림에 포함시키는 키 값 헤더 부호화기를 포함한다.
또한, 상기 제 4 기술적 과제를 이루기 위한 본 발명의 부호화 방법은, (a) 각 성분의 키 값 데이터의 범위 중에서 최대 범위를 계산하고, 각 성분의 키 값 데이터를 최대 범위에 따라서 정규화하여 정규화된 키 값 데이터를 생성하는 단계, (b) 정규화된 키 값 데이터를 소정의 양자화 비트로 양자화하는 단계, (c) 각 성분의 양자화된 키 값 데이터 중 최소값들 및 모든 성분의 키 값 데이터 중 최대값을 10 진수 체계의 실수로 변환하는 단계, (d) 양자화된 키 값 데이터에 대해서 차분 데이터 및 예측 차분 데이터를 구하고, 차분 데이터들의 범위를 감소시키는 순환 양자화 연산을 수행하는 단계, (e) 차분 데이터를 엔트로피 부호화하여 키 값 데이터가 부호화된 비트스트림을 생성하는 단계, 및 (f) 비트스트림의 복호화에 필요한 정보를 부호화하여 비트스트림에 포함시키는 단계를 포함한다.
한편, 상기 제 4 기술적 과제를 이루기 위한 본 발명의 복호화 장치는, 복호화에 필요한 정보를 비트스트림으로부터 복호화하는 키 값 헤더 복호화기, 입력된 비트스트림을 엔트로피 복호화하여 차분 데이터를 출력하는 엔트로피 복호화기, 차분 데이터에 역 순환 DPCM 연산 및 역 예측 순환 DPCM 연산을 수행하여 양자화된 키 값 데이터를 출력하는 역 DPCM 처리부, 양자화된 키 값 데이터를 역 양자화하여 정규화된 키 값 데이터를 출력하는 역 양자화기, 키 값 헤더 복호화기로부터 각 성분의 양자화된 키 값 데이터의 최소값, 및 최대값을 입력받아 2진수 체계의 실수로 변환하여 역 양자화기로 출력하고, 각 성분의 키 값 데이터의 최소값 및 최대값을 2진수 체계의 실수로 변환하여 출력하는 실수 복호화기, 및 실수 복호화기로부터 각 성분의 키 값 데이터의 최소값 및 모든 성분의 키 값 데이터 중 최대값을 입력받아, 키 값 데이터를 역 정규화하는 역 정규화기를 포함한다.
또한, 상기 제 4 기술적 과제를 이루기 위한 본 발명의 복호화 방법은, (a) 복호화에 필요한 헤더 정보를 비트스트림으로부터 복호화하는 단계, (b) 비트스트림을 엔트로피 복호화하여 차분 데이터를 생성하는 단계, (c) 차분 데이터에 역 순환 DPCM 연산 및 역 예측 순환 DPCM 연산을 수행하여 양자화된 키 값 데이터를 생성하는 단계, (d) (a) 단계에서 복호화된 각 성분의 양자화된 키 값 데이터의 최소값, 및 최대값을 2진수 체계의 실수로 변환하고, 각 성분의 키 값 데이터의 최소값 및 최대값을 2진수 체계의 실수로 변환하는 단계, (e) (d) 단계에서 변환된 양자화된 키 값 데이터의 최대값 및 최소값에 따라서, 양자화된 키 값 데이터를 역 양자화하여 정규화된 키 값 데이터를 생성하는 단계, (f) (d) 단계에서 변환된 각 성분의 키 값 데이터의 최소값 및 모든 성분의 키 값 데이터 중 최대값에 따라서, 키 값 데이터를 역 정규화하는 단계를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 2a 는 본 발명의 바람직한 실시예에 따른 DPCM 연산 장치의 구성을 도시하는 블록도이고, 도 2b 는 본 발명의 바람직한 실시예에 따른 DPCM 연산 방법을 설명하는 흐름도이다.
도 2a를 참조하면, 본 발명의 DPCM 연산 장치는 입력된 양자화된 데이터에 일반적인 DPCM 연산을 수행하여 차분 데이터를 출력하는 DPCM 연산부(210) 및 입력된 차분 데이터에 대해서 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하는 순환 양자화부(220)를 포함하는 순환 DPCM 연산부(200), 입력된 양자화된 데이터에 예측 DPCM 연산을 수행하여 예측 차분 데이터를 출력하는 예측 DPCM 연산부(240) 및 입력된 차분 데이터에 대해서 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하는 순환 양자화부(250)를 포함하는 예측 순환 DPCM 연산부(230), 및 입력된 차분 데이터의 크기에 따라서 순환 DPCM 연산부로부터 입력된 차분 데이터 및 예측 순환 DPCM 연산부로부터 입력된 차분 데이터 중에서 하나의 차분 데이터를 선택하여 출력하는 선택부(260)를 포함한다.
도 2b를 더 참조하여, 본 발명의 바람직한 실시예에 따른 DPCM 연산 방법을 설명한다.
임의의 양자화 방법으로 양자화된 데이터는 순환 DPCM 연산부 및 예측 순환 DPCM 연산부로 각각 입력된다(S210).
먼저, 순환 DPCM 연산부(200)로 입력된 양자화된 데이터를 수신한 DPCM 연산부(210)는 입력된 양자화된 데이터에 대해서 일반적인 DPCM 연산을 수행하여 구해진 차분 데이터를 순환 양자화부(220)로 출력하고, 순환 양자화부(220)는 입력된 차분 데이터에 대해서 순환 양자화를 수행한다(S220a).
DPCM 연산부(210)는 입력된 양자화된 데이터에서 이전에 입력된 양자화된 데이터를 감산하여 차분 데이터를 계산한다. 그 후, 순환 양자화부(220)는 계산된 차분 데이터를 입력받아 순환 양자화 연산을 수행한다. 순환 DPCM 연산부(200)의 처리 과정은 다음의 수학식 1 로 표현된다.
상기 수학식에서 n 은 데이터의 개수를 나타낸다. 순환 양자화 연산에 대해서는 후술하기로 한다.
한편, 예측 순환 DPCM 연산부(230)의 예측 DPCM 연산부(240)는 입력된 양자화된 데이터에 대해서 예측 DPCM 연산을 수행하여 예측 차분 데이터를 계산하고, 순환 양자화부(250)는 예측 차분 데이터에 대해서 순환 양자화 연산을 수행한다(S220b).
예측 DPCM 연산부(240)는 현재의 양자화된 데이터에서 예측 데이터를 감산하여 예측 차분 데이터를 생성하여 출력한다. 구체적으로, 예측 DPCM 연산부(240)는 현재의 양자화된 데이터에 대한 예측 데이터를 구하기 위해서, 양자화된 이전 데이터에서 그 이전 데이터를 감산하여 차분값을 구한다. 그 후, 구해진 차분값을 이전 차분 데이터에 합산하여 현재 데이터에 대한 예측 데이터를 계산한다. 예측 DPCM 연산부(240)는 현재의 데이터에서 계산된 예측 데이터를 감산하여 현재 데이터에 대한 예측 차분 데이터를 계산한다.
다만, 예측 DPCM 연산부(240)가 계산한 예측 데이터는 입력된 양자화된 데이터가 가질수 있는 최대 범위를 초과할 수 없다. 즉, 예측 DPCM 연산부(240)는 예측된 데이터가 입력된 양자화된 데이터의 양자화 범위의 최대값을 초과하는 경우에는, 예측 데이터를 입력된 데이터의 양자화 범위의 최대값으로 하고, 예측 데이터에서 현재의 데이터를 감산하여 현재의 데이터에 대한 차분 데이터를 생성한다. 만약, 예측 데이터가 입력된 데이터의 양자화 범위의 최소값보다 작다면, 현재의 데이터 자체를 예측 차분 데이터로서 결정한다(이하, "수정된 예측 DPCM 연산"이라 칭함).
예측 DPCM 연산부(230)에서 계산된 예측 차분 데이터는 순환 양자화부(250)로 입력되어 순환 양자화 연산이 수행된다.
상술한, 예측 순환 DPCM 연산부(230)의 연산 과정은 다음의 수학식 2 로 표현할 수 있다.
수학식 2 에서, n 이 데이터의 개수라 할 때, i 는 2, 3, .... , n-1 이다.
도 16a 는 최대값이 1024 이고 최소값이 0 인 50개의 양자화된 데이터에 대해서 단순한 예측 DPCM 연산을 수행한 결과를 도시하였고, 도 16b 는 동일한 데이터에 대해서 예측 값이 최대값을 초과하거나 최소값이하인 경우에, 상기 수학식 2 에 따라서 차분 데이터를 조정한 수정된 예측 DPCM 연산 결과를 도시한 도면이다.
도 16a 및 도 16b 에 도시되었듯이, 단순한 예측 DPCM 연산을 수행한 결과 예측 차분 데이터의 범위는 약 3000 정도임을 알 수 있고, 수정된 예측 DPCM을 이용한 결과 예측 차분 데이터의 범위는 2000 이하이므로, 수정된 예측 DPCM 연산 결과 더 적은 예측 차분 데이터의 범위를 얻을 수 있다는 것을 알 수 있다.
이하, 순환 양자화 과정에 대해서 설명한다.
도 17a 는 양자화된 데이터를 도시하고, 도 17b 는 도 17a 에 도시된 양자화된 데이터에 대해서 DPCM 연산을 수행한 결과를 도시한 도면이다. 도 17b 에 도시되었듯이, DPCM 연산을 수행한 후의 차분 데이터의 범위는 DPCM 연산이 수행되기 전의 데이터의 범위의 2배까지 증가할 수 있다. 따라서, 순환 양자화 연산의 목적은 차분 데이터의 범위를 입력된 데이터의 범위로 유지하면서 DPCM 연산을 수행하는 것이다.
순환 양자화 연산은 양자화 범위의 최대값과 양자화 범위의 최소값이 서로 연결되어 있다고 가정한다. 따라서, 만약, 2개의 연속된 양자화된 데이터간의 선형 DPCM 결과인 차분 데이터가 양자화 범위의 최대값의 절반을 초과하면, 차분 데이터 값에서 최대값을 감산하므로써, 차분 데이터 값을 더 작은 값으로 표현 할 수 있다.
또한, 만약, 2개의 연속된 양자화된 데이터간의 선형 DPCM 결과인 차분 데이터가 양자화 범위의 최소값의 절반보다 작으면, 차분 데이터 값에 최대값을 가산하므로써, 차분 데이터 값을 더 작은 범위의 값으로 표현할 수 있다.
X를 입력 차분 데이터라 하고,순환 양자화된 차분 데이터라고 할 때, 순환 양자화는 다음의 수학식 3 과 같이 표현된다.
수학식 3 에서 nQBits 는 양자화에 이용되는 비트 사이즈이다. 도 17c 는 도 17b 에 도시된 차분 데이터에 대해서 순환 양자화를 적용한 결과를 도시한 도면이다.
도 2b를 다시 참조하면, 순환 양자화된 차분 데이터 및 예측 차분 데이터는 선택부(260)로 출력되고, 선택부(260)는 입력된 차분 데이터들에 대해서 SAD 연산을 수행한다(S230).
SAD(Sum of Absolute Difference) 연산은 입력된 값들의 절대값을 모두 합산하는 연산으로서, 선택부(260)는 입력된 일련의 차분 데이터를 구성하는 각각의 차분 데이터의 절대값을 모두 합산한다. 또한, 선택부(260)는 입력된 일련의 예측 차분 데이터를 구성하는 각각의 예측 차분 데이터의 절대값을 모두 합산한다.
그 후, 선택부(260)는 합산된 절대값들을 서로 비교하여 절대값이 더 작은 차분 데이터를 최종 차분 데이터로 선택하여 출력한다(S240). 선택부(260)가 SAD 연산 결과 절대값이 더 적은 값을 선택하는 이유는, 절대값의 합이 더 작은 차분 데이터 크기의 범위가 전체적으로 적을 것이라고 예측하기 때문이다. 예컨대, 예측 차분 데이터를 엔트로피 부호화할 경우에, 절대값이 더 적은 차분 데이터의 부호화에 필요한 비트수가 절대값이 더 큰 차분 데이터의 부호화에 필요한 비트수보다 적을 것으로 예측된다.
따라서, 이러한 SAD 연산은 차분 데이터를 선택하기 위한 하나의 방법에 지나지 않고, 선택부는 SAD 연산 수행 이외에 다른 방법으로 차분 데이터를 선택할 수 있음은 당업자에게 자명할 것이다.
도 3a 는 본 발명의 바람직한 제 1 실시예의 부호화 장치의 구성을 도시하는 블록도이고, 도 3b 는 제 1 실시예의 부호화 장치의 부호화 과정을 설명한 흐름도이다. 본 발명의 제 1 실시예의 부호화 장치는 상술한 본 발명의 DPCM 연산 장치를 데이터의 부호화에 적용하였다.
도 3a 에 도시된 부호화 장치는 입력된 데이터를 소정의 양자화 비트수로 양자화하는 양자화기(310), 입력된 양자화된 데이터에 대해서 순환 DPCM 연산 및 예측 순환 DPCM 연산을 수행하여 차분 데이터를 출력하는 DPCM 처리부(340), 및 DPCM 처리부(340)로부터 입력된 차분 데이터에 대해서 소정의 엔트로피 부호화 연산을 수행하여 비트스트림을 출력하는 엔트로피 부호화기(350)를 포함하며, DPCM 처리부(340)는 상술한 DPCM 연산 장치로 구성된다.
도 3a 및 도 3b를 참조하면, 부호화할 데이터는 본 발명의 부호화 장치로 입력되고(S310), 양자화기(310)에서 소정의 양자화 비트로 양자화된 후 DPCM 처리부(340)로 출력된다(S320).
양자화된 데이터를 입력받은 DPCM 처리부(340)의 순환 DPCM 연산부(200)는 DPCM 연산 및 순환 양자화 연산을 수행하여 차분 데이터를 선택부(260)로 출력한다. 또한, 예측 순환 DPCM 연산부는 예측 DPCM 연산 및 순환 양자화 연산을 수행하여 차분 데이터를 선택부(260)로 출력한다(S330).
선택부(260)는 각각의 차분 데이터에 대해서 SAD 연산을 수행하여 엔트로피 부호화기(350)로 출력할 차분 데이터를 선택하고, 선택된 차분 데이터를 출력한다(S340).
선택부(260)로부터 차분 데이터를 입력받은 엔트로피 부호화기(350)는 소정의 엔트로피 부호화 연산을 수행하여 입력된 차분 데이터를 엔트로피 부호화하여 비트스트림을 생성한다(S350).
도 4a 는 본 발명의 제 2 실시예에 따른 부호화 장치의 구성을 도시하는 블록도이고, 도 4b 는 도 4a 에 도시된 양자화 오차 최소화부의 처리과정을 설명하는 흐름도이다.
본 발명의 제 2 실시예에 따른 부호화 장치는, 부호화된 데이터를 복호화할 때 양자화 오차를 최소화할 수 있도록, 양자화 오차를 최소화하는 최소값과 최대값을 비트스트림에 포함시켜 부호화한다.
도 4a를 참조하면, 본 발명의 바람직한 실시예에 따른 양자화 오차를 최소화하는 부호화 장치는 양자화기(310), DPCM 연산부(110/340), 엔트로피 부호화기(350), 입력 데이터 및 양자화된 입력 데이터를 입력받아 양자화 오차가 최소화되도록 양자화된 데이터의 최대값 및 최소값을 조정하여 출력하는 양자화 오차 최소화부(320), 및 양자화 오차를 최소화하면서 상기 양자화된 입력 데이터를 역양자화할 수 있도록 최대값 및 최소값을 헤더 정보로 부호화하여 상기 비트스트림에 포함시키는 헤더 부호화기(370)를 포함한다.
또한, 양자화 오차 최소화부(320)는 최소 오차값(emin), 조정 최소값(min') 및 양자화 오차 최소화값(minmin)의 초기값을 설정하는 초기값 설정부(321), 조정 최소값(min')에 소정의 연산을 수행하여 조정 최소값을 갱신하는 조정 최소값 갱신부(323), 갱신된 조정 최소값의 자리수 및 크기에 따라서 양자화 오차 최소화값(minmin)을 역 양자화에 이용될 최소값으로 결정하는 판단부(325), 및 갱신된 조정 최소값에 따른 양자화 오차값을 계산하고 계산된 오차값이 상기 최소 오차값보다 작은 경우에 상기 조정 최소값을 양자화 오차 최소화값(minmin)으로 갱신하고 계산된 오차값을 최소 오차값으로 갱신하여 조정 최소값 갱신부(323)로 출력하는 오차값 갱신부(327)를 포함한다.
양자화 오차 최소화부(320)는 양자화 오차를 최소화하기 위해서 입력된 데이터에 대해서 미리 양자화 및 역양자화를 수행하여, 양자화의 오차가 최소가 되는 양자화의 범위를 제어하는 방법을 이용한다.
구체적으로 살펴보면, 고정된 양자화에 이용될 최대값을 Max 라하고, 조절되는 양자화에 이용될 최소값을 Min라하며, Xi를 입력 값, nQuanBit를 양자화에 이용되는 비트수라 할 때, 양자화된 입력값, 역양자화된 값, 및 오차 ei는 각각 다음의 수학식 4 에 의해서 계산한다.
양자화 오차 최소화부(320)는 오차의 합(∑ei)을 감소시키는 방법으로, 오차의 합이 최소가 될 때까지 Min 값을 조절하고, 복호화 과정에서 양자화 오차를 최소화하는 최소값을 이용하여 양자화된 데이터를 복호화하는 방법을 이용하였다.
양자화기(310), DPCM 연산부(110/340), 및 엔트로피 부호화기(350)는 상술한 부호화 장치의 구성과 유사하므로 자세한 설명은 생략하고, 이하, 본 발명의 새로운 구성인 양자화 오차 최소화부(320)의 처리 과정을 도 4b를 참조하여 설명한다.
초기값 설정부(321)는 양자화기(310)로 입력되는 데이터와 동일한 데이터를 입력받고, 또한, 양자화기(310)로부터 출력된 양자화된 데이터를 입력받는다(S402).
초기값 설정부(321)는 입력된 양자화된 데이터로부터 최대값(max) 및 최소값(min)을 선정하여 최소값의 자리수를 계산하고, 선정된 최대값 및 최소값을 이용하여 양자화된 데이터를 역 양자화하여 양자화 오차(e)를 계산하며, 계산된 양자화 오차(e)를 최소 오차값(emin)의 초기값으로 설정한다(S404).
또한, 초기값 설정부(321)는 입력된 양자화된 데이터 중 최소값(min)에서, 양자화 스텝 사이즈(QuantSpace)를 2로 나눈 값을 감산하여, 조정 최소값(min')의 초기값을 설정하고, 조정 최소값(min')의 초기값을 양자화 오차 최소화값(minmin)으로 설정하며, 설정된 조정 최소값을 조정 최소값 갱신부(323)로 출력한다(S406).
조정 최소값 갱신부(323)는 입력된 조정 최소값에 대해서 소정의 연산을 수행하여 조정 최소값을 갱신하는데, 본 발명의 바람직한 실시예에 따른 조정 최소값 갱신부(323)는 다음의 수학식 5 에 따라서 입력된 조정 최소값을 갱신하여 판단부(325)로 출력한다(S408).
판단부(325)는 갱신된 조정 최소값(min')의 자리수를 계산하여 초기값 설정부(321)에서 계산한 최소값(min)의 자리수와 비교하고, 초기값 설정부(321)로 입력된 양자화된 데이터의 최소값(min)에, 소정의 양자화 비트 사이즈(QuantSpace)를 2로 나눈값을 가산한 값과 조정 최소값의 크기를 비교한다(S410).
비교 결과, 갱신된 조정 최소값(min')의 자리수가 양자화된 데이터의 최소값(min)의 자리수보다 크거나, 갱신된 조정 최소값(min')의 크기가 min+QuantSpace/2 보다 크면, 판단부는 현재 저장된 양자화 오차 최소화값(minmin)을 역 양자화에 이용할 최소값으로 결정하여 출력부로 출력한다(S412). 그러나, 상기 조건을 모두 만족하지 않으면, 판단부는 갱신된 조정 최소값을 오차값 갱신부(327)로 출력한다.
오차값 갱신부(327)는 갱신된 조정 최소값 및 초기값 설정부(321)에서 선정된 최대값(max)을 이용하여 입력된 양자화된 데이터를 역 양자화하고, 양자화 오차(e)를 계산한다(S414).
오차값 갱신부(327)는 새롭게 계산된 오차값(e)을 최소 오차값(emin)과 비교하여(S446), 새롭게 계산된 오차값(e)이 최소 오차값(emin)보다 더 작으면, 새롭게 계산된 오차값(e)으로 최소 오차값(emin)을 갱신하고, 조정 최소값으로 양자화 오차 최소화값(minmin)을 갱신한다(S418). 그러나, 새롭게 계산된 오차값(e)이 최소 오차값(emin)보다 더 크면, 최소 오차값(emin) 및 양자화 오차 최소화값(minmin)을 갱신하지 않고 제 S408 단계부터 다시 수행한다.
한편, 상술한 과정을 통해서 검출된 양자화 오차를 최소화하는 최소값 및 최대값은 헤더 부호화기(370)로 출력되고 복호화에 필요한 정보를 포함하는 헤더 정보로서 부호화되어 엔트로피 부호화기(350)에 의해서 생성된 비트스트림에 포함된다.
도 5a 는 본 발명의 바람직한 제 3 실시예에 따른 부호화 장치의 구성을 도시하는 블록도이고, 도 5b 는 도 5a 에 도시된 정규화기의 처리과정을 설명하는 흐름도이다. 제 3 실시예에 따른 본 발명의 부호화 장치는 부호화할 데이터가 복수의 성분으로 구성된 경우에 입력된 데이터를 정규화함으로써 부호화 효율을 높인다.
도 5a 에 도시된 제 3 실시예에 따른 부호화 장치는 입력된 각 성분의 데이터의 범위 중에서 최대 범위를 계산하고 각 성분의 데이터를 상기 최대 범위에 따라서 정규화하는 정규화기(300), 정규화된 데이터를 소정의 양자화 비트로 양자화하는 양자화기(310), 양자화된 데이터에 DPCM 연산을 수행하여 차분 데이터를 출력하는 DPCM 연산부(110/340), 및 차분 데이터를 엔트로피 부호화하여 입력 데이터가 부호화된 비트스트림을 출력하는 엔트로피 부호화기(350)를 포함한다.
양자화기(310), DPCM 연산부(110/340) 및 엔트로피 부호화기(350)의 구성은 상술한 구성과 유사하므로 정규화기(300)의 처리 과정에 대해서만 도 5b를 참조하여 설명한다.
부호화할 데이터가 복수의 데이터 성분으로 구성되는 경우에, 예컨대, 입력 데이터가 3차원 공간상의 객체의 위치를 나타내기 위해서, x, y, 및 z 의 3개의 데이터 성분으로 구성되어 있다고 할 때, 부호화될 각 성분(x, y, 및 z) 의 데이터는먼저 부호화 장치의 정규화기(300)로 입력되고, 정규화기(300)는 입력된 각 성분의 최대 범위를 계산하여, 계산된 최대 데이터의 범위로 각 성분의 데이터를 정규화한다.
정규화기(300)는 각 성분의 데이터를 입력받아, 다음의 수학식 6 을 이용하여, 각 성분의 데이터의 범위를 계산하고(S512), 각 성분의 데이터 범위를 비교하여 데이터의 최대 범위를 계산한다(S514).
그 후, 정규화기(300)는 다음의 수학식 7 을 이용하여 각 성분의 데이터를 정규화한다(S516).
상기 수학식 6 및 수학식 7 에서 n 은 데이터의 개수를 나타내며, i=0,1,...n-1 이고, j 는 데이터의 성분 x, y, 및 z를 나타낸다. 상기 수학식 7 에서 보는 바와 같이, 각 성분의 데이터는 각 성분의 최대 범위가 아닌, 모든 성분의 최대 범위를 이용하여 정규화된다. 이러한 정규화 과정을 통해서 최대 범위를 갖지 않는 성분의 데이터의 비트 중복성이 증가하게 되어 부호화 효율이 높아지게 된다.
정규화기(300)는 입력된 각 성분의 데이터를 정규화하여 양자화기(310)로 출력하고, 양자화기(310)는 정규화된 데이터를 상술한 바와 같이 소정의 양자화 비트로 양자화하여 DPCM 연산부(110/340)로 출력한다. 그 후, DPCM 연산부(110/340)는 양자화된 데이터에 대해서 DPCM 연산을 수행하여 생성된 차분 데이터를 엔트로피 부호화기(350)로 출력하여 데이터를 부호화한다.
이하, 상술한 본 발명의 DPCM 연산 장치, 양자화 오차를 최소화하는 부호화 장치, 및 복수 성분의 데이터를 부호화하는 부호화 장치를 결합한 본 발명의 바람직한 제 4 실시예에 따른 부호화 장치를 설명한다.
제 4 실시예에 따른 부호화 장치는 부호화할 데이터가 3차원 에니메이션 데이터 중 위치 인터폴레이터의 키 값 데이터인 경우를 예를 들어 설명한다. 그러나, 제 4 실시예에 따른 부호화 장치를 이용하여 다른 일반적인 데이터를 부호화할 수 있음은 물론이다.
위치 인터폴레이터란, 키 프레임 기반의 에니메이션 방식에서 애니메이션 경로의 위치 정보를 나타내는 것으로, 키 프레임 기반의 애니메이션은 컴퓨터 합성 3 차원 에니메이션을 나타내기 위해서 이용되는 기초적인 기술중에 하나이다. 이 기술은 키 데이터가 나타내는 순간에 기초하여 에니메이션의 순서를 정의하는데 이용된다. 키 데이터가 나타내는 순간에 대응되는 프레임은 키 프레임이라 칭해진다.
키 프레임 기반의 에니메이션에서, 다수의 키 프레임과 키 프레임 사이에 위치하는 프레임들이 에니메이션을 구성하고, 키 프레임 사이에 위치하는 프레임들은 보간(interpolation) 에 의해서 채워진다.
MPEG-4 BIFS(Binary Format for Scene) 및 VRML(Virtual Reality Modelling Language)와 같은 국제 멀티미디어 표준들은 인터폴레이터 노드를 이용한 키 프레임 기반의 에니메이션을 지원한다. MPEG-4 BIFS 및 VRML 에는 여러 종류의 인터폴레이터가 있는데, 그 중 대표적인 것이 스칼라 인터폴레이터, 위치 인터폴레이터, 좌표 인터폴레이터, 회전 인터폴레이터, 법선 인터폴레이터 및 색 인터폴레이터이다. 각 인터폴레이터의 종류, 기능 및 특징은 아래의 표 1 에 나타내었다.
상기 표 1 에 기재된 인터폴레이터 중 하나인 위치 인터폴레이터는 키 프레임 기반의 에니메이션의 위치 정보를 나타내기 위해서 사용되고, 키(Key) 및 키 값(Key-Value) 필드로 구성된다. 키 필드는 (-∞,+∞) 범위에서 키 프레임이 위치하는 시간을 불연속적인 숫자로 표현한다. 키 값 필드는 각각의 키가 나타내는 시간에 객체의 위치 정보를 나타내며, x, y 및 z 의 세 가지 성분을 갖는다.따라서, 키 값 필드는 키 필드와 동일한 개수의 키 값을 포함한다.
위치 인터폴레이터의 일 예가 도 18a 및 도 18b 에 도시되어 있다. 도 18a 는 키 데이터를 도시하고, 도 18b 는 키 값 데이터를 도시한다.
MPEG-4 BIFS 및 VRML 는 선형 보간을 이용하므로, 선형 인터폴레이터를 이용하여 매끄럽고 자연스러운 에니메이션을 구현하기 위해서는 매우 많은 양의 키 데이터와 키 값 데이터가 요구된다. 또한, 이러한 매끄럽고 자연스러운 에니메이션을 저장하거나 전송하기 위해서는 대용량의 저장장치 및 많은 시간이 필요하다. 따라서, 이들 인터폴레이터의 저장 및 전송을 위해서는 인터폴레이터를 압축하는 것이 효과적이다.
MPEG-4 BIFS 에서는 인터폴레이터 노드를 부호화하고 복호화하는 방법으로 PMFC(Predictive MF Coding)이라 칭해지는 방법이 있다. 도 1 에 도시된 종래의 부호화 장치와 같이, PMFC 방법은 양자화기, DPCM(Differential Pulse Code Modulation) 및 엔트로피 부호화기를 이용하여 위치 인터폴레이터의 키 값 데이터를 부호화한다. 양자화기 및 DPCM 모듈은 키 값 데이터의 중복성을 제거하고, DPCM 모듈의 출력은 엔트로피 부호화기로 출력된다. 그러나, 이 방법은 일반적인 DPCM 연산에 의해서 얻어진 차분 데이터를 엔트로피 부호화하므로 부호화 효율이 높지 않다. 또한, 엔트로피 부호화기의 제한으로 고화질의 에니메이션을 제공하지 못한다.
따라서, 상술한 본 발명의 DPCM 연산 장치, 양자화 오차를 최소화하는 부호화 장치, 및 복수 성분의 데이터를 부호화하는 부호화 장치를 결합하여 키 값 데이터의 부호화 효율을 높일 수 있는 키 값 부호화 장치를 제공한다.
도 6a 는 본 발명의 바람직한 제 4 실시예에 따른 키 값 데이터 부호화 장치의 구성을 도시하는 블록도이고, 도 6b 는 키 값 데이터 부호화 장치의 처리과정을 설명하는 흐름도이다.
도 6a를 참조하면, 본 발명의 키 값 데이터 부호화 장치는 입력된 각 성분의 키 값 데이터를 최대 범위에 따라서 정규화하는 정규화기(300), 정규화된 키 값 데이터를 소정의 양자화 비트로 양자화하는 양자화기(310), 양자화 오차를 최소화할 수 있도록 상기 각 성분의 양자화된 키 값 데이터의 최대값 및 최소값을 조정하여 출력하는 양자화 오차 최소화부(320), 양자화 오차를 최소화하는 최소값 및 최대값을 10 진수 체계의 실수로 변환하는 실수 부호화기(330), 양자화된 키 값 데이터에 대해서 차분 데이터 및 예측 차분 데이터를 구하고 상기 차분 데이터들의 범위를 감소시키는 순환 양자화 연산을 수행하는 DPCM 처리부(340), 차분 데이터를 엔트로피 부호화하여 키 값 데이터가 부호화된 비트스트림을 출력하는 엔트로피 부호화기(350), 및 비트스트림의 복호화에 필요한 정보를 부호화하여 상기 비트스트림에 포함시키는 키 값 헤더 부호화기(360)를 포함한다.
도 6b 를 참조하여 본 발명의 키 값 데이터의 부호화 과정을 설명한다.
부호화될 각 성분(x, y, 및 z) 의 키 값 데이터는 먼저 부호화 장치의 정규화기(300)로 입력되고(S600), 정규화기(300)는 입력된 각 성분의 최대 키 값 범위를 계산하여 각 성분의 키 값 데이터를 최대 키 값 데이터의 범위로 정규화한다(S610). 정규화기의 입력된 키 값 데이터를 정규화하는 과정은 상술한 바와 같다.
정규화기에서 정규화된 각 성분(x, y, 및 z) 의 키 값 데이터는 양자화기(310)로 입력되고, 양자화기(310)는 키 값 데이터를 다음의 수학식 8 에 따라서 소정의 양자화 비트(nQuantBit)로 양자화 한다(S620).
수학식 8 의 floor() 함수는 입력된 실수값을 실수값 이하의 최대 정수로 변환하는 함수이다. 양자화기(310)는 양자화된 키 값 데이터를 DPCM 처리부(340) 및 양자화 오차 최소화부(320)로 출력한다.
양자화 오차 최소화부(320)는 상술한 바와 같이 양자화 오차를 최소화하는 각 성분의 최소값 및 최대값을 결정하고(S630), 양자화 오차 최소화부(320)에서 결정된 각 성분의 최소값 및 최대값은 실수 부호화기로 입력되어 키 값 헤더로 부호화된다.
이하, 도 7a 를 참조하여 실수 부호화기(330)의 처리과정(S650)에 대해서 설명한다.
먼저, 실수 부호화기(330)는 정규화기(300)부터 입력된 각 성분의 키 값 데이터의 최소값 (x_min, y_min 및 z_min), 모든 성분의 키 값 데이터 중 최대값(max), 최대값이 어느 성분에 포함되는지를 나타내는 정보(nWhichAxis), 및 원래 키 값 데이터의 자리수(nKeyValueDigit)를 입력받는다(S651).
실수 부호화기(330)는 부호화에 필요한 비트수를 줄여 부호화 효율을 높이기위해서, 입력값들 중 2진수 체계의 실수로 표현된 각 성분의 최소값 (x_min, y_min 및 z_min), 및 모든 성분 중 최대값(max)을 10 진수 체계의 실수로 변환한다(S652).
컴퓨터는 실수(floating-point number)를 32 비트의 2진수 형태로 저장한다. 실수(floating-point number)가 2진수 형태로 입력되면, 실수 부호화기(330)는 실수를 10진수 체계의 크기(이하, "맨티사(mantissa)"라 칭함) 및 10 의 거듭 제곱(이하, "지수(exponent)"라 칭함)의 형식으로 변환한다. 즉, 다음의 수학식 9 와 같이 변환한다.
예를 들어, 실수 12.34를 컴퓨터에서 2진수 형태로 표현하면, 다음과 같다.
이 수를 전술한 수학식 9 에 따라서 10진수로 표현하면, 다음과 같다.
십진수 체계의 맨티사와 지수를 비트스트림에 포함시키기 위해서는 각각이 필요한 비트수를 계산하여야 한다. 먼저, 지수는 -38 ~ 38 사이 범위의 값을 갖으므로, 지수는 부호(sign)를 포함하여 7 비트로 표현될 수 있다. 또한, 맨티사는 자리수에 따라서 필요한 비트의 수가 결정된다. 맨티사의 값과 이에 필요한 비트수(단, 부호 비트는 제외)를 다음의 표 2 에 나타내었다.
그 후, 실수 부호화기(330)는 각 성분의 최소값의 자리수가 모두 동일한지 여부를 조사하고(S453), 만약 동일하지 않으면, 각 성분의 최소값의 자리수를 키 값 헤더 부호화기(360)로 출력하여 키 값 헤더로서 부호화한다(S654).
만약, 각 성분의 최소값의 자리수가 모두 동일하면, 이들 최소값들의 자리수가 원래 키 값 데이터의 자리수와도 동일한지를 조사하고(S655), 동일하지 않으면, 최소값의 자리수를 키 값 헤더 부호화기(360)로 출력하여 키 헤더로서 부호화한다(S656).
이상의 과정을 통해서 각 성분의 최소값의 자리수 정보를 모두 키 값 헤더로서 부호화한 실수 부호화기(330)는 최대값 정보를 부호화하기 위해서 최대값(max)이 어느 성분에 포함되는지를 조사하고, 최대값(max)의 자리수와 최대값이 포함되는 성분의 최소값의 자리수가 동일한지 여부를 조사한다(S657).
만약 동일하지 않으면, 최대값(max)의 자리수를 키 값 헤더 부호화기(360)로 출력하여 키 값 헤더로서 부호화하고, 동일하면 자리수가 동일하다는 상태정보를 키 값 헤더 부호화기(360)로 출력한다(S658).
상술한 과정을 통해서 실수 부호화기(330)는 변환된 실수의 맨티사에 관한 정보를 키 값 헤더로서 부호화하였고, 후술하는 과정을 통해서 지수(Exponent)에 관한 정보를 키 값 헤더로서 부호화한다.
실수 부호화기(330)는 10 진수 체계로 변환된 각 성분의 최소값 (x_min, y_min 및 z_min) 및 최대값(max)의 지수(Exponent)의 절대값 중 최대값을 조사하여, 그 값을 nMaxExp 값으로 저장하고 소정의 비트로 키 값 헤더로서 부호화한다(S659).
그 후, 실수 부호화기(330)는 모든 지수의 부호가 동일한지 여부를 조사하여(S460), 동일하면 bSameSignExp 값을 1 로 저장하고, 동일한 최대값(max) 또는 최소값의 부호(sign)를 키 값 헤더 부호화기(360)로 출력한다(S661). 그러나, 동일하지 않으면 bSameSignExp 값을 0 으로 설정한다(S662). 상술한 과정을 통해서 최소값들 및 최대값의 지수에 관한 정보가 키 값 헤더로서 부호화되었다.
도 7b를 참조하면, 실수 부호화기(330)는 입력된 각 성분의 최소값 및 최대값을 키 값 헤더로서 부호화하는데, 먼저, 변환된 실수의 부호(sign)를부호화한다(S663).
그 후, 실수 부호화기(330)는 상술한 표 2를 참조하여 각 실수의 자리수에 따라서 부호화에 필요한 비트수를 계산하고, 계산된 비트수만큼 맨티사를 키 값 헤더 부호화기(360)로 출력한다(S664).
또한, 실수 부호화기(330)는 상술한 표 2를 참조하여 nMaxExp 값을 부호화하는데 필요한 비트수를 계산하고, 계산된 비트수만큼 지수를 키 값 헤더 부호화기(360)로 출력한다(S665).
실수 부호화기(330)는 상술한 bSameSignExp 값을 조사하여(S666), 지수의 부호(sign)가 모두 동일한지를 조사하고, 동일하지 않으면, 각 성분의 최소값의 부호와 최대값의 부호를 각각 키 값 헤더 부호화기(360)로 출력하여 부호화함으로써(S667), 정규화기로부터 입력된 키 값 데이터의 최소값 및 최대값의 부호화 과정은 종료된다.
한편, 실수 부호화기(330)는 양자화 오차 최소화부(320)로부터 각 성분의 양자화 오차를 최소화하는 최소값 및 최대값을 입력받아 상술한 과정을 통해서 키 값 헤더로 부호화한다.
한편, 도 6b 를 다시 참조하면, DPCM 처리부(340)는 입력된 양자화된 키 값 데이터에 대해서 순환 DPCM 연산 및 예측 순환 DPCM 연산을 수행하여 엔트로피 부호화기(350)로 차분 데이터를 출력한다(S670). DPCM 처리부(340)는 상술한 DPCM 연산장치로 구현되며, DPCM 연산장치의 구성 및 기능은 상술하였다. 다만, DPCM 처리부(340)는 키 값 데이터의 각 성분(x, y, 및 z)별로 순환 DPCM 연산 및 예측DPCM 연산을 수행한다.
DPCM 처리부(340)로부터 입력된 차분 데이터는 엔트로피 부호화기(350)에서 엔트로피 부호화된다(S680).
도 7c 를 참조하면, 본 발명의 바람직한 실시예의 엔트로피 부호화기(350)는 x, y 및 z 의 각 성분의 키 값 데이터의 차분 데이터를 엔트로피 부호화한다.
엔트로피 부호화기(350)는 입력된 각 성분의 차분 데이터를 조사하여, 각 성분에 포함된 양자화된 값들이 동일한지 여부, 즉, 차분 데이터가 모두 0 인지를 조사하고, 그렇다면, 엔트로피 부호화 과정을 종료한다(S681). 예컨대, 3차원 애니메이션상에서 기차가 x 성분 방향인 수평방향으로 이동하는 경우에, x 성분의 키 값 데이터는 변화하지만 나머지 성분들의 키 값 데이터는 그 변화가 미약하여, 양자화하면 그 값들이 동일하게 된다. 따라서, 동일한 키 값 데이터들을 모두 부호화하지 않고, 하나의 키 값 데이터만을 키 값 헤더로서 부호화함으로써 부호화 효율을 높일 수 있다.
각 성분의 모든 양자화된 키 값 데이터가 동일하지는 않다면, 엔트로피 부호화기(350)는 미리 설정된 값을 판독하여(S682), Unary AAC 함수를 이용하여 차분 데이터들을 부호화하거나(S683), SQ(Successive Quantization) AAC 함수를 이용하여 입력된 차분 데이터를 엔트로피 부호화한다(S685).
먼저, 도 8 을 참조하여 Unary AAC 함수에 대해서 설명한다. Unary AAC 함수는 부호화할 심볼들을 일련의 0 으로 변환한 후, 상기 0 이 종료되었음을 나타내는 1 및 심볼의 부호를 나타내는 1 비트를 이용하여 심볼을 부호화한다. 이 때,일련의 0 은 심볼의 크기를 나타낸다. 예컨대, 부호화할 심볼이 256 이라면, Unary AAC 함수는 도 9 에 도시된 바와 같이, 심볼을 256 개의 0 와, 0 이 종료되었음을 나타내는 1 및 심볼의 부호(양수)를 나타내는 0을 부호화하게 된다. Unary AAC 함수에 의해서 부호화할 심볼의 비트 중복성이 증가하므로 부호화 효율이 높아지게 된다.
도 7d , 도 9a 및 도 9b 를 참조하여, SQ AAC 함수의 부호화 과정을 설명한다. SQ AAC 함수는 양자화의 범위를 연속적으로 정의함으로써 각각의 심볼의 값을 부호화한다.
도 9a 는 SQ AAC 함수에 의해서 심볼을 부호화 개념을 설명하는 도면이다. 도 9a 에 도시된 바와 같이 부호화할 입력 심볼은 1 이고, 부호화 범위의 최소값은 0 이며 최대값은 9 이다.
첫 번째 단계에서 SQ AAC 함수는 부호화 범위를 상위 범위 및 하위 범위의 2 개의 범위로 나누고, 부호화할 심볼 1 이 어느 범위에 속하는지를 살펴본다. 심볼 1 은 부호화 범위의 하위 범위에 속하므로 0을 부호화하고, 부호화 범위를 하위 범위로 갱신한다. 즉, 부호화 범위의 최대값을 하위 범위의 최대값으로 갱신한다. 따라서, 두 번째 단계에서의 부호화 범위는 [0,4]이 된다.
두 번째 단계에도 SQ AAC 함수는 부호화 범위를 상위 범위와 하위 범위로 나누고, 부호화할 심볼 1 이 어느 범위에 속하는지 조사한다. 심볼 1 은 부호화 범위의 하위 범위에 속하므로 0을 부호화하고, 부호화 범위의 최대값을 하위 범위의 최대값인 1 로 갱신한다. 따라서, 새로운 부호화 범위는 하위 범위인 [0,1]로 갱신된다.
세 번째 단계에서 SQ AAC 함수는 부호화 범위를 상위 범위인 1 과 하위 범위인 0 으로 나누고, 부호화할 심볼 1 이 어느 범위에 속하는지를 조사한다. 이번에는 심볼이 상위 범위인 1 과 같으므로, 1을 부호화하고, 부호화 범위의 최소값을 1 로 갱신한다. 따라서, 새로운 부호화 범위는 [1,1] 이 되어, 부호화 범위의 최대값과 최소값은 동일하게 되었다. 부호화 범위의 최대값 및 최소값이 동일하면 SQ AAC 함수는 부호화 과정을 종료하게 된다.
도 7d 는 본 발명의 엔트로피 부호화기(350)에서 SQ AAC 함수를 이용하여 입력된 하나의 성분의 차분 데이터를 엔트로피 부호화하는 과정을 설명하는 흐름도이다.
도 7d를 참조하면, 엔트로피 부호화기(350)는 키 값 데이터의 차분 데이터, 입력된 차분 데이터(이하, "심볼"이라 칭함)를 엔트로피 부호화할 때 이용되는 비트수(nQP), 양자화된 값의 첫번째 값이 인트라값으로 부호화되었는지는 나타내는 nStartIndex 및 부호화할 심볼의 개수(n)을 입력으로 받는다(S692).
엔트로피 부호화기(350)는 입력된 모든 심볼의 부호(sign)를 부호화한 후, 입력 심볼을 모두 양수로 변환한다(S694). 모든 값을 양수로 만드는 이유는 이후의 과정들은 음수를 입력으로 받지 않기 때문이다.
엔트로피 부호화기(350)는 양수로 변환된 값들 중에서 최대값을 찾아 nMax 로 저장하고, 그것을 nQP 비트수만큼 부호화한다(S696).
엔트로피 부호화기(350)는 심볼들을 부호화할 부호화 범위를 초기화한다.이 범위의 최소값()은 0 으로, 최대값()은 제 S696 단계에서 검출된 최대값(nMax)으로 설정한다. 또한, 모든 심볼에 대해서 각각 한 비트 크기의 플래그()를 설정하며, 이 값은 심볼을 부호화할 때, 확률모델을 변환하기 위해서 사용된다(S698). 이 플래그는 초기에 false로 설정되며, 부호화할 값이 1이 나오면 값을 true로변경되고, 그 이후부터는 부호화에 이용되는 확률모델이 변경된다.
그 후, 엔트로피 부호화기(350)는 부호화할 각 성분의 첫 번째 차분 데이터를 설정하고(i=nStartIndex), 각 성분의 모든 심볼의 부호화가 종료되었는지를 나타내는 플래그(nDone)를 참으로 설정한다(S700).
엔트로피 부호화기(350)는 모든 심볼의 부호화 범위의 최대값과 최소값이 같아질 때까지 다음의 제 S702 단계 내지 제 S718 단계를 반복한다. (어떤 심볼의 부호화 범위의 최대값과 최소값이 같다는 것은 이 심볼의 부호화가 종료되었다는 것을 의미하기 때문에, 모든 심볼의 범위의 최대값 및 최소값이 같다는 것은 더 이상 부호화할 심볼이 없음을 의미한다.)
엔트로피 부호화기(350)는 현재 심볼의 부호화 범위의 최대값()과 최소값()이 동일한지를 조사하여(S702), 최대값과 최소값이 같으면 다음 심볼의 부호화 과정으로 진행하고, 동일하지 않으면 현재 성분의 부호화가 종료되지 않았음을 bDone 값을 "거짓"으로 설정하여 기록한다(S704).
그 후, 부호화기는 현재 심볼의 부호화 범위의 중간값을 계산하고(S706), 중간값과 심볼의 값을 비교한다(S708). 본 발명의 실시예에서는 중간값(nMid)를 다음의 수학식 10을 이용하여 계산하였다.
비교 결과, 심볼의 값이 중간값이하면, 0 을 비트스트림으로 출력한 후, 이 심볼의 부호화 범위의 최대값()을 중간값으로 대체한다(S710).
그러나, 비교 결과 심볼의 값이 중간값 이상이면, 1 을 비트스트림으로 출력한 후, 이 심볼의 부호화 범위의 최소값()을 중간값으로 대체한다. 이때, 현재의 심볼이 처음으로 중간값 이상이 되는 경우, 즉 처음으로 1이 비트스트림으로 출력된 경우라면, 부호화에 이용되는 확률모델을 변경하기 위해서를 참으로 설정한다(S712).
SQ AAC 함수에서 사용되는 확률모델은 2개가 존재한다. 하나는 각 심볼이 최초로 1 을 출력하기 전까지 출력되는 각 비트를 엔트로피 부호화하기 위해서 사용되는 notFoundContext 이고, 다른 하나는 각 심볼들이 최초로 1이 나온 이후의 모든 비트를 엔트로피 부호화하기 위해서 사용되는 FoundContext 이다. 이렇게 확률 모델을 변경하는 이유는 첫 번째 확률 모델을 사용할 때, 0 이 나올 수 있는 확률을 높이기 위함이다. 0 이 나올 확률이 높아지면 그만큼 엔트로피 부호화의 효율을 높아지게 된다.
그 후, 부호화기는값을 조사하여(S714),값이 참이면 Found context를 이용해서 차분 데이터를 부호화하고(S716),값이 거짓이면 notFound context를 이용해서 차분 데이터를 부호화한다(S718).
한 심볼에 대한 부호화 과정(S702 내지 S718)이 종료되면, 부호화기는 인덱스를 1 증가시키고(S720), 모든 심볼에 대해서 부호화 과정이 종료되었는지를 조사하여(S722), 부호화할 심볼이 더 있으면 제 S702 단계부터 다시 수행한다.
모든 심볼에 대해서 부호화 과정이 종료되면, 엔트로피 부호화기(350)는 bDone 플래그를 조사하여 모든 성분에 대한 부호화 과정이 종료되었는지를 조사하고(S724), bDone 이 참이면 모든 부호화 과정을 종료하고, bDone 이 거짓이면 다른 성분의 심볼들을 부호화하기 위해서 S700 단계부터 다시 수행한다.
도 9b 는 SQ AAC 함수에 의해서 다수의 심볼을 부호화하는 과정을 설명하는 도면으로서, 입력된 부호화될 심볼들이 0, 1, 2, 3, 4, 및 9 라 할 때의 부호화 과정을 예시한다.
도 6b를 다시 참조하면, 부호화 장치는 입력된 키 값 데이터를 모두 엔트로피 부호화하여 비트스트림을 생성하면, 부호화된 키 값 데이터를 복호화할 때 필요한 정보를 키 값 헤더 부호화기(360)에서 키 값 헤더 정보로서 부호화하여, 미리 생성된 키 값 데이터 비트스트림에 합산하여 출력한다(S730).
키 값 헤더 부호화기(360)는 부호화할 키 값 데이터를 입력받아 키 값 데이터의 개수 및 키 값 데이터의 자리수(digit)를 부호화한다. 또한, 키 값 데이터의 양자화 비트 사이즈를 부호화하고, x, y, 및 z 각 성분에 대해서 모든 양자화값이 같은지(예컨대, y 및 z 성분의 키 값 데이터는 변화하나 x 성분의 변화가 극히 미약하여, 양자화된 x 성분의 키 값 데이터가 모두 동일한 경우)를 판별하여 그 결과를 플래그로써 부호화한다.
예컨대, 만약 X 성분의 양자화 값들이 모두 같지는 않으면, X 성분의 부호화에 이용된 DPCM 연산의 종류(예컨대, 순환 DPCM 연산인지 또는 예측 순환 DPCM 연산인지 여부), 및 X 성분의 키 값 데이터를 UnaryAAC로 부호화할 것인지 여부를 각각 플래그로써 부호화한다. 또한, 키 값 데이터를 UnarryAAC로 부호화하지 않는다면, x 성분의 부호화 비트 사이즈, 및 x 성분의 부호화 시작 키 값 데이터를 키 값 헤더로 부호화한다.
한편, y 및 z 의 양자화된 키 값 데이터가 x 와 마찬가지로 모두 같지는 않으면, y 및 z 성분의 키 값 데이터에 대해서도 상술한 x 성분의 키 값 헤더 정보와 동일한 정보를 헤더로서 부호화한다.
또한, X 의 모든 양자화 값들이 같지 않고, 엔트로피 부호화할 때 UnaryAAC를 사용하지 않으며, 부호화 시작 키 값 데이터가 첫 번째 키 값 데이터라면, 첫 번째 키 값 데이터를 인트라 데이터로서 부호화하고, 이러한 과정을 Y 및 Z 성분에 대해서 반복한다.
키 값 헤더 부호화기(360)는 정규화기(300)로부터 최대 범위를 가지는 성분을 조사하여 nWhichAxis변수의 값을, 최대 성분이 X 이면 0 으로, Y 이면 1로, Z 이면 2로 각각 설정하고, nWhichAxis와 x_min, y_min, z_min, max값을 실수 부호화기(330)를 사용하여 키 헤더로서 부호화한다. 또한, 양자화 오차 최소화부(320)로부터 각 성분의 양자화 오차를 최소화하는 최소값 및 최대값을 실수 부호화기로부터 입력받아 키 값 헤더로 부호화한다.
지금까지 본 발명의 바람직한 실시예에 따른 키 값 데이터 부호화 방법 및 부호화 방법에 관하여 설명하였다.
이하, 본 발명의 바람직한 제 4 실시예에 따른 부호화 방법 및 장치를 컴퓨터 프로그램으로 구현한 예를 설명한다.
본 발명의 부호화기는 이하에서 설명될 비트스트림 형식으로 위치 인터폴레이터를 부호화한다. 전형적인 프로그램 코드 및 변수들의 의미는 이해를 돕기 위해서 SDL 언어 형식으로 이하에 기재하였다.
먼저, 압축된 위치 인터폴레이터를 프로그램 코드로 구현한 예를 도시한 도 19 를 참조하여, 프로그램 코드에 이용된 변수들의 의미에 대해서 설명하면, 도시된 부분은 압축된 위치 인터폴레이터의 비트스트림을 판독하기 위한 첫 번째 클래스로서, PosIKeyValueHeader 및 PosIKeyValue 로 구성된다. PosIKeyValueHeader 는 PosIKeyValue를 복호화하기 위한 헤더 정보를 포함하며, PosIKeyValue 클래스는 비트스트림으로부터 각가의 위치 인터폴레이터에 대한 키 값 데이터를 판독한다. qf_start() 함수는 비트스트림으로부터 AAC 부호화된 부분을 판독하기 전에 산술 복호화기를 초기화하는데 이용된다.
PosIKeyValueHeader 의 프로그램 코드를 도시한 도 20 를 참조하여 PosIKeyValueHeader 에 대해서 설명한다.
PosIKeyValueHeader 에 기재된 변수들의 의미를 살펴보면,nNumKeyValueCodingBit 는 nNumberOfKeyValue 의 비트사이즈를 나타내고, nNumberOfKeyValue 는 키 값 데이터의 개수를 나타내며, nKVQBit 는 키 값 데이터의 양자화 비트 사이즈를 나타낸다.
x_keyvalue_flag, y_keyvalue_flag 및 z_keyvalue_flag 는 세가지 성분인 (x, y, 및 z)를 나타내고, nKVDigit 키 값 데이터의 최대 중요 자리수를 나타내며, nKVDPCMOrder_X, nKVDPCMOrder_Y 및 nKVDPCMOrder_Z 는 각 키 값 데이터의 성분에 대해 사용된 DPCM 연산을 나타낸다. 만약, DPCM 연산이 이용되었다면 0 이 플래그로 설정되고, 예측 DPCM 연산이 이용되었다면, 1 이 플래그로 설정된다.
한편, bIsUnaryAAC_X, bIsUnaryAAC_Y, 및 bIsUnaryAAC_Z 는 unary AAC 함수가 엔트로피 부호화에 이용되었다는 것을 나타내고, nKVCodingBit_X, nKVCodingBit_Y 및 nKVCodingBit_Z 는 각 키 값 데이터의 성분에 대한 양자화 비트를 나타내며, nStartIndex_X, nStartIndex_Y 및 nStartIndex_Z 는 각 성분 축의 시작 인덱스를 나타내고, firstKV_X, firstKV_Y 및 firstKV_Z 는 첫 번째로 양자화된 키 값 데이터의 x, y 및 z를 나타낸다.
KeyValueMinMax 클래스의 프로그램 코드를 도시한 도 21 를 참조하면, KeyValueMin 클래스는 키 값 데이터의 정규화에 이용된 최대값 및 최소값을 복원한다. bUse32Float는 최대값 및 최소값을 저장하기 위해서 32 비트 실수가 사용되었는지를 나타낸다. bUse32Float 가 0 이라면, 10진수 체계로 표현된 실수가 사용되었음을 나타낸다.
nWhichAxis 는 최대 범위를 갖는 성분을 나타낸다. 본 실시예에서는nWhichAxis 가 0이면 x 축을, 1 이면 y축을, 2 면 z 축을 각각 나타낸다.
bAllSameMantissaDigitFlag 는 x, y 및 z 의 최소값의 맨티사의 자리수가 모두 동일한지를 나타내고, bSameKVDigitFlag 는 모든 맨티사의 자리수가 nKVDigit 과 동일한 지를 나타낸다. nMantissaDigit_X, nMantissaDigit_Y, nMantissaDigit_Z 는 x, y 및 z 의 최소값의 맨티사의 자리수를 각각 나타낸다.
bMaxDigitFlag 는 최대값의 맨티사의 자리수가 최소값의 맨티사의 자리수와 다른지를 나타내고, 다르다면, 최대 범위의 맨티사의 자리수가 비트스트림으로부터 판독된다.
nMantissaDigit_M 은 최대값의 맨티사의 자리수를 나타내고, nExponentBits 는 지수값을 부호화하는데 필요한 비트수를 나타낸다. bAllSameExponentSign은 x, y, 및 z 성분의 부호가 모두 동일한지를 나타내고, nExponentSign 은 bAllSameExponentSign 가 참일 때, 지수의 부호를 나타낸다.
fpnMin_X, fpnMin_Y, fpnMin_Z 및 fpnMax 는 10진수 체계에서 실수(floating-point number)를 나타내고, 이들 값들은 FloatingPointNumber에서 설명되는 바와 같이 복호화된다. 또한, fMin_X, fMin_Y, 및 fMin_Z 는 각 성분의 최소값을 나타내고, fMax 는 최대 범위를 갖는 성분의 최대값을 나타낸다.
이하, 도 22를 참조하여 FloatingPointNumber 클래스의 프로그램 코드에 대해서 살펴본다.
FloatingpointNumber 클래스는 실수(floating-point number)를 10진수 체계로 나타내고, nMantissa 는 10진수 체계의 실수(FloatingPointNumber) 의 맨티사값을 나타내며, nExponent 10진수 체계의 실수(FloatingPointNumber) 의 지수 값을 나타내고,
nSign 상기 값들의 부호를 나타낸다. 또한, nExponentSign 는 10진수 체계의 실수(FloatingPointNumber) 의 지수의 부호를 나타낸다.
이하, 도 23을 참조하여 PosIKeyValue 클래스의 프로그램 코드를 살펴본다.
도시된 PosIKeyValue 클래스에 기재된 변수들의 의미를 살펴보면, keyValue_X, keyValue_Y 및 keyValue_Z 는 위치 인터폴레이터에서 각 성분의 배열을 나타내고, 만약, nStartIndex_X 가 1로 설정되었다면, keyValue_X[0]는 PosIKeyValueHeader 클래스의 firstKV_X 로 채워진다. 만약, nStartIndex_X 가 0 으로 설정되었다면, keyValue_X[0] 는 산술 복호화기를 이용하여 비트스트림으로부터 복호화된다. 동일한 방식으로, keyValue_Y[0] 및 keyValue_Z[0] 가 결정된다. 이 들은 decodeUnaryAAC 또는 decodeSQAAC 함수를 통해서 비트스트림으로부터 산술 복호화된다.
컨택스트 모델 kVXSignContext, kVYSignContext 및 kVZSignContext 는 keyValue_X, keyValue_Y 및 keyValue_Z 의 부호를 복호화하는데 이용되고, 이들 컨택스트들은 decodeUnaryAAC 또는 decodeSQAAC 함수로 전달된다.
MaxValueContext, FoundContext 및 NotFoundContext 키 값의 절대값을 엔트로피 복호화하는데 이용되고 (예컨대, kVXMaxValueContext, kVXFoundContext 및 kVXNotFoundContext 는 keyValue_X의 복호화에 이용된다), decodeSQAAC 함수로 전달된다.
컨택스트 모델 kVXUContext, kVYUContext 및 kVZUContext 는 keyValue_X, keyValue_Y 및 keyValue_Z 의 복호화에 이용되고, decodeUnaryAAC 함수로 전달된다.
지금까지 본 발명의 바람직한 실시예에 따른 DPCM 연산 장치, 및 부호화 장치 및 방법에 대하여 설명하였다.
이하, 도 10a 및 도 10b를 참조하여 상술한 DPCM 연산 장치에 의해서 생성된 차분 데이터를 복원하여 양자화된 입력 데이터를 출력하는 역 DPCM 연산 장치에 대해서 설명한다.
도 10a 는 본 발명의 역 DPCM 연산 장치의 구성을 도시하는 블록도이고, 도 10b 는 역 DPCM 연산 과정을 설명하는 흐름도이다.
도 10a를 참조하면, 본 발명의 역 DPCM 연산 장치는, 입력된 차분 데이터에 대해서 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하고 역 DPCM 연산을 수행하여 양자화된 데이터를 출력하는 역 순환 DPCM 연산부(1020), 입력된 차분 데이터에 대해서 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하고 역 예측 DPCM 연산을 수행하여 양자화된 데이터를 출력하는 역 예측 순환 DPCM 연산부(1030), 및 입력 차분 데이터에 수행된 DPCM 연산의 종류에 따라서 입력 차분 데이터를 상기 역 순환 DPCM 연산부(1020) 또는 상기 역 예측 순환 DPCM 연산부(1030)로 출력하는 판단부(1010)를 포함한다.
도 10b 를 참조하여 본 발명의 역 DPCM 연산 과정을 설명한다.
역 DPCM 연산될 차분 데이터는 판단부(1132)로 입력되고, 판단부(1132)는 입력된 차분 데이터에 수행된 DPCM 연산의 종류를 조사하여 어떤 역 DPCM 연산을 수행할 지를 결졍하고, 입력된 차분 데이터를 역 순환 DPCM 연산부(1020) 또는 역 예측 순환 DPCM 연산부(1030)로 출력한다(S1010).
먼저, 역 순환 DPCM 연산부(1020)의 처리 과정을 살펴보면, nMax 가 입력된 데이터의 양자화 범위의 최대값이라고 할 때, 역 순환 DPCM 연산부(1020)는 다음의 수학식 11 를 이용하여 입력된 차분 데이터()를 역 순환 양자화하여, 역 순환 양자화된 차분 데이터()를 계산한다(S1020).
그 후, 역 순환 DPCM 연산부(1020)는 다음의 수학식 12 에 따라서 입력된 값()을 이용하여 역 DPCM 연산된 A 값과, 역 순환 양자화된 차분 데이터()를 이용하여 역 DPCM 연산된 B 값을 구한다(S1030).
상기 수학식에서 , n 이 데이터의 개수를 나타낼 때, i 는 1 내지 n-1 의 정수이다.
역 순환 DPCM 연산부(1020)는 A 값이 0 이상이고 nMax 이하이면 A 를 역 순환 DPCM 연산된 데이터()로서 출력하고, A 값이 0 보다 작거나 nMax 값보다 크면 B 값을 출력한다(S1040).
한편, 역 예측 순환 DPCM 연산부(1030)는 상기 수학식 12 를 이용하여 입력된 예측 차분 데이터()를 역 순환 양자화하여, 역 순환 양자화된 예측 차분 데이터()를 계산한다(S1020).
그 후, 복호화에 이용되는 예측값이라고 할 때, 역 예측 순환 DPCM 연산부(1030)는 다음의 수학식 13 에 따라서, 입력된 값()을 이용하여 역 예측 DPCM 연산된 A 값을 구하고, 다음의 수학식 14 에 따라서 역 순환 양자화된 차분 데이터()를 이용하여 역 예측 DPCM 연산된 B 값을 구한다(S1030).
상기 수학식들에서 , n 이 데이터의 개수를 나타낼 때, i 는 1 내지 n-1 의 정수이다.
역 순환 DPCM 연산부(1020)는 A 값이 0 이상이고 nMax 이하이면 A 를 역 순환 DPCM 연산된 데이터()로서 출력하고, A 값이 0 보다 작거나 nMax 값보다 크면 B 값을 출력한다(S1040).
이하, 도 11을 참조하여, 본 발명의 바람직한 제 1 실시예에 따른 복호화 장치를 설명한다.
제 1 실시예에 따른 복호화 장치는 발명의 DPCM 연산 장치를 이용한 상술한 본 발명의 제 1 실시예의 부호화 장치를 이용하여 입력 데이터를 부호화한 비트스트림을 복호화한다.
도 11 에 도시된 복호화 장치는 엔트로피 복호화기(1120), 상술한 역 DPCM 연산 장치로 구현되는 역 DPCM 처리부(1130), 및 역 양자화기(1140)를 포함한다.
엔트로피 복호화기(1120)는 입력된 비트스트림을 엔트로피 복호화하여 차분 데이터를 생성하고, 차분 데이터를 역 DPCM 처리부(1130)로 출력한다.
역 DPCM 처리부(1130)는 상술한 바와 같이, 입력된 차분 데이터에 대해서 수행되었던 DPCM 연산의 종류를 조사하여, 차분 데이터에 대해서 역 순환 DPCM 연산 또는 역 예측 순환 DPCM 연산을 수행하고, 생성된 양자화된 데이터를 역 양자화기(1140)로 출력한다.
역 양자화기(1140)는 소정의 양자화 비트수에 따라서 입력된 양자화된 데이터를 역 양자화하여 복원된 데이터를 출력한다.
이하, 도 12a 및 도 12b를 참조하여 본 발명의 제 2 실시예에 따른 복호화 장치를 설명한다. 제 2 실시예에 따른 복호화 장치는 본 발명의 정규화기에 의해서 정규화된 복수 성분의 데이터를 부호화한 비트스트림을 복호화한다.
도 12a 에 도시된 제 2 실시예에 따른 복호화 장치는 입력된 비트스트림을 엔트로피 복호화하여 차분 데이터를 출력하는 엔트로피 복호화기(1120), 차분 데이터에 역 DPCM 연산을 수행하여 양자화된 데이터를 출력하는 역 DPCM 연산부(140/1130), 양자화된 데이터를 역 양자화하여 정규화된 데이터를 출력하는 역 양자화기(1140), 및 비트스트림으로부터 복호화된 각 성분의 데이터의 최소값 및 모든 성분의 데이터의 최대값을 입력받아, 상기 정규화된 데이터의 최대범위를 구하고 최대범위에 따라서 복수 성분의 양자화된 데이터를 역 정규화하는 역 정규화기(1150)를 포함한다.
본 발명의 제 2 실시예의 복호화기에 포함된 엔트로피 복호화기(1120), 역 DPCM 연산부, 및 역 양자화기(1140)의 구성 및 처리과정은 상술한 본 발명의 제 1 실시예에 따른 복호화기의 구성과 유사하므로 자세한 설명은 생략하고, 제 1 실시예와 다른 구성인 역 정규화기(1150)의 처리과정을 도 12b를 참조하여 설명한다.
역 정규화기(1150)는 입력 비트스트림으로부터 복호화된 정규화에 이용된 최대값(fMax), 각 성분의 최소값(fMin_X, fMin_Y, 및 fMin_Z), 최대값이 포함된 성분 정보(nWhichAxis), 및 부호화 형식 정보(bUse32Float)를 입력받는다(S1210).
역 정규화기(1150)는 부호화 형식 정보(bUse32Float)를 조사하여, 입력된 최대값(fMax)과 각 성분의 최소값이 32 비트 단위로 부호화되었으면 다음의 수학식 15 에 따라서 최대범위(Rangemax)를 계산하고, 32 비트 단위로 부호화되지 않았다면 입력된 최대값을 최대 범위로 결정한다(S1220).
최대 범위가 결정되면 역 정규화기(1150)는 최대범위에 따라서 각 성분의 데이터를 다음의 수학식 16 에 따라서 역 정규화한다(S1230).
상기 수학식에서 n 은 데이터의 개수를 나타낸다.
이하, 도 13a 및 도 13b 를 참조하여 본 발명의 바람직한 제 3 실시예에 따른 복호화 장치 및 복호화 방법을 설명한다. 제 3 실시예의 복호화 장치는 본 발명의 부호화 방법을 이용하여 3차원 애니메이션 객체의 위치 정보를 나타내는 위치 인터폴레이터의 키 값 데이터를 부호화한 비트스트림을 복호화한다.
도 13a를 참조하면, 제 3 실시예의 복호화 장치는 복호화에 필요한 정보를 비트스트림으로부터 복호화하는 키 값 헤더 복호화기(1110), 입력된 비트스트림을 엔트로피 복호화하여 차분 데이터를 출력하는 엔트로피 복호화기(1120), 차분 데이터에 역 순환 DPCM 연산 및 역 예측 순환 DPCM 연산을 수행하여 양자화된 키 값 데이터를 출력하는 역 DPCM 처리부(1130), 양자화된 키 값 데이터를 역 양자화하여 정규화된 키 값 데이터를 출력하는 역 양자화기(1140), 키 값 헤더 복호화기로부터각 성분의 양자화된 키 값 데이터의 최소값 및 최대값을 입력받아 2진수 체계의 실수로 변환하여 역 양자화기(1140)로 출력하고 각 성분의 키 값 데이터의 최소값 및 최대값을 2진수 체계의 실수로 변환하여 출력하는 실수 복호화기(1160), 및 실수 복호화기로부터 각 성분의 키 값 데이터의 최소값 및 모든 성분의 키 값 데이터 중 최대값을 입력받아 키 값 데이터를 역 정규화하는 역 정규화기(1150)를 포함한다.
이하, 키 값 데이터 복호화 방법을 설명한 흐름도인 도 13b 를 더 참조하여, 제 3 실시예에 따른 복호화 방법을 설명한다.
부호화된 키 값 데이터의 비트스트림이 엔트로피 복호화기(1120) 및 키 값 헤더 복호화기(1110)로 각각 입력되면, 먼저, 키 값 헤더 복호화기(1110)는 입력된 비트스트림에서 복호화에 필요한 헤더 정보를 추출하여 복호화하고, 복호화된 헤더 정보를 엔트로피 복호화기(1120), 역 DPCM 처리부(1130), 및 역 양자화기(1140)로 각각 출력한다(S1300).
한편, 엔트로피 복호화기(1120)는 입력된 비트스트림을 엔트로피 복호화하여 차분 데이터를 역 DPCM 처리부(1130)로 출력한다(S1320).
엔트로피 복호화 과정을 설명하는 흐름도인 도 14a를 참조하면, 비트스트림()이 엔트로피 복호화기(1120)로 입력된다(S1321). 도 15 는 엔트로피 복호화기로 입력되어 복호화되는 부호화된 키 값 데이터의 순서를 도시한다.
엔트로피 복호화기(1120)는 입력된 비트스트림에 포함된 한 성분(예컨대, X 성분)의 키 값 데이터의 양자화된 값들이 모두 동일한지(즉, 차분 데이터가 모두 0 인지)를 조사하고(S1322), 모두 동일하다면, 그 성분의 모든 심볼을 키 값 헤더 복호화기(1110)로부터 입력받은 최소값(예컨대, fMin_X)으로 설정하여 복호화한다(S1323).
엔트로피 복호화기(1120)는 키 값 데이터의 양자화된 값들이 모두 동일하지 않으면, 키 값 데이터들이 Unary AAC 함수로 부호화되었는지를 조사하여(S1324), Unary AAC 함수로 부호화되었다면, Unary AAC 함수를 이용하여 복호화한다(S1325).
Unary AAC 함수는 비트스트림으로부터 1 이 판독될 때까지 0을 판독하고, 판독된 0 의 개수를 절대값으로 변환한 후, 1 이 판독된 비트 다음의 부호 비트를 판독하여 복호화된 값을 출력한다.
키 값 데이터들이 Unary AAC 함수로 부호화되지 않았다면, 엔트로피 복호화기(1120)는 SQ AAC 함수를 이용하여 입력된 비트스트림을 복호화한다(S1330).
도 14b 를 참조하여, 엔트로피 복호화기(1120)가 SQ AAC 함수를 이용하여, 한 성분의 키 값 데이터를 부호화한 비트스트림을 복호화하는 과정을 설명한다.
엔트로피 복호화기(1120)는 모든 심볼의 부호를 비트스트림으로부터 복호화하고, 최대값(nMax)을 복호화한 후, 모든 심볼들의 복호화 범위(0 부터 최대값(nMax)까지) 및플래그를 거짓(false)으로 초기화한다(S1331).
그 후, 엔트로피 복호화기(1120)는 복호화할 첫 번째 키 값 데이터를 설정(i=nStartIndex)하고, bDone을 참으로 설정한다(S1332).
엔트로피 복호화기(1120)는 심볼을 복호화하기 위해서 다음의 제 S1333 단계 내지 S1343 단계를 반복한다.
먼저, 엔트로피 복호화기(1120)는 복호화 범위의 최대값()과최소값()이 동일한지를 조사한다(S1333).
복호화 범위의 최대값과 최소값이 동일하면 복호화될 심볼의 값을 범위의 최대값(또는, 최소값)으로 결정하고(S1334), 동일하지 않은 경우에는 bDone을 거짓(false)로 설정하고 심볼의 복호화 범위의 중간값(nMid)을 다음의 수학식 17 에 따라서 갱신한다(S1335).
엔트로피 복호화기(1120)는 복호화에 이용할 확률 모델을 결정하기 위해서 컨택스트 플래그()가 참인지를 조사하고(S1336), 참이면 FoundContext를 이용해서 비트스트림을 복호화하고(S1337), 거짓이면 notFoundContext를 이용해서 비트스트림을 복호화한다(S1338).
비트스트림으로부터 1 비트를 복호화한 엔트로피 복호화기(1120)는 판독된 비트가 1 인지를 조사하여(S1339), 1 이 아니면 복호화 범위의 최대값을 중간값으로 대체하고(S1340), 판독된 비트가 1이면 복호화 범위의 최소값을 중간값으로 대체한 후, 컨택스트 플래그()를 참으로 설정한다(S1341).
엔트로피 복호화기(1120)는 복호화 인덱스를 1 증가시키고(S1342), 한 성분의 모든 키 값 데이터가 복호화 되었는지를 조사한 후(S1343), 아직 복호화할 심볼이 더 있으면 S1333 단계 내지 S1342 단계를 반복한다.
한편, 한 성분의 키 값 데이터가 모두 복호화되었다면, 엔트로피 복호화기(1120)는 복호화할 다른 성분의 키 값 데이터가 더 있는지를 조사하고(S1244), 더 있다면 제 S1332 단계 내지 제 S1343 단계를 반복한다.
도 13a 및 도 13b 를 다시 참조하면, 엔트로피 복호화기(1120)에 의해서 복호화된 키 값 데이터의 차분 데이터는 역 DPCM 처리부(1130)로 입력되어, 역 순환 DPCM 연산 및 역 예측 순환 DPCM 연산이 수행된다(S1350). 역 순환 DPCM 연산 및 역 예측 DPCM 연산과정은 키 값 데이터의 각 성분에 대해서 수행된다는 점을 제외하면, 상술한 역 DPCM 연산 장치의 연산 과정과 동일하다.
역 DPCM 처리부(1130)는 상술한 역 DPCM 연산이 수행되어 생성된 양자화된 키 값 데이터()를 역 양자화기(1140)로 출력하고, 역 양자화기(1140)는 입력된 양자화된 키 값 데이터()를 키 값 헤더 복호화기(1110)로부터 입력된 양자화 비트(nKeyValueQBits)로 역 양자화한다(S1370). n 을 키 값 헤더 복호화기 (1110)로부터 입력된 복호화될 키 값 데이터의 개수라고 할 때, 역 양자화기(1140)의 역 양자화 과정은 다음의 수학식 18 로 표현된다.
역 양자화기는 각 성분에 대해서 모두 역 양자화를 수행하여 정규화된 데이터를 생성하고, 정규화된 각 성분의 키 값 데이터를 역 정규화기(1150)로 출력한다.
역 정규화기(1150)는 실수 복호화기로부터 입력된 정보를 이용하여 정규화된 키 값 데이터를 역 정규화한다.
도 14c를 더 참조하여, 정규화된 데이터의 역 정규화 과정을 살펴본다.
실수 복호화기(1160)는 키 값 헤더 복호화기(1110)로부터 정규화에 이용된 최대값(fMax), 각 성분의 최소값(fMin_X, fMin_Y, 및 fMin_Z), 최대값이 포함된 성분 정보(nWhichAxis), 및 부호화 형식 정보(bUse32Float)를 입력받는다(S1382).
실수 복호화기(1160)는 수학식 9 에 기재된 관계에 따라서 입력된 10진수 체계로 표현된 최대값 및 최소값을 2진수 체계의 실수로 변환하고, 입력된 정보들과 변환된 최대값 및 최소값을 역 정규화기(1150)로 출력한다(S1384).
역 정규화기(1150)는 부호화 형식 정보(bUse32Float)를 조사하여, 입력된 최대값(fMax)과 최소값이 32 비트 단위로 부호화되었으면 다음의 수학식 15 에 따라서 최대범위(Rangemax)를 계산하고, 32 비트 단위로 부호화되지 않았다면 입력된 최대값을 최대 범위로 결정한다(S1386).
최대 범위가 결정되면 역 정규화기(1150)는 최대범위에 따라서 각 성분의 키 값 데이터를 다음의 수학식 16 에 따라서 역 정규화한다(S1388).
지금까지, 본 발명의 바람직한 실시예에 따른 복호화 장치 및 복호화 방법을 설명하였다. 한편, 상술한 제 3 실시예에 따른 복호화 장치를 프로그램 코드로 구현한 일 예를 도 24 내지 도 27 에 도시하였다.
먼저, 역 순환 DPCM 연산을 C++ 형식의 프로그램 코드로 구현한 예를 도 24에 도시하였다. 한편, 역 예측 순환 DPCM 연산을 C++ 형식의 프로그램 코드로구현한 예를 도 25에 도시하였다.
상기 역 순환 DPCM 연산 및 역 예측 순환 DPCM 연산 모두 양자화 범위내의 값을 선택하는 역 순환 양자화 루틴을 포함한다.
이하, 엔트로피 복호화기(적응적 산술 복호화기)를 C++ 형식의 프로그램 코드로 구현한 예를 도 26 및 31 에 각각 도시하였다. 여기서, qf_decode()는 비트스트림으로부터 1 비트를 판독하는 함수를 나타낸다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된것으로 해석되어야 할 것이다.
본 발명의 DPCM 연산 장치 및 방법은 기존의 DPCM 연산 방법이외에 예측 DPCM 연산을 수행하고 순환 양자화 연산을 수행함으로써, 차분 데이터의 크기를 크게 줄일 수 있는 효과가 있다. 아울러, 본 발명에 의한 DPCM 연산 방법을 이용하여 데이터를 부호화함으로써 데이터의 부호화 효율을 크게 향상시킬 수 있다.
또한, 본 발명에 따른 정규화기는 복수개의 성분으로 구성된 데이터를 한 성분에 따라서 정규화함으로써 나머지 성분의 데이터의 크기를 줄여 부호화 효율을 높일 수 있는 효과가 있다.
또한, 본 발명은 위치 인터폴레이터의 키 값 데이터를 정규화하고, DPCM 연산 및 예측 DPCM 연산을 수행한 후 순환 양자화 연산을 수행하여 부호화할 차분 데이터의 범위를 줄이므로써, 위치 인터폴레이터의 키 값 데이터를 고화질을 유지하면서 높은 압축 비율로 부호화하고 복호화 할 수 있는 효과가 있다.

Claims (103)

  1. 양자화된 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하고, 상기 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하여 순환 양자화된 차분 데이터를 출력하는 순환 DPCM 연산부;
    상기 양자화된 데이터에 대해서 예측 DPCM 연산을 수행하여 예측 차분 데이터를 생성하고, 상기 예측 차분 데이터의 범위를 감소시키는 순환 양자화 연산을수행하여 예측 순환 양자화된 차분 데이터를 출력하는 예측 순환 DPCM 연산부; 및
    입력된 차분 데이터의 크기에 따라서 상기 순환 양자화된 차분 데이터 및 예측 차분 데이터 중 하나를 선택하여 출력하는 선택부를 포함하는 것을 특징으로 하는 DPCM 연산 장치.
  2. 제 1 항에 있어서, 상기 예측 DPCM 연산은
    현재 양자화된 데이터와 예측 데이터간의 차에 따라서 예측 차분 데이터를 생성하며,
    상기 예측 데이터는 현재 양자화된 데이터보다 먼저 상기 예측 순환 DPCM 연산부로 입력된 양자화된 데이터들에 소정의 연산을 수행하여 계산되는 것을 특징으로 하는 DPCM 연산 장치.
  3. 제 2 항에 있어서, 상기 예측 데이터는
    현재 양자화된 데이터()의 이전 양자화된 데이터()와 상기 이전 양자화된 데이터의 이전 양자화된 데이터()에 소정의 연산을 수행하여 계산되는 것을 특징으로 하는 DPCM 연산 장치.
  4. 제 2 항에 있어서, 상기 예측 데이터는
    현재의 양자화된 데이터()와 이전의 양자화된 데이터()간의 차분데이터와, 이전 2 개의 양자화된 데이터()간의 차분 데이터에 따라서 계산되는 것을 특징으로 하는 DPCM 연산 장치.
  5. 제 1 항에 있어서, 상기 순환 양자화 연산은
    상기 차분 데이터 및 양자화 범위의 최대값에 소정의 연산을 수행하여 크기가 감소된 차분 데이터를 생성하는 것을 특징으로 하는 DPCM 연산 장치.
  6. 제 5 항에 있어서, 상기 순환 양자화 연산은
    상기 차분 데이터와 양자화 범위의 최대값간의 차 및 상기 차분 데이터 중 작은 값을 출력하는 것을 특징으로 하는 DPCM 연산 장치.
  7. 제 6 항에 있어서, 상기 순환 양자화 연산은
    차분 데이터가 소정의 기준값보다 크거나 같으면, 상기 차분 데이터에서 양자화 범위의 최대값을 감산하고, 상기 차분 데이터가 상기 기준값보다 작으면, 상기 양자화 범위의 최대값에서 상기 입력된 차분 데이터를 가산하여 순환 양자화된 차분 데이터를 구하고,
    상기 입력된 차분 데이터의 절대값 및 상기 순환 양자화된 차분 데이터의 절대값을 비교하여, 절대값이 작은 차분 데이터를 순환 양자화된 차분 데이터로서 출력하는 것을 특징으로 하는 DPCM 연산 장치.
  8. 제 1 항에 있어서, 상기 선택부는
    상기 순환 양자화된 차분 데이터 및 예측 순환 양자화된 차분 데이터의 절대값의 합에 따라서 차분 데이터를 선택하여 출력하는 것을 특징으로 하는 DPCM 연산 장치.
  9. 입력된 데이터를 소정의 양자화 비트로 양자화하는 양자화기;
    양자화된 데이터에 대해서 차분 데이터 및 예측 차분 데이터를 구하고, 상기 차분 데이터에 대해서 순환 양자화 연산을 수행하여 크기가 감소된 차분 데이터를 출력하는 DPCM 처리부; 및
    상기 DPCM 처리부로부터 입력된 차분 데이터를 엔트로피 부호화하는 엔트로피 부호화기를 포함하는 것을 특징으로 하는 부호화 장치.
  10. 제 9 항에 있어서, 상기 DPCM 처리부는
    양자화된 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하고, 상기 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하여 순환 양자화된 차분 데이터를 출력하는 순환 DPCM 연산부;
    양자화된 데이터에 대해서 예측 DPCM 연산을 수행하여 예측 차분 데이터를 생성하고, 상기 예측 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하여 예측 순환 양자화된 차분 데이터를 출력하는 예측 순환 DPCM 연산부; 및
    상기 순환 양자화된 차분 데이터 및 예측 차분 데이터 중 부호화할 데이터크기가 더 작은 차분 데이터를 선택하는 선택부를 포함하는 것을 특징으로 하는 부호화 장치.
  11. 제 10 항에 있어서, 상기 예측 DPCM 연산은
    현재 양자화된 데이터와 예측 데이터간의 차를 생성하며,
    상기 예측 데이터는 현재 양자화된 데이터보다 먼저 상기 예측 순환 DPCM 연산부로 입력된 양자화된 데이터들에 소정의 연산을 수행하여 계산되는 것을 특징으로 하는 부호화 장치.
  12. 제 10 항에 있어서, 상기 순환 양자화 연산은
    상기 차분 데이터 및 양자화 범위의 최대값에 소정의 연산을 수행하여 크기가 감소된 차분 데이터를 생성하는 것을 특징으로 하는 부호화 장치.
  13. 입력 데이터를 소정의 양자화 비트로 양자화하는 양자화기;
    양자화된 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하는 DPCM 연산부;
    상기 DPCM 연산부로부터 입력된 차분 데이터를 엔트로피 부호화하여 비트스트림으로 출력하는 엔트로피 부호화기;
    상기 입력 데이터 및 상기 양자화된 입력 데이터를 입력받아, 양자화 오차가 최소화되도록 양자화된 데이터의 최대값 및 최소값을 조정하여 출력하는 양자화 오차 최소화부; 및
    양자화 오차를 최소화하면서 상기 양자화된 입력 데이터를 역양자화할 수 있도록 상기 최대값 및 최소값을 헤더 정보로 부호화하여 상기 비트스트림에 포함시키는 헤더 부호화기를 포함하는 것을 특징으로 하는 부호화 장치.
  14. 제 13 항에 있어서, 상기 양자화 오차 최소화부는
    상기 입력 데이터 및 상기 양자화된 입력 데이터를 입력받아, 상기 양자화된 입력 데이터의 최소값의 자리수 및 양자화 오차를 계산하여 최소 오차값(emin)의 초기값을 설정하고, 조정 최소값(min') 및 양자화 오차 최소화값(minmin)의 초기값을 설정하는 초기값 설정부;
    상기 조정 최소값(min')에 소정의 연산을 수행하여 상기 조정 최소값을 갱신하는 조정 최소값 갱신부;
    상기 갱신된 조정 최소값의 자리수 및 크기에 따라서 양자화 오차 최소화값(minmin)을 역 양자화에 이용될 최소값으로 결정하는 판단부; 및
    상기 갱신된 조정 최소값에 따른 양자화 오차값을 계산하고, 상기 계산된 오차값이 상기 최소 오차값보다 작은 경우에, 상기 조정 최소값을 양자화 오차 최소화값(minmin)으로 갱신하고, 상기 계산된 오차값을 최소 오차값으로 갱신하여 상기 조정 최소값 갱신부로 출력하는 오차값 갱신부를 포함하는 것을 특징으로 하는 부호화 장치.
  15. 제 14 항에 있어서, 상기 초기값 설정부는
    소정의 양자화 스텝 사이즈를 소정의 상수로 나눈 값과 상기 양자화된 데이터의 최소값에 따라서 상기 조정 최소값의 초기값을 설정하는 것을 특징으로 하는 부호화 장치.
  16. 제 14 항에 있어서, 상기 판단부는
    입력된 조정 최소값의 자리수를 상기 양자화된 데이터의 자리수와 비교하고, 상기 입력된 조정 최소값의 크기를 상기 입력 데이터의 최소값의 크기와 비교하여, 현재의 양자화 오차 최소화값을 역 양자화에 이용될 최소값으로 출력하는 것을 특징으로 하는 부호화 장치.
  17. 복수의 성분으로 구성된 데이터를 부호화하는 장치로서,
    입력된 각 성분의 데이터의 범위 중에서 최대 범위를 계산하고, 상기 각 성분의 데이터를 상기 최대 범위에 따라서 정규화하는 정규화기;
    정규화된 데이터를 소정의 양자화 비트로 양자화하는 양자화기;
    상기 양자화된 데이터에 DPCM 연산을 수행하여 차분 데이터를 출력하는 DPCM 연산부; 및
    상기 차분 데이터를 엔트로피 부호화하여 데이터가 부호화된 비트스트림을 출력하는 엔트로피 부호화기를 포함하는 것을 특징으로 하는 부호화 장치.
  18. 제 17 항에 있어서, 상기 정규화기는
    입력된 각 성분의 데이터의 최대값 및 최소값을 계산하고, 상기 각 성분의 데이터의 최대값 및 최소값을 이용하여 각 성분의 범위 및 상기 각 성분 범위 중 최대 범위를 구한 후, 각 성분의 데이터를 상기 최대 범위에 따라서 정규화하는 것을 특징으로 하는 부호화 장치.
  19. 키 프레임 기반의 그래픽 에니메이션 방식에서, 객체의 위치를 x, y, 및 z 성분으로 표현하는 위치 인터폴레이터의 키 값 데이터를 부호화하는 장치로서,
    입력된 각 성분의 키 값 데이터의 범위 중에서 최대 범위를 계산하고, 각 성분의 키 값 데이터를 상기 최대 범위에 따라서 정규화하여 정규화된 키 값 데이터를 출력하는 정규화기;
    상기 정규화된 키 값 데이터를 소정의 양자화 비트수로 양자화하는 양자화기;
    상기 각 성분의 키 값 데이터 중 최소값, 모든 성분의 키 값 데이터 중 최대값, 및 양자화된 키 값 데이터의 최대값 및 최소값을 입력받아 10 진수 체계의 실수로 변환하는 실수 부호화기;
    양자화된 키 값 데이터에 대해서 차분 데이터 및 예측 차분 데이터를 구하고, 상기 차분 데이터들의 범위를 감소시키는 순환 양자화 연산을 수행하는 DPCM 처리부;
    상기 차분 데이터를 엔트로피 부호화하여 키 값 데이터가 부호화된 비트스트림을 출력하는 엔트로피 부호화기; 및
    상기 비트스트림의 복호화에 필요한 정보를 부호화하여 상기 비트스트림에 포함시키는 키 값 헤더 부호화기를 포함하는 것을 특징으로 하는 부호화 장치.
  20. 제 19 항에 있어서,
    입력된 키 값 데이터 및 양자화된 키 값 데이터를 입력받아, 양자화 오차를 최소화할 수 있도록 상기 각 성분의 양자화된 키 값 데이터의 최소값 및 최대값을 조정하여 상기 실수 부호화기로 출력하는 양자화 오차 최소화부를 더 포함하는 것을 특징으로 하는 부호화 장치.
  21. 제 19 항에 있어서, 상기 실수 부호화기는
    입력된 2 진수 체계의 실수를 크기(맨티사)와 지수 형식으로 표현된 10 진수 체계의 실수로 변환하며, 상기 각 성분의 최소값 및 최대값의 크기 및 지수를 키 값 헤더 부호화기로 출력하여 부호화하는 것을 특징으로 하는 부호화 장치.
  22. 제 21 항에 있어서, 상기 실수 부호화기는
    상기 각 성분의 최소값의 자리수, 상기 최대값의 자리수, 상기 각 성분의 최소값과 최대값의 지수 중 절대값이 가장 큰 값, 지수의 부호, 및 지수의 자리수 중 적어도 하나를 키 값 헤더 부호화기로 출력하여 키 값 헤더에 포함시키는 것을특징으로 하는 부호화 장치.
  23. 제 19 항에 있어서, 상기 DPCM 처리부는
    양자화된 키 값 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하고, 상기 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하여 순환 양자화된 차분 데이터를 출력하는 순환 DPCM 연산부;
    양자화된 키 값 데이터에 대해서 예측 DPCM 연산을 수행하여 예측 차분 데이터를 생성하고, 상기 예측 차분 데이터에 대해서 상기 순환 양자화 연산을 수행하여 예측 순환 양자화된 차분 데이터를 출력하는 예측 순환 DPCM 연산부; 및
    부호화에 필요한 비트수에 따라서 상기 순환 양자화된 차분 데이터 또는 예측 차분 데이터를 선택하는 선택부를 포함하는 것을 특징으로 하는 부호화 장치.
  24. 제 23 항에 있어서, 상기 순환 양자화 연산은
    상기 차분 데이터 및 양자화 범위의 최대값에 소정의 연산을 수행하여 크기가 감소된 차분 데이터를 생성하는 것을 특징으로 하는 DPCM 연산 장치.
  25. 제 24 항에 있어서, 상기 순환 양자화 연산은
    차분 데이터가 소정의 기준값보다 크거나 같으면, 상기 차분 데이터에서 양자화 범위의 최대값을 감산하고, 상기 차분 데이터가 상기 기준값보다 작으면, 상기 양자화 범위의 최대값에서 상기 입력된 차분 데이터를 가산하여 순환 양자화된차분 데이터를 구하고,
    상기 입력된 차분 데이터 및 상기 순환 양자화된 차분 데이터 중 크기가 작은 차분 데이터를 순환 양자화된 차분 데이터로서 출력하는 것을 특징으로 하는 부호화 장치.
  26. 제 25 항에 있어서, 상기 예측 DPCM 연산은
    현재 양자화된 데이터와 예측 데이터간의 차를 생성하며,
    상기 예측 데이터는 현재 양자화된 데이터보다 먼저 상기 예측 순환 DPCM 연산부로 입력된 양자화된 데이터들에 소정의 연산을 수행하여 계산되는 것을 특징으로 하는 부호화 장치.
  27. 제 26 항에 있어서, 상기 예측 DPCM 연산은
    현재 양자화된 데이터()의 이전 양자화된 데이터()와 상기 이전 양자화된 데이터의 이전 양자화된 데이터()에 소정의 연산을 수행하여 계산되는 것을 특징으로 하는 부호화 장치.
  28. 제 19 항에 있어서, 상기 엔트로피 부호화기는
    부호화할 차분 데이터를 상기 차분 데이터의 크기에 대응되는 연속된 개수의 소정의 제 1 값과, 일련의 상기 제 1 값이 종료되었음을 나타내는 단일 비트의 소정의 제 2 값으로 표현하여 부호화하는 것을 특징으로 하는 부호화 장치.
  29. 제 19 항에 있어서, 상기 엔트로피 부호화기는
    부호화할 차분 데이터가 부호화 범위의 상위에 위치하면 소정의 제 1 값을 부호화하고 상기 부호화 범위의 하위 범위값을 갱신하며, 상기 부호화할 차분 데이터가 상기 부호화 범위의 하위에 위치하면 소정의 제 2 값을 부호화하고 상기 부호화 범위의 상위 범위값을 갱신하는 것을 특징으로 하는 부호화 장치.
  30. 제 29 항에 있어서, 상기 엔트로피 부호화기는
    상기 부호화 범위의 중간값을 계산하고, 상기 중간값으로 상기 부호화 범위의 상위 범위 및 하위 범위를 갱신하는 것을 특징으로 하는 부호화 장치
  31. 제 29 항에 있어서, 상기 엔트로피 부호화기는
    부호화할 모든 차분 데이터들을 동일한 부호를 갖는 수로 변환하고, 상기 차분 데이터들 중 최대값을 선정하여 상기 부호화할 범위를 정한 후, 상기 부호화 범위의 상위 범위값과 하위 범위값이 동일해질 때까지 부호화 과정을 반복하는 것을 특징으로 하는 부호화 장치.
  32. 입력된 차분 데이터에 대해서 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하고, 역 DPCM 연산을 수행하여, 양자화된 데이터를 출력하는 역 순환 DPCM 연산부;
    입력된 차분 데이터에 대해서 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하고, 역 예측 DPCM 연산을 수행하여, 양자화된 데이터를 출력하는 역 예측 순환 DPCM 연산부; 및
    입력 차분 데이터에 수행된 DPCM 연산의 종류에 따라서 입력 차분 데이터를 상기 역 순환 DPCM 연산부 또는 상기 역 예측 순환 DPCM 연산부로 출력하는 판단부를 포함하는 것을 특징으로 하는 역 DPCM 연산 장치.
  33. 제 32 항에 있어서, 상기 역 순환 양자화 연산은
    상기 입력된 차분 데이터 및 상기 양자화된 데이터의 양자화 범위의 최대값에 대해서 소정의 연산을 수행하여 역 순환 양자화된 차분 데이터를 생성하는 것을 특징으로 하는 역 DPCM 연산 장치.
  34. 제 33 항에 있어서, 상기 역 순환 양자화 연산은
    상기 입력된 차분 데이터의 크기에 따라서, 상기 입력된 차분 데이터에 상기 양자화 범위의 크기를 가산하거나 감산하여 역 순환 양자화된 차분 데이터를 생성하는 것을 특징으로 하는 역 DPCM 연산 장치.
  35. 제 32 항에 있어서, 상기 역 순환 DPCM 연산부는
    상기 입력된 차분 데이터()와 이전에 역 순환 DPCM 연산부로부터 출력된 양자화된 데이터()의 제 1 합, 및 상기 역 순환 양자화된 차분 데이터()와상기 이전에 역 순환 DPCM 연산부로부터 출력된 양자화된 데이터()의 제 2 합을 계산하고, 상기 제 1 합의 크기에 따라서 상기 제 1 합 또는 제 2 합을 선택적으로 출력하는 것을 특징으로 하는 역 DPCM 연산 장치.
  36. 제 32 항에 있어서, 상기 역 예측 순환 DPCM 연산부는
    역 예측 순환 DPCM 연산을 수행할 현재의 차분 데이터 이전의 차분 데이터에 대해서 계산된 양자화된 데이터를 이용하여 예측값을 계산하고,
    상기 예측값의 크기에 따라서, 상기 입력된 차분 데이터를 이용한 제 1 양자화된 데이터, 및 상기 역 순환 양자화된 차분 데이터를 이용한 제 2 양자화된 데이터를 구하여,
    상기 제 1 양자화된 차분 데이터의 값에 따라서 제 1 양자화된 데이터 또는 제 2 양자화된 데이터를 출력하는 것을 특징으로 하는 역 DPCM 연산 장치.
  37. 제 36 항에 있어서, 상기 역 예측 순환 DPCM 연산부는
    역 예측 순환 DPCM 연산을 수행할 현재의 차분 데이터 이전의 차분 데이터()에 대해서 계산된 양자화된 데이터() 및 그 이전의 차분 데이터()에 대해서 계산된 양자화된 데이터()를 이용하여 현재 차분 데이터에 대한 예측값을 계산하고,
    상기 예측값의 크기에 따라서, 상기 입력된 차분 데이터를 이용한 제 1 양자화된 데이터, 및 상기 역 순환 양자화된 차분 데이터를 이용한 제 2 양자화된 데이터를 구하여,
    상기 제 1 양자화된 차분 데이터가 상기 차분 데이터의 양자화 범위의 최소값 이상이고 상기 양자화 범위의 최대값 이하면 상기 제 1 양자화된 데이터를 출력하고, 상기 제 1 양자화된 데이터가 상기 최소값 미만이거나 상기 최대값보다 크면 상기 제 2 양자화된 데이터를 출력하는 것을 특징으로 하는 역 DPCM 연산 장치.
  38. 입력된 비트스트림을 엔트로피 복호화하여 차분 데이터를 출력하는 엔트로피 복호화기;
    상기 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하고, 상기 차분 데이터에 대해서 수행된 DPCM 연산의 종류에 따라서 역 DPCM 연산 또는 역 예측 DPCM 연산을 수행하여 양자화된 데이터를 출력하는 역 DPCM 처리부; 및
    상기 양자화된 데이터를 역 양자화하여 데이터를 복원하는 역 양자화기를 포함하는 것을 특징으로 하는 복호화 장치.
  39. 제 38 항에 있어서, 상기 역 순환 양자화 연산은
    상기 입력된 차분 데이터 및 상기 양자화된 데이터의 양자화 범위의 최대값에 대해서 소정의 연산을 수행하여 역 순환 양자화된 차분 데이터를 생성하는 것을 특징으로 하는 복호화 장치.
  40. 제 38 항에 있어서, 상기 역 DPCM 처리부는
    입력된 차분 데이터에 대해서 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하고, 역 DPCM 연산을 수행하여 양자화된 데이터를 출력하는 역 순환 DPCM 연산부;
    입력된 차분 데이터에 대해서 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하고 역 예측 DPCM 연산을 수행하여 양자화된 데이터를 출력하는 역 예측 순환 DPCM 연산부; 및
    입력 차분 데이터에 수행된 DPCM 연산의 종류에 따라서 입력 차분 데이터를 상기 순환 DPCM 연산부 또는 상기 예측 순환 DPCM 연산부로 출력하는 판단부를 포함하는 것을 특징으로 하는 복호화 장치.
  41. 제 40 항에 있어서, 상기 역 순환 DPCM 연산부는
    상기 입력된 차분 데이터()와 이전에 역 순환 DPCM 연산부로부터 출력된 양자화된 데이터()의 제 1 합, 및 상기 역 순환 양자화된 차분 데이터()와 상기 이전에 역 순환 DPCM 연산부로부터 출력된 양자화된 데이터()의 제 2 합을 계산하고, 상기 제 1 합의 크기에 따라서 상기 제 1 합 또는 제 2 합을 선택적으로 출력하는 것을 특징으로 하는 복호화 장치.
  42. 제 40 항에 있어서, 상기 역 예측 순환 DPCM 연산부는
    역 예측 순환 DPCM 연산을 수행할 현재의 차분 데이터 이전의 차분 데이터에 대해서 계산된 양자화된 데이터를 이용하여 예측값을 계산하고,
    상기 예측값의 크기에 따라서, 상기 입력된 차분 데이터를 이용한 제 1 양자화된 데이터, 및 상기 역 순환 양자화된 차분 데이터를 이용한 제 2 양자화된 데이터를 구하여,
    상기 제 1 양자화된 차분 데이터의 값에 따라서 제 1 양자화된 데이터 또는 제 2 양자화된 데이터를 출력하는 것을 특징으로 하는 복호화 장치.
  43. 복수의 성분으로 구성되는 데이터를 부호화한 비트스트림을 복호화하는 장치로서,
    입력된 비트스트림을 엔트로피 복호화하여 차분 데이터를 출력하는 엔트로피 복호화기;
    상기 차분 데이터에 역 DPCM 연산을 수행하여 양자화된 데이터를 출력하는 역 DPCM 연산부;
    상기 양자화된 데이터를 역 양자화하여 정규화된 데이터를 출력하는 역 양자화기; 및
    상기 비트스트림으로부터 복호화된 각 성분의 데이터의 최소값 및 모든 성분의 데이터의 최대값을 입력받아, 상기 정규화된 데이터의 최대범위를 구하고, 상기 최대범위에 따라서 상기 데이터를 역 정규화하는 역 정규화기를 포함하는 것을 특징으로 하는 복호화 장치.
  44. 제 43 항에 있어서, 상기 역 정규화기는
    상기 최대범위 및 상기 정규화된 데이터가 속하는 성분의 최소값을 이용하여 상기 입력된 정규화된 데이터를 역 정규화하는 것을 특징으로 하는 복호화 장치.
  45. 제 43 항에 있어서, 상기 역 정규화기는
    입력된 정규화된 데이터에 상기 최대범위를 곱하고, 상기 정규화된 데이터가 속하는 성분의 최소값을 더하여, 상기 입력된 키 값 데이터를 역 정규화하는 것을 특징으로 하는 복호화 장치.
  46. 키 프레임 기반의 그래픽 에니메이션 방식에서, 객체의 위치를 x, y, 및 z 성분으로 표현하는 위치 인터폴레이터의 키 값 데이터를 부호화한 비트스트림을 복호화하는 장치로서,
    복호화에 필요한 정보를 상기 비트스트림으로부터 복호화하는 키 값 헤더 복호화기;
    입력된 상기 비트스트림을 엔트로피 복호화하여 차분 데이터를 출력하는 엔트로피 복호화기;
    상기 차분 데이터에 역 순환 DPCM 연산 및 역 예측 순환 DPCM 연산을 수행하여 양자화된 키 값 데이터를 출력하는 역 DPCM 처리부;
    상기 양자화된 키 값 데이터를 역 양자화하여 정규화된 키 값 데이터를 출력하는 역 양자화기;
    상기 키 값 헤더 복호화기로부터 상기 각 성분의 양자화된 키 값 데이터의 최소값, 및 최대값을 입력받아 2진수 체계의 실수로 변환하여 상기 역 양자화기로 출력하고, 상기 각 성분의 키 값 데이터의 최소값 및 최대값을 2진수 체계의 실수로 변환하여 출력하는 실수 복호화기; 및
    상기 실수 복호화기로부터 상기 각 성분의 키 값 데이터의 최소값 및 모든 성분의 키 값 데이터 중 최대값을 입력받아, 상기 키 값 데이터를 역 정규화하는 역 정규화기를 포함하는 것을 특징으로 하는 복호화 장치.
  47. 제 46 항에 있어서, 상기 엔트로피 복호화기는
    한 성분의 키 값 데이터의 양자화된 값들이 모두 동일하면, 상기 성분의 모든 키 값 데이터를 상기 키 값 헤더 복호화기로부터 입력된 상기 성분의 양자화된 최소값으로 복호화하는 것을 특징으로 하는 복호화 장치.
  48. 제 46 항에 있어서, 상기 엔트로피 복호화기는
    상기 비트스트림으로부터 소정의 제 1 값이 판독될 때까지 소정의 제 2 값을 판독하여 상기 판독된 제 2 값의 개수를 크기로 변환하고, 상기 제 1 값이 판독된 비트 다음에 판독된 비트로부터 부호를 판독하여 차분 데이터를 복호화하는 것을 특징으로 하는 복호화 장치.
  49. 제 46 항에 있어서, 상기 엔트로피 복호화기는
    부호화된 차분 데이터의 최대값을 상기 비트스트림으로부터 복호화하여 복호화 범위를 설정하고, 상기 비트스트림으로부터 판독된 값에 따라서 상기 복호화 범위의 최대값 및 최소값을 갱신하며, 상기 복호화 범위의 최대값 및 최소값이 동일할 때의 최대값을 복호화된 심볼로 출력하는 것을 특징으로 하는 복호화 장치.
  50. 제 49 항에 있어서, 상기 엔트로피 복호화기는
    소정의 연산을 수행하여 상기 복호화 범위의 중간값을 계산하고, 상기 비트스트림으로부터 판독된 값이 소정의 제 1 값이면 상기 복호화 범위의 최대값을 상기 중간값으로 갱신하고, 판독된 값이 소정의 제 2 값이면 상기 복호화 범위의 최소값을 상기 중간값으로 갱신하는 것을 특징으로 하는 복호화 장치.
  51. 제 46 항에 있어서, 상기 역 DPCM 처리부는
    입력된 차분 데이터에 대해서 역 순환 양자화 연산을 수행하고 역 DPCM 연산을 수행하여 양자화된 키 값 데이터를 출력하는 역 순환 DPCM 연산부;
    입력된 차분 데이터에 대해서 역 순환 양자화 연산을 수행하고 역 예측 DPCM 연산을 수행하여 양자화된 키 값 데이터를 출력하는 역 예측 순환 DPCM 연산부; 및
    상기 키 값 헤더 복호화기로부터 입력된 정보에 따라서, 상기 엔트로피 복호화기로부터 입력된 차분 데이터를 상기 순환 DPCM 연산부 및 상기 예측 순환 DPCM 연산부 중 어느 하나로 출력하는 판단부를 포함하며,
    상기 역 순환 양자화 연산은 상기 입력된 차분 데이터 및 상기 양자화된 데이터의 양자화 범위의 최대값에 대해서 소정의 연산을 수행하여 역 순환 양자화된 차분 데이터를 생성하는 것을 특징으로 하는 복호화 장치.
  52. 키 프레임 기반의 그래픽 에니메이션 방식에서, 객체의 위치를 x, y, 및 z 성분으로 표현하는 위치 인터폴레이터의 키 값 데이터를 부호화하고 복호화하는 부호화/복호화하는 장치로서,
    입력된 키 값 데이터를 소정의 양자화 비트로 양자화하는 양자화기,
    상기 양자화된 키 값 데이터에 대해서 순환 DPCM 연산 및 예측 순환 DPCM 연산을 수행하여 차분 데이터를 출력하는 DPCM 처리부,
    상기 차분 데이터를 엔트로피 부호화하여 키 값 데이터가 부호화된 비트스트림을 출력하는 엔트로피 부호화기, 및
    상기 비트스트림의 복호화에 필요한 정보를 부호화하여 상기 비트스트림에 포함시키는 키 값 헤더 부호화기를 포함하는 것을 특징으로 하는 부호화부; 및
    키 값 데이터를 부호화한 비트스트림을 엔트로피 복호화하여 차분 데이터를 출력하는 엔트로피 복호화기,
    상기 차분 데이터에 소정의 역 DPCM 연산을 수행하여 양자화된 키 값 데이터를 출력하는 역 DPCM 처리부,
    상기 양자화된 키 값 데이터를 역 양자화하여 키 값 데이터를 복원하는 역 양자화기, 및
    복호화에 필요한 정보를 상기 비트스트림으로부터 복호화하여 상기 엔트로피 복호화기, 상기 역 DPCM 처리부 및 상기 역 양자화기로 제공하는 키 값 헤더 복호화기를 포함하는 것을 특징으로 하는 복호화부를 포함하는 것을 특징으로 하는 부호화/복호화 장치.
  53. (a) 양자화된 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하고, 예측 DPCM 연산을 수행하여 예측 차분 데이터를 생성하는 단계;
    (b) 상기 차분 데이터들에 대해서 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하여 순환 양자화된 차분 데이터 및 순환 양자화된 예측 차분 데이터를 생성하는 단계; 및
    (c) 상기 차분 데이터들의 크기에 따라서 상기 순환 양자화된 차분 데이터 및 예측 차분 데이터 중 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 DPCM 연산 방법.
  54. 제 53 항에 있어서, 상기 예측 DPCM 연산은
    현재 양자화된 데이터와 예측 데이터간의 차에 따라서 예측 차분 데이터를 생성하며,
    상기 예측 데이터는 현재 양자화된 데이터보다 먼저 상기 예측 DPCM 연산 및 순환 양자화 연산이 수행된 양자화된 데이터들에 소정의 연산을 수행하여 계산되는 것을 특징으로 하는 DPCM 연산 방법.
  55. 제 54 항에 있어서, 상기 예측 데이터는
    현재 양자화된 데이터()의 이전 양자화된 데이터()와 상기 이전 양자화된 데이터의 이전 양자화된 데이터()에 소정의 연산을 수행하여 계산되는 것을 특징으로 하는 DPCM 연산 방법.
  56. 제 54 항에 있어서, 상기 예측 데이터는
    현재의 양자화된 데이터()와 이전의 양자화된 데이터()간의 차분 데이터와, 이전 2 개의 양자화된 데이터()간의 차분 데이터에 따라서 계산되는 것을 특징으로 하는 DPCM 연산 방법.
  57. 제 54 항에 있어서, 상기 순환 양자화 연산은
    상기 차분 데이터 및 양자화 범위의 최대값에 소정의 연산을 수행하여 크기가 감소된 차분 데이터를 생성하는 것을 특징으로 하는 DPCM 연산 방법.
  58. 제 57 항에 있어서, 상기 순환 양자화 연산은
    상기 차분 데이터와 양자화 범위의 최대값간의 차 및 상기 차분 데이터 중 작은 값을 출력하는 것을 특징으로 하는 DPCM 연산 방법.
  59. 제 58 항에 있어서, 상기 순환 양자화 연산은
    차분 데이터가 소정의 기준값보다 크거나 같으면, 상기 차분 데이터에서 양자화 범위의 최대값을 감산하고, 상기 차분 데이터가 상기 기준값보다 작으면, 상기 양자화 범위의 최대값에서 상기 입력된 차분 데이터를 가산하여 순환 양자화된 차분 데이터를 구하고,
    상기 입력된 차분 데이터의 절대값 및 상기 순환 양자화된 차분 데이터의 절대값을 비교하여, 절대값이 작은 차분 데이터를 순환 양자화된 차분 데이터로서 출력하는 것을 특징으로 하는 DPCM 연산 방법.
  60. 제 53 항에 있어서, 상기 (c) 단계는
    상기 순환 양자화된 차분 데이터 및 순환 양자화된 예측 차분 데이터의 절대값의 합의 크기에 따라서 차분 데이터를 선택하는 것을 특징으로 하는 DPCM 연산 방법.
  61. (a) 입력된 데이터를 소정의 양자화 비트로 양자화하는 양자화 단계;
    (b) 양자화된 데이터에 대해서 차분 데이터 및 예측 차분 데이터를 구하고, 상기 차분 데이터에 대해서 순환 양자화 연산을 수행하여 크기가 감소된 차분 데이터를 생성하는 DPCM 처리 단계; 및
    (c) 상기 (b) 단계에서 생성된 차분 데이터를 엔트로피 부호화하는 엔트로피 부호화 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  62. 제 61 항에 있어서, 상기 (b) 단계는
    (b1) 양자화된 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하고, 예측 DPCM 연산을 수행하여 예측 차분 데이터를 생성하는 단계;
    (b2) 상기 차분 데이터들에 대해서 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하여 순환 양자화된 차분 데이터 및 순환 양자화된 예측 차분 데이터를 생성하는 단계; 및
    (b3) 상기 차분 데이터들의 크기에 따라서 상기 순환 양자화된 차분 데이터 및 예측 차분 데이터 중 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  63. 제 62 항에 있어서, 상기 예측 DPCM 연산은
    현재 양자화된 데이터와 예측 데이터간의 차에 따라서 예측 차분 데이터를 생성하며,
    상기 예측 데이터는 현재 양자화된 데이터보다 먼저 상기 (a) 단계에서 양자화된 데이터들에 소정의 연산을 수행하여 계산되는 것을 특징으로 하는 부호화 방법.
  64. 제 62 항에 있어서, 상기 순환 양자화 연산은
    상기 차분 데이터 및 양자화 범위의 최대값에 소정의 연산을 수행하여 크기가 감소된 차분 데이터를 생성하는 것을 특징으로 하는 부호화 방법.
  65. (a) 입력 데이터를 소정의 양자화 비트로 양자화하는 양자화 단계;
    (b) 양자화된 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하는 DPCM 연산 단계;
    (c) 상기 (b) 단계에서 생성된 차분 데이터를 엔트로피 부호화하여 비트스트림을 생성하는 엔트로피 부호화 단계;
    (d) 상기 입력 데이터 및 상기 양자화된 입력 데이터를 이용하여, 양자화 오차가 최소화되도록 양자화된 데이터의 최대값 및 최소값을 조정하는 양자화 오차 최소화 단계; 및
    (e) 양자화 오차를 최소화하면서 상기 양자화된 입력 데이터를 역 양자화할 수 있도록 상기 최대값 및 최소값을 헤더 정보로 부호화하여 상기 비트스트림에 포함시키는 헤더 부호화 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  66. 제 65 항에 있어서, 상기 (d) 단계는
    (d1) 상기 입력 데이터 및 상기 양자화된 입력 데이터를 이용하여, 상기 양자화된 입력 데이터의 최소값의 자리수 및 양자화 오차를 계산하여 최소 오차값(emin)의 초기값을 설정하고, 조정 최소값(min') 및 양자화 오차 최소화값(minmin)의 초기값을 설정하는 단계;
    (d2) 상기 조정 최소값(min')에 소정의 연산을 수행하여 상기 조정 최소값을 갱신하는 단계;
    (d3) 상기 갱신된 조정 최소값의 자리수 및 크기에 따라서 양자화 오차 최소화값(minmin)을 역 양자화에 이용될 최소값으로 결정하는 단계; 및
    (d4) 상기 (d3) 단계에서 상기 역 양자화에 이용될 최소값으로 결정되지 않은 경우에, 상기 갱신된 조정 최소값에 따른 양자화 오차값을 계산하고, 상기 계산된 오차값이 상기 최소 오차값보다 작은 경우에, 상기 조정 최소값을 양자화 오차 최소화값(minmin)으로 갱신하고, 상기 계산된 오차값을 최소 오차값으로 갱신한 후, 상기 (d2) 단계부터 다시 수행하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  67. 제 66 항에 있어서, 상기 (d1) 단계는
    소정의 양자화 스텝 사이즈를 소정의 상수로 나눈 값과 상기 양자화된 데이터의 최소값에 따라서 상기 조정 최소값의 초기값을 설정하는 것을 특징으로 하는 부호화 방법.
  68. 제 66 항에 있어서, 상기 판단부는
    입력된 조정 최소값의 자리수를 상기 양자화된 데이터의 자리수와 비교하고, 상기 입력된 조정 최소값의 크기를 상기 입력 데이터의 최소값의 크기와 비교하여,현재의 양자화 오차 최소화값을 역 양자화에 이용될 최소값으로 출력하는 것을 특징으로 하는 부호화 방법.
  69. 복수의 성분으로 구성된 데이터를 부호화하는 방법으로서,
    (a) 각 성분의 데이터의 범위 중에서 최대 범위를 계산하고, 상기 각 성분의 데이터를 상기 최대 범위에 따라서 정규화하는 단계;
    (b) 정규화된 데이터를 소정의 양자화 비트로 양자화하는 단계;
    (c) 양자화된 데이터에 DPCM 연산을 수행하여 차분 데이터를 생성하는 단계; 및
    (d) 상기 차분 데이터를 엔트로피 부호화하여 데이터가 부호화된 비트스트림을 생성하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  70. 제 69 항에 있어서, 상기 (a) 단계는
    (a1) 상기 각 성분의 데이터의 최대값 및 최소값을 계산하는 단계;
    (a2) 상기 각 성분의 데이터의 최대값 및 최소값을 이용하여 각 성분의 범위 및 상기 각 성분 범위 중 최대 범위를 계산하는 단계; 및
    (a3) 상기 각 성분의 데이터를 상기 최대 범위에 따라서 정규화하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  71. 키 프레임 기반의 그래픽 에니메이션 방식에서, 객체의 위치를 x, y, 및 z성분으로 표현하는 위치 인터폴레이터의 키 값 데이터를 부호화하는 방법으로서,
    (a) 각 성분의 키 값 데이터의 범위 중에서 최대 범위를 계산하고, 각 성분의 키 값 데이터를 상기 최대 범위에 따라서 정규화하여 정규화된 키 값 데이터를 생성하는 단계;
    (b) 상기 정규화된 키 값 데이터를 소정의 양자화 비트로 양자화하는 단계;
    (c) 상기 각 성분의 양자화된 키 값 데이터 중 최소값들 및 모든 성분의 키 값 데이터 중 최대값을 10 진수 체계의 실수로 변환하는 단계;
    (d) 양자화된 키 값 데이터에 대해서 차분 데이터 및 예측 차분 데이터를 구하고, 상기 차분 데이터들의 범위를 감소시키는 순환 양자화 연산을 수행하는 단계;
    (e) 상기 차분 데이터를 엔트로피 부호화하여 키 값 데이터가 부호화된 비트스트림을 생성하는 단계; 및
    (f) 상기 비트스트림의 복호화에 필요한 정보를 부호화하여 상기 비트스트림에 포함시키는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  72. 제 71 항에 있어서, 상기 (b) 단계 및 상기 (c) 단계 사이에
    입력 키 값 데이터 및 양자화된 키 값 데이터를 이용하여, 양자화 오차를 최소화할 수 있도록 상기 각 성분의 양자화된 키 값 데이터의 최대값 및 최소값을 조정하는 단계를 더 포함하는 것을 특징으로 하는 부호화 방법.
  73. 제 71 항에 있어서, 상기 (c) 단계는
    입력된 2 진수 체계의 실수를 크기(맨티사)와 지수 형식으로 표현된 10 진수 체계의 실수로 변환하며, 상기 각 성분의 최소값 및 최대값의 크기 및 지수를 키 값 헤더 부호화기로 출력하여 부호화하는 것을 특징으로 하는 부호화 방법.
  74. 제 71 항에 있어서, 상기 (d) 단계는
    (b1) 양자화된 키 값 데이터에 대해서 DPCM 연산을 수행하여 차분 데이터를 생성하고, 예측 DPCM 연산을 수행하여 예측 차분 데이터를 생성하는 단계;
    (b2) 상기 차분 데이터들에 대해서 차분 데이터의 범위를 감소시키는 순환 양자화 연산을 수행하여 순환 양자화된 차분 데이터 및 순환 양자화된 예측 차분 데이터를 생성하는 단계; 및
    (b3) 상기 차분 데이터들의 크기에 따라서 상기 순환 양자화된 차분 데이터 및 예측 차분 데이터 중 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  75. 제 74 항에 있어서, 상기 순환 양자화 연산은
    상기 차분 데이터 및 양자화 범위의 최대값에 소정의 연산을 수행하여 크기가 감소된 차분 데이터를 생성하는 것을 특징으로 하는 부호화 방법.
  76. 제 74 항에 있어서, 상기 예측 DPCM 연산은
    현재 양자화된 데이터와 예측 데이터간의 차에 따라서 예측 차분 데이터를 생성하며,
    상기 예측 데이터는 현재 양자화된 데이터보다 먼저 상기 (a) 단계에서 양자화된 데이터들에 소정의 연산을 수행하여 계산되는 것을 특징으로 하는 부호화 방법.
  77. 제 71 항에 있어서, 상기 (e) 단계는
    부호화할 차분 데이터를 상기 차분 데이터의 크기에 대응되는 연속된 개수의 소정의 제 1 값과, 일련의 상기 제 1 값이 종료되었음을 나타내는 단일 비트의 소정의 제 2 값으로 표현하여 부호화하는 것을 특징으로 하는 부호화 방법.
  78. 제 71 항에 있어서, 상기 (e) 단계는
    부호화할 차분 데이터가 부호화 범위의 상위에 위치하면 소정의 제 1 값을 부호화하고 상기 부호화 범위의 하위 범위값을 갱신하며, 상기 부호화할 차분 데이터가 상기 부호화 범위의 하위에 위치하면 소정의 제 2 값을 부호화하고 상기 부호화 범위의 상위 범위값을 갱신하는 것을 특징으로 하는 부호화 방법.
  79. 제 78 항에 있어서, 상기 (e) 단계는
    상기 부호화 범위의 중간값을 계산하고, 상기 중간값으로 상기 부호화 범위의 상위 범위 및 하위 범위를 갱신하는 것을 특징으로 하는 부호화 방법.
  80. 제 71 항의 부호화 방법을 컴퓨터가 판독할 수 있고 실행 가능한 프로그램 코드로 기록한 기록 매체.
  81. (a) 입력 차분 데이터에 대해서 수행된 DPCM 연산의 종류를 조사하는 단계;
    (b) 상기 입력 차분 데이터에 대해서 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하는 단계; 및
    (c) 상기 DPCM 연산의 종류가 DPCM 연산인 경우에는 상기 역 순환 양자화된 차분 데이터에 대해서 역 순환 DPCM 연산을 수행하고, 상기 DPCM 연산의 종류가 예측 DPCM 연산인 경우에는 상기 역 순환 양자화된 차분 데이터에 대해서 역 예측 순환 DPCM을 수행하여, 양자화된 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 역 DPCM 연산 방법.
  82. 제 81 항에 있어서, 상기 역 순환 양자화 연산은
    상기 입력 차분 데이터 및 상기 양자화된 데이터의 양자화 범위의 최대값에 대해서 소정의 연산을 수행하여 역 순환 양자화된 차분 데이터를 생성하는 것을 특징으로 하는 역 DPCM 연산 방법.
  83. 제 82 항에 있어서, 상기 역 순환 양자화 연산은
    상기 입력 차분 데이터의 크기에 따라서, 상기 입력 차분 데이터에 상기 양자화 범위의 크기를 가산하거나 감산하여 역 순환 양자화된 차분 데이터를 생성하는 것을 특징으로 하는 역 DPCM 연산 방법.
  84. 제 81 항에 있어서, 상기 역 순환 DPCM 연산은
    상기 입력 차분 데이터()와 이전에 역 순환 DPCM 연산된 양자화된 데이터()의 제 1 합, 및 상기 역 순환 양자화된 차분 데이터()와 상기 이전에 역 순환 DPCM 연산된 양자화된 데이터()의 제 2 합을 계산하고, 상기 제 1 합의 크기에 따라서 상기 제 1 합 또는 제 2 합을 연산 결과로서 선택하는 것을 특징으로 하는 역 DPCM 연산 방법.
  85. 제 81 항에 있어서, 상기 역 예측 순환 DPCM 연산은
    역 예측 순환 DPCM 연산을 수행할 입력 차분 데이터 이전의 차분 데이터에 대해서 계산된 양자화된 데이터를 이용하여 예측값을 계산하고,
    상기 예측값의 크기에 따라서, 상기 입력 차분 데이터를 이용한 제 1 양자화된 데이터, 및 상기 역 순환 양자화된 차분 데이터를 이용한 제 2 양자화된 데이터를 구하여,
    상기 제 1 양자화된 차분 데이터의 값에 따라서 제 1 양자화된 데이터 또는 제 2 양자화된 데이터를 연산 결과로서 선택하는 것을 특징으로 하는 역 DPCM 연산 방법.
  86. 제 85 항에 있어서, 상기 역 예측 순환 DPCM 연산은
    역 예측 순환 DPCM 연산을 수행할 현재의 차분 데이터 이전의 차분 데이터()에 대해서 계산된 양자화된 데이터() 및 그 이전의 차분 데이터()에 대해서 계산된 양자화된 데이터()를 이용하여 현재 차분 데이터에 대한 예측값을 계산하고,
    상기 예측값의 크기에 따라서, 상기 입력된 차분 데이터를 이용한 제 1 양자화된 데이터, 및 상기 역 순환 양자화된 차분 데이터를 이용한 제 2 양자화된 데이터를 구하여,
    상기 제 1 양자화된 차분 데이터가 상기 차분 데이터의 양자화 범위의 최소값 이상이고 상기 양자화 범위의 최대값 이하면 상기 제 1 양자화된 데이터를 출력하고, 상기 제 1 양자화된 데이터가 상기 최소값 미만이거나 상기 최대값보다 크면 상기 제 2 양자화된 데이터를 출력하는 것을 특징으로 하는 역 DPCM 연산 방법.
  87. (a) 입력 비트스트림을 엔트로피 복호화하여 차분 데이터를 생성하는 단계;
    (b) 상기 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하고, 상기 차분 데이터에 대해서 수행된 DPCM 연산의 종류에 따라서 역 DPCM 연산 또는 역 예측 DPCM 연산을 수행하여 양자화된 데이터를 생성하는 단계; 및
    (c) 상기 양자화된 데이터를 역 양자화하여 데이터를 복원하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  88. 제 87 항에 있어서, 상기 역 순환 양자화 연산은
    상기 복호화된 차분 데이터 및 상기 양자화된 데이터의 양자화 범위의 최대값에 대해서 소정의 연산을 수행하여 역 순환 양자화된 차분 데이터를 생성하는 것을 특징으로 하는 복호화 방법.
  89. 제 87 항에 있어서, 상기 (b) 단계는
    (b1) 복호화된 차분 데이터에 대해서 수행된 DPCM 연산의 종류를 조사하는 단계;
    (b2) 상기 차분 데이터에 대해서 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하는 단계; 및
    (b3) 상기 DPCM 연산의 종류가 DPCM 연산인 경우에는 상기 역 순환 양자화된 차분 데이터에 대해서 역 순환 DPCM 연산을 수행하고, 상기 DPCM 연산의 종류가 예측 DPCM 연산인 경우에는 상기 역 순환 양자화된 차분 데이터에 대해서 역 예측 순환 DPCM 연산을 수행하여, 양자화된 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  90. 제 89 항에 있어서, 상기 역 순환 DPCM 연산은
    상기 복호화된 차분 데이터()와 이전에 역 순환 DPCM 연산된 양자화된 데이터()의 제 1 합, 및 상기 역 순환 양자화된 차분 데이터()와 상기 이전에 역 순환 DPCM 연산된 양자화된 데이터()의 제 2 합을 계산하고, 상기 제 1 합의 크기에 따라서 상기 제 1 합 또는 제 2 합을 연산 결과로서 선택하는 것을 특징으로 하는 복호화 방법.
  91. 제 89 항에 있어서, 상기 역 예측 순환 DPCM 연산은
    역 예측 순환 DPCM 연산을 수행할 현재의 차분 데이터 이전의 차분 데이터에 대해서 계산된 양자화된 데이터를 이용하여 예측값을 계산하고,
    상기 예측값의 크기에 따라서, 상기 복호화된 차분 데이터를 이용한 제 1 양자화된 데이터, 및 상기 역 순환 양자화된 차분 데이터를 이용한 제 2 양자화된 데이터를 구하여,
    상기 제 1 양자화된 차분 데이터의 값에 따라서 제 1 양자화된 데이터 또는 제 2 양자화된 데이터를 연산 결과로 선택하는 것을 특징으로 하는 복호화 방법.
  92. 복수의 성분으로 구성되는 데이터를 부호화한 비트스트림을 복호화하는 방법으로서,
    (a) 입력 비트스트림을 엔트로피 복호화하여 차분 데이터를 생성하는 단계;
    (b) 상기 차분 데이터에 역 DPCM 연산을 수행하여 양자화된 데이터를 생성하는 단계;
    (c) 상기 양자화된 데이터를 역 양자화하여 정규화된 데이터를 생성하는 단계; 및
    (d) 상기 비트스트림으로부터 복호화된 각 성분의 데이터의 최소값 및 모든 성분의 데이터의 최대값을 이용하여, 상기 정규화된 데이터의 최대범위를 구하고, 상기 최대범위에 따라서 상기 데이터를 역 정규화하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  93. 제 92 항에 있어서, 상기 (d) 단계는
    상기 최대범위 및 상기 정규화된 데이터가 속하는 각 성분의 최소값을 이용하여 상기 입력된 정규화된 데이터를 역 정규화하는 것을 특징으로 하는 복호화 방법.
  94. 키 프레임 기반의 그래픽 에니메이션 방식에서, 객체의 위치를 x, y, 및 z 성분으로 표현하는 위치 인터폴레이터의 키 값 데이터를 부호화한 비트스트림을 복호화하는 방법으로서,
    (a) 복호화에 필요한 헤더 정보를 상기 비트스트림으로부터 복호화하는 단계;
    (b) 상기 비트스트림을 엔트로피 복호화하여 차분 데이터를 생성하는 단계;
    (c) 상기 차분 데이터에 역 순환 DPCM 연산 및 역 예측 순환 DPCM 연산을 수행하여 양자화된 키 값 데이터를 생성하는 단계;
    (d) 상기 (a) 단계에서 복호화된 상기 각 성분의 양자화된 키 값 데이터의 최소값, 및 최대값을 2진수 체계의 실수로 변환하고, 상기 각 성분의 키 값 데이터의 최소값 및 최대값을 2진수 체계의 실수로 변환하는 단계;
    (e) 상기 (d) 단계에서 변환된 양자화된 키 값 데이터의 최대값 및 최소값에 따라서, 양자화된 키 값 데이터를 역 양자화하여 정규화된 키 값 데이터를 생성하는 단계;
    (f) 상기 (d) 단계에서 변환된 상기 각 성분의 키 값 데이터의 최소값 및 모든 성분의 키 값 데이터 중 최대값에 따라서, 상기 키 값 데이터를 역 정규화하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  95. 제 94 항에 있어서, 상기 (b) 단계는
    한 성분의 키 값 데이터의 양자화된 값들이 모두 동일하면, 상기 성분의 모든 키 값 데이터를 상기 (a) 단계에서 복호화된 상기 성분의 양자화된 최소값으로 복호화하는 것을 특징으로 하는 복호화 방법.
  96. 제 94 항에 있어서, 상기 (b) 단계는
    상기 비트스트림으로부터 소정의 제 1 값이 판독될 때까지 소정의 제 2 값을 판독하여 상기 판독된 제 2 값의 개수를 크기로 변환하고, 상기 상기 제 1 값이 판독된 비트 다음에 판독된 비트로부터 부호를 판독하여 차분 데이터를 복호화하는 것을 특징으로 하는 복호화 방법.
  97. 제 94 항에 있어서, 상기 (b) 단계는
    (b1) 부호화된 차분 데이터의 최대값을 상기 비트스트림으로부터 복호화하여 복호화 범위를 설정하는 단계;
    (b2) 상기 비트스트림으로부터 판독된 값에 따라서 상기 복호화 범위의 최대값 및 최소값을 갱신하며, 상기 복호화 범위의 최대값 및 최소값이 동일할 때의 최대값을 복호화된 차분 데이터로 결정하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  98. 제 97 항에 있어서, 상기 (b2) 단계는
    소정의 연산을 수행하여 상기 복호화 범위의 중간값을 계산하고, 상기 비트스트림으로부터 판독된 값이 소정의 제 1 값이면 상기 복호화 범위의 최대값을 상기 중간값으로 갱신하고, 판독된 값이 소정의 제 2 값이면 상기 복호화 범위의 최소값을 상기 중간값으로 갱신하는 것을 특징으로 하는 복호화 방법.
  99. 제 94 항에 있어서, 상기 (c) 단계는
    (c1) 복호화된 차분 데이터에 대해서 수행된 DPCM 연산의 종류를 조사하는 단계;
    (c2) 상기 차분 데이터에 대해서 차분 데이터의 범위를 확장시키는 역 순환 양자화 연산을 수행하는 단계; 및
    (c3) 상기 DPCM 연산의 종류가 DPCM 연산인 경우에는 상기 역 순환 양자화된 차분 데이터에 대해서 역 순환 DPCM 연산을 수행하고, 상기 DPCM 연산의 종류가 예측 DPCM 연산인 경우에는 상기 역 순환 양자화된 차분 데이터에 대해서 역 예측 순환 DPCM 연산을 수행하여, 양자화된 데이터를 생성하는 단계를 포함하며,
    상기 역 순환 양자화 연산은 상기 차분 데이터 및 상기 양자화된 데이터의 양자화 범위의 최대값에 대해서 소정의 연산을 수행하여 역 순환 양자화된 차분 데이터를 생성하는 것을 특징으로 하는 복호화 방법.
  100. 제 94 항의 복호화 방법을 컴퓨터에서 판독할 수 있고 실행 가능한 프로그램 코드로 기록한 기록 매체.
  101. 객체의 위치를 x, y, 및 z 성분으로 표현하는 위치 인터폴레이터의 키 값 데이터를 부호화한 비트스트림으로서,
    입력된 각 성분의 키 값 데이터의 범위 중에서 최대 범위를 갖는 성분을 나타내는 플래그, 상기 최대 범위를 갖는 성분의 최대값, 및 각 성분의 최소값을 포함하는 정규화 정보;
    상기 정규화 정보에 따라서 정규화된 키 값 데이터의 양자화에 이용되는 양자화 비트수를 포함하는 양자화 정보;
    순환 DPCM 연산 및 예측 순환 DPCM 연산 중 상기 양자화 비트수로 양자화된 키 값 데이터에 대해서 수행된 DPCM 연산의 종류를 나타내는 DPCM 연산 정보;
    상기 DPCM 연산 정보가 나타내는 DPCM 연산에 의해서 생성된 차분 데이터에 수행된 엔트로피 부호화 연산의 종류를 나타내는 엔트로피 부호화 정보; 및
    상기 엔트로피 부호화 연산에 의해서 부호화된 키 값 데이터를 포함하는 것을 특징으로 하는 비트스트림.
  102. 제 101 항에 있어서,
    상기 비트스트림에 포함된 부호화된 키 값 데이터의 개수, 및 키 값 데이터의 최대 유효 자리수를 더 포함하는 것을 특징으로 하는 비트스트림.
  103. 제 101 항에 있어서,
    상기 양자화된 키 값 데이터의 오차를 최소화하는 각 성분의 최소값을 포함하는 양자화 오차 최소화값을 포함하는 것을 특징으로 하는 비트스트림.
KR1020020067679A 2001-11-27 2002-11-02 데이터 부호화/복호화 방법 및 장치 KR100543697B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
EP05076145A EP1564999B1 (en) 2001-11-27 2002-11-27 Method and apparatus for encoding and decoding data
JP2002344477A JP3756875B2 (ja) 2001-11-27 2002-11-27 データ符号化及び復号化方法、並びに装置
EP05076146.9A EP1565000B1 (en) 2001-11-27 2002-11-27 Method and apparatus for encoding and decoding data
CNB021542945A CN100459460C (zh) 2001-11-27 2002-11-27 对数据进行编码和译码的方法和装置
US10/305,174 US7336713B2 (en) 2001-11-27 2002-11-27 Method and apparatus for encoding and decoding data
EP02258179A EP1320266A3 (en) 2001-11-27 2002-11-27 Method and apparatus for encoding and decoding data
JP2005216403A JP4191706B2 (ja) 2001-11-27 2005-07-26 データ符号化及び復号化方法、並びに装置
JP2005216402A JP4070783B2 (ja) 2001-11-27 2005-07-26 データ符号化方法、並びに装置

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US33313001P 2001-11-27 2001-11-27
US60/333,130 2001-11-27
US33454101P 2001-12-03 2001-12-03
US60/334,541 2001-12-03
US34210101P 2001-12-26 2001-12-26
US60/342,101 2001-12-26
US36959702P 2002-04-04 2002-04-04
US60/369,597 2002-04-04
KR10-2002-0073044A KR100499135B1 (ko) 2001-11-27 2002-11-22 회전 인터폴레이터 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20030043634A true KR20030043634A (ko) 2003-06-02
KR100543697B1 KR100543697B1 (ko) 2006-01-20

Family

ID=27532390

Family Applications (8)

Application Number Title Priority Date Filing Date
KR10-2002-0063852A KR100480787B1 (ko) 2001-11-27 2002-10-18 좌표 인터폴레이터의 키 값 데이터 부호화/복호화 방법 및 장치
KR1020020064007A KR100552665B1 (ko) 2001-11-27 2002-10-19 키 데이터 부호화/복호화 방법 및 장치
KR1020020064008A KR100552666B1 (ko) 2001-11-27 2002-10-19 좌표 인터폴레이터의 키 및 키 값 데이터의 부호화/복호화장치, 및 좌표 인터폴레이터를 부호화한 비트스트림을기록한 기록 매체
KR1020020067679A KR100543697B1 (ko) 2001-11-27 2002-11-02 데이터 부호화/복호화 방법 및 장치
KR1020020070496A KR100537500B1 (ko) 2001-11-27 2002-11-13 회전 인터폴레이터의 키 값 데이터 부호화 및 복호화 방법및 장치
KR1020020070659A KR100552710B1 (ko) 2001-11-27 2002-11-14 위치 인터폴레이터 부호화/복호화 방법 및 장치
KR10-2002-0073044A KR100499135B1 (ko) 2001-11-27 2002-11-22 회전 인터폴레이터 부호화/복호화 방법 및 장치
KR1020050100897A KR100561875B1 (ko) 2001-11-27 2005-10-25 위치 인터폴레이터 복호화 방법 및 장치

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR10-2002-0063852A KR100480787B1 (ko) 2001-11-27 2002-10-18 좌표 인터폴레이터의 키 값 데이터 부호화/복호화 방법 및 장치
KR1020020064007A KR100552665B1 (ko) 2001-11-27 2002-10-19 키 데이터 부호화/복호화 방법 및 장치
KR1020020064008A KR100552666B1 (ko) 2001-11-27 2002-10-19 좌표 인터폴레이터의 키 및 키 값 데이터의 부호화/복호화장치, 및 좌표 인터폴레이터를 부호화한 비트스트림을기록한 기록 매체

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020020070496A KR100537500B1 (ko) 2001-11-27 2002-11-13 회전 인터폴레이터의 키 값 데이터 부호화 및 복호화 방법및 장치
KR1020020070659A KR100552710B1 (ko) 2001-11-27 2002-11-14 위치 인터폴레이터 부호화/복호화 방법 및 장치
KR10-2002-0073044A KR100499135B1 (ko) 2001-11-27 2002-11-22 회전 인터폴레이터 부호화/복호화 방법 및 장치
KR1020050100897A KR100561875B1 (ko) 2001-11-27 2005-10-25 위치 인터폴레이터 복호화 방법 및 장치

Country Status (6)

Country Link
US (1) US7446771B2 (ko)
EP (2) EP2278808B1 (ko)
JP (1) JP3905834B2 (ko)
KR (8) KR100480787B1 (ko)
CN (3) CN1277239C (ko)
ES (1) ES2381777T3 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7733345B2 (en) * 2001-11-27 2010-06-08 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding position interpolator
DE102004049156B4 (de) 2004-10-08 2006-07-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codierschema für einen ein zeitlich veränderliches Graphikmodell darstellenden Datenstrom
WO2006126858A2 (en) 2005-05-26 2006-11-30 Lg Electronics Inc. Method of encoding and decoding an audio signal
EP1913578B1 (en) 2005-06-30 2012-08-01 LG Electronics Inc. Method and apparatus for decoding an audio signal
US8494667B2 (en) 2005-06-30 2013-07-23 Lg Electronics Inc. Apparatus for encoding and decoding audio signal and method thereof
WO2007004830A1 (en) 2005-06-30 2007-01-11 Lg Electronics Inc. Apparatus for encoding and decoding audio signal and method thereof
US7788107B2 (en) 2005-08-30 2010-08-31 Lg Electronics Inc. Method for decoding an audio signal
JP5111375B2 (ja) 2005-08-30 2013-01-09 エルジー エレクトロニクス インコーポレイティド オーディオ信号をエンコーディング及びデコーディングするための装置とその方法
JP4859925B2 (ja) 2005-08-30 2012-01-25 エルジー エレクトロニクス インコーポレイティド オーディオ信号デコーディング方法及びその装置
US7987097B2 (en) 2005-08-30 2011-07-26 Lg Electronics Method for decoding an audio signal
KR100857107B1 (ko) * 2005-09-14 2008-09-05 엘지전자 주식회사 오디오 신호의 디코딩 방법 및 장치
US7751485B2 (en) 2005-10-05 2010-07-06 Lg Electronics Inc. Signal processing using pilot based coding
US7646319B2 (en) 2005-10-05 2010-01-12 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US8068569B2 (en) 2005-10-05 2011-11-29 Lg Electronics, Inc. Method and apparatus for signal processing and encoding and decoding
KR100857113B1 (ko) * 2005-10-05 2008-09-08 엘지전자 주식회사 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치
WO2007040349A1 (en) 2005-10-05 2007-04-12 Lg Electronics Inc. Method and apparatus for signal processing
US7696907B2 (en) 2005-10-05 2010-04-13 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US7672379B2 (en) 2005-10-05 2010-03-02 Lg Electronics Inc. Audio signal processing, encoding, and decoding
CN101283254B (zh) * 2005-10-05 2011-07-06 Lg电子株式会社 信号处理的方法和装置以及编码和解码方法及其装置
US7742913B2 (en) 2005-10-24 2010-06-22 Lg Electronics Inc. Removing time delays in signal paths
US20100091845A1 (en) * 2006-03-30 2010-04-15 Byeong Moon Jeon Method and apparatus for decoding/encoding a video signal
US8565319B2 (en) * 2006-03-30 2013-10-22 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal
TW201028018A (en) * 2009-01-07 2010-07-16 Ind Tech Res Inst Encoder, decoder, encoding method and decoding method
US8700410B2 (en) * 2009-06-18 2014-04-15 Texas Instruments Incorporated Method and system for lossless value-location encoding
EP2728864B1 (en) * 2011-06-28 2017-12-27 Nec Corporation Method for coding video quantization parameter and method for decoding video quantization parameter
US9202297B1 (en) 2011-07-12 2015-12-01 Domo, Inc. Dynamic expansion of data visualizations
US10001898B1 (en) 2011-07-12 2018-06-19 Domo, Inc. Automated provisioning of relational information for a summary data visualization
US9792017B1 (en) 2011-07-12 2017-10-17 Domo, Inc. Automatic creation of drill paths
US9357214B2 (en) * 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video
CN103268067B (zh) * 2013-05-03 2016-02-10 哈尔滨工业大学 一种基于拟四元数与拟四元数运动学方程的卫星指向跟踪控制方法
SE538512C2 (sv) * 2014-11-26 2016-08-30 Kelicomp Ab Improved compression and encryption of a file
SE544304C2 (en) * 2015-04-17 2022-03-29 URAEUS Communication Systems AB Improved compression and encryption of a file
CN107922359A (zh) * 2015-07-30 2018-04-17 默克专利有限公司 用于有机电致发光器件的材料
US10841595B2 (en) * 2018-11-27 2020-11-17 Semiconductor Components Industries, Llc Methods and apparatus for transform coefficient encoding and decoding
CN110688092B (zh) * 2019-09-04 2021-08-17 湖南遥昇通信技术有限公司 一种随机数生成方法、装置、设备及存储介质
US20200327454A1 (en) * 2020-06-26 2020-10-15 Intel Corporation Secured deployment of machine learning models

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4125861A (en) * 1977-08-18 1978-11-14 Bell Telephone Laboratories, Incorporated Video signal encoding
US4797836A (en) * 1986-11-19 1989-01-10 The Grass Valley Group, Inc. Image orientation and animation using quaternions
JP3048578B2 (ja) * 1988-11-17 2000-06-05 キヤノン株式会社 符号化及び復号化装置
WO1992009966A1 (en) * 1990-11-30 1992-06-11 Cambridge Animation Systems Limited Image synthesis and processing
JPH0583700A (ja) * 1991-09-18 1993-04-02 Nec Corp Dpcm予測符号化回路
KR960013062A (ko) * 1994-09-30 1996-04-20 김광호 양자화 계수값 전송장치
JP3305140B2 (ja) * 1994-12-28 2002-07-22 キヤノン株式会社 符号化装置及び方法
KR0171118B1 (ko) * 1995-03-20 1999-03-20 배순훈 비디오신호 부호화 장치
JP3649469B2 (ja) * 1995-05-12 2005-05-18 株式会社ソニー・コンピュータエンタテインメント アニメーションデータの作成方法および作成装置
US5757668A (en) * 1995-05-24 1998-05-26 Motorola Inc. Device, method and digital video encoder of complexity scalable block-matching motion estimation utilizing adaptive threshold termination
JPH09182082A (ja) * 1995-12-25 1997-07-11 Nippon Telegr & Teleph Corp <Ntt> 動画像の動き補償予測符号化方法とその装置
KR970064261A (ko) * 1996-02-09 1997-09-12 모리시타 요우이치 윤곽 부호화 방법, 윤곽 복호화 방법, 및 그의 방법을 이용한 윤곽 부호화 장치, 윤곽 복호화 장치 및 그의 방법을 기록한 기록 매체
KR100197602B1 (ko) * 1996-04-29 1999-06-15 윤종용 회전 움직임 추정 방법 및 이를 이용한 영상부호화/복호화장치
KR970078657A (ko) * 1996-05-20 1997-12-12 구자홍 비디오 데이타 압축 장치
JPH09326990A (ja) * 1996-06-07 1997-12-16 Matsushita Electric Ind Co Ltd 映像編集装置
KR0182182B1 (ko) * 1996-08-30 1999-04-15 삼성전자주식회사 적응차분 펄스부호변조 압축회로
KR100212552B1 (ko) * 1996-12-23 1999-08-02 전주범 이산적 사인 변환을 이용한 윤곽선 영상 신호 부호화 방법 및 그 장치
JPH10215458A (ja) * 1997-01-31 1998-08-11 Matsushita Electric Ind Co Ltd 画像圧縮伸長装置および欠落フレーム補間方法
US5818463A (en) * 1997-02-13 1998-10-06 Rockwell Science Center, Inc. Data compression for animated three dimensional objects
JPH1198512A (ja) * 1997-09-18 1999-04-09 Sanyo Electric Co Ltd 画像符号化装置及び画像符号化方法
US6075901A (en) * 1998-12-04 2000-06-13 France Telecom Method and system for predictive encoding of arrays of data
KR20000052205A (ko) * 1999-01-30 2000-08-16 김영환 디지털 신호처리장치에서의 동화상 처리방법
KR100292803B1 (ko) * 1999-07-06 2001-06-15 정선종 3차원 메쉬모델의 정점위치 압축방법 및 장치
US6891565B1 (en) * 1999-07-16 2005-05-10 Sarnoff Corporation Bitstream testing method and apparatus employing embedded reference data
WO2001041156A1 (en) * 1999-12-01 2001-06-07 Ivast, Inc. Optimized bifs encoder
JP2001285868A (ja) * 2000-03-29 2001-10-12 Victor Co Of Japan Ltd 動画像符号列切替装置及び動画像符号列切替方法
KR100612828B1 (ko) * 2000-10-20 2006-08-18 삼성전자주식회사 오리엔테이션 보간 노드의 부호화 장치 및 방법
KR100561835B1 (ko) * 2000-11-23 2006-03-16 삼성전자주식회사 선형 근사화를 이용한 애니메이션 궤적의 압축 및 복원 방법, 이 방법을 수행하는 장치
US6559848B2 (en) * 2000-12-13 2003-05-06 Intel Corporation Coding and decoding three-dimensional data
US6704890B1 (en) * 2000-12-22 2004-03-09 Nortel Networks Limited Skew compensating interface for operation with arbitrary data
KR100580616B1 (ko) * 2001-02-28 2006-05-16 삼성전자주식회사 삼차원 객체의 형태 변형 정보에 대한 부호화 방법 및 그장치
KR100561836B1 (ko) * 2001-07-07 2006-03-16 삼성전자주식회사 3차원 애니메이션 객체의 형태 변환 정보에 대한 키 값부호화 방법 및 그 장치

Also Published As

Publication number Publication date
KR100561875B1 (ko) 2006-03-17
EP1320264B1 (en) 2012-03-21
KR100552665B1 (ko) 2006-02-20
EP2278808A1 (en) 2011-01-26
CN1441387A (zh) 2003-09-10
KR20030043690A (ko) 2003-06-02
CN1438613A (zh) 2003-08-27
CN1294540C (zh) 2007-01-10
KR20030043622A (ko) 2003-06-02
KR100543697B1 (ko) 2006-01-20
JP2003248839A (ja) 2003-09-05
US20030128883A1 (en) 2003-07-10
EP2278808B1 (en) 2012-10-10
KR20030043621A (ko) 2003-06-02
KR100552666B1 (ko) 2006-02-20
EP1320264A2 (en) 2003-06-18
KR100480787B1 (ko) 2005-04-07
CN1428742A (zh) 2003-07-09
EP1320264A3 (en) 2005-06-01
KR100499135B1 (ko) 2005-07-04
ES2381777T3 (es) 2012-05-31
KR100537500B1 (ko) 2006-01-09
US7446771B2 (en) 2008-11-04
KR20030043620A (ko) 2003-06-02
CN1187716C (zh) 2005-02-02
KR20030043657A (ko) 2003-06-02
JP3905834B2 (ja) 2007-04-18
KR100552710B1 (ko) 2006-02-20
KR20050109413A (ko) 2005-11-21
CN1277239C (zh) 2006-09-27
KR20030043655A (ko) 2003-06-02

Similar Documents

Publication Publication Date Title
KR100543697B1 (ko) 데이터 부호화/복호화 방법 및 장치
US7336713B2 (en) Method and apparatus for encoding and decoding data
US7746249B2 (en) Method and apparatus for encoding and decoding key data
JP4191706B2 (ja) データ符号化及び復号化方法、並びに装置
CN100530977C (zh) 对数据进行编码和译码的方法和装置
EP3163876A1 (en) Method and apparatus for performing arithmetic coding by limited carry operation
CA2392644C (en) Coding and decoding apparatus of key data for graphic animation and method thereof
JP4205426B2 (ja) 回転インタポレータのキー値データ復号化方法
EP1564999B1 (en) Method and apparatus for encoding and decoding data
EP1322118B1 (en) Method and apparatus for encoding and decoding key data
JP4629014B2 (ja) 位置インタポレータの符号化/複合化方法、及び装置
EP1750447A2 (en) Method and apparatus for encoding and decoding key data

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
FPAY Annual fee payment

Payment date: 20121210

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131217

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141224

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee