YCbCr 색 공간은 JPEG 이미지로 어떻게 표현됩니까?


9

24 비트 이미지는 R, G 및 B에 각각 8 비트를 사용한다는 것을 알고 있습니다. RGB 색상 공간에만 해당됩니다. 24 비트 JPEG 이미지의 YCbCr 색 공간에서 비트는 어떻게 분산됩니까?

답변:


3

YCbCr에는 몇 가지 형식이 있습니다. 일반적으로 눈은 채도 (Cb, Cr, 색상)의 변화보다 휘도 (Y, 밝기)의 변화에 ​​더 민감합니다. 따라서, 화질을 유지하면서 일부 크로마 정보를 소거 할 수있다.

따라서 가장 "비싼"형식은 4 : 4 : 4이며, 각 루마 (Y) 구성 요소마다 1 개의 빨간색 차이 (Cr)와 1 개의 파란색 차이 (Cb) 구성 요소가 있습니다.

그런 다음, 내가 언급 한 원리를 적용하면 4 : 2 : 2가 있으며, 여기서 2 개의 Y 성분마다 1 Cb와 1 Cr이 있습니다. 4 : 1 : 1 및 4 : 2 : 0 등으로 더 진행 됩니다 . 자세한 내용은 여기를 참조하십시오 .


이러한 패턴은 JPEG 인코딩이 아닌 비디오의 주파수 샘플링을 나타내는 것으로 보입니다.
whuber

@ whuber : 비디오 코딩에 자주 사용되지만 JPEG는 두 배의 색차 해상도로 휘도를 지원합니다. JPEG의 경우 선택 사항이지만 크로마는 전체 해상도 또는 절반 해상도 일 수 있습니다.
Jerry Coffin

1
김프는 JPEG를 저장할 때 기본적으로 크로마 서브 샘플링을 사용하지만 무시하기 쉽습니다. 이것이 Photoshop에도 적용되는지 기억할 수 없습니다.
thomasrutter

@thomasrutter에서 Photoshop은 선택한 품질 설정에 따라 서브 샘플링을 선택합니다. 독립적 인 옵션이 아닙니다.
Mark Ransom

그런데 숫자는 Y, Pr 및 Pb에 대한 4 개의 수평 픽셀 당 샘플 수를 나타냅니다. 4 : 4 : 4는 3 개의 채널 모두가 모든 픽셀을 샘플링한다는 것을 의미합니다. 4 : 2 : 2는 Pr 및 Pb 채널이 매 초마다 수평으로 만 샘플링한다는 것을 의미합니다. 4 : 1 : 1 (저는 이것이 비디오에만 사용되는 것은 아니라고 생각합니다)는 Pr과 Pb가 4 번째 픽셀마다 수평으로 만 샘플링한다는 의미입니다. 4 : 2 : 0은이 규칙과 특별한 편차입니다. Pb 채널이 없다는 의미는 아닙니다. 의미하는 것은 Pr 및 Pb 채널이 수평뿐만 아니라 수평 및 수직 방향으로 반으로 줄어든다는 것 입니다.
thomasrutter

24

JPEG는 R, G 및 B 채널당 8 비트로 시작될 수 있지만 JPEG에 저장 될 때 실제 "비트 심도"는 없지만 값은 주어진 정밀도의 주파수 계수로 저장되는 매우 다르게 저장됩니다.

JPEG에서 더 관련성이 높은 것은 양자화 속도 이며, 이는 압축의 양자화 단계에서 얼마나 많은 정보가 버려지 는가에 따라 각 계수가 얼마나 정확한지에 영향을줍니다. 이 양자화 비율은 Photoshop에서 JPEG를 저장할 때 "품질"설정으로 설정됩니다. 비록 래스터 이미지에서와 같이 비트 깊이와 관련이 없으며 JPEG 인코더 / 디코더가 24 비트로 시작 / 종료되지만 JPEG 이미지의 JPEG 이미지에는 비트 심도가 없다고 말할 수도 있습니다. 래스터 이미지.

