도트 퍼 인치

도트 퍼 인치(Dots per inch, DPI 또는 dpiThe acronym appears in sources as either "DPI" or lowercase "dpi". See:  "Print Resolution Understanding 4-bit depth – Xerox"  (PDF). Xerox.com. September 2012.)는 공간 인쇄, 비디오 또는 이미지 스캐너 도트 밀도를 측정하는 단위로, 특히  범위 내에서 한 줄에 배치할 수 있는 개별 도트의 수를 나타낸다. 마찬가지로 밀리미터당 도트 수 (d/mm 또는 dpmm)는  한 줄에 배치할 수 있는 개별 도트의 수를 나타낸다.CSS3 Media Queries Recommendation

 인쇄에서의 DPI 측정 
섬네일|right|인쇄된 용지의 도트
DPI는 디지털 인쇄에서 인치당 도트의 해상도 수와 하드카피 인쇄의 도트 게인(인쇄 중 하프톤 도트 크기 증가)을 설명하는 데 사용된다. 이는 미디어 표면에 잉크가 번지면서 발생한다.

일정 수준까지는 DPI가 높을수록 프린터는 더 선명하고 상세한 출력을 생성한다. 프린터가 반드시 단일 DPI 측정값을 갖는 것은 아니며, 이는 일반적으로 드라이버 설정에 따라 달라지는 인쇄 모드에 따라 결정된다. 프린터가 지원하는 DPI 범위는 주로 사용되는 프린트 헤드 기술에 따라 달라진다. 예를 들어, 도트 매트릭스 프린터는 잉크 리본을 때리는 작은 막대를 통해 잉크를 적용하며, 일반적으로  범위의 비교적 낮은 해상도를 갖는다. 잉크젯 프린터는 작은 노즐을 통해 잉크를 분사하며, 일반적으로 300~720 DPI를 지원한다. 레이저 프린터는 제어된 정전하를 통해 토너를 적용하며, 600~2,400 DPI 범위를 가질 수 있다.

프린터의 DPI 측정값은 유사한 품질의 출력을 생성하기 위해 비디오 디스플레이의 인치당 화소수(PPI) 측정값보다 상당히 높아야 하는 경우가 많다. 이는 프린터에서 일반적으로 각 도트에 사용할 수 있는 색상 범위가 제한적이기 때문이다. 각 도트 위치에서 가장 간단한 유형의 컬러 프린터는 도트를 인쇄하지 않거나, 각 4가지 색상 채널(일반적으로 시안 (색), 마젠타, 노랑, 검정 잉크를 사용하는 CMYK)에 고정된 양의 잉크로 구성된 도트를 인쇄하거나, 레이저, 왁스, 대부분의 잉크젯 프린터에서 24 = 16가지 색상을 인쇄할 수 있으며, 이 중 실제 구별 가능한 색상은 검정 구성 요소의 강도, 다른 색상과 오버레이 및 결합하는 데 사용되는 전략, "컬러" 모드인지 여부에 따라 14~15가지(또는 8~9가지)에 불과할 수 있다.

고급 잉크젯 프린터는 5, 6 또는 7가지 잉크 색상을 제공하여 도트 위치당 32, 64 또는 128가지 톤을 제공할 수 있다(이 역시 모든 조합이 고유한 결과를 생성하지 않을 수 있다). 이를 각 채널(RGB)에서 256가지 광도(intensity)를 생성하는 표준 sRGB 모니터와 비교해 보라.

일부 컬러 프린터는 각 도트 위치에서 가변적인 드롭 볼륨을 생성할 수 있으며 추가 잉크 색상 채널을 사용할 수도 있지만, 색상 수는 여전히 모니터보다 적은 것이 일반적이다. 따라서 대부분의 프린터는 망점 또는 디더링 과정을 통해 추가 색상을 생성해야 하며, 인간 관찰자의 눈을 속여 부드러운 단일 색상 패치를 인식하도록 할 만큼 충분히 높은 기본 해상도에 의존한다.

