Patent ID: 8837602

Claim:
A method of pre-processing a sequence of video picture data, said sequence of video picture data comprising I pictures, P pictures and B pictures arranged as a plurality of Group Of Pictures, GOPs, and each of said plurality of Group Of Pictures having a first picture and a plurality of Sub Group of Pictures, Sub-GOPs, the method comprising: analysing the sequence of video picture data; determining a position of a scene change relative to a position of a start of a new GOP within the sequence of video picture data; and providing information to a video encoder indicative of moving the start of the new GOP to coincide with the scene change by extending or decreasing a current GOP length, if the scene change and the start of a new GOP are within a predetermined number of pictures, wherein, if the information provided indicates to move the start of the new GOP by extending the current GOP length, the step of extending comprises: creating one or more new Sub-GOPs out of P and B pictures; and inserting the newly created one or more Sub-GOPs into the current GOP until the current GOP is of a sufficient length; wherein the step of creating the one or more new Sub-GOP comprises: providing a first P picture as the last picture of the one or more sub-GOP; and inserting B or P pictures previous to the first P picture up to a desired length of Sub-GOP, wherein a picture type content of the pictures inserted in to a newly-created Sub-GOP is B type pictures, unless an analysis of the sequence of video picture data finds the following Boolean equation to be true: (Temporal displacement of the sequence of video picture data≧first predetermined value) OR (Temporal distortion of the sequence of video picture data≧second predetermined value) OR (Temporal displacement≦third predetermined value AND Spatial complexity≦fourth predetermined value AND bitrate<a predetermined rate) AND (no flashes occur OR no fades occur); wherein if found true, then P pictures are used in the newly created sub-GOP; wherein; temporal displacement and temporal distortion are temporal complexity metrics; flash activity metrics comprise detecting whether flashes occur in a Sub-GOP under test, to provide the ‘no flashes occur’ Boolean value; and fade activity metrics comprise detecting whether a fade occurs in the Sub-GOP under test, to provide the ‘no fades occur’ Boolean value.