최소 JPG 압축 패턴은 무엇입니까? (카메라 촬영 천, 스케일 / 각도 / 조명은 다를 수 있음)


46

카메라의 관점에서 JPG로 압축하기가 매우 어려워 파일 크기가 커지거나 파일 크기가 고정되어 있으면 이미지 품질이 저하되는 천을 디자인하려고합니다.

천이 카메라에서 멀리 떨어져 있거나 회전되어 있어도 작동해야합니다 (크기가 1x에서 10x까지 다양 할 수 있음).

소음 은 꽤 좋지만 (압축하기는 어렵지만) 멀리서 보면 회색으로되어 압축하기 쉽습니다. 좋은 패턴은모든 크기에서 비슷하게 보이는일종의 프랙탈 입니다.
단풍은 더 나은 (잎, 작은 가지, 작은 가지, 큰 가지)이지만, 너무 적은 수의 색상을 사용합니다.

첫 번째 시도는 다음과 같습니다. 가장 압축 불가능한

더 최적의 패턴이 있다고 확신합니다.
육각형 또는 삼각형 테셀레이션 이 더 잘 수행 될 수 있습니다.

JPG는 Y 'Cb Cr 색 공간을 사용합니다 .Cb Cr은 비슷한 방식으로 생성 될 수 있다고 생각하지만 카메라가 밝은 영역이나 어두운 영역을 포화시키기 때문에 Y'(밝기)의 전체 범위를 균일하게 사용하지 않는 것이 좋습니다 ( 조명은 완벽하지 않습니다).

질문 : 이 문제에 가장 적합한 천 패턴은 무엇입니까?


1
이 질문에 계속주의를 기울여야 할 것입니다 .. 흥미로운 답변을 얻으면 www.spoonflower.com (또는 유사한 서비스)에서 원단 주문을 예측할 수 있으며 셔츠를 추가하기가 정말 어렵습니다. 내 컬렉션에 ;-)
RBerteig

흥미로운 패턴 경쟁 프로젝트는 다음과 같습니다. 1) 이러한 패턴의 고화질 이미지를 촬영합니다. 2) 회전, 임의의 부분 (임의 스케일로)을 취하고 비트를 흐리게 처리하며 약간의 노이즈와 작은 임의의 색을 추가합니다. 편차 3) JPG로 압축 4) 파일 크기 참조, 품질 손실에 대한 메트릭 계산 및 이러한 메트릭을 사용하여 "점수"계산 5)이 패턴의 평균 점수로 수렴하기 위해 여러 번 반복 6) 다른 패턴과 반복하여 점수 비교
Nicolas Raoul

1
손실 알고리즘은 더 많은 데이터를 버림으로써 항상 더 많이 압축 할 수 있기 때문에 고주파 세부 사항에 의존하는 패턴을 사용하는 것이 더 운이 좋은 것 같습니다. 예를 들어가는 선. 다시 말해서 압축률은 좋지만 품질이 매우 빠르게 저하됩니다. 당신이 달성하고자하는 것에 달려 있습니다. 지문을 생각해보십시오. 세부 사항을 보존해야하기 때문에 JPEG에 대한 우수한 압축을 위해 웨이블릿이 필요한 전형적인 사례입니다.
datageist

@datageist : 줄이있는 헝겊의 사진 (원시 카메라 출력)은 압축하기 어려울 수 있지만 뒤로 물러서서 다른 사진을 찍습니다. 회색 픽셀 만 포함하고 거의 손실없이 압축하기 쉽습니다. 내가 찾고있는 패턴은 넓은 범위의 스케일로 압축하기 어려운 사진 (원시 카메라 출력)을 가져와야합니다.
Nicolas Raoul

@NicolasRaoul 맞습니다. 충분한 정보를 버리면 압축 가능한 것이 무엇이든 말입니다. "압축하기 어렵다"(즉, 재미를 위해)라는 구별이있는 패턴을 원하십니까? 아니면 패턴이 포함 된 이미지를 압축하려고 시도하는 사람들을 적극적으로 막으려 고합니까?
datageist

답변:


15

소음은 꽤 좋지만 (압축하기는 어렵지만) 멀리서 보면 회색으로되어 압축하기 쉽습니다. 좋은 패턴은 모든 크기에서 비슷하게 보이는 일종의 프랙탈입니다.

음, 프랙탈 노이즈가 있습니다. 나는 Brownian 노이즈 가 프랙탈처럼 보인다고 생각 합니다. Wikipedia는 Perlin 노이즈 를 다른 스케일로 자체 에 추가 하여 프랙탈 노이즈를 생성하는 것에 대해 이야기합니다 .

