Media objects are transformed into active, connected objects via identifiers embedded into them or their containers. In the context of a user's playback experience, a decoding process extracts the identifier from a media object and possibly additional context information and forwards it to a server. The server, in turn, maps the identifier to an action, such as returning metadata, re-directing the request to one or more other servers, requesting information from another server to identify the media object, etc. The server may return a higher fidelity version of content from which the identifier was extracted. In some applications, the higher fidelity version may be substituted for the original media object and rendered to provide higher quality output. The linking process applies to broadcast objects as well as objects transmitted over networks in streaming and compressed file formats.