JPEG 저장과 관련된 다른 주요 요소는 크로마 서브 샘플링 유형 입니다. JPEG에서는 휘도 (밝기) 채널을 기준으로 색상 (Pr 및 Pb) 채널의 수평 또는 수평 및 수직 해상도를 절반으로 줄이는 옵션이 있습니다. 압축을 풀 때 색상 채널이 보간되고 대부분의 사진 주제에서는 큰 차이가 없습니다.

다음은 이미지가 JPEG로 변환되는 방법에 대한 대략적인 요약입니다.

  1. RGB 값은 Y, Pb, Pr 값으로 변환됩니다. YPbPr 색 공간은 가장 압축 된 휘도 정보를 하나의 채널에만 유지하므로 효율적인 압축에 더 적합합니다. 이 변환은 반올림 오류가없는 경우를 제외하고는 완벽하게 되돌릴 수있는 간단한 산술 연산입니다.

  2. 크로마 서브 샘플링을 사용하는 경우 (즉, 4 : 4 : 4 이외의 모드를 사용하는 경우) Pb 및 Pr 채널의 수직 및 / 또는 수평 해상도 만 절반으로 줄어 듭니다. 따라서 이러한 채널은 휘도 채널과 다른 픽셀 크기를 갖습니다. 이로 인해 컬러 채널의 해상도가 영구적으로 손실됩니다.

  3. 각 채널에 대해 이미지는 8 픽셀 x 8 픽셀의 블록으로 나뉘어 각 채널의 각 블록에 대해 64 개의 선형 값을 제공합니다. 채널이 어느 한 차원에서 8 픽셀의 배수가 아닌 경우 가장자리 픽셀이 반복됩니다 (압축 해제시 발생). 따라서 JPEG 압축은 8 픽셀의 배수, 또는 16 배인 경우 16보다 항상 효율적입니다. 크로마 서브 샘플링에서).

  4. 각 블록의 64 값은 공간 도메인에서 주파수 도메인으로의 변환을 겪습니다 (이 경우 이산 코사인 변환이라고 함). 결국 64 개의 계수로 끝납니다. 각 계수는 해당 블록이 차지하는 영역에 대한 특정 주파수 맵의 진폭을 나타냅니다. 첫 번째 값은 블록의 가장 높은 주파수 성분을 나타내는 마지막 값까지 모든 픽셀의 평균값 인 사실상 가장 낮은 주파수입니다. 초기 값은 모두 훨씬 더 많이 벗어나므로 블록의 이후 값보다 최종 이미지 모양에 더 중요합니다. 이 작업은 충분한 정밀도를 사용하는 한 완벽하게 되돌릴 수 있습니다.

  5. 그런 다음 이전 단계에서 얻은 64 개의 계수 각각을 몇 개의 숫자 (양자화 계수라고 함)로 나눠 나머지 부분을 제거하는 양자화 단계가 있습니다. 여기에서 샘플의 정밀도가 가장 큰 영향을 받지만 무손실 압축과 비교하여 JPEG에서 공간을 크게 절약 할 수 있습니다. 이전 변환 이후 모든 것이 주파수 영역에 있으므로이 정확도 손실은이 변환 이전의 픽셀의 비트 심도 / 정확도를 줄이는 것보다 지각적인 이미지 품질을 유지하는 데 가장 효과적입니다. 이 절차의 반대는 단순히 계수를 나눈 것과 같은 수를 곱하는 것이지만 나머지를 버렸기 때문에 계수의 정밀도가 떨어집니다. 이로 인해 영구적 인 품질 손실이 발생합니다.

  6. 이 양자화 후, 덜 중요한 계수들 중 다수가 0이되는 것이 일반적이므로, 이들은 버려집니다. 그런 다음 (무손실) 가변 길이 코딩 루틴은 각각의 계수가 다른 수의 비트를 사용하더라도 나머지 모든 계수를 효율적으로 인코딩합니다.

