UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer jtyx
Observer
1,008 Views
Registered: ‎08-17-2010

How the hdmi rx ss output audio stream?

Jump to solution

I want to know if the AUDIO_OUT_tready signal is always assert high, how the hdmi_rx_ss will output the audio data.

 

Is the time interval between audio samples  the same?  

 

if i want use asyncronous sample rate converter module to convert the rx audio smple to a local audio clock , can i use AUDIO_OUT_tvalid signal as the clk_in of  asyncronous sample rate converter module?

 

thanks a lot!

0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
852 Views
Registered: ‎10-04-2017

Re: How the hdmi rx ss output audio stream?

Jump to solution

Hi @jtyx,

 

I was being a little loose with my terminology. I will try to correct this here and provide an explanation for this issue.

 

 

In HDMI there are audio samples as you mentioned, these are sent over the link using infoframes, then at the user interface the data is pushed out from our core in terms of AXI packets.

 

In your example, you are assuming that the source will always send too much or too little audio per video frame, which after a while will cause the audio to run in front or behind of the video when you re-transmit the data. I believe that this resulting issue is called Lip Sync and the HDMI core does not support Lip Sync.

 

2018-09-06 15_59_31-Xilinx Documentation Navigator 2017.2 -  http___www.xilinx.com_support_documenta.png

This issue is all based on the assertion that every video frame transferred over the link will have too many or too few packets. I do not think this is the case, but it should be defined in the HDMI spec. 

 

If this is the case, and I do not believe it is, I still do not think that the ASRC core will fix your issue as it was built for converting known sample rates that do not vary. (I could be wrong the ASRC is very old, and I am not very familiar with it)

 

If it is not the case, and every frame receives the same number of audio infoframes, then you will not have an issue as the HDMI core will return the AUDIO and VIDEO data aligned in the same way that they came in from the link. By this, I mean that if the audio and video are aligned on the link, the core will output them on the AXI interface aligned as well. 

 

 

Regards,

Sam

 

 

 

 

 

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
9 Replies
Moderator
Moderator
969 Views
Registered: ‎10-04-2017

Re: How the hdmi rx ss output audio stream?

Jump to solution

Hi @jtyx,

 

The AUDIO_OUT interface follows the AXI format. Please see. UG934 on AXI transfers.

 

The time interval between audio samples is not guaranteed to be the same. I am not familiar with the Asynchronous Sample Rate Converter as it was discontinued some time ago, but I would not use the tvalid signal as a clock.

 

What are you trying to convert to? 

 

-Sam

 

 

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
Observer jtyx
Observer
945 Views
Registered: ‎08-17-2010

Re: How the hdmi rx ss output audio stream?

Jump to solution

In our project , we record the received hdmi audio and video together to disk.

We require video and audio to be synchronized, and the audio sample rate is 48K. If the audio is not sync to video, when playout the video and audio files(video clock and audio clock is sync), Audio will advance or lag relative to video.

This requirement is not always satisfied, so i want use ASRC module sync the audio to video and ensure the sample rate is 48k.

0 Kudos
Moderator
Moderator
908 Views
Registered: ‎10-04-2017

Re: How the hdmi rx ss output audio stream?

Jump to solution

Hi @jtyx,

 

When you receive the HDMI audio and Video from the HDMI RX core, they are already synchronized. I believe there is 1 audio frame for every video frame. There should be no need to have to re-synchronize the audio and video.

 

The ASRC core was not designed as a synchronizer so I am not sure it will produce the results you want.

 

Is there another issue that you are trying to solve with the ASRC core?

 

-Sam

 

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
0 Kudos
Observer jtyx
Observer
900 Views
Registered: ‎08-17-2010

Re: How the hdmi rx ss output audio stream?

Jump to solution

Are you sure the HDMI Rx core has done the task of sync the audio to video?

 

In video source devices,  if the audio and video clocks are generated from a common clock (coherent clocks) , then it's true that the number of audio samples received per frame of video is exactly the same.

 

But if the video clock and audio clock are irrelevant, for example in the hdmi loopout design of KC705, the video clock is generated from Si5324,  and the audio clock is generated from sys_diff_clock, then the number of audio samples received per frame of video may variable. 

 

