최근 레트로 게임의 유혹에 이끌려 닌텐도의 슈퍼 패미컴을 구하게 되었습니다.
원더보이와 같은 액션 게임은 일본어의 장벽 없이 쉽게 즐길 수 있는 반면에 젤다의 전설과 같은 JRPG 장르는 언어의 장벽이 생각보다 큽니다. 현재는 스토리를 이해하면서 플레이해보고 싶어 자동으로 번역해 보고 싶은 욕심이 생겼습니다.
현재 가지고 있는 에버미디어 캡처 장비를 활용해서 슈퍼 패미컴의 화면을 스트리밍해서 PC로 가져와 봅니다. 지연시간도 생각보다 길지 않아 거의 실시간급으로 스트리밍 할 수 있습니다.
하드웨어적으로 기초적인 작업은 모두 끝났습니다. 이제 소프트웨어 적으로 이 스트리밍 화면 정보와 인공지능 기술을 이용하여 글자를 인식하고 번역을 해봅니다. 주말에 집중해서 실험해 보니 약 12시간 정도 소요된 것 같습니다.
처음에는 화면을 인식하고 번역하는데 약 15초~20초 정도 소요되었으나 코드 리팩터링을 통해 구조를 대대적으로 개선했더니 현재는 약 5초~7초 정도의 시간이 소요됩니다. 프로토타입을 고수준 언어인 파이썬으로 구현해 보았는데요. 확실히 저수준 언어인 C/C++보다는 엄청 느리네요… 파이썬으로 빠르게 핵심적인 기능만 구현해 보았는데 막연한 생각으로만 도전했지만 실험 후에는 구현 가능하다는 걸 알았습니다.
다음날 파이썬으로 실험한 모든 내용을 C#.NET으로 이식 작업을 하였습니다. 이제 성능을 최대로 끌어올리기 위해 천천히 느긋하게 컨버팅해 봐야겠습니다.
또한 비전 영상의 연산 속도를 측정하기 위해 FPS (Frames Per Second) 정보가 표시되도록 개선하였습니다. 또한 추가 옵션으로 ON/OFF 할 수 있도록 개선 하였습니다. 업데이트 후 확인해보니 연산 속도가 매우 느렸다는 것을 확인할 수 있었는데요. 다행히 연산 성능 최적화 후 기존보다 성능이 약 10배 이상 올라갔네요.
처리 속도 | 개선 전 | 개선 후 |
---|---|---|
원본 영상 속도 | 60FPS | 60FPS |
GVT 전처리 속도 | 19FPS | 200FPS |
지금까지 GVT(Game Vision Translator) v0.01버전에 대해서 살펴 보았습니다. 우선은 직접 사용해 볼 만한 정도의 성능은 나오는 것 같아 일본어의 고통에서 조금은 해방될 것으로 기대합니다만 갈길이 멀었습니다^^
GVT(GameVisionTranslator)는 현재 연구개발 단계입니다. 배포 가능한 품질을 확보한 v1.0이 만들어지면 베타 테스트를 위한 신청자를 모집하여 선택적으로 배포 예정입니다. 툴 자체는 무료 배포이나 게임 번역 DB는 유/무료로 구분되어 서비스될 수 있습니다. 참고부탁드립니다.