Photo Sphere XMP 메타데이터

여기에 설명된 파노라마 네임스페이스에는 포토스피어의 생성 및 렌더링에 대한 정보뿐 아니라 경우에 따라 파노라마로 참조되기도 합니다(예: 포토 스피어로 만든 사진을 찍을 수 있습니다. 이 메타데이터는 직렬화되어 360 ̊ 파노라마 사진 내에 'API 약관'의 Adobe XMP (이 페이지 하단의 참조 참조)

네임스페이스 URI는 http://ns.google.com/photos/1.0/panorama/입니다.

메타데이터 속성

아래의 다이어그램과 표에는 GPano 매개변수입니다. 360 ̊ 파노라마 사진을 편집하거나 볼 때는 다음 사항에 유의하세요. 이 문서의 뒷부분에 설명된 대로 메타데이터를 확인하고 업데이트해야 합니다. 포즈와 초기 제목 입력란을 지정할 때는 오일러 각 규칙에 관해서는 나중에 살펴보겠습니다. 이 문서를 참조하세요

Google 제품은 구면 투영법만 지원합니다. 추가 예상은 현재 타사에서만 지원됩니다.

구면 투영법

원통 투영법

원통형 이미지의 상단이 수평선 위에 있으면 cropedAreaTopPixels은 음수여야 합니다. 자르기 영역 상단 픽셀의 값 0 이미지의 상단이 수평선에 배치됩니다. 양수 값 cropedAreaTopPixels은 이미지 상단을 수평선 아래에 배치합니다.

GPano 매개변수 참조

이름 유형 필수 기본값
(가정된 시청자)
속성 설명 이미지가 수정된 경우 조치 필요
GPano:UsePanoramaViewer 불리언 아니요 이 이미지를 일반적인 평면 이미지가 아니라 Photo Sphere 뷰어에서 표시할지 여부입니다. 사용자 기본 설정에 따라 지정되거나 스티칭 소프트웨어를 사용하여 지정될 수 있습니다. 이미지를 표시하거나 수집하는 애플리케이션에서는 이를 무시할 수도 있습니다. 배율/자르기:
변경 없음. 시야가 특정 값 미만이면 애플리케이션에서 false로 전환할 수 있습니다.
GPano:CaptureSoftware 문자열 아니요 해당 사항 없음 Android 휴대전화와 같은 휴대기기의 애플리케이션을 사용하여 캡처한 경우 사용된 애플리케이션의 이름 (예: 'Photo Sphere')입니다. 소스 이미지를 수동으로 캡처한 경우(예: 삼각대에서 DSLR 사용) 이 입력란을 비워두어야 합니다. 해당 사항 없음
GPano:StitchingSoftware 문자열 아니요 해당 사항 없음 최종 Photo Sphere를 만드는 데 사용된 소프트웨어입니다. 이 값은 GPano:CaptureSoftware의 값과 동일할 수도 있습니다. 해당 사항 없음
GPano:ProjectionType 텍스트 선택 열기

정방형

이미지 파일에 사용되는 투영 유형입니다. Google 제품은 현재 정방형 값만 지원합니다. 배율/자르기: 변경 없음.
GPano:PoseHeadingDegrees 실제 아니요, 하지만 Google 지도에 표시하려면 필수입니다. 해당 사항 없음 이미지 중심에 대한 나침반 방위로, 북쪽에서 시계 방향으로 측정됩니다(단위: 도). 값은 0 이상 및 <이어야 합니다. 360도입니다. 배율/자르기: 변경 없음.
GPano:PosePitchDegrees 실제 아니요 0 이미지 중심에 대한 피치(수평선에서 도 단위로 측정됨)입니다. 값은 -90 이상, 90 이하여야 합니다. 배율/자르기: 변경 없음.
GPano:PoseRollDegrees 실제 아니요 0 수평선과의 레벨이 0인 이미지의 롤(도 단위)입니다. 롤이 증가하면 이미지에서 수평선이 시계 반대 방향으로 회전합니다. 값은 >보다 커야 합니다. -180 및 <= 180. 배율/자르기: 변경 없음.
GPano:InitialViewHeadingDegrees 정수 아니요 0 파노라마 중심을 기준으로 하지 않고 실제 북쪽에서 시계 방향으로 초기 뷰의 방위각입니다(도 단위). 배율/자르기: 변경 없음.
GPano:InitialViewPitchDegrees 정수 아니요 0 파노라마 중심을 기준으로 하지 않고 실제 수평선 위에 있는 초기 뷰의 피치 각도입니다(단위: 도). 배율/자르기: 변경 없음.
GPano:InitialViewRollDegrees 정수 아니요 0 실제 지평선과의 레벨이 0인 초기 뷰의 롤 각도(도)입니다. 롤이 증가하면 보기에서 지평선이 시계 반대 방향으로 회전합니다. 배율/자르기: 변경 없음.
GPano:InitialHorizontalFOVDegrees 실제 아니요 해당 사항 없음 뷰어에 표시되어야 하는 초기 수평 시야각 (도)입니다. 이는 확대/축소 수준과 유사합니다. 해당 사항 없음
GPano:InitialVerticalFOVDegrees 실제 아니요 해당 사항 없음 뷰어에 표시되어야 하는 초기 세로 시야각 (도)입니다. 이는 확대/축소 수준과 유사합니다. GPano:InitialHorizontalFOVDegrees와 GPano:InitialVerticalFOVDegrees가 모두 있는 경우 GPano:InitialHorizontalFOVDegrees가 우선 적용됩니다. 콘텐츠를 여러 가로세로 비율로 표시해야 하고 가로 시야가 변경될 수 있지만 세로 시야는 일정하게 유지하고자 하는 경우 InitialVerticalFOVDegrees만 사용합니다. Google 제품에서는 현재 이 필드를 지원하지 않습니다. 해당 사항 없음
GPano:FirstPhotoDate 날짜 아니요 해당 사항 없음 Photo Sphere에서 처음 이미지가 생성된 날짜 및 시간입니다. 배율/자르기: 변경 없음.
GPano:LastPhotoDate 날짜 아니요 해당 사항 없음 Photo Sphere에서 마지막으로 생성된 이미지의 날짜 및 시간입니다. 배율/자르기: 변경 없음.
GPano:SourcePhotosCount 정수 아니요 해당 사항 없음 Photo Sphere를 만드는 데 사용된 소스 이미지의 수입니다. 배율/자르기: 변경 없음.
GPano:ExposureLockUsed 불리언 아니요 해당 사항 없음 개별 소스 사진을 촬영할 때 카메라의 노출 설정이 잠겨 있는지 여부 해당 사항 없음
GPano:CroppedAreaImageWidthPixels 정수 해당 사항 없음 이미지의 원본 너비(픽셀 단위)(수정되지 않은 이미지의 실제 너비와 같음) 위의 다이어그램을 참조하세요. scale/crop: 이미지의 새 크기를 반영하도록 이 속성을 업데이트해야 합니다.
GPano:CroppedAreaImageHeightPixels 정수 해당 사항 없음 이미지의 원본 높이(픽셀 단위)(수정되지 않은 이미지의 실제 높이와 같음) 위의 다이어그램을 참조하세요. scale/crop: 이미지의 새 크기를 반영하도록 이 속성을 업데이트해야 합니다.
GPano:FullPanoWidthPixels 정수 해당 사항 없음 이미지를 잘라냈던 원본 전체 너비입니다. 360 ̊ 파노라마 사진의 일부만 캡처된 경우 전체 360 ̊ 파노라마 사진의 너비가 지정됩니다. 위의 다이어그램을 참조하세요. 자르기: 변경 없음.
배율 조정: 그에 따라 적절히 조정해야 합니다.
GPano:FullPanoHeightPixels 정수 해당 사항 없음 이미지를 잘라냈던 원본 전체 높이입니다. 360 ̊ 파노라마 사진의 일부만 캡처된 경우 전체 360 ̊ 파노라마 사진의 높이가 지정됩니다. 위의 다이어그램을 참조하세요. 자르기: 변경 없음.
배율 조정: 그에 따라 적절히 조정해야 합니다.
GPano:CroppedAreaLeftPixels 정수 해당 사항 없음 원본 크기의 Photo Sphere 사진에서 이미지의 왼쪽 가장자리를 잘라낸 열입니다. 위의 다이어그램을 참조하세요. 자르기: 이미지의 왼쪽 잘라낸 부분이 변경되면 이 값을 업데이트해야 합니다.
배율 조정: 그에 따라 적절하게 크기를 조정해야 합니다.
GPano:CroppedAreaTopPixels 정수 해당 사항 없음 전체 크기의 Photo Sphere 사진에서 이미지의 상단 가장자리를 잘라낸 행입니다. 위의 다이어그램을 참조하세요. 자르기: 이미지의 위에서 자른 부분이 변경되면 이 값을 업데이트해야 합니다.
배율 조정: 이에 따라 적절하게 크기를 조정해야 합니다.
GPano:InitialCameraDolly 실제 아니요 0 이 선택적 매개변수는 Photo Sphere 사진의 중심에서 멀어지는 방향으로 시야를 따라 가상 카메라 위치를 이동합니다. 후면 위치는 -1.0으로 나타내고, 전면 위치는 1.0으로 나타냅니다. 일반 보기에서는 이 매개변수를 0으로 설정해야 합니다. 해당 사항 없음

전체 Photo Sphere의 예

프로그래머가 아닌 사람은 아래의 메타데이터 예를 기존의 전체 사진에 추가할 수 있습니다. 조금만 수정하여 360도 x 180도 회전하도록 할 수 있습니다. 이 작업은 Adobe Photoshop과 같은 이미지 편집 제품에서 수행할 수 있습니다.

  1. 4000 및 2000이 있으면 이미지의 해당 너비 및 높이(픽셀)와 일치하도록 변경합니다.
  2. Google 지도에서 Photo Sphere를 표시할 수 있도록 하려면 PoseHeadingDegrees를 업데이트합니다. 원하는 경우 이 매개변수를
  3. 선택적 매개변수 업데이트 또는 삭제 (위에 나열)
<rdf:Description rdf:about="" xmlns:GPano="http://ns.google.com/photos/1.0/panorama/">
    <GPano:UsePanoramaViewer>True</GPano:UsePanoramaViewer>
    <GPano:CaptureSoftware>Photo Sphere</GPano:CaptureSoftware>
    <GPano:StitchingSoftware>Photo Sphere</GPano:StitchingSoftware>
    <GPano:ProjectionType>equirectangular</GPano:ProjectionType>
    <GPano:PoseHeadingDegrees>350.0</GPano:PoseHeadingDegrees>
    <GPano:InitialViewHeadingDegrees>90.0</GPano:InitialViewHeadingDegrees>
    <GPano:InitialViewPitchDegrees>0.0</GPano:InitialViewPitchDegrees>
    <GPano:InitialViewRollDegrees>0.0</GPano:InitialViewRollDegrees>
    <GPano:InitialHorizontalFOVDegrees>75.0</GPano:InitialHorizontalFOVDegrees>
    <GPano:CroppedAreaLeftPixels>0</GPano:CroppedAreaLeftPixels>
    <GPano:CroppedAreaTopPixels>0</GPano:CroppedAreaTopPixels>
    <GPano:CroppedAreaImageWidthPixels>4000</GPano:CroppedAreaImageWidthPixels>
    <GPano:CroppedAreaImageHeightPixels>2000</GPano:CroppedAreaImageHeightPixels>
    <GPano:FullPanoWidthPixels>4000</GPano:FullPanoWidthPixels>
    <GPano:FullPanoHeightPixels>2000</GPano:FullPanoHeightPixels>
    <GPano:FirstPhotoDate>2012-11-07T21:03:13.465Z</GPano:FirstPhotoDate>
    <GPano:LastPhotoDate>2012-11-07T21:04:10.897Z</GPano:LastPhotoDate>
    <GPano:SourcePhotosCount>50</GPano:SourcePhotosCount>
    <GPano:ExposureLockUsed>False</GPano:ExposureLockUsed>
</rdf:Description>

부분 360 ̊ 파노라마 사진의 예

<rdf:Description rdf:about="" xmlns:GPano="http://ns.google.com/photos/1.0/panorama/">
    <GPano:UsePanoramaViewer>True</GPano:UsePanoramaViewer>
    <GPano:CaptureSoftware>Photo Sphere</GPano:CaptureSoftware>
    <GPano:StitchingSoftware>Photo Sphere</GPano:StitchingSoftware>
    <GPano:ProjectionType>equirectangular</GPano:ProjectionType>
    <GPano:PoseHeadingDegrees>350.0</GPano:PoseHeadingDegrees>
    <GPano:InitialViewHeadingDegrees>90.0</GPano:InitialViewHeadingDegrees>
    <GPano:InitialViewPitchDegrees>0.0</GPano:InitialViewPitchDegrees>
    <GPano:InitialViewRollDegrees>0.0</GPano:InitialViewRollDegrees>
    <GPano:InitialHorizontalFOVDegrees>75.0</GPano:InitialHorizontalFOVDegrees>
    <GPano:CroppedAreaLeftPixels>90</GPano:CroppedAreaLeftPixels>
    <GPano:CroppedAreaTopPixels>128</GPano:CroppedAreaTopPixels>
    <GPano:CroppedAreaImageWidthPixels>2300</GPano:CroppedAreaImageWidthPixels>
    <GPano:CroppedAreaImageHeightPixels>1042</GPano:CroppedAreaImageHeightPixels>
    <GPano:FullPanoWidthPixels>4000</GPano:FullPanoWidthPixels>
    <GPano:FullPanoHeightPixels>2000</GPano:FullPanoHeightPixels>
    <GPano:FirstPhotoDate>2012-11-07T21:03:13.465Z</GPano:FirstPhotoDate>
    <GPano:LastPhotoDate>2012-11-07T21:04:10.897Z</GPano:LastPhotoDate>
    <GPano:SourcePhotosCount>50</GPano:SourcePhotosCount>
    <GPano:ExposureLockUsed>False</GPano:ExposureLockUsed>
</rdf:Description>

견고한 이미지 편집

보다 강력하려면 뷰어에 Photo Sphere를 표시하는 프로그램에서 원본 Photo Sphere는 사진을 업데이트하지 않고 애플리케이션에서 크기를 조정한 것입니다. 메타데이터로 변환할 수 있습니다. 이 작업은 다음 단계에 따라 수행할 수 있습니다.

  1. cropedAreaImageWidthPixels 태그가 실제 이미지 너비와 같은지 확인합니다.
  2. cropedAreaImageHeightPixels 태그가 실제 이미지 높이와 동일한지 확인합니다.
  3. 1단계나 2단계가 실패하면 이미지의 가로세로 비율이 유지되었는지 확인
  4. 3단계가 실패하는 경우 호환되지 않는 방식으로 변형되어 왜곡이 발생할 수 있는 Photo Sphere로 이미지를 표시하지 마세요.
  5. 3단계를 통과하면 가로세로 비율이 동일하며 다음과 같은 연결된 태그 값이 모두 새 이미지 크기에 맞게 조정되어야 합니다.
    자르기 영역 이미지 폭 픽셀, 자르기 영역 이미지 높이 픽셀, 풀파노 너비 픽셀, 풀파노 높이 픽셀, 자르기 영역 왼쪽 픽셀, 자르기 영역 오른쪽 픽셀.

오일러 각 개요

세계 프레임에서 Photo Sphere의 방향은 오일러에 의해 정의됨 볼 수 있습니다. 오일러 각은 다양한 방식으로 정의될 수 있습니다. 정확히 말씀드리자면, 프로그램은 오일러 각 공식을 따라야 합니다.

지표면 위의 위치는 고정된 '국소'를 프레임" XYZ는 Z가 지표면과 수직을 이루는 위쪽이고, X는 Y는 진북입니다. 방향은 이 값을 기준으로 정의됩니다. 고정된 '로컬 프레임'이며, 오일러각은 이 값을 기준으로 고정 XYZ 축입니다. 따라서 극지에서는 포즈 방향이 정의되지 않습니다. 이 각도가 (0, 0, 0)인 Photo Sphere 사진은 360 ̊ 파노라마 사진의 적도와 평행한 정북쪽의 중심 픽셀 면 빛을 냅니다.

오일러 각은 (회전된) '사진의 지점들로부터의 매핑을 제공함 구형 프레임" (고정된) '로컬 프레임'의 지점으로 변경합니다.
 
회전 행렬은 다음과 같습니다 (이 순서를 유지하는 것이 중요).

R = R_Z(-방향) * R_X(피치) * R_Y(롤)

여기서 R_*(t)는 이름이 지정된 축을 중심으로 한 오른쪽 회전입니다.











여기서 Z = 위쪽, X = 동쪽, Y = 북쪽입니다.

이 순서를 유지하는 것이 중요합니다.

R = R_Z(-방향) * R_X(피치) * R_Y(롤)

회전은 가환적이지 않기 때문입니다.

방위각은 표준 나침반 방위와 동일합니다.

참조

Adobe XMP 표준: http://www.adobe.com/devnet/xmp.html