SYDLAB_inha/Dynamic Mesh

VDMC - Wavelet transform ( Lifting transform )

빈그레 2024. 2. 1. 16:11

 

 

 


Lifting transform

 

 

 

 

 

Lifting Scheme 또는 Lifting Transform은 원래의 wavelet 변환을 개선한 것으로, wavelet 변환의 계산 효율성과 융통성을 향상시킨 방법입니다. Wavelet 변환은 시간-주파수 분석을 위해 신호를 다양한 주파수 구성 요소로 분해하고, 이를 통해 신호의 특성을 분석할 수 있게 해줍니다. Lifting Scheme은 이 과정을 더 효율적이고 실용적으로 만듭니다.

 

 

Lifting Scheme의 주요 특징과 과정:

 

  1. 분할 단계(Split Step): 데이터 샘플을 홀수 인덱스와 짝수 인덱스의 두 그룹으로 분할합니다. 이렇게 분할하는 것은 계산을 단순화하고, 후속 단계에서의 처리를 용이하게 합니다.
  2. 예측 단계(Predict Step): 한 그룹의 데이터(예: 짝수 인덱스)를 사용하여 다른 그룹의 데이터(예: 홀수 인덱스)를 예측합니다. 이 예측은 주로 데이터의 상관관계를 이용합니다. 이때 예측이 완벽하게 이루어지지 않는 경우가 많은데, 이는 데이터 내부에 빠르게 변화하는 성분, 즉 고주파 성분이 존재하기 때문입니다. 예를 들어, 부드러운 곡선이나 천천히 변화하는 신호는 쉽게 예측할 수 있지만, 갑자기 방향을 바꾸거나 빠르게 변화하는 부분(예: 이미지에서의 가장자리)은 예측하기 어렵습니다. 이러한 부분에서 발생하는 예측 오차가 바로 고주파 성분을 나타냅니다.
    예측 오차, 즉 고주파 성분은 신호의 중요한 정보를 담고 있습니다. 이 성분은 신호의 디테일과 세밀한 변화를 포함하고 있기 때문에, 이를 잘 보존하는 것이 중요합니다. Lifting Scheme에서는 이러한 예측 오차를 wavelet 계수로 변환하여 디테일 정보를 효과적으로 표현하고 저장합니다.

  3. 업데이트 단계(Update Step): 예측된 값들을 이용하여 다른 그룹의 데이터(여기서는 짝수 인덱스 데이터)를 수정합니다. 이 과정은 낮은 주파수 성분을 정제하는 역할을 하며, 결과적으로 더 부드러운 추세 또는 근사치를 생성합니다.

  4. 역변환(Inverse Transform): Lifting Scheme은 역변환 과정도 간단하게 만듭니다. 업데이트 단계와 예측 단계를 역순으로 진행함으로써 원래의 데이터를 복구할 수 있습니다.

 

 

 

 

  1. 메쉬 분해(Mesh Decimation): 왼쪽의 그림은 메쉬가 각 단계에서 어떻게 단순화되는지 보여줍니다. 여기서 는 각각 다른 Level of Detail을 나타냅니다.이 과정은 메쉬의 복잡도를 줄이면서도 주요 특징을 보존하기 위한 것입니다.

  2. 주파수 분해(Frequency Decomposition): 중간의 그림은 메쉬에서 저주파 성분을 추출하는 것을 보여줍니다. 이 저주파 성분은 메쉬의 기본 형태와 구조를 나타냅니다. 이렇게 추출된 저주파 성분은 비디오 인코딩이나 이미지 패킹 과정에 사용될 수 있습니다.

  3. Lifting Transform의 단계: 오른쪽의 그림은 Lifting Transform의 세부 단계를 나타냅니다. "Split"은 원본 데이터를 홀수와 짝수 혹은 다른 방식으로 분할하는 것을 의미합니다. "pred"는 예측 단계로, 한 그룹의 데이터를 사용하여 다른 그룹의 데이터를 예측합니다. "update"는 업데이트 단계로, 예측한 정보를 사용하여 다른 데이터 그룹을 정제합니다. 이 과정을 통해 신호의 고주파 성분(디테일, 예측 오차)과 저주파 성분(기본 형태, 업데이트된 데이터)이 추출됩니다.

  4. 비트스트림(Bitstream): 아래쪽의 흐름도는 전체 인코딩 과정을 보여줍니다. 메쉬 데이터가 이미지 패킹 및 비디오 인코딩을 거쳐 최종적으로 비트스트림으로 변환되는 과정을 나타냅니다. 이 비트스트림은 네트워크를 통한 전송이나 저장 매체에 저장되기 위한 데이터의 형태입니다.

 

 

 

 

 

  1. Split 단계: 여기서는 원본 데이터를 두 개의 부분으로 나눕니다. 보통 이 과정에서 데이터는 홀수와 짝수 인덱스의 서브셋 또는 다른 방식으로 구분됩니다.

  2. Predict 단계: 한 서브셋의 데이터를 사용하여 다른 서브셋을 예측합니다. 이 예측 과정에서 발생하는 오류(예측값과 실제 값 사이의 차이)는 고주파 성분, 즉 세부적인 정보를 나타냅니다. 이 고주파 성분은 'Residual'이라는 레이블과 함께 도식화되어 있습니다.

  3. Update 단계: 예측된 서브셋을 사용하여 원본 데이터의 다른 서브셋(여기서는 예측에 사용되지 않은 쪽)을 수정합니다. 이는 저주파 성분을 조정하는 단계로, 신호의 기본 형태나 추세를 나타내는 부분입니다.

  4. LoD 변환: 각 LoD 단계는 원본 데이터를 더 단순화된 형태로 변환합니다. 예를 들어, LoD2에서 시작하여 LoD1으로 갈수록 데이터는 더 상세한 정보를 포함하게 되며, LoD0는 가장 상세한 정보를 담은 상태입니다.

  5. 비트스트림: 이 과정을 거쳐 생성된 저주파 및 고주파 성분(Residuals 포함)은 비트스트림 형태로 인코딩됩니다. 이는 데이터를 효율적으로 저장하거나 전송하기 위해 사용됩니다.

 

 

이를 재귀적으로 쭉 실행을 하면 LOD0''까지 나오게 된다.

 

LOD0''는 low frequency값으로 해당 mesh의 DC값을 의미하여  평균 또는 기본값(base level)을 나타낸다. 이미지나 신호 처리에서 DC 성분은 전체 신호 또는 이미지에서 가장 낮은 주파수를 가지며, 가장 일반적인 정보나 배경을 나타낸다.

세부 정보나 변화가 제거된 상태, 즉 가장 낮은 주파수 성분을 의미한다고 할 수 있다.

 

//가장 간단한 정보,기본정보가 저주파!  변화가 많아 예측값과의 차이값이 존재하여 residual로 나온 것은 고주파!

 

재귀적으로 하나씩 나온 residual값들과 마지막으로 나온 LOD0''값이 최종 output이 되어 quantization된다.

 

'SYDLAB_inha > Dynamic Mesh' 카테고리의 다른 글

Sorting - longdress  (0) 2024.02.25
VDMC - Other extensions  (0) 2024.02.01
VDMC - Apple's(6) / inter Decoding  (3) 2024.01.31
VDMC - Apple's(5) / Inter Encoding  (0) 2024.01.29
VDMC - Apple's(4) / Intra Decoding  (0) 2024.01.29