펄린 프랙탈 노이즈

그래도 압축하기 어렵다고 생각하지 않습니다. 무손실 압축에는 노이즈 어렵지만 JPEG는 손실이 있으므로 세부 정보를 그대로 사용하지 않아도됩니다. "JPEG가 압축하기 어려운"것을 만드는 것이 가능한지 잘 모르겠습니다. 품질 수준에서 압축하기가 너무 어려운 것은 무시하기 때문입니다.

무한한 바둑판 평면과 같이 어떤 규모로든 가장자리가 단단한 것이 더 좋습니다.

무한 바둑판 평면

색상이 많은 것도 있습니다. 프랙탈 노이즈 대신 실제 프랙탈을 볼 수도 있습니다. 어쩌면 몬드리안 프랙탈 ? :)

몬드리안 프랙탈


1
고마워요! 프랙탈 노이즈는 확실히 내가 찾던 것들이지만 테스트에서 잘 압축되어 히트 맵과 같은 매끄러움 대신 더 급격한 전환을 사용할 수 있다고 생각합니다. 바둑판의 문제점은 성능이 실제로 옷감의 어느 부분이 사진에 찍히 느냐에 달려 있다는 것입니다. 몬드리안 프랙탈은 훌륭하고 지금까지 테스트에서 최고 성능을 발휘했습니다. 더 많은 색상과 약간 다른 매개 변수를 사용할 수 있습니다.
Nicolas Raoul

@NicolasRaoul : 흠 .. 아마 시어 핀 스키 카펫색상 ? 그것은 이미 일반적인 이불 패턴 입니다.
endolith

Sierpinski 삼각형 또는 사각형의 테셀레이션은 실제로 대단 할 것입니다!
Nicolas Raoul

14

우리가 컴퓨터로 생성 된 이미지에 대해 이야기한다면 노이즈가 올바른 방법 일 것입니다. 그러나 여기에는 카메라 캡처 단계가 있습니다.

프랙탈 비트 때문에 규모의 불변의 문제로 매우 중요합니다. 그러나 사람이 사진을 찍을 거리 범위가 제한되어 있다고 생각하면 실제로 프랙탈 일 필요는 없습니다. 천을 입은 사람이 그림의 배경에 있다면 어쨌든 큰 영향을 미치지 않을 것입니다 ...

JPEG 인코더를 속이는 가장 좋은 방법은 양자화에도 불구하고 매우 높은 주파수 계수를 갖는 블록을 갖는 것입니다. 따라서 전체 계수 시퀀스는 15 번째 계수 정도의 EOB 대신 명시 적으로 작성해야합니다. 바둑판 패턴은이를 달성하는 좋은 방법입니다. 내가 볼 수있는 유일한 단점은 렌즈의 저해상도 + 카메라 앤티 앨리어싱 필터가 그것을 흐리게 할 가능성이 있다는 것입니다! JPEG는 매크로 스케일에서 많은 작업을 수행하지 않기 때문에 모든 것이 8x8 블록 (또는 16x16 블록 크로마 단위) 내에서 발생해야합니다. 렌즈가 얼마나 흐릿해질 지에 관계없이 8x8 블록을 가능한 한 지저분하게 만들어야합니다.

제안 사항은 다음과 같습니다.

스케일 불변, JPEG에서 압축하기 어려운 패턴

덜 대조적 인 블록이 여기서 무엇을하고 있는지 궁금해 할 수 있지만 사물이 축소 될 때 대비 영역을 유지하는 데 도움이됩니다. 여기서의 과제는 시청 규모에 관계없이 대조되는 패턴을 갖는 것입니다.

나는 이것을 공식적으로 평가하지 않았다. 가장 좋은 방법은 이미지를 가져 와서 다양한 매개 변수로 수십 가지 자르기 / 크기 조정 / 흐림 효과를 적용하고 JPEG의 전체 크기를 뱉어내는 스크립트를 만드는 것입니다.


고마워요! 질문의 그림의 개념과 실제로는 비슷하지만 훨씬 좋습니다. "프랙탈 리티"가 요인 4 인 특정 이유는 무엇입니까? 요소 2보다 낫습니까?
Nicolas Raoul

아무 이유없이, 나는 더 많은 색조로 더 예쁘게 보이려고 노력했기 때문에 4x4 정사각형으로 시작했습니다.
pichenettes

