EDN China > 技术文章 > 消费电子设计 > 便携设备 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) LCD TV视频解码器技术简介

来源:电子产品世界/《零组件》杂志 丹尼尔(台湾)?? 2007年01月08日 ?? 收藏0

  视频串流的路径

  附图四是一个简易的LCD TV或数字电视接收系统之架构。它包含了上述的硬件架构,也包括了必需的软件。

简易的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);在进行多信道播放时,应避免不必要的配置或释放缓冲空间。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

LCD? 视频? 解码器?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