Texas Instruments SPRAA56 appendix Base Application Overview

Page 3

SPRAA56

Quantization is the process of dividing a continuous range of input values into a finite number of subranges. Each subrange is assigned a specific output value. The Q factor, or quantization factor, describes the level of quantization used to store the frequency domain representation of the encoded image. Q factor often varies dynamically in an encoder when a constant bitrate is targeted, so it is useful to display the Q factor dynamically with the video stream.

Frame type designates whether a particular frame was encoded independently (I frame) or whether it depends upon previous frames (P) or both previous and future frames (B). Frame type is a useful benchmark when shown in real-time. Note that P and B frame types are relevant for H.263, MPEG-4, MPEG-2, and similar compression standards. They are not relevant for JPEG or uncompressed video applications.

Group-of-pictures (GOP) structure is the sequence of frame types (I, P, and B) produced by the encoder. Common structure lengths are 12 and 15 frames. For example, IBBPBBPBBPBBPBB. If the video stream does not change greatly from frame to frame, P frames may be about 10% the size of I frames, and B frames may be about 2% the size of I frames.

2Base Application Overview

The base "h263_loopback" example used to create the application described here is a video application supplied with the TMS320DM642 evaluation module board support package. After you install the board support package, the source code and included object libraries for the base example are in the <CCS_install_dir>\boards\evmdm642\examples\video\h263_loopback directory.

The H.263 loopback example was chosen because it integrates the following pieces of eXpressDSP software in a working video system:

xDAIS-compliant algorithms

eXpressDSP-compliant video device drivers from the device driver kit (DDK)

DSP/BIOS real-time kernel for scheduling

Chip Support Library (CSL) for low level device function calls

Reference Framework Level 5 (RF5) as a software / scheduling foundation

This example could be used as the basis for any video design that uses an xDAIS-compliant codec. It could be modified to support networking or streaming input/output by following the video networking examples provided with the EVM’s board support package.

While some real-time analysis tools are enabled in the base example, this note describes a more comprehensive set of tools for real-time analysis, benchmarking, and debugging. This set of tools can be used with any video application that has a similar DSP/BIOS-based foundation.

The design of the base example is described in detail in the H.263 Loopback on the DM642 EVM (SPRA933), but a brief description of the design and components used is provided here for reference.

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

3

Image 3
Contents References Appendix A. Performance Impact Modifications to the Base ExampleRTA Techniques for Performance Measurement Viewing Benchmarks in the Instrumented ApplicationFigures Important Benchmarks for Video ApplicationsSPRAA56 Base Application OverviewTskInput 1 LOG DSP/BIOS and RF5 Components Used2 STS 3 TRC4 UTL Requirements for Viewing RTA Benchmarks Modifications to the Base ExampleAdding the Control TSK and MBX Communication Splitting the Encode and Decode CELLsQuerying the H.263 Encoder for Status TskInputTskO utput Controlling the Frame Rate Measuring Function Execution Time with the UTL Module RTA Techniques for Performance MeasurementMeasuring End-to-End Latencies Measuring Task Scheduling LatenciesMeasuring the Frame Rate Programmatic Measurement of Total CPU Load Memory Bus Utilization External memory 720*480 = 345,600 B86,400 B 14,400 BBitrate and Frame Type Methods for Transmitting Measured Performance Data Viewing Benchmarks in the Instrumented Application Application-Specific Control via GEL Scripts in CCStudioRequirements Load the h263loopbackrta.out program Running the ApplicationSPRAA56 Interpreting the Benchmarks Expected Values for the STS Objects Expected and Measured STS Benchmarks Expected and Measured Logged Benchmarks Debug ModeExpected Values Delivered to the Message Log Controlling the Run-Time Parameters DynamicallyCapture and Display Task Benchmarking ReferencesMeasured Performance of Benchmarking Techniques Appendix A. Performance ImpactOverhead of Performance Measurement Techniques RTA Effects on CPU LoadMemory Footprint Details Memory FootprintImportant Notice