WavPack

WavPack
WavPack 소프트웨어
개발자데이비드 브라이언트
안정된 릴리스
5.5.0 / 2022년 7월 8일; 26일 전(2022-07-08)[1]
저장소
운영 체제크로스 플랫폼
유형오디오 코덱컨테이너
면허증.BSD 라이선스
웹 사이트wavpack.com
WavPack 파일 형식
파일 이름 확장자
.wv(무손실 파일과 하이브리드 파일 모두), .wvc(하이브리드 파일만 수정 파일)
인터넷 미디어 유형
audio/x-pack(.wv), audio/x-pack-correction(.wvc)
매직 넘버wvpk
포맷의 종류무손실 오디오
포함자Matroska(필수)
오픈 포맷?네.
프리 포맷?네.

WavPack자유 오픈소스 무손실 오디오 압축 형식 및 이 형식을 구현하는 응용 프로그램입니다.FLAC의 작동 방식과 유사한 일반 압축과 함께 하이브리드 오디오 압축을 지원하는 방식은 독특합니다.또한 다양한 종류의 PCM 및 SACD에서 사용되는 DSD 등 다양한 무손실 포맷 압축과 서라운드 오디오 지원을 지원합니다.

특징들

WavPack 압축은 에서 8비트, 16비트, 24비트 및 32비트 부동소수점 PCM 오디오파일을 압축(및 복원)할 수 있습니다.WAV 파일 형식서라운드 사운드 스트림과 고주파 샘플링 속도도 지원합니다.다른 무손실 압축 방식과 마찬가지로 데이터 감소율은 소스에 따라 다르지만 일반적으로 일반적인 대중음악의 경우 30%에서 70% 사이이며, 동적 범위가 [2]더 큰 클래식 음악 및 기타 소스의 경우보다 다소 우수합니다.

하이브리드 모드

또한 WavPack은 무손실 압축 기능을 제공하는 "하이브리드" 모드를 통합하고 있지만, 2개의 파일을 생성합니다.즉, 비교적 작고 고품질의 무손실 파일(.wv)과 무손실 파일(.wvc)을 조합하여 완전한 무손실 복원을 제공하는 "수정" 파일(.wvc)입니다.이것에 의해, lossy 코덱과 lossless 코덱을 병용할 수 있습니다.

Optim에서는 와 유사한 "하이브리드" 기능도 제공합니다.PROG 듀얼 스트림, MPEG-4 SLSDTS-HD 마스터 오디오

요약

  • 오픈 소스, BSD라이크 라이선스로 출시
  • 멀티플랫폼
  • 오류의 견고성
  • 고속 부호화 속도
  • 널리 사용되는 다른 오픈소스 무손실 오디오코덱보다 높은 압축비
  • 스트리밍 지원
  • 멀티채널 오디오 및 고해상도 지원
  • 소스 파일을 PCM으로 변환하지 않고 Direct Stream Digital을 압축하기 위한 WavPack 5.x의 네이티브 지원.
  • 하이브리드/손실 모드
  • 하드웨어 지원(Rockbox 펌웨어 제공)
  • 메타데이터 지원(ID3, APE 태그) (APE 태그가 권장 형식)
  • RIFF 청크 지원
  • ReplayGain 호환
  • Win32 플랫폼용 자기 압축 해제 파일 생성 기능
  • 32비트 부동소수점 스트림 지원
  • 임베디드 CUE 시트 지원
  • MD5 해시 포함으로 신속한 무결성 체크 가능
  • 대칭 모드와 비대칭 모드 모두 인코딩 가능(디코딩 속도를 높이기 위한 느린 인코딩)

역사

David Bryant는 버전 1.0(1998-08-15)의 출시와 함께 1998년 중반 WavPack 개발을 시작했습니다.이 첫 번째 버전은 무손실 압축 및 압축 해제 오디오를 이미 무손실 인코더 [3]중 최고의 효율성 대 속도 비율 중 하나를 특징으로 했습니다.

버전 1.0이 출시된 직후 손실 인코딩을 특징으로 하는 v. 2.0(1998년 9월 2일)이 출시되었습니다(데이터 감소를 위해 예측 잔여물의 양자화만 사용, 심리 음향 마스킹 모델은 스트림에 적용되지 않았습니다).

1999년 버전 3.0(1999년 9월 12일)이 출시되었으며 새로운 "고속 모드" (압축비 감소에도 불구하고) raw (헤더리스) PCM 오디오파일 압축 및 32비트 순회 용장성 체크를 사용한 오류 검출이 추가되었습니다.

최신 3.x 버전에서 추가된 기능은 "하이브리드" 모드입니다.이 모드에서는 인코더가 손실 파일과 수정 파일을 생성하여 원래 [4]버전과 동일한 품질의 PCM 스트림으로 둘 다 압축 해제할 수 있습니다.저자에 의해 향후 [5]개발에 대한 힌트가 포함된 "로드맵"도 발행됩니다.

