video - 푸리에 - 지그재그 스캐닝




비디오 압축:이산 코사인 변환이란 무엇입니까? (4)

필자는 이산 코사인 변환이라는 이미지 / 비디오 변환 기술을 구현했습니다. 이 기술은 MPEG 비디오 인코딩에 사용됩니다. 내 알고리즘은 다음 URL에 제시된 아이디어를 기반으로합니다.

http://vsr.informatik.tu-chemnitz.de/~jan/MPEG/HTML/mpeg_tech.html

이제 흑백 이미지의 8x8 섹션을 다음과 같이 변형 할 수 있습니다.

0140  0124  0124  0132  0130  0139  0102  0088  
0140  0123  0126  0132  0134  0134  0088  0117  
0143  0126  0126  0133  0134  0138  0081  0082  
0148  0126  0128  0136  0137  0134  0079  0130  
0147  0128  0126  0137  0138  0145  0132  0144  
0147  0131  0123  0138  0137  0140  0145  0137  
0142  0135  0122  0137  0140  0138  0143  0112  
0140  0138  0125  0137  0140  0140  0148  0143 

오른쪽 상단에 모든 중요한 정보가 담긴 이미지. 변환 된 블록은 다음과 같습니다.

1041  0039  -023  0044  0027  0000  0021  -019  
-050  0044  -029  0000  0009  -014  0032  -010  
0000  0000  0000  0000  -018  0010  -017  0000  
0014  -019  0010  0000  0000  0016  -012  0000  
0010  -010  0000  0000  0000  0000  0000  0000  
-016  0021  -014  0010  0000  0000  0000  0000  
0000  0000  0000  0000  0000  0000  0000  0000  
0000  0000  -010  0013  -014  0010  0000  0000  

이제이 변환을 어떻게 활용할 수 있는지 알고 싶습니다. 좋은 일치를 나타내는 동일한 이미지 (또는 다른 이미지)에서 다른 8x8 블록을 감지하고 싶습니다.

또한,이 변환은 무엇을 제공합니까? 변환 된 이미지의 오른쪽 상단에 저장된 정보가 중요한 이유는 무엇입니까?


올바르게 기억하면이 행렬을 사용하여 압축 된 파일에 데이터를 저장할 수 있습니다.

더 자세히 읽으면 마지막 행렬에서 읽을 지그재그 패턴의 데이터를 찾을 수 있습니다. 가장 중요한 데이터는 왼쪽 위 모서리에 있고 가장 중요한 데이터는 오른쪽 하단 모서리에 있습니다. 따라서 어떤 시점에서 글쓰기를 멈추고 나머지는 0으로 간주하면 이미지가 손실 될 수 있습니다.

버리는 값의 수는 이미지 충실도를 희생시키면서 압축을 증가시킵니다.

하지만 다른 사람이 당신에게 더 나은 설명을 줄 수 있다고 확신합니다.


DCT의 결과는 원래 소스를 주파수 도메인으로 변환하는 것입니다. 왼쪽 상단 엔트리는 "진폭"을 저장하고 "기본"주파수와 주파수는 수평 및 수직 축을 따라 증가합니다. DCT의 결과는 일반적으로보다 일반적인 저주파수 (왼쪽 상단 사분면)에서의 진폭 모음이며 높은 주파수에서는 적은 항목입니다. lassevk 언급했듯이, 일반적으로 소스의 아주 작은 부분을 구성하기 때문에 이러한 높은 주파수를 그냥 제로로하는 것이 일반적입니다. 그러나 이로 인해 정보가 손실됩니다. 압축을 완료하려면 DCT 소스에 대해 무손실 압축을 사용하는 것이 일반적입니다. 이것은 압축이 오는 곳으로 모든 0이 실행되면 거의 아무것도 압축되지 않습니다.

유사한 영역을 찾기 위해 DCT를 사용하는 한 가지 가능한 이점은 낮은 주파수 값 (왼쪽 위 모서리)에서 첫 번째 일치를 수행 할 수 있다는 것입니다. 이렇게하면 일치해야하는 값 수가 줄어 듭니다. 낮은 주파수 값과 일치하는 것을 발견하면 높은 주파수를 비교할 수 있습니다.

희망이 도움이


데이터 압축 북 에서 DCT에 대해 알고있는 모든 것을 배웠습니다. 데이터 압축 분야에 대한 훌륭한 소개가되는 것 외에도 JPEG 및 DCT를 도입하는 손실이 많은 이미지 압축의 끝 부분에 장이 있습니다.


앤서니 크램프의 대답은 나에게 잘 어울려 보였다. 그는 DCT가 데이터를 주파수 도메인으로 변환하는 것에 대해 언급합니다. DCT는 사람의 시각 시스템이 고주파 변화에 덜 민감해야하기 때문에 비디오 압축에 많이 사용됩니다. 따라서 높은 주파수 값을 제로로 설정하면 비디오 화질에 대한 인간의 인식에 거의 영향을 미치지 않고 파일 크기가 작아집니다.

DCT를 사용하여 이미지를 비교할 때, 더 높은 빈도의 데이터를 잘라 내고 더 작은 데이터 세트를 검색 / 일치시키는 것이 유일한 실제 이점이라고 생각합니다. Harr 웨이브 렛과 같은 것은 이미지 매칭 결과가 더 좋을 수 있습니다.