KR100590522B1 - 오리엔테이션 보간 노드의 부호화 장치 및 방법 - Google Patents

오리엔테이션 보간 노드의 부호화 장치 및 방법 Download PDF

Info

Publication number
KR100590522B1
KR100590522B1 KR1020010040705A KR20010040705A KR100590522B1 KR 100590522 B1 KR100590522 B1 KR 100590522B1 KR 1020010040705 A KR1020010040705 A KR 1020010040705A KR 20010040705 A KR20010040705 A KR 20010040705A KR 100590522 B1 KR100590522 B1 KR 100590522B1
Authority
KR
South Korea
Prior art keywords
key
rotation
data
unit
key value
Prior art date
Application number
KR1020010040705A
Other languages
English (en)
Other versions
KR20020031028A (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 CA 2359260 priority Critical patent/CA2359260C/en
Priority to US09/981,962 priority patent/US6834081B2/en
Priority to RU2001128436A priority patent/RU2224290C2/ru
Priority to CNB011457821A priority patent/CN1198462C/zh
Priority to ES01308904T priority patent/ES2261353T3/es
Priority to EP20010308904 priority patent/EP1199894B1/en
Priority to EP05077826.5A priority patent/EP1650975B1/en
Priority to ES05077826T priority patent/ES2417529T3/es
Priority to DE2001618491 priority patent/DE60118491T2/de
Priority to JP2001324068A priority patent/JP3521412B2/ja
Publication of KR20020031028A publication Critical patent/KR20020031028A/ko
Application granted granted Critical
Publication of KR100590522B1 publication Critical patent/KR100590522B1/ko

Links

Images

Classifications

    • 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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/27Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving both synthetic and natural picture components, e.g. synthetic natural hybrid coding [SNHC]
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Abstract

본 발명은 오리엔테이션 보간 노드의 부호화 장치 및 방법을 개시한다. 삼차원 공간에서 물체의 회전 정보를 제공하는 오리엔테이션 보간 노드의 부호화 장치는, 오리엔테이션 보간 노드를 파싱하여, 시간축상에서 회전 이동의 변이가 발생한 위치 정보를 나타낸 키와, 그 위치 정보에 대응한 회전 정보를 나타낸 키값으로 구성된 현재 부호화할 필드 데이터를 추출하는 필드 데이터 입력부; 키값 데이터를 쿼터니언 공간으로 변환한 후, 회전차분 변환행렬을 이용하여 적응형 차분펄스 코드변조 처리하고, 그 영향하에 키 데이터를 차분펄스 코드변조 처리하는 적응형 차분펄스 코드변조 처리부; 및 키 데이터 및 키값 데이터를 양자화하여 출력하는 양자화부를 포함한다.

Description

오리엔테이션 보간 노드의 부호화 장치 및 방법{Coding apparatus and method for orientation interpolator node}
도 1은 일반적인 DPCM의 원리를 설명하기 위한 도면이다.
도 2 내지 7은 본 발명의 제1 실시예에 따른 도면이다.
도 8 내지 도 22는 본 발명의 제2 실시예에 따른 도면이다.
본 발명은 복합 영상 부호화에 관한 것으로, 특히 물체의 회전 정보를 제공하는 오리엔테이션 보간 노드의 부호화 장치 및 방법에 관한 것이다.
국제 멀티미디어 표준의 하나인 MPEG-4 BIFS(BInary Format for Scenes)는 합성 영상에 사용되는 애니메이션 정보를 표현하는 여러가지 기술 중에 키 프레임 기반 애니메이션(key frame based animation) 표현기술을 지원한다. 키 프레임 기반 애니메이션을 구성하는 데이터는 키(key)와 키값(key value)으로, MPEG-4 BIFS는 보간 노드 신택스(Interpolator node syntax)를 사용하여 이들을 표현한다. 이에 따르면, 키 프레임들간의 자연스러운 애니메이션을 제공할 수 있도록 대량의 키와 키값 데이터들을 필요로 한다. 키 프레임은 컴퓨터 애니메이션에서 중심이 되 는 장면을 가리키는 바, 키는 애니메이션이 표현되는 시간을 0~1 사이의 불연속적인 값으로 나타내며, 키값은 각 키가 가리키는 시간에서의 합성 영상 내의 한 물체의 위치정보를 나타낸다. 키가 가리키는 시간 이외의 시간에 대한 한 물체의 위치정보는 그 시간으로부터 가장 가까운 전후 두개의 키들에 해당하는 키값을 보간하여 얻어진다. 이때 보간방법은 보간 노드의 종류에 따라 달라진다.
보간방법 중 하나로서 물체의 회전 정보를 이용한 보간 방법은 회전 정보를 회전축과 회전각으로 표현한다. MPEG-4 BIFS는 가상 현실 모델언어(VRML:Virtual Reality Modeling Language)와 마찬가지로 오리엔테이션 보간 노드를 통해 전술한 바와 같이 회전축과 회전각으로 표시되는 회전 정보를 지원한다. 즉, 오리엔테이션 보간 노드는 회전축과 회전각을 나타내는 각 변위 표현방식을 사용하여 회전 정보를 표시하며 이를 키값으로 제공한다. 키값 데이터는 구분적(piecewise) 선형 보간 특성에 따라 자연스러운 애니메이션을 표현할 경우에 데이터 간의 차이값이 작게 분포된다.
선형 보간 특성을 갖는 데이터는 데이터간의 상관도가 높으므로, 데이터간 차분값에 따른 부호화 방법을 사용하는 것이 효율적이다. MPEG-4 BIFS에서, 처리할 대상 데이터인 오리엔테이션 보간 노드의 키와 키값으로 표현된 필드 데이터를 부호화하는데 있어서 크게 두 가지 방법이 이용되었다. 차분 펄스 코드 변조(DPCM:Differential Pulse Coded Modulation)을 이용하지 않는 방법과 DPCM을 이용하는 방법이 그것이다.
먼저, DPCM을 이용하지 않는 방법은 부호화할 데이터에서 키나 키값의 최대/ 최소값에 따라 선형 양자화만을 수행한다. 따라서, 부호화할 데이터의 고유 특성이 고려되지 않아 비효율적이다. DPCM을 이용하지 않는 방법에 대해 간략히 설명하면, 오리엔테이션 보간 노드의 필드 데이터를 입력하여 키값을 쿼터니언(quaternion) 공간에서의 값으로 변환한다. 다음에, 키나 키값의 데이터 정밀도를 조정하여 선형 양자화하고, 양자화된 필드 데이터를 이진 형태의 데이터로 출력한다. 이어서, 양자화 결과를 확인하기 위해 출력된 이진 형태의 데이터를 필드 데이터로 역 양자화하여 복원하고, 복원된 쿼터니언 값을 회전축과 회전각으로 구성된 키값 형식으로 각각 매핑시킨다. 다음으로, 복원된 오리엔테이션 노드의 필드 데이터를 저장하고, 이를 화면에 출력하며, 또한 이로부터 양자화 오차에 대한 시각적 왜곡 정도를 측정하게 된다. 왜곡 정도는 다음 수학식 1을 이용하여 측정할 수 있다.
Figure 112001016775113-pat00001
여기서, N은 필드 데이터의 수를 나타내고,
Figure 112001016775113-pat00002
는 현재 부호화할 값(
Figure 112001016775113-pat00003
)과 복원한 값(
Figure 112001016775113-pat00004
)과의 차를 나타낸다.
다음에, DCPM을 사용하는 방법은 데이터간의 상관성을 고려함으로써 전술한 DPCM을 이용하지 않는 방법보다 부호화 효율을 높일 수 있다. DPCM을 사용하는 방법을 DPCM을 사용하지 않는 방법과 비교하여 그 차이점을 간략히 설명하면 다음과 같다. 즉, DPCM을 사용하는 방법은 선형 양자화를 수행하기에 앞서, 이전에 복원 된 키값과 현재 부호화할 키값 간의 차이값을 계산하고, 그 값을 선형 양자화함으로써 선형 보간에서 발생하는 데이터 특성을 부호화 효율에 어느 정도 반영하게 된다.
도 1은 일반적인 DPCM의 원리를 설명하기 위한 도면이다.
DPCM부(100)는 가산기(102)를 통해 이전에 복원된 값(
Figure 112001016775113-pat00005
)과 현재 부호화할 값(
Figure 112001016775113-pat00006
)간의 차이값(
Figure 112001016775113-pat00007
)을 계산한다. 계산된 값은 양자화기(120)에서 양자화 된 후(
Figure 112001016775113-pat00008
) 수신지로 전송되고, 한편 역양자화기(140)를 통해 역양자화된다(
Figure 112001016775113-pat00009
). 역DPCM부(160)는 가산기(162)를 통해 역양자화된 값(
Figure 112001016775113-pat00010
)에 이전에 복원된 값(
Figure 112001016775113-pat00011
)을 더해 현재 부호화된 값의 복원값(
Figure 112001016775113-pat00012
)을 계산한다.
한편, DPCM을 사용하여 필드 데이터를 부호화하는 방법은 쿼터니언 공간 상에서 회전각을 처리하는데 있어 효율적이지 못한 특성을 갖고 있는 바, 그 특성은 쿼터니언 표현식으로 정의할 수 있다. 즉, 3차원 공간 상에 존재하는 임의의 한 점 q는 쿼터니언 공간 상에서 회전축과 그 회전각의 조합 형태로 정의된다. 다음 수학식 2는 일반적인 쿼터니언 표현식으로 s는 회전각, (x,y,z)는 공간상에서의 회전축 벡터를 나타낸다.
q = s + xi + yj + zk
수학식 2와 같이, 쿼터니언 공간은 복소수 표현식을 이용하여 정의된다. 따라서, 쿼터니언 공간 상에서 임의의 한 점 p가 다른 점 q로 회전 이동할 경우에, 회전 경로의 길이에 따라 두 가지 형태로 표시된다. 회전체의 회전 방향에 따라 회전각 역시 다르게 표현되기 때문이다. 두가지 형태로 표시된 회전 이동을 비교하면 실제로는 회전 경로의 길이 정보에만 차이가 존재한다.
따라서, 단순히 현재와 다음 위치간의 차이값만을 이용하는 종래의 DPCM 방식에서는 회전 경로의 길이 정보, 즉 회전축과 회전각의 상관관계가 고려되지 않으므로, 데이터의 상관성이 낮게 나타나며 이에 부호화 효율이 저하되는 문제점이 있다. 또한, 구면 상에서의 물체의 회전 이동에 있어 그 물리적인 특성을 표현할 수 없다는 단점이 있다. 이에 따라, 수학식 1을 이용한 왜곡 측정은 실제 발생된 시각적 화질 왜곡 정도를 객관적으로 측정할 수 없게 된다.
이에 따라, 본 발명이 이루고자 하는 기술적 과제는 회전차분 행렬변환을 이용한 적응형 DPCM 처리로 오리엔테이션 보간 노드의 필드 데이터를 부호화함으로써, 시간 영역에서 데이터 중복성을 제거하며, 또한 부가적으로 산술 부호화에 의해 양자화된 심볼간의 비트 중복성을 제거하며, 또한 쿼터니언 공간에서 회전 이동의 물리적 특성을 반영하면서 구성요소를 위한 부가 정보를 제거하여 데이터 전송 효율을 보다 향상시키며, 시각적 화질 왜곡도를 보다 객관적으로 측정하는, 오리엔테이션 보간 노드의 부호화 장치 및 방법을 제공하는 것이다.
상기 과제를 이루기 위하여, 삼차원 공간에서 물체의 회전 정보를 제공하는 본 발명에 의한 오리엔테이션 보간 노드의 부호화 장치는, 오리엔테이션 보간 노드 를 파싱하여, 시간축상에서 회전 이동의 변이가 발생한 위치 정보를 나타낸 키와, 그 위치 정보에 대응한 회전 정보를 나타낸 키값으로 구성된 현재 부호화할 필드 데이터를 추출하는 필드 데이터 입력부; 키값 데이터를 쿼터니언 공간으로 변환한 후, 회전차분 변환행렬을 이용하여 적응형 차분펄스 코드변조 처리하고, 그 영향하에 키 데이터를 차분펄스 코드변조 처리하는 적응형 차분펄스 코드변조 처리부; 및 키 데이터 및 키값 데이터를 양자화하여 출력하는 양자화부를 포함한다.
또한, 상기 과제를 이루기 위하여, 삼차원 공간에서 물체의 회전 정보를 제공하는 본 발명에 의한 오리엔테이션 보간 노드의 부호화 방법은, 오리엔테이션 보간 노드를 파싱하여, 시간축상에서 회전 이동의 변이가 발생한 위치 정보를 나타낸 키와, 그 위치 정보에 대응한 회전 정보를 나타낸 키값으로 구성된 현재 부호화할 필드 데이터를 추출하는 단계; 키값 데이터를 쿼터니언 공간으로 변환한 후, 회전차분 변환행렬을 이용하여 적응형 차분펄스 코드변조 처리하고, 그 영향하에 상기 키 데이터를 차분펄스 코드변조 처리하는 단계; 및 키 데이터 및 상기 키값 데이터를 양자화하여 출력하는 단계를 포함한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
본 발명은 물체의 회전 정보를 제공하는 오리엔테이션 보간 노드의 쿼터니언 표현 방법 및 데이터 특성을 이용하여 키값의 중복성을 높여 데이터 전송 효율을 보다 향상시킬 수 있는 부호화 장치 및 방법에 관한 것이다. 또한, 데이터 압축시 오차로 인해 발생하는 시각적 화질 왜곡도를 객관적으로 측정할 수 있는 오류 측정 방법을 제시한다.
도 2는 본 발명의 제1 실시예에 따른 오리엔테이션 보간 노드의 부호화 장치의 개략적인 블럭도이다.
본 실시예에 따른 부호화 장치는 크게 오리엔테이션 보간 보드의 필드 데이터 입력부(200), 필드 데이터의 적응형 DPCM 처리부, 양자화부(220), 압축된 이진 필드 데이터 출력부(230)를 구비하며, 부가적으로 엔트로피 부호화부(225)를 더 포함한다. 여기서, 적응형 DPCM 처리부는 쿼터니언 변환부(205), DPCM부(210) 및 회전차분 변환부(215)를 구비한다. 또한, 출력된 데이터의 복원 결과를 화면상에서 확인하고, 양자화 오차에 대한 시각적 왜곡도를 측정하기 위해, 복호화부를 구비한다. 복호화부는 엔트로피 복호화부(235), 역 양자화부(240), 역 DPCM부(245), 역 회전차분 변환부(250), 역 쿼터니언 변환부(255), 복원된 오리엔테이션 보간 노드의 필드 데이터 출력부(260) 및 왜곡 측정부(265)를 구비한다.
도 5는 본 발명의 제1 실시예에 따른 오리엔테이션 보간 노드의 부호화 방법을 설명하기 위한 플로우챠트이다. 도 2 및 도 5를 참조하여 본 발명의 부호화 장치의 동작을 상세히 설명한다.
먼저, 부호화할 오리엔테이션 보간 노드의 필드 데이터를 입력한다(제500단계). 구체적으로, 필드 데이터 입력부(200)는 입력된 VRML 데이터에서 오리엔테이션 보간 노드를 파싱하여 키와 키값으로 구성된 부호화할 필드 데이터를 추출한다. 키는 시간축상에서 회전 이동의 변이가 발생한 위치 정보를 나타내며, 키값은 위치 정보에 대응하는 회전 정보를 나타낸다.
다음에, 키값 데이터를 쿼터니언 공간으로 변환한 후, 회전차분 변환식에 따라 ADPCM(Adaptive DPCM) 처리하고, 그 영향하에 키 데이터를 DPCM 처리한다(제510단계). 구체적으로, 필드 데이터 입력부(200)에서 추출된 키값 데이터(KVi, 0≤i≤N-1)에 대한 데이터간 중복성을 제거하고, 데이터 표현 정밀도를 조정함에 따라 실제 압축 과정을 수행하기 위해 ADPCM 처리를 수행한다. 본 발명에서는 특히, 키값 데이터에 대한 ADPCM 처리에 앞서, 쿼터니언 변환부(205)를 거친다. 쿼터니언 변환부(205)는 키값 데이터 즉, 회전 정보를 한개의 실수(회전각)와 3개의 허수(회전축)로 표현된 쿼터니언 공간으로 변환한다. 다음에, 회전차분 변환부(215)는 쿼터니언 변환부(205)에서 구면 선형 보간 특성에 따라 변환한 회전축과 회전각의 정보 데이터를 데이터간의 중복성을 높일 수 있도록 가장 짧은 회전 이동 거리로 표현한 회전차분 변환행렬식을 정의한다.
종래에 키값 데이터에 대한 DPCM은 현재의 물체 위치 p와 회전 이동후의 물체 위치 q에 대한 회전 이동 거리를 계산하는데, 이 회전 이동 거리 값은 회전축과 회전각으로 구성된 각 구성요소별 차이값으로 정의한다. 이러한 구성요소별 차이값만을 고려할 경우에, 실제 구면상에서 물체의 회전 이동 경로를 고려한 값을 나타내지 못하여, 부호화할 데이터의 중복성 저하와 더불어 물체 이동에 대한 물리적 특성을 표현할 수 없었다. 이에 따라 부호화 오류에 대한 시각적 효과를 측정하기 어려운 단점이 있었다. 또한, 데이터 복원 측면에서 모든 키값 데이터마다 가장 큰 값을 갖는 구성요소를 표시하기 위해, 도 7 (a)와 같이 2비트의 정보가 부호화 장치에서 복호화 장치로 부가적으로 전송되어야 하는 단점이 있었다.
따라서, 본 발명에서는 오리엔테이션 보간 노드의 키값간 회전 이동 거리를 이용한 부호화를 위해 종래의 DPCM과는 다른 처리 방법을 회전차분 변환부(215)를 통해 구현한다. 회전차분 변환부(215)는 쿼터니언 공간에서 물체의 회전은 회전축과 회전각의 조합으로 이루어진다는 사실에 근간하여, 실제 회전 이동 경로에 따른 회전 이동 거리 역시 회전축과 회전각을 이용한 회전차분 변환 행렬식을 통해 정의할 수 있도록, 예를 들면 도 3과 같이 구성한다. 회전차분 변환부(215)에 이용되는 회전차분 변환 행렬식의 원리는 다음과 같이 정의한다.
물체의 현 위치 벡터를
Figure 112001016775113-pat00013
, 키
Figure 112001016775113-pat00014
에서 키값 key_value를 (
Figure 112001016775113-pat00015
), 물체의 회전 운동에서
Figure 112001016775113-pat00016
에 대한 변위 벡터를
Figure 112001016775113-pat00017
라 할 때, 쿼터니언상에서의 회전 운동식은 다음 수학식 3과 같이 나타낸다.
Figure 112001016775113-pat00018
여기서,
Figure 112001016775113-pat00019
Figure 112001016775113-pat00020
에 대한 쿼터니언 표현이다.
같은 방식으로, 키 key=ki에서 쿼터니언상에서의 회전 운동식은 다음 수학식 4와 같이 나타낸다.
Figure 112001016775113-pat00021
수학식 3 및 수학식 4로부터 회전차분값을 구하는 행렬 관계식을 유도하면 다음 수학식 5와 같다.
Figure 112001016775113-pat00022
따라서, 회전차분을 나타내는 쿼터니언 변환 회전차분 행렬 관계식은 다음 수학식 6과 같이 정의된다.
Figure 112001016775113-pat00023
이와 같은 관계식에 따라, 도 3을 참조하면 회전차분 변환부(215)는 회전차분 변환행렬 생성부(300), 구성요소 조정부(320), 누적부(335) 및 지연부(340)를 구비한다. 회전차분 변환행렬 생성부(300)는 쿼터니언 공간으로 변환된 현재 부호화할 키값 데이터를 입력하여, 수학식 6과 같은 현재 부호화할 회전차분 변환행렬을 정의한다. 구성요소 조정부(320)는 4개의 구성요소(v[0], v[1], v[2], v[3])로 구성된 회전차분 변환행렬 값(즉, 회전각과 회전축)들 중 첫 번째 구성요소의 값(v[0]=cos(θ/2)(단, θ는 회전각))이 항상 크다는 조건을 만족하도록 현재 부호화할 회전차분 변환행렬을 재정의한다. 지연부(340)는 회전차분 변환부(215)의 출력에 대응하여 현재 복원된 회전차분 변환행렬들을 저장하고, 이전 복원된 회전차분 변환행렬을 제공한다. 누적부(335)는 지연부(340)로부터 순차적으로 이전 회전차분 변환행렬을 입력하여 이전까지 복원된 회전차분 변환행렬을 누적시키고, 그 결과를 회전차분 변환행렬 생성부(300)로 출력한다.
구성요소 조정부(320)는 회전 정보를 구성하는 4개의 구성요소(v[0], v[1], v[2], v[3])중 첫 번째 구성요소의 값이 다른 나머지 3개의 구성요소들의 값보다 항상 크다는 조건을 만족시키기 위해서, 도 4에 도시된 원리를 이용한다. 즉, 도 4에서 물체가 A에서 B로 Ω만큼 회전 이동할 때, 이에 대한 회전차분 변환행렬의 구성요소들중 첫 번째 구성요소가 상기의 조건을 만족하지 않을 경우, A에서 θ만큼 최단 이동 경로를 따라 회전한 위치 P(A<P<B, 0<θ<Ω)를 임의로 정의하여 상기의 조건을 만족하도록 회전차분 변환행렬을 재정의하는 방법을 사용한다. 여기서, 물체의 회전 이동시 발생하는 최단 이동 경로의 선정 방법으로서, 두 개의 쿼터니언의 차에 대한 크기를 비교하는 방법을 사용하는데, 예를 들어, 시작 위치의 쿼터니언 A에서 회전 이동후 위치의 쿼터니언 B로 가는 두 개의 원호에 대한 회전 이동 정보는 쿼터니언 B와 쿼터니언 -B이다. 이 때, 쿼터니언 A에서 각 쿼터니언 B와 쿼터니언 -B간의 거리차들중 가장 작은 크기를 갖는 값이 최단 회전 이동 경로로 선정된다. 따라서, 이와 같은 최단 이동 경로를 만족시키는 회전차분 변환행렬에 관한 관계식은 다음 수학식 7과 같이 정의된다.
Figure 112001016775113-pat00024
아울러, P점의 위치를 A와 B의 중간 위치(θ=Ω/2)로 정의할 경우, 다음 수학식 8과 같이 유도된다.
Figure 112001016775113-pat00025
따라서, 구성요소 조정부(320)에서 키값 발생부(310)는 제1 구성요소가 최대인가를 판단하는 305의 조건을 만족하지 못할 경우, 상기 수학식 8에 따라 305의 조건을 만족시키는 새로운 물체의 키값 즉, 회전 정보를 정의한다. 이때, 정의된 새로운 회전 정보는 프레임 버퍼(315)에 저장됨과 동시에, 회전차분 변환행렬 생성부(300)로 출력된다. 프레임 버퍼(315)는 초기의 쿼터니언 공간으로 변환된 현재 부호화할 키값 데이터를 저장하고, 키값 발생부(310)에서 발생된 키값 데이터를 순차 저장하여 키값 발생부(310)로 현재 및 이전 회전 정보를 제공한다. 또한, θ에 의한 키값의 발생에 따른 키의 발생을 위해 θ와 Ω 및 해당 키값 인덱스를 키에 대한 DPCM부(210)로 제공한다. DPCM부(210)에서 키의 발생식은 다음 수학식 9와 같다.
Figure 112001016775113-pat00026
필드 데이터 입력부(200)에서 추출된 키 데이터(Ki, 0≤i≤N-1)는 DPCM부(210)로 입력된다. DPCM부(210)는 또한 회전차분 변환부(215)에 의해 새로운 키를 발생한다. DPCM부(210)는 첫번째 키 데이터(K0)는 그대로 출력하고, 나머지 키 데이터는 이전에 복원된 키(Ki-1)와 현재 부호화할 키(Ki)간의 차이값(KDi )을 계산하여 출력한다. DPCM부(210)는 데이터간 중복성을 제거하고, 데이터 표현 정밀도를 조정함에 따라 실제 압축 과정을 수행하는 것을 목적으로 한다.
전술한 바와 같이, 구성요소 조정부(320)에서 첫번째 구성요소의 값이 항상 최대가 되도록 조정함으로써, 종래에 모든 키값마다 반드시 제공해야 하는 2비트의 부가정보 즉, 4개의 구성요소중 어느 번째가 최대인가를 표시하는 정보를 초기 키값을 제외하곤 더이상 복호화 장치로 전송할 필요가 없다. 따라서, MPEG-4 BIFS 표준에 따라 도 7 (a)에 도시된 종래의 구문은 도 7 (b)에 도시된 본 발명에 의해 개선된 구문으로 변경될 수 있다. 이로 인해 실제 N개의 키값 데이터를 부호화할 경우에, 종래의 부가 정보에 따른 비트 발생량에 비해 2(N-1) 비트의 정보량을 더 줄일 수 있다.
다시 도 5를 참조하면, 제510단계 후에 ADPCM 처리된 키와 키값 데이터를 양자화하고(제520단계), 양자화된 값의 비트 중복성을 제거하기 위해 양자화된 키와 키값 데이터를 산술 부호화하여 이진 형태의 스트림 데이터로 출력한다(제530단계).
실제 부호화할 데이터량을 보다 효과적으로 감축시키는 측면에서 중요한 요소로 비트 중복성의 제거를 들 수 있다. 즉, 양자화된 비트들은 상호간 중복성을 갖고 있는데, 이를 제거하기 위한 공지된 방법으로서 가변 길이 부호화(VLC:Variable Length Coding) 방법, 심볼 패턴을 이용한 허프만 부호화(huffman coding) 방법 등이 존재한다. 본 발명에서는 심볼의 발생 빈도를 조건부 확률을 이용하여 계산하여 비트 중복성을 제거하는 산술적 부호화 방법을 사용한다. 도 2에서, 엔트로피 부호화부(225)는 이러한 방법을 수행하고, 압축된 이진 필드 데이터 출력부(230)는 부호화된 데이터를 이진 형태의 스트림 데이터로 출력한다.
여기서, 스트리밍 단계에서 고려되는 사항은 스트리밍 서비스의 형태 및 기능에 따른 스트림 데이터의 구조 결정 문제이다. 도 6 (a) 및 (b)는 두가지 형태의 스트림 데이터의 구조를 나타내는 도면들이다. 도 6 (a)는 서비스의 실시간성을 고려하지 않을 경우에 제공되는 가장 간단한 형태의 데이터 구조로서, 키 데이터를 복원하는 동안만큼 복호화 장치에서 지연 현상이 발생한다. 도 6 (a)는 도 6 (b)에 비해 부호화 장치의 처리 비용이 낮고, 복호화 장치의 처리 비용은 높다는 특성을 갖고 있다. 도 6 (b)는 데이터 서비스의 실시간성 및 부가적인 기능성을 제공해 줄 수 있는 데이터 구조로 한 개의 키와 해당 키값을 복원하는 즉시, 이에 대한 시각화가 가능한 구조이다. 또한, 이런 구조하에서 부가 할 수 있는 기능으로 오류 강인성을 들 수 있다. 이는 현재 데이터에 손실이 있어도 이전 데이터와 다음에 복원할 데이터만 있으면 손실이 있는 데이터를 어느 정도까지 복원할 수 있는 기능을 제공할 수 있다. 도 6 (a) 및 (b)에 도시한 데이터 구조를 제공하기 위해서, 부호화할 데이터는 도 2에서 200->205->215->210->220->225의 순서를 거쳐 부호화된다. 단, 225에서 키, 키값 순으로 산술 부호화를 수행하며, 도 6 (a) 및 (b)의 데이터 구조를 고려하여 그 처리 조합만을 달리 가져간다.
다시 도 5를 참조하면, 제530단계 후에, 부호화된 출력 데이터를 전술한 부호화의 역과정으로 복원하고, 그 결과에 따라 부호화 장치의 성능을 평가하기 위한 시각적 왜곡도를 측정한다(제540단계). 왜곡 측정부(265)는 부호화된 출력 데이터를 복원했을 때 부호화전 정보와의 시각적 화질 왜곡도를 회전차분 값에 따라 측정한다. 이를 위해, 복호화부는 도 2에서 235~260과 같이 구성되고, 이들의 처리 과정은 부호화의 역 과정이다.
부호화 장치의 성능은 데이터 감축량에 따른 시각적 화질 왜곡도로 그 특성치를 제공한다. 종래의 부호화 방법은 부호화기의 성능을 측정하기 위해 예컨대, 수학식 1을 이용하여 그 특성치를 제공한다. 그러나, 이 방법은 회전을 위한 각 구성요소별로 양자화 오차를 계산함으로써 전술된 바와 같이 쿼터니언의 특성을 제대로 반영할 수 없어, 실제 회전 운동에 대한 시각적 왜곡도를 객관적으로 표현할 수 없는 문제가 있다. 따라서, 본 발명에 의한 부호화 장치는 쿼터니언의 특성을 만족시키면서 양자화에 따른 시각적 왜곡도를 객관적으로 측정할 수 있는 개선된 왜곡 측정부(265)를 더 포함한다. 왜곡 측정부(265)는 물체 표면내의 모든 점을 단위 구면상의 모든 점으로 간주하고 양자화 오차를 측정하는데, 이에 대한 기본 원리는 다음과 같다.
양자화 오차는 이 두 회전 변환의 차이값으로 정의된다, 즉, 오리엔테이션 보간 노드의 키값을 (
Figure 112001016775113-pat00027
), 이를 복호화부를 통해 복원한 키값을 (
Figure 112001016775113-pat00028
)라 할 경우(단,
Figure 112001016775113-pat00029
은 회전축을, θ는 회전각을 각각 나타내며, 회전각의 범위는
Figure 112001016775113-pat00030
를 만족한다),
Figure 112001016775113-pat00031
는 단위 구면상의 임의의 위치벡터로
Figure 112001016775113-pat00032
관계를 만족한다.
Figure 112001016775113-pat00033
Figure 112001016775113-pat00034
에 의해
Figure 112001016775113-pat00035
로 부터
Figure 112001016775113-pat00036
Figure 112001016775113-pat00037
로의 회전 변환이 이루어 질 때 발 생하는 양자화 오차는
Figure 112001016775113-pat00038
Figure 112001016775113-pat00039
의 차로 계산된다. 양자화 오차벡터
Figure 112001016775113-pat00040
Figure 112001016775113-pat00041
의 관계를 성립시킨다. 이 관계식을 이용하여 단위 구면상의 모든 점들에 대해 양자화 오차벡터
Figure 112001016775113-pat00042
를 구할 때, 구면 전체에 대해 RMS(Dm) 및 최대오차(Dp)는 다음의 수학식 10에 따라 계산된다.
Figure 112001016775113-pat00043
한편,
Figure 112001016775113-pat00044
Figure 112001016775113-pat00045
의 관계는 다음의 수학식 11과 같은 회전변환 관계식으로 표현할 수 있다.
Figure 112001016775113-pat00046
상기의 관계식들로부터 유도되는 양자화 오차 벡터는 다음 수학식 12와 같이 정의된다.
Figure 112001016775113-pat00047
수학식 10 및 수학식 12에 따라 새로 유도되는 RMS(Dm) 및 최대오차(Dp)는 다 음 수학식 13와 같이 정의할 수 있다.
Figure 112001016775113-pat00048
Figure 112001016775113-pat00049
한편,
Figure 112001016775113-pat00050
를 쿼터니언 공간에서 표현하면,
Figure 112001016775113-pat00051
와 같이 정의되는데, 회전변환을 나타내는 (
Figure 112001016775113-pat00052
)와 (
Figure 112001016775113-pat00053
)를 쿼터니언 공간에서 표현한 것을 각각 Q와 Q'라 할 경우,
Figure 112001016775113-pat00054
Figure 112001016775113-pat00055
의 관계식을 유도할 수 있다. 여기서, A*B는 쿼터니언 곱셈을 나타내며, A*는 A의 콘쥬게이트를 의미한다. 이 관계식에 따라 다음 식이 유도된다.
Figure 112001016775113-pat00056
Q''
Figure 112001016775113-pat00057
Figure 112001016775113-pat00058
간 회전변환 관계를 나타내는 값으로 다음 수학식 14와 같이 정의된다.
Figure 112001016775113-pat00059
따라서, 수학식 13 및 수학식 14를 이용하여 단위 구면 전체에 대한 양자화 오차의 RMS(Dm) 및 최대오차(Dp)는 다음 수학식 15 또는 수학식 16으로 정의된다.
Figure 112001016775113-pat00060
또는
Figure 112001016775113-pat00061
수학식 15 및 수학식 16은 쿼터니언 공간에서 물체의 회전 이동에 대한 물리적 특성을 반영함으로써, 수학식 1에 비해 보다 객관적인 측정치를 제공한다. 따 라서, 본 발명은 수학식 15 또는 수학식 16을 왜곡 측정부(265)에서 이용하도록 구성함으로써 쿼터니언 공간에서 종래의 방법보다 객관적으로 양자화 오차에 따른 시각적 왜곡도를 정확히 측정할 수 있는 특징을 갖는다.
도 8은 본 발명의 제2 실시예에 따른 오리엔테이션 보간 노드의 부호화 장치의 개략적인 블럭도이다.
도 8을 참조하면, 부호화 장치는 크게 오리엔테이션 보간 보드의 필드 데이터 입력부(800), 필드 데이터 처리부, 양자화부(805), 선형 차분부(807), 압축된 이진 필드 데이터 출력부(810)를 구비하며, 부가적으로 엔트로피 부호화부(809)를 더 포함한다. 필드 데이터 처리부는 쿼터니언 변환부(801), 키프레임 제거부(802), 선형/회전 차분부(803)를 구비하며, 부가적으로 역양자화부(806), 지연부(819), 선형/회전 적분부(804)를 더 구비한다.
쿼터니언 변환부(801)는 키값을 쿼터니언 값으로 변환한다. 키 프레임 제거부(802)는 쿼터니언 변환부(801)로부터의 쿼터니언 값 및 오리엔테이션 보간 노드의 필드 데이터 입력부(800)로부터의 키로부터, 연속적인 시간 변화에 따른 회전 변환의 유사성을 이용하여 허용 오차 범위 내에서 키 프레임 및 키를 각각 제거하여 선택된 키 프레임 및 키를 출력한다. 선형/회전 차분부(803)는 선택된 키값 및 키를 입력받아 키들의 차이값과 쿼터니언 값들 간의 회전 차분을 구한다. 양자화부(805)는 선형/회전 차분부(803)에 의해 변환된 값을 양자화한다. 선형 차분부(807)는 양자화된 쿼터니언 값의 선형 차분을 구한다. 엔트로피 부호화부(809)는 비트의 중복성을 제거한다. 한편, 양자화기(805)로부터의 출력을 입력받아 역양자화하는 역양자화부(806), 역양자화부(806)의 출력을 지연시키는 지연부(819), 및 지연부(819)의 출력을 회전 적분하여 선형/회전 차분부(803)로 피드백해주는 선형/회전 적분부(804)를 더 구비한다.
또한, 부호화 장치는 출력된 데이터의 복원 결과를 화면상에서 확인하고, 양자화 오차에 대한 시각적 왜곡도를 측정하기 위해, 필드 데이터 처리부 중 키 프레임 제거부(802)을 제외한 나머지의 처리과정을 역으로 수행하기 위한 복호화부를 구비한다. 복호화부는 엔트로피 복호화부(811), 선형 적분부(813), 지연부(821), 역양자화부(814), 선형/회전 적분부(815), 지연부(822), 역쿼터니언 변환부(816), 오리엔테이션 보간 노드의 필드 데이터 출력부(817) 및 왜곡 측정부(818)를 구비한다.
왜곡 측정부(818)는 데이터 감축량에 대한 시각적 화질 왜곡도를 측정한다. 측정된 값은 부호화기의 특성치로 사용될 수 있다. 본 실시예에 따라 왜곡 측정부(818)는 회전 변환의 특성을 반영하여 양자화에 따른 시각적 화질 왜곡도를 보다 객관적으로 측정하게 되는 바, 이의 기본 원리를 설명하면 다음과 같다. 양자화 오차는 원래의 회전 변환과 복원된 회전 변환의 차분 회전 변환에서 차분 회전각으로 정의된다. 즉, 오리엔테이션 보간 노드에 속하는 하나의 키값을 (
Figure 112001016775113-pat00062
), 복호화부를 통해 복원된 키값을 (
Figure 112001016775113-pat00063
)이라 할 경우(단
Figure 112001016775113-pat00064
은 회전축을,
Figure 112001016775113-pat00065
는 회전량을 나타내며 그 범위는 θ∈[-π,π]를 만족한다),
Figure 112001016775113-pat00066
Figure 112001016775113-pat00067
에 의해 3차원 공간 상의 임의의 위치
Figure 112001016775113-pat00068
로 부터
Figure 112001016775113-pat00069
Figure 112001016775113-pat00070
로의 회전 변환이 이루어 질 때 발생하는 양자화 오차는
Figure 112001016775113-pat00071
Figure 112001016775113-pat00072
의 차로 계산된다. 이는 양자화 오차 벡터
Figure 112001016775113-pat00073
의 관계를 성립시킨다.
Figure 112001016775113-pat00074
,
Figure 112001016775113-pat00075
,
Figure 112001016775113-pat00076
를 쿼터니언으로 표현하면,
Figure 112001016775113-pat00077
와 같이 정의된다. 회전 변환을 나타내는 (
Figure 112001016775113-pat00078
)와 (
Figure 112001016775113-pat00079
)를 쿼터니언으로 표현한 것을 각각 QQ'라 할 경우,
Figure 112001016775113-pat00080
Figure 112001016775113-pat00081
가 유도된다. 여기서, A*B는 쿼터니언 곱셈을 의미하며, A*는 A의 공액 복소수(conjugate)를 의미한다. 이에 따라,
Figure 112001016775113-pat00082
가 유도된다. 여기서,
Figure 112001016775113-pat00083
Figure 112001016775113-pat00084
Figure 112001016775113-pat00085
간의 회전 변환관계를 나타내는 값으로서 다음과 같이 정의된다.
Figure 112001016775113-pat00086
따라서,
Figure 112001016775113-pat00087
Figure 112001016775113-pat00088
간의 차분 회전각을
Figure 112001016775113-pat00089
라 하면 쿼터니언 변환식과 [수학식 20]에 의해
Figure 112001016775113-pat00090
는 다음과 같이 구해진다.
Figure 112001016775113-pat00091
여기서,
Figure 112001016775113-pat00092
는 내적(inner product)를 의미한다. [수학식 21]은 전체 애니메이션 키 프레임 중 어느 특정 시간에 나타나는 순시 양자화 오차를 나타내며, 이를 전체 애니메이션 구간에 대한 양자화 오차를 구하는 식으로 유도하기 위해 특정 시간 t에서의 순시 양자화 오차로 나타내면 다음과 같다.
Figure 112001016775113-pat00093
[수학식 22]을 오리엔테이션 보간 방법을 통해 애니메이션을 수행하는 전체 키 프레임 구간에 대해 확장하여 전체 구간
Figure 112001016775113-pat00094
에 대한 평균 오차
Figure 112001016775113-pat00095
및 최대 오차
Figure 112001016775113-pat00096
를 유도하면,
Figure 112001016775113-pat00097
여기서,
Figure 112001016775113-pat00098
을 구하기 위해 구간
Figure 112001016775113-pat00099
에서 부분합
Figure 112001016775113-pat00100
를 먼저 구한다.
Figure 112001016775113-pat00101
한편,
Figure 112001016775113-pat00102
Figure 112001016775113-pat00103
이므로,
Figure 112001016775113-pat00104
적분구간 [0,1]에서 함수
Figure 112001016775113-pat00105
의 정적분을 구하기 어려우므로, 다음과 같이 근사화한다.
Figure 112001016775113-pat00106
Figure 112001016775113-pat00107
여기서,
Figure 112001016775113-pat00108
이다.
근사화된 함수를 사용하여 부분합
Figure 112001016775113-pat00109
를 구하면,
Figure 112001016775113-pat00110
이 되고, 다시 정리하면 다음과 같다.
Figure 112001016775113-pat00111
또한, 부분합 을 전체 구간
Figure 112001016775113-pat00113
에 대해 더한 다음 평균 오차
Figure 112001016775113-pat00114
를 구한다.
Figure 112001016775113-pat00115
최대 오차
Figure 112001016775113-pat00116
는 각 구간
Figure 112001016775113-pat00117
에서의 최대 오차
Figure 112001016775113-pat00118
를 다음과 같이 구한 다음 그 중에서 최대값을 찾아내면 된다.
Figure 112001016775113-pat00119
앞서 사용한 근사 함수를 이용하여 근사시키면,
Figure 112001016775113-pat00120
이 되고, 전체 구간
Figure 112001016775113-pat00121
에서 구한 최대값은
Figure 112001016775113-pat00122
으로 표시된다. 따라서, 왜곡 측정부(818)는 [수학식 32], [수학식 33]을 기초로 왜곡을 측정함으로써 쿼터니언 공간 상에서 보다 객관적으로 양자화 오차에 따른 시각적 왜곡도를 측정할 수 있다.
키 프레임 제거부(802)는 전술한 바와 같이, 연속적인 시간 변화에 따른 회전 변환의 유사성을 이용하여 허용 오차 범위 내에서 키 프레임을 제거한다. 이와 같은 키 프레임 제거방법은 손실 부호화 방법의 하나이다. 종래 MPEG-4 BIFS는 키 프레임 애니메이션을 손실 부호화함에 있어 모든 키 프레임의 키값에 대해 일률적으로 낮은 비트의 양자화를 수행하는 방법을 사용하였다. 그러나, 이에 따르면 실제로 각각의 키 프레임이 시각적 화질 저하에 기여하는 정도가 반영되지 않기 때문에, 낮은 비트의 양자화를 수행하게 되면 매우 큰 화질 저하를 가져오게 된다. 키 프레임 제거부(802)는 각각의 키 프레임을 비교적 높은 비트로 양자화를 수행하되 시각적 화질 저하에 영향을 적게 주는 순서로 키 프레임을 제거하여 종래의 방법과 비슷한 양의 정보를 발생하면서도 매우 좋은 화질을 유지한다.
도 14 내지 19를 참조하여 키 프레임 제거부(802)의 상세한 키 프레임 제거과정을 설명하면 다음과 같다.
1 단계: 도 14를 참조하면, 검정색 점은 원래의 애니메이션 경로상에서 n+1개의 시간에 따른 각각의 키 프레임에서의 키값(= Q0,Q1,Q2,....Qn )을 표시한다.
2 단계: 도 15에 도시된 바와 같이, 먼저 애니메이션 경로 상에 있는 각각의 키 프레임 중에서 양 끝에 해당하는 키 프레임 2개(= Q0,Qn)를 선택한다. 선택된 점은 흰색으로 표시되어 있다.
3 단계: 도 16에 도시된 바와 같이, 선택된 양 끝 키 프레임을 제외한 나머 지 키 프레임 중에서 하나의 키 프레임을 선택한다. 이 때 하나의 키 프레임을 선택하는 방법은 모두 n-1가지가 있다. 도 16에서는 두 가지의 후보를 선택한 예를 보여주고 있는 바, 이들(= Q1,Qk)은 빗금을 친 점으로 표시된다. 다음으로 n-1개의 후보에 대해서, 선택되지 않은 키 프레임의 키값들을 선택된 총 3개의 키 프레임들(Q0,Q1,Qn, 또는 Q0,Qk,Qn)을 이용하여 구면 선형 보간(spherical linear interpolation)을 수행한다.
4 단계: 원래의 애니메이션 경로와 보간된 n-1개의 애니메이션 경로를 비교하여 애니메이션 궤적의 오차가 가장 적은 애니메이션 경로를 선택하고 이로부터 n-1개의 후보 키 프레임으로부터 선택된 애니메이션 경로에 대응하는 키 프레임을 선택한다. 궤적 간의 오차는 상기에 기술한 평균 오차
Figure 112001016775113-pat00123
를 이용하여 구한다.
5 단계: 도 17은 일 예로서 후보 2의 궤적이 선택되었음을 보여주고 있다.
6 단계: 도 18에 도시된 바와 같이, 선택된 3개의 키 프레임을 제외한 나머지 키 프레임 중에서 하나의 키 프레임을 선택한다. 다음으로 상기 3 내지 4 단계를 수행한다.
7 단계: 도 10은 일 예로서 후보 1의 궤적이 선택되었음을 보여주고 있다.
8 단계: 상기 6 내지 7 단계를 평균 오차가 허용 오차보다 작아질 때까지 반복하여 수행한다.
선형/회전 차분부(803)는 쿼터니언 공간에서 회전 차분식을 통해 연속되는 키에 대응하는 키값 간의 회전 차분을 구한다.
종래의 선형 차분 방식에서는 현재 키에 대응되는 물체의 회전 변환 쿼터니언 Q1과 다음 키에 대응되는 물체의 회전 변환 쿼터니언 Q2간의 선형 차분을 계산하는데 그 식은 다음과 같다.
Figure 112001016775113-pat00124
Figure 112001016775113-pat00125
이와 같이 쿼터니언 컴포넌트 별 차이값만을 고려하는 방법은 실제 회전 변환을 고려한 회전 차분 값을 나타내지 못하므로 부호화할 데이터의 중복성 저하를 가져온다. 또한, 부호화되는 비트수를 줄이기 위해 4 개의 쿼터니언 컴포넌트 중 가장 큰 값을 갖는 컴포넌트를 제외한 나머지 3 개의 컴포넌트만을 부호화한다. 이같은 종래 선형 차분 방식은 데이터 복원 측면에서 모든 키값마다 가장 큰 값을 갖는 컴포넌트를 표시하기 위해 2비트의 정보가 부호화기에서 복호화기로 부가적으로 제공되어야 하는 단점이 있다.
따라서, 본 실시예에서의 선형/회전 차분부(803)는 오리엔테이션 보간 노드의 키값 간 회전 변환의 차분을 이용하여 부호화하기 위해 종래의 선형 차분 방법과는 다른 선형/회전 차분 방법을 사용한다. 보다 구체적인 방법은 다음과 같다.
물체의 현 위치 벡터를
Figure 112001016775113-pat00126
, key=ki-1에서 키값을
Figure 112001016775113-pat00127
, 이 키값에 의해 물체의 회전 운동이 일어난 이후,
Figure 112001016775113-pat00128
에 대한 변위 벡터를
Figure 112001016775113-pat00129
라 할 때, 쿼터니언 공간에서 회전 운동식은 다음과 같이 표시된다.
Figure 112001016775113-pat00130
여기서, X, Yi-1, Qi-1
Figure 112001016775113-pat00131
,
Figure 112001016775113-pat00132
,
Figure 112001016775113-pat00133
에 대한 쿼터니언 표시값을 나타낸다. 같은 방법으로, key=ki에서 쿼터니언 회전 운동식은 다음과 같다.
Figure 112001016775113-pat00134
한편,
Figure 112001016775113-pat00135
Figure 112001016775113-pat00136
로 부터, 회전차분 값을 구하는 관계식을 유도하면 다음과 같다.
Figure 112001016775113-pat00137
따라서, 회전 차분을 나타내는 쿼터니언 변환 관계식은 다음과 같이 정의된다.
Figure 112001016775113-pat00138
본 실시예에서는 부호화 비트수를 줄이기 위해 회전 차분값을 구성하는 4 개의 컴포넌트 중, 첫번째 컴포넌트를 제외한 나머지 3 개의 컴포넌트만이 부호화된다. 이에 따라 복호화부는 3 개의 컴포넌트를 이용하여 나머지 하나의 컴포넌트를 복원한다. 구체적인 복호화 방법은 다음과 같다. 부호화된 모든 회전 차분 값은 단위 쿼터니언 표현값으로 표시된다. 따라서 회전 차분을 표시하는 쿼터니언의 크기(norm)는 항상 1이다. 이를 기초로 다음 식에 따라 나머지 하나의 컴포넌트를 복원한다.
Figure 112001016775113-pat00139
[수학식 39]에서
Figure 112001016775113-pat00140
,
Figure 112001016775113-pat00141
,
Figure 112001016775113-pat00142
은 각각 복호화된 회전 차분값의 세 컴포넌트이고
Figure 112001016775113-pat00143
는 이들 3 개의 컴포넌트들로부터 복원된 첫번째 컴포넌트이다. 이 경우, 복원된 회전 차분값의 3 개의 컴포넌트의 제곱의 합이 양자화 오차로 인해 1을 초과하는 경우가 발생한다. 이 때 복호화부는 [수학식 39]를 사용하여
Figure 112001016775113-pat00144
값을 결정할 수 없다. 이는
Figure 112001016775113-pat00145
가 거의 0 에 가까운 값으로, 양자화부(805)가 양자화할 수 있는 최소 단위보다 작은 값임을 의미한다. 물리적으로는 180 도에 가까운 회전 변환이 이루어지는 것을 뜻한다. 그러므로 복호화부에서는 이와 같은 경우에
Figure 112001016775113-pat00146
값을 결정할 수 있는 방법을 가지고 있어야 하며, 나아가 결정된
Figure 112001016775113-pat00147
값이 다른 3 개의 컴포넌트들에게 미치는 영향은 최소화어야 한다. 일 예로써,
Figure 112001016775113-pat00148
값을 양자화의 최소 단위값 또는 그 비례 배수값로 결정할 수 있다. 구 체적인 식은 다음과 같다.
Figure 112001016775113-pat00149
여기서,
Figure 112001016775113-pat00150
는 비례상수이고 m은 양자화 비트수이다. 이같은 방법은 종래 선형 차분 방법에 있어서 모든 키값마다 반드시 주어져야 하는 2 비트의 부가 정보를 더 이상 복호화기로 전송할 필요가 없다는 장점을 제공한다. 나아가, 도 13에 도시된 바와 같이, 본 실시예에서는 (a)의 종래 선형 차분 방법에서의 신택스(syntax)로부터 (b)의 신택스를 가질 수 있다. 이로 인해 실제 N 개의 키값을 부호화할 경우 종래의 부가 정보에 대한 비트 발생량에 비해 2N 비트의 정보량을 더 줄일 수 있게 된다.
도 11은 회전 차분을 이용한 쿼터니언 부호화에 있어서 회전 방향 오차를 설명하기 위한 참고도이다. 회전 방향 오차는 쿼터니언 부호화가 손실 부호화임으로 인해 발생된다.
도 11을 참조하면, 현재 입력되는 회전 정보에 의한 물체의 위치를
Figure 112001016775113-pat00151
라 하고, 이전 위치를
Figure 112001016775113-pat00152
라 할 때, 위치 관계는 4가지 영역으로 구분하여 나타낼 수 있다. 즉, 입력되는 원(circle) 신호를 따라 회전할 경우, 두 위치 관계가 영역1 또는 영역3일 때는
Figure 112001016775113-pat00153
에서
Figure 112001016775113-pat00154
로 반시계방향으로 회전하게 된다. 두 위치 관계가 영역2 또는 영역4인 경우에는
Figure 112001016775113-pat00155
에서
Figure 112001016775113-pat00156
로 시계방향으로 회전하게 된다. 부호화되고 복호화된 회전정보를 사용하여 물체를 회전시킬 경우에는, 원래 회전정보
Figure 112001016775113-pat00157
에 대응하는 복호화정보
Figure 112001016775113-pat00158
Figure 112001016775113-pat00159
에 대응하는
Figure 112001016775113-pat00160
두 값에 의해 복호화부 측에서 물체를 회전시키게 된다. 따라서 다시 도 11을 참조하면,
Figure 112001016775113-pat00161
에 대해
Figure 112001016775113-pat00162
의 위치가 영역2와 영역3일 경우에는 반시계방향으로, 영역1과 영역4일 경우에는 시계방향으로 회전하게 된다. 이처럼, 원래의 회전 정보에 의해 물체를 회전시키는 경우와 복호화 된 회전 정보를 사용하여 물체를 회전시키는 경우 영역2와 영역1에서 각각 회전 방향이 역전하는 현상이 발생한다. 이는 쿼터니언 부호화시 손실부호화를 수행하기 때문에
Figure 112001016775113-pat00163
Figure 112001016775113-pat00164
가 일치하지 않아서 생기는 현상으로, 손실부호화에서 필연적으로 발생된다. 그런데 영역1과 영역2는 결코 없앨 수 없는 영역이므로, 회전 방향이 역전하는 현상을 최소화하거나, 회전 방향을 원래 운동방향과 일치시키는 동작이 필요하다. 본 실시예에서는 후자의 동작을 부가하였다.
회전 방향 보정기능을 간략히 설명하면, 도 11을 참조하여 회전 방향 오차가 발생하는 영역1과 영역2를 찾아낸 다음 부호화할 차분 쿼터니언 값을 강제로 제어하여 회전 방향을 원래의 회전 방향과 일치시켜주는 것이다. 영역2에서도 회전 방향 불일치 현상이 발생하지만, 영역2는 영역1과 달리 원래 쿼터니언 값과 복호화된 쿼터니언 값이 가까이 수렴하는 영역이므로 회전 방향 보정 기능을 작동시키지 않고, 영역1인 경우에만 회전 방향 보정기능을 수행한다.
도 9 및 도 10은 도 8의 부호화 장치의 회전 방향 보정기능을 설명하기 위한 블럭도이다.
도 9를 참조하면, 회전 방향 오차 연산부(950) 및 판별부(960)는 영역1인 경우를 찾아낸다. 회전 방향 오차 연산부(950)는 도 10에 도시된 바와 같이, 3 개의 차분 회전 쿼터니언 값을 연산하는 쿼터니언 회전차 연산부(952, 953, 954)를 구비한다. 구해진 3 개의 회전 차분값 A, B, C는 다음과 같다.
회전차분값 A:
Figure 112001016775113-pat00165
여기서 회전차분값 A는 원래의 회전 정보에 의해 시구간 [ti-1,ti]에서 물체의 회전 방향을 나타내게 된다.
회전차분값 B:
Figure 112001016775113-pat00166
여기서 회전차분값 B는 시각 ti-1에서 부호화 오차에 의한 물체의 회전 위치 오차와 방향을 나타낸다.
회전차분값 C:
Figure 112001016775113-pat00167
여기서 회전차분값 C는 시각 ti에서 부호화를 위해 공급될 차분 쿼터니언 정보의 방향을 나타낸다.
판별부(960)는 이상 3 개의 회전차분값 A,B,C를 사용하여 도 11에서 설명하는 영역1을 판별하여, 영역1일 경우 선택부(980)는 회전 방향을 포화값으로 설정해주는 회전 방향 포화부(970)로부터 입력을 선택하여 회전 방향이 원래의 회전 방향으로 보정되도록 한다. 영역1이 아닐 경우 선택부(980)는 회전방향 보정기능을 거치지 않도록 쿼터니언 회전차 연산부(940)의 출력을 선택하여 출력시킨다. 이 때 의 동작은 앞서 설명한, 차분 쿼터니언 값을 구해서 양자화부(805)로 공급하는 경우와 같다. 판별부(960)의 보다 구체적인 동작 원리는 다음과 같다. 판별부(960)는 5 개의 논리판단부로 구성되어 있어 5 개의 논리값 출력들을 서로 논리곱(AND) 연산하여 출력한다. 판별부(960)를 구성하는 5 개의 논리연산은 다음과 같다.
논리식 A:
Figure 112001016775113-pat00168
여기서,
Figure 112001016775113-pat00169
는 도 10의 회전차분값 A를
Figure 112001016775113-pat00170
라 할때
Figure 112001016775113-pat00171
이 되고, 4 개의 원소 중 첫번째
Figure 112001016775113-pat00172
를 제외한 나머지 3개의 원소로 이루어진 3차원 벡터
Figure 112001016775113-pat00173
를 의미한다. 마찬가지로,
Figure 112001016775113-pat00174
는 도 10의 회전차분값 C에서 첫번째 원소를 제외한 3 개의 원소로 이루어진 3차원 벡터를 의미한다.
Figure 112001016775113-pat00175
는 2 개의 3차원 벡터 간의 내적(inner product)를 의미하며, 내적이 음수일 때 논리값 A는 '참'이고, 음수가 아닐 때는 '거짓'으로 정의한다.
논리식 B:
Figure 112001016775113-pat00176
여기서,
Figure 112001016775113-pat00177
는 도 10의 회전차분값 B에서 첫번째 원소를 제외한 3 개의 원 소로 이루어진 3차원 벡터
Figure 112001016775113-pat00178
를 의미한다.
Figure 112001016775113-pat00179
는 도 10의 회전차분값 C에서 첫번째 원소를 제외한 3 개의 원소로 이루어진 3차원 벡터를 의미한다.
Figure 112001016775113-pat00180
는 2 개의 3차원 벡터 간의 내적(inner product)를 의미하며, 내적이 음수일 때 논리값 B는 '참'이고, 음수가 아닐 때는 '거짓'으로 정의한다.
논리식 C:
Figure 112001016775113-pat00181
여기서
Figure 112001016775113-pat00182
는 앞서 논리식 A 및 B에서 설명한 바와 같이, 도 10의 회전차분값 A에서 첫번째 원소를 의미하며, 이 값의 절대값을 사용하여 논리식 C를 수행한 결과 일정한 상수
Figure 112001016775113-pat00183
보다 클 경우 논리식 C는 '참', 그렇지 않을 경우에는 '거짓'으로 정의한다. 이 때 상수
Figure 112001016775113-pat00184
는 0에 가까운 작은 값(예: 0.02)으로 설정되며 실제 동작에 따라 적당한 값으로 조정될 수 있다.
논리식 D:
Figure 112001016775113-pat00185
여기서,
Figure 112001016775113-pat00186
는 앞서 논리식 A 및 B에서와 같이, 도 10의 회전차분값 B에서 첫번째 원소를 의미하며, 이 값의 절대값을 사용하여 논리식 D의 연산을 수행한 결과 일정한 상수
Figure 112001016775113-pat00187
보다 클 경우 논리식 D는 '참', 그렇지 않을 경우에는 '거짓'으로 정의한다. 이때 상수
Figure 112001016775113-pat00188
는 논리식 C에서와 같이 설정된다.
논리식 E:
Figure 112001016775113-pat00189
여기서,
Figure 112001016775113-pat00190
는 앞서 논리식 A 및 B에서와 같이, 도 10의 회전차분값 C에서 첫번째 원소를 의미하며, 이 값의 절대값을 사용하여 논리식 E의 연산을 수행한 결과 일정한 상수
Figure 112001016775113-pat00191
보다 클 경우 논리식 E는 '참', 그렇지 않을 경우에는 '거짓'으로 정의한다. 이 때 상수
Figure 112001016775113-pat00192
는 논리식 C에서와 같이 설정된다.
구해진 5 개의 논리값에 대하여 다음과 같이 논리곱 연산을 수행하면 도 9의 판별부(960)의 출력이 생성된다.
판별부(960) 출력: ( 논리식 A ) AND ( 논리식 B ) AND ( 논리식 C ) AND ( 논리식 D ) AND ( 논리식 E )
논리값이 '참'이면 선택부(980)는 회전 방향 포화부(970)의 출력을 입력받아 출력시키고, '거짓'이면 쿼터니언 회전차 연산부(940)의 출력을 입력받아 출력시킨다.
회전 방향 포화부(970)의 동작을 설명하면 다음과 같다. 다시 도 11을 참조하면, 영역1인 경우 복호화부에서 수신한 회전 위치 정보는
Figure 112001016775113-pat00193
이고, 현재 입력되는 회전 위치 정보는
Figure 112001016775113-pat00194
이므로, 복호화부에서는 물체를 시계방향으로 회전시키게 된다. 그러나 원래 회전 방향은
Figure 112001016775113-pat00195
에서부터
Figure 112001016775113-pat00196
로 움직이도록 되어있으므로 반시계방향으로 회전시켜야 한다. 따라서, 회전 방향 포화부(970)는
Figure 112001016775113-pat00197
위치에서 원래 회전 방향과 같은 방향, 즉 반시계방향으로 가장 큰 움직임을 갖는 회전 위치(도 11에서
Figure 112001016775113-pat00198
라고 표시된 곳)로 회전시키도록 처리한다. 즉, 회전 방향 포화부(970)는
Figure 112001016775113-pat00199
위치에서 180도에 근접하는 위치까지 회전시킬 수 있는 새로운 회전 정보를 설정한다. 이에 따라, 회전 방향을 원래의 회전 방향과 일치시키면서 회전 위치 오차를 최소화할 수 있다. 회전 방향 포화부(970)의 동작을 수식으로 나타내면 다음과 같다.
Figure 112001016775113-pat00200
여기서,
Figure 112001016775113-pat00201
은 도 9의 쿼터니언 회전차 연산부(940)를 의미하며,
Figure 112001016775113-pat00202
는 0에 가까운 작은 상수(예: 0.001)로서 부호화의 정밀도에 따라 정해진다.
선형 차분부(807)는 시간에 따라 연속적인 양자화된 키값의 쿼터니언의 선형 차분을 구한다. 즉, 선형/회전 차분부(803)로부터 출력된 값이 양자화부(805)를 통해 양자화된 다음 이 값의 선형 차분을 구함으로써, 도 12에서 볼 수 있는 바와 같이 발생되는 데이터의 중복성을 더욱 높여서 결과적으로 큰 부호화 효율을 얻도록 한다. 이에, 키값 데이터에 대해 실질적으로 2계 차분과 유사한 효과가 얻어진다. 나아가, 2계 차분에 비해 다음과 같은 효과를 얻는다. 선형/회전 차분부(803)에 대한 방향 제어를 설명하면서도 언급한 바 있듯이, 종래 2계 차분에 따르면 손실부호화이므로 복호화된 회전 정보를 사용하여 물체를 회전시킬때 회전 방향이 역전하는 현상이 발생하며, 양자화 오차가 커질수록 더욱 빈번해진다. 다시 말해, 키값 데이터에 대한 2계 차분은 양자화 오차가 커지는 반면, 본 실시예에서 제안된 선형 차분부(807)는 이미 양자화가 완료된 키값의 쿼터니언에 대해 선형 차분을 적용하므로써, 데이터의 중복성을 높이면서도 양자화 오차는 더이상 발생하지 않도록 하는 장점을 제공한다.
엔트로피 부호화부(809)는 심볼의 발생 빈도를 조건부 확률을 통해 계산하여 비트의 중복성을 제거하는 산술적 부호화 방법(809)을 사용해 양자화된 데이터(308)의 부호화 효율을 보다 향상시킨다. 이에 의해 실제 부호화할 데이터량이 보다 효과적으로 감축된다.
상기와 같은 구성을 기초로 제2 실시예에 따른 부호화 방법을 설명하면 다음과 같다.
본 실시예에 따른 부호화 방법은 오리엔테이션 보간 노드의 필드 데이터 중 키는 이전에 복원된 값과 현재 부호화할 값과의 차이값을 이용하는 선형 차분(DPCM)을 바탕으로 한다. 즉, 키값 데이터를 쿼터니언 공간에서 회전 변환의 유사성을 이용하여 허용되는 오차 범위에서 키 프레임을 제거하고, 회전 차분을 사용하여 차분값들을 구한 다음 이들을 각각 양자화, 선형 차분 및 산술 부호화를 통하여 부호화 효율을 향상시키며 복원된 결과의 시각적 화질 왜곡도를 객관적으로 측정한다. 이를 단계별로 나누어 설명하면 다음과 같다.
1 단계: 부호화할 오리엔테이션 보간 노드의 필드 데이터를 입력받아 파싱한다. 보다 구체적으로, VRML 데이터를 입력 받아 오리엔테이션 보간 노드를 파싱하 고, 파싱된 값으로부터 키와 키값으로 구성된 필드 데이터를 부호화하기 위해 키와 키값들을 각각 추출한다.
2 단계: 키 프레임 제거부(802)는 입력된 키와 키값 데이터들을 허용 오차 범위 내에서 선별적으로 선택한다.
3 단계: 선형/회전 차분부(803)는 입력된 키 데이터를 선형 차분 처리하여 데이터 간 중복성 발생시키고, 양자화부(805)는 이들을 양자화한다.
4 단계: 선형/회전 차분부(803)는 입력된 키값 데이터를 회전 차분 처리한다.
5 단계: 3 단계, 및 4 단계에서 양자화부(805)에 의해 양자화된 키 및 키값의 차분값은 다음 시간에 입력되는 키 및 키값의 양자화 오차 보상을 위해 역양자화부(806)를 통해 역양자화되고 지연부(819)에 의해 지연된 다음 선형/회전 적분부(804)에 누적된다. 누적된 키 및 키값은 다음 시간에 입력되는 키 및 키값의 차분 처리에 사용된다. 선형/회전 적분부(804)의 누적에 사용되는 식은 다음과 같다.
Figure 112001016775113-pat00203
Figure 112001016775113-pat00204
[수학식 42]에서
Figure 112001016775113-pat00205
는 j번째 발생하는 역양자화된 차분 키이고, [수학식 43]에서
Figure 112001016775113-pat00206
는 j번째 발생하는 역양자화된 차분 키값이다.
6 단계: 양자화된 키를 제공될 서비스 형태에 맞추어 엔트로피 부호화부(809)에 입력하여 산술부호화한 다음 스트리밍한다.
7 단계: 양자화된 키값을 선형 차분부(807)를 통해 선형 차분한 다음 엔트로피 부호화부(809)를 통해 산술 부호화하여 스트리밍한다. 스트리밍시 고려해야 할 사항은 스트리밍 서비스의 형태 및 기능에 따른 스트림 데이터의 구조를 어떻게 결정할 것인가이다. 즉, 도 6에 도시한 데이터 구조 (a)는 서비스의 실시간성을 고려하지 않을 경우를 위한 가장 간단한 형태이다. 이에 따르면, 키를 복원하기 위해 걸리는 시간 만큼 복호화부에서의 지연이 발생되며, (b)에 비해 부호화 처리 비용은 낮고, 복호화부의 처리 비용은 높다. (b)는 데이터 서비스의 실시간성 및 부가적인 기능성을 제공해 줄 수 있는 형태이다. 이에 따르면, 한 개의 키와 해당 키값을 복원하는 즉시 이에 대한 시각화가 가능하며, 오류에 강인하다. 즉, 현재 데이터에 손실이 발생되더라도 이전 데이터와 다음에 복원할 데이터만 있으면 손실이 있는 데이터를 어느 정도까지는 복원할 수 있는 기능을 제공할 수 있다. 도 6의 (a) 및 (b)의 데이터 구조를 만들기 위해서는 엔트로피 부호화부(809)에서 키와 키값의 부호화 순서만을 조정하면 된다.
8 단계: 이진 필드 데이터 출력부(810)를 통해 입력받은 이진 정보를 키 프레임 제거부(802)를 제외한 부호화부의 역과정을 통해 복호화하고, 이의 시각적 왜 곡도를 왜곡 측정부(818)를 통해 측정하여 부호화부의 성능을 평가한다. 복호화부는 전술한 부호화 과정의 역과정을 통해 복호화한다.
도 20은 본 발명의 제2 실시예에 따른 복호화 과정을 문법표현으로 바꾸어 표현한 일 예이다. 도 20과 같은 복호화 과정이 모두 수행되면 왜곡 측정부(818)는 오리엔테이션 보간 노드의 필드 데이터 입력부(300)의 출력과 오리엔테이션 보간 노드의 필드 데이터 출력부(817)에서의 출력을 입력받아 [수학식 30]이나 [수학식 33]을 이용해 시각적 왜곡도를 객관적인 수치로 측정한다. 이 때 사용되는 [수학식 30]이나 [수학식 33]은 쿼터니언 공간 상에서 물체의 회전 변환에 대한 물리적인 특성을 반영한 관계식으로 종래 사용되던 [수학식 1]에 비해 보다 객관적인 측정치를 제공한다.
이와 같은 단계를 통한 부호화 방법을 구현한 본 실시예는 오리엔테이션 보간 노드의 필드 데이터를 부호화함에 있어, 시간 영역에서의 데이터 중복성 및 양자화된 심블간의 비트 중복성을 제거하고, 쿼터니언 공간 상에서 회전 변환의 물리적 특성을 반영하여 데이터 전송효율을 보다 향상시키는 효과를 제공한다.
도 21 및 22는 종래 MPEG-4 BIFS의 애니메이션 부호화 방법과 본 실시예에서 제안한 애니메이션 부호화 방법의 왜곡 비율(Rate-Distortion)을 도시한 그래프이다.
도 21 및 22를 참조하면, 동일한 오차에서 본 실시예의 부호화 방법이 상대적으로 매우 적은 비트를 발생시킴을 알 수 있다.
이상에서 설명한 바와 같이, 본 발명은 오리엔테이션 보간 노드의 필드 데이 터를 부호화하는데 있어서, 시간 영역에서 데이터 중복성과 양자화된 심볼간의 비트 중복성을 제거하고, 쿼터니언 공간에서 회전 이동의 물리적 특성을 반영하면서 구성요소를 위한 부가 정보를 제거하여 데이터 전송 효율을 보다 향상시킨다.

Claims (25)

  1. 삼차원 공간에서 물체의 회전 정보를 제공하는 오리엔테이션 보간 노드의 부호화 장치에 있어서,
    상기 오리엔테이션 보간 노드를 파싱하여, 시간축상에서 회전 이동의 변이가 발생한 위치 정보를 나타낸 키와, 그 위치 정보에 대응한 회전 정보를 나타낸 키값으로 구성된 현재 부호화할 필드 데이터를 추출하는 필드 데이터 입력부;
    상기 키값 데이터를 쿼터니언 공간으로 변환한 후, 회전차분 변환행렬을 이용하여 적응형 차분펄스 코드변조 처리하고, 그 영향하에 상기 키 데이터를 차분펄스 코드변조 처리하는 적응형 차분펄스 코드변조 처리부; 및
    상기 키 데이터 및 키값 데이터를 양자화하여 출력하는 양자화부를 포함하는 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 장치.
  2. 제1항에 있어서,
    상기 적응형 차분펄스 코드변조 처리부는,
    상기 필드 데이터 입력부에서 추출된 키값 데이터를 쿼터니언 공간으로 변환하는 쿼터니언 변환부;
    상기 필드 데이터 입력부에서 추출된 키 데이터에 대해, 이전에 복원된 키와 현재 부호화할 키간의 차이값을 계산하는 차분펄스 코드변조부; 및
    쿼터니언 공간으로 변환된 키값 데이터를 물체의 최단 회전 이동 거리로 표현한 회전차분 변환행렬을 정의하고, 상기 회전차분 변환행렬에 근거하여 새로운 키값 데이터가 발생될 시에 그에 대응하는 키 데이터의 발생을 상기 차분펄스 코드변조부에 반영하는 회전차분 변환부를 포함하는 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 장치.
  3. 제2항에 있어서,
    상기 회전차분 변환부는
    현재 부호화할 키값 데이터와, 그에 대한 이전까지 복원된 회전차분 변환행렬을 누적한 데이터의 콘쥬게이트의 곱인 회전차분 변환행렬을 정의하는 회전차분 변환행렬 생성부;
    복수개의 구성요소로 구성된 회전차분 변환행렬 값들중 첫번째 구성요소의 값이 항상 크다는 조건을 만족하도록 상기 회전차분 변환행렬을 재정의하여 상기 양자화부로 출력하는 구성요소 조정부;
    상기 출력에 대응하여 현재 복원된 회전차분 변환행렬을 저장하고, 이전에 저장된 이전 복원된 회전차분 변환행렬을 제공하는 지연부; 및
    상기 지연부로부터 이전 복원된 회전차분 변환행렬을 순차 입력하여 상기 이전까지 복원된 회전차분 변환행렬을 누적한 데이터를 출력하는 누적부를 포함하는 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 장치.
  4. 제3항에 있어서,
    상기 구성요소 조정부는
    상기 회전차분 변환행렬의 복수개의 구성요소들중 첫번째 구성요소의 값이 최대인가를 판단하는 조건부; 및
    판단 결과 최대가 아니면, 물체의 최단 회전 이동 거리를 가질만한 회전 위치를 임의로 정의하여 새로운 키값 데이터를 발생하고, 그에 대응하는 키 데이터의 발생을 상기 차분펄스 코드변조부에 반영하는 키값 발생부를 포함하는 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 장치.
  5. 제1항에 있어서,
    상기 부호화 장치는 양자화된 키와 키값 데이터를 산술 부호화하는 엔트로피 부호화부를 더 포함하는 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 장치.
  6. 제5항에 있어서,
    상기 부호화 장치는 상기 산술 부호화된 데이터를 이진 형태의 스트림 데이터로 출력하는 출력부를 더 포함하며, 여기서 스트림 데이터의 구조는 키와 키값 데이터가 각기 구분된 형태로 구성된 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 장치.
  7. 제6항에 있어서,
    상기 부호화 장치는 상기 산술 부호화된 데이터를 이진 형태의 스트림 데이터로 출력하는 출력부를 더 포함하며, 여기서 스트림 데이터의 구조는 키와 키값 데이터가 각기 한쌍을 이루는 형태로 구성된 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 장치.
  8. 제1항 또는 제6항에 있어서,
    상기 부호화 장치는 출력 데이터를 복원하였을 때 부호화전 정보와의 시각적 화질 왜곡도를 회전차분 값에 따라 측정하는 왜곡 측정부를 더 포함하는 것을 특징으로 하는 오리엔테이션 보간 보드의 부호화 장치.
  9. 삼차원 공간에서 물체의 회전 정보를 제공하는 오리엔테이션 보간 노드의 부호화 방법에 있어서,
    (a) 상기 오리엔테이션 보간 노드를 파싱하여, 시간축상에서 회전 이동의 변이가 발생한 위치 정보를 나타낸 키와, 그 위치 정보에 대응한 회전 정보를 나타낸 키값으로 구성된 현재 부호화할 필드 데이터를 추출하는 단계;
    (b) 상기 키값 데이터를 쿼터니언 공간으로 변환한 후, 회전차분 변환행렬을 이용하여 적응형 차분펄스 코드변조 처리하고, 그 영향하에 상기 키 데이터를 차분 펄스 코드변조 처리하는 단계; 및
    (c) 상기 키 데이터 및 상기 키값 데이터를 양자화하여 출력하는 단계를 포함하는 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 방법.
  10. 제9항에 있어서,
    상기 (b) 단계는,
    (b1) 상기 (a) 단계에서 추출된 키값 데이터를 쿼터니언 공간으로 변환하는 단계;
    (b2) 쿼터니언 공간으로 변환된 키값 데이터를 물체의 최단 회전 이동 거리로 표현한 회전차분 변환행렬을 정의하는 단계;
    (b3) 상기 회전차분 변환행렬에 근거하여 새로운 키값 데이터가 발생될 시에 그에 대응하는 키 데이터를 발생하는 단계; 및
    (b4) 상기 (a) 단계에서 추출된 키 데이터 및 상기 (b3) 단계에서 발생된 키 데이터에 대해, 이전에 복원된 키와 현재 부호화할 키간의 차이값을 계산하는 단계를 포함하는 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 방법.
  11. 제10항에 있어서,
    상기 (b2) 단계에서 회전차분 변환행렬(
    Figure 112001016775113-pat00207
    )은 다음 수학식 6과 같이 정의되며,
    [수학식 6]
    Figure 112001016775113-pat00208
    여기서,
    Figure 112001016775113-pat00209
    는 쿼터니언 공간으로 변환된 현재 부호화할 키값 데이터를,
    Figure 112001016775113-pat00210
    는 그에 대한 이전까지 복원된 회전차분 변환행렬을 누적한 데이터의 콘쥬게이트를 각각 나타낸 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 방법.
  12. 제10항에 있어서,
    상기 (b2) 단계 후에,
    (b2-1) 복수개의 구성요소로 구성된 회전차분 변환행렬 값들중 첫번째 구성요소의 값이 항상 크다는 조건이 만족되는가를 판단하는 단계;
    (b2-2) 상기 조건을 만족하지 않으면, 상기 회전차분 변환행렬을 재정의하여 상기 (c) 단계로 출력하는 단계; 및
    (b2-3) 상기 조건을 만족하면 그대로 출력하는 단계를 포함하는 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 방법.
  13. 제12항에 있어서,
    상기 (b2-2) 단계는 상기 조건을 만족하지 않으면, 다음 수학식 7을 이용하여 새로운 키값 데이터를 발생하여 상기 회전차분 변환행렬을 재정의하도록 하며,
    [수학식 7]
    Figure 112005075698059-pat00211
    수학식 7에서, P는 새로운 키값 데이터를, B는 본래의 현재 부호화할 키값 데이터를, A는 이전 키값 데이터를 각각 나타내며, Ω는 A와 B간의 회전각을, θ는 A와 P간의 회전각을 각각 나타낸 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 방법.
  14. 제10항에 있어서,
    상기 (b3) 단계는 상기 새로운 키값 데이터가 발생될 시에, 다음 수학식 9를 이용하여 키 데이터를 발생하며,
    [수학식 9]
    Figure 112001016775113-pat00212
    수학식 9에서, Ki는 현재 키 데이터를, Ki-1는 이전 키 데이터를 각각 나타내며, Ω는 이전 키값 데이터와 본래의 현재 부호화할 키값 데이터간의 회전각을, θ는 이전 키값 데이터와 새로운 키값 데이터간의 회전각을 각각 나타낸 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 방법.
  15. 제9항에 있어서,
    상기 부호화 방법은,
    (d) 양자화된 키와 키값 데이터를 산술 부호화하는 단계를 더 포함하는 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 방법.
  16. 제15항에 있어서,
    상기 부호화 방법은
    (e) 산술 부호화된 데이터를 이진 형태의 스트림 데이터로 출력하는 단계를 더 포함하며, 여기서 스트림 데이터의 구조는 키와 키값 데이터가 각기 구분된 형태로 구성된 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 방법.
  17. 제15항에 있어서,
    상기 부호화 방법은,
    (e) 산술 부호화된 데이터를 이진 형태의 스트림 데이터로 출력하는 단계를 더 포함하며, 여기서 스트림 데이터의 구조는 키와 키값 데이터가 각기 한쌍을 이루는 형태로 구성된 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 방법.
  18. 제9항 또는 제15항에 있어서,
    상기 부호화 방법은,
    (c) 단계 후에, 출력 데이터를 복원하였을 때 부호화전 정보와의 시각적 화질 왜곡도를 회전차분 값에 따라 측정하는 단계를 더 포함하는 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 방법.
  19. 제18항에 있어서,
    상기 시각적 화질 왜곡도 측정에 근거가 되는 양자화 오차의 RMS(Dm) 및 최대오차(Dp)는 다음 수학식 15 또는 수학식 16을 이용하여 계산되며,
    [수학식 15]
    Figure 112001016775113-pat00213
    [수학식 16]
    Figure 112001016775113-pat00214
    수학식 15 및 수학식 16에서, Q 및 Q'는 부호화전 정보와 복호화된 정보의 쿼터니언 공간으로 변환된 키값 데이터를 각각 나타내는 것을 특징으로 하는 오리엔테이션 보간 노드의 부호화 방법.
  20. 삼차원 공간 상에서 삼차원 물체를 회전 이동하기 위해 필요한 회전 시간, 회전축, 및 회전각을 포함하는 회전 정보를 부호화하는 장치에 있어서,
    입력된 키값을 한 개의 실수와 3 개의 허수로 표현된 쿼터니언 공간 상의 쿼 터니언 표현값으로 변환하는 쿼터니언 변환부;
    입력된 키 및 상기 키값을 허용 오차 범위 내에서 선별적으로 선택하는 키 프레임 제거부;
    선택된 키를 선형 차분 처리하고, 선택된 키값을 회전 차분 처리하는 선형/회전 차분부;
    차분 처리된 키와 키값을 양자화하는 양자화부;
    양자화된 키 및 키값의 차분값을 다음 시간에 입력되는 키 및 키값의 양자화 오차 보상을 위해 역양자화하는 역양자화부;
    역양자화된 키 및 키값을 누적하는 선형/회전 적분부;
    양자화된 키값을 선형 차분 처리하는 선형 차분부; 및
    양자화된 키 및 키값을 산술 부호화하는 엔트로피 부호화부를 포함하는 것을 특징으로 하는 부호화 장치.
  21. 제20항에 있어서,
    상기 선형/회전 차분부는 물체의 현 위치로부터 회전 이동한 다음 위치에 대한 회전 변환을 [수학식 38]과 같은 쿼터니언 공간에서 회전 차분식을 통해 연속되는 키에 대응하는 키값 간의 회전 차분을 구하여 수행하는 것을 특징으로 하는 부호화 장치.
    [수학식 38]
    Figure 112001016775113-pat00215
  22. 제20항에 있어서,
    상기 선형/회전 차분 처리부는, 원래 회전 정보에서 지정하는 회전 방향과 같은 방향으로 회전하도록 회전 방향 보정기능을 수행하는 회전 방향 보정부를 구비하는 것을 특징으로 하는 부호화 장치.
  23. 제22항에 있어서,
    상기 회전 방향 보정부는
    포화된 회전 정보를 만들어 공급하는 회전 방향 포화부;
    회전 방향이 바뀌었는지 여부를 판별하는 판별부; 및
    상기 판별부의 판별 결과에 기초하여 상기 선형/회전 차분부 또는 상기 회전 방향 포화부의 출력을 선택적으로 입력받아 출력하는 선택부를 포함하는 것을 특징으로 하는 부호화 장치.
  24. 제23항에 있어서,
    상기 선택부는 상기 판별부의 판별 결과 회전 방향이 변경되었을 경우 상기 선형/회전 차분부로부터 출력되는 회전 차분값 대신 상기 회전 방향 포화부의 출력을 입력받아 출력시키고, 그렇지 않을 경우 상기 선형/회전 차분 처리부로부터 출력되는 회전 차분값을 입력받아 출력시키는 것을 특징으로 하는 부호화 장치.
  25. 키 및 키값을 입력받아 회전 정보를 부호화하는 방법에 있어서,
    (a) 선택된 키를 선형 차분 처리하고, 선택된 키값을 회전 차분 처리하여 회전 차분값을 얻는 단계; 및
    (b) 부호화 비트수를 줄이기 위해 회전 차분값을 구성하는 4개의 컴포넌트 중, 첫번째 컴포넌트를 제외한 나머지 3 개의 컴포넌트만을 부호화하고, 복호화부에서 [수학식 39]를 이용하여 복호화된 상기 3 개의 컴포넌트로부터 나머지 하나의 컴포넌트를 복호화하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
    [수학식 39]
    Figure 112001016775113-pat00216
KR1020010040705A 2000-10-20 2001-07-07 오리엔테이션 보간 노드의 부호화 장치 및 방법 KR100590522B1 (ko)

Priority Applications (10)

Application Number Priority Date Filing Date Title
CA 2359260 CA2359260C (en) 2000-10-20 2001-10-18 Coding apparatus and method for orientation interpolator node
RU2001128436A RU2224290C2 (ru) 2000-10-20 2001-10-19 Устройство и способ кодирования узла ориентационного интерполятора
CNB011457821A CN1198462C (zh) 2000-10-20 2001-10-19 用于定向内插器节点的编码装置和方法
ES01308904T ES2261353T3 (es) 2000-10-20 2001-10-19 Aparato y procedimiento de codificacion para nodo interpolador de la orientacion.
US09/981,962 US6834081B2 (en) 2000-10-20 2001-10-19 Coding apparatus and method for orientation interpolator node
EP20010308904 EP1199894B1 (en) 2000-10-20 2001-10-19 Coding apparatus and method for orientation interpolator node
EP05077826.5A EP1650975B1 (en) 2000-10-20 2001-10-19 Coding apparatus and method for orientation interpolator node
ES05077826T ES2417529T3 (es) 2000-10-20 2001-10-19 Aparato y procedimiento de codificación para nodo interpolador de orientación
DE2001618491 DE60118491T2 (de) 2000-10-20 2001-10-19 Kodiergerät und Kodierverfahren für einen Orientierungsinterpolationsknoten
JP2001324068A JP3521412B2 (ja) 2000-10-20 2001-10-22 オリエンテーション補間ノードの符号化装置及び方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020000061985 2000-10-20
KR20000061985 2000-10-20

Publications (2)

Publication Number Publication Date
KR20020031028A KR20020031028A (ko) 2002-04-26
KR100590522B1 true KR100590522B1 (ko) 2006-06-15

Family

ID=19694625

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020010040705A KR100590522B1 (ko) 2000-10-20 2001-07-07 오리엔테이션 보간 노드의 부호화 장치 및 방법
KR1020010040706A KR100612828B1 (ko) 2000-10-20 2001-07-07 오리엔테이션 보간 노드의 부호화 장치 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020010040706A KR100612828B1 (ko) 2000-10-20 2001-07-07 오리엔테이션 보간 노드의 부호화 장치 및 방법

Country Status (3)

Country Link
EP (1) EP1650975B1 (ko)
KR (2) KR100590522B1 (ko)
ES (1) ES2417529T3 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100480787B1 (ko) * 2001-11-27 2005-04-07 삼성전자주식회사 좌표 인터폴레이터의 키 값 데이터 부호화/복호화 방법 및 장치
EP2302929B1 (en) 2001-11-27 2015-03-25 Samsung Electronics Co., Ltd. Coding and decoding of a bitstream with a coordinate interpolator
US7809204B2 (en) 2002-10-18 2010-10-05 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key value data of coordinate interpolator
KR100832872B1 (ko) * 2006-12-28 2008-05-28 충북대학교 산학협력단 기하학적 변환을 이용한 영상 부호화 효율 향상 방법 및장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797836A (en) * 1986-11-19 1989-01-10 The Grass Valley Group, Inc. Image orientation and animation using quaternions
JPH09182082A (ja) * 1995-12-25 1997-07-11 Nippon Telegr & Teleph Corp <Ntt> 動画像の動き補償予測符号化方法とその装置
KR970073126A (ko) * 1996-04-29 1997-11-07 김광호 회전 움직임 추정 방법 및 이를 이용한 영상 부호화/복호화장치
KR19980017376A (ko) * 1996-08-30 1998-06-05 김광호 적응차분 펄스부호변조 압축회로
KR20000052205A (ko) * 1999-01-30 2000-08-16 김영환 디지털 신호처리장치에서의 동화상 처리방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2144253C (en) * 1994-04-01 1999-09-21 Bruce F. Naylor System and method of generating compressed video graphics images
US6577310B1 (en) * 1998-12-01 2003-06-10 Samsung Electronics Co., Ltd. 3D mesh coding/decoding method and apparatus for error resilience and incremental rendering

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797836A (en) * 1986-11-19 1989-01-10 The Grass Valley Group, Inc. Image orientation and animation using quaternions
JPH09182082A (ja) * 1995-12-25 1997-07-11 Nippon Telegr & Teleph Corp <Ntt> 動画像の動き補償予測符号化方法とその装置
KR970073126A (ko) * 1996-04-29 1997-11-07 김광호 회전 움직임 추정 방법 및 이를 이용한 영상 부호화/복호화장치
KR19980017376A (ko) * 1996-08-30 1998-06-05 김광호 적응차분 펄스부호변조 압축회로
KR20000052205A (ko) * 1999-01-30 2000-08-16 김영환 디지털 신호처리장치에서의 동화상 처리방법

Also Published As

Publication number Publication date
EP1650975A1 (en) 2006-04-26
KR20020031028A (ko) 2002-04-26
ES2417529T3 (es) 2013-08-08
KR20020031029A (ko) 2002-04-26
EP1650975B1 (en) 2013-05-22
KR100612828B1 (ko) 2006-08-18

Similar Documents

Publication Publication Date Title
KR100537500B1 (ko) 회전 인터폴레이터의 키 값 데이터 부호화 및 복호화 방법및 장치
US7406206B2 (en) Method and apparatus for encoding and decoding key value data of orientation interpolator node
US6834081B2 (en) Coding apparatus and method for orientation interpolator node
JP3699685B2 (ja) 3次元オブジェクトの形態変形情報の符号化方法及びその装置
EP1199895B1 (en) Encoding/decoding apparatus and method for orientation interpolator node data
KR100590522B1 (ko) 오리엔테이션 보간 노드의 부호화 장치 및 방법
EP1209626A2 (en) Method and apparatus for data compression
JP3699066B2 (ja) グラフィックアニメーションデータの符号化及び復号装置並びにその方法
EP1322120A2 (en) Method and apparatus for encoding and decoding key value data of orientation interpolator node
Bodne et al. Design and Analysis of Quantization Based Low Bit Rate Encoding System
KR20030004943A (ko) 3차원 애니메이션 객체의 형태 변환 정보에 대한 키 값부호화 방법 및 그 장치
KR0171750B1 (ko) 피티에스 벡터양자화를 이용한 호환 부호기
JP4629014B2 (ja) 位置インタポレータの符号化/複合化方法、及び装置
Jónsson et al. Subband coding of video using adaptive quantization
Fowler An algorithm for image compression using differential vector quantization
JPH10187998A (ja) 映像信号における物体の輪郭線符号化方法

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: 20130530

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee