빠른 배경 :
Ambilight 는 일부 Philips TV의 시스템으로 화면의 색상 정보를 분석 한 다음 디스플레이 뒷면의 일부 LED를 설정하여 화면 색상을 벽에 투사합니다. 꽤 멋진 효과입니다. PC를 사용하여 비디오를 처리하고 LED를 제어하는이 시스템의 복제본이 있습니다. 전체 기계를 사용하여 일부 LED를 춤추는 것이 약간 과잉
이라고 생각 합니다. 암호화되지 않은 처리 하기 위해 토끼의 NeTV 를 수정하고 싶습니다.HDMI 비디오 피드 및 일부 LED 구동. 나는 NeTV가 다른 목적으로 설계되었다는 것을 알고 있지만 목표를 달성하기 위해 수정할 수 있다고 생각합니다. 기본 Linux 하위 시스템, I2C 스푸핑, 비디오 오버레이 등은 신경 쓰지 않습니다.이 시점에서 HDCP 암호화 스트림을 사용하는 것에 대해서는 신경 쓰지 않습니다.
FPGA 블록 다이어그램
이것은 토끼의 프레젠테이션 슬라이드 중 하나의 블록 다이어그램입니다. 슬라이드 세트의 나머지는 여기에있다 .
이 슬라이드는 비디오 픽셀이 실제로 디코딩 된 ( 암호화 되지는 않음 ) 것을 암시하는 것으로 보입니다 .
마지막으로 ... 내 생각과 질문 중 일부 :
원하는 하드웨어에서이 작업을 수행 할 수 있습니까? "예"이면 계속하십시오! "아니오"인 경우, 더 필요한 것이 무엇인지 알려주십시오!
외부 메모리없이 비디오 정보를 처리 할 수 있습니까? 내가 알 수있는 한 FPGA가 직접 액세스 할 수있는 메모리는 없습니다. 이것은 아마도 비디오 데이터를 처리하는 데 사용하는 알고리즘에 달려 있습니다. 가능한 한 적은 FPGA 블록 RAM을 사용하려면 전체를 저장하는 대신 들어오는 픽셀의 '반복적 합산'을 사용하고 싶습니다. 사진 데이터의 프레임과 색상을 평균화합니다. 이 알고리즘의 구현에 관한 힌트가 있습니까? 이것을 시작하는 방법은 나의 가장 큰 장애물입니다.
비디오 데이터를 어디에서 '탭'해야하는지에 대한 소스 코드를 조사했습니다.
이것은 적절한 지점처럼 보입니다.
이 이미지가 길다는 것을 알고 있습니다. 읽기 쉽도록 최선을 다합니다. 이를위한 자일링스의 도구!
이것은 TMDS 데이터를 받아 각 색상에 대해 8 비트를 출력하는 것으로 보입니다.나는 LED 드라이버를위한 일종의 상태 머신을 가져야한다-매 클럭 사이클마다 비디오 데이터를 처리하기 위해 내가 만든 모듈에서 픽셀 정보를 얻는다.
이것이 장황하거나 길면 미안합니다-철저히 노력하고 있습니다 ...이 문제를 해결하는 데 도움이 필요합니다. 이것은 FPGA 프로젝트에서 처음 시도한 것입니다. 일부는 초보자에게는 너무 어려울 수도 있지만 ... 어딘가에서 시작해야한다고 말합니다 :) 읽어 주셔서 감사합니다.