이 규칙의 예외는 염료 승화 프린터인데, 이는 디더링 없이 페이지의 각 "픽셀"에 훨씬 더 가변적인 양의 염료(일반적인 모니터에서 사용할 수 있는 채널당 256 레벨에 가깝거나 초과)를 적용할 수 있지만 다른 제한 사항이 있다.
 낮은 공간 해상도(일반적으로 200~300 dpi)로 인해 텍스트와 선이 다소 거칠어 보일 수 있다.
 낮은 출력 속도(한 페이지에 3~4번의 완전한 통과가 필요하며, 각 염료 색상마다 15초 이상 소요될 수 있지만, 일반적으로 대부분의 잉크젯 프린터의 "사진" 모드보다 빠르다)
 낭비적이고(기밀 문서의 경우 보안에 취약한) 염료 필름 롤 카트리지 시스템
 때때로 발생하는 색상 등록 오류(주로 페이지의 긴 축을 따라 발생)로 인해 용지 공급 시스템의 미끄러짐 및 이동을 고려하여 프린터를 재교정해야 한다.

이러한 단점은 염료 승화 프린터가 우수한 사진 및 비선형 다이어그램 출력을 생성하는 데 탁월함에도 불구하고 틈새 시장 제품으로 남아 있으며, 따라서 더 높은 해상도, 낮은 색상 깊이 및 디더 패턴을 사용하는 다른 장치들이 계속해서 일반적인 방식이다.

이러한 디더링 인쇄 과정은 단일 픽셀의 색상을 정확하게 재현하기 위해 4~6개의 도트 영역(각 측면을 가로질러 측정)을 필요로 할 수 있다. 너비가 100 픽셀인 이미지는 인쇄 출력에서 너비가 400~600 도트가 필요할 수 있다. 100 × 100 픽셀 이미지를 1인치 사각형으로 인쇄하려면 프린터가 이미지를 재현하기 위해 인치당 400~600 도트를 처리할 수 있어야 한다. 따라서 600 dpi(때로는 720)가 이제 보급형 레이저 프린터와 일부 유틸리티 잉크젯 프린터의 일반적인 출력 해상도이며, 1,200~1,440 및 2,400~2,880이 일반적인 "고해상도"이다. 이는 초기 모델의 300~360(또는 240) dpi와 도트 매트릭스 프린터 및 팩스 기기의 약 200 dpi와 대조되며, 팩스 및 컴퓨터 인쇄 문서, 특히 그래픽이나 컬러 블록 텍스트를 많이 사용하는 문서에 특유의 "디지털화된" 모양을 부여했는데, 이는 거칠고 명확한 디더 패턴, 부정확한 색상, 사진의 선명도 손실, 일부 텍스트 및 선화의 들쭉날쭉한("계단 현상") 가장자리 때문이었다.


 디지털 이미지 파일에서의 DPI 또는 PPI 

인쇄에서 DPI(인치당 도트 수)는 프린터 또는 이미지세터의 출력 해상도를 나타내고, PPI(인치당 픽셀 수)는 사진 또는 이미지의 입력 해상도를 나타낸다.
DPI는 이미지가 종이에 인쇄되는 등 실제 물리적 개체로 재현될 때의 물리적 도트 밀도를 나타낸다. 디지털 저장 이미지는 인치 또는 센티미터로 측정되는 고유한 물리적 치수를 가지고 있지 않다. 일부 디지털 파일 형식은 이미지를 인쇄할 때 사용될 DPI 값 또는 일반적으로 PPI(인치당 화소수) 값을 기록한다. 이 숫자는 프린터 또는 소프트웨어에 이미지의 의도된 크기를 알려주거나, 스캔 이미지의 경우 원본 스캔 개체의 크기를 알려준다. 예를 들어, 비트맵 이미지는 1,000 × 1,000 픽셀, 즉 1 메가픽셀의 해상도를 가질 수 있다. 만약 250 PPI로 레이블이 지정되어 있다면, 이는 프린터에게 4 × 4 인치 크기로 인쇄하라는 지침이다. 이미지 편집 프로그램에서 PPI를 100으로 변경하면 프린터에게 10 × 10 인치 크기로 인쇄하라는 지침이 된다. 그러나 PPI 값을 변경해도 이미지의 픽셀 크기는 여전히 1,000 × 1,000으로 변경되지 않는다. 이미지는 픽셀 수를 변경하여 이미지의 크기 또는 해상도를 변경하도록 리샘플링할 수도 있지만, 이는 단순히 파일에 새 PPI를 설정하는 것과는 상당히 다르다.

