압축된 비디오를 압축되지 않은 원본 형식으로 다시 디코딩할 수 있습니까?

압축된 비디오를 압축되지 않은 원본 형식으로 다시 디코딩할 수 있습니까?

다음은 에서 언급됩니다.ffmpeg 문서.

ffmpeg는 libavformat 라이브러리(디먹서 포함)를 호출하여 입력 파일을 읽고 인코딩된 데이터가 포함된 패킷을 가져옵니다... 인코딩된 패킷은 디코더로 전달됩니다... 디코더는 압축되지 않은 프레임(원시 비디오/PCM 오디오/...)을 생성합니다. ) 필터링을 통해 추가로 처리할 수 있습니다...

이는 h.264와 같은 모든 압축 형식/코덱에서 항상 원본 대형 비디오를 추출할 수 있다는 의미입니까?

답변1

비디오 압축은 일반적으로 "손실이 많은", "와 대조적으로무손실".

즉, 데이터를 압축한 다음 압축을 풀면 (희망적으로) 목적에 맞는 원본과 비슷한 결과를 얻을 수 있습니다.

손실 압축 기술을 사용하여 이미지와 비디오를 저장하는 것은 일반적으로 괜찮습니다. 왜냐하면 인간은 이미지의 세부 사항을 잘 인식하지 못하기 때문입니다. 예를 들어 우리의 뇌는 문맥만으로 많은 세부 사항을 채울 수 있습니다(우리의 눈은 작은 영역만 가짐) 중앙에 "높은 해상도") 그리고 우리의 눈은 빨간색이나 파란색보다 녹색의 강도에 더 민감합니다(RGB565의 할당을 설명합니다).

그래서 당신이 말할 때 :

이는 mp4와 같은 모든 압축 형식에서 원본 대형 비디오를 항상 추출할 수 있다는 의미입니까?

한 가지 질문을 하시고 계시지만 오해의 소지가 많습니다.

  • 손실 기술을 사용하여 압축된 비디오에서 원본의 픽셀 완벽한 이미지를 추출할 수 있습니까?
    • 아니요
  • 고품질의 손실 기술을 사용하여 압축된 비디오의 단일 프레임을 추출하고 정적 이미지로 사용할 수 있습니까?
    • 아마도 그렇지 않을 것이다- 장면의 움직임으로 인해 더 많은 수의 아티팩트가 발생하는 반면, 정적 장면은 일반적으로 시간이 지남에 따라 점점 더 좋아 보입니다.
  • '처럼 보이는 원본 크기의 이미지를 추출할 수 있나요?합리적인" 인간에게?
    • - "의 주어진 정의에 대해합리적인"

이 불완전한 결과 이미지에는 "압축 아티팩트". 아래의 과장된 예에서 볼 수 있듯이:

좋음 / 100% JPEG

나쁨 / 5% JPEG


댓글도 오디오 품질에 중점을 두었기 때문에 똑같은 일이 발생합니다. 그러나 오디오는 대역폭이 상당히 낮은 매체이므로 무손실 코덱이 실용적입니다(예:FLAC).

PCM/WAV → MP3 → PCM으로 변환하면 MP3 인코딩/디코드 과정에서 발생한 아티팩트가 포함된 출력 PCM 파일이 생성됩니다. 이러한 아티팩트는 제거할 수 없습니다.

또한 코덱을 연결하면 각각 고유한 아티팩트가 도입될 수 있으며 코덱이 적용되는 순서는 출력에 상당한 영향을 미칠 수 있습니다.

PCM → MP3 → OGG vorbis → Opus로 변환하는 것은~ 아니다각 중간 코덱은 손실이 있기 때문에 PCM → Opus와 동일합니다.

나는 이것을 다른 것으로 제시하는 예제 오디오 파일을 만들었습니다.과장된 예. "의 처음 ~30초입니다.오늘 밤" 에 의해 "69개의 눈", 다음 체인 간에 5초마다 교대로 수행됩니다.

  • CD → FLAC → Opus
  • CD → FLAC → MP3 → Vorbis → Opus

여기에서의 효과는 극적입니다. 더 높은 주파수(예: 하이햇)가 오디오에서 거의 완전히 제거되고 특히 시작 부분에서 눈에 띄는 상당한 채널(왼쪽/오른쪽) 상호 작용이 있습니다.

비교하다

답변2

에 대한 짧은 답변코덱일반적으로:
모두무손실 코덱좋다FLAC또는지퍼정확하게 뒤집을 수 있습니다.
어느손실 코덱좋다JPEG또는MP3정확하게 되돌릴 수는 없습니다.

이 원칙은 다음에도 적용됩니다.비디오 코덱.
여기HuffYUV무손실 비디오 코덱의 예입니다.
그리고x264손실이 있는 비디오 코덱의 예입니다.

답변3

이는 mp4와 같은 모든 압축 형식에서 원본 대형 비디오를 항상 추출할 수 있다는 의미입니까?

아니요. 당신은 그 문장을 잘못 해석하고 있습니다.

먼저 압축을 풀지 않으면 압축된 텍스트를 읽거나 ZIP으로 압축된 파일을 읽을 수 없는 것처럼 압축된 이미지를 표시할 수 없습니다. 이미지를 표시하려면 어떻게든 메모리에서 픽셀 단위로 압축되지 않은 상태로 표현해야 합니다.

이는 압축되지 않은 이미지가 원본과 동일하다는 것을 의미하지는 않습니다. 이는 사용된 코덱에 따라 다릅니다. 내가 아는 한 일반적으로 사용되는 무손실 코덱은 없습니다. 손실 코덱은 일반적인 상황에서 압축되지 않은 비디오를 구별할 수 없을 정도로 원본을 가깝게 표현하는 것을 목표로 합니다. 예상 해상도와 프레임 속도로 재생할 때. 압축된 스틸(예: 프레임 속도=0)을 볼 때 압축 중 비트 전송률이 비현실적으로 높게 설정되지 않는 한(예: 너무 큰 출력 파일 생성) 아티팩트가 확실히 표시됩니다(이 답변내 것은 어떻게 든 관련이 있습니다).


그런데 MP4는 단지파일형식, 즉. 압축된 데이터가 파일에 어떻게 저장되는지 알려주지만 압축 방법은 결정하지 않습니다. MP4는 다양한 코덱과 함께 작동할 수 있습니다. H.264는 아마도 MP4와 함께 사용되는 가장 인기 있는 비디오 코덱일 것입니다. 그러나 이에 대해 제 말을 인용하지는 마세요. 오디오는 일반적으로 AAC로 압축됩니다.

답변4

이것은 매우 흔한 실수입니다.

손실이 있는 형식을 무손실 형식으로 변환할 수 있지만피해가 발생했습니다.

무손실 출력 파일에는 손실 형식을 좋아하지 않는 이유가 되는 모든 손상(세부 손상, 추가된 아티팩트)이 표시됩니다. 당신은 그것을 다시 얻을 수 없습니다.

유일한 옵션은 게시자에게 연락하여 그가 여전히 원본 무손실 파일을 가지고 있는지 확인하고 어떻게든 해당 파일을 귀하에게 업로드할 의향이 있는지 확인하는 것입니다.

그런 건 없어요강화 버튼.경고: TVtropes

관련 정보