def METHOD_NAME(self, input_dicts: Dict, data_id: int, log_id: int):
    """preprocess
    Args:
        input_dicts (Dict): input_dicts.
        data_id (int): data_id.
        log_id (int): log_id.
    Returns:
        output_data: data for process stage.
        is_skip_process: skip process stage or not, False default
        prod_errcode: None default, otherwise, product errores occured.
                      It is handled in the same way as exception.
        prod_errinfo: "" default.
    """
    (_, input_dict), = input_dicts.items()
    for key in input_dict.keys():
        if key == "frames":
            frame_data = base64.b64decode(input_dict[key].encode('utf8'))
            frame_data = np.fromstring(frame_data, np.uint8)
        elif key == 'frames_shape':
            shape_data = eval(input_dict[key])
        else:
            raise ValueError(f"unexpected key received: {key}")
    frame_data = frame_data.reshape(shape_data)
    frame_len = frame_data.shape[0]
    frame_data = np.split(frame_data, frame_len, axis=0)
    frame_data = [frame.squeeze(0) for frame in frame_data]
    results = {
        'frames': frame_data,
        'frames_len': frame_len,
        'format': 'video',
        'backend': 'cv2'
    }
    results = self.seq(results)
    tmp_inp = np.expand_dims(results['imgs'], axis=0)  # [b,t,c,h,w]
    # The input for the network is input_data[0], so need to add 1 dimension at the beginning
    tmp_inp = np.expand_dims(tmp_inp, axis=0).copy()  # [1,b,t,c,h,w]
    return {"data_batch_0": tmp_inp}, False, None, ""