벡터 그래픽스의 경우, 파일이 해상도 독립적이므로 크기를 조정하기 전에 이미지를 다시 샘플링할 필요가 없으며 모든 크기에서 동일하게 잘 인쇄된다. 그러나 여전히 대상 인쇄 크기가 존재한다. 포토샵 형식과 같은 일부 이미지 형식은 동일한 파일에 비트맵 및 벡터 데이터를 모두 포함할 수 있다. 포토샵 파일에서 PPI를 조정하면 데이터의 비트맵 부분에 대한 의도된 인쇄 크기가 변경되고 벡터 데이터에 대한 의도된 인쇄 크기도 일치하도록 변경된다. 이러한 방식으로 벡터 및 비트맵 데이터는 대상 인쇄 크기가 변경될 때 일관된 크기 관계를 유지한다. 비트맵 이미지 형식으로 윤곽선 글꼴로 저장된 텍스트는 동일한 방식으로 처리된다. PDF와 같은 다른 형식은 주로 벡터 형식이며, 이미지를 잠재적으로 다양한 해상도로 포함할 수 있다. 이러한 형식에서는 파일의 대상 인쇄 크기가 변경될 때 비트맵의 대상 PPI가 일치하도록 조정된다. 이는 포토샵과 같은 주로 비트맵 형식에서 작동하는 방식과 반대되지만, 데이터의 벡터 및 비트맵 부분 간의 관계를 유지하는 데 정확히 동일한 결과를 가져온다.

 컴퓨터 모니터 DPI 표준 
1980년대부터 맥은 기본 디스플레이 "DPI"를 72 PPI로 설정한 반면, 마이크로소프트 윈도우 운영 체제는 기본적으로 96 PPI를 사용했다. 이러한 기본 사양은 1980년대 초반의 디스플레이 시스템, 즉 IBM 기반의 CGA, EGA, VGA 및 8514 디스플레이와 매킨토시 128K 컴퓨터 및 후속 모델에 포함된 매킨토시 디스플레이에서 표준 글꼴을 렌더링하는 문제에서 비롯되었다. 매킨토시가 디스플레이에 72 PPI를 선택한 것은 기존 관례에서 비롯된 것이다. 공식적으로 인치당 72 포인트는 디스플레이 화면에 나타나는 인치당 72 픽셀을 반영했다.(포인트는 인쇄기 시대부터 내려오는 타이포그래피의 물리적 측정 단위로, 현대 데스크톱 출판 포인트 시스템에서 1포인트는 국제 인치 (25.4mm)의 에 해당하며, 따라서 1포인트는 약 0.0139인치 또는 352.8μm이다). 따라서 디스플레이에 표시되는 인치당 72 픽셀은 인쇄물에 나중에 표시되는 인치당 72 포인트와 정확히 동일한 물리적 치수를 가졌으며, 인쇄된 텍스트의 1pt는 디스플레이 화면의 1px와 같았다. 매킨토시 128K는 너비 512픽셀, 높이 342픽셀의 화면을 특징으로 했으며, 이는 표준 사무용 용지의 너비와 일치했다(512px ÷ 72px/in ≈ 7.1인치, 인치 × 11인치 북미 용지 크기를 가정할 때 각 측면에 0.7인치 여백; 세계 다른 지역에서는 210mm × 297mm – A4라고 불린다. B5는 176mm × 250mm이다).

애플의 결정의 결과로, 타자기 시대에 널리 사용되던 10포인트 글꼴은 엠 높이에서 10개의 디스플레이 픽셀, X높이에서 5개의 디스플레이 픽셀을 할당해야 했다. 이는 기술적으로 엠당 10픽셀(PPEm)로 설명된다. 이로 인해 10포인트 글꼴은 디스플레이 화면에서 거칠게 렌더링되어 읽기 어려웠고, 특히 소문자 문자가 그랬다. 또한, 컴퓨터 화면은 일반적으로 인쇄물보다 30% 더 먼 거리에서(책상에서) 보는 경향이 있어 컴퓨터 화면과 인쇄물에 보이는 인식된 크기 간의 불일치가 발생했다.

