Texas Instruments SPRAA56 appendix Important Benchmarks for Video Applications, Figures

Page 2

SPRAA56

 

 

Figures

 

Figure 1. Basic Data Flow of the Video Application

4

Figure 2. Detailed Application Data Flow Showing Memory Buffers

8

Figure 3. Task Partitioning in the Modified Application

9

Figure 4.

CPU Load Measurement at Run-Time

15

Figure 5.

External Internal Memory Transfers, YUV4:2:0 to 4:2:2 Conversion Function ....

16

Figure 6.

Workspace Including RTA Windows

22

Figure 7.

Statistics View Showing Benchmark Measurements

23

1Important Benchmarks for Video Applications

Diverse video applications often require similar benchmarks to quantify their performance. Some of the most commonly needed benchmarks are as follows:

Frame rate

Resolution

End-to-end latency

Processor utilization

Bitrate*

Quantization factor*

Frame type*

Group-of-pictures (GOP) structure*

Items marked with an asterisk are of importance in applications where encoders or decoders are involved. This application note provides a method for measuring many of these benchmarks during the capture, processing, and display phases of the example video application.

Frame rate is the rate at which frames are captured, processed, and displayed. The capture, process, and display frame rates can differ by design or under overloaded conditions where frames are “dropped.” Therefore, it is important to measure all three frame rates separately.

Resolution is the size in pixels of the capture, processing, and display. Resolution is typically static at run-time, so it is not usually benchmarked with real-time tools. However, it is important to know the capture, processing, and display resolutions of the system design. For example, the H.263 loopback application used in this application note captures and displays video in D1 resolution and processes in 4CIF resolution.

End-to-end latency is a measurement of the time between the capture of a video frame in real- time and the display of that same video frame some number of milliseconds later.

Processor utilization is the percentage of DSP resources used by an algorithm. In video applications, the significant benchmarks of processor utilization include not only the number of CPU cycles used, but also the memory bus utilization since such large amounts of data must be moved from external memory to L2 and back repeatedly.

Bitrate is the number of bits per second output by a video encoder, or delivered to a video decoder. Higher bitrates are generally associated with higher quality video. The bitrate often varies with the complexity and motion in a video source, so it is important to measure bitrate dynamically in video applications.

2

DSP/BIOS Real-Time Analysis (RTA) and Debugging Applied to a Video Application

Image 2
Contents Viewing Benchmarks in the Instrumented Application Modifications to the Base ExampleRTA Techniques for Performance Measurement References Appendix A. Performance ImpactImportant Benchmarks for Video Applications FiguresBase Application Overview SPRAA56TskInput DSP/BIOS and RF5 Components Used 1 LOG4 UTL 2 STS3 TRC Modifications to the Base Example Requirements for Viewing RTA BenchmarksSplitting the Encode and Decode CELLs Adding the Control TSK and MBX CommunicationTskO utput Querying the H.263 Encoder for StatusTskInput Controlling the Frame Rate RTA Techniques for Performance Measurement Measuring Function Execution Time with the UTL ModuleMeasuring Task Scheduling Latencies Measuring End-to-End LatenciesMeasuring the Frame Rate Programmatic Measurement of Total CPU Load Memory Bus Utilization 14,400 B 720*480 = 345,600 B86,400 B External memoryBitrate and Frame Type Methods for Transmitting Measured Performance Data Requirements Viewing Benchmarks in the Instrumented ApplicationApplication-Specific Control via GEL Scripts in CCStudio Running the Application Load the h263loopbackrta.out programSPRAA56 Interpreting the Benchmarks Expected Values for the STS Objects Expected and Measured STS Benchmarks Controlling the Run-Time Parameters Dynamically Debug ModeExpected Values Delivered to the Message Log Expected and Measured Logged BenchmarksReferences Capture and Display Task BenchmarkingRTA Effects on CPU Load Appendix A. Performance ImpactOverhead of Performance Measurement Techniques Measured Performance of Benchmarking TechniquesMemory Footprint Memory Footprint DetailsImportant Notice