aspose.info
KO

CSO - 압축 ISO 디스크 이미지

업데이트

.CSO 파일이란?

확장자가 .cso인 파일은 압축된 ISO 이미지 파일입니다. CSO는 DAX 압축 방법의 대안입니다. CISO라고도 합니다. ISO 파일을 압축하는 첫 번째 방법이었고 일반적으로 PlayStation Portable 항목을 보관하는 데 선호되는 방법입니다. 이 형식은 최대 9개의 압축 레이어를 포함할 수 있는 Deflate 압축을 사용합니다. Prometheus 및 YACC와 같은 소프트웨어는 이미지를 만드는 데 사용됩니다.

CSO 파일 형식

CSO 파일 형식은 더 많은 메모리 공간을 절약하기 위한 ISO의 첫 번째 압축 방법이었습니다. 더 나은 압축을 위해 때때로 향상되었습니다. CSO는 9개 레벨의 사전 설정이 있는 Deflate 압축을 사용하고 있으며 일반적으로 각 레벨은 2KiB 블록을 개별적으로 처리할 수 있습니다. 가장 높은 수준의 압축은 디스크 스트리밍에 크게 의존하는 소프트웨어에서 로드 시간이 느리고 길어질 수 있지만 낮은 수준은 상당한 압축을 수행할 수도 있습니다.

CSO 파일 구조

CSO 파일 형식은 24바이트 헤더, 데이터 블록 및 인덱스 테이블을 포함합니다. 리틀 엔디안은 바이트보다 큰 필드에 대해 가정됩니다. PlayStation Portable의 아키텍처 엔디안은 다음과 같습니다.

헤더

오프셋(바이트)이름크기(바이트)목적
0x0매직432비트 정수로 읽을 때 항상 CISO 또는 0x4F534943입니다. 이 필드는 CSO 파일을 식별하는 데 사용됩니다. 이 필드는 CSO의 다른 파생 상품에 대해 다를 수 있습니다. 예를 들어 ZSO는 매직 코드 ZISO를 사용했습니다.
0x4헤더 크기4원래 CSO “v1” 파일 형식의 경우 이 필드는 무시되므로 정확하지 않아도 됩니다. 그러나 “v2” 및 ZSO 형식에서는 이 필드가 항상 0x18(24바이트)이어야 합니다.
0x8압축되지 않은 크기8압축되지 않은 원본 ISO의 크기(바이트)입니다.
0x10블록 크기4압축 전 각 데이터 블록의 크기(바이트)입니다. 일반적으로 각 ISO 9660 섹터의 크기와 동일한 2048바이트입니다.
0x14버전1사용 중인 파일 형식의 버전입니다. “v1” 형식의 경우 값은 0 또는 1일 수 있습니다. “v2” 형식의 경우 이 값은 2여야 합니다. 또한 ZSO 형식에서는 1이 되어야 합니다.
0x15인덱스 정렬1각 인덱스 항목의 정렬로, 비트 단위로 지정됩니다.
0x16예약됨2이 필드는 사용되지 않습니다. “v1” 형식에서 이 필드는 무시되며 임의의 값을 포함할 수 있습니다. “v2” 형식에서 이 필드는 0이어야 합니다.

인덱스 테이블

인덱스 테이블에는 각 데이터 블록의 위치를 나타내는 여러 4바이트 항목과 파일의 끝을 가리키는 추가 마지막 항목이 있습니다. 각 항목의 내용은 다음과 같습니다.

비트길이마스크이름목적
0310x7FFFFFFF위치헤더에 지정된 인덱스 정렬만큼 왼쪽으로 이동하면 이 필드는 데이터 블록이 시작되는 위치를 제공합니다.
3110x80000000압축 유형ZSO 형식은 비슷한 의미를 가지고 있지만 0은 Deflate 대신 LZ4를 나타냅니다. “v2” 형식으로. 블록 크기가 파일 헤더에 지정된 블록 크기보다 크거나 같은 경우 해당 블록은 암시적으로 압축되지 않은 것으로 간주됩니다.

데이터 블록

데이터 블록은 압축되지 않은 데이터 또는 압축된 데이터로 구성됩니다. 블록의 크기는 위치를 얻은 다음 다음 블록의 위치에서 빼서 계산합니다. 인덱스 정렬이 0보다 크면 블록 크기가 보유하고 있는 데이터보다 클 수 있습니다.

참고문헌

  • N/A

함께 보기