Atari ST에서 풀모션 비디오를 구현한 STV 코덱
STV: A full-motion video codec for the Atari ST

DOS 시대 게임을 Atari ST로 포팅하는 개발자가 Westwood의 Command & Conquer 포팅 과정에서 동영상 재생의 필요성을 느끼고, 16색만 지원하는 ST에서 VGA용 VQA 포맷을 재생하는 대신 자체 코덱 STV를 개발했습니다. STV는 8x8 타일 코덱북을 사용하고, 68000 CPU의 movep 명령으로 빠르게 화면에 그리며, 동적 코덱북과 팔레트 최적화로 화질을 개선합니다. 플레이어는 단순하게, 인코더는 복잡하게 설계하여 8MHz CPU에서도 15fps를 달성했습니다.
STV는 제품 요구사항이라기보다는, 해커들이 예전에 하던 방식대로 오래된 CPU를 짜내기 위한 핑계로 시작되었습니다.
HN 토론
13- amiga386
노력은 좋은 것 같지만, 기사는 별로다. 숨 가쁘게 쓰여진 기업 PR 문구처럼 읽힌다. 또한 이 FMV의 어떤 비디오도 포함되어 있지 않은데, HTML 소스에서 보이는 것은 제3자 사이트를 사용해 유튜브 영상을 임베드하려는 시도로, Firefox에서는 아무것도 하지 않는다.
동작하지 않음:
<iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FPhOa3KCE_nM%3Ffeature%3Doembed&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DPhOa3KCE_nM&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FPhOa3KCE_nM%2Fhqdefault.jpg&type=text%2Fhtml&schema=youtube" allowfullscreen="" frameborder="0" height="480" width="640" title="Command & Conquer Intro on Atari ST" class="dr g ii al cs" scrolling="no"></iframe>
의도한 유튜브 영상으로 가 보자: https://www.youtube.com/watch?v=PhOa3KCE_nM
이제 유튜브의 직접 임베드 코드를 넣어 보자:
<iframe width="560" height="315" src="https://www.youtube.com/embed/PhOa3KCE_nM?si=UfCxKD0RZbozo2BK" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
이제 잘 작동한다.
- jaen
8×8 블록을 선택하는 것은 코덱 품질 측면에서 매우 비최적일 가능성이 높다.
4×2 타일의 핵심은 바로 벡터 양자화의 블록화 아티팩트(기사에서 볼 수 있는)를 피하는 것이다.
타일이 커질수록 평균 오류와 엔트로피가 증가하는데, 그 이유는 VQ가 작동하는 방식 때문이다. VQ는 서로 비슷해 보이는 블록을 찾아서 모든 유사한 블록을 단일 타일(보통 블록들의 "평균" 또는 "최빈값"을 선택)을 참조하여 인코딩한다.
타일이 커질수록 매우 유사한 블록을 찾을 확률은 당연히 감소하고(대표 타일과의 편차는 증가),
차원 중 하나를 줄이는 것이 품질-속도 경계에서 더 나은 위치에 있을 가능성이 높다.
- TapamN
8비트 Sega Master System용 FMV 플레이어가 있습니다 ( https://github.com/bravesoftdz/tiler ,) 고정된 수의 동적으로 업데이트되는 타일로 압축합니다. TFA의 코덱과 Tiler는 매우 유사해 보이며, Tiler는 SMS의 타일을 수평 또는 수직으로 뒤집는 기능도 활용합니다.
Tiler의 더 높은 사양 버전은 TileMotion으로 제공되며, 소프트웨어로 1080p 비디오를 디코딩하는 JavaScript 데모가 여기 있습니다: https://gligli.github.io/tilemotion/demo/