FC Levels, Containers, and Headers

This more detailed look at FC-AV and is intended for technical managers and engineers. The graphics come from a presentation by Steve Wilson at Boeing: "Fibre Channel—Audio Video Profile," presented at the AS-1A2 High Speed 1760 Task Group in July 2004.

The Fibre Channel standard includes five levels of implementation, from Level 0, the physical layer (transmitters and receivers), to the higher-level protocols in Layers 1 through 4.

Level 1 is the transmission protocol and includes 8b/10b encoding. Level 2 is the signaling protocol, and includes the definition of FC frames, and a container system used to encapsulate video frames. Layer 3 isn't used in FC-AV applications. The Frame Header Control Protocol (FHCP) of Level 4 is used as a way to transport FC-AV containers. FHCP is a low-overhead way to send FC-AV containers, which lends itself to low-latency, efficient data transmission.

The diagram below covers the levels and their broad categories.

Fiber Channel layers and their broad categories

The next diagram illlustrates how the FC-AV levels work to transmit video information.

Relationship between FCAV levels

An important aspect of Level 1 is that signals are 8b/10b encoded. This provides for a balanced DC behavior allowing for long transport distances. The implication of 8b/10b encoding is that for every 8 bits (every byte) of information sent, the physical link transmits 10 bits, which adds 20 percent overhead on the physical link. For example, to transmit 32 bits (4 bytes), the 8b/10b encoding will physically transmit 40 bits over the link. The 4 bytes will be stripped back down to 32 bits once it has been received.

In the 8b/10b process, bytes are designated as data or special characters, such a Start of Frame (SOF), End of Frame (EOF), idle characters, or others special characters. When data is not being transmitted over the physical link, idle characters will be inserted so that a continuous transmission is maintained.

FC-AV defines a container system to transmit an entire video frame. A container consists of a container header and objects known as the payload. The Simple Parametric Digital Video profile in uses four objects for encapsulating the ancillary data, audio data, and video data. The diagram below shows a sequence of FC frames that each contain payload. The payload from the whole sequence of FC frames, is a container. A container is assembled from the payload of many FC frames. For example, to transmit a 480x480, 8-bit monochrome image, it would take 120 FC frames, where the payload in each FC frame has 4 lines of video data.

Since the container includes more information than just the video frame, it will take more FC Frames to transmit the entire container. In this case, the payload of the first FC frame transmitted would contain Object 0, or the container header, which includes ancillary data. The payload of the next FC frame would contain the first lines of video data, in Object 2. Payload typically only contains Object 0 and Object 2, since Object 1 is for audio that isn't used, and Object 3 is used for video data for interlaced video frames. In total, 121 FC frames are needed to transmit the 480x480, 8-bit mono image. The payload from these 121 frames make up the container.

FC-AV container structure

The container header, which is included with ancillary date in Object 0, is defined in the table below. The container header is 88 bytes long (22 long words).

FC-AV container header definition

Moving to Level 4 of the FC-AV protocol, we come to the FHCP. In the diagram below, the first things to note are header and the payload in the FC frame, which has a piece of the FC-AV container. The frame header is used as a means to communicate information needed to reconstruct the video image encapsulated in the container.

Frame Header Control Protocol