마이크로소프트는 DPI와 PPI의 의미에 대한 장기적인 결과로 이어진 해킹으로 두 가지 문제를 모두 해결하려고 시도했다. 마이크로소프트는 화면이 실제로 표시하는 PPI 특성의 을 제공하는 것처럼 화면을 처리하도록 소프트웨어를 작성하기 시작했다. 당시 대부분의 화면이 약 72 PPI를 제공했기 때문에 마이크로소프트는 본질적으로 모든 화면이 96 PPI를 제공한다고 가정하도록 소프트웨어를 작성했다(72 ×  = 96이므로). 이 속임수의 단기적인 이점은 두 가지였다.
 소프트웨어에는 이미지를 렌더링하는 데 1/3 더 많은 픽셀이 사용 가능한 것처럼 보였고, 이를 통해 더 자세한 비트맵 글꼴을 만들 수 있었다.
 실제로 72 PPI를 제공하는 모든 화면에서 각 그래픽 요소(예: 텍스트 문자)는 "적정" 크기보다 1/3 더 크게 렌더링되어 사용자가 화면에서 편안한 거리에 앉을 수 있었다. 그러나 그래픽 요소가 커지면 프로그램이 그릴 수 있는 화면 공간이 줄어들었다. 실제로, Hercules 모노 그래픽 어댑터(한때 고해상도 PC 그래픽의 표준)의 기본 720픽셀 너비 모드 또는 "조정된" VGA 어댑터는 이 해상도에서 약 인치 페이지 너비를 제공했다. 그러나 당시 더 일반적이고 컬러를 지원하는 디스플레이 어댑터는 모두 고해상도 모드에서 640픽셀 너비 이미지를 제공했으며, 100% 확대 시 겨우 인치에 불과했으며, 가시적인 페이지 높이는 거의 증가하지 않았다. (최대 5인치 대 ). 결과적으로 마이크로소프트 워드의 기본 여백은 모든 페이지 측면에 1인치로 설정되었으며, 표준 크기 프린터 용지의 "텍스트 너비"가 가시적인 한계 내에 유지되도록 했다. 대부분의 컴퓨터 모니터가 이제 더 크고 세밀해졌으며 프린터 용지 전송이 더 정교해졌음에도 불구하고, Mac 표준인 0.5인치 여백은 워드 2010의 페이지 레이아웃 사전 설정에서 "좁음" 옵션(기본값 1인치 대비)으로 계속 나열되어 있다.
 보조 소프트웨어 제공 확대/축소 수준을 사용하지 않으면 디스플레이와 인쇄 크기 간의 1:1 관계가 (의도적으로) 손실되었다. 크기가 다른 사용자 조정 가능 모니터와 다양한 출력 해상도를 가진 디스플레이 어댑터의 가용성은 이를 악화시켰는데, 이는 제대로 조정된 "표준" 모니터와 어댑터가 알려진 PPI를 가질 것이라고 신뢰할 수 없었기 때문이다. 예를 들어, 두꺼운 베젤과 약간의 언더스캔이 있는 12인치 Hercules 모니터 및 어댑터는 90 "물리적" PPI를 제공하여 표시된 이미지가 하드카피와 거의 동일하게 나타날 수 있지만(H-스캔 밀도가 사각형 픽셀을 제공하도록 제대로 조정되었다고 가정), 테두리가 없는 디스플레이를 제공하도록 조정된 얇은 베젤 14인치 VGA 모니터는 60에 가까울 수 있으며, 동일한 비트맵 이미지가 따라서 50% 더 크게 나타난다. 그러나 8514("XGA") 어댑터와 동일한 모니터를 사용하는 사람은 1024픽셀 너비 모드를 사용하여 이미지를 언더스캔하도록 조정하여 100 DPI를 달성할 수 있다. 화면의 요소를 기존 인쇄 페이지와 직접 비교하려는 사용자는 먼저 사용할 올바른 확대/축소 수준을 주로 시행착오를 통해 결정해야 했으며, 정수 퍼센트 설정 또는 심지어 고정된 미리 프로그래밍된 확대/축소 수준만 허용하는 프로그램에서는 정확한 일치를 얻지 못하는 경우가 많았다. 위 예시의 경우, 각각 94%(정확히 93.75) – 또는 , 63%(62.5) – 또는 ; 그리고 104%(104.167) – 또는 를 사용해야 할 수 있으며, 더 일반적으로 접근 가능한 110%는 실제로는 덜 정확한 일치이다.

