1. A method of filtering a bitstream having elementary units having a time position, and first timing data indicative of said time positions, a syntactical description of said bitstream, said syntactical description having elements describing said elementary units and containing said first timing data, a semantic description of said bitstream, said semantic description comprising second timing data and characterizing data relating to one or more elementary units, said second timing data being indicative of the time positions of said elementary units, at least a user specification, said method comprising the steps of: by a filtering processor, searching in said semantic description for the characterizing data that match said user specification to identify matching elementary units, deriving time positions for said matching elementary units from said second timing data, using said first timing data to locate in said syntactical description the elements corresponding to said time positions, generating a filtered syntactical description in which the located elements are removed, generating a filtered bitstream from said filtered syntactical description.