存档

文章标签 ‘DM355’

TMS320DM355 High-Definition (HD) Display

2009年8月17日
TMS320DM355 High-Definition (HD) Display已关闭评论

 

This document describes the system requirements and restrictions for high definition (HD) display while decoding 720P movie and still images.

Contents

[hide]

Introduction

The TMS320DM355 device can encode and decode 720p movies, but a very high DDR bandwidth is needed to display them simultaneously on an HD display. There are a few prerequisites and restrictions in the system to make sure that there are no display glitches during this scenario. This application report is written based on current hardware and software baselines. The restrictions or limitations can be changed according to future software optimizations and hardware improvements.

HD display scenarios

This list briefly summarizes what the DM355 device can and cannot support. More detailed information is discussed in the following sections.

The DM355 CAN support the following HD display scenarios:

  • 720p (1280×720) HD display out
    • Movie playback
      • 720p movie decode with full screen and Video Graphics Array (VGA), Quarter Video Graphics Array (QVGA) movie decode with original size in center of display
    • Still image
      • Slide show with transition effect is possible with full screen
    • Graphical User Interface (GUI)
      • 640×320 size, 8-bit bitmap can fill in full screen with no background job
  • 1080i (1920×1080) HD display out
    • Movie playback
      • 720p, VGA, QVGA movie decode with original size in center of display
    • Still image
      • Slide show with transition effect is possible with full screen
    • GUI
      • 960×540, 8-bit bitmap can fill in full screen with no background job
  • NTSC, PAL TV out
    • Movie playback
      • Super eXtended Video Graphics Array (SXVGA), 720p with full screen and GUI
    • Still image
      • Slide show with transition effect and GUI
    • Movie encoding
      • Full screen preview with GUI while SXVGA, 720p movie encoding
    • GUI
      • No special restrictions or limitations for the GUI implementation

The DM355 CANNOT support the following scenarios:

  • Preview on HD display (even with VGA, QVGA size)
  • HD display during movie encode (even with VGA, QVGA size)
  • Full screen size GUI with background job (movie playback, JPEG decoding, etc.) on HD display

System configuration

HD display with DM355 is supported with the system configurations discussed below.

For Image and Movie Playback Systems With HD Display

These configurations are for systems that need to playback both HD movies and still images. The configurations for movie and still image playback are different in this system, and are provided in the following sections.

Configuration for 720p Movie Playback

  • ARM 270 MHz*
  • DDR 216 MHz** and 8 bank
  • PBBPR*** = 0x30
  • TC RDRATE**** = 0x2

* TMS320DM355-270 is required to run ARM at 270 MHz.
** DDR2 533 MHz DDR module and 270 MHz grade DM355 are required to run DDR at 216 MHz.
*** EMIF Peripheral Bus Burst Priority (PBBPR): 32-bit register at 0x20000020
**** Enhanced Direct Memory Access (EDMA3) Transfer Control Read Rate (TC RDRATE): 32-bit registers at 0x01C10140 and 0x01C10540

This configuration is used for 720p movie playback. It is not possible to resize movies without noise with HD display. 720p movies can be played in full screen size with 720p display; VGA, QVGA size movies are played in their original sizes. 720p movies can be played in their original size with 1080i display.

It is hard to get 30 frames per second (FPS) movie playback if a bigger value than 0x2 is set for TC RDRATE. 0x2 is the highest limit to get for 30 FPS.

0x30 for PBBPR was found with a trial and error method so it is not the best possible value. Memory bandwidth can be utilized more efficiently with a bigger PBBPR value, but peak memory bandwidth can exceed the limitation with bigger PBBPR value in some situations. The best possible value can be changed according to system and application. Start with 0x30 and find good value with trial and error. 0x10 ~ 0x50 would be a good range to cover the best values for almost all systems.

Configuration for Still Image Playback When HD Movie Playback is Needed

  • ARM 270 MHz
  • DDR 216 MHz and 8 bank
  • PBBPR = 0x30
  • TC RDRATE = 0x4

