Installment 030 finally wraps up our series on HDMI by taking the pieces we have discussed previously and applies them to selecting HDMI Matrix Switchers. There are a wide variety of factors to consider when standardizing on an HDMI Matrix Switcher platform for any kind of distributed video/audio/control ecosystem. We have seen several clients just pick one out of the blue without really knowing what to look for or what they really need it to do. This also is critical for the enthusiast market where a good HDMI Matrix Switch could cost more than their entire system. Hopefully, this podcast is able to take specific aspects of the various HDMI technologies and provide a set of guidelines that can help in defining the purchasing and best practices criteria for an HDMI-based infrastructure. It is not as simple as it may seem. I also apologize to our regular listeners for how long it took to get this one out there. We actually recorded this installment over a month before I am getting this post out there. I have been off on some pretty cool projects lately that have taken precedence.
First of all, you always want to look for a vendor that offers a scalable product line for covering your less demanding installations all the way out to devices sprawled throughout a large home or other venue. I highly recommend sticking with one or maybe two vendors for all implementations. Otherwise, your installers and programmers will go nuts trying to configure, troubleshoot, and manage the little innuendoes that make HDMI what it is.
One of the initial considerations is the design of the distribution system itself.
One source to one sink– this should be pretty straight forward with Plug and Play simplicity
One source to many sinks
Many sources to a single sink
Distributed devices located with “pods” of equipment versus centralized switching
Receivers as HDMI Switchers
Digital Signage applications
Full-blown HDMI Matrix Switcher platforms
“Enthusiast” models
Another architectural consideration takes into account the distances between sources, sinks, and all components in between.
“Standard” HDMI cables and connections
Dual CAT-6 HDMI Extenders
Shielded Dual CAT-6 Extenders
Fiber for longer distances
Receiver integration
Once you have evaluated all of that, you need to start diving into the details of the product itself and the flexibility to support your digital ecosystems moving forward.
Look for Headroom for both the individual runs and the A/V fabric of the switcher itself. Look at the throughput required for handling all of the video streams occurring simultaneously. Ideally, there is 3.2 Gbps per TMDS line (340 MHz). Many are listed as 2.6 Gbps. Additionally, the Backplane bandwidth can be confusing. Many list the “backplane” at 6.2 Gbps – what does that mean and how can that possibly support a large matrix of streams?
Remember the need for E-EDID Management and the associated software for setting all of that up. Vendors approach the implementation of the E-EDID Management and persistent storage in different ways.
Check to ensure that the HDMI Switcher passes the CEA InfoFrames properly. This will become an important consideration once the 3-D capable ones start to hit the market.
Understand the control routing and which devices are in charge, especially when it comes to CEC hierarchies.
Understand the switching and control options – IR, RS-232, IP, CEC, Automation Profiles, etc. You need to design a platform that integrates with the rest of the subsystems within the home.
Do not forget about audio! With PCM over HDMI and possibly eight channels of discrete audio, the switching architecture can get quite complex pretty easily. You need to understand where the decoding is taking place for all of the possible permutations of sources to sinks.
Understand how the vendor has implemented the CEC Topology support. This is not documented well and many vendors will not understand the questions when asked. You, as the integrator, probably will need to experiment with this aspect to fully understand how it may impact your larger installations.
“Hidden” Attributes – CEC Switching
A CEC Switch allocates a unique child_address for every connection below the switch. This means that any device connected to the switch will always have a valid physical address (assuming the switch itself has a valid physical address)
Any device below the switch may take a logical address and can react to CEC messages in a normal way. The switch is effectively transparent and will enable all standard CEC communications in its connected source devices
For CEC compliant switches, there is a requirement to react on <Active Source> and <Set Stream Path> messages. Both of these messages require the switch to change the connected source device according to the physical AV stream path indicated by the CEC message.
These mechanisms allow a source device to configure the switches between itself and the TV to ensure that its output is displayed, or for the TV to specifically receive the output from a given device.
A CEC compliant device that is only a switch does not need to take a logical address; it uses the unregistered address for any communications.
It is possible that a user may change a CEC Switch manually. In this instance a CEC Switch shall send a <Routing Change> message to inform other devices about the change.
Support for E-EDID Management
There are two types of non-CEC switches, those which have only one E-EDID for all source devices (or simply reflect the sink E-EDID), and those that have a separate E-EDID for all source devices.
A non-CEC-compliant switch may have a single child_address, which is always occupied by the currently switched device. Any other connected devices will have no Hot Plug signal and will therefore have an unallocated physical address (and can use only the unregistered logical address).
These devices still will see the CEC messages as they will be connected to the CEC line and they may react to some broadcast messages in the normal way (standby).
When a switch de-selects a device, that device will detect the removal of the ‘hot plug’ signal to indicate that its physical AV connection has been removed. It should immediately clear its physical and logical addresses.
Each source device below the switch will detect the removal of the ‘hot plug’ signal to indicate they are no longer on the active AV Path and clear their addresses accordingly.
When a switch selects a device, that device will detect the ‘hot plug’ signal. It then can obtain a valid physical address from its sink and subsequently a logical address.
The device should activate the hot plug signal to its source (child) devices (if any) to indicate that they should now request a physical address.
Switchers with support for multiple E-EDIDs should operate as CEC switches except that they do not send messages on, or monitor, the CEC line.
Advanced E-EDID Management
You then get into Advanced E-EDID Management, which really takes a lot of research to understand. You first need to know what to evaluate, which encompasses just about everything we have covered in the last several Installments.
What resolutions?
How much color depth?
Which color space?
Which audio format?
Full range or limited range audio?
How many audio channels?
What should an HDMI Switcher’s Advanced E-EDID Management allow you to configure?
HDMI color spaces
Short video descriptors
Supported audio formats
Available speakers
HDMI compatibility with deep color
Additional detailed timing descriptors
The fifty-nine CEA-defined DTV standard resolutions
SOURCES
1080i60 HDMI 24bit RGB
1080p60 HDMI 36bit YCbCr
1080i60 HDMI 24bit YCbCr
1080p60 DVI 24bit RGB
SINKS
1080i/p60 HDMI 24bit YCbCr
1080i/p60 HDMI 36bit YCbCr
1080i/p60 DVI 24bit RGB
1080i/p60 HDMI 24bit YCbCr
AUDIO
7.1
5.1
PCM
Bit stream
Dolby
DTS
Most of the better vendors currently implement some form of E-EDID Management that uses fifty factory preset memory locations and fifty user programmable memory locations. There are a lot of other things to look for, especially for a software perspective.
Static E-EDID emulation
Dynamic E-EDID emulation
E-EDID store and edit functions
Store E-EDID from any display and edit it via the E-EDID Management Tool
Transfer E-EDID information into/from the HDMI Switcher
Transfer of E-EDID files to something like a PC
Custom E-EDID creation
E-EDID copy from any attached display to any of the inputs – E-EDID information changes if a display is replaced
Custom audio format emulation
Emulate any audio format, channel number, sampling frequency or bit rate
Emulating the proper E-EDID information to all of the sources is an essential part of any system setup. It takes quite a bit of programming work to ensure all devices will operate to their full potential. However, it takes even more work to test all possible configurations to be sure you got it right. Spend the time.
You probably notice that I have not recommended any particular products or vendors. This area of technology is changing rapidly and any recommendation would be outdated or not applicable as soon as I post it. One of the real reasons that I have not highlighted a specific product is that there are no HDMI Matrix Switchers on the market right now that support the new features of HDMI 1.4a like 3-D, Reverse Audio Channel, Ethernet, and enhanced Color Spaces. Until those hit the market, I do not feel I have found the right strategic product to use moving forward. I guess we will have to do the best we can until then. Hopefully we have provided some good background material to help you make informed decisions.
{"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}