삼각형 대신 사각형을 선택해야하는 이유가 있습니까? 나는 지금 노력하고 있습니다. 삼각형은 날카로운 모서리를 많이 만들어 내고 생각합니다. 하이브리드 삼각형 → 마름모 → 육각 → 삼각형 접근 방식을 사용하면 낮은“정도”에 도달 할 수 있습니다. 낮은 해상도는 카메라가 해상도 한계까지 선명한 모양을 감지 할 가능성을 높이기 때문에 좋은 것이라고 생각합니다.
Nicolas Raoul

사각형은 코딩하기 가장 쉬운 방법이었습니다. 다른 모양이 사각형보다 "가장자리 밀도"가 더 좋은지 확실하지 않습니다.
pichenettes

11

JPEG exploitable과 Transform Compressible에는 차이가 있습니다.

예를 들어 TV의 흰색 거친 노이즈를 예로들 수 있습니다.

일반적인 백색 잡음은 주파수에서 최대로 확산되므로 변환 도메인 코딩 기술이 압축 할 수없는 백색 잡음보다 더 좋은 예는 없다. 그러한 노이즈를 취하고 DCT (또는 필요한 경우 DFT)를 취하면 주파수 영역도 넓게 분포되어 있으며 모든 계수가 중요합니다.

그러나 여전히 양자화에 적극적으로 참여하는 것을 막을 사람은 없습니다. 이런 식으로 고주파 영역에서 많은 양을 버릴 수 있습니다. 결과에 심각한 평균 제곱 오류가 발생합니다. 그러나 지각 적으로 여전히 소음 일 것입니다. 그래도 크게 흐려질 수 있습니다.

반면에, 가장자리가 뾰족한 곳에서 이미지를 촬영하십시오.

날카로운 모서리도 더 높은 주파수로 퍼져 나갑니다 (그러나 이전의 경우보다 약간 작을 수 있습니다). 그러나 압축을 시도하고 고주파수를 떨어 뜨리는 과정에서 시각적으로 심각한 장애가 발생합니다. 가장자리 흐림, 링 효과 등이 발생할 수 있습니다. 이러한 이미지에 대한 대역폭 확산은 최고는 아니지만 JPEG 또는 이와 동등한 압축의 경우 이미지를 지각 적으로 동일한 품질로 유지하는 것이 어렵습니다.

손실이 많은 압축의 경우, 견고하고 단순하면 허용되는 왜곡 유형과 크기에 따라 달라집니다.


내 패브릭이 임의의 흑백 픽셀로 구성된 10 ^ 8x10 ^ 8 테이블이라고 가정 해 봅시다. 카메라는 직물의 10x10 픽셀 사진을 찍습니다. 통계적으로,이 10x10 이미지는 모든 픽셀이 매우 유사한 회색을 가지지 않으므로 덜 균일 한 이미지보다 왜곡이 적고 압축이 용이하지 않습니까?
Nicolas Raoul

10

아래의 구성은 패턴의 프랙탈 종류 구조를 보여줍니다. 다음 모든 그림은 이전 그림의 각 2x2 픽셀 블록에 대한 평균 결과입니다. 패턴의 총 문자는 동일하게 유지되지만 이미지 대비는 점차 감소합니다. 앞에서 말했듯이 축소하면 그림이 회색으로 바뀝니다.

스케일링 동작

그러나 프랙탈 속성을 사용하면 원하는 범위 내에서 이미지 대비를 안정적으로 유지하기 위해 여러 해상도의 여러 패턴을 함께 오버레이 할 수 있습니다. 아래는 4 계층 패턴 (512x512 GIF)의 예입니다. 이 결과는 브라운 노이즈에 더 가깝고 JPEG 압축이 거의 불가능합니다.

4 층 조합


5

내 추측으로는 최악의 압축 패턴이 화이트 노이즈 (균일 분포)입니다. 서로 다른 해상도에서 노이즈가 발생해야하므로 스케일 공간에 노이즈 이미지를 만들어 함께 배치 할 수 있습니다.

I=inNiGi

INiiGiiσ

이러한 이미지를 구성하는 더 좋은 방법은 주파수 영역에서 직접 작동하는 것입니다.

  1. 백색 노이즈로 채워진 이미지를 만듭니다.
  2. 이미지에서 8x8 블록 IDCT (역 이산 코사인 변환)를 수행합니다.

결과는 DCT 도메인에서 엔트로피가 가장 높기 때문에 JPEG의 압축 패턴이 최악입니다. 그러나 다양한 해상도에서 어떻게 작동하는지 잘 모르겠습니다.


5

IIRC에는 JPEG 압축 해제 알고리즘이 지정되어 있지만 정확한 압축 알고리즘은 지정되어 있지 않습니다. 다른 알고리즘으로 유효한 JPEG 파일을 생성 할 수 있습니다. 따라서 선택한 이미지 압축기에서이를 테스트해야합니다.