In this scenario, I think I need to synchronize the video and audio, and i don't think the hdmi rx ss has done this work.

 

 

0 Kudos
Moderator
Moderator
887 Views
Registered: ‎10-04-2017

Re: How the hdmi rx ss output audio stream?

Jump to solution

Hi @jtyx,

 

My previous response was based on a conversation I had internally. I brought up an example close to yours and was told that we have not previously seen any issues and that a synchronizer was not necessary.

 

I will take another look at this and get back to you.

 

-Sam

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
0 Kudos
Moderator
Moderator
884 Views
Registered: ‎10-04-2017

Re: How the hdmi rx ss output audio stream?

Jump to solution

Hi @jtyx,

 

I checked and we do not expect multiple audio frames per video frame. If you can show this happening, we can move forward and take a look.

 

Regards,

Sam

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
0 Kudos
Observer jtyx
Observer
872 Views
Registered: ‎08-17-2010

Re: How the hdmi rx ss output audio stream?

Jump to solution

Hi samk

 

    Thank you very much for your quick reply.

 

    But what your mean of audio frames?  As I understand it, video has the concept of a frame, But audio  just has concept of samples. 

 

   For some video sources, the number of audio samples corresponding to each frame of video is different. For example, there should be 960 audio samples for each video frame of 1080p50, suppose the audio sample rate is 48khz. But if the video clock and audio clock are irrelevant,for example in the hdmi loopout design of KC705, then the number of audio samples received per frame of video may more or less than 960 depending on whether the actual audio clock is faster or slower than the derived audio of the video clock. 

 

  In one hour time, if i received 50*60*60=180000 video frame, i will receive (960*60*60 + X) or (960*60*60 - X) audio sample. If i write the received video frames and audio samples to files, and play them out sometime later, Both the audio and video clocks are generated from a common clock, then each video frame time will play exactly 960 audio samples. After a long period of time  Audio will advance or lag relative to video. People who watch this output will feel uncomfortable.

 

 

 

 

0 Kudos
Moderator
Moderator
853 Views
Registered: ‎10-04-2017

Re: How the hdmi rx ss output audio stream?

Jump to solution

Hi @jtyx,

 

I was being a little loose with my terminology. I will try to correct this here and provide an explanation for this issue.

 

 

In HDMI there are audio samples as you mentioned, these are sent over the link using infoframes, then at the user interface the data is pushed out from our core in terms of AXI packets.

 

In your example, you are assuming that the source will always send too much or too little audio per video frame, which after a while will cause the audio to run in front or behind of the video when you re-transmit the data. I believe that this resulting issue is called Lip Sync and the HDMI core does not support Lip Sync.

 

2018-09-06 15_59_31-Xilinx Documentation Navigator 2017.2 -  http___www.xilinx.com_support_documenta.png

This issue is all based on the assertion that every video frame transferred over the link will have too many or too few packets. I do not think this is the case, but it should be defined in the HDMI spec. 

 

If this is the case, and I do not believe it is, I still do not think that the ASRC core will fix your issue as it was built for converting known sample rates that do not vary. (I could be wrong the ASRC is very old, and I am not very familiar with it)

 

If it is not the case, and every frame receives the same number of audio infoframes, then you will not have an issue as the HDMI core will return the AUDIO and VIDEO data aligned in the same way that they came in from the link. By this, I mean that if the audio and video are aligned on the link, the core will output them on the AXI interface aligned as well. 

 

 

Regards,

Sam

 

 

 

 

 

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
Observer jtyx
Observer
841 Views
Registered: ‎08-17-2010

Re: How the hdmi rx ss output audio stream?

Jump to solution

This issue is all based on the assertion that every video frame transferred over the link will have too many or too few packets. 

 

In the hdmi source , if the audio and video clocks are generated from a common clock (coherent clocks) , then equal number of audio packets will be transferred every video frame. 

 

But if audio and video clock are generate from different Crystal oscillator, then the number of audio packets transfered every video frame will vary.

 

However, it seems that most hdmi source video clocks and audio clocks are synchronized. Then there is no problem with video and audio sync.

 

Regards,

jtyx

 

 

 

0 Kudos