양자화는 비트 심도를 줄일 때와 같이 밴딩을 제공하지 않고 대신인지 할 수있는 부분부터 세부적으로 전체적인 지각 손실을 제공하기 때문에 특정 양자화 계수가 특정 비트 심도와 동일하다고 말할 수는 없습니다. 주파수의 진폭이 낮기 때문에 더 적습니다.


2
내 뇌가 방금 폭발했다고 생각합니다.
Nick Bedford

크로마 서브 샘플링은 단지 "해상도 손실"을 초래하지 않습니다. 특히 빨간색 채널에서 눈에 띄는 아티팩트를 소개합니다.
Mark Ransom

@ 마크 랜섬 (Mark Ransom) 이러한 인공물은 색상 채널의 해상도를 절반으로 낮추고 압축 해제 후이를 설명하는 데 필요한 보간에 지나지 않습니다. 이 보간을 망칠 수 있거나 매우 가까운 가장 가까운 이웃 보간을 수행하는 디코더가있을 수 있지만 빨강에 대해 눈에 띄는 블로 키가 발생할 수는 있지만 해상도가 흐려짐으로 인한 것 이외의 "알릴 수있는 아티팩트"를 생성해서는 안됩니다. 검정에 대한 세부 사항 (또는 파란색에 자홍색 등). 예를 들어 이것은 일부 초기 DVD 플레이어에서 일반적인 문제였습니다.
thomasrutter

5
나는 jpeg-또는 실제로 손실이있는 이미지 압축에 대한 설명을 더 잘 이해하기 쉽게 본 적이 없다고 생각합니다. 확정적 +1
jay.lee

죄송합니다. 서브 샘플링이 아티팩트를 유발한다는 것을 의미하지는 않았습니다. 양자화로 인한 기존 오류가 2 배 증가하여 훨씬 더 눈에 잘 띄게됩니다. 서브 샘플링의 가시적 인 효과가 약간의 추가 퍼지 이상의 것임을 아는 것이 중요하다고 생각합니다.
Mark Ransom

1

루마 (Y)와 별도의 채널에서 크로마 (Cb Cr)를 나타내는 것은 압축에 또 다른 긍정적 인 영향을 미칩니다. 보이는 정보의 대부분은 루마 채널에 있습니다. 인간의 눈은 채도 채널에서 더 낮은 공간 분해능과보다 적극적인 양자화를 모두 허용합니다. 따라서 적극적으로 압축 된 이미지는 채도에 대해 파일 공간의 약 10 %를 소비하고 나머지는 루마에 대해 소비하지만 여전히 괜찮게 보입니다.

하루가 끝나면 여전히 압축 손실이 있습니다.


-1

각 채널마다 약 8 비트이지만 약간 다른 방법이 있습니다. 자세한 내용은 YCbCrWikipedia 기사에 나와 있습니다.


이것은 질문에 언급되었습니다. 더 자세한 답변을 제공하십시오.
Nick Bedford

@Nick 질문에서 "이것"은 정확히 어디에 있습니까? 현재 24 비트 JPEG 이미지의 YCbCr 컬러 공간에서 비트는 어떻게 분산되어 있습니까? 나는 질문을 이해하는 사람은 누구나 채널이 Y, Cb 및 Cr이라고 가정하고 어떻게 배포되는지 말했습니다. 내 대답은 Wikipedia 기사의 올바른 요약입니다. SE 정책은 복사물 도매가 아닌 요약을 제공하는 것입니다 (이 사이트의 다른 곳에서는 긴 인용문의 경계선 예제를 제공하는 것이 쉽지만).
whuber

나는 이런 종류의 대답은 완전한 설명만큼 좋지는 않지만 Wikipedia에서 잘라서 붙여 넣거나 Wikipedia 기사 전체를 역설하는 것보다 훨씬 낫다고 생각합니다. 위키 백과가 좋으면 사람들에게 알려 주면 도움이됩니다. 그리고 그것이 당신 의 모든 대답 이라면 기여하고, 선구자이며, 요약과 링크를 제공하는 것이 옳은 일입니다.
내 프로필을 읽으십시오
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.