This configuration is used for still image playback. Full screen size still image playback is possible with both 720p and 1080i display. The slide show with transition effect is also possible with both displays. This configuration is useful for the application that requires movie playback as well. Lower ARM and DDR clock can be used for still image playback, to reduce power consumption, but it requires a dynamic-clock-speed changing mechanism. If power consumption is not an issue, then keeping the same clock speed with movie playback is easier to implement and reduces corner cases.

The slide show with transition effect does not have strict real-time constraints like movie playback, so the TC RDRATE value can be adjusted freely. In this configuration with the bigger TC RDRATE value, the transition effects become slower but reduce the possibility of noise. To find the best value for a specific system, start with 0x4 and increase the value with the trial and error method.

For Image Playback Only System With HD Display

The configuration for still image playback is discussed below.

Configuration for Still Image Playback When HD Movie Playback is NOT Needed

  • ARM 108 MHz
  • DDR 171 MHz and 4 bank
  • PBBPR = 0x30
  • TC RDRATE = 0x4
  • IPIPEIF_CFG.CLKDIV = 1/16

This is the minimum configuration to support still image playback and slide show with transition effects for a system that does not need to playback movies on HD display. It means movie playback on the HD display is not supported.

Only 720p display is supported; 1080i is not supported. If 8 bank is used, then 1080i is possible.

ARM 216 MHz has more on-screen display (OSD) line noise than ARM 108 MHz. The reason is that ARM 216 MHz requests memory accesses in shorter periods of time so the peak-of-memory access load is higher. If 8 bank is used, then ARM 216 MHz could be used without any problem.

With this configuration, other values for PBBPR and RDRATE have more visual artifacts. But different systems can show different behavior, so start with the values above and find good values for the system.

If the JPEG size is bigger than the HD display resolution, then IPIPEIF_CFG.CLKDIV does not need to be changed; however, if the JPEG size is smaller than the HD display resolution, then IPIPEIF_CFG.CLKDIV should be set as 1/5, 1/6, 1/8, 1/16 or 1/32. The reason is that scale up requires more bandwidth than scale down. The speed of the Resizer should be reduced. By increasing the clock divider value of IPIPEIF, RESIZE runs more slowly and reduces the required memory bandwidth.

For HD Movie Record System With SD Display

The configuration for the HD movie record system with standard definition display is discussed below.

Configuration for HD Movie Record (minimum configuration)

  • ARM 216 MHz
  • DDR 171 MHz
  • PBBPR = 0x2
  • TC RDRATE = 0x2

Although HD preview is not possible while HD movie encoding, NTSC, PAL or D1 size LCD preview is possible. The above configuration is used to capture an HD movie (720p, SXVGA).

8 bank memory was tested but 4 bank memory has not been tested yet.

GUI With HD Display

There are restrictions to implement GUI with HD Display. The restrictions are explained in this section. Even with the restrictions, some reasonable GUI implementation is possible and those ideas will be discussed in this section, too.

Restrictions

GUI can be implemented with the following configuration.

  • Max size of bitmap window
    • 640×320 for 720p
    • 960×540 for 1080i
  • 2x zoom of the OSD window
  • Only 8 bit or lower bitmaps are supported

GUI has the following limitation.

  • GUI can have blending or transparent effect with video window.
  • While movie playback and slide show, no GUI display is recommended
  • If GUI is required while movie playback and slide show, then a bitmap window size as small as possible is recommended.
  • When there is no background job (movie playback paused, etc.), full screen size GUI can be displayed with above configuration

Using attribute window is not recommended because it greatly increases memory bandwidth.

Although the average memory bandwidth is good enough, the problem is the peak-of-memory bandwidth can exceed the limit and cause visual artifacts on display. GUI increases memory bandwidth significantly. The rule of thumb is not running anything in the background while the GUI menu is shown in the display and to hide the GUI menu before starting anything else. In the case that it is inevitable that an icon is showing while something is running, a bitmap window size as small as possible is recommended.