지지하다

소프트웨어

일부 소프트웨어는 포맷을 네이티브로 지원합니다(DeaDBeeF, foobar2000,[6] Jack 등). Knife)는 플러그인이 필요하지만 다른 제품도 있습니다.WavPack 공식 웹사이트에서는 Winamp, Nero Burning ROM, MediaChest 2.1 및 기타 응용 프로그램용 플러그인과 DirectShow [7]필터를 제공합니다.foobar2000의 작성자가 작성한dBpoweramp CD-Ripper [8]및 FooBar2000[9] 자체 및 Under는 오디오 CD를 Wavpack 파일로 직접 리핑할 수 있습니다.

Linux 지원은 네이티브 포트에서 사용할 수 있습니다.

FFmpeg에는 네이티브 WavPack 인코더가 있습니다.이 인코더는 여러 CPU 코어를 사용하여 다른 무손실 포맷을 WavPack으로 빠르게 변환하고 추가 소프트웨어 없이 WavPeg에서 지원하는 포맷으로 변환합니다.

하드웨어

네이티브 지원:

비원어민 지원:

  • Apple iPod의 다양한 음악 플레이어는 개봉 즉시 WavPack을 지원하지 않지만 오픈 소스 Rockbox 펌웨어를 통해 지원됩니다.
  • iriver H100 시리즈, 오픈 소스 Rockbox 펌웨어를 사용할 수 있습니다.
  • iriver H300 시리즈, 오픈 소스 Rockbox [10]펌웨어를 사용할 수 있습니다.
  • Android 스마트폰 및 태블릿과 타사 미디어 플레이어 소프트웨어 설치
  • Linux 서브시스템 또는 Android Play Store에 설치된 미디어 플레이어 소프트웨어를 사용하는 Chrome OS 장치.

WavPack 웹사이트에는 Roku PhotoBridge [7]HD 포맷을 지원하는 플러그인도 포함되어 있습니다.

테크놀로지

고속 연산을 확보하기 위해 WavPack은 완전히 정수 [11]연산으로 구현된 프레딕터를 사용합니다."빠른" 모드에서 예측은 이전 두 표본의 산술적 추정일 뿐입니다.예를 들어, 이전 두 표본이 -10과 20이면 예측값은 50이 됩니다.기본 모드의 경우 예측에 대한 이전 표본의 영향을 가중치하기 위해 단순 적응 요인이 추가됩니다.[whose?] 예에서 결과 예측은 영향을 미치지 않는 경우 20에서 완전한 영향을 미치는 경우 50 사이에서 변화할 수 있다.이 가중치 계수는 오디오 데이터의 변화하는 스펙트럼 특성에 따라 지속적으로 업데이트됩니다.

생성된 예측은 부호화 대상 실제 샘플에서 차감되어 오류 값을 생성합니다.모노 모드에서는, 이 값이 코더에 직접 송신됩니다., 스테레오 신호는 두 채널 간에 어느 정도 상관관계가 있어 더욱 이용할 수 있습니다.따라서 왼쪽 및 오른쪽 오류 값의 차이와 평균을 나타내는 두 가지 오류 값이 계산됩니다.「고속」모드의 동작에서는, 이 2개의 새로운 값이 왼쪽과 오른쪽의 값이 아니고, 간단하게 코더에 송신됩니다.디폴트 모드에서는 차분 값은 다른 3개의 값(평균, 왼쪽 또는 오른쪽) 중 하나와 함께 항상 코더로 전송됩니다.적응 알고리즘은 채널 밸런스의 변화에 근거해 송신하는 3개 중 가장 효율적인 것을 연속적으로 결정한다.

라이스 코딩 대신 WavPack용 특수 데이터 인코더가 사용됩니다.쌀 코딩은 이러한 유형의 데이터에 대한 최적의 비트 코딩이며, WavPack의 인코더는 효율성이 떨어지지만 샘플당 0.15비트(또는 16비트 데이터의 경우 1% 미만) 정도만 효율적입니다.단, WavPack의 인코더는 부호화 전에 데이터를 버퍼링할 필요가 없으며 대신 각 샘플을 비트코드로 직접 변환한다는 장점이 있습니다.이것은 계산적으로 더 효율적이며 코딩 지연이 중요한 일부 애플리케이션에서는 더 좋습니다.두 번째 장점은 모든 중요한 비트(암묵적인 "하나" MSB 제외)가 직접 전송되기 때문에 손실 인코딩에 쉽게 적응할 수 있다는 것입니다.이 방법으로 각 샘플의 최상위 비트(부호 포함) 3개만 전송할 수 있습니다.실제로 평균 3.65비트/샘플의 각 샘플에 대해 부호 및 암시 MSB만 전송할 수 있습니다.

