A method for screen content coding, the method comprising: deriving a color table and a color index map based on a coding unit; encoding the color table; encoding the color index map; and combining the encoded color table and the encoded color index map for transmission to a receiver, characterized in that encoding the color index map comprises a hybrid one-dimensional and two-dimensional color index map coding process configured to, for each uncoded current index value in the color index map, perform a 1D string search and a 2D block search for the current index value to determine whether there is a one-dimensional string match or a two-dimensional block match between a string of successive indices or a block of indices at a current location of the current index value with a corresponding reference string or reference block of previously processed indices at a reference location, wherein if there is neither a one-dimensional string match nor a two-dimensional block match for the index value, the index value is encoded as an unmatched index value by using a flag signaling an unmatched index value and the index value itself, and if a search result is determined to be a one-dimensional string match for the index value, the one-dimensional string match for the current index value is encoded as a flag signaling a matched index value, a flag indicating the match type, a distance, and the length of the string, wherein the distance is an offset between the current location and the reference location, and if the search result is determined to be a two-dimensional block match for the index value, the two-dimensional block match is encoded as a flag signaling a matched index value, a flag indicating the match type, an index of a reference coding tree unit comprising the reference location, and the address of the reference location in the reference CTU, and the width and height of the block, and wherein, the hybrid one-dimensional and two-dimensional color index map coding process is configured to, whenever a match is found, mark the area covered by the string or block in a code map and, after encoding the current index value, scan through the coded map to find a first uncoded location as the next uncoded index value to process. deriving a color table and a color index map based on a coding unit; encoding the color table; encoding the color index map; and combining the encoded color table and the encoded color index map for transmission to a receiver, characterized in that encoding the color index map comprises a hybrid one-dimensional and two-dimensional color index map coding process configured to, for each uncoded current index value in the color index map, perform a 1D string search and a 2D block search for the current index value to determine whether there is a one-dimensional string match or a two-dimensional block match between a string of successive indices or a block of indices at a current location of the current index value with a corresponding reference string or reference block of previously processed indices at a reference location, wherein if there is neither a one-dimensional string match nor a two-dimensional block match for the index value, the index value is encoded as an unmatched index value by using a flag signaling an unmatched index value and the index value itself, and if a search result is determined to be a one-dimensional string match for the index value, the one-dimensional string match for the current index value is encoded as a flag signaling a matched index value, a flag indicating the match type, a distance, and the length of the string, wherein the distance is an offset between the current location and the reference location, and if the search result is determined to be a two-dimensional block match for the index value, the two-dimensional block match is encoded as a flag signaling a matched index value, a flag indicating the match type, an index of a reference coding tree unit comprising the reference location, and the address of the reference location in the reference CTU, and the width and height of the block, and wherein, the hybrid one-dimensional and two-dimensional color index map coding process is configured to, whenever a match is found, mark the area covered by the string or block in a code map and, after encoding the current index value, scan through the coded map to find a first uncoded location as the next uncoded index value to process.