关键词:
lcd , 视频解码器
就技术层面而言,lcd tv是属于高整合电子产品。它涵盖了算法、软件、硬件、芯片、无线射频等领域,而且有许多专利是属于国外公司或机构所拥有。目前国内很缺乏熟悉这块领域的系统整合人才。目前即使在先进国家,由于lcd tv或hdtv仍然属于最新的产品,熟悉这块领域的技术人才,其实也不多。与之相近的,应该是数位机顶盒(digital stb),不过,前者的技术复杂度又远远超过后者,因为lcd tv或hdtv除了包含了网络通信的功能以外,还包括osd(on screen display)和“缩放控制器(scalar)”、屏幕驱动等功能。所以,即使设计过stb的人,也不敢随便说lcd tv或hdtv的技术很简单。
lcd tv的硬件架构
图1 lcd tv的硬件架构
图1是lcd tv的硬件架构示意图。其中,比较重要的音视频部件有:中央处理器、视频解码器(video decoder)、射频调谐器(rf tuner)、信道解调器(channel demodulator/decoder)、音频编解码器(audio codec)。此外,还可能包含一般常见的i/o接口与装置,例如:usb、1394、蓝牙、wlan、irda、mmc/sd/cf、以太网络、数字相机、dsl或缆线调制解调器(cable modem)、pda等。
视频解码器
图2 混频解码器的位置
图2是一个lcd tv/hdtv视频解码器与相邻芯片之间的关系。它具有下列的主要功能:
1. 可编程化的像素(pixel)输出端口:由8到30位来决定像素的ycbcr/rgb的比例,例如:4:2:2或4:4:4。
2. 支持外部的射频调谐器,具有10-bit的数字基频合成(composite)视频输入单元。
3. 自动辨识和处理vcr或数字电视信号。
4. 通过像素输出端口支持“垂直空白间隔(vertical blank interval;vbi)”数据的输出,可以用来传送“字幕(closed caption;cc)”数据,例如:传输实时的股市行情。其它vbi数据可以通过i2c接口传输,例如:版权产生管理系统(copy generation management system;cgms)、宽屏幕信号(wide screen signalling)、强清晰度电视(enhanced definition television;edtv)、cc字幕、延伸数据服务(extended data service;xds)。
5. 支持全球现有的多种色彩格式:
*pal b/d/i/g/h、pal60、pal m、pal n、pal nc
*ntsc m/j、ntsc 4.43
*secam b/d/g/k/l
*ntsc方形像素(square pixel)
6. 支持hdtv的所有输入信号,例如:525p、625p、720p和1080i,以及其它高分辨率(hd)和smpte(society of motion picture engineers)标准。也支持标准分辨率(sd)。
7. 除支持cvbs、s-video、ypbpr、rgb以外,还支持5线的ypbprhv/rgbhv和csync,如图3。
图3 支持多种视频输入格式
视频串流的路径
附图四是一个简易的lcd tv或数字电视接收系统之架构。它包含了上述的硬件架构,也包括了必需的软件。
图4 简易的lcd tv系统架构
从解码器、解调器传来的mpeg-2传输串流(transport stream;ts),经过”解多复用器(demultiplexer)”之后,可以得到视频、音频、数据、对白(subtitle)或字幕…..等不同的信号,再经过视频解码器(例如:mpeg-2/4或h.264)、音频解码器,得到的数据是最原始的(raw)数据。这些数据会被中央处理器送到适当的通信协议层,例如:v4l2、rtp/rtcp/rtsp、http、java应用程序……等,之后通过“回传信道(return channel)”,例如:以太网络,将这些数据送到因特网上;或送至osd、音频dac,交给lcd和扬声器播放。
没错,数字机顶盒也具有上述的类似功能。它和lcd tv一样也都具有“条件访问(ca)”的功能。只不过,lcd tv的屏幕都是内建的,而且,一般的数字机顶盒只能通过单一的路径来获取视频,但是,lcd tv可以通过4种不同的路径来取得视频,这包含:卫星数字、数字地面、因特网、有线数据网络。不过,就交互式电视的软件而言,数字机顶盒和lcd tv的软件是非常类似的,甚至是一样的。
在“设备驱动程序(device driver)”层,为了能播放数字电视信号,lcd tv的i/o端口必须要有lcd驱动程序(能够设定osd和scalar)和音频驱动程序。为了能将互动信息传送至因特网上,它也需要以太驱动程序和dsl(或缆线)调制解调器驱动程序。外部装置也可以通过irda或i2c、spi、uart……等接口,将数据送给lcd tv处理。此外,接收端的视频/音频解码器的驱动程序也位于这一层。
有许多工程师不了解lcd tv或数字机顶盒的视频数据流(data flow)的行动路径,因此经常造成消错上的困扰,尤其是在经过视频解码器之后,信号应交给中央处理器处理,而不是其它组件。同理,如果在附图四中的信号来源换成是以太网络,而不是射频天线,在经过视频解码器解码之后的信号仍应交给中央处理器。此外,在图四中,不管是mpeg-2 ts或ps/pes,都可以将它们视为最底层的数字数据封包,其地位和角色皆如同以太封包一样,有别于模拟信号。
解码引擎
由于视频、音频格式的多样化,使用单一的解码器已经无法满足这么多的需求。于是有所谓的“解码引擎(decode engine)”,它可能是一颗risc或dsp,负责重置、停止、加载和启动固件或“微码(microcode)”,并处理所有与串流解码无关的工作,例如:输出声音。
每个解码引擎内部具有数个解码器,负责下列的工作:1. 开启或关闭单一串流。2. 传送命令。例如:初始化、解除初始化、播放、暂停、停止等。3. 取得目前的状态信息。例如:播放中、已暂停等。4. 各种串流独有的特性。例如:数据格式等。
在这些risc或dsp内部都具有许多个硬件模块,而每一个模块都具有特定的实体功能;这些功能通常可以利用缓存器(register)来设定。一般而言,这些risc或dsp会包含下列的硬件模块:1. 解多任务(demux)引擎:同时对视频和音频分工。2. mpeg引擎:是一个视频dsp,内含一个视频解码器和一个“子图像(subpicture)解码器”。3. 音频引擎:是一个音频dsp,内含两个音频解码器和一个混频器(mixer)。4. 中央处理器:cpu核心、dma、中断处理单元。
这些risc或dsp的软件模块是利用硬件模块来产生“执行绪(task)”。例如下列的软件模块:1. 系统区块:pll初始化、dram设定……等。2. 图形加速引擎:使用图形加速命令所控制的fifo,来加快处理速度。3. 字幕解码模块:软件的字幕解码单元。4. i2c:软件的i2c接口,为可程序化的输出入端口(pio)。5. 内存管理模块:dram的配置。
解码引擎的驱动程序
图5 视频解码引擎的驱动程序架构
通常,视频解码引擎的驱动程序会包含下列几个单元(如附图五):1. 与操作系统和芯片无关的应用程序接口(api):控制缓存器和dram的存取。2. 硬件抽象层链接库:与硬件相关,可通过xml语言来设定它,以适应特定的芯片。它不包含与操作系统相关的api,只会呼叫与操作系统和芯片无关的api。3. 最少的核心模块:它在上述1.的上方,负责存取缓存器和处理dma,并且处理os核心的全部作业,例如:irq处理、dma配置…等。4. 核心模块:它呼叫“最少的核心模块”,以存取硬件。
内存的配置
图6 视频解码器的内存配置
内存配置是在开发视频解码装置时,必须特别考虑的。图6是典型的视频解码器之内存配置;附表一是各种视频格式在解码时所需要的内存大小。
表1 各种视频格式的内存需求
配置内存时,必须避免分割太小和太多。务必先配置大的、长时间使用的缓冲空间(buffer);在进行多信道播放时,应避免不必要的配置或释放缓冲空间。
自动驾驶汽车领域迎来最高端玩家:NASA加入自动驾驶汽车的研发队伍
哪一些因素会影响pcb的价格
智能电网已来 百度与南方电网达成战略合作用AI发电
LG部署基于AI的5G优化系统,可实现减少无线电波信号干扰
实现电机控制的高精度
LCD TV视频解码器技术简介
教你如何将微小的传感器讯号正确连接到ADC
金航标kinghelm/萨科微slkor全员培训
小安派-Eyes-S1/S2多功能开发板简介
摩托罗拉暗示发布无线充电设备
直通HDC2022 | 润和软件为OpenHarmony落地智慧城市构建高效可靠软件基座
数据中心手动操作关闭复制并开始使用
接地极是什么东西_接地极做法示意图
小米:将性价比进行到底!红米4X发布:仅售699元!
新疆理化所在抗激光损伤宽带隙红外非线性光学材料研究获进展
是德科技旗下任意波形发生器可提供实时信号产生和更高带宽
BMS能否在变局中开新局?
MAX77650 PMIC如何利用SIMO技术为电压轨供电
高通骁龙888影像技术将享有极致体验
华为P50 Pocket折叠屏手机怎么样