We finally are starting to understand the relationship of HDMI 1.4 to the requirements of 3-D as we discuss what the vendors actually are delivering in Installment 027. Along the way, we also talk about some of the latest news like networking Ceton (or any CableCARD) tuners, how Microsoft is looking to their Azure services as a platform for delivering TV and content from the cloud to all three screens, and finally starting to see products that leverage HDMI’s CEC capabilities across multiple vendors’ product lines.
So, what are these “InfoFrames?” To make sense out of how these pieces all play together, we need to step back and look at them at a high level. InfoFrames are part of the Consumer Electronics Association’s CEA-861 standard for the auxiliary data sent across the TMDS channels in an InfoFrame packet format. InfoFrames are part of the CEA’s Digital TV Profiles for uncompressed high-speed digital interfaces. They are not just for HDMI or DVI, but a variety of digital audio and video connections. The Auxiliary Video Information (AVI) InfoFrames tell the receiver (the Sink side) the capabilities of the transmitter (the Source side). For example, they include pixel encoding and enhancement support for the video. There also are audio InfoFrames, which describe the details about the audio data formats and rate so the receiver (the Sink side) can synchronize itself with the incoming audio data format. This standard defines video timing requirements, discovery structures, and a data transfer structure (InfoPacket) that is used for building uncompressed, baseband, digital interfaces on digital televisions (DTV) or DTV Monitors. A single physical interface is not specified, but any interface that implements InfoPackets must use the VESA Enhanced Extended Display Identification Data Standard (VESA E-EDID) for format discovery. We will focus on the InfoFrames as they related to HDMI in this blog post, although their scope is much broader.
An InfoFrame packet carries one InfoFrame. The InfoFrame provided by HDMI is limited to 30 bytes plus a checksum byte.
Auxiliary Video information (AVI) InfoFrame
Various aspects of the video stream are identified by the HDMI Source to the Sink using an Auxiliary Video information (AVI) InfoFrame.
A Source shall always transmit an AVI InfoFrame at least once per two video fields if the Source:
– is ever capable of transmitting an AVI InfoFrame or,
– is ever capable of transmitting YCBCR pixel encoding or,
– is ever capable of transmitting any Colorimetry other than the transmitted video format’s default Colorimetry or,
– is ever capable of transmitting any xvYCC or future enhanced Colorimetry or,
– is ever capable of transmitting any Gamut Metadata packet or,
– is ever capable of transmitting any video format with multiple allowed pixel repetitions.
An AVI InfoFrame is transmitted even if the Source is transmitting RGB and non pixel-repeated video. When a Source is not explicitly required to transmit AVI InfoFrames, it still is recommended that the Source transmit the AVI InfoFrames anyhow.
HDMI Sources are required (at least in most cases) to use the Auxiliary Video information (AVI) InfoFrame and Audio InfoFrame, but only are recommended to transmit it in other cases. All InfoFrames are described in detail in CEA-861-D (and now in 861-E). Other InfoFrames specified in CEA-861-D are optional.
HDMI v1.4a references CEA-861-D and selectively reproduces items from CEA-861-E. Work is on-going within CEA (R4.8 WG7) to create an extension to CEA-861-E for 3-D. As part of the process, CEA has asked HDMI LLC to make public the 3-D portions of the HDMI v1.4/v1.4a standard. HDMI Licensing, LLC has agreed.
The CEA also has requested that HDMI Licensing, LLC “Permit 3D-related fields of HDMI VSDB structures (as defined in HDMI Version 1.4 Extraction of 3D Signaling Portion document – what it just released to the public) to be used in new CEA-861 structures, which may be transmitted by other interfaces using non vendor-specific methods.” This would make the HDMI 3-D signaling standard across all CEA-861 uncompressed digital A/V interfaces, but do it by putting the CEA standard wrappers around extracted HDMI 3-D Vendor Specific Data Block (VSDB) structures. The interface issues are somewhat out of scope for the 3-D Video Workgroup, although interested parties should join CEA’s R4.8 WG7 and contribute. The CEA also is concerned about 4K video timings (something we have talked about quite a bit in previous Installments) and is working on solidifying the InfoFrames for that environment, too.
HDMI InfoFrames
An InfoFrame packet carries one InfoFrame. The InfoFrame provided by HDMI is limited to 30 bytes plus a checksum byte. HDMI Sources are required, in some cases, to use the Auxiliary Video information (AVI) InfoFrame and Audio InfoFrame and recommended in other cases. Other InfoFrames specified in CEA-861-D are optional. All InfoFrames are described in detail in the CEA-861 standard (http://www.ce.org/Standards/browseByCommittee_2641.asp).
The real issue, as it relates to our discussion, is that the 3-D video signals may originate from, or be carried exclusively over, other interfaces (WirelessHD, WHDI, DiiVA, HDbaseT, and DisplayPort), which also use CEA-861 for video timing and signaling. Examples covered in the specs include scenarios like a WirelessHD player (HRTX) directly driving a WirelessHD display (HRRX) or a DiiVA player driving the input of an HDMI display through a DiiVA-to-HDMI converter. However, the “official” CEA-861 specification currently does not include 3-D definitions. These currently are defined by HDMI Licensing, LLC and are considered as vendor extensions to the specification. The CEA is taking these and figuring out how (or if) they should be incorporated into the broader specifications.
One option is to extend the CEA AVI InfoFrame by adding three bytes (note that metadata is not supported)
Another option under consideration is to define new type of 3-D InfoFrame (with metadata supported)
This includes defining a new (EDID) 3-D Data Block (covered in the next Installment)
Some Differences between HDMI and DVI
HDMI follows the CEA-861 standard, which requires all devices to support RGB color space by default. Note that DVI only supports RGB because there is no reverse (InfoFrame) channel to announce a change in color space (from RGB to YCbCr). YCbCr is optional (according to CEA-861) and must be negotiated for by a handshaking sequence. So if YCbCr is not supported by the display, then the HDMI source will automatically default to RGB. HDMI sources must look at the display’s EDID and, if an HDMI Vendor Specific Data Block is not found, are obliged to provide RGB space.
In Summary
The CEA-861 InfoFrame structures are a key component to being able to play 3-D content effectively. The Source broadcasts the format within the video stream and the Sink dynamically changes the way it displays the content using that information. This process currently is specific to HDMI’s implementation (the 3D_Structures covered previously), but the CEA is looking to incorporate the same functionality into other digital audio and video transports.
All of this is dependent upon the capabilities of the display device through communicating the EDID structures between the Sink and the Source during the HDMI initialization process. We cover those aspects in our next Installment. Please stay tuned……
{"id":null,"mode":"button","open_style":"in_place","currency_code":"GBP","currency_symbol":"\u00a3","currency_type":"decimal","blank_flag_url":"https:\/\/thedigitallifestyle.com\/w\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/thedigitallifestyle.com\/w\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":500,"top_media_type":"none","featured_image_url":false,"featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"TheDigitalLifestyle.com","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"TheDigitalLifestyle.com","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for being a supporter!","payment_confirmation_title":"TheDigitalLifestyle.com","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}