KR101184158B1 - 비디오 시퀀스의 인코딩된 픽쳐 그룹을 디코딩하고 상기비디오 시퀀스 및 상기 픽쳐 그룹을 일시적으로 백워드방향으로 프리젠팅하기 위한 방법 및 장치 - Google Patents

비디오 시퀀스의 인코딩된 픽쳐 그룹을 디코딩하고 상기비디오 시퀀스 및 상기 픽쳐 그룹을 일시적으로 백워드방향으로 프리젠팅하기 위한 방법 및 장치

Info

Publication number
KR101184158B1
KR101184158B1 KR1020050081184A KR20050081184A KR101184158B1 KR 101184158 B1 KR101184158 B1 KR 101184158B1 KR 1020050081184 A KR1020050081184 A KR 1020050081184A KR 20050081184 A KR20050081184 A KR 20050081184A KR 101184158 B1 KR101184158 B1 KR 101184158B1
Authority
KR
South Korea
Prior art keywords
picture
pictures
gop
decoded
buffer
Prior art date
Application number
KR1020050081184A
Other languages
English (en)
Other versions
KR20060050919A (ko
Inventor
디르크 간돌프
카르스텐 헤르펠
좁스트 호에렌트루프
우에 얀센
랄프 오스터만
하르트머트 피터스
안드레즈 슈에우조우
마르코 빈터
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20060050919A publication Critical patent/KR20060050919A/ko
Application granted granted Critical
Publication of KR101184158B1 publication Critical patent/KR101184158B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

MPEG 비디오는 픽쳐를 코딩하기 위해 모션 보상된 예측을 이용한다. GOP는 디코딩을 개시하는 적어도 하나의 인트라-코딩된 픽쳐 및 다수의 인터-코딩된 픽쳐를 포함하고, 통상 양방향으로 예측된 픽쳐를 포함한다. 그러나, GOP 구조는 GOP 경계에 걸쳐 트릭플레이 모드에서 GOP를 백워드 방향으로 플레이하도록 구성되지 않는다. 본 발명은 다른 GOP 구조에 대해, 원활한 백워드 비디오 모드를 용이하게 함으로써, 요구되는 프레임 버퍼의 개수를 줄이고, 거의 실시간 속도 프리젠테이션을 달성한다. 일부 실시예에서, 일부 I 및/또는 P 픽쳐는 한번 이상 디코딩된다. 본 발명은 또한 B-저장된 픽쳐를 포함하여 MPEG-4-AVC GOP의 백워드 디코딩을 허용한다.
Figure R1020050081184
MPEG 비디오, 모션 보상, 비디오 시퀀스, 백워드 재생, 픽쳐

Description

비디오 시퀀스의 인코딩된 픽쳐 그룹을 디코딩하고 상기 비디오 시퀀스 및 상기 픽쳐 그룹을 일시적으로 백워드 방향으로 프리젠팅하기 위한 방법 및 장치{METHOD AND APPARATUS FOR DECODING ENCODNED GROUPS OF PICTURES OF A VIDEO SEQUENCE AND PRESENTING SAID VIDEO SEQUENCE AND SAID GROUPS OF PICTURES IN TEMPORALLY BACKWARD DIRECTION}
도 1은 표준 MPEG-2 GOP 구조를 도시한 도.
도 2는 제1 I-픽쳐에 앞서서 2개의 선행 B-픽쳐를 가지는 MPEG-2 GOP 구조를 도시한 도.
도 3은 B-저장된 픽쳐를 포함하는 MPEG-4 AVC GOP 구조를 도시한 도.
도 4는 본 발명을 이용하는 MPEG 디코더의 블록도.
도 5는 I 및 P 픽쳐에 대한 완전한 프레임 버퍼 세트를 이용하는 MPEG-2 GOP 구조의 표시 및 비트 스트림 순서, 및 종래 기술에 따른 백워드 디코딩 및 역방향 재생을 도시한 도.
도 6은 백워드 디코딩 및 역방향 재생을 위해 I 및 P 픽쳐에 대한 감소된 프레임 버퍼 세트를 이용하는 도 5의 표시 및 비트 스트림 순서를 도시한 도.
도 7은 긴 GOP 구조의 백워드 디코딩 및 역방향 재생을 도시한 도.
도 8은 도 5와 같이 동일한 개수의 프레임 버퍼만을 이용한, MPEG-2 깨진 (broken) 링크 GOP 구조의 표시 및 비트 스트림 순서, 및 그러한 GOP 구조의 백워드 디코딩 및 역방향 재생을 도시한 도.
도 9는 백워드 디코딩 및 역방향 재생을 위해 I 및 P 픽쳐에 대한 감소된 세트의 프레임 버퍼를 이용하는 도 8의 표시 및 비트 스트림 순서를 도시한 도.
도 10은 단지 하나의 여분 프레임 버퍼만을 이용한, MPEG-4 B-저장된 GOP 구조의 표시 및 비트 스트림 순서, 및 그러한 GOP의 백워드 디코딩 및 역방향 재생을 도시한 도.
도 11a는 백워드 디코딩 및 역방향 재생을 위해 I, P 및 Bs 픽쳐에 대한 감소된 프레임 버퍼 세트를 이용하는 도 10의 표시 및 비트 스트림 순서를 도시한 도.
도 11b는 백워드 디코딩 및 역방향 재생을 위해 I, P 및 Bs 픽쳐에 대해 도 11보다 훨씬 더 작은 프레임 버퍼 세트를 이용하는 도 10 및 도 11의 표시 및 비트 스트림 순서를 도시한 도.
도 12는 도 11a와 동일한 개수의 프레임 버퍼를 이용한 긴 MPEG-4 B-저장된 GOP 구조의 백워드 디코딩 및 역방향 재생을 도시한 도.
본 발명은 비디오 시퀀스의 인코딩된 픽쳐 그룹을 디코딩하고 비디오 시퀀스 및 픽쳐 그룹을 일시적으로 백워드 방향으로 프리젠팅하기 위한 방법 및 장치에 관 한 것이다.
MPEG 인코딩된 비디오는 디지털 비디오 저장 및 검색을 위한 전세계적인 포맷이다. 이는 정보 감축을 위해 모션 보상된 예측을 이용함으로써 이전에 디코딩된 다른 픽쳐로부터 예측되는 인터-코딩된 픽쳐를 생성한다. 그러한 이전에 생성된 픽쳐는 이들이 단독으로 디코딩될 수 있는 경우에 인트라-코딩되고, 또는 인터-코딩될 수도 있다. 인코딩된 비디오 비트 스트림으로의 일부 랜덤 액세스를 제공하기 위해, 다수의 인트라 및 인터-인코딩된 픽쳐들이 각 경우에 픽쳐 그룹(GOP)으로 배열된다. GOP는 디코딩을 개시하는 적어도 하나의 인트라-코딩된 픽쳐 및 가변되는 개수의 다른 인트라- 또는 대부분의 인터-코딩된 픽쳐를 포함한다. 인터-코딩된 픽쳐는 정상적인 경우에 양방향으로 예측되는 픽쳐를 포함한다. GOP 구조는 비디오 비트 스트림내에서 무결절 진입 특성을 유지하면서 코딩 효율에 대한 최적화가 달성되도록 선택되고, 즉 재생이 임의의 GOP로 시작되는 경우에 비디오 품질에 어떠한 손실도 없을 것이다.
그러나, 비디오 트릭플레이(trickplay)가 요구되는 경우에는, 이러한 시나리오가 변경된다. 이것은 특히 백워드 플레이 모드에서 디코딩하는 경우에 대해 그렇다. 백워드 방향으로 플레이하는 것(즉, 트릭플레이 모드에서)은 GOP의 픽쳐를 역방향 및 GOP 경계에 걸쳐 표시하는 것을 의미한다. 이는 모션 보상된 예측이 (포워드) 인코딩에 이용되었던 때에 대해 GOP 구조가 구성되지 않는 요구조건이다.
백워드 모드 디코딩을 위한 2가지 다른 기술들이 알려져 있다. 일반적으로 제1 기술은 픽쳐의 일시적인 서브-샘플링을 수행한다. 양방향으로 예측된 B-픽쳐 는 누락된 프레임 메모리 용량으로 인해 스킵되고, 더 큰 GOP 길이에 대해서는, GOP의 끝에서 P-픽쳐조차도 역방향 재생 동안에 디코딩되지 않거나 남겨져 있다. 양쪽 서브-기술들은 결과적으로 저키(jerkey) 비디오 이동으로 나타나게 되고, 이는 화질 저하로 나타나게 된다.
다른 종래 기술은 GOP의 각 픽쳐가 역방향으로 디코딩되어 프리젠팅되는 초저속 백워드 모드(단일-스텝 모드)이다. 이것은 역방향으로 다음 타겟 픽쳐가 도달될 때까지 그 시작으로부터 현재 GOP를 반복적으로 디코딩함으로써 달성된다. 그러한 처리는 원래의 속도보다 훨씬 더 느리고 따라서 일종의 슬라이드 쇼 효과를 발생시킨다.
본 발명에 의해 해결해야 하는 과제는 원활한 백워드 비디오 모드를 제공하는 것이고, 그럼으로써 요구되는 프레임 버퍼의 개수를 줄이고 거의 실시간 속도 프리젠테이션을 달성하는 것이다. 이러한 문제는 청구항 1, 4, 및 7항에 개시된 방법에 의해 해결된다. 이들 방법을 이용하는 대응하는 장치는 청구항 2, 5 및 8항에 개시되어 있다.
본 발명은 다른 GOP 구조에 대해, 프레임 디코딩 시퀀스에서 트릭(tricky) 변경에 의해 MPEG-1(ISO/IEC 11172-2), MPEG-2(ISO/IEC 13818-2), 및 MPEG-4(ISO/IEC 14496) 비디오와 같은 모든 타입의 MPEG 픽쳐 시퀀스의 원활한 백워드 비디오 리플레이를 용이하게 함으로써, 더 적은 프레임 버퍼가 이용되고, 일부 실시예에서는 일부 I 및/또는 P 픽쳐들이 한번 이상 디코딩된다. 본 발명은 MPEG-4- AVC(ISO/IEC 14496-10, Advanced Video Coding)의 진보된 비디오 코덱에 대해 정의된 바와 같이 GOP 구조의 백워드 디코딩을 허용하고, 여기에서 GOP 구조는 B-저장된 픽쳐 'Bs'(파라미터 nal_ref_idc가 제로가 아님)라 불리는 양방향으로 예측된 픽쳐를 앵커 프레임으로서 이용함으로써 추가 앵커 프레임 계층을 포함할 수 있다. B-픽쳐를 앵커 프레임으로서 이용할 때, 이는 프레임 버퍼에 저장되어 유지되고 표시만을 위해 직접(즉, 일시적인 픽쳐 저장없이, 이동 중인) 디코딩될 수 없다. 그렇지 않으면, B-픽쳐는 추가 인터-코딩된 픽쳐의 예측에 이용될 수 없다. MPEG-4의 B-저장된 픽쳐는 단지 인트라 코딩되거나 단방향으로 예측된 인터-코딩된 픽쳐(I 및 P 픽쳐)가 앵커 프레임에 이용되는 MPEG-2의 확장이다.
다른 GOP 구조에 대해, 본 발명은 메모리 용량 한계를 고려한 더 원활한 백워드 모드를 생성하는 일반적으로 적용가능한 방법을 개시한다. 이것은 큰 GOP 크기가 처리되는 경우에 특히 장점이다.
원리상으로, 본 발명에 따른 방법은 비디오 시퀀스의 GOP로 표시되는 인코딩된 픽쳐 그룹을 디코딩하고 상기 비디오 시퀀스 및 상기 GOP를 일시적으로 백워드 방향으로 프리젠팅하거나 표시하는데 적합하고, 각 GOP는 다른 픽쳐의 예측을 위해 기능하는 앵커 픽쳐, 및 다른 픽쳐의 예측을 위해 기능하지 않는 산재된 비-앵커 픽쳐를 포함하고, 상기 GOP 중 현재 GOP의 디코딩은 그 시작으로부터 상기 현재 GOP의 앵커 픽쳐를 디코딩하는 것으로 시작되지만 상기 현재 GOP의 모든 픽쳐의 프리젠테이션 또는 표시는 그 끝으로부터 상기 현재 GOP의 픽쳐를 프리젠팅하거나 표시하는 것으로 시작되고 그 시작까지 계속됨으로써, 비-앵커 픽쳐는 상기 디코딩되 어 저장된 앵커 픽쳐 중 대응하여 인접한 하나를 이용하여 이동 중에 비트 버퍼로부터 디코딩되며, 상기 방법은 제1 GOP의 최종 디코딩된 앵커 픽쳐의 그룹만을 전용 픽쳐 버퍼에 초기에 저장하고 상기 초기에 저장된 디코딩된 앵커 픽쳐 및 대응하는 산재된 비-앵커 픽쳐를 이용하여 상기 현재 GOP의 프리젠테이션 또는 표시를 개시하는 단계 - 그러한 전용 픽쳐 버퍼의 전체 개수는 GOP당 앵커 픽쳐의 전체 개수보다는 적음 -; 및 상기 현재 GOP의 최종 디코딩된 앵커 픽쳐의 상기 그룹에 속하지 않는 상기 현재 GOP의 앵커 픽쳐를 반복적으로 디코딩하기 위한 디코딩 처리 시간을 가용하게 하기 위해, 그리고 상기 디코딩된 앵커 픽쳐 중 하나의 앵커 픽쳐를 N회(N은 1보다 큰 정수) 프리젠테이션 또는 표시를 반복하는 것을 피하기 위해, 상기 현재 GOP의 시작에 도달될 때까지, 상기 전용 픽쳐 버퍼에 개재되어 저장된 디코딩된 앵커 픽쳐 중 남아있는 것들을 이용하고 대응하는 산재된 비-앵커 픽쳐를 이용하여 상기 현재 GOP의 잔여 픽쳐의 프리젠테이션 또는 표시를 계속함으로써, 상기 현재 GOP의 적어도 N개의 상기 디코딩된 앵커 픽쳐의 프리젠테이션 또는 표시를 적어도 한번 반복하는 단계를 포함하고, 현재 GOP의 상기 프리젠테이션 또는 표시는, 이를 종료할 때 프리젠팅되거나 표시될 이어지는 GOP에 대한 대응하는 디코딩된 앵커 픽쳐가 다시 상기 전용 픽쳐 버퍼에 저장되도록 수행되고,
또는, 비디오 시퀀스의 GOP로 표시되는 인코딩된 픽쳐 그룹을 디코딩하고 상기 비디오 시퀀스 및 상기 GOP를 일시적으로 백워드 방향으로 프리젠팅하거나 표시하는데 적합하고, 각 GOP는 다른 픽쳐의 예측을 위해 기능하는 앵커 픽쳐, 및 다른 픽쳐의 예측을 위해 기능하지 않는 산재된 비-앵커 픽쳐를 포함하고, 상기 GOP 중 현재 GOP의 디코딩은 그 시작으로부터 상기 현재 GOP의 앵커 픽쳐를 디코딩하는 것으로 시작되지만 상기 현재 GOP의 모든 픽쳐의 프리젠테이션 또는 표시는 그 끝으로부터 상기 현재 GOP의 픽쳐를 프리젠팅하거나 표시하는 것으로 개시되어 그 시작까지 계속됨으로써, 비-앵커 픽쳐는 상기 디코딩되어 저장된 앵커 픽쳐 중 대응하여 인접한 하나를 이용하여 이동 중에 비트 버퍼로부터 디코딩되며, 상기 방법은 제1 GOP의 최종 디코딩된 앵커 픽쳐의 그룹만을 전용 픽쳐 버퍼에 초기에 저장하고 상기 초기에 저장된 디코딩된 앵커 픽쳐 및 대응하는 산재된 비-앵커 픽쳐를 이용하여 상기 현재 GOP의 프리젠테이션 또는 표시를 개시하는 단계 - 그러한 전용 픽쳐 버퍼의 전체 개수는 GOP당 앵커 픽쳐의 전체 개수보다는 적고, 상기 현재 GOP의 상기 디코딩된 앵커 픽쳐의 특정 하나는 전용 픽쳐 버퍼에 개재되어 저장되며, 상기 특정 앵커 픽쳐는 현재 GOP의 시작과 최종 디코딩된 앵커 픽쳐의 상기 그룹간의 기간의 1/2 또는 약1/2인 GOP 표시 시간에서의 위치에 로케이팅되고, 상기 특정 앵커 픽쳐는 GOP의 바로 시작 대신에 그 위치로부터 GOP의 앵커 픽쳐의 디코딩의 재시작을 용이하게 함 -; 및 상기 현재 픽쳐 그룹의 최종 디코딩된 앵커 픽쳐의 상기 그룹에 속하지 않는 상기 현재 GOP의 이들 앵커 픽쳐를 반복적으로 디코딩하기 위한 디코딩 처리 시간을 가용하게 하기 위해, 상기 현재 GOP의 시작에 도달될 때까지, 상기 전용 픽쳐 버퍼에 개재되어 저장된 디코딩된 앵커 픽쳐 중 남아있는 것들을 이용하고 대응하는 산재된 비-앵커 픽쳐를 이용하여 상기 현재 GOP의 잔여 픽쳐의 프리젠테이션 또는 표시를 계속함으로써, 상기 현재 GOP의 적어도 2개의 상기 디코딩된 앵커 픽쳐의 프리젠테이션 또는 표시를 적어도 한번 반복하는 단계를 포 함하고, 현재 GOP의 상기 프리젠테이션 또는 표시는, 이를 종료할 때 프리젠팅되거나 표시될 이어지는 GOP에 대한 대응하는 디코딩된 앵커 픽쳐가 다시 상기 전용 픽쳐 버퍼에 저장되도록 수행되며,
또는, 비디오 시퀀스의 GOP로 표시되는 인코딩된 픽쳐 그룹을 디코딩하고 상기 비디오 시퀀스 및 상기 GOP를 일시적으로 백워드 방향으로 프리젠팅하거나 표시하는데 적합하고, 각 GOP는 다른 픽쳐의 예측을 위해 기능하는 앵커 픽쳐, 및 다른 픽쳐의 예측을 위해 기능하지 않는 산재된 비-앵커 픽쳐를 포함하고, 상기 GOP는 앵커 픽쳐로 개시하지 않고 적어도 하나의 비-앵커 픽쳐로 개시하는 MPEG 깨진-링크 GOP이며, 상기 GOP 중 현재 GOP의 디코딩은 그 시작으로부터 상기 현재 GOP의 앵커 픽쳐를 디코딩하는 것으로 시작되지만 상기 현재 GOP의 모든 픽쳐의 프리젠테이션 또는 표시는 그 끝으로부터 상기 현재 GOP의 픽쳐를 프리젠팅하거나 표시하는 것으로 개시되어 그 시작까지 계속됨으로써, 비-앵커 픽쳐는 상기 디코딩되어 저장된 앵커 픽쳐 중 대응하여 인접한 하나를 이용하여 이동 중에 비트 버퍼로부터 디코딩되며, 상기 방법은 제1 GOP의 디코딩된 앵커 픽쳐를 전용 픽쳐 버퍼에 초기에 저장하는 단계; 및 상기 저장된 디코딩된 앵커 픽쳐 및 대응하는 산재된 비-앵커 픽쳐를 이용하여 현재 GOP를 프리젠테이션하거나 표시하는 단계를 포함하고, 상기 현재 GOP의 상기 프리젠테이션 또는 표시는, 현재 GOP의 앵커 픽쳐의 프리젠테이션 또는 표시를 종료하기 이전에, 처리될 이어지는 GOP의 앵커 픽쳐가, 이어지는 GOP의 제1 앵커 픽쳐로 개시하여 이어지는 GOP의 최종 앵커 픽쳐를 끝으로 하여, 디코딩되어 상기 전용 픽쳐 버퍼 중 하나에 저장된다.
원리상으로, 본 발명에 따른 장치는 비디오 시퀀스의 GOP로 표시되는 인코딩된 픽쳐 그룹을 디코딩하고 상기 비디오 시퀀스 및 상기 GOP를 일시적으로 백워드 방향으로 프리젠팅하거나 표시하는데 적합하고, 각 GOP는 다른 픽쳐의 예측을 위해 기능하는 앵커 픽쳐, 및 다른 픽쳐의 예측을 위해 기능하지 않는 산재된 비-앵커 픽쳐를 포함하고, 상기 GOP 중 현재 GOP의 디코딩은 그 시작으로부터 상기 현재 GOP의 앵커 픽쳐를 디코딩하는 것으로 시작되지만 상기 현재 GOP의 모든 픽쳐의 프리젠테이션 또는 표시는 그 끝으로부터 상기 현재 GOP의 픽쳐를 프리젠팅하거나 표시하는 것으로 개시되어 그 시작까지 계속됨으로써, 비-앵커 픽쳐는 상기 디코딩되어 저장된 앵커 픽쳐 중 대응하여 인접한 하나를 이용하여 이동 중에 비트 버퍼로부터 디코딩되며, 상기 장치는 제1 GOP의 최종 디코딩된 앵커 픽쳐의 그룹만을 전용 픽쳐 버퍼에 초기에 저장하고 상기 초기에 저장된 디코딩된 앵커 픽쳐 및 대응하는 산재된 비-앵커 픽쳐를 이용하여 상기 현재 GOP의 프리젠테이션 또는 표시를 개시하도록 적응된 수단- 그러한 전용 픽쳐 버퍼의 전체 개수는 GOP당 앵커 픽쳐의 전체 개수보다는 적음 -; 및 상기 현재 GOP의 최종 디코딩된 앵커 픽쳐의 상기 그룹에 속하지 않는 상기 현재 GOP의 앵커 픽쳐를 반복적으로 디코딩하기 위한 디코딩 처리 시간을 가용하게 하기 위해, 그리고 상기 디코딩된 앵커 픽쳐의 하나의 N(N은 1보다 크다)회 프리젠테이션 또는 표시를 반복하는 것을 피하기 위해, 상기 현재 GOP의 시작에 도달될 때까지, 상기 전용 픽쳐 버퍼에 개재되어 저장된 디코딩된 앵커 픽쳐 중 남아있는 것들을 이용하고 대응하는 산재된 비-앵커 픽쳐를 이용하여, 상기 현재 GOP의 잔여 픽쳐의 프리젠테이션 또는 표시를 계속함으로써, 상기 현재 GOP의 적어도 N개의 상기 디코딩된 앵커 픽쳐의 프리젠테이션 또는 표시를 적어도 한번 반복하도록 적응되는 수단을 포함하고, 현재 GOP의 상기 프리젠테이션 또는 표시는, 이를 종료할 때 프리젠팅되거나 표시될 이어지는 GOP에 대한 대응하는 디코딩된 앵커 픽쳐가 다시 상기 전용 픽쳐 버퍼에 저장되고,
또는, 비디오 시퀀스의 GOP로 표시되는 인코딩된 픽쳐 그룹을 디코딩하고 상기 비디오 시퀀스 및 상기 GOP를 일시적으로 백워드 방향으로 프리젠팅하거나 표시하는데 적합하고, 각 GOP는 다른 픽쳐의 예측을 위해 기능하는 앵커 픽쳐, 및 다른 픽쳐의 예측을 위해 기능하지 않는 산재된 비-앵커 픽쳐를 포함하고, 상기 GOP 중 현재 GOP의 디코딩은 그 시작으로부터 상기 현재 GOP의 앵커 픽쳐를 디코딩하는 것으로 시작되지만 상기 현재 GOP의 모든 픽쳐의 프리젠테이션 또는 표시는 그 끝으로부터 상기 현재 GOP의 픽쳐를 프리젠팅하거나 표시하는 것으로 개시되어 그 시작까지 계속됨으로써, 비-앵커 픽쳐는 상기 디코딩되어 저장된 앵커 픽쳐 중 대응하여 인접한 하나를 이용하여 이동 중에 비트 버퍼로부터 디코딩되며, 상기 장치는 제1 GOP의 최종 디코딩된 앵커 픽쳐의 그룹만을 전용 픽쳐 버퍼에 초기에 저장하고 상기 초기에 저장된 디코딩된 앵커 픽쳐 및 대응하는 산재된 비-앵커 픽쳐를 이용하여 상기 현재 GOP의 프리젠테이션 또는 표시를 개시하도록 적응된 수단 - 그러한 전용 픽쳐 버퍼의 전체 개수는 GOP당 앵커 픽쳐의 전체 개수보다는 적고, 상기 현재 GOP의 상기 디코딩된 앵커 픽쳐의 특정 하나는 전용 픽쳐 버퍼에 개재되어 저장되며, 상기 특정 앵커 픽쳐는 현재 GOP의 시작과 최종 디코딩된 앵커 픽쳐의 상기 그룹간의 기간의 1/2 또는 약1/2인 GOP 표시 시간에서의 위치에 로케이팅되고, 상 기 특정 앵커 픽쳐는 GOP의 바로 시작 대신에 그 위치로부터 GOP의 앵커 픽쳐의 디코딩의 재시작을 용이하게 함 -; 및 상기 현재 픽쳐 그룹의 최종 디코딩된 앵커 픽쳐의 상기 그룹에 속하지 않는 상기 현재 GOP의 이들 앵커 픽쳐를 반복적으로 디코딩하기 위한 디코딩 처리 시간을 가용하게 하기 위해, 상기 현재 GOP의 시작에 도달될 때까지, 상기 전용 픽쳐 버퍼에 개재되어 저장된 디코딩된 앵커 픽쳐 중 남아있는 것들을 이용하고 대응하는 산재된 비-앵커 픽쳐를 이용하여, 상기 현재 GOP의 잔여 픽쳐의 프리젠테이션 또는 표시를 계속함으로써, 상기 현재 GOP의 적어도 2개의 상기 디코딩된 앵커 픽쳐의 프리젠테이션 또는 표시를 적어도 한번 반복하도록 적응된 수단을 포함하고, 현재 GOP의 상기 프리젠테이션 또는 표시는, 이를 종료할 때 프리젠팅되거나 표시될 이어지는 GOP에 대한 대응하는 디코딩된 앵커 픽쳐가 다시 상기 전용 픽쳐 버퍼에 저장되도록 수행되며,
또는, 비디오 시퀀스의 GOP로 표시되는 인코딩된 픽쳐 그룹을 디코딩하고 상기 비디오 시퀀스 및 상기 GOP를 일시적으로 백워드 방향으로 프리젠팅하거나 표시하는데 적합하고, 각 GOP는 다른 픽쳐의 예측을 위해 기능하는 앵커 픽쳐, 및 다른 픽쳐의 예측을 위해 기능하지 않는 산재된 비-앵커 픽쳐를 포함하고, 상기 GOP는 앵커 픽쳐로 개시하지 않고 적어도 하나의 비-앵커 픽쳐로 개시하는 MPEG 깨진-링크 GOP이며, 상기 GOP 중 현재 GOP의 디코딩은 그 시작으로부터 상기 현재 GOP의 앵커 픽쳐를 디코딩하는 것으로 시작되지만 상기 현재 GOP의 모든 픽쳐의 프리젠테이션 또는 표시는 그 끝으로부터 상기 현재 GOP의 픽쳐를 프리젠팅하거나 표시하는 것으로 개시되어 그 시작까지 계속됨으로써, 비-앵커 픽쳐는 상기 디코딩되어 저장 된 앵커 픽쳐 중 대응하여 인접한 하나를 이용하여 이동 중에 비트 버퍼(BSBUF)로부터 디코딩되며, 상기 장치는 제1 GOP의 디코딩된 앵커 픽쳐를 전용 픽쳐 버퍼에 초기에 저장하도록 적응된 수단; 및 상기 저장된 디코딩된 앵커 픽쳐 및 대응하는 산재된 비-앵커 픽쳐를 이용하여 현재 GOP를 프리젠테이션하거나 표시하도록 적응된 수단을 포함하고, 상기 현재 GOP의 상기 프리젠테이션 또는 표시는, 현재 GOP의 앵커 픽쳐의 프리젠테이션 또는 표시를 종료하기 이전에, 처리될 이어지는 GOP의 앵커 픽쳐가, 이어지는 GOP의 제1 앵커 픽쳐로 개시하여 이어지는 GOP의 최종 앵커 픽쳐를 끝으로 하여, 디코딩되어 상기 전용 픽쳐 버퍼 중 하나에 저장된다.
본 발명의 장점이 되는 추가 실시예들은 각 종속 청구항에 개시된다.
본 발명의 실시예들은 첨부된 도면을 참조하여 기재된다.
도 1은 표준 MPEG-2 GOP 구조를 도시한다. 이것은 도 2와 비교할 때 명백한 바와 같이 폐쇄된 GOP이다. 폐쇄된 GOP는 외부 앵커 프레임으로부터의 데이터를 이용하지 않고 독자적으로 디코딩될 수 있다. GOP 구조는 가변될 수 있지만 시간축 t의 방향으로 디코딩을 개시하는 적어도 하나의 I-픽쳐 또는 I-프레임을 포함해야 한다. I-픽쳐는 다른 픽쳐로부터의 데이터를 이용하지 않고 디코딩될 수 있는 인트라-코딩된 픽쳐이다. P-픽쳐 또는 P-프레임은 이전 디코딩된 앵커 프레임으로부터 모션 보상되고(일시적으로) 예측된 것을 의미하는 인터-코딩된다. MPEG-2에서, 앵커 프레임은 항상 I-또는 P-픽쳐이다. B-픽쳐는 과거 및 장래 앵커 프레임으로부터 양방향으로 모션 보상되고(일시적으로) 예측되는 것이다. 도시된 GOP는 앵커 프레임 거리가 M=3인 N=13 픽쳐를 포함한다.
도 2는 디코딩될 제1 I-픽쳐가 2개의 픽쳐에 의해 선행되는 MPEG-2 GOP 구조를 도시하고 있다. 이러한 종류의 GOP 구조는 2개의 선행하는 B-픽쳐의 디코딩을 위해 다른 하나의 GOP로부터의 데이터가 필요하므로, 더 정확하게는 이전 GOP의 최종 앵커 프레임이 이전에 디코딩되어야만 하므로, '깨진 링크 GOP'라 불려진다. 깨진 링크 GOP의 단점은, 백워드 디코딩이 더 어렵다는 점이다. 도시된 GOP는 앵커 프레임 거리가 M=3인 N=12 픽쳐를 포함한다.
도 3은 B-저장된 픽쳐 BS를 포함하는 MPEG-4 AVC GOP 구조를 도시하고 있다. 정상적인 B-픽쳐와 비교하여, B-저장된 픽쳐는 다른 픽쳐의 추가 예측에 이용될 수 있고, 즉 B-저장된 픽쳐는 앵커 프레임이 될 수 있다. 용어 '저장된'은 앵커 프레임은 모션 보상된 예측의 실행 및 다른 픽쳐의 재구성을 허용하도록 메모리에 유지되어야 하는 것에 반해, B-프레임은 다른 픽쳐의 구성이고, 반면에 B-프레임은 직접 표시를 위해서만 디코딩되며 그 디코딩된 데이터가 표시시 버려진다는 사실을 지적한다. MPEG에서, 이러한 B-프레임 이동 중 디코딩은 프레임 메모리를 절감하기 위해 개발되었다. 도 10 내지 도 12와 관련하여 기재된 실시예에서, B-저장된 픽쳐는 B-픽쳐 예측에만 이용되고 P-픽쳐 예측에는 이용되지 않는다.
도 4의 블록도에서, 본 발명을 구현하는데 이용되는 MPEG 디코더의 주요 부분이 도시되어 있다. 인커밍 비트 스트림 IBS는 비트 스트림 버퍼 BSBUF에 저장된다. 디코딩 처리가 종료된 버퍼 BSBUF내의 비트 스트림 부분은 버퍼 BSBUF에서 제 거된다. 비트 스트림 버퍼 BSBUF는 디코더 DEC 및 파서 PRS로부터 액세스된다. 파서는 비트 스트림을 분석하고 있고, 요구된 비트 스트림 인덱스 정보 아이템 BSII를 출력하는 비트 스트림 인덱스 버퍼 BSINDB내에 저장된 대응하는 인덱스를 생성한다. "비트 스트림을 파싱하는 것"은 현재 픽쳐 타입 데이터(예를 들면, Bs-픽쳐) 및 비트 스트림 버퍼 BSBUF내에서의 그 현재 로케이션(픽쳐 시작 및 종료 바이트 위치)을 분석하는 것을 의미한다. 동작시, 파서 PRS는 BSINDB 내에서 이전에 저장된 비트 스트림 인덱스 정보 아이템 BSII에 액세스한다. 디코더 DEC는 버퍼 BSINDB로부터 비트 스트림 인덱스 정보 아이템 BSII를 취하여, 비트 스트림 버퍼 BSBUF로부터 비트 스트림의 디코딩을 실행한다. 앵커 프레임을 나타내는 디코딩되거나 재구성된 픽쳐 데이터는 적절한 기간 동안에 대응하는 비디오 표시 데이터 VDD, 즉 표시된 디코딩된 픽쳐를 출력하는 대응하는 프레임 버퍼 FRBUF에 저장된다. 앵커 프레임을 나타내지 않는 비트 스트림 버퍼-저장된 픽쳐 데이터(특히, B 프레임 데이터)는 이동 중에 디코딩되거나 재구성되어 대응하는 비디오 표시 데이터 VDD로서 직접 또는 프레임 버퍼를 통해 출력된다. 하나의 대안으로서, 디코딩된 B 픽쳐 데이터는 가용한 경우에 프레임 버퍼에 일시적으로 저장될 수 있지만, 그 저장은 예를 들면 표시 이전에 절반 프레임 앞서서 미리 수행된다.
필요한 경우, 디코더 DEC는 모션 보상된 예측을 수행하기 위해, 프레임 버퍼 FRBUF로부터 대응하는 앵커 프레임 데이터를 수신한다. B 픽쳐의 경우에, 이것은 이동 중에 수행될 수 있고, 즉 픽쳐에 대한 데이터의 단지 일부, 예를 들면 하나의 MPEG 슬라이스가 버퍼링되어 비디오 표시 데이터로서 표시 디바이스(도시되지 않 음)에 출력된다. 이동 중인 디코딩된 픽쳐 데이터는 표시된 후에 드롭된다. 모든 처리는 컨트롤러 CTRL에 의해 제어되고, 디코딩 또는 표시 파라미터는 사용자 인터페이스 UI에 의해 설정되거나 변경될 수 있다. 버퍼 BSINDB로부터의 요구된 비트 스트림 인덱스 정보 아이템 BSII(픽쳐 시작 및 종료 바이트 위치, 픽쳐 타입 데이터)은 디코더 DEC를 통해 비트 스트림 버퍼 BSBUF에 패싱되거나, 컨트롤러 CTRL에 의해 수신되어 비트 스트림 버퍼 BSBUF에 패싱된다.
굵은 접속 라인은 비트 스트림 데이터 디코딩 플로우를 나타낸다. 굵은 화살표를 가지는 정상적인 접속은 평균 데이터의 생성을 나타낸다. 보통 화살표를 가지는 정상 접속 라인은 평균 데이터의 판독을 나타낸다. 굵은 화살표를 가지는 깨진 접속 라인은 제어 경로를 나타낸다.
도 5 내지 12는 픽쳐 시퀀스의 백워드 디코딩을 다루고 있다. 도 5 내지 12에 대해, 이하의 일반적인 언급이 유효하다. 이들 도면의 최상부에서, 연구 중인 GOP 구조는 포워드 표시 순서 시간 방향 tF 및 비트 스트림 순서로 각각 도시된다. 이하에서, 이용되는 프레임 버퍼 및 코드 버퍼가 도시되어 있고, 이들 각각에 각 도면의 다른 부분에 도시되어 있는 버퍼 번호가 할당된다. 버퍼에 도시된 픽쳐 타입 및 프레임 번호는 디코딩이 시작되고 있는 경우에만 스냅샷을 나타내고, 이들을 추가 처리에서 변경될 수 있다. 프레임 버퍼(도 4에서 FRBUF로 나타남) 각각은 디코딩된 픽쳐를 저장하는데 반해, 코드 버퍼는 각각 픽쳐의 인코딩된 데이터를 저장함으로써, 이들 코드 버퍼들이 비트 스트림 버퍼 BSBUF의 각(예를 들면, 다이나믹 하게 변경하는) 저장 영역에 의해 형성될 수 있다.
도 5 내지 12의 아래 부분에서, '쇼', '디코드', '파스'로 명명된 3개 또는 6개의 칼럼이 백워드 디코딩 시간 방향 tB으로 도시되어 있다. 이들 칼럼은 프레임 버퍼로부터 픽쳐를 표시하고, 픽쳐를 프레임 버퍼로 디코딩하며 스트림 비트 버퍼 내에서 하나의 픽쳐 또는 수개의 픽쳐를 파싱하는데 상기 GOP 픽쳐 시퀀스 중 어느 픽쳐 번호 및 어느 관련된 프레임 또는 코드 버퍼가 이용되는지를 나타낸다. 칼럼 '쇼' 및 '디코드'의 버퍼 번호는 대응하는 프레임 버퍼 번호를 지칭하는데 반해, 칼럼 '파스'의 버퍼 번호는 대응하는 코드 버퍼 번호를 지칭한다. 포맷 xx-1 또는 xxx-1을 가지는 픽쳐 번호는 인접하는 이전 GOP 구조를 지칭하고, 현재 GOP 구조를 지칭하지 않는다.
B-픽쳐를 디코딩하고 표시하는 것은 상기 언급된 바와 같이 거의 동시에 수행될 수 있다. 그러므로, '디코드'칼럼은 일부 픽쳐 라인과 하나의 프레임 사이에 놓여있는 기간만큼, 예를 들면 픽쳐의 절반만큼 시프트 업된 것으로 간주될 수 있다.
파싱은 I- 및 P-픽쳐에 대해 수행되지만, '파스'칼럼에는 도시되지 않는다. 양쪽 픽쳐 타입이 인코딩된 포맷으로 매우 다량의 데이터에 의해 이미 표현되어 있다는 사실로 인해, 이들은 디코더 블록에 의해 디코딩될 때 비트 스트림 버퍼로부터 제거된다. 단지 디코딩된 I- 및 P-픽쳐만이 도시된 바와 같이 프레임 버퍼에 저장되고, B-또는 Bs-픽쳐는 인코딩된 포맷으로 바람직하게는 비트 스트림 버퍼내 에 저장되어 메모리를 절감한다. 모든 정상적인 B-프레임은 이동 중에 디코딩되거나, 다르게는, 표시 이전에 가용한 프레임 버퍼에 일시적으로 저장된다.
'쇼'칼럼내의 '중지'는 그 중지 이전에 끝으로 보여준 픽쳐가 뷰어에게 반복되고 그 어떠한 공백(blanking)도 나타나지 않는다는 것을 나타낸다.
이들 모든 도면들은 모든 픽쳐들이 표시되는 경우에 백워드 디코딩의 트릭 모드를 보여준다. 그러나, 이들 원리들은 B-프레임 디코딩을 스킵하고, 모든 앵커 프레임(I, P, [Bs])만을 디코딩하고 이들을 역방향 순서로 표시함으로써 앵커 프레임 디코딩에 대해 부분적으로 취해질 수 있다.
도 5에 따른 MPEG-2 폐쇄된 GOP 구조의 종래 기술 백워드 디코딩 및 역방향 재생 처리에서, I 및 P 픽쳐에 대한 완전한 프레임 버퍼 세트가 이용된다. '완전하다'는 것은 디코더가 현재 GOP 구조에 대해 모든 앵커 프레임을 위한 그 자신의 프레임 버퍼 + 백그라운드 디코딩을 위한 여분 프레임 버퍼를 가지고 있다는 것을 의미한다.
GOP의 디코딩은 현재 GOP의 앵커 픽쳐 I1, P4, P7, P10 및 P13을 디코딩하고 이들을 프레임 버퍼 1 내지 5(FRBUF)에 각각 초기에 저장하는 것으로 시작한다. 이들 디코딩 단계들은 칼럼 '디코드'에 도시되지 않고, 도시된 칼럼 '디코드'에서 각 픽쳐 I1-1, P4-1, P7-1, P10-1 및 P13-1이 배열되는 대응하는 GOP 시간 인스턴트에 칼럼 '디코드'에 앞서서(즉, 도면에서, 위에) 배열된다. GOP의 B 픽쳐는 초기에 저장되고 대응하는 코드 버퍼 #1 내지 #4, 즉 비트 버퍼 BSBUF의 식별가능한 영역에 비트 스트림 인덱스 정보 아이템 BSII를 생성하기 위해 파싱된다.
그런 다음, 이전 GOP(즉, 백워드 방향에서 다음 GOP)로부터의 픽쳐 I1-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어, BSII를 이용하여 디코딩되고 여분 프레임 버퍼(6)에 개재되어 저장된다. 픽쳐 I1-1을 디코딩하는 동안에, 이전에 디코딩된 픽쳐 P13이 프레임 버퍼(5)로부터 판독되어 표시된다. 그런 후, 픽쳐 B12 및 B11은 코드 버퍼 #4로부터 디코딩되고 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 P10은 프레임 버퍼(4)로부터 판독되어, 이전 GOP로부터 픽쳐 P4-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어, BSII를 이용하여 디코딩되고 프레임 버퍼(5)에 개재되어 저장되는 동안에, 그리고 픽쳐 B2-1 및 B3-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되어 픽쳐 B12 및 B11이 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #4에 할당되거나 저장되는 동안에, 표시된다. 그런 다음, 픽쳐 B9 및 B8이 코드 버퍼 #3으로부터 디코딩되고, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 P7이 프레임 버퍼(3)로부터 판독되고, 이전 GOP로부터 픽쳐 P7-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어, BSII를 이용하여 디코딩되고 프레임 버퍼(4)에 개재되어 저장되는 동안에, 그리고 픽쳐 B5-1 및 B6-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되어 픽쳐 B9 및 B8이 바로 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #3에 할당되거나 저장되는 동안에, 표시된다. 그런 다음, 픽쳐 B6 및 B5가 코드 버퍼 #2로부터 디코딩되고, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 P4가 프레임 버퍼(2)로부터 판독되고, 이전 GOP로부터 픽쳐 P10-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어, BSII를 이용하여 디코딩되고 프레임 버퍼(3)에 개재되어 저장되는 동안에, 그리고 픽쳐 B8-1 및 B9-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되어 픽쳐 B6 및 B5가 바로 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #2에 할당되거나 저장되는 동안에, 표시된다. 그런 다음, 픽쳐 B3 및 B2가 코드 버퍼 #1로부터 디코딩되고, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 I1이 프레임 버퍼(1)로부터 판독되고, 이전 GOP로부터 픽쳐 P13-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어, BSII를 이용하여 디코딩되고 프레임 버퍼(2)에 개재되어 저장되는 동안에, 그리고 픽쳐 B11-1 및 B12-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되어 픽쳐 B3 및 B2가 바로 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #1에 할당되거나 저장되는 동안에, 표시된다.
이런 종류의 처리는 백워드 방향으로 다음 GOP(즉, 포워드 방향에 대해 이전 GOP)에 대해 반복된다. 그러나, 앵커 픽쳐 번호/프레임 버퍼 번호가 변경되었으므로, 칼럼 '쇼' 및 '디코드'에 도시된 프레임 버퍼 번호는 대응하여 재순서화되고, 즉 칼럼 '쇼'에서 '2'에서 '6'으로 운용하고 칼럼 '디코드'에서 '1'에서 '5'로 운용되는 등이다. 대응하여, 이용된 코드 버퍼 번호는 재순서화된다.
완전한 프레임 버퍼 세트를 이용하는 것은 정상 속도로 백워드 디코딩을 허용한다. 그러나, 이러한 타입의 처리는 유연한 것이 아니고 프레임 버퍼에서는 고가이다.
본 발명에 따르면, 전체 예를 들면 13개의 픽쳐를 가지는 MPEG-2 폐쇄된 GOP 구조에 대한 결과적인 백워드 모드 표시 품질의 상당한 종속적인 악화없이, 요구되는 프레임 버퍼의 개수는 6개에서 4개로 줄어들고, 요구되는 코드 버퍼의 개수는 4개에서 3개로 줄어든다. 백그라운드 디코딩을 위해서는 적어도 하나의 표시 프레임 버퍼 및 2개의 여분 프레임 버퍼가 필요하다. 도 6에 도시된 스킴은 백워드 디코딩이 실제 정상 속도에서는 가능하지 않지만, 정상 속도보다 단지 약 15% 적은 속도에서 가능하다는 것을 보여주고 있다. 정상 속도와의 편차는, 이전 GOP에 대한 디코딩이 시작될 수 있기 전에, GOP 크기에 따라, 앵커 프레임은 디코딩 프로세스 동안에 수 번 재구성되어야 한다는 것에 의해 유발된다. 결과는 표시 프로세스에서 중지(반복적으로, 예를 들면 동일한 중지 픽쳐, 바람직하게는 최종 표시된 앵커 프레임이 표시된다)이지만, 디코딩 프로세스에서는 그렇지 않으며, 따라서 저키 비주얼리제이션이다.
도 6의 3개의 우측 칼럼에 따른 스킴에서, GOP 표시 큐의 끝에서 정상적으로 나타나는 중지는 표시 프로세스에서 대응하는 인위적인 중지 양을 도입함으로써 수개의 부분으로 분할되고, 따라서 전체 저키니스(jerkiness)를 감소시키며 더 원활한 픽쳐 컨텐트 모션 플로우 및 따라서 더 즐거운 뷰잉을 제공한다. 중지를 분리하기 위해, 적어도 GOP의 앵커 프레임 개수의 절반의 정수인 전체 프레임 버퍼 개수(여분 프레임 버퍼를 제외함)가 요구된다.
도 6의 3개의 좌측 칼럼에 따른 스킴에서, GOP에 대한 디코딩은 현재 GOP의 앵커 픽쳐 I1, P4, P7, P10 및 P13을 디코딩하고 초기에 앵커 픽쳐 P7, P10 및 P13을 프레임 버퍼(1 내지 3)(FRBUF)에 각각 저장하는 것으로 시작한다. 이들 디코딩 단계들은 칼럼 '디코드'에 도시되지 않고, 대응하는 GOP 시간 인스턴트에 칼럼 '디코드'에 앞서서(즉, 도면에서, 위에) 배열된다. GOP의 B 픽쳐 B5 내지 B12는 초기에 저장되고 대응하는 코드 버퍼 #1 내지 #3, 즉 비트 버퍼 BSBUF의 식별가능한 영역에 비트 스트림 인덱스 정보 아이템 BSII를 생성하기 위해 파싱된다.
그런 다음, 픽쳐 I1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는(또는 이용하는, 동일한 GOP에 속하는 I1, P4, B2 및 B3에 대해 BSII가 이전 GOP 파싱으로부터 이용될 수 있으므로) 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어, BSII를 이용하여 디코딩되고 여분 프레임 버퍼(4)에 개재되어 저장된다. 픽쳐 I1을 디코딩하는 동안에, 이전에 디코딩된 픽쳐 P13이 프레임 버퍼(3)로부터 판독되어 표시된다. 그런 후, 픽쳐 B12 및 B11은 코드 버퍼 #3으로부 터 디코딩되고 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 P10은 프레임 버퍼(2)로부터 판독되어, 픽쳐 P4에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하거나 이용하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어, BSII를 이용하여 디코딩되고 프레임 버퍼(3)에 개재되어 저장되는 동안에, 그리고 픽쳐 B2 및 B3에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하거나 이용하는 비트 스트림 버퍼 BSBUF에서 파싱되어 픽쳐 B12 및 B11이 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #3에 할당되거나 저장되는 동안에, 표시된다. 그런 다음, 픽쳐 B9 및 B8이 코드 버퍼 #2로부터 디코딩되고, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 P7이 프레임 버퍼(1)로부터 판독되고, 이전 GOP(즉, 백워드 방향으로 다음 GOP)로부터 픽쳐 P1-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어, BSII를 이용하여 디코딩되고 프레임 버퍼(2)에 개재되어 저장된다. 그런 다음, 픽쳐 B6 및 B5가 코드 버퍼 #1로부터 디코딩되고, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 P4가 프레임 버퍼(3)로부터 판독되고, 이전 GOP로부터 픽쳐 P4-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어, BSII를 이용하여 디코딩되고 프레임 버퍼(1)에 개재되어 저장된다. 그런 다음, 픽쳐 B3 및 B2가 코드 버퍼 #3으로부터 디코딩되고, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 I1이 프레임 버퍼(4)로부터 판독되고, 이전 GOP로부터 픽쳐 P7-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어, BSII를 이용하여 디코딩되고 프레임 버퍼(1)에 개재되어 저장되는 동안에, 그리고 픽쳐 B5-1 및 B6-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되어 픽쳐 B5 및 B6이 바로 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #1에 할당되거나 저장되는 동안에, 표시된다.
다음으로, 이전 GOP로부터 픽쳐 P10-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, BSII를 이용하여 디코딩되며 프레임 버퍼(2)에 개재되어 저장되고, 그 동안에, 픽쳐 I1이 다시 프레임 버퍼(4)로부터 판독되어 표시되며, 그리고 픽쳐 B8-1 및 B9-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되어 픽쳐 B8 및 B9가 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #2에 할당되거나 저장된다.
다음으로, 이전 GOP로부터 픽쳐 P13-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, BSII를 이용하여 디코딩되며, 프레임 버퍼(2)에 개재되어 저장되고, 그 동안 에 픽쳐 I1이 다시 프레임 버퍼(4)로부터 판독되어 표시되며, 그리고 픽쳐 B11-1 및 B12-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되어 코드 버퍼 #3에 할당되거나 저장된다.
이런 종류의 처리는 백워드 방향으로 다음 GOP(즉, 포워드 방향에 대해 이전 GOP)에 대해 반복된다. 그러나, 앵커 픽쳐 번호/프레임 버퍼 번호가 변경되었으므로, 칼럼 '쇼' 및 '디코드'에 도시된 프레임 버퍼 번호는 대응하여 재순서화된다.
도 6의 3개의 우측 칼럼에 도시된 처리 스킴은 픽쳐 P4-1의 디코딩 및 픽쳐 P4를 표시할 때까지 도 6의 3개의 좌측 칼럼과 동일하게 시작한다.
다음으로, 픽쳐 P4는 프레임 버퍼(3)로부터 다시 판독되어, 이전 GOP로부터 픽쳐 P7-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되는 동안에, 그리고 픽쳐 B5-1 및 B6-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되어 픽쳐 B5 및 B6이 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #1에 할당되거나 저장되는 동안에, 표시된다. 그런 다음, 픽쳐 B3 및 B2가 코드 버퍼 #3으로부터 디코딩되고, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 I1이 프레임 버퍼(4)로부터 판독되고, 이전 GOP로부터 픽쳐 P10-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며 프레임 버퍼(1)에 개재되어 저장되는 동안에, 그리고 픽쳐 B8-1 및 B9-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되어 픽쳐 B8 및 B9가 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #2에 할당되거나 저장되는 동안에, 표시된다.
다음으로, 픽쳐 I1이 프레임 버퍼(4)로부터 다시 판독되고, 이전 GOP로부터 픽쳐 P13-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며 프레임 버퍼(3)에 개재되어 저장되는 동안에, 그리고 픽쳐 B11-1 및 B12-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되어 코드 버퍼 #3에 할당되거나 저장되는 동안에, 표시된다.
이런 종류의 처리는 백워드 방향으로 다음 GOP(즉, 포워드 방향에 대해 이전 GOP)에 대해 반복된다. 그러나, 앵커 픽쳐 번호/프레임 버퍼 번호가 변경되었으므로, 칼럼 '쇼' 및 '디코드'에 도시된 프레임 버퍼 번호는 대응하여 재순서화된다.
일반적으로 말하면, 현재 GOP의 최종 디코딩된 앵커 픽쳐의 그룹에 속하지 않는 현재 GOP의 앵커 픽쳐를 반복적으로 디코딩하기 위한 디코딩 처리 시간을 가용하게 하고, 디코딩된 앵커 픽쳐 중 하나의 N(N은 1보다 큰 정수)회 프리젠테이션 또는 표시를 반복하는 것을 피하기 위해, 현재 GOP의 시작시 도달 때까지, 현재 GOP의 잔여 픽쳐의 프리젠테이션 또는 표시는 전용 픽쳐 버퍼에 매개적으로 저장된 디코딩된 앵커 픽쳐 I, P의 나머지를 이용하고 대응하는 산재된 비-앵커 픽쳐 B를 이용하여 계속되며, 현재 GOP의 프리젠테이션 또는 표시는 이를 종료할 때 프리젠팅되거나 표시될 다음 GOP에 대한 대응하는 디코딩된 앵커 픽쳐가 다시 전용 픽쳐 버퍼 FRBUF에 저장되도록 수행된다.
도 7에서, 88개의 프레임을 가지는 긴 MPEG-2 GOP가 도시되어 있다. '긴 GOP'는 약 0.5초 이상의 표시 기간을 가지고 있는 GOP, 즉 50Hz 시스템에서 12 또는 13개 이상의 프레임, 및 60Hz 시스템에서 15개 이상의 프레임을 포함하는 GOP를 의미한다. 도 5의 종래 기술에 따른 백워드 디코딩 처리 스킴에서, 필요한 프레임 버퍼의 개수가 상당히 증가한다. 그러나, 그러한 다수의 픽쳐 버퍼는 비용적인 이유로 인해 트릭 모드 재생에 제공될 수 없다.
본 발명에 따르면, GOP의 중간 주위에 배치된 디코딩된 앵커 프레임(본 예에서 P43)은 여분 또는 쇼트컷(short cut) 프레임 버퍼(5)에 미리 저장된다. 쇼트컷 프레임 버퍼에 저장을 위한 멋지거나 간편한 앵커 프레임을 선택함으로써, GOP의 역방향 재생 동안에 필요하지만 유쾌하지 않은 중지 또는 중지들이 짧아질 수 있고, 그 동안에 초기에 버퍼링된 영역에 인접한 버퍼링된 영역(B65 내지 P76)에 대해 요구되는 앵커 프레임(P46 내지 P76)을 다시 디코딩하는 것이 단축될 수 있다. 이러한 여분 프레임 버퍼는 GOP의 바로 시작 대신에 그 위치로부터 GOP의 앵커 프레임의 디코딩을 재개시하도록 허용하므로 쇼트컷을 더 용이하게 한다. GOP 개시 및 다른 버터링되고 디코딩된 앵커 프레임 간의 기간의 1/2 또는 약 1/2인 GOP 표시 시간의 위치에 로케이팅된 GOP의 디코딩된 픽쳐로 쇼트컷 프레임 버퍼를 채우는 것이 바람직하다. 쇼트컷 프레임 버퍼는 GOP를 통한 초기 또는 제1 앵커 프레임 디코딩 동안에 처음으로 채워진다. 백워드 표시 프로세스 동안에, 쇼트컷 픽쳐(P43) 자체가 평가된 경우, 가용한 프레임 버퍼로부터 다른 쇼트컷 프레임 버퍼가 다시 생성될 수 있고, 이미 표시된 GOP의 픽쳐를 제외하고, GOP 개시로부터 가용한 버터링된 앵커 프레임까지의 표시 시간에 또는 그 시간의 약 1/2에 로케이팅된 쇼트컷을 위한 앵커 프레임을 선택한다.
초기에 버퍼링된 영역으로부터의 앵커 프레임(B77 내지 P88)은 각각 프레임 버퍼(1 내지 4)(FRBUF)에 미리 저장되거나 초기에 저장된다.
GOP에 대한 디코딩은 현재 GOP의 앵커 픽쳐(본 예에서, P79, P82, P85 및 P88)를 디코딩하고 현재 GOP의 끝에 로케이팅된 초기에 버퍼링된 영역(B77 내지 P88)의 이들 앵커 픽쳐 P79, P82, P85 및 P88을 프레임 버퍼(1 내지 4)(FRBUF)에 각각 초기에 저장하는 것으로 시작한다. 이들 디코딩 단계들은 칼럼 '디코드'에는 도시되지 않지만, 칼럼 '디코드'에 앞서서(즉, 도면에서, 위에) 배열된다. GOP를 통한 이러한 제1 또는 초기 디코딩은 바람직하게는, 버퍼 BSINDB에 저장된 전체 GOP에 대한 대응하는 비트 스트림 인덱스 정보 아이템 BSII의 생성을 포함한다.
상기 언급된 바와 같이, GOP의 중간에 또는 거의 중간에 로케이팅된 디코딩된 앵커 프레임(본 예에서 P43)은 여분 또는 쇼트컷 프레임 버퍼(5)에 초기에 저장된다. 그러한 앵커 프레임을 가용하게 함으로써, 초기에 버퍼링된 영역에 인접한 버퍼링된 영역(본 예에서, B65 내지 P76)에 대해 요구되는 앵커 프레임(P46 내지 P76)을 다시 디코딩하는 동안의 불가피하고 유쾌하지 않은 중지 또는 중지들이 단축될 수 있다. GOP 개시로부터 다른 버퍼링된 앵커 프레임까지 시간의 1/2 또는 약 1/2인 GOP 표시 시간의 위치에 로케이팅된 GOP의 디코딩된 픽쳐로 쇼트컷 프레임 버퍼를 채우는 것이 바람직하다. 쇼트컷 프레임 버퍼는 GOP를 통한 제1 앵커 프레임 디코딩 동안에 처음으로 채워진다. 백워드 표시 프로세스 동안에, 쇼트컷 픽쳐(P43) 자체가 평가된 경우, 가용한 프레임 버퍼로부터 다른 쇼트컷 프레임 버퍼가 다시 생성될 수 있고, 이미 표시된 GOP의 픽쳐를 제외하고, GOP 개시로부터 가용한 버퍼링된 앵커 프레임까지의 표시 시간에 또는 그 시간의 약 1/2에 로케이팅된 쇼트컷을 위한 앵커 프레임을 선택한다.
그런 다음, 디코딩된 픽쳐 P88가 프레임 버퍼(4)로부터 판독되어 표시된다. 픽쳐 B87 및 B86는 픽쳐 P88 및 P85를 이용하여 코드 버퍼 #4로부터 디코딩되고, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다. 픽쳐 P46에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여(생성하여) 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며(각각 BSII를 이용함), 디코딩된 픽쳐 P85가 프레임 버퍼(3)로부터 판독되어 표시되는 동안에 프레임 버퍼(4)에 개재되어 저장된다. 다음으로, 픽쳐 B84및 B83은 픽쳐 P85 및 P82를 이용하여 코드 버퍼 #3으로부터 디코딩되고, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
그런 다음, 픽쳐 P49에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P82가 프레임 버퍼(2)로부터 판독되어 표시되는 동안에 프레임 버퍼(3)에 개재되어 저장된다. 다음으로, 픽쳐 B81및 B80은 픽쳐 P82 및 P79를 이용하여 코드 버퍼 #2로부터 디코딩되고, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
그런 후, 픽쳐 P52에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P79가 프레임 버퍼(1)로부터 판독되어 표시되는 동안에 프레임 버퍼(4)에 개재되어 저장된다.
현재 버퍼링된 영역의 최저-인덱스 앵커 프레임 P79가 초기에 표시된 후, 다음 GOP에 액세스하기 위한 필요한 앵커 픽쳐가 디코딩된 동안에 중지 픽쳐로서 반복적으로 표시될 수 있다.
픽쳐 P55에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P79가 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에 프레임 버퍼(3)에 개재되어 저장된다. 픽쳐 P58에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P79가 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에 프레임 버퍼(4)에 개재되어 저장된다. 픽쳐 P61에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P79가 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에 프레임 버퍼(3)에 개재되어 저장된다. 픽쳐 P64에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P79가 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에 프레임 버퍼(4)에 개재되어 저장된다. 픽쳐 P67에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P79가 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에 프레임 버퍼(3)에 개재되어 저장된다. 픽쳐 P70에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P79가 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 B68 및 B69에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF에서 파싱되고 인코딩된 픽쳐 B86/B87이 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #4에 할당되거나 저장되는 동안에, 프레임 버퍼(4)에 개재되어 저장된다. 픽쳐 P73에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P79가 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 B71 및 B72에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF에서 파싱되고 인코딩된 픽쳐 B83/B84가 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #4에 할당되거나 저장되는 동안에, 프레임 버퍼(3)에 개재되어 저장된다. 픽쳐 P76에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P79가 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 B74 및 B75에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF에서 파싱 되고 인코딩된 픽쳐 B80/B81이 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #2에 할당되거나 저장되는 동안에, 프레임 버퍼(2)에 개재되어 저장된다.
다음으로, 픽쳐 B78 및 B77이 픽쳐 P79 및 P76을 이용하여 코드 버퍼 #1로부터 디코딩되어 이동중에 표시된다. 그런 다음, 픽쳐 P46에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P76이 프레임 버퍼(2)로부터 판독되어 표시되는 동안에 프레임 버퍼(1)에 개재되어 저장된다. 다음으로, 픽쳐 B75 및 B74가 픽쳐 P76 및 P73을 이용하여 코드 버퍼 #2로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
그런 다음, 픽쳐 P49에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P73이 프레임 버퍼(3)로부터 판독되어 표시되는 동안에 프레임 버퍼(2)에 개재되어 저장된다. 다음으로, 픽쳐 B72 및 B71이 픽쳐 P73 및 P70을 이용하여 코드 버퍼 #3으로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
그런 다음, 픽쳐 P52에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P70이 프레임 버퍼(4)로부터 판독되어 표시되는 동안에 프레임 버퍼(1)에 개재되어 저장된다.
현재 버퍼링된 영역의 최저-인덱스 앵커 프레임 P70이 초기에 표시된 후, 다 음 GOP에 액세스하기 위한 필요한 앵커 픽쳐가 디코딩된 동안에 중지 픽쳐로서 반복적으로 표시될 수 있다.
픽쳐 P55에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P70이 프레임 버퍼(4)로부터 다시 판독되어 표시되는 동안에 프레임 버퍼(2)에 개재되어 저장된다. 픽쳐 P58에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P70이 프레임 버퍼(4)로부터 다시 판독되어 표시되는 동안에 프레임 버퍼(1)에 개재되어 저장된다. 픽쳐 P61에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P70이 프레임 버퍼(4)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 B59 및 B60에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF에서 파싱되고 인코딩된 픽쳐 B71/B72가 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #3에 할당되거나 저장되는 동안에, 그리고 프레임 버퍼(2)에 개재되어 저장된다. 픽쳐 P64에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P70이 프레임 버퍼(4)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 B62 및 B63에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF에서 파싱되고 인코딩된 픽쳐 B74/B75가 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #2에 할당되거나 저장되는 동안에, 그리고 프레임 버퍼(1)에 개재되어 저장된다.
픽쳐 P67에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P70이 프레임 버퍼(4)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 B65 및 B66에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF에서 파싱되고 인코딩된 픽쳐 B77/B78이 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #1에 할당되거나 저장되는 동안에, 그리고 프레임 버퍼(3)에 개재되어 저장된다.
다음으로, 픽쳐 B69 및 B68이 픽쳐 P70 및 P67을 이용하여 코드 버퍼 #4로부터 디코딩되어 이동중에 표시된다. 그런 다음, 픽쳐 P46에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P67이 프레임 버퍼(3)로부터 판독되어 표시되는 동안에 예를 들면 프레임 버퍼(4)에 개재되어 저장된다.
이러한 종류의 처리는 백워드 방향으로 뒤따르는 버퍼링된 영역에 대하여 대응하여 반복된다. 그러나, 앵커 픽쳐 번호, 프레임 버퍼 번호 및 코드 버퍼 번호가 변경되었으므로, 칼럼 '쇼' 및 '디코드'에 도시된 프레임 버퍼 번호 및 칼럼 '파스'에 도시된 코드 버퍼 번호가 대응하여 재순서화된다.
도 8의 MPEG-2 GOP 깨진 링크 구조의 백워드 디코딩 및 역방향 재생 처리에 대해, I 및 P 픽쳐에 대한 완전한 프레임 버퍼 세트가 이용될 수 있다. 깨진 링크 GOP는 I 픽쳐로 시작되지 않고 인접하는 GOP로부터 앵커 픽쳐로의 액세스를 예측을 위해 요구하는 B 픽쳐로 시작한다, 즉 GOP가 개방 GOP라는 것을 의미한다. 현재 GOP에서 최종 앵커 픽쳐에 이어서, 이어지는 GOP(포워드 방향)는 그 이어지는 GOP의 제1 B 픽쳐로 시작한다. 다시, '완전하다(complete)'는 것은 디코더가, 현재 GOP 구조에 대해, 모든 앵커 프레임을 위한 그 자신의 프레임 버퍼 + 백그라운드 디코딩을 위한 여분 프레임 버퍼를 구비하여 정상 속도 역방향 재생을 허용한다는 것을 의미한다. 본 발명에 따르면, 그러한 깨진-링크 GOP의 백워드 디코딩을 위해, 어떠한 추가 여분 프레임 버퍼도 요구되지 않는다. 그러나, 도 5의 처리와 비교할 때, 추가 비트 스트림 버퍼가 요구된다. 그렇지 않으면, B-픽쳐의 백그라운드 파싱은 디코딩 프로세스에 여전히 필요한 정보를 중복기록할 것이다. 코드 버퍼 #1은 픽쳐 B2 및 B1을 디코딩하는데 필요하고, 분리된 비트 스트림 버퍼는 픽쳐 B1-1 및 B2-1을 수용하는데 필요하다.
GOP에 대한 디코딩은 현재 GOP의 앵커 픽쳐 I3, P6, P9 및 P12를 디코딩하고 이들을 초기에 프레임 버퍼(1 내지 4)(FRBUF)에 각각 저장하는 것으로 시작한다. 이들 디코딩 단계들은 칼럼 '디코드'에 도시되지 않고, 칼럼 '디코드'에 앞서서(즉, 도면에서, 위에) 배열된다. GOP의 B 픽쳐는 초기에 대응하는 코드 버퍼 #1 내지 #4, 즉 비트 버퍼 BSBUF의 식별가능한 영역에 저장된다.
그런 다음, 이전 GOP(즉, 백워드 방향에서 다음 GOP)로부터 픽쳐 I3-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며 여분 프레임 버퍼 (5)에 개재되어 저장된다. 픽쳐 I3-1을 디코딩하는 동안에, 픽쳐 B1-1 및 B2-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되어 코드 버퍼 #5에 할당되거나 저장되며, 이전에 디코딩된 픽쳐 P12가 프레임 버퍼(4)로부터 판독되어 표시된다. 그런 다음, 픽쳐 B11 및 B10이 코드 버퍼 #4로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 P9가 프레임 버퍼(3)로부터 판독되고, 이전 GOP로부터 픽쳐 P6-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, BSII를 이용하여 디코딩되며, 프레임 버퍼(4)에 개재되어 저장되는 동안에, 그리고 픽쳐 B4-1 및 B5-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 B11 및 B10이 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #4에 할당되거나 저장되는 동안에, 표시된다. 그런 다음, 픽쳐 B8 및 B7이 코드 버퍼 #3으로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 P6이 프레임 버퍼(2)로부터 판독되고, 이전 GOP로부터의 픽쳐 P9-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, BSII를 이용하여 디코딩되며, 프레임 버퍼(3)에 개재되어 저장되는 동안에, 그리고 픽쳐 B7-1 및 B8-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 B8 및 B7이 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #3에 할당되거나 저장되는 동안에, 표시된다. 그런 다음, 픽쳐 B5 및 B4가 코드 버퍼 #2로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 I3이 프레임 버퍼(1)로부터 판독되고, 이전 GOP로부터의 픽쳐 P12-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, BSII를 이용하여 디코딩되며, 프레임 버퍼(2)에 개재되어 저장되는 동안에, 그리고 픽쳐 B10-1 및 B11-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 B5 및 B4가 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #2에 할당되거나 저장되는 동안에, 표시된다. 그런 다음, 픽쳐 B2 및 B1이 코드 버퍼 #1로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
이런 종류의 처리는 백워드 방향으로 다음 GOP(즉, 포워드 방향에 대해 이전 GOP)에 대해 반복된다. 그러나, 앵커 픽쳐 번호 및 코드 버퍼 번호가 변경되었으므로, 칼럼 '쇼' 및 '디코드'에 도시된 프레임 버퍼 번호 및 칼럼 '파스'에 도시된 코드 버퍼 번호가 대응하여 재순서화되고, 즉 칼럼 '쇼'에서 '2'로부터 '5'로 운용되고 칼럼 '디코드'에서 '1'에서 '4'로 운용하는 등이 된다. 따라서, 사용되는 코드 버퍼 번호가 재순서화된다.
일반적으로 말하면, 현재 픽쳐 그룹의 최종 디코딩된 앵커 픽쳐 그룹에 속하 지 않는 현재 GOP의 앵커 픽쳐를 반복적으로 디코딩하기 위한 디코딩 처리 시간을 가용하게 하기 위해, 현재 GOP의 시작시 도달 때까지, 현재 GOP의 잔여 픽쳐의 프리젠테이션 또는 표시는 전용 픽쳐 버퍼에 매개적으로 저장된 디코딩된 앵커 픽쳐의 나머지를 이용하고 대응하는 산재된 비-앵커 픽쳐를 이용하여 계속됨으로써, 현재 GOP의 디코딩된 앵커 픽쳐 중 적어도 2개의 프리젠테이션 또는 표시를 적어도 한 번 반복하고, 현재 GOP의 프리젠테이션 또는 표시는 이를 종료할 때 프리젠팅되거나 표시될 다음 GOP에 대한 대응하는 디코딩된 앵커 픽쳐가 다시 전용 픽쳐 버퍼 FRBUF에 저장되도록 수행된다.
도 9의 MPEG-2 GOP 깨진 링크 구조의 백워드 디코딩 및 역방향 재생 처리에 대해, 도 8의 실시예에서 요구되는 버퍼 개수에 대해, I 및 P 픽쳐에 대한 감소된 개수의 프레임 버퍼 및 B 픽쳐에 대한 감소된 개수의 코드 버퍼가 이용될 수 있으므로, 거의 정상적인 속도 역방향 재생을 허용한다. 도 9 실시예는 도 6의 실시예를 깨진 링크 GOP 구조에 적응한다. 도 6과 같이, GOP당 불가피한 중지가 2개의 부분(도시되지 않음)으로 분할될 수도 있다.
GOP에 대한 디코딩은 현재 GOP의 앵커 픽쳐 I3, P6, P9 및 P12를 디코딩하고 P6, P9 및 P12를 초기에 프레임 버퍼(1 내지 3)(FRBUF)에 각각 저장하는 것으로 시작한다. 이들 디코딩 단계들은 칼럼 '디코드'에 도시되지 않고, 칼럼 '디코드'에 앞서서(즉, 도면에서, 위에) 배열된다. GOP의 B 픽쳐, B7 내지 B11은 초기에 비트 스트림 인덱스 정보 아이템 BSII를 생성하기 위해 대응하는 코드 버퍼 #1 및 #2, 즉 비트 버퍼 BSBUF의 식별가능한 영역에 저장되어 파싱된다.
그런 다음, 픽쳐 I3에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는(또는 이용하는, 왜냐하면, 동일한 GOP에 속하는 B1, B2, I3, B4, B5 및 P6에 대해, BSII는 이전 GOP 파싱으로부터 이용될 수 있기 때문이다) 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며 여분 프레임 버퍼(4)에 개재되어 저장된다. 픽쳐 I3을 디코딩하는 동안에, 이전에 디코딩된 픽쳐 P12가 프레임 버퍼(3)로부터 판독되어 표시되고, 픽쳐 B1 및 B2에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하거나 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되어 코드 버퍼 #3에 할당되거나 저장된다. 그런 다음, 픽쳐 B11 및 B10이 코드 버퍼 #2로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 P9가 프레임 버퍼(2)로부터 판독되고, 픽쳐 P6에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하거나 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, BSII를 이용하여 디코딩되며, 프레임 버퍼(3)에 개재되어 저장되는 동안에, 그리고 픽쳐 B4 및 B5에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하거나 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 B11 및 B10이 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #2에 할당되거나 저장되는 동안에, 표시된다. 그런 다음, 픽쳐 B8 및 B7이 코드 버퍼 #1로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 P6이 프레임 버퍼(1)로부터 판독되고, 이전 GOP(즉, 백워드 방향으로는 다음 GOP)로부터의 픽쳐 I3-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, BSII를 이용하여 디코딩되며, 프레임 버퍼(2)에 개재되어 저장되는 동안에 표시된다. 그리고나서, 픽쳐 B5 및 B4가 코드 버퍼 #2로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
다음으로, 픽쳐 I3이 프레임 버퍼(4)로부터 판독되고, 이전 GOP로부터의 픽쳐 P6-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, BSII를 이용하여 디코딩되며, 프레임 버퍼(1)에 개재되어 저장된다.
그리고나서, 이전 GOP로부터의 픽쳐 P9-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, BSII를 이용하여 디코딩되며, 픽쳐 I3이 프레임 버퍼(4)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 B7-1 및 B8-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 B8 및 B7이 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #1에 할당되거나 저장되는 동안에, 프레임 버퍼(2)에 개재적으로 저장된다.
다음으로, 이전 GOP로부터의 픽쳐 P12-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, BSII를 이용하여 디코딩되며, 픽쳐 I3이 프레임 버퍼(4)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 B10-1 및 B11-1에 대한 데이터가 대응하는 비 트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #2에 할당되거나 저장되는 동안에, 프레임 버퍼(2)에 개재적으로 저장된다. 그런 다음, 픽쳐 B2 및 B1이 코드 버퍼 #3으로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
이런 종류의 처리는 백워드 방향으로 다음 GOP(즉, 포워드 방향에 대해 이전 GOP)에 대해 반복된다. 그러나, 앵커 픽쳐 번호 및 코드 버퍼 번호가 변경되었으므로, 칼럼 '쇼' 및 '디코드'에 도시된 프레임 버퍼 번호 및 칼럼 '파스'에 도시된 코드 버퍼 번호가 대응하여 재순서화된다.
도 10에 도시된 MPEG-4-AVC GOP 구조는 앵커 프레임으로서 B-저장된 픽쳐 Bs를 포함한다. 앵커 프레임으로서 B-픽쳐를 이용할 때, 이는 프레임 버퍼에 저장되어 유지되어야 하고, 표시를 위해 바로(즉, 이동 중에) 디코딩될 수 없다. 양호하게는, Bs 픽쳐에 대한 프레임 버퍼가 요구되지만, '완전한'(즉, GOP의 모든 I 및 P 픽쳐를 저장하는) 프레임 버퍼 세트 + 여분 버퍼가 정상 속도 역방향 재생을 용이하게 한다. 그 여분 프레임 버퍼뿐만 아니라 어떠한 추가 프레임 버퍼도 필요로 하지 않는다.
GOP에 대한 디코딩은 현재 GOP의 앵커 픽쳐 I1, P5, P9, P13, P17, P21 및 P25를 디코딩하고 이들을 초기에 프레임 버퍼(1 내지 7)(FRBUF)에 각각 저장하는 것으로 시작한다. 이들 디코딩 단계들은 칼럼 '디코드'에 도시되지 않고, 칼럼 '디코드'에 앞서서(즉, 도면에서, 위에) 배열된다. 예비 또는 여분 버퍼(8)는 이 GOP만을 위해 Bs 픽쳐들을 중간에(intermediately) 저장하기 위해 이용된다. Bs 및 GOP의 B 픽쳐는 초기에 비트 스트림 인덱스 정보 아이템 BSII를 생성하기 위해 대응하는 코드 버퍼 #1 내지 #6, 즉 비트 버퍼 BSBUF의 식별가능한 영역에 저장되어 파싱된다.
그런 다음, 픽쳐 Bs23이 코드 버퍼 #6으로부터 취해지고, 디코딩된 픽쳐 P25가 프레임 버퍼(7)로부터 판독되어 표시되는 동안에, 디코딩되어 여분 프레임 버퍼(8)에 저장된다. 다음으로, 픽쳐 B24가 픽쳐 P25 및 Bs23을 이용하여 코드 버퍼 #6으로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP(즉, 백워드 방향으로는 다음 GOP)로부터의 픽쳐 I1-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs23이 프레임 버퍼(8)로부터 판독되어 표시되는 동안에 여분 프레임 버퍼(7)에 개재되어 저장된다. 다음으로, 픽쳐 B22가 픽쳐 Bs23 및 P21을 이용하여 코드 버퍼 #6으로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs19가 코드 버퍼 #5로부터 취해지고, 디코딩된 픽쳐 P21이 프레임 버퍼(6)로부터 판독되어 표시되는 동안에, 디코딩되어 여분 프레임 버퍼(8)에 저장된다. 다음으로, 픽쳐 B20이 픽쳐 P21 및 Bs19를 이용하여 코드 버퍼 #5로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P5-1에 대한 데이터가 대응하는 비트 스 트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs19가 프레임 버퍼(8)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs3-1, B2-1 및 B4-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs23, B22 및 B24가 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #6에 할당되거나 저장되는 동안에, 여분 프레임 버퍼(6)에 개재되어 저장된다. 다음으로, 픽쳐 B18이 픽쳐 Bs19 및 P17을 이용하여 코드 버퍼 #5로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs15가 코드 버퍼 #4로부터 취해지고, 디코딩된 픽쳐 P17이 프레임 버퍼(5)로부터 판독되어 표시되는 동안에, 디코딩되어 여분 프레임 버퍼(8)에 저장된다. 다음으로, 픽쳐 B16이 픽쳐 P17 및 Bs15를 이용하여 코드 버퍼 #4로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P9-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs15가 프레임 버퍼(8)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs7-1, B6-1 및 B8-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs19, B18 및 B20이 바로 이전에 판독된 그 코드 버퍼, 즉 코 드 버퍼 #5에 할당되거나 저장되는 동안에, 여분 프레임 버퍼(5)에 개재되어 저장된다. 다음으로, 픽쳐 B14가 픽쳐 Bs15 및 P13을 이용하여 코드 버퍼 #4로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs11이 코드 버퍼 #3으로부터 취해지고, 디코딩된 픽쳐 P13이 프레임 버퍼(4)로부터 판독되어 표시되는 동안에, 디코딩되어 여분 프레임 버퍼(8)에 저장된다. 다음으로, 픽쳐 B12가 픽쳐 P13 및 Bs11을 이용하여 코드 버퍼 #3으로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P13-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs11이 프레임 버퍼(8)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs11-1, B10-1 및 B12-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs15, B14 및 B16이 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #4에 할당되거나 저장되는 동안에, 여분 프레임 버퍼(4)에 개재되어 저장된다. 다음으로, 픽쳐 B10이 픽쳐 Bs11 및 P9를 이용하여 코드 버퍼 #3로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs7이 코드 버퍼 #2로부터 취해지고, 디코딩된 픽쳐 P9가 프레임 버퍼(3)로부터 판독되어 표시되는 동안에, 디코딩되어 여분 프레임 버퍼(8)에 저장된다. 다음으로, 픽쳐 B8이 픽쳐 P9 및 Bs7을 이용하여 코드 버퍼 #2로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P17-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs7이 프레임 버퍼(8)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs15-1, B14-1 및 B16-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs11, B10 및 B12가 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #3에 할당되거나 저장되는 동안에, 여분 프레임 버퍼(3)에 개재되어 저장된다. 다음으로, 픽쳐 B6이 픽쳐 Bs7 및 P5를 이용하여 코드 버퍼 #2로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs3이 코드 버퍼 #1로부터 취해지고, 디코딩된 픽쳐 P5가 프레임 버퍼(2)로부터 판독되어 표시되는 동안에, 디코딩되어 여분 프레임 버퍼(8)에 저장된다. 다음으로, 픽쳐 B4가 픽쳐 P5 및 Bs3을 이용하여 코드 버퍼 #1로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P21-1에 대한 데이터가 대응하는 비트 스 트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs3이 프레임 버퍼(8)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs19-1, B18-1 및 B20-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs7, B6 및 B8이 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #2에 할당되거나 저장되는 동안에, 여분 프레임 버퍼(2)에 개재되어 저장된다. 다음으로, 픽쳐 B2가 픽쳐 Bs3 및 I1을 이용하여 코드 버퍼 #1로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P25-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 I1이 프레임 버퍼(1)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs23-1, B22-1 및 B24-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs3, B2 및 B4가 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #1에 할당되거나 저장되는 동안에, Bs 프레임 버퍼(8)에 개재되어 저장된다.
이런 종류의 처리는 백워드 방향으로 다음 GOP(즉, 포워드 방향에 대해 이전 GOP)에 대해 반복된다. 그러나, 앵커 픽쳐 번호, 프레임 버퍼 번호 및 코드 버퍼 번호가 변경되었으므로, 칼럼 '쇼' 및 '디코드'에 도시된 프레임 버퍼 번호 및 칼럼 '파스'에 도시된 코드 버퍼 번호가 대응하여 재순서화된다.
도 11a 및 11b에 도시된 MPEG-4-AVC GOP 구조는 도 10과 동일하다. 그러나, 디코딩은 '완전한'세트의 프레임 버퍼 + 하나의 여분 버퍼를 이용하여 수행되지 않고, 대신에 감소된 세트의 프레임 버퍼(본 예에서는 4개) + 도 11a에 따른 실시예에서는 하나의 여분 버퍼 및 하나의 Bs 프레임 버퍼, 또는 + 도 11b에 따른 실시예에서는 단지 하나의 Bs 프레임 버퍼만을 이용하여 수행된다.
처리 원리는 도 6 및 도 9의 실시에에 따른 것과 유사하지만, Bs 픽쳐의 이용으로 인해 특별한 특징들이 고려되어야 한다. 우측 칼럼에서 도 11a에 따라 불가피한 중지를 수 개의 부분으로 분할하는 장점은 전체 GOP 앵커 프레임 개수의 절반의 정수값만큼의 프레임 버퍼를 적어도 다시 이용함으로써 달성될 수 있다. 양호하게는, 우측 칼럼 실시예의 도 11a에 따라 추가 비트 스트림 버퍼(코드 버퍼 #5)가 제공되는 경우, 중지의 분할은 동일한 거리의 래스터(raster)로서 동질적인 방식으로 달성될 수 있다. 도 11에 따른 실시예에서, 거의 실시간 역방향 재생이 달성될 수 있다.
도 11a, 좌측 칼럼에서, 현재 GOP에 대한 디코딩은 현재 GOP의 앵커 픽쳐 I1, P5, P9, P13, P17, P21 및 P25를 디코딩하고 앵커 픽쳐 P13, P17, P21 및 P25를 초기에 프레임 버퍼(1 내지 4)(FRBUF)에 각각 저장하는 것으로 시작한다. 이들 디코딩 단계들은 칼럼 '디코드'에 도시되지 않고, 칼럼 '디코드'에 앞서서(즉, 도면에서, 위에) 배열된다. Bs 픽쳐 버퍼(6)는 Bs 픽쳐만을 개재되어 저장하는데 이용된다. GOP의 Bs 픽쳐 Bs11 내지 Bs23 및 B 픽쳐 B10 내지 B24는 초기에 비트 스트림 인덱스 정보 아이템 BSII를 생성하기 위해 대응하는 코드 버퍼 #1 내지 #4, 즉 비트 버퍼 BSBUF의 식별가능한 영역에 저장되어 파싱된다.
그런 다음, 픽쳐 Bs23이 코드 버퍼 #4로부터 취해지고, 디코딩된 픽쳐 P25가 프레임 버퍼(4)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B24가 픽쳐 P25 및 Bs23을 이용하여 코드 버퍼 #4로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 I1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는(또는 이용하는, 동일한 GOP에 속하는 I1, B2, Bs3, B4, P5, P6, Bs7, B8 및 B9에 대해 BSII가 이전 GOP 파싱으로부터 이용될 수 있으므로) 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs23이 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 여분 프레임 버퍼(5)에 개재되어 저장된다. 다음으로, 픽쳐 B22가 픽쳐 Bs23 및 P21을 이용하여 코드 버퍼 #4로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs19가 코드 버퍼 #3으로부터 취해지고, 디코딩된 픽쳐 P21이 프레임 버퍼(3)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B20이 픽쳐 P21 및 Bs19를 이용하여 코드 버퍼 #3으로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 P5에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아 이템 BSII를 이용하거나 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs19가 프레임 버퍼(6)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs3, B2 및 B4에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs23, B22 및 B24가 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #4에 할당되거나 저장되는 동안에, 프레임 버퍼(4)에 개재되어 저장된다. 다음으로, 픽쳐 B18이 픽쳐 Bs19 및 P17을 이용하여 코드 버퍼 #3으로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs15가 코드 버퍼 #2로부터 취해지고, 디코딩된 픽쳐 P17이 프레임 버퍼(2)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B16이 픽쳐 P17 및 Bs15를 이용하여 코드 버퍼 #2로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 P9에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하거나 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs15가 프레임 버퍼(6)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs7, B6 및 B8에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하거나 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs19, B18 및 B20이 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #3에 할당되거나 저장되는 동안에, 프레임 버퍼(3)에 개재되어 저장된다. 다 음으로, 픽쳐 B14가 픽쳐 Bs15 및 P13을 이용하여 코드 버퍼 #2로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs11이 코드 버퍼 #1로부터 취해지고, 디코딩된 픽쳐 P13이 프레임 버퍼(1)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B12가 픽쳐 P13 및 Bs11을 이용하여 코드 버퍼 #1로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP(즉, 백워드 방향으로는 다음 GOP)로부터의 픽쳐 I1-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs11이 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 프레임 버퍼(2)에 개재되어 저장된다. 다음으로, 픽쳐 B10이 픽쳐 Bs11 및 P9를 이용하여 코드 버퍼 #1로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs7이 코드 버퍼 #3으로부터 취해지고, 디코딩된 픽쳐 P9가 프레임 버퍼(3)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B8이 픽쳐 P9 및 Bs7을 이용하여 코드 버퍼 #3으로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P5-1에 대한 데이터가 대응하는 비트 스 트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs7이 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 프레임 버퍼(1)에 개재되어 저장된다. 다음으로, 픽쳐 B6이 픽쳐 Bs7 및 P5를 이용하여 코드 버퍼 #3으로부터 디코딩되어, 이동 중에 표시된다.
그런 다음, 픽쳐 Bs3이 코드 버퍼 #4로부터 취해지고, 디코딩된 픽쳐 P5가 프레임 버퍼(4)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B4가 픽쳐 P5 및 Bs3을 이용하여 코드 버퍼 #4로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P9-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs3이 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에, 프레임 버퍼(3)에 개재되어 저장된다. 다음으로, 픽쳐 B2가 픽쳐 Bs3 및 I1을 이용하여 코드 버퍼 #4로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P13-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 I1이 여분 프레임 버퍼(5)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs11-1, B10-1 및 B12-1에 대한 데이터 가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #1에 할당되거나 저장되는 동안에, 프레임 버퍼(1)에 개재되어 저장된다.
그런 다음, 이전 GOP로부터의 픽쳐 P17-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 I1이 다시 여분 프레임 버퍼(5)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs15-1, B14-1 및 B16-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #2에 할당되거나 저장되는 동안에, 프레임 버퍼(2)에 개재되어 저장된다.
그런 다음, 이전 GOP로부터의 픽쳐 P21-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 I1이 다시 여분 프레임 버퍼(5)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs19-1, B18-1 및 B20-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #3에 할당되거나 저장되는 동안에, 프레임 버퍼(3)에 개재되어 저장된다.
그런 다음, 이전 GOP로부터의 픽쳐 P25-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 I1이 다시 여분 프레임 버퍼 (5)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs23-1, B22-1 및 B24-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #4에 할당되거나 저장되는 동안에, 프레임 버퍼(4)에 개재되어 저장된다.
이러한 종류의 처리는 백워드 방향으로 다음 GOP(즉, 포워드 방향에 대해서는 이전 GOP)에 대해 반복된다.
도 11a의 3개의 우측 칼럼에 도시된 처리 스킴은 픽쳐 P5의 디코딩 및 픽쳐 Bs19를 표시할 때까지는 도 11a의 3개의 좌측 칼럼과 같이 시작한다. 그러나, 픽쳐 Bs3, B2 및 B4에 대한 데이터는 여분 코드 버퍼 #5에 할당되거나 저장된다.
다음으로, 픽쳐 Bs19가 Bs 프레임 버퍼 #6으로부터 다시 판독되고, 픽쳐 P9에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는(또는 이용하는, 동일한 GOP에 속하는 B6, Bs7, B8 및 B9에 대해 BSII는 이전 GOP 파싱으로부터 이용될 수 있으므로) 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며 프레임 버퍼(3)에 개재되어 저장되는 동안에, 그리고 픽쳐 Bs7, B6 및 B8에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하거나 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs23, B22 및 B24가 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #4에 할당되거나 저장되는 동안에, 표시된다. 다음으로, 픽쳐 B18이 픽쳐 Bs19 및 P17을 이용하여 코드 버퍼 #3으로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs15가 코드 버퍼 #2로부터 취해지고, 디코딩된 픽쳐 P17이 프레임 버퍼(2)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B16이 픽쳐 P17 및 Bs15를 이용하여 코드 버퍼 #2로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 I1-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs15가 프레임 버퍼(6)로부터 판독되어 표시되는 동안에, 프레임 버퍼(2)에 개재되어 저장된다. 다음으로, 픽쳐 B14가 픽쳐 Bs15 및 P13을 이용하여 코드 버퍼 #2로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs11이 코드 버퍼 #1로부터 취해지고, 디코딩된 픽쳐 P13이 프레임 버퍼(1)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B12가 픽쳐 P13 및 Bs11을 이용하여 코드 버퍼 #1로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP(즉, 백워드 방향으로는 다음 GOP)로부터의 픽쳐 P5-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs11이 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 프레임 버퍼(1)에 개재 되어 저장된다. 이전 GOP로부터의 픽쳐 P9-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs11이 Bs 프레임 버퍼(6)로부터 다시 판독되어 표시되는 동안에 프레임 버퍼(2)에 개재되어 저장된다. 다음으로, 픽쳐 B10이 픽쳐 Bs11 및 P9를 이용하여 코드 버퍼 #1로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs7이 코드 버퍼 #4로부터 취해지고, 디코딩된 픽쳐 P9가 프레임 버퍼(3)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B8이 픽쳐 P9 및 Bs7을 이용하여 코드 버퍼 #4로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P13-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs7이 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs11-1, B10-1 및 B12-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #1에 할당되거나 저장되는 동안에, 프레임 버퍼(1)에 개재되어 저장된다. 다음으로, 픽쳐 B6이 픽쳐 Bs7 및 P5를 이용하여 코드 버퍼 #4로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs3이 코드 버퍼 #5로부터 취해지고, 디코딩된 픽쳐 P5가 프레임 버퍼(4)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B4가 픽쳐 P5 및 Bs3을 이용하여 코드 버퍼 #5로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P17-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs3이 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs15-1, B14-1 및 B16-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #2에 할당되거나 저장되는 동안에, 프레임 버퍼(2)에 개재되어 저장된다. 이전 GOP로부터의 픽쳐 P21-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 픽쳐 Bs3이 Bs 프레임 버퍼(6)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 Bs19-1, B18-1 및 B20-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #3에 할당되거나 저장되는 동안에, 프레임 버퍼(3)에 개재되어 저장된다. 다음으로, 픽쳐 B2가 픽쳐 Bs3 및 I1을 이용하여 코드 버퍼 #5로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P25-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 I1이 여분 프레임 버퍼(5)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs23-1, B22-1 및 B24-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #4에 할당되거나 저장되는 동안에, 프레임 버퍼(4)에 개재되어 저장된다.
이러한 종류의 처리는 백워드 방향으로 다음 GOP(즉, 포워드 방향으로는 이전 GOP)에 대해 반복된다.
도 11b에 따른 실시예에서, 어떠한 여분 프레임 버퍼도 이용되지 않는다. GOP에 대한 디코딩은 현재 GOP의 앵커 픽쳐 I1, P5, P9, P13, P17, P21 및 P25를 디코딩하고 앵커 픽쳐 P13, P17, P21 및 P25를 초기에 프레임 버퍼(1 내지 4)(FRBUF)에 각각 저장하는 것으로 시작한다. 이들 디코딩 단계들은 칼럼 '디코드'에 도시되지 않고, 칼럼 '디코드'에 앞서서(즉, 도면에서, 위에) 배열된다. Bs 픽쳐 버퍼(5)는 Bs 픽쳐만을 개재되어 저장하는데 이용된다. GOP의 Bs 픽쳐 Bs11 내지 Bs23 및 B 픽쳐 B10 내지 B24는 초기에 비트 스트림 인덱스 정보 아이템 BSII를 생성하기 위해 대응하는 코드 버퍼 #1 내지 #4, 즉 비트 버퍼 BSBUF의 식별가능한 영역에 저장되어 파싱된다.
그런 다음, 픽쳐 Bs23이 코드 버퍼 #4로부터 취해지고, 디코딩된 픽쳐 P25가 프레임 버퍼(4)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(5)에 저장된다. 다음으로, 픽쳐 B24가 픽쳐 P25 및 Bs23을 이용하여 코드 버퍼 #4로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 I1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는(또는 이용하는, 동일한 GOP에 속하는 I1, B2, Bs3, B4, P5, P6, Bs7, B8 및 B9에 대해 BSII가 이전 GOP 파싱으로부터 이용될 수 있으므로) 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs23이 Bs 프레임 버퍼(5)로부터 판독되어 표시되는 동안에 프레임 버퍼(4)에 개재되어 저장된다. 다음으로, 픽쳐 B22가 픽쳐 Bs23 및 P21을 이용하여 코드 버퍼 #4로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs19가 코드 버퍼 #3으로부터 취해지고, 디코딩된 픽쳐 P21이 프레임 버퍼(3)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(5)에 저장된다. 다음으로, 픽쳐 B20이 픽쳐 P21 및 Bs19를 이용하여 코드 버퍼 #3으로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 P5에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하거나 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs19가 프레임 버퍼(5)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs3, B2 및 B4에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs23, B22 및 B24가 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #4에 할당되거나 저장되는 동안에, 프레임 버퍼(3)에 개재되어 저장된다. 다음으로, 픽쳐 B18이 픽쳐 Bs19 및 P17을 이용하여 코드 버퍼 #3으로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs15가 코드 버퍼 #2로부터 취해지고, 디코딩된 픽쳐 P17이 프레임 버퍼(2)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(5)에 저장된다. 다음으로, 픽쳐 B16이 픽쳐 P17 및 Bs15를 이용하여 코드 버퍼 #2로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 P9에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하거나 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs15가 프레임 버퍼(5)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs7, B6 및 B8에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하거나 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs19, B18 및 B20이 바로 이전에 판독된 그 코드 버퍼, 즉 코드 버퍼 #3에 할당되거나 저장되는 동안에, 프레임 버퍼(2)에 개재되어 저장된다. 다음으로, 픽쳐 B14가 픽쳐 Bs15 및 P13을 이용하여 코드 버퍼 #2로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs11이 코드 버퍼 #1로부터 취해지고, 디코딩된 픽쳐 P13이 프레임 버퍼(1)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(5)에 저장된다. 다음으로, 픽쳐 B12가 픽쳐 P13 및 Bs11을 이용하여 코드 버퍼 #1로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP(즉, 백워드 방향으로는 다음 GOP)로부터의 픽쳐 I1-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs11이 Bs 프레임 버퍼(5)로부터 판독되어 표시되는 동안에 프레임 버퍼(1)에 개재되어 저장된다. 다음으로, 픽쳐 B10이 픽쳐 Bs11 및 P9를 이용하여 코드 버퍼 #1로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs7이 코드 버퍼 #3으로부터 취해지고, 디코딩된 픽쳐 P9가 프레임 버퍼(2)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(5)에 저장된다. 다음으로, 픽쳐 B8이 픽쳐 P9 및 Bs7을 이용하여 코드 버퍼 #3으로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P5-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs7이 Bs 프레임 버퍼(5)로부터 판독되어 표시되는 동안에 프레임 버퍼(2)에 개재되어 저장된다. 다음으로, 픽 쳐 B6이 픽쳐 Bs7 및 P5를 이용하여 코드 버퍼 #3으로부터 디코딩되어, 이동 중에 표시된다.
그런 다음, 픽쳐 Bs3이 코드 버퍼 #4로부터 취해지고, 디코딩된 픽쳐 P5가 프레임 버퍼(3)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(5)에 저장된다. 다음으로, 픽쳐 B4가 픽쳐 P5 및 Bs3을 이용하여 코드 버퍼 #4로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P9-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 Bs3이 Bs 프레임 버퍼(5)로부터 판독되어 표시되는 동안에, 프레임 버퍼(3)에 개재되어 저장된다. 다음으로, 픽쳐 B2가 픽쳐 Bs3 및 I1을 이용하여 코드 버퍼 #4로부터 디코딩되어, 이동 중에 표시된다.
그런 다음, 이전 GOP로부터의 픽쳐 P13-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 I1이 여분 프레임 버퍼(4)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs11-1, B10-1 및 B12-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #1에 할당되거나 저장되는 동안에, 프레임 버퍼(1)에 개재되어 저장된다.
그런 다음, 이전 GOP로부터의 픽쳐 P17-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 I1이 다시 프레임 버퍼(2)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs15-1, B14-1 및 B16-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #2에 할당되거나 저장되는 동안에, 프레임 버퍼(2)에 개재되어 저장된다.
그런 다음, 이전 GOP로부터의 픽쳐 P21-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 I1이 다시 프레임 버퍼(4)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs19-1, B18-1 및 B20-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #3에 할당되거나 저장되는 동안에, 프레임 버퍼(3)에 개재되어 저장된다.
그런 다음, 이전 GOP로부터의 픽쳐 P25-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 BSII를 이용하여 디코딩되며, 디코딩된 픽쳐 I1이 다시 프레임 버퍼(4)로부터 판독되어 표시되는 동안에, 그리고 픽쳐 Bs23-1, B22-1 및 B24-1에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #4에 할당되거나 저장되는 동안에, 프레임 버퍼(5) 에 개재되어 저장된다.
이러한 종류의 처리는 백워드 방향으로 다음 GOP(즉, 포워드 방향에 대해서는 이전 GOP)에 대해 반복된다. 그러나, 앵커 픽쳐 번호/프레임 버퍼 번호가 변경되었으므로, 칼럼 '쇼' 및'디코드'에 도시된 프레임 버퍼 번호가 대응하여 재순서화된다.
도 12에서, 88개의 프레임을 가지는 긴 MPEG-4 AVC B-저장된 GOP가 도시되어 있다. 도 7에서와 유사한 쇼트컷 프레임 버퍼가 이용된다. 쇼트컷 버퍼에 저장을 위한 멋지거나 간편한 앵커 프레임을 선택함으로써, GOP의 역방향 재생 동안에 필요하지만 유쾌하지 않은 중지 또는 중지들이 짧아질 수 있다.
GOP에 대한 디코딩은 현재 GOP의 앵커 픽쳐를 디코딩하고 현재 GOP의 끝에 로케이팅된 초기에 버퍼링된 영역(B74 내지 P89)의 앵커 픽쳐 P77, P81, P85 및 P89를 프레임 버퍼(1 내지 4)(FRBUF)에 각각 초기에 저장하는 것으로 시작한다. GOP를 통한 이러한 제1 또는 초기 디코딩은 바람직하게는, 버퍼 BSINDB에 저장된 전체 GOP에 대한 대응하는 비트 스트림 인덱스 정보 아이템 BSII의 생성을 포함한다.
본 발명에 따르면, GOP의 거의 중간에 로케이팅된 디코딩된 앵커 프레임(본 예에서 P37)은 여분 또는 쇼트컷 프레임 버퍼(5)에 초기에 저장된다. 그러한 앵커 프레임을 가용하게 함으로써, 초기에 버퍼링된 영역에 인접한 버퍼링된 영역(본 예에서, B58 내지 P73)에 대해 요구되는 앵커 프레임(P41 내지 P73)을 다시 디코딩하는 동안의 불가피하고 유쾌하지 않은 중지 또는 중지들이 단축될 수 있다. 이러한 여분 프레임 버퍼는 GOP의 바로 시작 대신에 그 위치로부터 GOP의 앵커 프레임의 디코딩을 재개시하도록 허용하므로 쇼트컷을 더 용이하게 한다. GOP 개시와 다른 버퍼링되고 디코딩된 앵커 프레임간의 기간의 1/2 또는 약 1/2인 GOP 표시 시간의 위치에 로케이팅된 GOP의 디코딩된 픽쳐로 쇼트컷 프레임 버퍼를 채우는 것이 바람직하다. 쇼트컷 프레임 버퍼는 GOP를 통한 초기 또는 제1 앵커 프레임 디코딩 동안에 처음으로 채워진다. 백워드 표시 프로세스 동안에, 쇼트컷 픽쳐(P37) 자체가 평가된 경우, 가용한 프레임 버퍼로부터 다른 쇼트컷 프레임 버퍼가 다시 생성될 수 있고, 이미 표시된 GOP의 픽쳐를 제외하고, GOP 개시로부터 가용한 버퍼링된 앵커 프레임까지의 표시 시간에 또는 그 시간의 약 1/2에 로케이팅된 쇼트컷을 위한 앵커 프레임을 선택한다.
이들 디코딩 단계들은 칼럼 '디코드'에 도시되지 않고, 칼럼 '디코드'에 앞서서(즉, 도면에서, 위에) 배열된다. Bs 픽쳐 버퍼(6)는 Bs 픽쳐만을 개재되어 저장하는데 이용된다. 현재 GOP의 Bs 픽쳐 Bs75 내지 Bs87 및 B 픽쳐 B74 내지 B88은 초기에 대응하는 코드 버퍼 #1 내지 #4, 즉 비트 버퍼 BSBUF의 식별가능한 영역에 저장된다.
그런 다음, 픽쳐 Bs87이 코드 버퍼 #4로부터 취해지고, 디코딩된 픽쳐 P89가 프레임 버퍼(4)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B88이 픽쳐 P89 및 Bs87을 이용하여 코드 버퍼 #4로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 P41에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 디코딩되며, 디코딩된 픽쳐 Bs87이 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 프레임 버퍼(4)에 개재되어 저장된다. 다음으로, 픽쳐 B86이 픽쳐 Bs87 및 P85를 이용하여 코드 버퍼 #4로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs83이 코드 버퍼 #3으로부터 취해지고, 디코딩된 픽쳐 P45가 프레임 버퍼(3)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B84가 픽쳐 P85 및 Bs83을 이용하여 코드 버퍼 #3으로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 P45에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 디코딩되며, 디코딩된 픽쳐 Bs83이 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 프레임 버퍼(3)에 개재되어 저장된다. 다음으로, 픽쳐 B82가 픽쳐 Bs83 및 P81을 이용하여 코드 버퍼 #3으로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs79가 코드 버퍼 #2로부터 취해지고, 디코딩된 픽쳐 P81이 프레임 버퍼(2)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B80이 픽쳐 P81 및 Bs79를 이용하여 코드 버퍼 #2로부 터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 P49에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 생성하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 디코딩되며, 디코딩된 픽쳐 Bs79에 대한 데이터가 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 프레임 버퍼(4)에 개재되어 저장된다. 다음으로, 픽쳐 B78이 픽쳐 Bs79 및 P77을 이용하여 코드 버퍼 #2로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다. 그런 다음, 픽쳐 Bs75가 코드 버퍼 #1로부터 취해지고, 디코딩된 픽쳐 P77이 프레임 버퍼(1)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다.
현재 버퍼링된 영역의 최저-인덱스 앵커 프레임 P77이 초기에 표시된 후, 다음 GOP에 액세스하기 위해 필요한 앵커 픽쳐가 디코딩된 동안에 중지 픽쳐로서 반복적으로 표시될 수 있다.
픽쳐 P53에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 픽쳐 P77이 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에 프레임 버퍼(3)에 개재되어 저장된다. 픽쳐 P57에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P77이 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에 프레임 버퍼(4)에 개재되어 저장된다. 픽쳐 P61에 대한 데이터는 대응하는 비트 스트림 인 덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 P77이 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에 프레임 버퍼(3)에 개재되어 저장된다. 픽쳐 P65에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 픽쳐 P77이 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 Bs63, B62 및 B64에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs87, B86 및 B88이 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #4에 할당되거나 저장되는 동안에, 프레임 버퍼(4)에 개재되어 저장된다. 픽쳐 P69에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 픽쳐 P77이 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 Bs67, B66 및 B68에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs83, B82 및 B84가 이전에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #3에 할당되거나 저장되는 동안에, 프레임 버퍼(3)에 개재되어 저장된다. 픽쳐 P73에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 픽쳐 P77이 프레임 버퍼(1)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 Bs71, B70 및 B72에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs79, B78 및 B80이 이전에 판독된 그 코드 버 퍼에, 즉 코드 버퍼 #2에 할당되거나 저장되는 동안에, 프레임 버퍼(2)에 개재되어 저장된다. 다음으로, 픽쳐 B76이 픽쳐 P77 및 Bs75를 이용하여 코드 버퍼 #1로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
그런 다음, 픽쳐 P41에 대한 데이터는 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF로부터 파싱/판독되고, 디코딩되며, 디코딩된 픽쳐 Bs75가 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 프레임 버퍼(1)에 개재되어 저장된다. 다음으로, 픽쳐 B74가 픽쳐 Bs75 및 P73을 이용하여 코드 버퍼 #1로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동중에 표시된다.
그런 다음, 픽쳐 Bs71이 코드 버퍼 #2로부터 취해지고, 디코딩된 픽쳐 P73이 프레임 버퍼(2)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B72가 픽쳐 P73 및 Bs71을 이용하여 코드 버퍼 #2로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 P45에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 디코딩되며, 디코딩된 픽쳐 Bs71이 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 프레임 버퍼(2)에 개재되어 저장된다. 다음으로, 픽쳐 B70이 픽쳐 Bs71 및 P69를 이용하여 코드 버퍼 #2로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs67이 코드 버퍼 #3으로부터 취해지고, 디코딩된 픽쳐 P69가 프레임 버퍼(3)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B68이 픽쳐 P69 및 Bs67을 이용하여 코드 버퍼 #3으로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 P49에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 디코딩되며, 디코딩된 픽쳐 Bs67이 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 프레임 버퍼(1)에 개재되어 저장된다. 다음으로, 픽쳐 B66이 픽쳐 Bs67 및 P65를 이용하여 코드 버퍼 #3으로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs63이 코드 버퍼 #4로부터 취해지고, 디코딩된 픽쳐 P65가 프레임 버퍼(4)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다.
다음으로, 픽쳐 P53에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 디코딩되며, 픽쳐 P65가 프레임 버퍼(4)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 Bs51, B50 및 B52에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF에서 파싱되고 픽쳐 Bs67, B66 및 B68이 이전 에 판독된 그 코드 버퍼에, 즉 코드 버퍼 #3에 할당되거나 저장되는 동안에, 프레임 버퍼(2)에 개재되어 저장된다.
그런 다음, 픽쳐 P57에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 디코딩되며, 픽쳐 P65가 프레임 버퍼(4)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 Bs55, B54 및 B56에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #2에 할당되거나 저장되는 동안에, 프레임 버퍼(1)에 개재되어 저장된다.
그런 다음, 픽쳐 P61에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 디코딩되며, 픽쳐 P65가 프레임 버퍼(4)로부터 다시 판독되어 표시되는 동안에, 그리고 픽쳐 Bs59, B58 및 B60에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 비트 스트림 버퍼 BSBUF에서 파싱되고 코드 버퍼 #1에 할당되거나 저장되는 동안에, 프레임 버퍼(3)에 개재되어 저장된다. 그리고나서, 픽쳐 B64가 픽쳐 P65 및 Bs63을 이용하여 코드 버퍼 #4로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 P41에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 디코딩되며, 디코딩된 픽쳐 Bs63이 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 프레임 버퍼(4)에 개재되어 저장된다. 다음으로, 픽쳐 B62가 픽쳐 Bs63 및 P61을 이용하여 코드 버퍼 #4로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs59가 코드 버퍼 #1로부터 취해지고, 디코딩된 픽쳐 P61이 프레임 버퍼(3)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B60이 픽쳐 P61 및 Bs59를 이용하여 코드 버퍼 #1로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 P45에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 디코딩되며, 디코딩된 픽쳐 Bs59가 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 프레임 버퍼(3)에 개재되어 저장된다. 다음으로, 픽쳐 B58이 픽쳐 Bs59 및 P57을 이용하여 코드 버퍼 #1로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs55가 코드 버퍼 #2로부터 취해지고, 디코딩된 픽쳐 P57이 프레임 버퍼(1)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다. 다음으로, 픽쳐 B56이 픽쳐 P57 및 Bs55를 이용하여 코드 버퍼 #2로부터 디코딩되어 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 P49에 대한 데이터가 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하는 비트 스트림 버퍼 BSBUF로부터 파싱/판독되어 디코딩되며, 디코딩된 픽쳐 Bs55가 Bs 프레임 버퍼(6)로부터 판독되어 표시되는 동안에 프레임 버퍼(4)에 개재되어 저장된다. 다음으로, 픽쳐 B54가 픽쳐 Bs55 및 P53을 이용하여 코드 버퍼 #2로부터 디코딩되어, 대응하는 비트 스트림 인덱스 정보 아이템 BSII를 이용하여 이동 중에 표시된다.
그런 다음, 픽쳐 Bs51이 코드 버퍼 #3으로부터 취해지고, 디코딩된 픽쳐 P53이 프레임 버퍼(2)로부터 판독되어 표시되는 동안에, 디코딩되어 Bs 프레임 버퍼(6)에 저장된다.
이러한 종류의 처리는 백워드 방향으로 뒤따르는 버퍼링된 영역에 대하여 대응하여 반복된다. 그러나, 앵커 픽쳐 번호, 프레임 버퍼 번호 및 코드 버퍼 번호가 변경되었으므로, 칼럼 '쇼' 및 '디코드'에 도시된 프레임 버퍼 번호 및 칼럼 '파스'에 도시된 코드 버퍼 번호가 대응하여 재순서화된다.
그 내부에 저장되거나 이들로부터 판독되는 데이터 타입과 관련하여 주어진 프레임 버퍼, 여분 프레임 버퍼, Bs 프레임 버퍼, 및 코드 버퍼 번호는 예이고, 원하는 대로 다시 번호가 붙여질 수 있다.
본 발명은 MPEG 비디오와 유사한 임의의 GOP 구조로 배열되는 디지털 비디오 데이터의 역방향 재생, 예를 들면 블루레이(Blu-ray) ROM 또는 RAM 디스크 또는 DVD 디스크 상에 저장된 비디오 시퀀스에 이용될 수 있다.
본 발명에 따라, 원활한 백워드 비디오 모드를 제공할 수 있고, 그럼으로써 요구되는 프레임 버퍼의 개수를 줄이고 거의 실시간 속도 프리젠테이션을 달성할 수 있다.

Claims (9)

  1. 비디오 시퀀스의 GOP로 표시되는 인코딩된 픽쳐들의 그룹들을 디코딩하고(BSBUF, DEC, FRBUF, PRS, BSINDB, CTRL) 또한 상기 비디오 시퀀스 및 상기 GOP들을 일시적으로 백워드 방향으로 프리젠테이션하거나 표시하기(FRBUF, VDD) 위한 방법으로서 - 각 GOP는 다른 픽쳐들의 예측을 위해 기능하는 앵커 픽쳐들, 및 다른 픽쳐들의 예측을 위해 기능하지 않는 산재된 비-앵커 픽쳐들을 포함하고, 상기 GOP들 중 현재 GOP의 디코딩은 그 시작으로부터 상기 현재 GOP의 앵커 픽쳐들(I, P, Bs)을 디코딩하는 것으로 시작하지만 상기 현재 GOP의 모든 픽쳐들의 프리젠테이션 또는 표시는 그 끝으로부터 상기 현재 GOP의 픽쳐들(P, B, Bs, I)을 프리젠테이션하거나 표시하는 것으로 개시하여 그 시작까지 계속함으로써, 비-앵커 픽쳐들이 상기 디코딩되어 저장된 앵커 픽쳐들 중 대응하는 인접한 픽쳐들을 이용하여 온 더 플라이(on-the-fly)로 비트 버퍼(BSBUF)로부터 디코딩됨 -,
    제1 GOP의 최종 디코딩된 앵커 픽쳐들의 그룹만을 전용 픽쳐 버퍼들(FRBUF)에 초기에 저장하고 또한 상기 초기에 저장된 디코딩된 앵커 픽쳐들 및 대응하는 산재된 비-앵커 픽쳐들을 이용하여 상기 현재 GOP의 프리젠테이션 또는 표시를 개시하는 단계 - 이런 전용 픽쳐 버퍼들의 전체 개수는 GOP당 앵커 픽쳐들(I, P, Bs)의 전체 개수보다 적고, 상기 현재 GOP의 상기 디코딩된 앵커 픽쳐들 중의 특정의 하나의 픽쳐가 전용 픽쳐 버퍼(5)에 중간에(intermediately) 저장되며 상기 특정 앵커 픽쳐는 현재 GOP의 시작과 상기 최종 디코딩된 앵커 픽쳐들의 그룹간의 시구간의 1/2 또는 약1/2인 GOP 표시 시간내에 한 위치에 로케이팅되고 상기 특정 앵커 픽쳐는 GOP의 바로 그 시작 대신에 그 위치로부터 GOP의 앵커 픽쳐의 디코딩의 재시작을 용이하게 하는 것을 특징으로 함 -; 및
    상기 현재 GOP의 시작에 도달할 때까지, 상기 전용 픽쳐 버퍼들에 중간에 저장된 디코딩된 앵커 픽쳐들 중 남아있는 것들을 이용하고 또한 대응하는 산재된 비-앵커 픽쳐들을 이용하여 상기 현재 GOP의 잔여 픽쳐들의 프리젠테이션 또는 표시를 계속함으로써, 상기 현재 픽쳐 그룹의 상기 최종 디코딩된 앵커 픽쳐들의 그룹에 속하지 않는 상기 현재 GOP의 이들 앵커 픽쳐들을 반복적으로 디코딩하기 위한 디코딩 처리 시간을 쓸 수 있도록, 상기 현재 GOP의 적어도 2개의 상기 디코딩된 앵커 픽쳐의 프리젠테이션 또는 표시를 적어도 한번 반복하는 단계 - 현재 GOP의 상기 프리젠테이션 또는 표시는, 이를 종료(finalize)할 때 프리젠테이션되거나 표시될 후속 GOP에 대한 대응하는 디코딩된 앵커 픽쳐들이 상기 전용 픽쳐 버퍼들(FRBUF)에 다시 저장되도록 수행됨 - 를 포함하는 방법.
  2. 제1항에 있어서,
    백워드 프리젠테이션 또는 표시 처리 동안에, 상기 특정 앵커 픽쳐 자체가 평가된 경우, 다른 특정 앵커 픽쳐가 전용 픽쳐 버퍼(5)에 저장되고, 상기 다른 특정 앵커 픽쳐는 GOP 시작으로부터 현재 버퍼링된 앵커 픽쳐들까지의 표시 시간에 또는 이 표시 시간의 약 1/2에 로케이팅되고, 이미 프리젠테이션되거나 표시된 상기 현재 GOP의 픽쳐들을 제외시키는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 비디오 시퀀스는 MPEG4-AVC B-저장된 픽쳐들인 앵커 픽쳐들을 포함하는 방법.
  4. 비디오 시퀀스의 GOP로 표시되는 인코딩된 픽쳐들의 그룹들을 디코딩하고 또한 상기 비디오 시퀀스 및 상기 GOP들을 일시적으로 백워드 방향으로 프리젠테이션하거나 표시하기(VDD) 위한 장치로서 - 각 GOP는 다른 픽쳐들의 예측을 위해 기능하는 앵커 픽쳐들, 및 다른 픽쳐들의 예측을 위해 기능하지 않는 산재된 비-앵커 픽쳐들을 포함하고, 상기 GOP들 중 현재 GOP의 디코딩은 그 시작으로부터 상기 현재 GOP의 앵커 픽쳐들(I, P, Bs)을 디코딩하는 것으로 시작하지만 상기 현재 GOP의 모든 픽쳐들의 프리젠테이션 또는 표시는 그 끝으로부터 상기 현재 GOP의 픽쳐들(P, B, Bs, I)을 프리젠테이션하거나 표시하는 것으로 개시하여 그 시작까지 계속함으로써, 비-앵커 픽쳐들이 상기 디코딩되어 저장된 앵커 픽쳐들 중 대응하는 인접한 픽쳐들을 이용하여 온 더 플라이로 비트 버퍼(BSBUF)로부터 디코딩됨 -,
    제1 GOP의 최종 디코딩된 앵커 픽쳐들의 그룹만을 전용 픽쳐 버퍼들(FRBUF)에 초기에 저장하고 또한 상기 초기에 저장된 디코딩된 앵커 픽쳐들 및 대응하는 산재된 비-앵커 픽쳐들을 이용하여 상기 현재 GOP의 프리젠테이션 또는 표시를 개시하도록 적응된 수단(BSBUF, DEC, PRS, BSINDB, CTRL) - 이런 전용 픽쳐 버퍼들의 전체 개수는 GOP당 앵커 픽쳐들(I, P, Bs)의 전체 개수보다 적고, 상기 현재 GOP의 상기 디코딩된 앵커 픽쳐들 중의 특정의 하나의 픽쳐가 전용 픽쳐 버퍼(5)에 중간에 저장되며, 상기 특정 앵커 픽쳐는 현재 GOP의 시작과 상기 최종 디코딩된 앵커 픽쳐들의 그룹간의 시구간의 1/2 또는 약 1/2인 GOP 표시 시간내에 한 위치에 로케이팅되고, 상기 특정 앵커 픽쳐는 GOP의 바로 그 시작 대신에 그 위치로부터 GOP의 앵커 픽쳐들의 디코딩의 재시작을 용이하게 함 - 을 포함하고,
    상기 수단은,
    상기 현재 GOP의 시작에 도달할 때까지, 상기 전용 픽쳐 버퍼들에 중간에 저장된 디코딩된 앵커 픽쳐들 중 남아있는 것들을 이용하고 또한 대응하는 산재된 비-앵커 픽쳐들을 이용하여 상기 현재 GOP의 잔여 픽쳐들의 프리젠테이션 또는 표시를 계속함으로써, 상기 현재 픽쳐 그룹의 상기 최종 디코딩된 앵커 픽쳐들의 그룹에 속하지 않는 상기 현재 GOP의 이들 앵커 픽쳐들을 반복적으로 디코딩하기 위한 디코딩 처리 시간을 쓸 수 있도록, 상기 현재 GOP의 적어도 2개의 상기 디코딩된 앵커 픽쳐의 프리젠테이션 또는 표시를 적어도 한번 반복하도록 또한 적응되고,
    상기 수단에서, 현재 GOP의 상기 프리젠테이션 또는 표시는, 이를 종료할 때 프리젠테이션되거나 표시될 후속 GOP에 대한 대응하는 디코딩된 앵커 픽쳐들이 상기 전용 픽쳐 버퍼들(FRBUF)에 다시 저장되도록 수행되는 것을 특징으로 하는 장치.
  5. 제4항에 있어서,
    상기 수단에서, 백워드 프리젠테이션 또는 표시 처리 동안에, 상기 특정 앵커 픽쳐 자체가 평가된 경우, 다른 특정 앵커 픽쳐가 전용 픽쳐 버퍼(5)에 저장되고, 상기 다른 특정 앵커 픽쳐는 GOP 시작으로부터 현재 버퍼링된 앵커 픽쳐들까지의 표시 시간에 또는 이 표시 시간의 약 1/2에 로케이팅되고, 이미 프리젠테이션되거나 표시된 상기 현재 GOP의 픽쳐들을 제외시키는 장치.
  6. 제4항 또는 제5항에 있어서,
    상기 비디오 시퀀스는 MPEG4-AVC B-저장된 픽쳐들인 앵커 픽쳐들을 포함하는 장치.
  7. 삭제
  8. 삭제
  9. 삭제
KR1020050081184A 2004-09-02 2005-09-01 비디오 시퀀스의 인코딩된 픽쳐 그룹을 디코딩하고 상기비디오 시퀀스 및 상기 픽쳐 그룹을 일시적으로 백워드방향으로 프리젠팅하기 위한 방법 및 장치 KR101184158B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04090338A EP1633128A1 (en) 2004-09-02 2004-09-02 Method and apparatus for decoding encoded groups of pictures of a video sequence and presenting said video sequence and said groups of pictures in temporally backward direction
EP04090338.7 2004-09-02

Publications (2)

Publication Number Publication Date
KR20060050919A KR20060050919A (ko) 2006-05-19
KR101184158B1 true KR101184158B1 (ko) 2012-09-18

Family

ID=34928823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050081184A KR101184158B1 (ko) 2004-09-02 2005-09-01 비디오 시퀀스의 인코딩된 픽쳐 그룹을 디코딩하고 상기비디오 시퀀스 및 상기 픽쳐 그룹을 일시적으로 백워드방향으로 프리젠팅하기 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US7924916B2 (ko)
EP (1) EP1633128A1 (ko)
JP (1) JP5079228B2 (ko)
KR (1) KR101184158B1 (ko)
CN (1) CN1744716B (ko)
MY (1) MY148199A (ko)
TW (1) TWI381738B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006324848A (ja) * 2005-05-18 2006-11-30 Nec Electronics Corp 情報処理装置及び情報処理方法
JP4726634B2 (ja) 2006-01-16 2011-07-20 ヤマハ発動機株式会社 船舶
JP4901245B2 (ja) 2006-03-14 2012-03-21 ヤマハ発動機株式会社 船舶推進装置及び船舶
JP4836621B2 (ja) 2006-03-20 2011-12-14 ヤマハ発動機株式会社 リモコン装置及び船舶
JP4919706B2 (ja) 2006-06-05 2012-04-18 ヤマハ発動機株式会社 船舶
KR100794798B1 (ko) * 2006-09-01 2008-01-15 삼성전자주식회사 시간지연을 완화하면서 역재생하는 영상기기 및 그제어방법
WO2008031263A1 (en) * 2006-09-07 2008-03-20 Thomson Licensing Method and apparatus for encoding groups of pictures of a video sequence, each of said groups including an intra encoded picture and more than two predicted encoded pictures
CN102158709B (zh) * 2011-05-27 2012-07-11 山东大学 一种解码端可推导的运动补偿预测方法
TWI548266B (zh) * 2014-06-24 2016-09-01 愛爾達科技股份有限公司 多媒體檔案儲存系統與相關裝置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974224A (en) 1996-06-24 1999-10-26 Matsushita Electric Industrial Co., Ltd. Method and apparatus for decoding video signals
US6353700B1 (en) 1998-04-07 2002-03-05 Womble Multimedia, Inc. Method and apparatus for playing an MPEG data file backward

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08223534A (ja) * 1995-02-17 1996-08-30 Matsushita Electric Ind Co Ltd 画像再生装置
JP3164031B2 (ja) * 1997-05-30 2001-05-08 日本ビクター株式会社 動画像符号化復号化装置、動画像符号化復号化方法、及び動画像符号化記録媒体
JP3093724B2 (ja) * 1998-04-27 2000-10-03 日本電気アイシーマイコンシステム株式会社 動画像データ再生装置及び動画像データの逆再生方法
US6751400B1 (en) * 1998-09-17 2004-06-15 Sony Corporation Reproducing method and apparatus
JP4120055B2 (ja) * 1998-09-17 2008-07-16 ソニー株式会社 再生装置及び再生方法
JP2000217120A (ja) * 1999-01-26 2000-08-04 Canon Inc 再生装置、方法及びコンピュ―タ読み取り可能な記憶媒体
EP1156674A1 (en) * 2000-05-19 2001-11-21 THOMSON multimedia Method and device for decoding a video data stream in special reproduction modes
US8958688B2 (en) * 2001-11-26 2015-02-17 Nvidia Corporation Method and system for DVD smooth rewind
US7035333B2 (en) * 2001-12-05 2006-04-25 Matsushita Electric Industrial Co., Ltd. Method of reverse play for predictively coded compressed video
JP2004242286A (ja) * 2003-01-17 2004-08-26 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974224A (en) 1996-06-24 1999-10-26 Matsushita Electric Industrial Co., Ltd. Method and apparatus for decoding video signals
US6353700B1 (en) 1998-04-07 2002-03-05 Womble Multimedia, Inc. Method and apparatus for playing an MPEG data file backward

Also Published As

Publication number Publication date
JP5079228B2 (ja) 2012-11-21
US7924916B2 (en) 2011-04-12
CN1744716A (zh) 2006-03-08
JP2006074794A (ja) 2006-03-16
US20060045491A1 (en) 2006-03-02
MY148199A (en) 2013-03-15
TW200610414A (en) 2006-03-16
CN1744716B (zh) 2010-07-07
KR20060050919A (ko) 2006-05-19
EP1633128A1 (en) 2006-03-08
TWI381738B (zh) 2013-01-01

Similar Documents

Publication Publication Date Title
KR101184158B1 (ko) 비디오 시퀀스의 인코딩된 픽쳐 그룹을 디코딩하고 상기비디오 시퀀스 및 상기 픽쳐 그룹을 일시적으로 백워드방향으로 프리젠팅하기 위한 방법 및 장치
EP2348720B1 (en) Randomly accessible visual information recording medium and recording method, and reproducing device and reproducing method
US7418190B2 (en) Accelerated access to frames from a compressed digital video stream without keyframes
KR20030061818A (ko) 트릭 플레이가 가능하도록 점진적 아이-슬라이스리프레쉬화 엠피이지 데이터 스트림을 트랜스코딩 하기위한 방법 및 장치
EP2660819B1 (en) Method to play video in reverse and related entertainment device and computer program
EP2642764B1 (en) Transcoding a video stream to facilitate accurate display
KR100852803B1 (ko) 녹화 재생 편집 장치
US7840119B2 (en) Methods and apparatus for processing progressive I-slice refreshed MPEG data streams to enable trick play mode features on a display device
US20100086280A1 (en) Method for smoothly playing a video stream in reverse
KR100794798B1 (ko) 시간지연을 완화하면서 역재생하는 영상기기 및 그제어방법
US8300701B2 (en) Offspeed playback in a video editing system of video data compressed using long groups of pictures
EP1633129B1 (en) Method and apparatus for decoding encoded groups of pictures of a video sequence and presenting said video sequence and said groups of pictures in temporally backward direction
KR100975170B1 (ko) 화상 데이터 재생 장치 및 방법
US6999090B2 (en) Data processing apparatus, data processing method, information storing medium, and computer program
JP3982354B2 (ja) 画像データ再生装置及び方法
JP3056653B2 (ja) ディジタル動画像復号方法と装置
JPH11205739A (ja) 画像再生方法及び装置
JP3657855B2 (ja) 画像復号装置及び画像復号方法
JP4284830B2 (ja) 動画像編集復号化装置及びその方法
JP3036579B2 (ja) Vodシステムにおける特殊再生方式
JPH10327417A (ja) 画像処理装置
JP2010206463A (ja) 動画像符号化方法、動画像符号化装置及び動画像符号化プログラム
JP2004343512A (ja) 映像再生方法および装置
JP2007036687A (ja) 動画像再生装置及び方法
KR20150069502A (ko) 영상 데이터의 저장 및 재생을 위한 저장 매체, 재생 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160816

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190902

Year of fee payment: 8