따라서 예를 들어, 매킨토시(72 PPI)의 10포인트 글꼴은 10픽셀(즉, 10 PPEm)로 표현되었지만, 동일한 확대/축소 수준에서 윈도우 플랫폼(96 PPI)의 10포인트 글꼴은 13픽셀(즉, 마이크로소프트는 을 13픽셀 또는 13 PPEm으로 반올림함)으로 표현되었으며, 일반적인 소비자용 모니터에서는 물리적으로 에서 인치 높이로 나타났을 것이다. 마찬가지로 12포인트 글꼴은 매킨토시에서는 12픽셀로 표현되었고, 동일한 확대/축소에서 윈도우 플랫폼에서는 16픽셀(또는 물리적 디스플레이 높이가 약 인치)로 표현되는 식이었다. 이 표준의 부정적인 결과는 96 PPI 디스플레이에서는 픽셀 단위의 글꼴 크기와 포인트 단위의 인쇄 크기 사이에 일대일 관계가 더 이상 존재하지 않는다는 것이다. 이러한 차이는 더 높은 화소 밀도를 특징으로 하는 최신 디스플레이에서 더욱 두드러진다. 이는 비트맵 그래픽 및 글꼴 대신 벡터 그래픽스 및 글꼴이 등장하면서 문제가 줄어들었다. 또한, 1980년대 이후로 화면이 96 PPI를 제공한다고 가정하는 많은 윈도우 소프트웨어 프로그램이 작성되었다. 따라서 이러한 프로그램은 72 PPI 또는 120 PPI와 같은 일반적인 대체 해상도에서 제대로 표시되지 않는다. 해결책은 두 가지 개념을 도입하는 것이었다.
 논리적 PPI: 소프트웨어가 화면이 제공한다고 주장하는 PPI. 이는 운영 체제가 생성한 가상 화면이 제공하는 PPI로 생각할 수 있다.
 물리적 PPI: 물리적 화면이 실제로 제공하는 PPI.
소프트웨어 프로그램은 가상 화면에 이미지를 렌더링한 다음 운영 체제는 가상 화면을 물리적 화면에 렌더링한다. 논리적 PPI가 96 PPI이면, 이전 프로그램은 디스플레이 화면의 실제 물리적 PPI와 관계없이 여전히 제대로 실행될 수 있지만, 효과적인 133.3% 픽셀 확대/축소 수준(세 번째 픽셀마다 너비/높이를 두 배로 늘리거나 강력한 부드러운 처리가 필요함)으로 인해 일부 시각적 왜곡이 나타날 수 있다.

 마이크로소프트 윈도우의 DPI 스케일링 처리 방식 

윈도우 XP 시대까지는 화소 밀도가 높은 디스플레이가 흔하지 않았다. 고DPI 디스플레이는 윈도우 8이 출시될 무렵 주류가 되었고, 그 결과 윈도우와 앱들은 픽셀 밀도가 증가함에 따라 제대로 확장되지 않았다. 디스플레이 해상도와 관계없이 사용자 지정 DPI를 입력하여 디스플레이 스케일링을 하는 기능은 윈도우 95 이후 마이크로소프트 윈도우의 기능이었다. 윈도우 XP는 해상도 독립적인 텍스트 스케일링을 허용하는 GDI+ 라이브러리를 도입했다. 마이크로소프트 윈도우에서는 96 DPI보다 높은 DPI를 고DPI라고 부른다.