JPEG와 같은 손실이있는 압축기를 사용하여 동일한 양으로 압축 할 수 있습니다. 고정 된 압축 수준에서 압축 품질이 이미지에 따라 다를 수 있습니다 (압축 해제 된 결과의 노이즈 또는 오류가 증가 함). 따라서 압축 해제 된 결과에 최대의 노이즈를 추가하는 것이 필요합니다. 이를 위해 고주파 매크로 블록 계수를 제거하고 계수를 양자화 할 때 최대 오차를 원합니다.

이것은 아마도 일정한 설정에서 주어진 컴프레서의 가능한 양자화 레벨 사이에서 발생하는 다양한 그레이 및 컬러 스케일뿐만 아니라 변화하는 고주파 피켓을 의미합니다.

조명에서 어느 거리에서나 작동하기를 원하기 때문에 피켓의 주파수 (아마도 프랙탈 또는 임의의 주파수 변조로 램프)를 변경하고 색상 및 회색 레벨 (비 일관성, 예를 들어 색상과 레벨을 독립적으로). 색상 차이는 거리에 덜 의존하므로 선택한 양자화 기의 경우 더 나쁜 경우를 선택해야합니다. 색상 패턴의 평균 크기는 4 : 1 : 1 (영역) YUV 매크로 블록 조성과 일치시키기 위해 휘도 패턴 크기의 두 배일 수있다.

나는 매우 다양하게 스케일링 된 여러 가지 색상의 모아레 패턴 부터 시작하여 프랙탈로 겹쳐서 패치하거나 패치했습니다.


2

스펙트럼이 매우 평평한 패턴 (화이트 노이즈 등)을 공유하겠습니다. 따라서이 패턴은 JPG로 압축하기가 매우 어렵습니다. 아래 샘플 이미지는 4 배 확대되었습니다.

패턴 자체는 규칙적이지만 비 주기적이며 결정 론적 알고리즘으로 쉽게 생성 할 수 있습니다. 또한 프랙탈 속성이 있습니다.

유사 백색 잡음 스펙트럼을 갖는 비 주기적 패턴

멀리서 본 : 기발한 멀리


2

랜덤 노이즈는 실제로 매우 열악하게 압축됩니다. 독립적 인 R, G, B 값을 생성하여 컬러로 생성 할 수 있습니다.

멀리서 살펴보면 실제로 노이즈를 제거 할 수 있으며 (저역 필터링으로) 더 큰 픽셀과 더 큰 픽셀을 사용하여 서로 다른 해상도로 노이즈 이미지를 생성하고 겹쳐서 노이즈 이미지를 피할 수 있습니다.

이미지를 추가 할 때 값의 범위에 문제가 생겨 이미지의 수가 늘어남에 따라 N을 허용합니다. 평균을 내면 노이즈 진폭이 1 / N으로 감소합니다.

상관되지 않은 균일 한 노이즈를 선택하면 중첩은 √N 표준 편차를 갖는 준 가우시안 분포를 초래하므로 N으로 나누는 대신 √N (적절한 중심 조정으로)으로 나누어 진폭 감소를 제한 할 수 있습니다.

마지막으로, 포화 값은 큰 균일 한 영역을 형성하기 때문에 값을 포화시키는 대신 랩 어라운드하는 것이 좋습니다.


2

다음은 RGB 브라운 노이즈 (4096x4096 GIF)를 얻는 또 다른 방법입니다. RGB 브라운 노이즈


0

놀라운 질문입니다! 개념 상, 백색 잡음은 시간 스케일 일 때 변하지 않는 신호입니다. 같은 방식으로 프랙탈은 크기가 조절 될 때 변하지 않습니다. 손실 압축 프로세스는 스펙트럼 (시간 또는 크기) 중 가장 중요한 것만 취하므로 프랙탈과 노이즈가 쿠키처럼 냄새가납니다. 따라서 패브릭의 색상과 패턴을 가지고 놀아야합니다. 프랙탈이어야하고 프랙탈 동작은 임의로 생성되어야합니다. 사진에서 CMY 색상 공간에서 검은 색으로 보이지만 실제 세계에서는 화려한 패턴을 가진 패브릭을 가져와야합니다.

행운을 빕니다! 그리고 당신이 anwser를 얻는다면 그것을 게시하십시오 !!!.


"사진에서 검은 색으로 보이는 원단을 가져와야합니다"<-이 경우 쉽게 압축 할 수 없습니까?
니콜라스 라울
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.