이 코딩 방식은 WavPack의 "lossy" 모드를 구현하기 위해 사용됩니다."고속" 모드에서는 비적응형 장식기의 출력이 지정된 비트 수만큼 가장 가까운 부호화 가능 값으로 반올림됩니다.디폴트 모드에서는 적응형 디코더(평균 노이즈 약 1dB 감소)가 사용되며, 현재 샘플과 다음 샘플 모두 2개의 사용 가능한 코드 중 더 나은 코드(노이즈 약 1dB 감소)를 선택할 때 고려됩니다.

저자에 따르면 정수 연산은 압축의 무손실 특성을 손상시킬 수 있는 미세한 칩 투 칩 변화에 덜 민감하기 때문에 WavPack의 데이터 경로에는 부동 소수점 연산이 사용되지 않습니다(Pentium 부동 소수점 버그가 그 예입니다).부동소수점 연산을 사용한 무손실 압축기는 결함이 있는 Pentium에서 실행할 때 다른 출력을 생성할 수 있습니다.실제 버그를 무시하더라도 부동소수점 계산은 충분히 복잡하기 때문에 "올바른" 구현 간에 미묘한 차이가 있을 수 있으며 이러한 유형의 애플리케이션에 문제를 [12]일으킬 수 있습니다.생성된 스트림에 대한 32비트 오류 감지 코드가 포함되어 WavPack 압축 무결성에 대한 사용자 신뢰를 유지합니다.

WavPack 소스 코드는 이식 가능하며, Windows, DOS, Palm, VMS 상의 여러 Unix Unix 유사 운영 체제(Linux, Mac OS X, Solaris, FreeBSD, OpenBSD, NetBSD, Compaq Tru64, HP-UX...)에서 컴파일되었습니다.

Texas Instruments TMS320 시리즈 디지털 신호 프로세서용으로 WavPack의 축소 버전이 개발되었습니다.이는 주로 제조업체가 WavPack 압축(및 압축 해제)을 휴대용 메모리 오디오 레코더에 포함하도록 권장하는 것을 목적으로 했습니다.이 버전은 임베디드 애플리케이션에만 적용 가능한 기능(실시간, 선택 가능한 압축률의 스트림 압축)과 풀 컴퓨터 시스템에만 적용되는 기능(자기 압축, 고압축 모드, 32비트 플로트)을 지원했습니다.TMS320 시리즈 DSP는 네이티브 정수 디바이스로 WavPack을 충분히 지원합니다.완전한 WavPack 소프트웨어의 일부 '특수' 기능이 포함되었고(예를 들어 수정 '파일'(스트림)을 생성하는 기능) 다른 기능은 제외되었습니다.포트는 버전4에 기반하고 있었습니다.

WavPack 지원은 2006년 [13]10월에 출시된 버전 11.0 베타부터 WinZip에 추가되었습니다. ZIP 파일 형식의 확장자는 포맷을 관리하는 PKWARE에 의해 공식 APPNOTE에 포함되었습니다.2007년 9월 28일에 발매된 버전 [14]6.3.2 이후의 TXT 설명 파일.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Git 태그
  2. ^ Heijden, Hans (11 July 2006). "Compression and speed of lossless audio formats". Retrieved 17 July 2009.
  3. ^ Speek (7 February 2005). "Performance comparison of lossless audio compressors". Retrieved 17 July 2009.
  4. ^ "WavPack Audio Compression".
  5. ^ "WavPack 4.40 released".
  6. ^ "foobar2000". foobar2000.org. Retrieved 2019-11-19.
  7. ^ a b "WavPack downloads".
  8. ^ "dBpoweramp Codec Central". www.dbpoweramp.com. Retrieved 2019-11-19.
  9. ^ "foobar2000: Free Encoder Pack". www.foobar2000.org. Retrieved 2019-11-19.
  10. ^ "Sound Codecs, Rockbox Wiki".
  11. ^ Bryant, David (21 March 2007). "Forum comment by developer". Retrieved 17 July 2009.
  12. ^ Goldberg, David (March 1991). "What Every Computer Scientist Should Know About Floating-Point Arithmetic" (PDF). ACM Computing Surveys. 23 (1): 5–48. doi:10.1145/103162.103163. S2CID 222008826. Retrieved 2016-01-20. ([1], [2])
  13. ^ "WinZip - Additional Compression Methods Specification". WinZip International LLC. 15 November 2006. Retrieved 6 January 2008.
  14. ^ "APPNOTE.TXT - .ZIP File Format Specification". PKWARE Inc. 28 September 2007. Retrieved 6 January 2008.

외부 링크