윈도우 비스타는 프로그램이 매니페스트 파일이나 API를 사용하여 OS에 고DPI를 인식한다고 선언하는 지원을 도입했다. DPI를 인식하지 못한다고 선언하는 프로그램의 경우, 윈도우 비스타는 DPI 가상화라는 호환성 기능을 지원하여 시스템 측정 항목과 UI 요소가 96 DPI에서 실행되는 것처럼 응용 프로그램에 표시되고 데스크톱 창 관리자가 결과 응용 프로그램 창을 DPI 설정에 맞게 확장하지만, 이는 벡터 그래픽으로 그려지지 않은 앱의 UI 요소를 흐릿하거나 픽셀화되게 렌더링한다. 윈도우 비스타는 윈도우 XP 스타일 스케일링 옵션을 유지하며, 이 옵션을 활성화하면 모든 응용 프로그램에 대해 DPI 가상화가 전역적으로 비활성화된다. DPI 가상화는 응용 프로그램 개발자가 DPI 가상화에 의존하지 않고 고DPI를 지원하도록 앱을 업데이트할 것으로 예상되기 때문에 호환성 옵션이다.

윈도우 비스타는 윈도우 프레젠테이션 파운데이션도 도입했다. WPF .NET 애플리케이션은 픽셀 기반이 아닌 벡터 기반이며 해상도 독립적으로 설계되었다. 이전 GDI API와 .NET 프레임워크 런타임에서 윈도우 폼을 사용하는 개발자는 앱을 DPI 인식으로 업데이트하고 애플리케이션을 DPI 인식으로 플래그해야 한다.

윈도우 7은 전체 재부팅이 아닌 로그오프만으로 DPI를 변경할 수 있는 기능을 추가하고 이를 사용자별 설정으로 만들었다. 또한, 윈도우 7은 EDID에서 화소 밀도 관련 정보를 읽고, 유효 해상도가 1024 × 768 미만인 경우가 아니면 모니터의 물리적 화소 밀도와 일치하도록 시스템 DPI 값을 자동으로 설정한다. 또한, 윈도우 7은 1080p보다 큰 모니터에 최적화된 다이렉트라이트를 추가했다.

윈도우 8에서는 DPI 변경 대화 상자에 DPI 스케일링 비율만 표시되며 원본 DPI 값 표시는 제거되었다. 윈도우 8.1에서는 DPI 가상화 비활성화(XP 스타일 스케일링만 사용)를 위한 전역 설정이 제거되었고, 호환성 탭에서 사용자가 DPI 가상화를 비활성화할 수 있는 앱별 설정이 추가되었다. DPI 스케일링 설정이 120 PPI(125%)보다 높게 설정되면, 애플리케이션이 EXE 내부에 DPI 인식 플래그(매니페스트)를 "true"로 지정하여 선택하지 않는 한 모든 애플리케이션에 대해 DPI 가상화가 활성화된다. 윈도우 8.1은 앱의 DPI 가상화를 비활성화하는 애플리케이션별 옵션을 유지한다. 윈도우 8.1은 또한 다른 디스플레이가 독립적인 DPI 스케일링 계수를 사용할 수 있는 기능을 추가했지만, 각 디스플레이에 대해 자동으로 계산하고 모든 모니터의 모든 스케일링 수준에서 DPI 가상화를 켠다. 윈도우 8.1은 또한 고DPI 모니터에 대한 DPI 스케일링을 자동으로 조정하는 지원을 추가했다.

윈도우 10은 개별 모니터에 대한 DPI 스케일링을 수동으로 제어하는 기능을 추가했다.

 제안된 미터법화 
일부에서는 이미지 해상도 단위인 DPI를 폐기하고 미터법 단위인 센티미터당 도트 수 (px/cm 또는 dpcm) 또는 마이크로미터 (μm) 단위의 도트 간격으로 전환하려는 노력이 진행 중이다. 예를 들어, 72 DPI의 해상도는 약 28 dpcm의 해상도 또는 약 353 μm의 도트 간격과 같다.

+ 변환표 (근사치) DPI (인치/도트)  dpcm   (센티미터/도트)  피치  (μm) 72 28 353 96 38 265 150 59 169 203 80 125 300 118 85 2,540 1,000 10 4,000 1,575 6

 같이 보기 
 화면 해상도
 라인 퍼 인치
 픽셀 퍼 인치

 각주 

 외부 링크 
  All About Digital Photos - The Myth of DPI
  Monitor DPI detector

분류:인쇄
분류:밀도의 단위