Monday, April 30, 2018

What is IR.94 VoIP Telephony.

IR.94 is the definition of an IMS profile by listing a number of Evolved Universal Terrestrial Radio Access Network (E-UTRAN), Evolved Packet Core, IMS core and UE Features which are considered essential to launch interoperable IMS based conversational video services.

As per the specification, the service can be offered over LTE or HSPA radio or both.

How does it affect a non IR.94 phone with another VoIP phone with respect to below points from the specification? Yet to figure out.

1. The UE shall indicate the capability to handle video by including a “video” media feature tag in the Contact header of any 18x or 200 response to an INVITE request independent of if video media is part of the SDP answer or not.

==> Most of the INVITEs i have seen, does not include the video feature tag in the Contact header.

2. Video Codecs:

Below are the recommendations from 3GPP. What if these are not supported by the UE? respond back with 0 port for video media in SDP?

Support of ITU-T Recommendation H.264 Constrained Baseline Profile (CBP) Level 1.2 as
specified in 3GPP release 10 TS 26.114 section 5.2.2, is mandatory in the UE and the
entities in the IMS core network that terminate the user plane.
Support for H.265 (HEVC) Main Profile, Main Tier, Level 3.1 as specified in 3GPP release 12
TS 26.114 section 5.2.2 is recommended in the UE and the entities in the IMS core network
that terminate the user plane.
The support in the UE of ITU-T Recommendation H.263 Profile 0 Level 45 as specified in
3GPP release 8 TS 26.114, section 5.2.2, is not required

The pdf in the below reference is having precise information about the profile. A Good read when get some time!

references:
https://www.gsma.com/newsroom/wp-content/uploads//IR.94-v10.0.pdf

Sunday, April 29, 2018

H264/AVC What is SPS and PPS?

SPS and PPS both contains information than an H.264 decoder needs to decode the video data, for e.g. the resolution and frame rate of a video.

for video codecs,
PPS = Picture Parameter Set(PPS contains data common for entire picture)
SPS = Sequence Parameter set (SPS contains data common to SOP, sequence of pictures )

When picture is partitioned into multiple multiple slices say for e.g. for the purposes of transmitting over RTP, likely that it loses the Sequence header and Picture header. A first frame of the picture packet not only contains the picture data, but also some of the important information about the picture header. Loss of this can cause completely incorrectly constructed picture data. So, even if not all packets were lost, if the first packet was lost, almost bad quality picture will be reconstructed or not all reconstructed depending on the implementation.

To circumvent this issue, at the Transport layer a work around was introduced to send the picture header as many as packets. H263 format specified in RFC 2429 specifies this. However, later when H264/AVC was introduced, this issue was considered as an architectural problem in codec itself and SPS and PPS parameter set concept was introduced.

Parameter set can be either part of bitstream or can be received by a decoder through other means such as out of band transmission or hard coding in the decoder.

Note: Sometimes the picture header also contains GOP, Group of picture that contains information whether the previous frames are needed inorder to reconstruct the current frame. I.e. this is an entirely new picture frame mostly. 

references:
https://en.wikipedia.org/wiki/Group_of_pictures
https://cardinalpeak.com/blog/the-h-264-sequence-parameter-set/