NI VideoMASTER and NI AudioMASTER

cancel
Showing results for 
Search instead for 
Did you mean: 

Can PQA use a single reference frame against a test video stream?

Solved!
Go to solution

For R&D testing of video "set-top" devices I want to initiate some internal processing on our UUT, then using a PXI-1491 analyze the digital (HDMI) video output of the UUT for some large number of seconds (180 seconds or more for example).

 

The video that is being analyzed will have static image content. The amount of time I want to analyze the test stream after doing some stuff on the UUT is variable, but I always anticipate it being fairly long.

 

It currently appears that I have to have a reference stream that contains exactly the same number of frames as the test stream.

 

This makes the reference vbf files very large. My test requirements include a large number of resolutions that must be tested through the UUT. Having an extensive library of very large vbf files is logistically difficult, it would much easier to maintain such a library made up of single "golden" frame reference files instead.  Additionally, since my analyze time needs to be variable depending on test setup and UUT processing options, it would be better for me to have a single golden reference frame and validate alot of test frames against it.

 

Since the analyzed video will have static images, is it possible to run a test video stream against a single reference frame (reduced reference) instead of having a full reference stream frame by frame?

0 Kudos
Message 1 of 5
(12,805 Views)

Greetings Trevalion, it is possible to use a reference stream with just a single frame.  Keep in mind that you are only going to be able to grab 1 frame per run of the PQA acquisition and take 1 point of measurements per processor, however.

Paul Davidson
National Instruments
Product Owner - ni.com Chat
0 Kudos
Message 2 of 5
(12,799 Views)

Yes, I can take an acquisition of a single frame because my reference media (file) stream is only a single frame.

 

Is it possible to take one acquisition of 10,000 frames even though my reference frame is only a single frame?

 

I can understand why this might seem to be of little use, but the test video stream will be a static image and I essentially want to verify that every frame of my test stream matches the single "golden" reference frame, and I want to do it for 10,000 or more frames of the test stream.

 

The way that I am understanding your answer is that to accomplish my goal I would have to do 10,000 singleton acquisitions. I could create this loop in Test Stand, which we are using to control the PQA software, but I am concerned with "missing" frames in the test stream due to the overhead of only capturing and processing a single frame at a time.

 

Do you have any suggestions that will allow me to achieve this goal?

0 Kudos
Message 3 of 5
(12,793 Views)
Solution
Accepted by Trevalion

Doing exactly what you are asking is not within the design of PQA.  Of course, the best option that we would recommend when working with video test is a large capacity hard drive, probably in a RAID configuration for more space and better performance, and then just taking a golden reference with 10k frames, and doing what you originally suggested.  

 

One method of achieving what you are looking for without using a large reference file is through offline processing.  This would allow you to acquire 10,000 consecutive frames, which I understand is one of your concerns, and then after the fact run them back through the analyzer.  You would still be performing a looping type of action in TestStand or LabVIEW.  The process would be:

1) Acquire your source from your 1491 provider with no processors, and saving the media stream to disk.

Loop:

2) Load PQA with the disk buffer provider instead of the 1491, the disk buffer file will be the acquisition from above

3) Point the start frame to your current location.

4) Perform your processor with the results.

5) Repeat and iterate to a new start frame location

 

This process is going to be much slower as you load and unload resources every time.  If you choose to go this way, a better implementation would be to maybe consider doing 100 frames at a time, or some number larger than 1, because the processing time of handling the extra frames is going to be less than loading/unloading PQA.

 

Your second option is going to require more work outside of PQA to implement custom functionality through a Custom User Processor.  Effectively this allows you to come up with a way to process incoming data in ways that you'd like.  To do this you will need:

1) LabVIEW 2011 - Custom User Processors for PQA can only be developed in LabVIEW 2011.  If you are under a SSP agreement with NI and only have LabVIEW 2012 currently, you still have access to older versions.

2) Vision Development Module - To perform your image processing

3) An unencrypted video source - Due to limitations of HDCP we can not expose the raw video feed to user processors.

 

In this user processor you would:

1) Load your static image/frame in directly, you wouldn't need to use the Media Ref input

Loop

2) Load the current frame from the incoming video array

3) Perform your video measurement with the Vision function, likely PNSR or SSIM since these are currently the only 2 referenced measurements in PQA.

 

To learn more about Custom User Proessor's, in the PQA help check out: NI PQA Executive and the NI PQA Configuration Panel>NI PQA Tabs>Processors tab>Customizable Output Processors>User Processor  as well as: http://digital.ni.com/public.nsf/allkb/514058CC830D86EE86257881004CB45F

Paul Davidson
National Instruments
Product Owner - ni.com Chat
0 Kudos
Message 4 of 5
(12,790 Views)

Thanks for that well thought out answer.

 

A custom user processor was what I thought we might be looking at. Your suggestions are very helpful.

 

Thanks!

0 Kudos
Message 5 of 5
(12,786 Views)