If noise appears with GUI, then PBBPR and RDRATE values should be readjusted or GUI should be hidden.

GUI Implementation Hints

Even with restrictions in the previous section, there are several ways to implement reasonable GUI on the HD display. They are explained in this section.

Warning
Descriptions in this section are not guaranteed officially. The appropriate sizes and parameters should be found with the specific system.

GUI While Movie Playback

The worst scenario is using 640×320 bitmap and blending full size with the video window. If a GUI is implemented with this method, the GUI can be displayed only when the movie is paused or stopped.

But if a smaller bitmap is used, the following GUI can be shown during movie playback.

Figure 1 GUI with Movie Playback

Figure 1 GUI with Movie Playback

To implement the GUI in Figure 1 during movie playback, the following technique can be used.

The issue is memory bandwidth: more GUI can be added if memory bandwidth increase is not too large. The important aspect is keeping the OSD window size as small as possible. Figure 2 shows how OSD windows can be configured to implement GUI in Figure 1.

Figure 2 OSD Window Configuration

Figure 2 OSD Window Configuration

If only one OSD window is used, then the OSD window size should be able to cover almost all of the display area. But when using two OSD windows, both window sizes can be minimized to cover only the bitmap or text. With this method, memory bandwidth increase can be minimized and this GUI could be shown while performing movie playback.

Full Screen Menu With HD Display

Figure 3 shows an example of a GUI that covers a large part of the screen. This kind of menu could also be implemented without increasing memory bandwidth by carefully assigning the bitmap to the OSD windows without using the attribute window.

Figure 3 Full Screen Menu Example

Figure 3 Full Screen Menu Example

As shown in Figure 4, OSD 0 can contain the menu part with 25% transparency and OSD1 can contain the banner part with 40%transparency. The sizes of the OSD 0 and OSD 1 windows should be minimized to cover only the necessary parts; this is the key to reduce memory bandwidth.

Figure 4 OSD Window Assignment Example

Figure 4 OSD Window Assignment Example

Functionality Supported

Configuration Feature List DM355-270 + 8 bank DDR2 DM355-216 + 512 MBit 4 bank DDR2 DM355-135 + 512 MBit 4 bank DDR2
Display on LCD/TV VGA movie MPEG4 encode/ decode 30FPS+ display on LCD/TV Y Y Y
720P HD movie MPEG4 encode/ decode 30FPS + display on LCD/TV Y Y N
VGA movie MPEG4 encode 30FPS+ display on LCD/TV + Video Stabilization Y Y Y
720P HD movie MPEG4 encode 30FPS+ display on LCD/TV + Video Stabilization Y Y N
VGA movie MPEG4 encode 30FPS+ display on LCD/TV + 5x digital zoom Y Y N
720P HD movie MPEG4 encode 30FPS+ display on LCD/TV + 3x digital zoom Y1 N N
VGA movie MPEG4 encode 30FPS+ display on LCD/TV + 5x digital zoom + Video Stabilization Y Y N
720P HD movie MPEG4 encode 30FPS+ display on LCD/TV + 3x digital zoom + Video Stabilization Y1 N N
Display on HDTV VGA movie MPEG4 decode 30FPS +Display on HDTV (Y Pb Pr) Y2 N N
720P HD movie MPEG4 decode 30FPS +Display on HDTV (Y Pb Pr) Y N N
VGA movie MPEG4 encode 30FPS +Display on HDTV (Y Pb Pr) N3 N3 N3
VGA movie MPEG4 encode 30FPS +Display on HDTV (Y Pb Pr) +Video Stabilization N3 N3 N3
720P HD movie MPEG4 encode 30FPS +Display on HDTV (Y Pb Pr) N3 N3 N3

 

1) “720P HD movie MPEG4 encode 30FPS+ display on LCD/TV + 5x digital zoom + Video Stabilization” 15fps possible with DM355-270

2) Only display of VGA size possible in the center of HDTV. Display of 720P upsampled frame not possible

3) HD Display not possible with Movie Encode

davinci(TI DSP), IT技术 ,