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

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

Info

Publication number
KR20030043621A
KR20030043621A KR1020020064007A KR20020064007A KR20030043621A KR 20030043621 A KR20030043621 A KR 20030043621A KR 1020020064007 A KR1020020064007 A KR 1020020064007A KR 20020064007 A KR20020064007 A KR 20020064007A KR 20030043621 A KR20030043621 A KR 20030043621A
Authority
KR
South Korea
Prior art keywords
difference data
data
dnd
key
inverse
Prior art date
Application number
KR1020020064007A
Other languages
English (en)
Other versions
KR100552665B1 (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 EP02258127A priority Critical patent/EP1322118B1/en
Priority to EP06122708A priority patent/EP1761065A3/en
Priority to EP06122709A priority patent/EP1750447A3/en
Priority to CNB2004100558156A priority patent/CN100414996C/zh
Priority to JP2002343162A priority patent/JP3733107B2/ja
Priority to US10/305,016 priority patent/US7026960B2/en
Priority to CN 200610094358 priority patent/CN1878311B/zh
Publication of KR20030043621A publication Critical patent/KR20030043621A/ko
Priority to JP2005134609A priority patent/JP4104615B2/ja
Application granted granted Critical
Publication of KR100552665B1 publication Critical patent/KR100552665B1/ko
Priority to US11/390,337 priority patent/US7746249B2/en

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

본 발명은 키 데이터의 부호화 및 복호화 장치 및 방법을 개시한다.
본 발명의 부호화 장치는, 입력된 차분 데이터의 양수측 범위와 음수측 범위의 크기에 따라서, 양수측 범위를 절반으로 나누고 상위 범위에 위치하는 차분 데이터들을 음수로 변환하는 디바이드 연산을 수행한 후, 연산이 수행된 차분 데이터의 범위에 따라서, 음수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-업 연산 또는 양수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-다운 연산을 수행하여 입력된 차분 데이터의 범위를 줄이는 DND 연산을 소정 회수동안 수행하는 DND 연산부; DND 연산된 차분 데이터에 대해서 차분 데이터의 범위를 양수 또는 음수측으로 이동시키는 쉬프트-업 연산을 수행하는 쉬프트-업 연산부; DND 연산된 차분 데이터 또는 쉬프트-업 연산된 차분 데이터를 선택적으로 출력하는 차분 데이터 선택부; 및 차분 데이터 선택부에서 선택된 차분 데이터를 엔트로피 부호화하는 엔트로피 부호화기를 포함한다.

Description

키 데이터 부호화/복호화 방법 및 장치{Key data encoding/decoding method and apparatus}
본 발명은 키 데이터를 부호화하고 복호화하는 장치 및 방법에 관한 것이다.
구체적으로, 본 발명은 키 데이터에 DPCM을 수행하여 차분 데이터를 생성하고, 차분 데이터의 범위를 줄이는 소정의 연산들을 수행하여 부호화될 차분 데이터의 범위를 줄이므로써 키 데이터의 부호화 효율을 높이는 부호화 방법 및 장치와, 부호화된 키 데이터를 복호화하는 방법 및 장치에 관한 것이다.
3차원 표현기법은 3차원 컴퓨터 게임이나 컴퓨터 시스템의 가상현실 환경에서 사용되는 것으로 익히 알려져 있다. 한편, 3차원 에니메이션의 경우에는, 3차원 에니메이션을 표현하는 수단으로 가상 현실 모델링 언어(VRML)가 사용되고 있다.
VRML 및 MPEG-4 의 BIFS(Binary Format for Scene)는 키 프레이밍 방식에 기반한 에니메이션 표현 방식을 지원한다. 이 에니메이션 표현방식에서는, 소정의 키 프레임이 임의의 시간축 상에서 결정되고, 각 키 프레임간의 에니메이션 데이터는 선형 보간방법에 의해서 보간된다. 이 방식에서 사용되는 키 프레임은 인터폴레이터 노드에 의해서 정의되고, 인터폴레이터 노드는 주어진 범위(-∞~ +∞)의 실수(floating point number) 값으로 표현되며 키 프레임의 시간축상의 위치를 나타내는 키 데이터와 해당 키에서 키 프레임의 속성 및 움직임 정보등을 나타내는 키값 데이터로 필드를 구성한다.
한편, 구분(piecewise) 선형 보간 특성을 갖는 키 프레이밍 방법에 의해서 실제 움직이는 물체와 유사한 매끈한 에니메이션을 표현하려면, 인터폴레이터 노드를 통해서 상당한 양의 키 프레임 정보가 공급되어야 하고, 이는 비용 및 효율면에서 심각한 문제를 초래한다. 키 프레이밍 방법이 오프라인상에서 사용될 때, 막대한 양의 3차원 에니메이션 데이터를 저장하기 위한 대용량 저장기기가 필요하다. 키 프레이밍 방법이 온라인 상에서 사용될 때에는 대용량 저장 장치 뿐만 아니라, 서버로부터 단말기로의 3차원 에니메이션 정보를 전송하기 위해서 고속의 대용량 전송 선로가 요구되고, 전송 에러가 발생할 가능성이 증가됨에 따라서 데이터의 신뢰성도 떨어지게 된다. 따라서, 인터폴레이터 노드 데이터의 양을 줄일 수 있는 효율적인 압축 및 부호화 방법이 필요하다.
MPEG-4 의 BIFS 는 에니메이션 데이터를 부호화하기 위한 2가지 방법을 제안한다. 하나는 양자화만으로 에니메이션 데이터를 부호화하는 BIFS-Q 방식이고, 다른 하나는 예측 MF 필드 부호화(PMFC)방법으로 칭해지는 데이터의 차를 부호화하는 DPCM 방법이다. BIFS-Q 는 양자화만을 이용하므로 효율적인 부호화 방법이 아니며, PMFC 는 DPCM을 수행한 이후에 데이터 중복성을 줄이는 엔트로피 부호화를 수행하기 때문에 BIFS-Q 보다 더 효율적이다. 키에 대한 PMFC 의 부호화/복호화기가 도 1 에 도시되어 있다. 그러나, PMFC 는 엔트로피 부호화전에 DPCM 만을 수행할 뿐, 키의 성질이나 상관관계를 전혀 고려하지 않으므로 에니메이션 데이터 부호화에 충분히 효율적이지 않다.
도 1 을 참조하면, 입력 키 데이터(105)는 인터폴레이터 노드로부터 부호화장치(100)로 입력된다. 양자화기(110)는 입력 키 데이터를 수신하고, 데이터를 정수 값으로 양자화한다. DPCM 프로세서(115) 는 양자화된 키 데이터를 수신하고 차분 데이터를 생성한다. 엔트로피 부호화기(120)는 차분 데이터를 수신하고, 심볼 발생의 가능성에 대해서 비트들간의 중복성을 제거하고, 압축된 비트 스트림(125)을 발생한다. 도 1 의 부호화 장치(100)에 의해서 발생된 비트스트림(125)은 부호화 장치(150)의 엔트로피 복호화기(155)로 입력되어 엔트로피 복호화되고, 엔트로피 복호화된 차분 데이터는 역 DPCM 프로세서(160)에 의해서 양자화된 차분 데이터로 출력되며, 역 양자화기(165)는 양자화된 키 데이터를 입력받아 역양자화를 수행하여 복호화된 키 데이터를 출력한다.
그러나, 상술한 구조를 갖는 부호화 장치(100)는 키의 성질을 고려하지 않고 엔트로피 부호화 전에 DPCM 만을 수행한다. 따라서, 높은 압축률의 효율적인 부호화를 달성하기는 어렵다.
본 발명이 해결하고자 하는 제 1 기술적 과제는 키 데이터의 성질을 고려하여 데이터의 중복성을 제거함으로써 고효율의 에니메이션 키 데이터 압축이 가능한 부호화 장치 및 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 제 2 기술적 과제는 상술한 부호화 장치 및 방법에 의해서 부호화된 비트스트림을 복호화하는 장치 및 방법을 제공하는 것이다.
도 1 은 일반적인 키 데이터 부호화/복호화 장치의 구성을 도시한 블록도이다.
도 2a 는 본 발명의 바람직한 실시예에 따른 부호화 장치의 구성을 도시하는 블록도이다.
도 2b 는 도 2a 에 도시된 DND 처리부의 구성을 도시하는 블록도이다.
도 2c 내지 도 2g 는 본 발명의 부호화 장치의 다른 실시예의 구성을 도시하는 블록도이다.
도 3 은 본 발명의 바람직한 실시예에 따른 부호화 방법을 설명하는 흐름도이다.
도 4 는 본 발명의 바람직한 실시예에 따른 실수 변환 과정을 설명하는 흐름도이다.
도 5 는 본 발명의 바람직한 실시예에 따른 양자화 과정을 설명하는 흐름도이다.
도 6 은 본 발명의 바람직한 실시예에 따른 DPCM 연산 과정을 설명하는 흐름도이다.
도 7 은 본 발명의 바람직한 실시예에 따른 DND 연산 과정을 설명하는 흐름도이다.
도 8 은 본 발명의 바람직한 실시예에 따른 엔트로피 부호화 방법의 일예를 도시하는 도면이다.
도 9a 내지 도 9j 는 본 발명의 바람직한 실시예에 따른 연산들이 수행된 후의 키 데이터를 도시하는 도면이다.
도 10a 및 도 10b 는 키 데이터와 키값 데이터를 이용하여 에니메이션 데이터를 부호화하는 과정을 간략하게 나타낸 도면이다.
도 11 은 본 발명의 바람직한 실시예에 따른 키 데이터 복호화 장치의 구성을 도시하는 블록도이다.
도 11b 내지 도 11e 는 본 발명의 복호화 장치의 다른 실시예의 구성을 도시하는 블록도이다.
도 12 는 본 발명의 바람직한 실시예에 따른 복호화 방법을 설명하는 흐름도이다.
도 13 은 본 발명의 바람직한 실시예에 따른 역 DND 연산과정을 설명하는 흐름도이다.
도 14a 내지 도 14e는 부호화를 위한 프로그램 코드 및 각 변수의 의미의 일예를 설명하는 도면이다.
도 15a 내지 도 15c 는 복호화과정을 수행하는 연산들을 구현한 프로그램 코드의 일예를 설명하는 도면이다.
상술한 기술적 과제를 이루기 위한 본 발명의 부호화 장치는, 입력된 차분데이터의 양수측 범위와 음수측 범위의 크기에 따라서, 양수측 범위를 절반으로 나누고 상위 범위에 위치하는 차분 데이터들을 음수로 변환하는 디바이드 연산을 수행한 후, 연산이 수행된 차분 데이터의 범위에 따라서, 음수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-업 연산 또는 양수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-다운 연산을 수행하여 입력된 차분 데이터의 범위를 줄이는 DND 연산을 소정 회수동안 수행하는 DND 연산부; DND 연산된 차분 데이터에 대해서 차분 데이터의 범위를 양수 또는 음수측으로 이동시키는 쉬프트-업 연산을 수행하는 쉬프트-업 연산부; DND 연산된 차분 데이터 또는 쉬프트-업 연산된 차분 데이터를 선택적으로 출력하는 차분 데이터 선택부; 및 차분 데이터 선택부에서 선택된 차분 데이터를 엔트로피 부호화하는 엔트로피 부호화기를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 부호화 장치는, 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 차분 데이터들에서 모드를 감산하는 쉬프팅부; 차분 데이터들을 양수 또는 음수 영역으로 변환하는 폴딩 처리부; 변환된 차분 데이터들과 변환된 차분 데이터들의 최대값 및 최소값과의 관계에 따라서 변환된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 쉬프팅부로부터 입력된 차분 데이터, 폴딩 처리부로부터 입력된 차분 데이터, DND 연산된 차분 데이터, 및 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산된 차분 데이터 중 하나를 선택하여 출력하는 DND 처리부; 및 DND 처리부로부터 입력된 차분 데이터를 부호화하는 엔트로피 부호화기를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 부호화 장치는,입력된 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화기; 양자화된 키 데이터들의 차분 데이터들을 생성하는 DPCM 처리부; 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 차분 데이터들에서 모드를 감산하는 쉬프팅부; 차분 데이터들을 양수 또는 음수 영역으로 변환하는 폴딩 처리부; 변환된 차분 데이터들과 변환된 차분 데이터들의 최대값 및 최소값과의 관계에 따라서 변환된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 쉬프팅부로부터 입력된 차분 데이터, 폴딩 처리부로부터 입력된 차분 데이터, 및 DND 연산된 차분 데이터 중 하나를 선택하여 출력하는 DND 처리부; 및 DND 처리부로부터 입력된 차분 데이터를 부호화하는 엔트로피 부호화기를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 부호화 장치는, 입력된 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화기; 양자화된 키 데이터들의 차분 데이터들을 생성하는 DPCM 처리부; 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 차분 데이터들에서 모드를 감산하는 쉬프팅부; 쉬프팅된 차분 데이터들의 최대값 및 최소값과의 관계에 따라서 쉬프팅된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 쉬프팅부로부터 입력된 차분 데이터, DND 연산된 차분 데이터, 및 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산된 차분 데이터 중 하나를 선택하여 출력하는 DND 처리부; 및 DND 처리부로부터 입력된 차분 데이터를 부호화하는 엔트로피 부호화기를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 부호화 장치는, 입력되는 전체 키 데이터들 중 키 데이터들이 선형으로 증가하는 영역을 식별하여부호화하는 선형 키 부호화기; 양자화 오차를 최소화할 수 있도록 입력된 키 데이터들의 최대값 및 최소값을 조정하여 출력하는 양자화 오차 최소화부; 양자화 오차 최소화부로부터 입력된 최대값 및 최소값을 이용하여, 입력된 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화기; 선형 키 부호화기로부터 입력되고 2 진수 체계로 표현된 선형 키 영역의 시작 키 데이터와 종료 키 데이터, 및 양자화 오차 최소화부로부터 입력되고 2진수 체계로 표현된 최대값 및 최소값을 10진수 체계의 실수로 변환하는 실수 변환부; 양자화된 키 데이터들의 차분 데이터들을 생성하는 DPCM 처리부; 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 차분 데이터들에서 모드를 감산하는 쉬프팅부; 차분 데이터들을 양수 또는 음수 영역으로 변환하는 폴딩 처리부; 변환된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 쉬프팅부로부터 입력된 차분 데이터, 폴딩 처리부로부터 입력된 차분 데이터, DND 연산된 차분 데이터, 및 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산된 차분 데이터 중 하나를 선택하여 출력하는 DND 처리부; DND 처리부로부터 입력된 차분 데이터를 부호화하는 엔트로피 부호화기; 및 선형 키 부호화기, 양자화기, 실수 변환부, DPCM 처리부, 쉬프팅부, 폴딩 처리부, DND 처리부 및 엔트로피 부호화기 중 적어도 하나로부터 복호화에 필요한 데이터를 입력받아, 키 헤더 데이터를 생성하는 키 헤더 부호화기를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 부호화 장치는, 입력된 전체 키 데이터들 중 키 데이터들이 선형으로 증가하는 영역을 식별하여 부호화하는 선형 키 부호화기; 선형 키 부호화기로부터 입력되고 2 진수 체계로 표현된 선형 키 영역의 시작 키 데이터와 종료 키 데이터를 10진수 체계의 실수로 변환하는 실수 변환부; 전체 키 데이터들 중 선형 키 영역이 제외된 키 데이터들을 입력받아, 입력된 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화기; 양자화된 키 데이터들에 소정의 연산을 수행하여 엔트로피 부호화하는 엔트로피 부호화부; 및 선형 키 부호화기로부터 선형 키 데이터 영역에 포함되는 키 데이터의 개수를 입력받고, 실수 변환부로부터 변환된 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 입력받아 키 헤더로서 부호화하는 키 헤더 부호화기를 포함한다.
한편, 상술한 기술적 과제를 이루기 위한 본 발명의 복호화 장치는, 입력된 비트스트림을 엔트로피 복호화하는 엔트로피 복호화기; 복호화된 차분 데이터가 쉬프트-업 연산이 수행된 차분 데이터인 경우에 쉬프트-다운 연산을 수행하여 복호화된 차분 데이터를 DND 연산된 차분 데이터로 복원하여 출력하고, 그렇지 않으면 복호화된 차분 데이터를 바이패스하는 역 쉬프트-업 연산부; 및 역 쉬프트-업 연산부로부터 입력된 차분 데이터에 대해서, 비트스트림으로부터 판독된 DND 차수만큼 역 DND 연산을 수행하는 역 DND 연산부를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 복호화 장치는, 입력된 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 출력하는 엔트로피 복호화기; 비트스트림으로부터 판독된 DND 차수에 따라서 엔트로피 복호화된 차분 데이터에 역 DND 연산을 수행하거나 바이패스하는 역 DND 연산부; 역 DND 처리부로부터 차분 데이터를 입력받아 DND 차수에 따라서 차분 데이터의 범위를 음수와 양수로 분리하는 역 폴딩연산을 수행하거나, 바이패스 하는 역 폴딩 처리부;역 DND 처리부 또는 역 폴딩 처리부로부터 입력된 차분 데이터에 소정의 모드를 합산하여 차분 데이터의 범위를 이동시키는 역 쉬프팅부; 역 쉬프팅된 차분 데이터를 복원하여 양자화된 키 데이터를 출력하는 역 DPCM 처리부; 및 복원된 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 출력하는 역 양자화기를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 복호화 장치는, 입력된 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 출력하는 엔트로피 복호화기; 비트스트림으로부터 판독된 DND 차수에 따라서 엔트로피 복호화된 차분 데이터에 역 DND 연산을 수행하거나 바이패스하는 역 DND 처리부; 역 DND 처리부로부터 입력된 차분 데이터에 소정의 모드를 합산하여 차분 데이터의 범위를 이동시키는 역 쉬프팅부; 역 쉬프팅된 차분 데이터를 복원하여 양자화된 키 데이터를 출력하는 역 DPCM 처리부; 및 복원된 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 출력하는 역 양자화기를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 복호화 장치는, 입력된 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 출력하는 엔트로피 복호화기; 비트스트림으로부터 판독된 DND 차수에 따라서 엔트로피 복호화된 차분데이터에 역 DND 연산을 수행하거나 바이패스하는 역 DND 처리부; 역 DND 처리부로부터 차분 데이터를 입력받아 DND 차수에 따라서 차분 데이터의 범위를 음수와 양수로 분리하는 역 폴딩연산을 수행하거나 바이패스 하는 역 폴딩 처리부; 역 DND 처리부 또는 역 폴딩 처리부로부터 입력된 차분 데이터에 소정의 모드를 합산하여 차분 데이터의 범위를 이동시키는 역 쉬프팅부; 역 쉬프팅된 차분 데이터를 복원하여 양자화된 키 데이터를 출력하는 역 DPCM 처리부; 복원된 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 출력하는 역 양자화기; 10진수 체계로 부호화된 선형 키 데이터 영역의 시작 키 데이터 및 종료 키 데이터와 역양자화기에서 이용되는 최대값 및 최소값을 비트스트림으로부터 추출하고 2진수 체계로 변환하여 출력하는 실수 역 변환부; 및 실수 역 변환부로부터 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 입력받아 선형 키 데이터를 복호화하여 역 양자화기로부터 출력된 키 데이터와 합산하는 선형 키 복호화기를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 복호화 장치는, 입력된 비트스트림으로부터 부호화된 키 데이터의 복호화에 필요한 키 헤더 정보를 복호화하는 키 헤더 복호화기; 비트스트림을 엔트로피 복호화하여 양자화된 키 데이터를 출력하는 엔트로피 복호화부; 10진수 체계로 부호화된 선형 키 데이터 영역의 시작 키 데이터 및 종료 키 데이터와 양자화된 키 데이터를 역양자화하는데 이용되는 최대값 및 최소값을 키 헤더 복호화기로부터 입력받아 2진수 체계로 변환하여 출력하는 실수 역 변환부; 최대값 및 최소값을 이용하여 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 출력하는 역 양자화기; 및 실수 역 변환부로부터 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 입력받아 선형 키 데이터를 복호화하여 역 양자화기로부터 출력된 키 데이터와 합산하는 선형 키 복호화기를 포함한다.
한편, 상술한 기술적 과제를 이루기 위한 본 발명의 부호화 방법은,부호화할 차분 데이터의 양수측 범위와 음수측 범위의 크기에 따라서, 양수측 범위를 절반으로 나누고 상위 범위에 위치하는 차분 데이터들을 음수로 변환하는 디바이드 연산, 또는 음수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-업 연산을 선택적으로 수행한 후, 연산이 수행된 차분 데이터의 범위에 따라서, 디바이드-업 연산 또는 양수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-다운 연산을 수행하여 차분 데이터의 범위를 줄이는 DND 연산을 소정 회수동안 수행하여 DND 연산된 차분 데이터를 생성하는 DND 연산 단계; DND 연산된 차분 데이터에 대해서 차분 데이터의 범위를 양수 영역 또는 음수 영역으로 이동시키는 쉬프트-업 연산을 수행하여 쉬프트-업 연산된 차분 데이터를 생성하는 쉬프트-업 연산 단계; DND 연산된 차분 데이터 또는 쉬프트-업 연산된 차분 데이터를 선택하는 차분 데이터 선택 단계; 및 선택된 차분 데이터를 엔트로피 부호화하는 엔트로피 부호화 단계를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 부호화 방법은, 부호화할 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 차분 데이터들에서 모드를 감산하는 쉬프팅 연산을 수행하는 쉬프팅 연산 단계; 쉬프팅 연산된 데이터들을 양수 또는 음수 영역으로 변환하는 폴딩 연산을 수행하는 폴딩 연산 단계; 폴딩 연산된 차분 데이터들과 폴딩 연산된 차분 데이터들의 최대값 및 최소값과의 관계에 따라서 폴딩 연산된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 쉬프팅 연산된 차분 데이터, 폴딩 연산된 차분 데이터, DND 연산된 차분 데이터, 및 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산된 차분 데이터중 하나를 선택하는 DND 처리 단계; 및 선택된 차분 데이터를 엔트로피 부호화하는 엔트로피 부호화 단계를 포함한다.또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 부호화 방법은, 부호화할 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화 단계; 양자화된 키 데이터들의 차분 데이터들을 생성하는 DPCM 처리 단계; 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 차분 데이터들에서 모드를 감산하는 쉬프팅 연산 단계; 쉬프팅 연산된 차분 데이터들을 양수 또는 음수 영역으로 변환하는 폴딩 연산 단계; 폴딩 연산된 차분 데이터들과 폴딩 연산된 차분 데이터들의 최대값 및 최소값과의 관계에 따라서 폴딩 연산된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 쉬프팅 연산된 차분 데이터, 폴딩 연산된 차분 데이터, 및 DND 연산된 차분 데이터 중 하나를 선택하는 DND 처리 단계; 및 선택된 차분 데이터를 부호화하는 엔트로피 부호화 단계를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 부호화 방법은, 부호화할 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화 단계; 양자화된 키 데이터들의 차분 데이터들을 생성하는 DPCM 처리 단계; 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 차분 데이터들에서 모드를 감산하는 쉬프팅 연산 단계; 쉬프팅 연산된 차분 데이터들의 최대값 및 최소값과의 관계에 따라서 쉬프팅 연산된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 쉬프팅 연산된 차분 데이터, DND 연산된 차분 데이터, 및 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산된 차분 데이터 중 하나를 선택하는 DND 처리 단계; 및 DND 처리 단계에서 선택된 차분 데이터를 부호화하는 엔트로피 부호화 단계를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 부호화 방법은, 부호화할 전체 키 데이터들 중 키 데이터들이 선형으로 증가하는 선형 키 영역을 식별하여 부호화하는 선형 키 부호화 단계; 2 진수 체계로 표현된 선형 키 영역의 시작 키 데이터와 종료 키 데이터를 10진수 체계의 실수로 변환하는 실수 변환 단계; 양자화 오차를 최소화할 수 있도록 양자화할 키 데이터들의 최대값 및 최소값을 조정하고, 2진수 체계로 표현된 조정된 최대값 및 최소값을 10진수 체계의 실수로 변환하는 양자화 오차 최소화 단계; 양자화 오차 최소화 단계에서 조정된 최대값 및 최소값을 이용하여, 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화 단계; 양자화된 키 데이터들의 차분 데이터들을 생성하는 DPCM 처리 단계; 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 차분 데이터들에서 모드를 감산하는 쉬프팅 연산 단계; 쉬프팅 연산된 차분 데이터들을 양수 또는 음수 영역으로 변환하는 폴딩 연산 단계; 폴딩 연산된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 쉬프팅 연산된 차분 데이터, 폴딩 연산된 차분 데이터, DND 연산된 차분 데이터, 및 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산된 차분 데이터 중 하나를 선택하는 DND 처리 단계; DND 처리 단계에서 선택된 차분 데이터를 부호화하는 엔트로피 부호화 단계; 및 선형 키 부호화 단계, 양자화 단계, 실수 변환단계, DPCM 처리 단계, 쉬프팅 연산 단계, 폴딩 연산 단계, DND 처리 단계 및 엔트로피 부호화 단계 중 적어도 하나의 단계에서 생성된 복호화에 필요한 데이터를, 키 헤더로 생성하는 키 헤더 부호화 단계를 포함한다.
또한, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 부호화 방법은, 부호화할 전체 키 데이터들 중 키 데이터들이 선형으로 증가하는 선형 키 영역을 식별하여 부호화하는 선형 키 부호화 단계; 2 진수 체계로 표현된 선형 키 영역의 시작 키 데이터와 종료 키 데이터를 10진수 체계의 실수로 변환하는 실수 변환 단계; 전체 키 데이터들 중 선형 키 영역이 제외된 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화 단계; 양자화된 키 데이터들에 소정의 연산을 수행하여 엔트로피 부호화하는 엔트로피 부호화 단계; 및 선형 키 영역에 포함되는 키 데이터의 개수, 및 변환된 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 키 헤더로서 부호화하는 키 헤더 부호화 단계를 포함한다.
한편, 상술한 기술적 과제를 이루기 위한 본 발명의 복호화 방법은 복호화할 비트스트림을 엔트로피 복호화하는 엔트로피 복호화 단계; 복호화된 차분 데이터가 쉬프트-업 연산이 수행된 차분 데이터인 경우에, 복호화된 차분 데이터에 대해서 쉬프트-다운 연산을 수행하여 복호화된 차분 데이터를 DND 연산된 차분 데이터로 복원하는 역 쉬프트-업 연산 단계; 및 복호화된 차분 데이터가 쉬프트-업 연산이 수행된 차분 데이터인 경우에는 쉬프트-다운 연산이 수행된 차분 데이터에 대해서 비트스트림으로부터 판독된 DND 차수만큼 역 DND 연산을 수행하고, 복호화된 차분 데이터가 쉬프트-업 연산이 수행되지 않은 차분 데이터인 경우에는 복호화된 차분 데이터에 대해서 DND 차수만큼 역 DND 연산을 수행하는 역 DND 연산 단계를 포함한다.
또한, 상술한 기술적 과제를 이루기위한 본 발명의 다른 복호화 방법은 (a)비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 생성하는 엔트로피 복호화 단계; (b) 차분 데이터에 대해서 역 DND 연산을 수행하는 역 DND 연산 단계; (c) 차분 데이터의 범위를 음수와 양수로 분리하는 역 폴딩 연산을 수행는 역 폴딩 연산 단계; (d) 차분 데이터에 소정의 모드를 합산하여 차분 데이터의 범위를 이동시키는 역 쉬프팅 연산 단계; (d) 역 쉬프팅 연산된 차분 데이터를 복원하여 양자화된 키 데이터를 생성하는 역 DPCM 처리 단계; 및 (e) 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 생성하는 역 양자화 단계를 포함하며, 비트스트림으로부터 판독된 DND 차수가 엔트로피 부호화된 차분 데이터가 DND 연산이 수행되지 않은 차분 데이터임을 나타내면, (a) 단계 이후에 (c) 단계를 수행하고, DND 차수가 엔트로피 부호화된 차분 데이터가 DND 연산 및 폴딩 연산이 수행되지 않은 차분 데이터임을 나타내면, (a) 단계 이후에 (d) 단계를 수행한다.
또한, 상술한 기술적 과제를 이루기위한 본 발명의 다른 복호화 방법은 (a) 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 생성하는 엔트로피 복호화 단계; (b) 차분 데이터에 역 DND 연산을 수행하는 역 DND 처리 단계; (c) 차분 데이터에 소정의 모드를 합산하여 차분 데이터의 범위를 이동시키는 역 쉬프팅 연산 단계; (d) 역 쉬프팅 연산된 차분 데이터를 복원하여 양자화된 키 데이터를 생성하는 역 DPCM 처리 단계; 및 (e) 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 생성하는 역 양자화 단계를 포함하며, 비트스트림으로부터 판독된 DND 차수가 엔트로피 부호화된 차분 데이터가 DND 연산이 수행되지 않은 차분 데이터임을 나타내면, (a) 단계 이후에 (c) 단계를 수행한다.
또한, 상술한 기술적 과제를 이루기위한 본 발명의 다른 복호화 방법은 (a) 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 생성하는 엔트로피 복호화 단계; (b) 차분 데이터에 역 DND 연산을 수행하는 역 DND 처리 단계; (c) 차분 데이터의 범위를 음수와 양수로 분리하는 역 폴딩 연산을 수행하는 역 폴딩 연산 단계; (d) 차분 데이터에 소정의 모드를 합산하여 차분 데이터의 범위를 이동시키는 역 쉬프팅 연산 단계; (e) 역 쉬프팅 연산된 차분 데이터를 복원하여 양자화된 키 데이터를 생성하는 역 DPCM 처리 단계; (f) 10진수 체계로 부호화된 선형 키 데이터 영역의 시작 키 데이터 및 종료 키 데이터와 양자화된 키 데이터를 역양자화하는데 이용되는 최대값 및 최소값을 비트스트림으로부터 추출하고 2진수 체계로 변환하는 실수 역변환 단계; (g) 실수 역 변환 단계에서 변환된 최대값 및 최소값을 이용하여 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 생성하는 역 양자화 단계; 및 (h) 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 이용하여 선형 키 데이터를 복호화하여 역 양자화된 키 데이터와 합산하는 선형 키 복호화 단계를 포함하며, 비트스트림으로부터 판독된 DND 차수가 엔트로피 부호화된 차분 데이터가 DND 연산이 수행되지 않은 차분 데이터임을 나타내면, (a) 단계 이후에 (c) 단계를 수행하고, DND 차수가 엔트로피 부호화된 차분 데이터가 DND 연산 및 폴딩 연산이 수행되지 않은 차분 데이터임을 나타내면, (a) 단계 이후에 (d) 단계를 수행한다.
또한, 상술한 기술적 과제를 이루기위한 본 발명의 다른 복호화 방법은 비트스트림으로부터 부호화된 키 데이터의 복호화에 필요한 키 헤더 정보를 복호화하는 키 헤더 복호화 단계; 비트스트림을 엔트로피 복호화하여 양자화된 키 데이터를 출력하는 엔트로피 복호화 단계; 10진수 체계로 부호화된 선형 키 데이터 영역의 시작 키 데이터 및 종료 키 데이터와 양자화된 키 데이터를 역양자화하는데 이용되는 최대값 및 최소값을 키 헤더 복호화기로부터 입력받아 2진수 체계로 변환하는 실수 역 변환 단계; 최대값 및 최소값을 이용하여 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 생성하는 역 양자화 단계; 및 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 이용해 선형 키 데이터를 복호화하여 역 양자화된 키 데이터와 합산하는 선형 키 복호화 단계를 포함한다.
본 발명은 키 데이터를 인코딩할 때, 키 데이터의 성질을 이용하기 위해서 키데이터의 산포도를 먼저 측정한다. 상술한 바와 같이, 키 데이터는 시간축상의 키프레임의 위치를 나타내므로, 첫 번째 키 프레임을 나타내는 키 데이터로부터 마지막 키 프레임을 나타내는 키 데이터까지 키 데이터 값은 단조 증가한다. 따라서, 제 1 차 DPCM을 수행한 후의 차분 데이터는 모두 양수값을 갖게되고, 제 2 차 DPCM을 수행한 후에는 양수 또는 음수값을 갖게 된다.
일반적으로, 키 데이터의 최대값과 최소값간의 범위가 좁을수록 중복되는 값이 많아지고, 중복되는 값이 많을수록 엔트로피 부호화기의 압축률이 높아진다. 이러한 성질을 이용한 본 발명의 부호화 방법은 키 데이터의 범위를 줄인 후, 엔트로피 부호화를 수행한다. 키 데이터의 범위를 줄이기 위해서 최소 산포도를 생성하는 DPCM 및 DND 차수, 및 해당 차수에서의 연산 결과가 이용된다. 키 데이터의 산포도가 작을수록 키 데이터의 중복성이 증가한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 2a 는 본 발명의 바람직한 실시예에 따른 부호화기의 구성을 도시하는 도이다.
본 발명의 부호화기는 키 헤더 부호화기(270)와 키 데이터 부호화기를 포함한다. 또한, 키 데이터 부호화기는 선형 키 부호화기(200), 양자화기(210), DPCM 처리부(220), 쉬프팅부(230), 폴딩 처리부(240), DND 처리부(250) 및 엔트로피 부호화기(260)를 포함한다.
선형 키 부호화기(200)는 전체 키 데이터의 범위에서 키 데이터가 선형으로 증가하는 영역을 식별하여 부호화한다. 양자화기(210)는 양자화 오차를 최소화하는 방법을 이용하여 입력된 키 데이터를 양자화한다. DPCM 처리부(220)는 양자화된 키 데이터를 수신하고, 키 데이터의 차분 데이터를 생성한다. 쉬프팅부(230)는 모든 차분 데이터에서 가장 높은 빈도수의 차분 데이터를 감산한다. 폴딩 처리부(240)는 모든 차분 데이터를 양수 또는 음수의 영역으로 이동시킨다. DND 처리부(250)는 디바이드, 디바이드-업, 및 디바이드-다운의 3가지 연산을 선택적으로 수행하여 키 데이터의 차분 데이터의 범위를 줄인다. 키 데이터에 대한 엔트로피 부호화기(260)는 비트플레인 단위로 차분 데이터를 부호화하는 SignedAAC 및 UnsignedAAC 함수를 이용하여 차분 데이터들을 부호화한다.
이하, 도 3을 더 참조하여 본 발명의 바람직한 실시예에 따른 키 데이터 부호화 방법을 설명한다. 도 3 은 본 발명의 키 데이터 부호화 방법을 설명한 흐름도이다.
키 데이터가 부호화기로 입력되면, 전체 키 데이터의 개수 및 각 키 데이터의 자리수와 같은 정보는 키 헤더 부호화기(270)로 입력되어 부호화되고, 입력된 키 데이터들은 선형 키 부호화기(200)에서 선형 키 영역, 즉, 일정한 시간 간격으로 키 프레임이 존재하고 키 데이터가 동일한 차를 갖게 되어, 키 데이터가 선형으로 변화하는 영역이 있는지를 검색하고, 검색된 선형 영역을 먼저 부호화한다(S3000).
3Dmax, Maya 와 같은 유명 3D 응용 소프트웨어들은 특정 영역이 일정한 시간 간격을 갖는 키를 이용하여 키 프레임 기반의 에니메이션을 생성한다. 이러한 경우에, 선형 키 데이터 영역은 선형 영역이 시작되는 키 데이터, 종료되는 키 데이터 및 사이에 존재하는 키 프레임의 개수만 알면 간단하게 키 데이터를 부호화할 수 있기 때문에, 인터폴레이터에서 특정 영역의 키의 부호화를 위해서 선형 예측을 이용하는 것은 매우 유용하다.
선형 예측에 이용되는 수식은 다음의 수학식 1 과 같다.
여기서, tS는 부분적으로 선형인 영역이 시작되는 키의 데이터를 나타내고, tE는 부분적으로 선형인 영역이 종료되는 키의 데이터를 나타내며, S 는 tS의 인덱스를 E 는 tE의 인덱스를 각각 나타낸다. S 번째 키 데이터 및 E 번째 키 데이터에 대응되는 특정 영역에서 수학식 1 에 따라 선형적으로 예측된 키 데이터와 실제 키 데이터간의 오차는 다음 수학식 2 에 따라서 계산할 수 있다.
만약, 수학식 2 에 의해서 계산된 오차값들 중 최대 오차값이 소정의 임계값 이하라면, ti는 [tS,tE]구간 및 소정의 오차내에서 유사 선형(co-linear)이라고 할 수 있다. 최대 오차값과 특정 영역이 유사 선형인지의 여부는 다음의 수학식 3 에 의해서 결정된다.
만약,라면, ti는 [tS,tE]구간에서 유사 선형이다. 여기서, nBits는 부호화에 이용되는 부호화 비트수를 나타낸다.
일단, 선형 키 부호화기(200)는 부분적으로 선형인 영역을 찾게되면, 영역의 시작점의 키 데이터 및 종료점의 키 데이터는 실수 변환부(205)로 출력하고, 선형 키 영역에 포함되는 키의 개수는 키 헤더 부호화기(270)로 출력하여 부호화한다. 이러한, 선형 부호화를 이용함으로써 부호화할 데이터의 양을 크게 줄일 수 있음을 알 수 있다. 시작 키 데이터 및 종료 키 데이터는 실수 변환부(205)에서 후술하는 실수 변환과정에 의해서 부호화된다.
실수 변환부(205)는 시작 키 데이터와 종료 키 데이터를 부호화하기 위해서 2진수 체계로 표현된 키 데이터를 10진수 체계로 변환한다.
컴퓨터는 실수(floating-point number)를 32 비트의 2진수 형태로 저장한다. 실수(floating-point number)가 2진수 형태로 주어지면, 실수 변환부(205)는 실수를 10진수 체계의 맨티사(mantissa) 및 지수(exponent)로 변환한다. 즉, 다음의 수학식 4 와 같이 변환된다.
예를 들어, 실수 12.34를 컴퓨터에서 2진수 형태로 표현하면, 다음과 같다.
이 수를 전술한 수학식 4 에 따라서 10진수로 표현하면, 다음과 같다.
십진수 체계의 맨티사와 지수를 비트스트림에 포함시키기 위해서는 각각이필요한 비트수를 계산하여야 한다. 먼저, 지수는 -38 ~ 38 사이 범위의 값을 갖으므로, 지수는 부호(sign)를 포함하여 7 비트로 표현될 수 있다. 또한, 맨티사는 자리수에 따라서 필요한 비트의 수가 결정된다. 맨티사의 값과 이에 필요한 비트수(단, 부호 비트는 제외)를 다음의 표 1 에 나타내었다.
한편, 상술한 과정에 의해서 검색되어 변환된 선형 키 영역의 시작 키 데이터와 종료 키 데이터는 도 4 에 도시된 부호화 과정에 따라서 부호화되고, 키 헤더 부호화기(270)로 출력되어 비트스트림에 저장된다.
도 4 는 실수 변환부(205)가 입력된 2개의 실수(floating-point number)를 부호화하는 과정을 도시한다. 도 4를 참조하여, 실수 변환부(205)가 변환된 실수를 부호화하는 과정을 설명한다.
실수 변환부(205)는 선형 키 부호화기(200)로부터 원래 키 데이터의 자리수(original key digit, Kd), 선형 영역이 시작되는 키 데이터(Start key, S), 선형 영역이 종료되는 키 데이터(end key, E)를 입력받아 상술한 수학식 4 에 의해서 키 데이터들을 변환한다(S3040).
실수 변환부(205)는 우선 S 를 부호화하는데, S의 자릿수가 Kd 와 다른지를 판단하여, 자리수가 다르면, S의 자릿수를 구하여 키 헤더 부호화기(270)로 출력한다(S3042). 이 때, 실수 변환부(205)는 Digit() 함수를 이용하여 S 의 자리수를 구한다.
그 후, 실수 변환부(205)는 S 의 자리수가 7 보다 크면, 소정의 비트수를(본 발명에서는, IEEE 표준 754의 floating-point number 방식으로 32bit을 사용)이용하여, S 의 자리수가 비트스트림에 포함되도록 키 헤더 부호화기(270)로 출력한다(S3043).
한편, S 의 자리수가 0 이 아니고 7보다 작으면, 실수 변환부(205)는 S 의 부호를 키 헤더 부호화기(270)로 출력하고(S3044), S의 멘티사의 절대값의 부호화에 필요한 비트수를 상기 표 1 로부터 구하고, 구해진 비트수로 멘티사의 절대값을 키 헤더 부호화기(270)로 출력한다(S3045). 그 후, S의 지수를 구하고, 부호를 키 헤더 부호화기(270)로 출력하고, 지수를 소정의 비트수로(본 발명의 실시예에서는 6 bit로) 키 헤더 부호화기(270)로 출력한다(S3046). 이와 같은 키 데이터의 변환으로 인해 비트스트림에 포함되는 비트수는 대폭 감소된다.
한편, S 의 자리수가 0 이면 시작 키 데이터의 부호화 과정은 종료되고, 종료 키 데이터를 변환하기 위한 과정으로 진행한다. 왜냐하면, 자릿수가 0 이면 실수(floating-point number)는 0을 의미하므로 더 이상의 부호화과정이 필요 없기 때문이다.
실수 변환부(205)는 시작 키 데이터를 변환하여 부호화한 후 종료 키 데이터 E를 변환한다. E 의 변환은 S 의 변환과 같은 과정을 반복하되, 단 E의 지수가 S의 지수와 같은 값을 가지는지를 판별하여(S3047), 양 값이 동일하면 이를 나타내는 플래그(flag) 비트만을 키 헤더 부호화기(270)로 출력하고, 다르면 플래그(flag) 비트와 E의 지수를 S의 지수와 같은 방식으로 키 헤더 부호화기(270)로 출력한다(S3048).
한편, 입력 키 데이터에서 선형 영역을 제외한 키 데이터들은 양자화기(210)로 입력되어 소정의 양자화 비트 사이즈인 nKeyQBit 에 따라서 양자화된다.
그러나, 복호화기에서 양자화된 키 데이터를 복호화하여 이용할 때에는, 원래의 키 데이터와 양자화된 키 데이터간의 오차로 인해 원래의 키 데이터가 완전히 복원될 수 는 없다. 따라서, 본 발명의 양자화기(210)는 단순히 입력되는 키 데이터에서 최대값 및 최소값을 구하고, 구해진 값들을 이용하여 양자화할 수 있을 뿐 아니라, 양자화 오차 최소화부(215)를 포함하여, 양자화 오차를 최소화할 수 있도록 수정된 최대값 및 최소값을 이용하여 양자화할 수 있다.
양자화 오차 최소화부(215)는 양자화 오차를 최소화하기 위해서 입력된 데이터에 대해서 미리 양자화 및 역양자화를 수행하여, 양자화의 오차가 최소가 되는 양자화의 범위를 제어하는 방법을 이용한다(S3100).
구체적으로 살펴보면, 고정된 양자화에 이용될 최대값을 Max 라하고, 조절되는 양자화에 이용될 최소값을 Min라하며, Xi를 입력 값, nQuantBit를 양자화에 이용되는 비트수라 할 때, 양자화된 입력값, 역양자화된 값, 및 오차 ei는 각각 다음의 수학식 5 에 의해서 계산한다.
오차의 합(∑ei)을 감소시키는 방법에는 두 가지가 있는데, 하나는 오차의 합이 최소가 될 때까지 Min 값을 조절하는 것이며, 다른 하나는 다음과 같다.
먼저, Δx 가 입력 데이터의 기본 스텝 사이즈이고, n 이 임의의 정수이며, εi가 영평균 난수 노이즈(zero mean random noise)라 할 때, 입력 키 데이터 시퀀스 Xi를 Xi=(i+n)Δx+εi와 같이 표현되는 양자화된 값이라고 가정한다.
그 후, di≡Xi- Xi-1= Δx +(εii-1) 라 할 때, Δ'x = E[di] 이고, 최소값 Min = Max - Δ'x * (2nQuantBit-1) 과 같다.
이러한 과정을 통해서 구해진 양자화 오차를 최소로 만드는 Min 값은 Max 값과 양자화기(210)로 입력되어 키 데이터의 양자화에 이용된다.
양자화 오차가 최소가되는 최대값(Max) 및 최소값(Min)을 수신한 양자화기(210)는 다음의 수학식 6 을 이용하여 키 데이터(fKeyi)의 양자화를 수행한다(S3200).
여기서, i 는 양자화된 키 데이터의 인덱스를, nQKeyi는 양자화된 데이터의 정수 배열을, fKeyi는 입력 키 데이터로서의 실수(float) 배열을, fKeyMax 및 fKeyMin 은 양자화오차 최소화부(215)에서 수신된 최대값(Max) 및 최소값(Min)을, nKeyQBit 는 양자화 비트 사이즈를 각각 나타낸다. 한편, 상기 수학식 6에서 사용된 함수 floor(v) 는 실수 v를 입력받아 v 이하의 최대 정수를 출력하는 함수이다.
한편, 본 발명의 양자화기(210)는 상술한 양자화오차를 최소화하는 알고리즘을 이용하지 않고, 간단하게, 입력된 키 데이터 중에서 최대값(fKeyMax)과 최소값(fKeyMin)을 구하여 양자화를 수행할 수도 있다.
본 발명의 양자화 과정을 설명한 도 5를 참조하여, 양자화과정을 자세히 살펴본다.
양자화기(210)는 키 데이터를 입력받고(S3210), 양자화오차 최소화부(215)로부터 최대값 및 최소값이 입력되었는지 여부를 조사한다(S3220).
양자화기(210)는 양자화오차 최소화부(215)로부터 최대값(MAX) 및 최소값(MIN)이 입력되었으면, 양자화에 이용할 최대값(fKeyMax) 및 최소값(fKeyMin)을 MAX 와 MIN 으로 설정하고(S3230), 설정된 최대값 및 최소값을상술한 실수 변환부(205)로 출력한다. 양자화에 이용될 최대값 및 최소값은 상술한 실수 변환 과정을 통해서 변환되고 부호화되어 키 헤더 부호화기(270)로 출력되므로써, 복호화에 이용할 수 있도록 최대값과 최소값을 키 헤더에 포함된다.
양자화기(210)는 양자화오차 최소화부(215)로부터 입력된 값이 없으면, 입력된 키 데이터 중에서 첫 번째 키 데이터(fKey0)를 최소값(fKeyMin)으로, 마지막 키 데이터(fKeyN-1)를 최대값(fKeyMax)으로 설정한다(S3240).
그 후, 양자화기(210)는 설정된 최대값이 1보다 작고, 최소값이 0보다 큰 값인지를 판단하여(S3250), 그렇지 않으면, 최대값과 최소값을 상술한 실수 변환부(205)로 출력하고 상술한 과정을 통해서 변환하여 부호화한 후, 키 헤더 부호화기(270)로 출력하여 복호화에 이용할 수 있도록 최대값과 최소값을 키 헤더에 포함시킨다(S3260).
한편, 최대값과 최소값이 제 S3250 단계의 조건을 만족하면, 최대값과 최소값을 복호화에 이용할 수 있도록 키 헤더 데이터에 포함할지의 여부를 나타내는 플래그를 조사한다(S3270). 만약, 플래그가 최대값과 최소값을 키 헤더에 포함하도록 설정되어 있다면, 상술한 제 S3260 단계를 수행하여 최대값(fKeyMax) 및 최소값(fKeyMin)을 부호화한 후 키 헤더 부호화기(270)로 출력하고, 그렇지 않다면, 양자화기(210)는 최대값과 최소값을 키 헤더에 포함시키지 않게 된다.
최대값과 최소값을 키 헤더에 포함시키지 않는 경우는, 키 데이터 부호화기 및 키 데이터 복호화기가 서로 최대값을 1 로 최소값을 0으로 설정하여 부호화 및복호화를 수행할 것을 규약한 경우에 해당되므로, 양자화기(210)는 최소값(fKeyMin)을 0 으로, 최대값(fKeyMax)을 1 로 각각 설정한다(S3280). 이렇게 설정된 양자화에 이용되는 최대값과 최소값은 이미 복호화기에 알려져 있으므로 별도로 키 헤더에 포함시키지 않는다.
한편, 양자화기(210)는 상술한 과정을 통해서 설정된 fKeyMax 및 fKeyMin를 상기 수학식 6 에 대입하여 입력된 키 데이터들을 양자화하고, 양자화된 키 데이터를 DPCM 처리부(220)로 출력한다(S3290).
양자화된 키 데이터들을 수신한 DPCM 처리부(220)는 소정 회수의 DPCM을 수행하여 최소의 산포도가 생성되는 차수 및 인트라 키 데이터는 키 헤더 부호화기(270)로 출력하고, DPCM 연산이 수행된 키 데이터의 차분 데이터들을 쉬프팅부(230)로 출력한다(S3300).
도 6 을 참조하여 DPCM 처리과정을 살펴보면, DPCM 처리부(220)는 입력된 키 데이터에 대해서 먼저 소정의 회수만큼 DPCM 연산을 수행하고, DPCM 이 수행된 회수는 DPCM 차수로서 저장한다(S3310). 본 발명의 바람직한 실시예에서는 3회의 DPCM 연산을 수행하였다.
그 후, DPCM 처리부(220)는 각 차수의 DPCM 연산 결과에 대해서 산포도를 계산한다(S3320). 이때의 산포도를 나타내는 통계값으로서 분산, 표준편차, 및 사분편차등이 이용될 수 있고, 본 발명의 바람직한 실시예에서는 사분 편차가 산포도로서 사용된다.
각 차수의 DPCM 연산 결과에 대한 산포도가 계산되면, DPCM 처리부(220)는산포도가 최소가 되는 DPCM 차수 및 해당 차수의 DPCM 결과를 선택하여, DPCM 연산 결과는 쉬프팅부(230)로 출력하고, DPCM 차수, 각 차수의 인트라 키 데이터 및 그 외의 DPCM 연산에서 필요한 정보들은 키 헤더 부호화기(270)로 출력한다(S3330). 다만, 본 발명의 바람직한 실시예에서는 키의 개수가 5보다 작으면, 1 차 DPCM 만을 수행하였다. 예컨대, 1 차 DPCM 이 수행될 때에는, 다음의 수학식 7을 이용하여 DPCM 연산을 수행하였다.
Δi=nQKeyi+1- nQKeyi
여기서 i 는 양자화된 키 데이터의 인덱스를, nQKeyi는 정수 배열을, Δi는 차분 데이터를 각각 나타낸다.
한편, DPCM 처리부(220)는 선택된 DPCM 결과, 및 DPCM 된 키 데이터의 차분 데이터를 부호화할 때 필요한 비트수를 계산하여, 소정의 기억장소(본 발명의 실시예에서는 nQStep_DPCM)에 저장한다(S3340). 다만, 부호화에 필요한 비트수를 계산하는 단계는 후술할 부호화할 키 데이터를 선택하는 단계에서 수행할 수 있음은 당업자에게 자명할 것이다.
DPCM 결과를 수신한 쉬프팅부(230)는 입력된 차분 데이터들 중에서 가장 빈도수가 높은 차분 데이터(이하, 모드라 함)를 선택하여 모든 차분 데이터에서 모드를 감산하므로써, 부호화될 데이터들이 0 주변에 집중적으로 분포되도록 하여 부호화에 필요한 비트수를 줄인다(S3400).
쉬프팅 연산은 모든 양자화된 키 데이터의 차분 데이터에 모드(nKeyShift)를 감산함으로써 수행된다. 이러한 쉬프팅 연산은 다음의 수학식 8 로 표현된다.
shift(nQKeyi)=nQKeyi-nKeyShift
i 는 양자화된 키 데이터의 인덱스를 나타내고, nQKeyi는 정수 배열을 나타내며, nKeyShift는 모드값을 나타낸다. 쉬프팅 연산이 수행된 후에는, 키 데이터의 차분 데이터 중 최고 많은 빈도를 나타내는 차분 데이터는 0 이 되므로, 부호화에 필요한 비트수를 대폭 줄일 수 있다.
쉬프팅 연산이 수행된 키 데이터들은 폴딩(fold)처리부(240) 및 DND 처리부(250)로 출력되고, 모드값(nKeyShift)은 키 헤더 부호화기(270)로 출력되어 키 헤더에 포함된다.
쉬프팅된 데이터를 수신한 폴딩 처리부(240)는 DND 연산을 수행하기 위한 전처리 단계로서 폴딩 연산을 수행하여, 폴딩 연산된 키 데이터를 DND 처리부(250)로 출력한다(S3500).
폴딩 연산은 0 을 중심으로 음수 영역과 양수 영역으로 다양하게 분포되는 차분 데이터를 양수 영역 또는 음수 영역으로 집중시켜 차분 데이터의 범위를 줄이기 위한 것으로, 본 실시예에서는 다음의 수학식 9 에 의해서 폴딩 연산을 수행하여 차분 데이터의 분포를 양수 영역으로 집중시켰다.
fold(nQKeyi)=2nQkeyi,(nQkeyi≥0 인 경우)
=2|nQKeyi|-1,(nQkeyi< 0 인 경우)
여기서, i 는 양자화된 키 데이터의 인덱스를 나타내고, nQKeyi는 정수 배열을 나타낸다. 폴딩 연산에 의해서, 쉬프팅된 키 데이터의 차분 데이터 중 양수인 데이터는 짝수인 양수로, 음수인 데이터는 홀수인 양수로 각각 변환된다.
폴딩 처리부(240)는 폴딩 연산이 수행된 데이터를 부호화할 때 필요한 비트수를 계산하여 소정의 기억장소(nQStep_fold)에 저장한다. 제 S3300 단계에서와 같이, 부호화에 필요한 비트수의 계산은 후술할 엔트로피 부호화할 차분 데이터를 선택하는 단계에서 수행할 수 있음은 당업자에게 자명할 것이다. 한편, 폴딩 처리부(240)에서 폴딩연산이 수행된 데이터는 DND 처리부(250)로 출력된다.
DND 처리부(250)는 엔트로피 부호화 효율을 높이기 위해서, 입력된 키 데이터의 차분 데이터들에 대해서 DND 연산을 소정의 회수만큼 수행하여 데이터의 범위를 줄인다(S3600).
도 2b를 참조하여 DND 처리부(250)를 살펴보면, DND 처리부는 DND 연산을 수행하는 DND 연산부(252), 부호화 비트수에 따라서 엔트로피 부호화할 차분 데이터를 선택하는 제 1 차분 데이터 선택부(254), 제 1 차분 데이터 선택부에서 DND 연산이 수행된 차분 데이터가 선택되면 DND 연산이 수행된 차분 데이터에 쉬프트-업 연산을 수행하는 쉬프트-업 연산부(256), 및 DND 연산된 차분 데이터 및 쉬프트-업 연산된 차분 데이터 중 에서 산포도가 더 작은 차분 데이터를 선택하여 엔트로피부호화기(260)로 출력하는 제 2 차분 데이터 선택부(258)를 포함한다.
먼저, DND 연산부(252)에서 수행되는 DND 연산에 대해서 살펴본다.
폴딩 연산된 차분 데이터가 DND 연산부(252)로 입력되면, 입력된 차분 데이터들은 절반으로 나눠지고, 상위 범위에 위치하는 차분 데이터들은 디바이드 함수에 의해서 음수 영역으로 이동된다. 디바이드 함수는 다음의 수학식 10 과 같이 정의된다.
divide(nQKeyj,nKeyMax)
= nQKeyj- (nKeyMax+1),(nQKeyj> nKeyMax/2 인 경우)
= nQKeyj,(nQKeyj≤ nKeyMax/2 인 경우)
여기서, j 는 입력된 차분 데이터의 인덱스이고, nQKeyj는 정수 배열을, nKeyMax 는 입력된 폴딩연산된 차분 데이터 중 최대값을 각각 나타낸다. 차분 데이터의 분포가 전체 차분 데이터가 차지하는 범위의 경계 영역에 집중되어 있는 경우에, DND 연산은 데이터의 전체 영역을 대폭 감소시키는 효과가 있다.
디바이드 연산후에 산포도가 계산되는데, 이 경우에 최소한의 부호화 비트 사이즈가 선택되도록 부호화에 필요한 비트 사이즈가 산포도로서 이용된다.
디바이드 연산이 수행된 후에, 디바이드 연산과 유사한 다른 DND 연산인 디바이드-업 연산 또는 디바이드-다운 연산이 수행되는데, 수행될 연산은 디바이드 연산후의 데이터의 양수측 및 음수측 범위의 크기에 따라서 결정된다.
양수측의 범위가 더 크면, 다음의 수학식 11 로 정의되는 디바이드-다운 연산이 수행된다.
divide-down(nQKeyj,nKeyMax)
= -2(nKeyMax-nQKeyj+1)+1,(nQKeyj> nKeyMax/2 인 경우)
= nQKeyj,(0 ≤nQKeyj≤nKeyMax/2 인 경우)
= 2nQKeyj,(nQKeyj< 0 인 경우)
한편, 음수측의 범위가 더 크면, 다음의 수학식 12로 정의되는 디바이드-업 연산이 수행된다.
divide-up(nQKeyj,nKeyMin)
= nQKeyj,(nQKeyj> 0 인 경우)
= 2nQKeyj,(nKeyMin/2 ≤nQKeyj≤0 인 경우)
= 2(nKeyMin-nQKeyj-1)+1,(nQKeyj< nKeyMin/2 인 경우)
상기 수학식들에서, j 는 양자화된 키 데이터의 인덱스이고, nQKeyj는 정수 배열이며, nKeyMax 는 nQKeyj의 최대값이고, nKeyMin 는 nQKeyj의 최소값이다.
이하, DND 연산부(252)의 연산수행 과정을 도시한 도 7 을 참조하여, DND 연산과정을 살펴본다.
DND 연산부(252)는 폴딩 처리부(240)로부터 키 데이터의 차분 데이터가 입력되면, 입력된 차분 데이터들 중에서 최대값(nKeyMax) 및 최소값(nKeyMin)을 구한다(S3610). 그 후, DND 연산부(252)는 최대값과 최소값의 절대값을 비교하고(S3620), 최대값이 최소값의 절대값보다 크거나 같으면, 구해진 최대값을 현재 DND 연산 차수의 최대값으로 설정한다(S3622).
DND 연산부(252)는 DND 연산 차수가 1 인지를 조사하여(S3624), 차수가 1 이면 상술한 수학식 10 에 최대값(nKeyMax)을 대입하여 DND 연산부(252)로 입력된 차분 데이터에 대해서 디바이드 연산을 수행한다(S3630).
디바이드 연산을 수행한 DND 연산부(252)는 부호화에 필요한 비트 사이즈를 구하기 위한 함수 getQBit()를 이용하여, 디바이드 연산을 수행하여 줄어든 차분 데이터 범위를 부호화하기 위해서 필요한 비트 사이즈를 측정한다(S3640). 그 후, 현재의 DND 연산 차수가 1 이면(S3650), 상기 값을 DND 연산후에 최소 부호화 비트 사이즈를 나타내는 값(nQBitDND)으로 일단 저장하고, DND 차수를 1 증가시킨다(S3655).
그 후, DND 연산부(252)는 상술한 과정을 다시 수행하는데, 제 S3624 단계에서 차수가 1 이 아니면, 상기 수학식 11 에 nKeyMax 값을 대입하여 디바이드-다운 연산을 수행한다(S3634). DND 연산부(252)는 디바이드-다운 연산이 수행된 차분 데이터의 부호화에 필요한 비트수를 계산하고(S3640), 이 값이 이전 차수의 DND 연산에서 저장된 부호화에 필요한 최소값(nQBitDND)보다 작으면(S3652), DND 연산후에 부호화에 필요한 최소비트 사이즈를 이 값으로 대체한다(S3658).
한편, 제 S3620 단계에서, 최소값의 절대값이 최대값보다 더 크다면, 당해 차수의 최대값을 입력된 최소값으로 갱신하고(S3623), 최소값을 상기 수학식 12 에 대입하여 디바이드-업 연산을 수행한다(S3638). 그 후, DND 연산부(252)는 디바이드-업 연산이 수행된 차분 데이터의 부호화에 필요한 비트수를 계산하고(S3640), 이 값이 이전 차수의 DND 연산에서 저장된 부호화에 필요한 최소값(nQBitDND)보다 작으면(S3652), DND 연산후에 부호화에 필요한 최소비트 사이즈를 이 값으로 대체한다(S3658).
DND 연산부(252)는 소정의 회수가 될 때까지 상술한 과정을 반복하는데, DND 연산을 수행하는 회수는 가변적이다. 예컨대, 본 실시예는 DND 연산을 수행하는 회수를 7 회로 설정하였다. DND 연산 연산부(252)는 부호화에 필요한 최소 비트 사이즈(nQBitDND) 및 그때의 DND 연산된 차분 데이터를 제 1 차분 데이터 선택부(254)로 출력하고, 그 때의 차수를 키 헤더 부호화기(270)로 출력하여 비트스트림에 포함시킨다.
제 1 차분 데이터 선택부(254)는 쉬프팅 연산된 차분 데이터, 폴딩 연산된 차분 데이터 및 DND 연산된 차분 데이터를 입력받아, 어떤 연산 수행 결과를 엔트로피 부호화할 것이지를 결정한다.
도 3을 다시 참조하며, 제 1 차분 데이터 선택부(254)는 DND 연산후에 부호화에 필요한 최소 비트수(nQBitDND)가 DPCM 연산후의 부호화 비트 사이즈(nQStep-DPCM)보다 크거나 같으면(S3700), DPCM 연산의 결과를 선택하고 쉬프팅 연산을 수행한 후, 쉬프팅된 차분 데이터를 엔트로피 부호화기(260)로 출력하여 엔트로피 부호화한다(S3710). 이 경우에, DND 차수는 -1 로 설정되고 키 헤더 부호화기(270)로 출력되어 키 헤더에 포함된다.
그러나, nQBitDND 가 DPCM 후의 부호화 비트 사이즈보다 작지만, 폴딩 연산후의 부호화 비트 사이즈보다 크거나 같으면(S3720), 제 1 차분 데이터 선택부(254)는 폴딩연산된 차분 데이터를 엔트로피 부호화기(260)로 출력하여 엔트로피 부호화한다(S3730). 이 경우에, DND 차수는 0 으로 설정되고 키 헤더 부호화기(270)로 출력되어 키 헤더에 포함된다.
만약, DND 연산된 후의 차분 데이터의 부호화 비트수가 가장 적다면, 제 1 차분 데이터 선택부(254)는 DND 연산된 차분 데이터를 쉬프트-업 연산부(256)로 출력하고, 쉬프트-업 연산부(256)은 차분 데이터를 입력받아, DND 연산된 차분 데이터에 대해서 제 1 산포도를 계산하고(S3740), 아울러, DND 연산된 차분 데이터에 대해서 다음의 수학식 13 으로 정의되는 쉬프트-업 연산을 수행한 후(S3800), 쉬프트-업 연산된 차분 데이터들의 제 2 산포도를 다시 계산한다(S3810).
shift-up(nQKeyj, nKeyMax)
= nQKeyj,(nQKeyj??0)
= nKeyMax - nQKeyj,(nQKeyj< 0)
여기에서 j 는 양자화된 키 데이터의 차분 데이터의 인덱스이고, nQKeyj는정수 배열이며, nKeyMax 는 차분 데이터 중에 최대값을 각각 나타낸다.
DND 연산된 차분 데이터 및 쉬프트-업 연산된 차분 데이터를 입력받은 제 2 차분 데이터 선택부(258)는 제 1 산포도 및 제 2 산포도의 크기를 비교하여(S3900) 쉬프트-업 연산후의 제 2 산포도가 DND 연산 후의 제 1 산포도보다 작으면, 쉬프트-업 연산이 수행된 차분 데이터를 엔트로피 부호화기(260)로 출력하여 엔트로피 부호화하고(S3910), DND 연산에서 사용된 최대값(nKeyMax) 및 최소값(nKeyMin), 그리고, 쉬프트-업 연산에서 사용된 최대값(nKeyMax)을 키 헤더 부호화기(270)로 출력하여 키 헤더에 포함시킨다.
그러나, DND 연산 후의 제 1 산포도가 쉬프트-업 연산후의 제 2 산포도보다 더 작으면, 제 2 차분 데이터 선택부(258)는 DND 연산이 수행된 차분 데이터를 엔트로피 부호화기(260)로 출력하여 엔트로피 부호화하고(S3920), DND 연산에서 사용된 최대값(nKeyMax) 및 최소값(nKeyMin)만이 키 헤더 부호화기(270)로 출력된다. 본 발명의 바람직한 실시예에서는 전술한 제 1 및 제 2 산포도로서 표준편차를 이용하였다.
엔트로피 부호화기(260)는 부호화할 차분 데이터의 성질에 따라서 2가지 함수 연산을 수행하여 차분 데이터를 부호화한다. 예컨대, DPCM 이 수행되고 쉬프팅 연산이 수행된 차분 데이터 및 디바이드 연산이 수행된 차분 데이터는 양수 및 음수를 모두 갖게 되므로, 차분 데이터의 부호를 포함하는 부호화를 수행하고, 폴딩 연산된 차분 데이터 및 쉬프트-업 연산된 차분 데이터는 양수값만을 가지므로 부호를 포함하지 않는 부호화를 수행한다.
본 발명의 바람직한 실시예는 부호를 포함하는 부호화함수로서 encodeSignedAAC 함수를 이용하고, 부호를 포함하지 않는 부호화함수로서 encodeUnsignedAAC 함수를 이용하여 차분 데이터를 부호화한다.
도 8 은 encodeSignedAAC 함수의 일예를 도시하는 도면이다. 도 8 을 참조하면, 입력 값이 74 이고, 이 값에 대한 부호화 비트수가 8 이라면, 이 값의 부호는 0 이고, 이 값의 이진수는 1001010 이 된다. 부호 및 모든 비트 플레인은 다음과 같이 과정을 통해서 부호화된다.
제 1 단계: 이진수를 MSB 에서부터 LSB로 비트플레인 단위로 부호화한다.
제 2 단계: 부호화중에 현재 부호화되는 비트가 0이 아닌지를 검사한다.
제 3 단계: 만약, 첫 번째 0 이 아닌 값이라면, 이진수의 현재 부호화 비트를 부호화한 후에 부호를 부호화한다.
제 4 단계: 이진수의 잔여 비트를 부호화한다.
encodeUnsignedAAC 함수는 부호없는 값을 값들에 대한 컨택스트를 이용하여 적응 산술 부호화 비트스트림으로 부호화한다. 이것은 부호 컨택스트가 있다는 점을 제외하면, 전술한 encodeSignedAAC 함수의 처리과정과 유사하다.
도 9a 내지 도 9j 는 본 발명의 바람직한 실시예에 따른 연산들이 수행된 후의 키 데이터를 도시하는 도면들이다. 도 9a 내지 도 9j에서 횡축은 각 키 데이터의 인덱스를 나타내고, 종축은 키 데이터의 값을 나타낸다.
도 9a 는 본 발명의 부호화기로 입력된 원래 키 데이터를 도시한 도면이다. 도 9a 에 도시된 키 데이터가 양자화기(210)로 출력되어 9비트의 양자화 비트로 양자화되면, 도 9b 에 도시된 양자화된 키 데이터가 얻어진다. 양자화된 키 데이터에 대해서 DPCM을 수행하면, 도 9c 와 같은 키 데이터의 차분 데이터를 얻게된다.
그 후, 양자화된 키 데이터의 차분 데이터를 약 7 의 모드값으로 쉬프팅하면, 도 9d 에 도시된 키 데이터의 차분 데이터를 얻을 수 있고, 쉬프팅된 차분 데이터에 폴딩 연산을 수행하면, 도 9e 에 도시된 바와 같이 모두 양수로 변환된 데이터를 얻을 수 있다.
폴딩된 데이터에 DND 연산을 수행한 데이터를 도 9f 내지 9h 에 도시하였다.
폴딩된 데이터에 대해서 먼저 DND 연산 중 디바이드 연산을 수행한 후의 차분 데이터를 도 9f 에 도시하였다. 도시된 바와 같이 양수측의 범위는 0~28 이고, 음수측의 범위는 0 ~ -29 이므로 음수측의 범위가 더 크다. 따라서, 도 9f 에 도시된 데이터에 대해서 디바이드-업 연산이 수행되고, 디바이드-업 연산의 결과를 도 9g 에 도시하였다.
디바이드-업 연산에 의해서 키 데이터의 음수측 범위는 양수측 범위에 비해서 상당히 줄어들고, DND의 다음 차수에서 디바이드-업 연산된 차분 데이터에 대해서 디바이드-다운 연산이 수행된다. 도 9h 는 도 9g 의 차분 데이터에 대해서 디바이드-다운 연산을 수행한 결과를 도시한 도면이다. 한편, 디바이드-다운 연산된 키 데이터에 대해서 쉬프트-업 연산을 수행한 결과를 도 9i 에 도시하였다.
상술한 도 9a 내지 도 9g 까지는 키 데이터 및 차분 데이터의 범위가 점점 줄어드는 것을 알 수 있다. 그러나, 쉬프트-업 연산 결과를 도시한 도 9i 와 도 9h를 비교하여 보면, 쉬프트-업 연산 수행후의 부호화될 차분 데이터의 범위가 더증가했음을 알 수 있다. 따라서, 최종적으로 부호화할 키 데이터의 차분 데이터는 디바이드-다운 연산이 수행된 차분 데이터인 것을 도 9j를 통해서 알 수 있다.
한편, 키 헤더 부호화기(270)에서 부호화되어 키 헤더에 저장되는 정보들을 살펴본다.
부호화될 키 데이터들이 입력되면, 키 헤더 부호화기(270)는 입력 키 데이터들로부터 키 데이터의 자리수 및 부호화될 전체 키의 개수를 입력받아 부호화한다. 그 후, 키 헤더 부호화기(270)는 선형 키 부호화기(200)로부터 선형 키 부호화된 선형 키 영역이 있는지를 나타내는 정보 및 선형 키 영역의 키 데이터의 개수를 입력받고, 실수 변환부(205)로부터 실수 변환된 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 입력받는다.
아울러, 실수 변환부(205)가 양자화 오차 최소화부(215)로부터 양자화 오차가 최소화되는 최대값 및 최소값을 입력받아 실수 변환한 경우에는, 변환된 최대값 및 최소값은 역 양자화에 이용될 수 있도록 실수 변환부(205)로부터 키 헤더 부호화기(270)로 입력되어 키 헤더에 포함된다. 또한, 양자화에 이용된 양자화 비트 사이즈도 키 헤더 부호화기(270)로 입력되어 키 헤더에 포함된다.
또한, 키 헤더 부호화기(270)는 DPCM 처리부(220)로부터 DPCM 연산 수행 차수 및 각 차수에서의 인트라 키(intra Key) 데이터를 입력받고, 쉬프팅부(230)로부터 쉬프팅연산에 이용된 모드값을 입력받으며, DND 처리부(250)로부터 쉬프트-업 연산이 수행되었는지 여부, 산포도가 최소가 되는 DND 차수 및 각 DND 차수에서의 최대값 및 최소값을 입력받는다.
마지막으로, 키 헤더 부호화기(270)는 엔트로피 부호화기(260)로부터 부호화에 이용된 부호화 비트수를 입력받아 키 헤더로 부호화한다.
지금까지 본 발명의 바람직한 실시예에 따른 키 데이터 부호화 장치의 일 예를 설명하였다. 당해 기술 분야의 통상의 지식을 갖은자는 상술한 바람직한 실시예에 따른 부호화장치의 다양한 변형 실시예가 존재함을 알 수 있을 것이다. 이하 도 2c 내지 도 2g를 참조하여 키 데이터의 부호화 효율을 높이기 위한 바람직한 실시예의 변형 실시예들을 살펴본다. 한편, 전술한 도 2a 및 도 2b 와 동일한 기능을 수행하는 구성요소는 동일한 참조 부호를 사용하였다.
도 2c를 참조하면, 본 발명의 부호화 장치의 제 2 실시예는 양자화기(210), DPCM 처리부(220), 쉬프팅부(230), 폴딩 처리부(240), DND 처리부(250), 및 엔트로피 부호화기(260)를 포함한다.
본 발명의 부호화 장치로 입력된 키 데이터들은 먼저 양자화기(210)로 입력되어 소정의 양자화 비트로 양자화된다. 양자화된 키 데이터들은 DPCM 처리부(220)로 입력되고, DPCM 처리부(220)는 키 데이터에 DPCM 연산을 수행하여 생성된 차분 데이터들을 쉬프팅부(230)로 출력한다. 쉬프팅부(230)는 입력된 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 입력된 차분 데이터들에서 상기 모드를 감산하는 쉬프팅 연산을 수행하여 폴딩 처리부(240)로 출력한다. 폴딩 처리부(240)는 입력된 차분 데이터들을 양수 또는 음수 영역으로 변환하여 DND 처리부(250)로 출력한다. DND 처리부(250)는 입력된 폴딩 연산된 차분 데이터에 대해서 상술한 DND 연산을 수행하고, 쉬프팅 연산된 차분 데이터,폴딩 연산된 차분 데이터, 및 DND 연산된 차분 데이터 중에서 부호화에 필요한 비트수가 최소가 되는 차분 데이터를 엔트로피 부호화기(260)로 출력하여 키 데이터를 부호화할 수 있다. 이 때, 상술한 DND 처리부(250)는 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산을 수행하는 것을 생략할 수 있으며, 상술한 부호화기는 종래의 키데이터 부호화장치와 비교하여 현저한 부호화효율을 나타낸다.
도 2d를 참조하면, 본 발명의 부호화 장치의 제 3 실시예는 양자화기(210), DPCM 처리부(220), 쉬프팅부(230), DND 처리부(250), 및 엔트로피 부호화기(260)를 포함한다.
본 발명의 부호화 장치로 입력된 키 데이터들은 먼저 양자화기(210)로 입력되어 소정의 양자화 비트로 양자화된다. 양자화된 키 데이터들은 DPCM 처리부(220)로 입력되고, DPCM 처리부(220)는 키 데이터에 DPCM 연산을 수행하여 생성된 차분 데이터들을 쉬프팅부(230)로 출력한다. 쉬프팅부(230)는 입력된 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 입력된 차분 데이터들에서 상기 모드를 감산하는 쉬프팅 연산을 수행하여 DND 처리부(250)로 출력한다. DND 처리부(250)는 쉬프팅된 차분 데이터에 대해서 상술한 DND 연산을 수행하고, 쉬프팅 연산된 차분 데이터와 DND 연산된 차분 데이터 중 부호화에 필요한 비트수가 더 적은 차분 데이터를 선택하게 되고, DND 연산된 차분 데이터가 선택되었다면, DND 연산된 차분 데이터에 대해서 쉬프트-업 연산을 수행하고, DND 연산된 차분 데이터와 쉬프트-업 연산된 차분 데이터 중 부호화에 필요한 비트수가 더 적은 차분 데이터를 엔트로피 부호화기(260)로 출력한다. 엔트로피 부호화기(260)는 차분 데이터에 대해서 엔트로피 부호화를 수행하여 비트스트림을 생성한다. 상술한 부호화기는 상술한 바람직한 실시예의 부호화장치에서 폴딩 연산과정을 생략하였으나, 상술한 구성만으로도 종래의 키 데이터 부호화장치와 비교하여 현저한 부호화효율을 나타낸다.
도 2e를 참조하면, 본 발명의 부호화 장치의 제 4 실시예는 부호화 장치로 키 데이터의 차분 데이터가 입력될 때, 입력된 차분 데이터를 부호화하여 출력하는 부호화 장치를 설명한다.
제 4 실시예의 부호화 장치는 쉬프팅부(230), 폴딩 처리부(240), DND 처리부(250), 및 엔트로피 부호화기(260)를 포함한다. 입력된 차분 데이터들은 쉬프팅부(230)에서 차분 데이터 중 최고 빈도수를 나타내는 차분 데이터가 감산되어 폴딩 처리부(240)로 출력된다. 폴딩 처리부(240)는 입력된 차분 데이터들을 양수 또는 음수 영역으로 변환하여 DND 처리부(250)로 출력한다. DND 처리부(250)는 입력된 폴딩 연산된 차분 데이터에 대해서 상술한 DND 연산을 수행하고, 쉬프팅 연산된 차분 데이터, 폴딩 연산된 차분 데이터, 및 DND 연산된 차분 데이터 중에서 부호화에 필요한 비트수가 최소가 되는 차분 데이터를 선택한다. DND 처리부(250)에서 쉬프팅된 차분 데이터 또는 폴딩 연산된 차분 데이터라 선택된 경우에는 선택된 차분 데이터는 엔트로피 부호화기(260)로 출력하여 키 데이터를 부호화할 수 있다. 한편, DND 처리부(250)에서 DND 연산된 차분 데이터를 선택한 경우에는 DND 연산된 차분 데이터에 쉬프트-업 연산을 수행하고, DND 처리부(250)는 DND 연산된 차분 데이터와 쉬프트-업 연산된 차분 데이터 중 부호화에 필요한 비트수가 더 적은 차분 데이터를 선택하여 엔트로피 부호화기(260)로 출력한다. 엔트로피 부호화기(260)는 입력된 차분 데이터를 엔트로피 부호화하여 비트스트림을 생성한다. 제 4 실시예의 부호화 장치 역시 종래의 부호화 장치와 비교하여 높은 부호화 효율을 나타냄을 알 수 있다.
도 2f 에 도시된 제 5 실시예의 부호화 장치는 입력된 키 데이터의 차분 데이터에 대해서 DND 연산만을 수행하여 부호화한다. 제 5 실시예의 부호화 장치는 DND 연산부(252), 쉬프트-업 연산부(256), 차분 데이터 선택부(258b) 및 엔트로피 부호화기(260)를 포함한다.
입력된 키 데이터의 차분 데이터는 DND 연산부(252)에서 상술한 DND 연산이 소정의 회수 수행되고 DND 연산된 차분 데이터는 쉬프트-업 연산부(256) 및 차분 선택부로 각각 입력된다. 쉬프트-업 연산부(256)는 입력된 DND 연산된 차분 데이터에 대해서 상술한 쉬프트-업 연산을 수행하여 차분 데이터 선택부(258b)로 출력하고, 차분 데이터 선택부(258b)는 입력된 DND 연산된 차분 데이터와 쉬프트-업 연산된 차분 데이터의 부호화에 필요한 비트수를 비교하여 부호화에 필요한 비트수가 더 적은 차분 데이터를 엔트로피 부호화기(260)로 출력하여 키 데이터의 비트스트림을 출력한다. 제 5 실시예의 부호화 장치 역시 종래의 부호화 장치와 비교하여 높은 부호화 효율을 나타냄을 알 수 있다.
도 2g에 도시된 제 6 실시예의 부호화 장치는, 입력 차분 데이터에서 선형 키 영역을 식별하여 부호화함으로써 전체 키 데이터의 부호화 효율을 높이는 부호화 장치이다. 제 6 실시예의 부호화 장치는 선형 키 부호화기(200), 실수 변환부(205), 양자화기(210), 엔트로피 부호화부(280), 및 키 헤더 부호화기(270)를 포함한다.
키 데이터가 제 6 실시예의 부호화 장치로 입력되면, 선형 키 부호화기(200)는 입력된 키 데이터들 중에서 키 데이터가 선형으로 증가하는 영역이 있는지 검색하여 선형 키 영역으로 판단되는 영역의 시작 키 데이터 및 종료 키 데이터를 실수 변환부(205)로 출력하고, 입력 키 데이터들 중에서 선형 키 영역을 제외한 키 데이터들을 양자화기(210)로 입력한다. 양자화기(210)로 입력된 키 데이터들은 소정의 비트 사이즈로 양자화되어 엔트로피 부호화부(280)로 출력되고, 엔트로피 부호화부(280)는 입력된 양자화된 키 데이터에 대해서 소정의 연산을 수행하고 엔트로피 부호화하여 비트스트림으로 출력한다.
한편, 실수 변환부(205)는 2진수 체계로 표현된 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 10진수 체계로 변환하여 키 헤더 부호화기(270)로 출력하여 비트스트림에 포함시킨다. 한편, 제 6 실시예는 상술한 양자화 오차 최소화부(215)를 더 포함할 수도 있다.
도 10a 및 도 10b 는 키 데이터와 키값 데이터를 이용하여 에니메이션 데이터를 부호화하는 과정을 간략하게 나타낸 도면이다.
키 값의 애니메이션의 경로에서, 키 값 부호화기는 근사화된 경로를 나타내는 점들의 집합을 찾는다. 이 경우에, 다수의 키 값들이 감소되고, 잔여 점들은 키 선택 플래그에 의해서 표시된다. 예컨대, 주어진 키 값 곡선이 도 10a 와 같고, 4개의 점이 선택되었을 때, 키 선택 플래그 배열은 도 10b 에 도시된 것과 같은 값들을 갖게 된다. 그리고, 키 선택 플래그는 엔트로피 부호화기(260)에 의해서 부호화되고, 키 선택 플래그에 해당되는 키 값 데이터만이 부호화된다.
이하, 도 14a 내지 도 14e를 참조하여, 상술한 부호화를 위한 프로그램 코드 및 각 변수의 의미의 일예를 설명한다. 프로그램 코드 및 각 변수의 의미는 SDL 언어 형식으로 아래에 설명된다.
키 헤더의 프로그램 코드는 도 14a 에 도시되어 있다. 도 14a 에 도시된 프로그램 코드에서 이용된 각 변수의 의미를 살펴본다.
키 헤더 데이터는 키 데이터를 복호화하기 위해서 필요한 정보들이다. 키 헤더의 주된 정보는 키의 개수, 양자화 비트, 인트라 키 데이터, DND 헤더 및 부호화에 필요한 실제 비트수이다. nKeyQBit 는 실수 키 값을 복원하는 역 양자화에 이용되는 양자화비트이다. nNumKeyCodingBit은 키 데이터의 개수를 나타내는 nNumberOfKey의 비트 사이즈를 나타낸다. nKeyDigit은 원 키 데이터의 최대 중요 자리수를 나타내며, 복호화된 값의 반올림에 이용된다. 키 헤더에 선형 키 영역에 관한 정보가 포함된 경우에, blsLinearKeySubRegion 플래그가 1로 설정된다. 이 경우에, 전체 키에 포함되는 소정의 부영역에 포함된 키들은 blsLinearLeySubRegion 플래그를 추종하는 복호화된 헤더 정보를 이용하여 계산될 수 있다. bRangeFlag은 키 데이터의 범위가 0 내지 1 인지 여부를 나타낸다. 만약, 범위가 0 내지 1 이 아니라면, 최소값 및 최대값은 KeyMinMax 클래스로부터 복호화된다. KeyMinMax 클래스는 역양자화를 위해서 최소값 및 최대값을 재구성한다. 각 값은 mantissa 및 exponent 로 분리될 수 있다. nBitSize는 nQIntraKey의 비트 사이즈이고, nKeyShift 는 nKeyMax 의 최초 비트사이즈 이다. nQIntraKey는 제 1 양자화된 인트라 데이터의 크기이다. 이것은 nQIntraKey의 부호를 나타내는 nQIntraKeySign 과 함께 결합된다. 이것은 나머지 양자화된 키 데이터를 복원하기 위한 밑으로 이용된다. 인터폴레이터 압축에 이용되는 모든 부호 비트에 있어서, 0은 양수를 1 은 음수를 각각 의미한다. nKDPCMOrder는 DPCM 차수 - 1이다. 차수의 범위는 1 내지 3 이다. 양자화된 인트라 데이터의 수는 DPCM 의 차수와 같다.
nKeyShift는 부호 비트인 nKeyShiftSign 와 함께 키 데이터 복호화기의 쉬프트 양을 나타내는 정수이다. 이들 두 값은 bShiftFlag 이 1 로 설정되면 복호화된다. nDNDOrder 는 DND(Divide-and-Divide)의 차수이다. DND 는 키 데이터 복호화기에서 설명한다. 만약, nDNDOrder 값이 7 이면, bNoDND 가 복호화된다. 이 불리언(boolean)값은 역 DND가 처리될지 여부를 나타낸다. nKeyMax는 각각의 연속한 역 DND 연산동안 사용되는 최대값 및 최소값이다. nKeyCodingBit은 키 데이터의 부호화에 이용되는 비트이다. bSignedAACFlag 는 AAC 복호화를 위해서 어떤 복호화 방법이 이용될 지를 나타낸다. 만약, 값이 0 이라면, unsignedAAC 복호화가 수행된다. 그렇지 않으면, signedAAC 복호화가 수행된다. bKeyInvertDownFlag 는 nKeyInvertDown 이 이용될지 여부를 나타내는 불리언 값이다. nKeyInvertDown 은 정수값으로, 이것을 초과하는 모든 양자화된 키 데이터를 -1이하의 음수값으로 반전시킨다. nKeyInvertDown이 -1 이면, 쉬프트-다운 연산은 수행되지 않는다.
도 14b 는 LinearKey의 프로그램 코드를 도시한 도면이다.
LinearKey의 변수의 의미를 살펴보면, nNumLinearKeyCodingBit는 선형으로 예측가능한 키의 개수를 부호화하기 위해서 필요한 비트의 개수를 나타내는 값이다.
도 14c 는 KeySelectionFlag 의 프로그램 코드를 도시한 도면이다.
KeySelectionFlag 에 이용된 변수의 의미를 살펴보면, keyFlag은 불리언 배열로서 i 번째 키의 키값이 부호화되었는지 여부를 나타낸다. nNumOfKeyValue 는 정수값으로, 복호화될 키값의 개수를 나타낸다.
도 14d 는 KeyMinMax 의 프로그램 코드를 도시하는 도면이다.
KeyMinMax에서 이용된 변수의 의미를 살펴보면, 먼저, bMinKeyDigitSame 는 전체 키들의 최고 중요 자리수(nKeyDigit)와 키의 최대값의 최고 중요 자리수가 동일한지를 나타낸다. nMinKeyDigit은 키의 최대값의 최고 중요 자리수를 나타낸다. nMinKeyMantissaSign 은 nMinKeyMantissa의 부호를 나타낸다. nMinKeyMantissa는 키의 최소값의 mantissa를 나타낸다.
nMinKeyExponentSign 은 nMinKeyExponent의 부호를 나타낸다. nMinKeyexponent는 키의 최소값의 Exponent를 나타낸다.
fKeyMin 은 키의 최소값을 나타낸다. nMaxKeyDigitSame 은 전체 키들의 최고 중요 자리수(nKeyDigit)와 키의 최대값의 최고 중요 자리수가 동일한지를 나타낸다. nMaxKeyDigit은 키의 최대값의 중요 자리수를 나타낸다. nMaxKeyMantissaSign은 nMaxKeyMantissa의 부호를 나타낸다. nMaxKeyMantissa는키의 최대값의 mantissa를 나타낸다.
bSameExponent 는 키의 최대값의 exponent가 nMinKeyExponent와 동일한지를 나타낸다. nMaxKeyExponentSign 은 nMaxKeyExponent 의 부호를 나타낸다. nMaxKeyExponent 는 키의 최대값의 exponent를 나타낸다. fKeyMax는 키의 최대값을 나타낸다.
도 14e 는 Key의 프로그램 코드를 도시한 도면이다.
Key에 이용된 변수의 의미를 살펴보면, nQKey는 비트스트림으로부터 복호화될 양자화된 키 데이터를 저장한 배열을 나타낸다. KeyContext는 nQKey 의 크기를 판독하는데 이용되는 context를 의미한다. KeySignContext는 nQKey 의 부호를 판독하는데 이용되는 context를 의미한다.
decodeUnsignedAAC 는 아래에 설명될 주어진 context로, 적응적 산술부호화를 부호없는 복호화를 수행하는 함수이다. decodeSignedAAC 는 아래에 설명될 주어진 context로, 적응적 산술부호화를 부호있는 복호화를 수행하는 함수이다.
이하, 도 11a 및 도 12를 참조하여 본 발명의 바람직한 실시예에 따른 복호화 장치 및 방법을 설명한다.
도 11a 는 본 발명의 바람직한 실시예에 따른 복호화장치의 구성을 도시하는 블록도이다. 본 발명의 복호화기는 부호화된 비트스트림을 수신하여, 복호화된 키 데이터로 재구성한다.
본 발명의 복호화기는 키 헤더 복호화기(370) 및 키 데이터 복호화기의 두 부분을 포함한다. 또한, 키 데이터 복호화기는 엔트로피 복호화기(360), 역DND처리부(350), 역폴딩 처리부(340), 역쉬프팅부(330), 역DPCM 처리부(320), 역양자화기(310), 선형 키 복호화기(300) 및 실수 역변환부(305)를 포함한다.
도 12 는 본 발명의 바람직한 실시예에 따른 복호화 방법을 설명하는 흐름도이다.
먼저, 키 데이터를 압축한 비트스트림은 키 헤더 복호화기(370) 및 엔트로피 복호화기(360)로 입력된다.
키 헤더 복호화기(370)는 각 복호화 단계별로 필요한 정보를 복호화하여 각 단계에 제공하는데, 키 헤더 복호화기(370)에서 복호화되는 정보는 각 단계마다 설명한다(S4000).
비트스트림을 입력받은 엔트로피 복호화기(360)는 키 헤더 복호화기(370)로부터 복호화할 차분 데이터의 개수와 부호화에 이용된 비트수, 즉, 복호화할 비트수를 입력받아, 비트스트림을 엔트로피 복호화한다(S4100). 이 때, 복호화할 차분 데이터의 개수는 주어진 키 데이터의 개수에서 DPCM 연산의 인트라 키 데이터의 개수만큼 감산한 개수가 된다.
엔트로피 복호화기(360)는 비트스트림을 복호화할 때, 비트스트림에 포함된 소정의 정보(본 실시예에서는 bSignedAACFlag)를 참조하여 부호화된 차분 데이터가 음수인지 또는 양수인지를 식별하고, 음수이면 decodeSignedAAC() 함수를 사용하여 복호화하고, 양수이면 decodeUnsignedAAC() 함수를 사용하여 복호화한다. 이렇게 해서 복호화된 차분 데이터는 역 DND 처리부(350)로 전달된다.
본 발명의 바람직한 실시예에서 비트스트림을 복호화하기 위한 함수를 구현하는 프로그램 코드의 일예는 후술하였다.
엔트로피 복호화된 차분 데이터를 수신한 역 DND 처리부(350)는 키 헤더 복호화기(370)로부터 DND 차수 및 각 DND 차수에서의 최대값(nKeyMax)을 입력받는다.
만약, DND 차수가 -1 이라면, 이것은 부호화기가 DND 연산된 차분 데이터 대신에 DPCM 연산되고 쉬프팅된 차분 데이터를 엔트로피 부호화하였다는 것을 나타내므로, 역 쉬프팅 연산을 수행하는 과정으로 바로 진행한다. 한편, DND 차수가 0 이라면, 이것은 부호화기가 DND 연산된 차분 데이터 대신에 폴딩된 차분 데이터를 엔트로피 부호화하였다는 것을 나타내므로, 역폴딩 연산을 수행하는 과정으로 바로 진행한다. 그러나, DND 차수가 0보다 크다면, 역 DND 연산을 수행하게 된다(S4150).
먼저, 역 DND 처리부(350)는 쉬프트-업 연산이 수행된 차분 데이터가 부호화되었는지를 판단한다(S4170). 본 발명의 바람직한 실시예에서는 비트스트림에 포함된 nKeyInvertDown 값이 0 보다 큰 값인지 여부를 조사함으로써, 쉬프트-업 연산이 수행된 차분 데이터가 부호화되었는지 여부를 판단한다.
만약, 쉬프트-업 연산이 수행되지 않은 차분 데이터가 부호화되었다면, 역 DND 처리부(350)는 역 DND 연산을 수행하는 과정으로 진행한다. 그러나, 쉬프트-업 연산이 수행된 차분 데이터가 부호화되었다면, 쉬프트-업 연산으로 인해 양수의 영역로 이동된 차분 데이터를 다시 원래의 음수영역으로 환원한다(S4200). 본 발명의 실시예는 다음의 수학식 14 로 표현되는 쉬프트-다운(이하, "인버트-다운(invert-down)"과 동일한 의미로 사용됨) 연산을 수행하여 쉬프트-업연산된 차분 데이터를 복원한다.
invert-down(v)
=v,(if v ≤ nKeyInvertDown)
= nKeyInvertDown - v ,(if v > nKeyInvertDown)
여기서, nKeyInvertDown은 쉬프트-업 연산에서의 최대값(nKeyMax)와 동일한 값이 이용된다. 쉬프트-다운 연산에 의해서 nKeyInvertDown을 초과하는 차분 데이터들은 -1 이하의 음수값으로 변환된다.
쉬프트-다운 연산이 수행된 차분 데이들에 대해서 각 DND 차수에서의 nKeyMax 값에 따라서 역 디바이드-다운 또는 역 디바이드-업 연산이 선택적으로 수행된다.
도 13을 더 참조하여, 본 역 DND 연산 과정을 살펴보면, 역 DND 처리부(350)는 부호화과정에서 수행된 DND 연산의 차수의 회수만큼 역 DND 연산을 수행한다. 즉, 역 DND 처리부(350)는 역 DND 차수의 초기값을 DND 차수로 설정하고, 역 DND 연산을 수행할 때마다 1씩 감산하고 역 DND 차수가 1 이 될 때까지 역 DND 연산을 수행한다. 먼저, 역 DND 처리부(350)는 각 차수에서의 nKeyMax 값을 조사하여 nKeyMax 값이 0 이상인지를 판단한다(S4310).
nKeyMax 값이 0 보다 작다면, 부호화 과정에서 디바이드-업 연산이 수행되었음을 의미하므로, 역 DND 처리부(350)는 역 디바이드-업 연산을 수행하여 차분 데이터의 범위를 음수 영역으로 확장한다(S4320). 본 발명의 바람직한 실시예는 다음의 수학식 15 와 같은 역 디바이드-업 연산을 이용하였다.
inverse-divide-up(v)
= v (if, v≥0)
= (nKeyMaxi-1)-(v-1)/2 (if v<0, v mod 2 ≠0)
= v/2 (if v<0, v mod 2 = 0)
그러나, 만약, nKeyMax 가 0 이상이라면, 역 DND 처리부(350)는 역 DND 연산의 차수가 1 인지를 조사한다. 역 DND 차수가 1 이 아니라면, 부호화할 때 디바이드-다운 연산이 수행되었음을 의미하므로, 역 DND 처리부(350)는 역 디바이드-다운 연산을 수행하여 차분 데이터의 범위를 양수 영역으로 확장한다(S4340).
본 발명의 바람직한 실시예는 다음의 수학식 16 과 같은 역 디바이드-다운 연산을 이용하였다.
inverse-divide-down(v)
= v (if, v≥0)
= (nKeyMaxi+1)+(v-1)/2 (if v<0, v mod 2 ≠0)
= v/2 (if v<0, v mod 2 = 0)
만약, nKeyMax 가 0 이상이고, 역 DND 연산의 차수가 1 이라면, 역 DND 처리부(350)는 역 디바이드 연산을 수행함으로써 역 DND 연산을 종료하게 된다(S4350).본 발명의 바람직한 실시예는 다음의 수학식 17 과 같은 역 디바이드 연산을 이용하였다.
inverse-divide(v)
= v ,(if v ≥0)
= v+(nKeyMax0+ 1) ,(if v < 0)
역 DND 연산이 수행된 키 데이터의 차분 데이터는 역 폴딩 처리부(340)로 입력되고, 역 폴딩 처리부(340)는 역폴딩 연산을 수행하여, 양수영역에만 위치하는 차분 데이터의 범위를 양수와 음수로 분리한다(S4400). 본 발명의 바람직한 실시예는 다음의 수학식 18 과 같은 역폴딩 연산을 이용하였다.
inverse-fold = (v+1)/(-2),(if v mod 2 ≠0)
= v/2,(if v mod 2 = 0)
= 0 ,(if v = 0)
역폴딩된 차분 데이터는 역 쉬프팅부(330)로 출력되고, 역 쉬프팅부(330)는 키 헤더 복호화기(370)로부터 부호화기에서 이용된 모드(nKeyShift)를 입력받아, 다음의 수학식 19 에서와 같이 입력된 차분 데이터들에 모드를 합산한다(S4500).
inverse-shift(v) = v + nKeyShift
역 쉬프팅부(330)로부터 차분 데이터를 입력받은 역 DPCM 처리부(320)는 키헤더 부호화기(370)로부터 DPCM 차수를 입력받아, 차분 데이터를 양자화된 키 데이터로 복원한다(S4600). 역 쉬프팅부(330)는 다음의 수학식 20 을 이용하여 DPCM 차수만큼 역 DPCM 연산을 수행한다.
v(i+1)=v(i)+delta(i)
여기서, i 는 차분 데이터 및 키 데이터의 인덱스를, v 는 정수 배열을, delta(i) 는 차분 데이터를 각각 나타낸다.
역 DPCM 처리되어 생성된 양자화된 키 데이터는 역 양자화기(310)로 입력되고, 역 양자화기(310)는 키 헤더 복호화기(370)로부터 양자화 비트 사이즈(nKeyQBit) 및 역 양자화에 이용될 최대값 및 최소값이 양자화과정에서 실수 변환부(205)에 의해서 부호화되었는지 여부를 입력받아, 다음의 수학식 21 을 이용하여 입력된 양자화된 키 데이터를 역 양자화된 키 데이터로 변환한다(S4700).
부호화기에서 키 데이터를 양자화할 때, 양자화에 이용된 최대값 및 최소값이 실수 변환부(205)에서 변환되지 않았다면, 수학식 21 의 fKeyMin 및 fKeyMax 는 0 및 1 로 각각 설정된다. 그러나, 양자화에 이용된 최대값 및 최소값이 실수 변환부(205)에 의해서 변환되었다면, 역 양자화에 이용되는 최대값 및 최소값은 후술할 실수 역변환부(305)에서 역 변환되어 입력되는 최소값 및 최대값이 각각 이용된다.
상술한 역 DND 연산 과정부터 역양자화 과정을 프로그램 코드로 구현한 일예는 후술하였다.
한편, 역양자화기(310)에서 출력되는 복호화된 키 데이터는 선형 키 복호화기(300)에서 복호화된 선형 키 데이터와 합산되어 복호화된 키 데이터를 구성한다.
이하, 선형 키 복호화과정을 설명한다.
키 헤더 복호화기(370)는 비트스트림으로부터 키 헤더 정보를 복호화해서 선형 키에 관한 정보가 있으면, 선형 키 영역의 시작 키와 종료 키를 복호화하기 위해서 필요한 정보를 실수 역변환부(305)로 출력하고, 선형 키 복호화기(300)로 선형 키로 부호화된 키의 개수를 출력한다.
선형 키 복호화에 이용될 시작 키 및 종료 키 정보를 입력받은 실수 역변환부(305)는 10진수 체계로 표현된 시작 키 및 종료 키를 다시 2 진수 체계로 역변환하여 선형키 복호화기(300)로 출력한다.
복호화할 2개의 실수를 fKeyMin과 fKeyMax라고 하면, 첫 번째 값 fKeyMin을 역변환하는 과정은 다음과 같다.
키 헤더 복호화기(370)는 fKeyMin의 자릿수를 비트스트림으로부터 읽어드린다. 만약에 자릿수가 0이면 fKeyMin의 값을 0으로 설정한 후, fKeyMax의 값을 복호화하기 위해서 fKeyMax 의 자리수를 비트스트림으로부터 판독한다. 만약에 자릿수가 8이상이면 IEEE 표준 754 방식에 따라서 부호화된 것이므로, 실수(floating-point number)를 32bit만큼 읽어드린 후, fKeyMax의 값을 복호화하는 과정으로 진행한다.
그러나, 만약에 자릿수가 1 과 7 사이의 값을 가지면, 키 헤더 복호화기(370)는 부호 비트를 비트스트림으로부터 판독한다. 본 발명의 실시예에서는, 부호비트가 1 이면 MinKeyMantissaSign를 -1로, 0 이면 MinKeyMantissaSign를 1 로 설정하여 부호를 판독한다. 그리고, mantissa를 상술한 표 1 의 자릿수와 필요한 비트수의 관계를 참조하여 필요한 비트수를 얻은 후, 그 비트수만큼 비트스트림으로부터 판독하고, 판독된 값을 nMinKeyMantissa에 저장한다. 그 후, 비트스트림으로부터 1 비트만큼 판독하여 MinKeyExponentSign에 저장하되, MinKeyMantissaSign과 같은 방식으로 저장한다. 그리고 비트스트림으로부터 6bit만큼의 exponent값을 판독하여 nMinKeyExponent에 저장한다.
실수 역변환부(305)는 키 헤더 복호화기(370)로부터 입력된 값을 다음의 수학식 22 를 대입하여 fKeyMin을 복원한다.
fKeyMax를 복원하는 과정은 fKeyMin과 동일하다. 다만, fKeyMax의 exponent를 비트스트림으로부터 판독하기 전에, fKeyMax 의 exponent로 fKeyMin과 동일한 exponent가 이용되었는지를 판독하여, 동일한 값이 이용되었으면, fKeyMin의 exponent를 사용하고, 그렇지 않으면 fKeyMin의 exponent를 비트스트림으로부터 판독하는 방식과 동일하게 fKeyMax 의 exponent를 판독한다.
한편, 실수 역변환부(305)로부터 선형 키 영역의 시작 키와 종료 키를 입력받은 선형 키 복호화기(300)는 다음의 수학식 23 을 이용하여 선형 키 영역을 복호화한다.
여기서, fKeyMin 및 fKeyMax 는 선형 키 영역의 시작 및 종료 키 데이터를 의미한다.
이렇게 복호화된 선형 키 영역의 키 데이터는 역양자화기(310)로부터 출력된 키 데이터와 합산되어 복호화된 최종 키 데이터로서 출력된다.
지금까지 본 발명의 바람직한 실시예에 따른 키 데이터 복호화 장치의 일 예를 설명하였다. 당해 기술 분야의 통상의 지식을 갖은자는 상술한 바람직한 실시예에 따른 복호화장치의 다양한 변형된 실시예가 존재함을 알 수 있을 것이다. 이하 도 11b 내지 도 11e 를 참조하여 바람직한 키 데이터 복호화장치의 실시예들을 살펴본다. 한편, 전술한 도 11a 에 도시된 구성요소와 동일한 기능을 수행하는 구성요소는 동일한 참조 부호를 사용하였다.
도 11b 를 참조하면, 본 발명의 복호화 장치의 제 2 실시예는 엔트로피 복호화기(360), 역 DND 연산부(352), 역 폴딩 처리부(340), 역 쉬프팅부(330), 역 DPCM 처리부(320), 및 역 양자화기(310)를 포함한다.
키 데이터를 부호화한 비트스트림이 제 2 실시예의 복호화 장치로 입력되면,엔트로피 복호화기(360)는 입력된 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 역 DND 연산부(352)로 출력한다. 역 DND 연산부(352)는 입력된 차분 데이터의 DND 차수를 조사하여, 입력된 차분 데이터가 DND 연산이 수행된 차분 데이터인지 여부를 판단하고, DND 연산이 수행되었다면, 상술한 역 DND 연산을 수행하여 출력하고, 그렇지 않으면, 바이패스한다.
역 DND 연산부(352)로부터 차분 데이터를 입력받은 역 폴딩 처리부(340)는 DND 차수를 조사하여 입력된 차분 데이터가 폴딩 연산이 수행된 차분 데이터라면 역 폴딩 연산을 수행하여 역 쉬프팅부(330)로 출력하고, 그렇지 않으면, 역 쉬프팅부(330)로 바이패스 한다.
한편, 역 쉬프팅부(330)는 입력된 차분 데이터에 대해서 상술한 역 쉬프팅 연산을 수행하여 역 DPCM 처리부(320)로 출력하고, 역 DPCM 처리부(320)는 차분 데이터를 양자화된 키 데이터로 변환하여 역 양자화기(310)로 출력한다. 역 양자화기(310)는 양자화된 차분 데이터를 역양자화하여 복호화된 키 데이터를 출력하게 된다.
도 11c 를 참조하면, 본 발명의 복호화 장치의 제 3 실시예는 엔트로피 복호화기(360), 역 DND 처리부(350), 역 쉬프팅부(330), 역 DPCM 처리부(320), 및 역 양자화기(310)를 포함한다.
키 데이터를 부호화한 비트스트림이 제 3 실시예의 복호화 장치로 입력되면, 엔트로피 복호화기(360)는 입력된 비트스트림을 엔트로피 복호화한 후, 복호화된 차분 데이터를 역 DND 처리부(350)로 출력한다. 역 DND 처리부(350)는 입력된 차분 데이터에 대해서 부호화과정에서 쉬프트-업 연산이 수행되었는지 여부를 조사하여, 쉬프트-업 연산이 수행되었으면 상술한 쉬프트-다운 연산을 수행한 후 상술한 역 DND 연산을 수행하여 출력하고, 그렇지 않으면 역 DND 연산을 수행하여 역 쉬프팅부(330)로 출력한다.
한편, 역 쉬프팅부(330)는 입력된 차분 데이터에 대해서 상술한 역 쉬프팅 연산을 수행하여 역 DPCM 처리부(320)로 출력하고, 역 DPCM 처리부(320)는 차분 데이터를 양자화된 키 데이터로 변환하여 역 양자화기(310)로 출력한다. 역 양자화기(310)는 양자화된 차분 데이터를 역양자화하여 복호화된 키 데이터를 출력하게 된다.
도 11d 를 참조하면, 본 발명의 복호화 장치의 제 4 실시예는 엔트로피 복호화기(360), 역 쉬프트-업 연산부(356), 및 역 DND 연산부(352)를 포함한다.
입력된 비트스트림은 엔트로피 복호화기(360)에서 복호화되어 차분 데이터로 변환된 후 역 쉬프트-업 연산부(356)로 입력된다. 역 쉬프트-업 연산부(356)는 입려된 차분 데이터에 대해서 상술한 쉬프트-다운 연산을 수행하여 DND 연산된 차분 데이터를 생성하여 역 DND 연산부(352)로 출력한다. 역 DND 연산부(352)는 상술한 역 DND 연산을 수행하여 복호화된 키 데이터의 차분 데이터를 출력한다. 복호화된 키 데이터의 차분 데이터는 일반적인 복호화기의 구성을 이용하여 복호화된 키 데이터를 출력할 수 있다.
도 11e 를 참조하면, 본 발명의 복호화 장치의 제 5 실시예는 선형 키 부호화기를 이용하는 부호화 장치에서 부호화된 비트스트림을 복호화하는 복호화 장치이다.
입력 비트스트림은 엔트로피 복호화부(380) 및 키 헤더 복호화기(370)로 입력된다. 엔트로피 복호화부(380)는 비트스트림에서 키 데이터에 해당되는 부분을 엔트로피 복호화하고 소정의 연산을 수행하여 역 양자화기(310)로 출력하고, 키 헤더 복호화기(370)는 입력된 비트스트림으로부터 키 헤더에 해당되는 비트스트림을 복호화하여 선형 키 복호화기로 선형 키 영역에 포함되는 키 데이터의 개수를 출력하고, 실수 역변환부(305)로 선형 키 영역의 시작 키 데이터 및 종료 키 데이터 정보를 출력한다.
역 양자화기(310)는 입력된 양자화된 키 데이터를 역 양자화하여 출력하고, 선형 키 복호화기는 실수 역변환부(305)로부터 입력된 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 입력받아 선형 키 영역을 복호화고, 복호화된 선형 키 영역을 역 양자화기(310)로부터 출력된 키 데이터에 합산하여 복호화된 키 데이터를 출력한다.
도 15a 내지 도 15c를 참조하여, 복호화과정을 수행하는 연산들을 구현한 프로그램 코드의 예들을 살펴본다.
도 15a 는 부호와 값에 대한 context를 이용한, 적응적 산술 부호화된 비트스트림으로부터 부호있는 값을 복호화하는 decodeSignedAAC() 함수를 구현하는 프로그램 코드의 일예를 도시한 도면이다.
도 15b 는 부호와 값에 대한 context를 이용한, 적응적 산술 부호화된 비트스트림으로부터 부호없는 값을 복호화하는 decodeUnsignedAAC() 함수를 구현하는프로그램 코드의 일예를 도시한 도면이다. 도 15b 에서, qf_decode()는 비트스트림으로부터 1 비트를 판독하는 함수이다.
도 15c 는 상술한 역 DND 연산 과정부터 역양자화 과정을 프로그램 코드로 구현한 일예를 도시한 도면이다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
상술한 본 발명의 키 데이터 부호화/복호화 방법 및 장치는 DPCM 연산만을 수행하여 키 데이터를 부호화하는 종래의 부호화/복호화 장치와는 달리, DPCM 연산에 의해서 얻어진 차분 데이터의 범위를 줄이기 위해서 쉬프팅 연산, 폴딩 연산 및 DND 연산등을 수행하여, 부호화에 필요한 비트수가 가장 작은 연산 결과를 부호화함으로써 키 데이터의 부호화 효율을 대폭 개선하였다. 따라서, 본 발명에 따르면 3차원 애니메이션의 저장 공간을 대폭 줄일 수 있고, 고속의 애니메이션 데이터 전송이 가능해진다.

Claims (105)

  1. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터에 대해서 DPCM 이 수행된 차분 데이터를 부호화하는 장치로서,
    입력된 차분 데이터의 양수측 범위와 음수측 범위의 크기에 따라서, 양수측 범위를 절반으로 나누고 상위 범위에 위치하는 차분 데이터들을 음수로 변환하는 디바이드 연산을 수행한 후,
    연산이 수행된 차분 데이터의 범위에 따라서, 음수영역에 위치한 차분 데이터의 범위를 줄이는 상기 디바이드-업 연산 또는 양수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-다운 연산을 수행하여 입력된 차분 데이터의 범위를 줄이는 DND 연산을 소정 회수동안 수행하는 DND 연산부;
    상기 DND 연산된 차분 데이터에 대해서 차분 데이터의 범위를 양수 또는 음수측으로 이동시키는 쉬프트-업 연산을 수행하는 쉬프트-업 연산부;
    상기 DND 연산된 차분 데이터 또는 상기 쉬프트-업 연산된 차분 데이터를 선택적으로 출력하는 차분 데이터 선택부; 및
    상기 차분 데이터 선택부에서 선택된 차분 데이터를 엔트로피 부호화하는 엔트로피 부호화기를 포함하는 것을 특징으로 하는 부호화 장치.
  2. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터에 대해서 DPCM 이 수행된 차분 데이터를 부호화하는 장치로서,
    상기 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 상기 차분 데이터들에서 상기 모드를 감산하는 쉬프팅부;
    상기 차분 데이터들을 양수 또는 음수 영역으로 변환하는 폴딩 처리부;
    상기 변환된 차분 데이터들과 상기 변환된 차분 데이터들의 최대값 및 최소값과의 관계에 따라서 상기 변환된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 상기 쉬프팅부로부터 입력된 차분 데이터, 상기 폴딩 처리부로부터 입력된 차분 데이터, DND 연산된 차분 데이터, 및 상기 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산된 차분 데이터 중 하나를 선택하여 출력하는 DND 처리부; 및
    상기 DND 처리부로부터 입력된 차분 데이터를 부호화하는 엔트로피 부호화기를 포함하는 것을 특징으로 하는 부호화 장치.
  3. 제 2 항에 있어서, 상기 폴딩 처리부는
    상기 쉬프팅부로부터 출력된 차분 데이터가 소정의 기준값보다 큰 경우에는 상기 차분 데이터에 소정의 제 1 상수를 곱하고, 상기 차분 데이터가 상기 기준값보다 작은 경우에는 상기 차분 데이터의 절대값에 상기 제 1 상수를 곱하고 소정의 제 2 상수를 감산하는 것을 특징으로 하는 부호화 장치.
  4. 제 2 항에 있어서, 상기 DND 처리부는
    폴딩 처리부로부터 입력된 차분 데이터에 DND 연산을 수행하는 DND 연산부;
    상기 쉬프팅 연산된 차분 데이터, 상기 폴딩 연산된 차분 데이터 및 상기 DND 연산된 차분 데이터를 각각 입력받아 하나를 선택하여 출력하는 제 1 차분 데이터 선택부;
    상기 DND 연산된 차분 데이터가 상기 제 1 차분 데이터 선택부로부터 입력된 경우에 상기 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산을 수행하는 쉬프트-업 연산부; 및
    상기 DND 연산된 차분 데이터 또는 상기 쉬프트-업 연산된 차분 데이터를 선택적으로 출력하는 제 2 차분 데이터 선택부를 포함하는 것을 특징으로 하는 부호화 장치.
  5. 제 4 항에 있어서, 상기 DND 연산부는
    상기 폴딩 처리부로부터 입력된 차분 데이터를 절반으로 나누고 상위 범위에위치하는 차분 데이터들은 음수로 변환하는 디바이드 연산을 수행하고, 디바이드 연산이 수행된 차분 데이터의 범위에 따라서, 음수영역에 위치한 키 데이터의 차분 데이터의 범위를 줄이는 디바이드-업 연산, 또는 양수영역에 위치한 키 데이터의 차분 데이터의 범위를 줄이는 디바이드-다운 연산을 수행하여, 부호화될 차분 데이터의 범위를 줄이는 DND 연산을 수행하는 것을 특징으로 하는 부호화 장치.
  6. 제 1 항 또는 제 5 항에 있어서, 상기 디바이드 연산은
    상기 입력된 차분 데이터들 중에서 선택된 최대값을 nKeyMax 라 할 때, 입력된 차분 데이터가 nKeyMax/2 보다 큰 경우에는 입력된 차분 데이터에서 최대값을 감산하고 소정의 상수를 감산하는 것을 특징으로 하는 부호화 장치.
  7. 제 1 항 또는 제 5 항에 있어서, 상기 디바이드-업 연산은
    차분 데이터의 음수측의 범위가 양수측의 범위보다 큰 경우에, 차분 데이터들 중에서 선택된 최소값을 nKeyMin 라 할 때, 차분 데이터가 소정의 기준값보다 작고 nKeyMin/2 보다 크거나 같으면 상기 차분 데이터에 소정의 제 1 상수를 곱하고, 상기 차분 데이터가 nKeyMin/2 보다 작으면, nKeyMin에서 상기 입력된 차분 데이터를 감산하고 상기 제 1 상수를 곱하여 소정의 제 2 상수를 감산하는 것을 특징으로 하는 부호화 장치.
  8. 제 1 항 또는 제 5 항에 있어서, 상기 디바이드-다운 연산은
    차분 데이터의 양수측의 범위가 음수측의 범위보다 큰 경우에, 차분 데이터들 중에서 선택된 최대값을 nKeyMax 라 할 때, 차분 데이터가 nKeyMax/2 보다 큰 경우에는 차분 데이터에서 nKeyMax를 감산하고 소정의 제 1 상수를 곱하여 소정의 제 2 상수를 감산하고, 차분 데이터가 소정의 기준값보다 작은 경우에는 상기 제 1 상수를 곱하는 것을 특징으로 하는 부호화 장치.
  9. 제 1 항 또는 제 4 항에 있어서, 상기 DND 연산부는
    상기 DND 연산을 소정의 회수동안 실행하여, 부호화에 필요한 비트수가 최소가 되는 회수의 DND 연산된 차분 데이터를 출력하는 것을 특징으로 하는 부호화장치.
  10. 제 1 항 또는 제 4 항에 있어서, 상기 쉬프트-업 연산부는
    nKeyMax 를 상기 DND 연산된 차분 데이터 중에서 선택된 최대값이라 할 때, DND 연산된 차분 데이터가 소정의 기준값보다 작은 경우에는 nKeyMax에서 상기 DND 연산된 차분 데이터를 감산하는 것을 특징으로 하는 부호화 장치.
  11. 제 1 항에 있어서, 상기 차분 데이터 선택부는
    상기 DND 연산된 차분 데이터 및 쉬프트-업 연산된 차분 데이터의 산포도를 각각 측정하고, 상기 산포도가 적은 차분 데이터를 출력하는 것을 특징으로 하는 부호화 장치.
  12. 제 4 항에 있어서, 상기 제 1 차분 데이터 선택부는
    상기 쉬프팅부, 상기 폴딩 처리부 및 상기 DND 연산부로부터 각각 입력된 키 데이터의 차분 데이터들 중 부호화에 필요한 비트수가 가장 적은 차분 데이터를 선택하여 출력하는 것을 특징으로 하는 부호화장치.
  13. 제 4 항에 있어서, 상기 제 1 차분 데이터 선택부는
    상기 쉬프팅부 또는 상기 폴딩 처리부로부터 입력된 차분 데이터가 선택된 경우에, 선택된 차분 데이터를 상기 엔트로피 부호화기로 출력하는 것을 특징으로 하는 부호화 장치.
  14. 제 4 항에 있어서, 상기 제 2 차분 데이터 선택부는
    상기 DND 연산된 차분 데이터 및 쉬프트-업 연산된 차분 데이터의 산포도를 각각 측정하고, 상기 산포도가 적은 차분 데이터를 출력하는 것을 특징으로 하는 부호화 장치.
  15. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터를 부호화하는 부호화 장치로서,
    입력된 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화기;
    상기 양자화된 키 데이터들의 차분 데이터들을 생성하는 DPCM 처리부;
    상기 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 상기 차분 데이터들에서 상기 모드를 감산하는 쉬프팅부;
    상기 차분 데이터들을 양수 또는 음수 영역으로 변환하는 폴딩 처리부;
    상기 변환된 차분 데이터들과 상기 변환된 차분 데이터들의 최대값 및 최소값과의 관계에 따라서 상기 변환된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 상기 쉬프팅부로부터 입력된 차분 데이터, 상기 폴딩 처리부로부터 입력된 차분 데이터, 및 DND 연산된 차분 데이터 중 하나를 선택하여 출력하는 DND 처리부; 및
    상기 DND 처리부로부터 입력된 차분 데이터를 부호화하는 엔트로피 부호화기를 포함하는 것을 특징으로 하는 부호화 장치.
  16. 제 15 항에 있어서, 상기 DND 처리부는
    입력된 차분 데이터에 DND 연산을 수행하는 DND 연산부; 및
    상기 쉬프팅 연산된 차분 데이터, 상기 폴딩 연산된 차분 데이터 및 상기 DND 연산된 차분 데이터를 각각 입력받아 하나를 선택하여 출력하는 차분 데이터 선택부를 포함하는 것을 특징으로 하는 부호화 장치.
  17. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터를 부호화하는 부호화 장치로서,
    입력된 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화기;
    상기 양자화된 키 데이터들의 차분 데이터들을 생성하는 DPCM 처리부;
    상기 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 상기 차분 데이터들에서 상기 모드를 감산하는 쉬프팅부;
    상기 쉬프팅된 차분 데이터들의 최대값 및 최소값과의 관계에 따라서 상기 쉬프팅된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 상기 쉬프팅부로부터 입력된 차분 데이터, DND 연산된 차분 데이터, 및 상기 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산된 차분 데이터 중 하나를 선택하여 출력하는 DND 처리부; 및
    상기 DND 처리부로부터 입력된 차분 데이터를 부호화하는 엔트로피 부호화기를 포함하는 것을 특징으로 하는 부호화 장치.
  18. 제 16 항에 있어서, 상기 DND 연산부는
    입력된 차분 데이터의 양수측 범위와 음수측 범위의 크기에 따라서, 양수측 범위를 절반으로 나누고 상위 범위에 위치하는 차분 데이터들을 음수로 변환하는 디바이드 연산, 또는 음수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-업 연산을 선택적으로 수행한 후,
    연산이 수행된 차분 데이터의 범위에 따라서, 상기 디바이드-업 연산 또는 양수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-다운 연산을 수행하여 입력된 차분 데이터의 범위를 줄이는 DND 연산을 소정 회수동안 수행하는 것을 특징으로 하는 부호화 장치.
  19. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터를 부호화하는 부호화 장치로서,
    입력되는 전체 키 데이터들 중 키 데이터들이 선형으로 증가하는 영역을 식별하여 부호화하는 선형 키 부호화기;
    양자화 오차를 최소화할 수 있도록 입력된 키 데이터들의 최대값 및 최소값을 조정하여 출력하는 양자화 오차 최소화부;
    상기 양자화 오차 최소화부로부터 입력된 최대값 및 최소값을 이용하여, 입력된 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화기;
    상기 선형 키 부호화기로부터 입력되고 2 진수 체계로 표현된 선형 키 영역의 시작 키 데이터와 종료 키 데이터, 및 상기 양자화 오차 최소화부로부터 입력되고 2진수 체계로 표현된 최대값 및 최소값을 10진수 체계의 실수로 변환하는 실수 변환부;
    상기 양자화된 키 데이터들의 차분 데이터들을 생성하는 DPCM 처리부;
    상기 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 상기 차분 데이터들에서 상기 모드를 감산하는 쉬프팅부;
    상기 차분 데이터들을 양수 또는 음수 영역으로 변환하는 폴딩 처리부;
    상기 변환된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 상기 쉬프팅부로부터 입력된 차분 데이터, 상기 폴딩 처리부로부터 입력된 차분 데이터, DND 연산된 차분 데이터, 및 상기 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산된 차분 데이터 중 하나를 선택하여 출력하는 DND 처리부;
    상기 DND 처리부로부터 입력된 차분 데이터를 부호화하는 엔트로피 부호화기; 및
    상기 선형 키 부호화기, 양자화기, 실수 변환부, DPCM 처리부, 쉬프팅부, 폴딩 처리부, DND 처리부 및 상기 엔트로피 부호화기 중 적어도 하나로부터 복호화에 필요한 데이터를 입력받아, 키 헤더 데이터를 생성하는 키 헤더 부호화기를 포함하는 것을 특징으로 하는 부호화 장치.
  20. 제 19 항에 있어서, 상기 선형 키 부호화기는
    임의의 키 데이터 영역에서 선형으로 예측된 키 데이터와 실제 키 데이터간의 최대 오차가 소정의 임계값 이하이면, 상기 영역을 유사-선형(co-linear)으로 판정하는 것을 특징으로 하는 부호화 장치.
  21. 제 19 항에 있어서, 상기 양자화기는
    입력된 키 데이터들 중에서 선택된 최대값 및 최소값을 이용하여, 각 입력 키 데이터를 소정 범위의 값으로 변환하고, 상기 변환된 값을 소정의 양자화 비트로 양자화하는 것을 특징으로 하는 부호화 장치.
  22. 제 19 항에 있어서, 상기 양자화 오차 최소화부는
    임의의 최대값 및 최소값을 이용하여 입력된 키 데이터를 소정 범위의 값으로 변환하고, 상기 변환된 값을 소정의 양자화 비트로 양자화하고, 상기 양자화된 키 데이터를 역양자화한 후, 입력된 키 데이터와 역양자화된 키 데이터간의 오차의 합이 최소가 되는 상기 임의의 최대값 및 최소값을 구하여 상기 양자화기로 출력하는 것을 특징으로 하는 부호화 장치.
  23. 제 19 항에 있어서, 상기 실수 변환부는
    mantissa_binary*2exponent_binary형식으로 표현된 2진수 체계의 실수를 mantissa*10exponent형식의 10진수 체계의 실수로 변환하는 것을 특징으로 하는 부호화 장치.
  24. 제 19 항에 있어서, 상기 폴딩 처리부는
    상기 쉬프팅부로부터 출력된 차분 데이터가 소정의 기준값보다 큰 경우에는 상기 차분 데이터에 소정의 제 1 상수를 곱하고, 상기 차분 데이터가 상기 기준값보다 작은 경우에는 상기 차분 데이터의 절대값에 상기 제 1 상수를 곱하고 소정의 제 2 상수를 감산하는 것을 특징으로 하는 부호화 장치.
  25. 제 19 항에 있어서, 상기 DND 처리부는
    폴딩 연산된 차분 데이터에 DND 연산을 수행하는 DND 연산부;
    상기 쉬프팅 연산된 차분 데이터, 상기 폴딩 연산된 차분 데이터 및 상기DND 연산된 차분 데이터를 각각 입력받아 하나를 선택하여 출력하는 제 1 차분 데이터 선택부;
    상기 DND 연산된 차분 데이터가 상기 제 1 차분 데이터 선택부로부터 입력된 경우에 상기 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산을 수행하는 쉬프트-업 연산부; 및
    상기 DND 연산된 차분 데이터 또는 상기 쉬프트-업 연산된 차분 데이터를 선택적으로 출력하는 제 2 차분 데이터 선택부를 포함하는 것을 특징으로 하는 부호화 장치.
  26. 제 25 항에 있어서, 상기 DND 연산부는
    상기 폴딩 처리부로부터 입력된 키 데이터의 차분 데이터를 절반으로 나누고, 상위 범위에 위치하는 차분 데이터들은 음수로 변환하는 디바이드 연산을 수행하고, 디바이드 연산이 수행된 후의 차분 데이터의 범위에 따라서, 음수영역에 위치한 키 데이터의 차분 데이터의 범위를 줄이는 디바이드-업 연산, 또는 양수영역에 위치한 키 데이터의 차분 데이터의 범위를 줄이는 디바이드-다운 연산을 수행하여, 부호화될 차분 데이터의 범위를 줄이는 DND 연산을 수행하는 것을 특징으로 하는 부호화 장치.
  27. 제 19 항에 있어서, 상기 키 헤더 부호화기는
    상기 입력된 키 데이터로부터 부호화할 키 데이터의 개수 및 키 데이터의 자리수를 입력받고,
    상기 양자화기로부터 양자화 비트 사이즈, 및 양자화에 이용된 최대값 및 최소값 중 적어도 하나를 입력받고,
    상기 선형 키 부호화기로부터 선형 키 부호화된 선형 키 영역이 있는지 여부 및 선형 키 데이터의 개수를 입력받고,
    상기 실수 변환부로부터 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 입력받고,
    상기 DPCM 처리부로부터 DPCM 수행 회수인 DPCM 차수 및 각 차수의 인트라 키 데이터를 입력받고,
    상기 쉬프팅부로부터 상기 모드값을 입력받고,
    상기 DND 처리부로부터 상기 DND 연산을 수행한 회수인 DND 차수 및 DND 연산에 이용된 최대값 및 최소값을 입력받아, 키 헤더에 포함시키는 것을 특징으로 하는 부호화 장치.
  28. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터를 부호화하는 부호화 장치로서,
    입력된 전체 키 데이터들 중 키 데이터들이 선형으로 증가하는 영역을 식별하여 부호화하는 선형 키 부호화기;
    상기 선형 키 부호화기로부터 입력되고 2 진수 체계로 표현된 선형 키 영역의 시작 키 데이터와 종료 키 데이터를 10진수 체계의 실수로 변환하는 실수 변환부;
    상기 전체 키 데이터들 중 상기 선형 키 영역이 제외된 키 데이터들을 입력받아, 입력된 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화기;
    상기 양자화된 키 데이터들에 소정의 연산을 수행하여 엔트로피 부호화하는 엔트로피 부호화부; 및
    상기 선형 키 부호화기로부터 선형 키 데이터 영역에 포함되는 키 데이터의 개수를 입력받고, 상기 실수 변환부로부터 변환된 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 입력받아 키 헤더로서 부호화하는 키 헤더 부호화기를 포함하는 것을 특징으로 하는 부호화 장치.
  29. 제 28 항에 있어서,
    양자화 오차를 최소화할 수 있도록 상기 양자화기로 입력되는 키 데이터의 최대값 및 최소값을 조정하여 상기 양자화기로 출력하는 양자화 오차 최소화부를 더 포함하며, 상기 양자화기는 상기 양자화 오차 최소화부로부터 입력된 최대값 및 최소값을 이용하여 입력된 키 데이터들을 소정의 양자화 비트로 양자화하는 것을 특징으로 하는 부호화 장치.
  30. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터에 DPCM 이 수행된 차분 데이터에 대해서 DND 연산을 수행하여 부호화한 비트스트림을 복호화하는 복호화 장치로서,
    상기 입력된 비트스트림을 엔트로피 복호화하는 엔트로피 복호화기;
    복호화된 차분 데이터가 쉬프트-업 연산이 수행된 차분 데이터인 경우에 쉬프트-다운 연산을 수행하여 복호화된 차분 데이터를 DND 연산된 차분 데이터로 복원하여 출력하고, 그렇지 않으면 복호화된 차분 데이터를 바이패스하는 역 쉬프트-업 연산부; 및
    상기 역 쉬프트-업 연산부로부터 입력된 차분 데이터에 대해서, 상기 비트스트림으로부터 판독된 DND 차수만큼 역 DND 연산을 수행하는 역 DND 연산부를 포함하는 것을 특징으로 하는 복호화 장치.
  31. 제 30 항에 있어서, 상기 쉬프트-다운 연산은
    상기 엔트로피 복호화된 차분 데이터가 상기 비트스트림으로부터 판독된 DND 연산된 차분 데이터의 최대값보다 크면, 상기 DND 연산된 차분 데이터의 최대값에서 상기 엔트로피 복호화된 차분 데이터를 감산하는 것을 특징으로 하는 복호화 장치.
  32. 제 30 항에 있어서, 상기 역 DND 연산부는
    역 DND 연산을 상기 DND 차수만큼 수행하고, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 기준값보다 작으면, 역 디바이드-업 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드-업 연산은 당해 역 DND 차수에 대응되는 DND 차수에서의차분 데이터의 최대값을 nKeyMax 라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 음수이고 홀수이면 nKeyMax에서 상기 차분 데이터를 소정의 제 1 상수로 나눈값 및 소정의 제 2 상수값을 감산하고, 당해 역 DND 차수에서의 차분 데이터가 음수이고 짝수이면 상기 차분 데이터를 상기 제 1 상수로 나누는 것을 특징으로 하는 복호화 장치.
  33. 제 30 항에 있어서, 상기 역 DND 연산부는
    역 DND 연산을 상기 DND 차수에 대응되는 회수만큼 수행하며, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 제 1 기준값 이상이고, 당해 역 DND 연산의 차수가 상기 DND 차수와 동일하지 않으면, 역 디바이드-다운 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드-다운 연산은 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값을 nKeyMax라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 소정의 제 2 기준값보다 작고 홀수이면 nKeyMax 에 상기 차분 데이터를 소정의 제 1 상수로 나눈값 및 소정의 제 2 상수를 합산하고, 당해 역 DND 차수에서의 차분 데이터가 상기 제 2 기준값보다 작고 짝수이면 상기 차분 데이터를 상기 제 1 상수로 나누는 것을 특징으로 하는 복호화 장치.
  34. 제 30 항에 있어서, 상기 역 DND 연산부는
    역 DND 연산을 상기 DND 차수에 대응되는 회수만큼 수행하며, 당해 역 DND차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 제 1 기준값 이상이고, 당해 역 DND 연산의 차수가 상기 DND 차수와 동일하면, 역 디바이드 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드 연산은 당해 역 DND 연산의 차수에 대응되는 DND 연산의 차수에서의 차분 데이터의 최대값을 nKeyMax라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 소정의 제 2 기준값보다 작으면, 상기 차분 데이터에 nKeyMax 및 소정의 상수를 합산하는 것을 특징으로 하는 복호화 장치.
  35. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터에 대해서 양자화 및 소정 차수의 DPCM 연산을 수행한 후, 차분 데이터의 범위를 줄이는 쉬프팅 연산, 폴딩 연산, 및 소정 차수의 DND 연산 중 적어도 하나의 연산을 수행하여 부호화한 비트스트림을 복호화하는 복호화장치로서,
    입력된 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 출력하는 엔트로피 복호화기;
    상기 비트스트림으로부터 판독된 DND 차수에 따라서 상기 엔트로피 복호화된 차분 데이터에 역 DND 연산을 수행하거나 바이패스하는 역 DND 연산부;
    상기 역 DND 처리부로부터 차분 데이터를 입력받아 상기 DND 차수에 따라서 차분 데이터의 범위를 음수와 양수로 분리하는 역 폴딩연산을 수행하거나, 바이패스 하는 역 폴딩 처리부;
    상기 역 DND 처리부 또는 상기 역 폴딩 처리부로부터 입력된 차분 데이터에 소정의 모드를 합산하여 차분 데이터의 범위를 이동시키는 역 쉬프팅부;
    상기 역 쉬프팅된 차분 데이터를 복원하여 양자화된 키 데이터를 출력하는 역 DPCM 처리부; 및
    상기 복원된 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 출력하는 역 양자화기를 포함하는 것을 특징으로 하는 복호화 장치.
  36. 제 35 항에 있어서, 상기 역 폴딩 처리부는
    입력된 차분 데이터가 짝수인 경우에는 상기 입력된 차분 데이터를 소정의 제 1 상수로 나누고, 상기 입력된 차분 데이터가 홀수인 경우에는 상기 입력된 차분 데이터에 소정의 제 2 상수를 더한 값을 상기 제 1 상수와 크기가 같고 부호가 반대인 상수로 나누는 것을 특징으로 하는 복호화 장치.
  37. 제 35 항에 있어서, 상기 역 DND 연산부는
    역 DND 연산을 상기 DND 차수만큼 수행하고, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 기준값보다 작으면, 역 디바이드-업 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드-업 연산은 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값을 nKeyMax 라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 음수이고 홀수이면 nKeyMax에서 상기 차분 데이터를 소정의 제 1 상수로 나눈값및 소정의 제 2 상수값을 감산하고, 당해 역 DND 차수에서의 차분 데이터가 음수이고 짝수이면 상기 차분 데이터를 상기 제 1 상수로 나누는 것을 특징으로 하는 복호화 장치.
  38. 제 35 항에 있어서, 상기 역 DND 연산부는
    역 DND 연산을 상기 DND 차수에 대응되는 회수만큼 수행하며, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 제 1 기준값 이상이고, 당해 역 DND 연산의 차수가 상기 DND 차수와 동일하지 않으면, 역 디바이드-다운 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드-다운 연산은 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값을 nKeyMax라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 소정의 제 2 기준값보다 작고 홀수이면 nKeyMax 에 상기 차분 데이터를 소정의 제 1 상수로 나눈값 및 소정의 제 2 상수를 합산하고, 당해 역 DND 차수에서의 차분 데이터가 상기 제 2 기준값보다 작고 짝수이면 상기 차분 데이터를 상기 제 1 상수로 나누는 것을 특징으로 하는 복호화 장치.
  39. 제 35 항에 있어서, 상기 역 DND 연산부는
    역 DND 연산을 상기 DND 차수에 대응되는 회수만큼 수행하며, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 제 1 기준값 이상이고, 당해 역 DND 연산의 차수가 상기 DND 차수와 동일하면, 역 디바이드 연산을수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드 연산은 당해 역 DND 연산의 차수에 대응되는 DND 연산의 차수에서의 차분 데이터의 최대값을 nKeyMax라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 소정의 제 2 기준값보다 작으면, 상기 차분 데이터에 nKeyMax 및 소정의 상수를 합산하는 것을 특징으로 하는 복호화 장치.
  40. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터에 대해서 양자화 및 소정 차수의 DPCM 연산을 수행한 후, 차분 데이터의 범위를 줄이는 쉬프팅 연산, 소정 차수의 DND 연산 및 DND 연산된 차분 데이터에 대한 쉬프트-업 중 적어도 하나의 연산을 수행하여 부호화한 비트스트림을 복호화하는 복호화장치로서,
    입력된 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 출력하는 엔트로피 복호화기;
    상기 비트스트림으로부터 판독된 DND 차수에 따라서 상기 엔트로피 복호화된 차분 데이터에 역 DND 연산을 수행하거나 바이패스하는 역 DND 처리부;
    상기 역 DND 처리부로부터 입력된 차분 데이터에 소정의 모드를 합산하여 차분 데이터의 범위를 이동시키는 역 쉬프팅부;
    상기 역 쉬프팅된 차분 데이터를 복원하여 양자화된 키 데이터를 출력하는 역 DPCM 처리부; 및
    상기 복원된 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 출력하는 역 양자화기를 포함하는 것을 특징으로 하는 복호화 장치.
  41. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터에 대해서 양자화 및 소정 차수의 DPCM 연산을 수행한 후, 차분 데이터의 범위를 줄이는 쉬프팅연산, 폴딩 연산, 및 소정 차수의 DND 연산 중 적어도 하나의 연산을 수행하여 부호화한 비트스트림을 복호화하는 복호화장치로서,
    입력된 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 출력하는 엔트로피 복호화기;
    상기 비트스트림으로부터 판독된 DND 차수에 따라서 상기 엔트로피 복호화된 차분데이터에 역 DND 연산을 수행하거나 바이패스하는 역 DND 처리부;
    상기 역 DND 처리부로부터 차분 데이터를 입력받아 상기 DND 차수에 따라서 차분 데이터의 범위를 음수와 양수로 분리하는 역 폴딩연산을 수행하거나 바이패스 하는 역 폴딩 처리부;
    상기 역 DND 처리부 또는 상기 역 폴딩 처리부로부터 입력된 차분 데이터에 소정의 모드를 합산하여 차분 데이터의 범위를 이동시키는 역 쉬프팅부;
    상기 역 쉬프팅된 차분 데이터를 복원하여 양자화된 키 데이터를 출력하는 역 DPCM 처리부;
    상기 복원된 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 출력하는 역 양자화기;
    10진수 체계로 부호화된 선형 키 데이터 영역의 시작 키 데이터 및 종료 키 데이터와 상기 역양자화기에서 이용되는 최대값 및 최소값을 상기 비트스트림으로부터 추출하고 2진수 체계로 변환하여 출력하는 실수 역 변환부; 및
    상기 실수 역 변환부로부터 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 입력받아 선형 키 데이터를 복호화하여 상기 역 양자화기로부터 출력된 키 데이터와 합산하는 선형 키 복호화기를 포함하는 것을 특징으로 하는 복호화장치.
  42. 제 41 항에 있어서,
    상기 부호화된 키 데이터의 복호화에 필요한 헤더 정보를 상기 비트스트림으로부터 복호화하여, 상기 엔트로피 복화화기, 상기 역 DND 처리부, 상기 역 쉬프팅부, 및 상기 역 DPCM 처리부 및 상기 역 양자화기 중 적어도 하나에 헤더 정보를 제공하는 키 헤더 복호화기를 더 포함하는 것을 특징으로 하는 복호화 장치.
  43. 제 41 항에 있어서, 상기 역 DND 처리부는
    상기 키 데이터를 부호화할 때 DND 연산된 차분 데이터를 양수 또는 음수로 변환하는 쉬프트-업 연산이 수행되었다면, 쉬프트-다운 연산을 수행하여 쉬프트-업 연산된 차분 데이터를 복원하며,
    상기 쉬프트-다운 연산은 상기 엔트로피 복호화된 차분 데이터가 DND 연산된 차분 데이터의 최대값보다 크면, 상기 DND 연산된 차분 데이터의 최대값에서 상기 엔트로피 복호화된 차분 데이터를 감산하는 것을 특징으로 하는 복호화 장치.
  44. 제 41 항에 있어서, 상기 역 DND 처리부는
    역 DND 연산을 상기 DND 차수만큼 수행하고, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 기준값보다 작으면, 역 디바이드-업 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드-업 연산은 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값을 nKeyMax 라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 음수이고 홀수이면 nKeyMax에서 상기 차분 데이터를 소정의 제 1 상수로 나눈값 및 소정의 제 2 상수값을 감산하고, 당해 역 DND 차수에서의 차분 데이터가 음수이고 짝수이면 상기 차분 데이터를 상기 제 1 상수로 나누는 것을 특징으로 하는 복호화 장치.
  45. 제 41 항에 있어서, 상기 역 DND 처리부는
    역 DND 연산을 상기 DND 차수에 대응되는 회수만큼 수행하며, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 제 1 기준값 이상이고, 당해 역 DND 연산의 차수가 상기 DND 차수와 동일하지 않으면, 역 디바이드-다운 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드-다운 연산은 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값을 nKeyMax라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 소정의 제 2 기준값보다 작고 홀수이면 nKeyMax 에 상기 차분 데이터를 소정의제 1 상수로 나눈값 및 소정의 제 2 상수를 합산하고, 당해 역 DND 차수에서의 차분 데이터가 상기 제 2 기준값보다 작고 짝수이면 상기 차분 데이터를 상기 제 1 상수로 나누는 것을 특징으로 하는 복호화 장치.
  46. 제 41 항에 있어서, 상기 역 DND 처리부는
    역 DND 연산을 상기 DND 차수에 대응되는 회수만큼 수행하며, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 제 1 기준값 이상이고, 당해 역 DND 연산의 차수가 상기 DND 차수와 동일하면, 역 디바이드 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드 연산은 당해 역 DND 연산의 차수에 대응되는 DND 연산의 차수에서의 차분 데이터의 최대값을 nKeyMax라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 소정의 제 2 기준값보다 작으면, 상기 차분 데이터에 nKeyMax 및 소정의 상수를 합산하는 것을 특징으로 하는 복호화 장치.
  47. 제 41 항에 있어서,
    상기 역 DND 처리부는 상기 DND 차수를 조사하여, 상기 DND 차수가 입력된 차분 데이터에 대해서 DND 연산이 수행되지 않았음을 나타내면, 입력된 차분 데이터를 상기 역 폴딩 처리부로 출력하고, 상기 DND 차수가 입력된 차분 데이터에 대해서 DND 연산 및 폴딩 연산이 수행되지 않았음을 나타내면, 입력된 차분 데이터를 상기 역 쉬프팅부로 출력하는 것을 특징으로 하는 복호화 장치.
  48. 제 41 항에 있어서, 상기 역 폴딩 처리부는
    입력된 차분 데이터가 짝수인 경우에는 상기 입력된 차분 데이터를 소정의 제 1 상수로 나누고, 상기 입력된 차분 데이터가 홀수인 경우에는 상기 입력된 차분 데이터에 소정의 제 2 상수를 더한 값을 상기 제 1 상수와 크기가 같고 부호가 반대인 상수로 나누는 것을 특징으로 하는 복호화 장치.
  49. 제 41 항에 있어서, 상기 역 양자화기는
    상기 실수 역변환부로부터 입력되며 상기 키 데이터를 양자화할 때 이용된 최대값과 최소값의 차를 소정의 양자화 스텝 사이즈로 나눈값에 상기 역 DPCM 처리부로부터 입력된 양자화된 키 데이터를 곱하고 상기 최소값을 합산하여 역양자화하는 것을 특징으로 하는 복호화 장치.
  50. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터를 부호화한 비트스트림을 복호화하는 복호화 장치로서,
    입력된 비트스트림으로부터 부호화된 키 데이터의 복호화에 필요한 키 헤더 정보를 복호화하는 키 헤더 복호화기;
    상기 비트스트림을 엔트로피 복호화하여 양자화된 키 데이터를 출력하는 엔트로피 복호화부;
    10진수 체계로 부호화된 선형 키 데이터 영역의 시작 키 데이터 및 종료 키데이터와 상기 양자화된 키 데이터를 역양자화하는데 이용되는 최대값 및 최소값을 상기 키 헤더 복호화기로부터 입력받아 2진수 체계로 변환하여 출력하는 실수 역 변환부;
    상기 최대값 및 최소값을 이용하여 상기 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 출력하는 역 양자화기; 및
    상기 실수 역 변환부로부터 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 입력받아 선형 키 데이터를 복호화하여 상기 역 양자화기로부터 출력된 키 데이터와 합산하는 선형 키 복호화기를 포함하는 것을 특징으로 하는 복호화장치.
  51. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터를 부호화하고 복호화하는 장치로서,
    입력된 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화기,
    상기 양자화된 키 데이터들의 차분 데이터를 생성하는 DPCM 처리부,
    상기 차분 데이터에 소정의 연산을 수행하여, 상기 차분 데이터의 범위를 축소하는 범위 축소부, 및
    상기 범위 축소부로부터 입력된 차분 데이터를 부호화하여 비트스트림을 생성하는 엔트로피 부호화기를 포함하는 부호화 장치; 및
    입력된 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 출력하는 엔트로피 복호화기,
    상기 복호화된 차분 데이터에 소정의 연산을 수행하여 차분 데이터의 범위를확장하는 범위 확장부,
    상기 범위 확장부로부터 입력된 차분 데이터를 복원하여 양자화된 키 데이터를 출력하는 역 DPCM 처리부, 및
    상기 복원된 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 출력하는 역 양자화기를 포함하는 복호화 장치를 포함하는 것을 특징으로 하는 키 데이터 부호화/복호화 장치.
  52. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터에 대해서 DPCM 이 수행된 차분 데이터를 부호화하는 방법으로서,
    부호화할 차분 데이터의 양수측 범위와 음수측 범위의 크기에 따라서, 양수측 범위를 절반으로 나누고 상위 범위에 위치하는 차분 데이터들을 음수로 변환하는 디바이드 연산, 또는 음수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-업 연산을 선택적으로 수행한 후,
    연산이 수행된 차분 데이터의 범위에 따라서, 상기 디바이드-업 연산 또는 양수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-다운 연산을 수행하여 차분 데이터의 범위를 줄이는 DND 연산을 소정 회수동안 수행하여 DND 연산된 차분 데이터를 생성하는 DND 연산 단계;
    상기 DND 연산된 차분 데이터에 대해서 차분 데이터의 범위를 양수 영역 또는 음수 영역으로 이동시키는 쉬프트-업 연산을 수행하여 쉬프트-업 연산된 차분데이터를 생성하는 쉬프트-업 연산 단계;
    상기 DND 연산된 차분 데이터 또는 상기 쉬프트-업 연산된 차분 데이터를 선택하는 차분 데이터 선택 단계; 및
    상기 선택된 차분 데이터를 엔트로피 부호화하는 엔트로피 부호화 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  53. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터에 대해서 DPCM 이 수행된 차분 데이터를 부호화하는 방법으로서,
    부호화할 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 상기 차분 데이터들에서 상기 모드를 감산하는 쉬프팅 연산을 수행하는 쉬프팅 연산 단계;
    상기 쉬프팅 연산된 데이터들을 양수 또는 음수 영역으로 변환하는 폴딩 연산을 수행하는 폴딩 연산 단계;
    상기 폴딩 연산된 차분 데이터들과 상기 폴딩 연산된 차분 데이터들의 최대값 및 최소값과의 관계에 따라서 상기 폴딩 연산된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 상기 쉬프팅 연산된 차분 데이터, 상기 폴딩 연산된 차분 데이터, DND 연산된 차분 데이터, 및 상기 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산된 차분 데이터 중 하나를 선택하는 DND 처리 단계; 및
    상기 선택된 차분 데이터를 엔트로피 부호화하는 엔트로피 부호화 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  54. 제 53 항에 있어서, 상기 폴딩 연산 단계는
    상기 쉬프팅 연산된 차분 데이터가 소정의 기준값보다 크거나 같은 경우에는 상기 차분 데이터에 소정의 제 1 상수를 곱하고, 상기 차분 데이터가 상기 기준값보다 작은 경우에는 상기 차분 데이터의 절대값에 상기 제 1 상수를 곱하고 소정의 제 2 상수를 감산하는 것을 특징으로 하는 부호화 방법.
  55. 제 53 항에 있어서, 상기 DND 처리 단계는
    상기 폴딩 연산된 차분 데이터에 DND 연산을 수행하는 DND 연산 단계;
    상기 쉬프팅 연산된 차분 데이터, 상기 폴딩 연산된 차분 데이터 및 상기 DND 연산된 차분 데이터 중 하나를 선택하는 제 1 차분 데이터 선택 단계;
    상기 DND 연산된 차분 데이터가 상기 제 1 차분 데이터 선택 단계에서 선택된 경우에 상기 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산을 수행하는 쉬프트-업 연산 단계; 및
    상기 DND 연산된 차분 데이터 또는 상기 쉬프트-업 연산된 차분 데이터를 선택하는 제 2 차분 데이터 선택 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  56. 제 55 항에 있어서, 상기 DND 연산 단계는
    상기 폴딩 연산된 차분 데이터를 절반으로 나누고 상위 범위에 위치하는 차분 데이터들은 음수로 변환하는 디바이드 연산을 수행하고, 디바이드 연산이 수행된 차분 데이터의 범위에 따라서, 음수영역에 위치한 키 데이터의 차분 데이터의 범위를 줄이는 디바이드-업 연산, 또는 양수영역에 위치한 키 데이터의 차분 데이터의 범위를 줄이는 디바이드-다운 연산을 수행하여, 부호화될 차분 데이터의 범위를 줄이는 DND 연산을 수행하는 것을 특징으로 하는 부호화 방법.
  57. 제 52 항 또는 제 56 항에 있어서, 상기 디바이드 연산은
    차분 데이터들 중에서 선택된 최대값을 nKeyMax 라 할 때, 차분 데이터가 nKeyMax/2 보다 큰 경우에는 상기 차분 데이터에서 최대값을 감산하고 소정의 상수를 감산하는 것을 특징으로 하는 부호화 방법.
  58. 제 52 항 또는 제 56 항에 있어서, 상기 디바이드-업 연산은
    차분 데이터들의 음수측의 범위가 양수측의 범위보다 큰 경우에, 차분 데이터들 중에서 선택된 최소값을 nKeyMin 라 할 때, 차분 데이터가 소정의 기준값 보다 작고 nKeyMin/2 보다 크거나 같으면 상기 차분 데이터에 소정의 제 1 상수를 곱하고, 상기 차분 데이터가 nKeyMin/2 보다 작으면, nKeyMin에서 상기 차분 데이터를 감산하고 상기 제 1 상수를 곱하여 소정의 제 2 상수를 감산하는 것을 특징으로 하는 부호화 방법.
  59. 제 52 항 또는 제 56 항에 있어서, 상기 디바이드-다운 연산은
    차분 데이터의 양수측의 범위가 음수측의 범위보다 큰 경우에, 차분 데이터들 중에서 선택된 최대값을 nKeyMax 라 할 때, 차분 데이터가 nKeyMax/2 보다 큰 경우에는 차분 데이터에서 nKeyMax를 감산하고 소정의 제 1 상수를 곱하여 소정의 제 2 상수를 감산하고, 차분 데이터가 소정의 기준값보다 작은 경우에는 상기 제 1 상수를 곱하는 것을 특징으로 하는 부호화 방법.
  60. 제 52 항 또는 제 55 항에 있어서, 상기 DND 연산 단계는
    상기 DND 연산을 소정의 회수동안 실행하여, 부호화에 필요한 비트수가 최소가 되는 회수의 DND 연산된 차분 데이터를 DND 연산의 결과로서 결정하는 것을 특징으로 하는 부호화 방법.
  61. 제 52 항 또는 제 55 항에 있어서, 상기 쉬프트-업 연산 단계는
    nKeyMax 를 상기 DND 연산된 차분 데이터 중에서 선택된 최대값이라 할 때, DND 연산된 차분 데이터가 소정의 기준값보다 작은 경우에는 nKeyMax에서 상기 DND 연산된 차분 데이터를 감산하는 것을 특징으로 하는 부호화 방법.
  62. 제 52 항에 있어서, 상기 차분 데이터 선택 단계는
    상기 DND 연산된 차분 데이터 및 쉬프트-업 연산된 차분 데이터의 산포도를 각각 측정하고, 상기 산포도가 적은 차분 데이터를 선택하는 것을 특징으로 하는 부호화 방법.
  63. 제 55 항에 있어서, 상기 제 1 차분 데이터 선택 단계는
    상기 쉬프팅 연산된 차분 데이터, 상기 폴딩 연산된 차분 데이터 및 상기 DND 연산된 차분 데이터들 중 부호화에 필요한 비트수가 가장 적은 차분 데이터를 선택하는 것을 특징으로 하는 부호화 방법.
  64. 제 55 항에 있어서,
    상기 제 1 차분 데이터 선택 단계에서 상기 쉬프팅 연산된 차분 데이터 또는 상기 폴딩 연산된 차분 데이터가 선택된 경우에, 선택된 차분 데이터를 상기 엔트로피 부호화 단계에서 부호화하는 것을 특징으로 하는 부호화 방법.
  65. 제 55 항에 있어서, 상기 제 2 차분 데이터 선택 단계는
    상기 DND 연산된 차분 데이터 및 쉬프트-업 연산된 차분 데이터의 산포도를 각각 측정하고, 상기 산포도가 적은 차분 데이터를 선택하는 것을 특징으로 하는 부호화 방법.
  66. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터를 부호화하는 부호화 방법으로서,
    부호화할 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화 단계;
    상기 양자화된 키 데이터들의 차분 데이터들을 생성하는 DPCM 처리 단계;
    상기 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 상기 차분 데이터들에서 상기 모드를 감산하는 쉬프팅 연산 단계;
    상기 쉬프팅 연산된 차분 데이터들을 양수 또는 음수 영역으로 변환하는 폴딩 연산 단계;
    상기 폴딩 연산된 차분 데이터들과 상기 폴딩 연산된 차분 데이터들의 최대값 및 최소값과의 관계에 따라서 상기 폴딩 연산된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 상기 쉬프팅 연산된 차분 데이터, 상기 폴딩 연산된 차분 데이터, 및 상기 DND 연산된 차분 데이터 중 하나를 선택하는 DND 처리 단계; 및
    상기 선택된 차분 데이터를 부호화하는 엔트로피 부호화 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  67. 제 66 항에 있어서, 상기 DND 처리 단계는
    폴딩 연산된 차분 데이터에 DND 연산을 수행하는 DND 연산 단계; 및
    상기 쉬프팅 연산된 차분 데이터, 상기 폴딩 연산된 차분 데이터 및 상기 DND 연산된 차분 데이터 중 하나를 선택하는 차분 데이터 선택 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  68. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터를 부호화하는 부호화 방법으로서,
    부호화할 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화 단계;
    상기 양자화된 키 데이터들의 차분 데이터들을 생성하는 DPCM 처리 단계;
    상기 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 상기 차분 데이터들에서 상기 모드를 감산하는 쉬프팅 연산 단계;
    상기 쉬프팅 연산된 차분 데이터들의 최대값 및 최소값과의 관계에 따라서 상기 쉬프팅 연산된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 상기 쉬프팅 연산된 차분 데이터, DND 연산된 차분 데이터, 및 상기 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산된 차분 데이터 중 하나를 선택하는 DND 처리 단계; 및
    상기 DND 처리 단계에서 선택된 차분 데이터를 부호화하는 엔트로피 부호화 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  69. 제 67 항에 있어서, 상기 DND 연산 단계는
    차분 데이터의 양수측 범위와 음수측 범위의 크기에 따라서, 양수측 범위를 절반으로 나누고 상위 범위에 위치하는 차분 데이터들을 음수로 변환하는 디바이드 연산, 또는 음수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-업 연산을 선택적으로 수행한 후,
    연산이 수행된 차분 데이터의 범위에 따라서, 상기 디바이드-업 연산 또는 양수영역에 위치한 차분 데이터의 범위를 줄이는 디바이드-다운 연산을 수행하여 차분 데이터의 범위를 줄이는 DND 연산을 소정 회수동안 수행하는 것을 특징으로 하는 부호화 방법.
  70. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터를 부호화하는 부호화 방법으로서,
    부호화할 전체 키 데이터들 중 키 데이터들이 선형으로 증가하는 선형 키 영역을 식별하여 부호화하는 선형 키 부호화 단계;
    2 진수 체계로 표현된 상기 선형 키 영역의 시작 키 데이터와 종료 키 데이터를 10진수 체계의 실수로 변환하는 실수 변환 단계;
    양자화 오차를 최소화할 수 있도록 양자화할 키 데이터들의 최대값 및 최소값을 조정하고, 2진수 체계로 표현된 상기 조정된 최대값 및 최소값을 10진수 체계의 실수로 변환하는 양자화 오차 최소화 단계;
    상기 양자화 오차 최소화 단계에서 조정된 최대값 및 최소값을 이용하여, 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화 단계;
    상기 양자화된 키 데이터들의 차분 데이터들을 생성하는 DPCM 처리 단계;
    상기 차분 데이터들 중 가장 빈도수가 높은 차분 데이터(모드)를 구하고, 상기 차분 데이터들에서 상기 모드를 감산하는 쉬프팅 연산 단계;
    상기 쉬프팅 연산된 차분 데이터들을 양수 또는 음수 영역으로 변환하는 폴딩 연산 단계;
    상기 폴딩 연산된 차분 데이터들의 범위를 줄이는 DND 연산을 수행하고, 상기 쉬프팅 연산된 차분 데이터, 상기 폴딩 연산된 차분 데이터, DND 연산된 차분 데이터, 및 상기 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산된 차분 데이터 중 하나를 선택하는 DND 처리 단계;
    상기 DND 처리 단계에서 선택된 차분 데이터를 부호화하는 엔트로피 부호화 단계; 및
    상기 선형 키 부호화 단계, 양자화 단계, 실수 변환단계, DPCM 처리 단계, 쉬프팅 연산 단계, 폴딩 연산 단계, DND 처리 단계 및 상기 엔트로피 부호화 단계 중 적어도 하나의 단계에서 생성된 복호화에 필요한 데이터를, 키 헤더로 생성하는 키 헤더 부호화 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  71. 제 70 항에 있어서, 상기 선형 키 부호화 단계는
    임의의 키 데이터 영역에서 선형으로 예측된 키 데이터와 실제 키 데이터간의 최대 오차가 소정의 임계값 이하이면, 상기 영역을 유사-선형(co-linear)으로 판정하는 것을 특징으로 하는 부호화 방법.
  72. 제 70 항에 있어서, 상기 양자화 단계는
    양자화할 키 데이터들 중에서 선택된 최대값 및 최소값을 이용하여, 양자화할 각 키 데이터를 소정 범위의 값으로 변환하고, 상기 변환된 값을 소정의 양자화 비트로 양자화하는 것을 특징으로 하는 부호화 방법.
  73. 제 70 항에 있어서, 상기 양자화 오차 최소화 단계는
    임의의 최대값 및 최소값을 이용하여 양자화할 키 데이터를 소정 범위의 값으로 변환하고, 상기 변환된 값을 소정의 양자화 비트로 양자화하고, 상기 양자화된 키 데이터를 역양자화한 후, 양자화할 키 데이터와 상기 역양자화된 키 데이터간의 오차의 합이 최소가 되는 상기 임의의 최대값 및 최소값을 구하는 것을 특징으로 하는 부호화 방법.
  74. 제 70 항에 있어서, 상기 실수 변환 단계는
    mantissa_binary*2exponent_binary형식으로 표현된 2진수 체계의 실수를 mantissa*10exponent형식의 10진수 체계의 실수로 변환하는 것을 특징으로 하는 부호화 방법.
  75. 제 70 항에 있어서, 상기 폴딩 연산 단계는
    상기 쉬프팅 연산된 차분 데이터가 소정의 기준값보다 크거나 같은 경우에는 상기 차분 데이터에 소정의 제 1 상수를 곱하고, 상기 차분 데이터가 상기 기준값보다 작은 경우에는 상기 차분 데이터의 절대값에 상기 제 1 상수를 곱하고 소정의 제 2 상수를 감산하는 것을 특징으로 하는 부호화 방법.
  76. 제 70 항에 있어서, 상기 DND 처리 단계는
    폴딩 연산된 차분 데이터에 DND 연산을 수행하는 DND 연산 단계;
    상기 쉬프팅 연산된 차분 데이터, 상기 폴딩 연산된 차분 데이터 및 상기 DND 연산된 차분 데이터 중 하나를 선택하는 제 1 차분 데이터 선택 단계;
    상기 DND 연산된 차분 데이터가 상기 제 1 차분 데이터 선택 단계에서 선택된 경우에 상기 DND 연산된 차분 데이터에 대해서 쉬프트-업 연산을 수행하는 쉬프트-업 연산 단계; 및
    상기 DND 연산된 차분 데이터 또는 상기 쉬프트-업 연산된 차분 데이터를 선택하는 제 2 차분 데이터 선택 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  77. 제 76 항에 있어서, 상기 DND 연산 단계는
    상기 폴딩 연산된 키 데이터의 차분 데이터를 절반으로 나누고, 상위 범위에 위치하는 차분 데이터들은 음수로 변환하는 디바이드 연산을 수행하고, 디바이드 연산이 수행된 후의 차분 데이터의 범위에 따라서, 음수영역에 위치한 키 데이터의 차분 데이터의 범위를 줄이는 디바이드-업 연산, 또는 양수영역에 위치한 키 데이터의 차분 데이터의 범위를 줄이는 디바이드-다운 연산을 수행하여, 부호화될 차분 데이터의 범위를 줄이는 DND 연산을 수행하는 것을 특징으로 하는 부호화 방법.
  78. 제 70 항에 있어서, 상기 키 헤더 부호화 단계는
    부호화할 키 데이터의 개수 및 키 데이터의 자리수, 양자화 비트 사이즈, 및 양자화에 이용된 최대값 및 최소값, 선형 키 부호화된 선형 키 영역이 있는지 여부 및 선형 키 데이터의 개수, 선형 키 영역의 시작 키 데이터 및 종료 키 데이터, DPCM 수행 회수인 DPCM 차수 및 각 차수의 인트라 키 데이터, 상기 모드값, 상기 DND 연산을 수행한 회수인 DND 차수 및 DND 연산에 이용된 최대값 및 최소값 중 적어도 하나를 키 헤더에 포함시키는 것을 특징으로 하는 부호화 방법.
  79. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터를 부호화하는 부호화 방법으로서,
    부호화할 전체 키 데이터들 중 키 데이터들이 선형으로 증가하는 선형 키 영역을 식별하여 부호화하는 선형 키 부호화 단계;
    2 진수 체계로 표현된 상기 선형 키 영역의 시작 키 데이터와 종료 키 데이터를 10진수 체계의 실수로 변환하는 실수 변환 단계;
    상기 전체 키 데이터들 중 상기 선형 키 영역이 제외된 키 데이터들을 소정의 양자화 비트로 양자화하는 양자화 단계;
    상기 양자화된 키 데이터들에 소정의 연산을 수행하여 엔트로피 부호화하는 엔트로피 부호화 단계; 및
    상기 선형 키 영역에 포함되는 키 데이터의 개수, 및 상기 변환된 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 키 헤더로서 부호화하는 키 헤더 부호화 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  80. 제 79 항에 있어서, 상기 양자화 단계는
    양자화 오차를 최소화할 수 있도록 상기 양자화할 키 데이터의 최대값 및 최소값을 조정하는 양자화 오차 최소화 단계를 더 포함하며, 상기 양자화 오차 최소화단계에서 조정된 상기 최대값 및 최소값을 이용하여 양자화할 키 데이터들을 소정의 양자화 비트로 양자화하는 것을 특징으로 하는 부호화 방법.
  81. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터에 DPCM 이 수행된 차분 데이터에 대해서 DND 연산을 수행하여 부호화한 비트스트림을 복호화하는 복호화 방법으로서,
    상기 복호화할 비트스트림을 엔트로피 복호화하는 엔트로피 복호화 단계;
    상기 복호화된 차분 데이터가 쉬프트-업 연산이 수행된 차분 데이터인 경우에, 상기 복호화된 차분 데이터에 대해서 쉬프트-다운 연산을 수행하여 복호화된 차분 데이터를 DND 연산된 차분 데이터로 복원하는 역 쉬프트-업 연산 단계; 및
    상기 복호화된 차분 데이터가 쉬프트-업 연산이 수행된 차분 데이터인 경우에는 상기 쉬프트-다운 연산이 수행된 차분 데이터에 대해서 상기 비트스트림으로부터 판독된 DND 차수만큼 역 DND 연산을 수행하고, 상기 복호화된 차분 데이터가 쉬프트-업 연산이 수행되지 않은 차분 데이터인 경우에는 상기 복호화된 차분 데이터에 대해서 상기 DND 차수만큼 역 DND 연산을 수행하는 역 DND 연산 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  82. 제 81 항에 있어서, 상기 쉬프트-다운 연산은
    상기 엔트로피 복호화된 차분 데이터가 상기 비트스트림으로부터 판독된 DND 연산된 차분 데이터의 최대값보다 크면, 상기 DND 연산된 차분 데이터의 최대값에서 상기 엔트로피 복호화된 차분 데이터를 감산하는 것을 특징으로 하는 복호화 방법.
  83. 제 81 항에 있어서, 상기 역 DND 연산 단계는
    역 DND 연산을 상기 DND 차수만큼 수행하고, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 기준값보다 작으면, 역 디바이드-업 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드-업 연산은 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값을 nKeyMax 라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 음수이고 홀수이면 nKeyMax에서 상기 차분 데이터를 소정의 제 1 상수로 나눈값 및 소정의 제 2 상수값을 감산하고, 당해 역 DND 차수에서의 차분 데이터가 음수이고 짝수이면 상기 차분 데이터를 상기 제 1 상수로 나누는 것을 특징으로 하는 복호화 방법.
  84. 제 81 항에 있어서, 상기 역 DND 연산 단계는
    역 DND 연산을 상기 DND 차수에 대응되는 회수만큼 수행하며, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 제 1 기준값 이상이고, 당해 역 DND 연산의 차수가 상기 DND 차수와 동일하지 않으면, 역 디바이드-다운 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드-다운 연산은 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값을 nKeyMax라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 소정의 제 2 기준값보다 작고 홀수이면 nKeyMax 에 상기 차분 데이터를 소정의 제 1 상수로 나눈값 및 소정의 제 2 상수를 합산하고, 당해 역 DND 차수에서의 차분 데이터가 상기 제 2 기준값보다 작고 짝수이면 상기 차분 데이터를 상기 제 1 상수로 나누는 것을 특징으로 하는 복호화 방법.
  85. 제 81 항에 있어서, 상기 역 DND 연산 단계는
    역 DND 연산을 상기 DND 차수에 대응되는 회수만큼 수행하며, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 제 1 기준값 이상이고, 당해 역 DND 연산의 차수가 상기 DND 차수와 동일하면, 역 디바이드 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드 연산은 당해 역 DND 연산의 차수에 대응되는 DND 연산의 차수에서의 차분 데이터의 최대값을 nKeyMax라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 소정의 제 2 기준값보다 작으면, 상기 차분 데이터에 nKeyMax 및 소정의 상수를 합산하는 것을 특징으로 하는 복호화 방법.
  86. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터에 대해서 양자화 및 소정 차수의 DPCM 연산을 수행한 후, 차분 데이터의 범위를 줄이는 쉬프팅 연산, 폴딩 연산, 및 소정 차수의 DND 연산 중 적어도 하나의 연산을 수행하여 부호화한 비트스트림을 복호화하는 복호화 방법으로서,
    (a) 상기 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 생성하는 엔트로피 복호화 단계;
    (b) 차분 데이터에 대해서 역 DND 연산을 수행하는 역 DND 연산 단계;
    (c) 차분 데이터의 범위를 음수와 양수로 분리하는 역 폴딩 연산을 수행는 역 폴딩 연산 단계;
    (d) 차분 데이터에 소정의 모드를 합산하여 차분 데이터의 범위를 이동시키는 역 쉬프팅 연산 단계;
    (d) 상기 역 쉬프팅 연산된 차분 데이터를 복원하여 양자화된 키 데이터를 생성하는 역 DPCM 처리 단계; 및
    (e) 상기 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 생성하는 역 양자화 단계를 포함하며,
    상기 비트스트림으로부터 판독된 DND 차수가 상기 엔트로피 부호화된 차분 데이터가 DND 연산이 수행되지 않은 차분 데이터임을 나타내면, 상기 (a) 단계 이후에 상기 (c) 단계를 수행하고, 상기 DND 차수가 상기 엔트로피 부호화된 차분 데이터가 DND 연산 및 폴딩 연산이 수행되지 않은 차분 데이터임을 나타내면, 상기 (a) 단계 이후에 상기 (d) 단계를 수행하는 것을 특징으로 하는 복호화 방법.
  87. 제 86 항에 있어서, 상기 역 폴딩 연산 단계는
    차분 데이터가 짝수인 경우에는 상기 차분 데이터를 소정의 제 1 상수로 나누고, 상기 차분 데이터가 홀수인 경우에는 상기 차분 데이터에 소정의 제 2 상수를 더한 값을 상기 제 1 상수와 크기가 같고 부호가 반대인 상수로 나누는 것을 특징으로 하는 복호화 방법.
  88. 제 86 항에 있어서, 상기 역 DND 연산 단계는
    역 DND 연산을 상기 DND 차수만큼 수행하고, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 기준값보다 작으면, 역 디바이드-업 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드-업 연산은 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값을 nKeyMax 라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 음수이고 홀수이면 nKeyMax에서 상기 차분 데이터를 소정의 제 1 상수로 나눈값 및 소정의 제 2 상수값을 감산하고, 당해 역 DND 차수에서의 차분 데이터가 음수이고 짝수이면 상기 차분 데이터를 상기 제 1 상수로 나누는 것을 특징으로 하는 복호화 방법.
  89. 제 86 항에 있어서, 상기 역 DND 연산 단계는
    역 DND 연산을 상기 DND 차수에 대응되는 회수만큼 수행하며, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 제 1 기준값 이상이고, 당해 역 DND 연산의 차수가 상기 DND 차수와 동일하지 않으면, 역 디바이드-다운 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드-다운 연산은 당해 역 DND 차수에 대응되는 DND 차수에서의차분 데이터의 최대값을 nKeyMax라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 소정의 제 2 기준값보다 작고 홀수이면 nKeyMax 에 상기 차분 데이터를 소정의 제 1 상수로 나눈값 및 소정의 제 2 상수를 합산하고, 당해 역 DND 차수에서의 차분 데이터가 상기 제 2 기준값보다 작고 짝수이면 상기 차분 데이터를 상기 제 1 상수로 나누는 것을 특징으로 하는 복호화 방법.
  90. 제 86 항에 있어서, 상기 역 DND 연산 단계는
    역 DND 연산을 상기 DND 차수에 대응되는 회수만큼 수행하며, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 제 1 기준값 이상이고, 당해 역 DND 연산의 차수가 상기 DND 차수와 동일하면, 역 디바이드 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드 연산은 당해 역 DND 연산의 차수에 대응되는 DND 연산의 차수에서의 차분 데이터의 최대값을 nKeyMax라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 소정의 제 2 기준값보다 작으면, 상기 차분 데이터에 nKeyMax 및 소정의 상수를 합산하는 것을 특징으로 하는 복호화 방법.
  91. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터에 대해서 양자화 및 소정 차수의 DPCM 연산을 수행한 후, 차분 데이터의 범위를 줄이는 쉬프팅 연산, 소정 차수의 DND 연산 및 DND 연산된 차분 데이터에 대한 쉬프트-업 중 적어도 하나의 연산을 수행하여 부호화한 비트스트림을 복호화하는 복호화 방법으로서,
    (a) 상기 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 생성하는 엔트로피 복호화 단계;
    (b) 차분 데이터에 역 DND 연산을 수행하는 역 DND 처리 단계;
    (c) 차분 데이터에 소정의 모드를 합산하여 차분 데이터의 범위를 이동시키는 역 쉬프팅 연산 단계;
    (d) 상기 역 쉬프팅 연산된 차분 데이터를 복원하여 양자화된 키 데이터를 생성하는 역 DPCM 처리 단계; 및
    (e) 상기 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 생성하는 역 양자화 단계를 포함하며,
    상기 비트스트림으로부터 판독된 DND 차수가 상기 엔트로피 부호화된 차분 데이터가 DND 연산이 수행되지 않은 차분 데이터임을 나타내면, 상기 (a) 단계 이후에 상기 (c) 단계를 수행하는 것을 특징으로 하는 복호화 방법.
  92. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터에 대해서 양자화 및 소정 차수의 DPCM 연산을 수행한 후, 차분 데이터의 범위를 줄이는 쉬프팅연산, 폴딩 연산, 및 소정 차수의 DND 연산 중 적어도 하나의 연산을 수행하여 부호화한 비트스트림을 복호화하는 복호화 방법으로서,
    (a) 상기 비트스트림을 엔트로피 복호화하여 복호화된 차분 데이터를 생성하는 엔트로피 복호화 단계;
    (b) 차분 데이터에 역 DND 연산을 수행하는 역 DND 처리 단계;
    (c) 차분 데이터의 범위를 음수와 양수로 분리하는 역 폴딩 연산을 수행하는 역 폴딩 연산 단계;
    (d) 차분 데이터에 소정의 모드를 합산하여 차분 데이터의 범위를 이동시키는 역 쉬프팅 연산 단계;
    (e) 상기 역 쉬프팅 연산된 차분 데이터를 복원하여 양자화된 키 데이터를 생성하는 역 DPCM 처리 단계;
    (f) 10진수 체계로 부호화된 선형 키 데이터 영역의 시작 키 데이터 및 종료 키 데이터와 상기 양자화된 키 데이터를 역양자화하는데 이용되는 최대값 및 최소값을 상기 비트스트림으로부터 추출하고 2진수 체계로 변환하는 실수 역변환 단계;
    (g) 상기 실수 역 변환 단계에서 변환된 최대값 및 최소값을 이용하여 상기 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 생성하는 역 양자화 단계; 및
    (h) 상기 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 이용하여 선형 키 데이터를 복호화하여 상기 역 양자화된 키 데이터와 합산하는 선형 키 복호화 단계를 포함하며,
    상기 비트스트림으로부터 판독된 DND 차수가 상기 엔트로피 부호화된 차분 데이터가 DND 연산이 수행되지 않은 차분 데이터임을 나타내면, 상기 (a) 단계 이후에 상기 (c) 단계를 수행하고, 상기 DND 차수가 상기 엔트로피 부호화된 차분 데이터가 DND 연산 및 폴딩 연산이 수행되지 않은 차분 데이터임을 나타내면, 상기 (a) 단계 이후에 상기 (d) 단계를 수행하는 것을 특징으로 하는 복호화 방법.
  93. 제 92 항 있어서, 상기 역 DND 처리 단계는
    상기 키 데이터를 부호화할 때 DND 연산된 차분 데이터를 양수 또는 음수로 변환하는 쉬프트-업 연산이 수행되었다면, 쉬프트-다운 연산을 수행하여 쉬프트-업 연산된 차분 데이터를 복원하며,
    상기 쉬프트-다운 연산은 상기 엔트로피 복호화된 차분 데이터가 DND 연산된 차분 데이터의 최대값보다 크면, 상기 DND 연산된 차분 데이터의 최대값에서 상기 엔트로피 복호화된 차분 데이터를 감산하는 것을 특징으로 하는 복호화 방법.
  94. 제 92 항에 있어서, 상기 역 DND 처리 단계는
    역 DND 연산을 상기 DND 차수만큼 수행하고, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 기준값보다 작으면, 역 디바이드-업 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드-업 연산은 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값을 nKeyMax 라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 음수이고 홀수이면 nKeyMax에서 상기 차분 데이터를 소정의 제 1 상수로 나눈값 및 소정의 제 2 상수값을 감산하고, 당해 역 DND 차수에서의 차분 데이터가 음수이고 짝수이면 상기 차분 데이터를 상기 제 1 상수로 나누는 것을 특징으로 하는 복호화 방법.
  95. 제 92 항에 있어서, 상기 역 DND 처리 단계는
    역 DND 연산을 상기 DND 차수에 대응되는 회수만큼 수행하며, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 제 1 기준값 이상이고, 당해 역 DND 연산의 차수가 상기 DND 차수와 동일하지 않으면, 역 디바이드-다운 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드-다운 연산은 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값을 nKeyMax라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 소정의 제 2 기준값보다 작고 홀수이면 nKeyMax 에 상기 차분 데이터를 소정의 제 1 상수로 나눈값 및 소정의 제 2 상수를 합산하고, 당해 역 DND 차수에서의 차분 데이터가 상기 제 2 기준값보다 작고 짝수이면 상기 차분 데이터를 상기 제 1 상수로 나누는 것을 특징으로 하는 복호화 방법.
  96. 제 92 항에 있어서, 상기 역 DND 처리 단계는
    역 DND 연산을 상기 DND 차수만큼 수행하며, 당해 역 DND 차수에 대응되는 DND 차수에서의 차분 데이터의 최대값이 소정의 제 1 기준값 이상이고, 당해 역 DND 연산의 차수가 상기 DND 차수와 동일하면, 역 디바이드 연산을 수행하여 차분 데이터의 범위를 확장시키며,
    상기 역 디바이드 연산은 당해 역 DND 연산의 차수에 대응되는 DND 연산의차수에서의 차분 데이터의 최대값을 nKeyMax라고 할 때, 당해 역 DND 차수에서의 차분 데이터가 소정의 제 2 기준값보다 작으면, 상기 차분 데이터에 nKeyMax 및 소정의 상수를 합산하는 것을 특징으로 하는 복호화 방법.
  97. 제 92 항에 있어서, 상기 역 폴딩 처리 단계는
    차분 데이터가 짝수인 경우에는 상기 차분 데이터를 소정의 제 1 상수로 나누고, 상기 차분 데이터가 홀수인 경우에는 상기 차분 데이터에 소정의 제 2 상수를 더한 값을 상기 제 1 상수와 크기가 같고 부호가 반대인 상수로 나누는 것을 특징으로 하는 복호화 방법.
  98. 제 92 항에 있어서, 상기 역 양자화 단계는
    상기 실수 역변환 단계에서 구해진 최대값과 최소값의 차를 소정의 양자화 스텝 사이즈로 나눈값에 상기 역 DPCM 처리 단계에서 생성된 양자화된 키 데이터를 곱하고 상기 최소값을 합산하여 역 양자화하는 것을 특징으로 하는 복호화 방법.
  99. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터를 부호화한 비트스트림을 복호화하는 복호화 방법으로서,
    상기 비트스트림으로부터 부호화된 키 데이터의 복호화에 필요한 키 헤더 정보를 복호화하는 키 헤더 복호화 단계;
    상기 비트스트림을 엔트로피 복호화하여 양자화된 키 데이터를 출력하는 엔트로피 복호화 단계;
    10진수 체계로 부호화된 선형 키 데이터 영역의 시작 키 데이터 및 종료 키 데이터와 상기 양자화된 키 데이터를 역양자화하는데 이용되는 최대값 및 최소값을 상기 키 헤더 복호화기로부터 입력받아 2진수 체계로 변환하는 실수 역 변환 단계;
    상기 최대값 및 최소값을 이용하여 상기 양자화된 키 데이터를 역 양자화하여 복호화된 키 데이터를 생성하는 역 양자화 단계; 및
    상기 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 이용해 선형 키 데이터를 복호화하여 상기 역 양자화된 키 데이터와 합산하는 선형 키 복호화 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  100. 제 52 항, 제 53 항, 제 66 항, 제 68 항, 제 70 항, 및 제 79 항 중 어느 한 항의 부호화 방법을 컴퓨터에서 판독할 수 있고, 실행 가능한 프로그램 코드로 기록한 기록 매체.
  101. 제 81 항, 제 86 항, 제 88 항, 제 92 항, 및 제 183 항 중 어느 한 항의 복호화 방법을 컴퓨터에서 판독할 수 있고, 실행 가능한 프로그램 코드로 기록한 기록 매체.
  102. 키 프레임 기반의 그래픽 애니메이션 방식에서, 키 프레임의 시간축상의 위치 정보인 키 데이터를 부호화한 비트스트림으로서,
    입력된 양자화될 키 데이터의 개수 및 양자화에 이용된 양자화 비트수, 및 상기 양자화 비트수로 양자화된 키 데이터의 최대값 및 최소값을 포함하는 키 데이터 양자화 정보,
    상기 양자화 비트수로 양자화된 키 데이터에 수행되어 차분 데이터를 생성하는 DPCM 연산의 회수를 나타내는 DPCM 연산 차수, 및 상기 각 DPCM 연산 차수의 인트라 키 데이터를 포함하는 DPCM 연산 정보,
    상기 키 데이터의 차분 데이터를 소정의 쉬프트 모드만큼 이동시켜 차분 데이터의 범위를 감소시키는 쉬프트 연산에 이용된 상기 쉬프트 모드, 및
    상기 쉬프트 연산이 수행되고 폴딩 연산이 수행된 차분 데이터의 범위를 줄이는 DND 연산이 수행된 회수를 나타내는 DND 연산 차수, 상기 각 DND 차수에서 DND 연산된 차분 데이터의 최대값 및 최소값, DND 연산이 수행된 차분 데이터에 대해서 쉬프트 업 연산이 수행되었는지를 나타내는 플래그를 포함하는 DND 연산 정보를 포함하는 키 헤더 정보; 및
    상기 DND 연산된 키 데이터의 차분 데이터를 엔트로피 부호화한, 부호화된 키 데이터 정보를 포함하는 것을 특징으로 비트스트림.
  103. 제 102 항에 있어서,
    입력된 키 데이터 중에서 키 데이터가 선형으로 증가하는 선형 키 영역의 존재 여부를 나타내는 플래그, 상기 선형 키 영역에 포함되는 키 데이터의 개수, 상기 선형 키 영역의 시작 키 데이터 및 종료 키 데이터를 더 포함하는 것을 특징으로 하는 비트스트림.
  104. 제 103 항에 있어서,
    상기 시작 키 데이터의 및 종료 키 데이터는 10 진수 형식의 가수 및 지수로 표현되는 것을 특징으로 하는 비트스트림.
  105. 제 102 항에 있어서,
    상기 양자화된 키 데이터의 최대값 및 최소값은 양자화된 키 데이터의 양자화 오차를 최소화하는 양자화된 키 데이터의 최대값 및 최소값인 것을 특징으로 하는 비트스트림.
KR1020020064007A 2001-11-27 2002-10-19 키 데이터 부호화/복호화 방법 및 장치 KR100552665B1 (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
EP06122708A EP1761065A3 (en) 2001-11-27 2002-11-26 Method and apparatus for encoding and decoding key data
EP06122709A EP1750447A3 (en) 2001-11-27 2002-11-26 Method and apparatus for encoding and decoding key data
EP02258127A EP1322118B1 (en) 2001-11-27 2002-11-26 Method and apparatus for encoding and decoding key data
JP2002343162A JP3733107B2 (ja) 2001-11-27 2002-11-27 キーデータの符号化及び復号化方法、並びに装置
CNB2004100558156A CN100414996C (zh) 2001-11-27 2002-11-27 用于编码和解码关键字数据的装置和方法
US10/305,016 US7026960B2 (en) 2001-11-27 2002-11-27 Method and apparatus for encoding and decoding key data
CN 200610094358 CN1878311B (zh) 2001-11-27 2002-11-27 用于编码和解码比特流和并列内插器的装置和方法
JP2005134609A JP4104615B2 (ja) 2001-11-27 2005-05-02 キーデータの符号化及び復号化方法、並びに装置
US11/390,337 US7746249B2 (en) 2001-11-27 2006-03-28 Method and apparatus for encoding and decoding key data

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
KR20030043621A true KR20030043621A (ko) 2003-06-02
KR100552665B1 KR100552665B1 (ko) 2006-02-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 좌표 인터폴레이터의 키 값 데이터 부호화/복호화 방법 및 장치
KR1020020064008A KR100552666B1 (ko) 2001-11-27 2002-10-19 좌표 인터폴레이터의 키 및 키 값 데이터의 부호화/복호화장치, 및 좌표 인터폴레이터를 부호화한 비트스트림을기록한 기록 매체
KR1020020064007A KR100552665B1 (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 (2)

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

Family Applications After (5)

Application Number Title Priority Date Filing Date
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 위치 인터폴레이터 복호화 방법 및 장치

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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100891375B1 (ko) * 2004-10-08 2009-04-02 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우. 일시적 가변 그래픽 모델을 나타내는 데이터 스트림에 대한코딩 방법

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181071B2 (en) * 2001-11-27 2007-02-20 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key value data of orientation interpolator node
US8170883B2 (en) 2005-05-26 2012-05-01 Lg Electronics Inc. Method and apparatus for embedding spatial information and reproducing embedded signal for an audio signal
CA2613731C (en) 2005-06-30 2012-09-18 Lg Electronics Inc. Apparatus for encoding and decoding audio signal and method thereof
US8494667B2 (en) 2005-06-30 2013-07-23 Lg Electronics Inc. Apparatus for encoding and decoding audio signal and method thereof
EP1908057B1 (en) 2005-06-30 2012-06-20 LG Electronics Inc. Method and apparatus for decoding an audio signal
JP4859925B2 (ja) 2005-08-30 2012-01-25 エルジー エレクトロニクス インコーポレイティド オーディオ信号デコーディング方法及びその装置
ATE455348T1 (de) 2005-08-30 2010-01-15 Lg Electronics Inc Vorrichtung und verfahren zur dekodierung eines audiosignals
JP4568363B2 (ja) 2005-08-30 2010-10-27 エルジー エレクトロニクス インコーポレイティド オーディオ信号デコーディング方法及びその装置
US7788107B2 (en) 2005-08-30 2010-08-31 Lg Electronics Inc. Method for decoding an audio signal
US20080255857A1 (en) * 2005-09-14 2008-10-16 Lg Electronics, Inc. Method and Apparatus for Decoding an Audio Signal
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
CN101283252B (zh) * 2005-10-05 2013-03-27 Lg电子株式会社 信号处理的方法和装置以及编码和解码方法及其装置
CN101283249B (zh) 2005-10-05 2013-12-04 Lg电子株式会社 信号处理的方法和装置以及编码和解码方法及其装置
KR100878833B1 (ko) * 2005-10-05 2009-01-14 엘지전자 주식회사 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치
US7672379B2 (en) 2005-10-05 2010-03-02 Lg Electronics Inc. Audio signal processing, encoding, and decoding
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
US7751485B2 (en) 2005-10-05 2010-07-06 Lg Electronics Inc. Signal processing using pilot based coding
US7653533B2 (en) 2005-10-24 2010-01-26 Lg Electronics Inc. Removing time delays in signal paths
US7752053B2 (en) 2006-01-13 2010-07-06 Lg Electronics Inc. Audio signal processing using pilot based coding
PL2008460T3 (pl) * 2006-03-30 2017-10-31 Lg Electronics Inc Sposób i urządzenie do dekodowania/kodowania sygnału wideo
US20100091845A1 (en) * 2006-03-30 2010-04-15 Byeong Moon Jeon 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
US9245529B2 (en) * 2009-06-18 2016-01-26 Texas Instruments Incorporated Adaptive encoding of a digital signal with one or more missing values
CN103597829B (zh) * 2011-06-28 2017-03-22 日本电气株式会社 对视频量化参数编码的方法和对视频量化参数解码的方法
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
JP6839697B2 (ja) * 2015-07-30 2021-03-10 メルク、パテント、ゲゼルシャフト、ミット、ベシュレンクテル、ハフツングMerck Patent GmbH 電子素子のための材料
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
US6693645B2 (en) * 1999-12-01 2004-02-17 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차원 애니메이션 객체의 형태 변환 정보에 대한 키 값부호화 방법 및 그 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100891375B1 (ko) * 2004-10-08 2009-04-02 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우. 일시적 가변 그래픽 모델을 나타내는 데이터 스트림에 대한코딩 방법
US7929795B2 (en) 2004-10-08 2011-04-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding scheme for a data stream representing a temporally varying graphics model

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100552665B1 (ko) 키 데이터 부호화/복호화 방법 및 장치
JP4002502B2 (ja) 座標インタポレータの符号化/復号化装置及びその方法
US7746249B2 (en) Method and apparatus for encoding and decoding key data
JP4104615B2 (ja) キーデータの符号化及び復号化方法、並びに装置
KR100612829B1 (ko) 그래픽 애니메이션 데이터의 키 부호화 장치와 그 방법
JP4205426B2 (ja) 回転インタポレータのキー値データ復号化方法
JP2794842B2 (ja) 符号化方法とその復号化方法
JP4555271B2 (ja) 位置インタポレータの符号化/複合化方法、及び装置
EP1650975A1 (en) Coding apparatus and method for orientation interpolator node
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: 20130115

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140124

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150116

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee