KR20010032278A - 모듈로 시간 기준 및 시간 증분 해상도를 이용한 시간스탬핑 방법 및 장치 - Google Patents

모듈로 시간 기준 및 시간 증분 해상도를 이용한 시간스탬핑 방법 및 장치 Download PDF

Info

Publication number
KR20010032278A
KR20010032278A KR1020007005485A KR20007005485A KR20010032278A KR 20010032278 A KR20010032278 A KR 20010032278A KR 1020007005485 A KR1020007005485 A KR 1020007005485A KR 20007005485 A KR20007005485 A KR 20007005485A KR 20010032278 A KR20010032278 A KR 20010032278A
Authority
KR
South Korea
Prior art keywords
time
vop
video sequence
resolution
time reference
Prior art date
Application number
KR1020007005485A
Other languages
English (en)
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 KR20010032278A publication Critical patent/KR20010032278A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/184Methods 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 bits, e.g. of the compressed video stream

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

본 발명의 시간 스탬핑 장치는 모듈로 시간 기준 및 시간 증분 해상도를 이용하여 압축 데이터에 내재한 상이한 오디오/비디오 소스에 대한 로컬 시간 기준을 효율적으로 부호화한다. 상기 로컬 시간 기준은 주로 두 부분 즉 기준 시간내의 특정간격을 나타내는 모듈로 시간 기준 및 상기 기준 시간과 관련한 시간 기준 증분으로 부호화된다. 두 가지 형태의 시간 기준 증분이 사용되어 상이한 부호화 순서 및 디스플레이 순서를 표현할 수 있다. 시간 기준 증분에 대한 해상도가 도입되어 상이한 프레임율의 오디오/비디오 소스가 부호화되고 하나의 비트스트림으로 다중화된다. 또한 몇가지 비디오 프레임율을 적은 비트로 표시할 수 있다. 시간 증분 해상도 파라미터가 비디오 오브젝트 플레인 그룹의 헤더에 위치한다.

Description

모듈로 시간 기준 및 시간 증분 해상도를 이용한 시간 스탬핑 방법 및 장치{APPARATUS AND METHOD FOR TIME STAMPING USING MODULO TIME BASE AND TIME INCREMENT RESOLUTION}
비디오 처리분야에 있어서, 오디오 및 비디오 데이터는 기록된다음 기록매체에 저장되기 이전에 그리고 전송로를 통해 전송되기 이전에 부호화된다. 정상속도로 오디오 및 비디오 데이터를 재생하기 위해서는 기록속도와 같게 재생속도를 얻는 것이 필요하다. 이를 위해 기록 및 부호화시 시간 데이터의 부가가 필요하다. 이러한 시간 데이터의 부가를 시간 스탬핑(time stamping)이라한다.
상기 시간 스탬핑은 다수의 오디오 및 비디오 스트림을 동기화해서 제공하기 때문에 유용하다. 비디오 코딩에 있어서 비디오 프레임의 시간 스탬프가 프레임 간격에 따른 움직임 벡터를 스케일링하도록 보간목적 및 움직임 보상목적으로 이용될 수 있다. 본 발명은 프레임율(frame rate)이 일정하지 않고, 동일 시퀀스내에서 넓은 범위에서 변할때 특히 유용하다.
이러한 시간 스탬핑에 대한 생각은 신규한 것은 아니며, MPEG 1 및 MPEG 2 표준 시스템 계층을 포함하는 많은 분야에서 성공적으로 사용되어왔다. 그러나 이들 시간 스탬핑 코드는 통상 많은 비트를 사용하여 표시된다. 예를 들어 MPEG 1 및 MPEG 2 시스템의 경우 시간 스탬프는 33 비트를 점한다.
지금까지 MPEG 4 VM7.1에 있어서, 모듈로_시간_기준(modulo_time_base; 초정도시각정보) 및 VOP_시간_증분(Vidio Object Plane_time_increment;상세시간정보)이 도입되어 로컬 시간 기준을 함께 표시하였다. 상기 모듈로_시간_기준은 기준 시간내의 특정 간격을 나타내는 그룹 시간 기준으로 이루어지며, 상기 VOP_시간_증분은 상기 기준 시간과 관련한 시간 기준 증분으로 이루어진다. 도 1 및 도 2는 본 발명의 종래 기술로서 상기 두 개의 파라미터를 이용하는 시간 스탬핑의 개념을 나타내고 있다.
도 1 및 도 2에 도시한 바와 같이, 모듈로_시간_기준은 하나의 제 2 해상도 단위(1000ms)에서의 로컬 시간 기준을 나타내며, VOP 헤더에서 전송된 마커(marker)로서 표시된다. ″0″ 이전의 연속 ″1″의 수는 동기화 점이 최종 디스플레이된 I/P VOP의 모듈로_시간_기준에 의해 표시되므로 수초가 경과된 것을 나타내는데, 두 개의 예외가 있으며, 하나는 GOV헤더 이후의 I/P-VOP의 경우이며, 다른 하나는 GOV헤더 이후의 제 1 I-VOP이전의(디스플레이 순서에 있어서)B-VOP의 경우이다.
GOV이후의 제 1 I/P-VOP의 경우, 상기 모듈로_시간_기준은 GOV헤더내의 시간 코드와 관련한 시간을 나타낸다. GOV헤더 이후의 제 1 VOP이전의(디스플레이 순서에 있어서)B-VOP의 경우, 상기 모듈로_시간_기준은 GOV헤더내의 시간코드와 관련한 시간을 나타낸다. 비트스트림이 B-VOP를 포함하는 경우, 상기 디코더는 두개의 시간 기준(time_base)을 저장할 필요가 있는데, 그 하나는 최종 디스플레이된 I/P-VOP 또는 GOV헤더로 표시되며, 다른 하나는 최종 복호화된 I/P-VOP로 표시된다.
도1 및 2에 도시한 바와 같이, VOP_시간_증분은 ms단위의 로컬 시간 기준을 나타낸다. I/P 및 B-VOP의 경우, 이 값은 모듈로_시간_기준에 의해 표시된 동기점으로부터의 절대 VOP_시간_증분을 나타낸다.
도 1에 있어서, 디스플레이 순서에 있어서의 제 1 VOP(B-VOP)는 I-VOP이전에 위치하므로 그 시간 기준는 GOV헤더내의 시간 코드(time_code)로 주어진다. 제 3 VOP(B-VOP)는 시주기 1에 있어서 제 2 VOP(I-VOP)로 표시된 모듈로_시간_기준으로부터의 제 2 간격에 위치하므로, 제 3 VOP(B-VOP)에 대한 모듈로_시간_기준은 ″10″이된다. 제 4 VOP(B-VOP)는 제 2 VOP(I-VOP)에 해당하므로, 제 4 VOP(B-VOP)에 대한 모듈로_시간_기준은 ″10″이된다. 제 5 VOP(P-VOP)는 제 2 VOP(I-VOP)에 해당하므로, 제 5 VOP(P-VOP)에 대한 모듈로_시간_기준은 ″110″이된다.
도 2에 있어서, 디스플레이 순서에 있어서, 제 3 VOP(I-VOP)는 상기 시주기 1에 있어서, 상기 GOV헤더내의 시간 코드로부터의 제 2 간격을 나타내므로, 제 3 VOP(I-VOP)에 대한 모듈로_시간_기준은 ″10″이된다. 제 4 VOP(B-VOP)는 제 3 VOP(I-VOP)에 해당하므로, 제 4 VOP(B-VOP)에 대한 모듈로_시간_기준은 ″0″이된다.
(디스플레이 프레임율에 따라) 소정시간에 화상을 생성하기위한 가장 간단한 방법은 디스플레이되는 각 VOP의 가장 최근의 복호화 데이터를 이용하는 것이다. 다른 방법으로 보다 복잡하고 비 실시간적인 어플리케이션으로, 각 VOP의 시간 기준에 의거 필요한 인스턴트(instant) 시간적 근처의 각 VOP의 두 개의 어커런스(occurrence)로부터 각 VOP를 보간하는 것이 있다.
이는 도 1 및 2에 도시한 바와 같이, 상기 VOP_시간_증분은 ms(밀리초)의 해상도를 가진다. 현재 다른 어플리케이션에 여러 가지의 프레임율 즉 23.976Hz, 24Hz, 25Hz, 29.97Hz,30Hz,50Hz,59.97Hz, 60Hz등이 있다. 25Hz의 프레임율의 경우, 두 프레임 간의 시간 간격은 40ms(1000ms/25)이며, 종래기술의 시간 스탬핑 기술이 상기 프레임율에 대처할 수 있다. 그러나, 29.97Hz의 경우, 두 프레임 간의 시간 간격은 33.3667 ms(1000ms/29.97)이다. 종래기술의 시간 스탬핑 기술에 의거하여 VOP_시간_증분은 상기 프레임율을 나타낼 수 없는데, 이는 VOP_시간_증분이 ms의 단위이기 때문이다. 상기 VOP_시간_증분의 해상도가 종래기술과 같이 고정값으로되면, 다른 프레임율에 대처할 수 없다.
컴퓨터 그래픽 또는 합성 비디오 소스를 포함하는 어플리케이션에 있어서, 여러 종류의 프레임율이 처리되어야한다. 따라서 해결해야할 과제는 효율적인 방식으로 그리고 탄력적인 방식으로 시간 스탬프를 어떻게 부호화하여 넓은 범위의 프레임율을 표현하느냐 하는 것이다.
본 발명은 모듈로 시간 기준(modulo time base) 및 동적 시간 증분 해상도(dynamic time increment resolution)를 이용한 시간 스탬핑 방법 및 장치에 관한 것으로, 본 발명은 오디오 및 비디오 재(material)의 스탬핑이 필요시되는 오디오 및 비디오 재의 부호화 표현에 유용하다.
도 1은 부호화 프로세스에 있어서 종래기술의 시간 스탬핑 방법을 도시하는 타이밍도.
도 2는 상기 부호화 프로세스에 있어서 종래기술의 시간 스탬핑방법을 도시하는 타이밍도.
도 3은 29.97Hz의 프레임율을 나타내는 본 발명에 따른 스탬핑 기술을 도시하는 타이밍도.
도 4는 25Hz의 프레임율을 나타내는 본 발명에 따른 시간 스탬핑 기술을 도시하는 타이밍도.
도 5는 시간 스탬핑의 기본적인 동작을 나타내는 타이밍도.
도 6은 본 발명에 따른 시간 기준 부호화를 위한 비트스트림 인코더의 블럭도.
도 7은 본 발명에 따른 시간 기준 복호화를 위한 비트스트림 디코더의 블럭도.
도 8은 도 6에 도시된 비트 스트림 인코더의 동작을 나타내는 플로우차트.
도 9는 도 6에 도시된 VOP_시간_증분_해상도 인코더의 블럭도.
상기를 기반으로, 해결하고자 하는 주요문제는 상기 VOP_시간_증분의 해상도를 가변량으로 만들어 다수의 다른 종류의 프레임율에 대처하는 것이다. 이는 소위 VOP_시간_증분_해상도(VOP_time_increment_resolution)라 칭하는 새로운 구문 요소(syntax element)를 도입하는 것이다. 이러한 파라미터는 GOV 및/또는 VOL층에 있으며, 표 1 및 2로 나타낸다.
표 1
group of Video Object Plane(){ 비트수 연상기호
group_start_code 32 bslbf
VOP_time_increment_resolution 15 uimsbf
time_code 18 bslbf
closed_gov 1 uimsbf
broken_link 1 uimsbf
next_start_code()
}
표 2
Video Object Layer (){ 비트수 연상기호
video_object_layer_start_code 32 bslbf
video_object_layer_shape 2 uimsbf
VOP_time_increment_resolution 15 uimsbf
if(video_bject_layer_shape != ″2진수 만″)
if(video_object_layer_shape=″장방형″){
video_object_layer_width 13 uimsbf
video_object_layer_height 13 uimsbf
}
sprite_enable 1 uimsbf
(
}
표 1은 비디오 오브젝트 플레인(video object plane:VOP) 그룹의 구문을 나타내며, 표 2는 VOL층의 VOP_시간_증분_해상도에 대한 구문을 나타낸다.
표 1 에 있어서, 상기 group_start_code는 32비트 길이의 고유의 코드로서, GOV헤더의 시작을 식별한다. 또한, 상기 VOP_시간_증분_해상도는 1 모듈로 시간(이 경우 1초)내의 클럭수에 의거 VOP_시간_증분의 해상도를 나타내는 15비트 부호없는 정수(unsigned integer)이다. 제로 값은 금지된다.
따라서 상기 문제를 해결하는 방법은 시간 스탬프를 두 개의 부분으로 분할하는 것이다. 제 1 부분은 모듈로_시간_기준이라하는 시간 스탬프의 거친 표시를 나타내며, 제 2 부분 즉 VOP_시간_증분은 두 개의 연속의 모듈로_시간_기준간의 지속시간을 나타낸다. 또한 상기 문제를 해소하여 넓은 범위의 프레임 율을 나타내도록 VOP_시간_증분의 해상도는 두 개의 연속의 모듈로_시간_기준사이의 총 클럭수를 나타내는 플랙의 전송으로 동적으로 설정될 수 있다.
상기 모듈로_시간_기준 및 VOP_시간_증분과 더불어 본 발명에 도입된 상기 VOP_시간_증분_해상도는 임의의 프레임율에서 동작될 수 있다. 상기 VOP_시간_증분_해상도는 일 모듈로 시간에서의 총 클럭수를 제공하며, 상기 VOP_시간_증분은 최종 모듈로_시간_기준으로 표시된 최종시간코드 이래 경과된 클럭수를 부호화한다.
상기 VOP의 시간 코드는 현재 기준점에서의 시간코드, 상기 모듈로_시간_기준에 의해 표시된 초의 수 및 상기 VOP_시간_증분과 상기 VOP_시간_증분_해상도의 비율로 주어진 경과된 몇분의 1 초를 가산함으로써 계산될 수 있다.
VOP의 시간코드
= 시간_코드
+ 모듈로_시간_기준
+
VOP_시간_증분/VOP_시간_증분_해상도
예를 들어, 상기 방정식에 있어서, 제 1항은 임의의 기준시간점에서의 시간을 나타내며, 상기 제 2항은 상기 기준시간점으로부터 경과된 초수를 나타내며, 제 3항은 초의 소수자리량을 나타낸다.
VOP_시간_증분_해상도는 GOV 계층 및 VOL계층에 위치하여 상이한 비디오그룹에 있어서 다른 소스에 대한 다른 프레임율의 대응 해상도를 나타낸다. 상기 VOP_시간_증분은 다른 수의 비트를 이용함으로써 다른 해상도에 대한 프레임 간격을 나타낸다.
본 발명의 바람직한 실시예는 각각의 비디오 오브젝트 플레인 비트스트림에 대한 시간 기준을 부호화하는 유효한 방법 즉 다른 비디오 소스에 대한 시간 기준 부호화를 위한 해상도를 동적으로 설정하는 방법을 포함한다.
도 1 및 2에 도시한 종래 기술에 의할 때, 상기 모듈로_시간_기준 및 VOP_시간_증분은 동일의 의미를 가지는데, 본 발명에서 VOP_시간_증분은 가변해상도를 가지며, GOP계층에서 VOP_시간_증분_해상도로 표시된다. 도 3 및 도 4는 다른 프레임율을 가지는 다른 소스에 대한 시간 기준을 나타내는 메카니즘을 도시한다.
도 3에 있어서, 29.97Hz의 프레임율( 1초마다 나타나는 프레임의 수)비디오 소스가 도시된다. 이 경우, 상기 VOP_시간_증분_해상도(소수를 제거하도록 10n(n은 정의 정수)승된 프레임율)은 2997이다. 환언하면, 상기 비디오 소스의 프레임율이 29.97Hz인 경우는 매초당 29.97 프레임이 나타나는 것을 의미한다. 이 비디오 소스의 프레임주기를 정확히 측정하기 위하여, 초당 2997 클럭펄스(간단히 클럭이라함)를 가지는 클럭신호를 사용할 필요가 있다. 매초마다 이러한 클럭수를 계산하기 위하여, 0과 2997간의 수를 나타내는 12 비트 데이터가 필요하다. 이러한 12 비트 데이터는 GOV계층의 표 1에 있어서 제 3 열(VOP_시간_증분)에 또는 표 2에 있어서 제 4 열(VOP_시간_증분)에위치하는데, 여기서 부호없는 정수인 15 비트 데이터가 수용된다. 이 경우, 한 프레임 주기는 100 클럭을 계산함으로써 카운트될 수 있다. 따라서 29 프레임의 시주기는 2900클럭에 해당한다. 도 3에 도시한 제 3 P프레임인 39번째 프레임은 다음 모듈로 시간에서 3이상의 클럭을 더하여 29번째 프레임의 종료로부터 제 1 모듈로 시간에서 97클럭이 카운트될 때 종료한다.
도 4에 있어서, 25Hz의 프레임율을 가지는 비디오 소스가 도시되는데, 이 경우, VOP_시간_기준_해상도는 25이다. 이 비디오 소스의 프레임주기를 정확히 측정하기 위하여, 매초당 25 클럭을 가지는 클럭신호를 사용할 필요가 있다. 매초에 상기 클럭의 수를 계산하기 위하여 0과 25 사이의 수를 나타내는 5 비트 데이터가 필요하다. 이러한 5 비트 데이터는 전술한바와 유사한 방식으로 GOV 계층 및/또는 VOL 계층에 위치한다. 따라서 상기 VOP_시간_증분은 0과 25 사이의 수를 나타내도록 5 비트 데이터만을 요한다. 이 경우, 한 프레임 주기는 바로 한 클럭주기이며, 40ms에 해당한다. 상기 5 비트 데이터는 종래 기술의 10비트 데이터와 비교할 때 상당히 작은 사이즈의 데이터이다.
따라서 이러한 방법은 상이한 프레임율을 가지는 상이한 종류의 비디오 소스의 시간 기준을 부호화하는데 매우 탄력적이며, 유효한 방법이된다.
상기 모듈로_시간_기준 및 VOP_시간_증분은 표 3에 도시한 바와 같이, VOP계층에 위치한다.
표 3
구문 비트수
Video Object Plane(){
VOP_start_code sc + 8=32
do{
modulo_time_base 1
} (modulo_time_base ! = ″0″)
1-15
표 3은 모듈로_시간_기준 및 VOP_시간_증분에 대한 구문을 나타낸다.
본 발명에 있어서, 상기 VOP_시간_증분은 상기 모듈로_시간_기준으로 표시된 동기화 점으로부터의 절대 모듈로_시간_기준을 나타내며, 클럭수로 측정되며, (0과 VOP_시간_증분_해상도 사이)범위의 값을 가질 수 있다. 이 값을 나타내는 비트의 수는 상기 범위를 표시하는데 필요시되는 최소 비트 수로서 계산된다. 초 단위의 로컬 시간 기준은 상기 값을 상기 VOP_시간_증분_해상도로 나누어 구할수 있다.
다음으로, 상기 시간 스탬핑의 기본 동작이 기술된다.
도 5를 보면, 압축된 데이터를 비트스트림 데이터로 부호화하는 일예의 단계가 도시되는데, 도 5에서 최상 열에 도시한 바와 같이, 압축 비디오 데이터 VOP는 VOP그룹의 시작부에 삽입된 GOP(group of header)헤더를 가지는 I1, B1, B2, P1, B3, P3의 디스플레이 순서로 할당된다. 디스플레이 되는 동안, 디스플레이에 영향을 미치는 로컬 시간이 로컬 타임 클럭을 이용하여 각 VOP마다 측정된다. 예를 들어, 제 1 프레임(I1-VOP)은 비디오 데이터가 시작되자 마자 카운트된 1 시간 23 분 45 초 350 밀리초(1 : 23 : 45 :350)에서 디스플레이되며, , 제 2 프레임(B1-VOP)는 1 : 23 : 45 : 750에서 디스플레이되며, 제 3 프레임(B2-VOP)는 1 : 23 : 46 : 150에서 디스플레이되는 식으로 디스플레이된다.
프레임 부호화의 경우에, 디스플레이 시간 데이터를 각각의 프레임에 삽입하는 것이 중요하다. 시간, 분, 초 및 밀리초를 포함하는 전체 시간 데이터의 삽입은 각 프레임에 있어서 헤더부분에 임의의 데이터 공간을 점유한다. 본 발명의 목적은 각 프레임(VOP)에 삽입될 시간 데이터를 간략화하고 상기의 데이터 공간을 줄이는데 있다.
도 5의 제 1 열에 도시한 각 VOP는 VOP_시간_증분영역에서 밀리초의 디스플레이 시간 데이터로서 저장된다. 상기 제 1 열 내의 각각의 VOP는 또한 시간, 분 및 초의 디스플레이 시간 데이터로서 일시적으로 저장된다. GOP헤더는 제 1 VOP의 경우, 시간, 분 및 초의 디스플레이 데이터로서 저장된다.
도 5의 제 2열에 도시한 바와 같이, VOP는 도시치 않은 버퍼를 이용하여 소정의 시간만큼 지연된다. VOP가 버퍼로부터 재생되는 경우, VOP의 순서는 양방향 예측 규칙에 따라 변경되어 양방향 VOP 즉, B-VOP는 B-VOP가 참조하는 P-VOP이후에 위치해야한다. 따라서 VOP는 I1, P1, B1, B2, P2, P3의 순서로 정렬된다.
도 5의 제 3 열에 도시한 바와 같이, 시각 T1에서 즉 GOP헤더가 부호화되는 경우, 로컬 시간 기준 레지스터는 상기 VOP헤더에 저장된 시간, 분 및 초 데이터를 저장한다. 도 5에 도시한 예에 있어서, 상기 로컬 시간 기준 레지스터는 1: 23 : 45를 저장한다. 이어서 시각 T2이전에, 상기 GOP헤더에 대한 비트스트림 데이터는 도 5의 하부열에 도시한 바와 같이 삽입된 시간, 분 및 초 데이터로서 구해진다.
이어서 시각 T2에서 제 1 VOP(I1-VOP)가 취해진다. 시간 코드 비교기는 상기 로컬 시간 기준 레지스터에 저장된 시각(시간, 분, 초)과 상기 제 1 VOP(I1-VOP)에 일시저장된 시각(시간, 분, 초)을 비교한다. 상기 실시예에 따르면, 비교의 결과는 동일하다. 따라서 상기 비교기는 ″0″를 나타내는데, 이는 제 1 VOP(I1-VOP)가 로컬 시간 기준 레지스터에 유지되는 초와 같은 초에서 생성되는 것을 의미한다. 상기 비교기로부터 생성된 상기 결과 ″0″은 모듈로 시간 기준 영역에서 제 1 VOP(I1-VOP)에 부가된다. 이때 상기 제 1 VOP(I1-VOP)에 일시 저장된 시간, 분, 초 데이터는 제거된다. 따라서 시각 T3이전에 제 1 VOP(I1-VOP)의 비트스트림 데이터는 상기 모듈로_시간_기준영역에 삽입된 ″0″과 VOP_시간_증분영역에 삽입된 ″350″으로 구해진다.
그러면 시각 T3에서 제 2 VOP(P1-VOP)가 취해진다. 시간 코드 비교기는 상기 로컬 시간 기준 레지스터에 저장된 시각(시간, 분, 초)과 상기 제 2 VOP(P1-VOP)에 일시저장된 시각(시간, 분, 초)을 비교한다. 상기 실시예에 따르면, 비교의 결과는 상기 제 2 VOP(P1-VOP)에 일시저장된 시간이 상기 로컬 시간 기준 레지스터에 저장된 시간보다 1초 길다. 따라서 상기 비교기는 ″10″를 나타내는데, 이는 제 2 VOP(P1-VOP)가 로컬 시간 기준 레지스터에 유지되는 초 다음의 1 초에서 생성되는 것을 의미한다. 상기 제 2 VOP(P1-VOP)가 상기 로컬 시간 기준 레지스터에서 유지되는 초 다음-다음 초에서 일어나면, 상기 비교기는 ″110″를 생성한다.
시각 T3이후, 상기 B-VOP시간 기준 레지스터는 시각 T3 바로 이전의 로컬 시간 기준 레지스터에서 처리한 시간과 동일한 시간으로 설정된다. 이 예에 있어서, 상기 B-VOP 시간 기준 레지스터는 상기 제 2 VOP(P1-VOP)레지스터에 일시 저장된 시간과 동일한 시간으로 증가된다. 따라서, 이 예에 있어서, 상기 로컬 시간 기준 레지스터는 1 : 23 :46으로 증가된다.
비교기로부터 생성된 이 결과 ″10″은 모듈로_시간_기준영역에서 제 2 VOP(P1-VOP)에 부가된다. 동시에 상기 제 2 VOP(P1-VOP)에 일시저장된 상기 시간, 분 및 초 데이터는 제거된다. 따라서 시각 T4이전에 상기 제 2 VOP(P1-VOP)에 대한 비트스트림 데이터는 상기 모듈로_시간_기준영역에 삽입된 ″10″ 및 상기 VOP_시간_증분영역에 삽입된 ″550″으로 구해진다.
이어서, 시각 T4에서, 제 3 VOP(B1-VOP)가 취해진다. 시간 코드 비교기는 상기 B-VOP 시간 기준 레지스터에 저장된 시각(시간, 분, 초)과 상기 제 3 VOP(B1-VOP)에 일시저장된 시각(시간, 분, 초)을 비교한다. 상기 실시예에 따르면, 비교의 결과는 동일하다. 따라서 상기 비교기는 ″0″를 나타내는데, 이는 제 3 VOP(B1-VOP)가 로컬 시간 기준 레지스터에 유지되는 초와 같은 초에서 생성되는 것을 의미한다. 상기 비교기로부터 생성된 상기 결과 ″0″은 모듈로-시간_기준 영역에서 제 3 VOP(B1-VOP)에 부가된다. 이때 상기 제 3 VOP(B1-VOP)에 일시 저장된 시간, 분, 초 데이터는 제거된다. 따라서 시간 T5이전에 제 3 VOP(B1-VOP)의 비트스트림 데이터는 상기 모듈로_시간_기준영역에 삽입된 ″0″과 VOP_시간_증분영역에 삽입된 ″750″으로 구해진다.
시각 T5에서 제 4 VOP(B2-VOP)가 취해진다. 시간 코드 비교기는 상기 B-VOP시간 기준 레지스터에 저장된 시각(시간, 분, 초)과 상기 제 4 VOP(B2-VOP)에 일시저장된 시각(시간, 분, 초)을 비교한다. 상기 실시예에 따르면, 비교의 결과는 상기 제 4 VOP(B2-VOP)에 일시저장된 시간이 상기 로컬 시간 기준 레지스터에 저장된 시간보다 1초 길다. 따라서 상기 비교기는 ″10″를 나타내는데, 이는 제 4 VOP(B2-VOP)가 로컬 시간 기준 레지스터에 유지되는 초 다음의 1 초에서 생성되는 것을 의미한다.
B타입 VOP를 처리하는 동안, 로컬 시간 기준 레지스터 뿐만아니라, B-VOP 시간 기준 레지스터도 상기 비교기가 어떤 결과를 생성하느냐에 무관하게 증가되지 않는다.
비교기로부터 생성된 이 결과 ″10″은 모듈로_시간_기준영역에서 제 4 VOP(B2-VOP)에 부가된다. 동시에 상기 제 4 VOP(B2-VOP)에 일시저장된 상기 시간, 분 및 초 데이터는 제거된다. 따라서 시각 T6이전에 상기 제 4 VOP(B2-VOP)에 대한 비트스트림 데이터는 상기 모듈로_시간_기준영역에 삽입된 ″10″ 및 상기 VOP_시간_증분영역에 삽입된 ″150″으로 구해진다.
그러면 시각 T6에서 제 5 VOP(P2-VOP)가 취해진다. 시간 코드 비교기는 상기 로컬 시간 기준 레지스터에 저장된 시각(시간, 분, 초)과 상기 제 5 VOP(P2-VOP)에 일시저장된 시각(시간, 분, 초)을 비교한다. 상기 실시예에 따르면, 비교의 결과는 상기 제 2 VOP(P1-VOP)에 일시저장된 시간이 상기 로컬 시간 기준 레지스터에 저장된 시간보다 1초 길다. 따라서 상기 비교기는 ″10″를 나타내는데, 이는 제 5 VOP(P2-VOP)가 로컬 시간 기준 레지스터에 유지되는 초 다음의 1 초에서 생성되는 것을 의미한다.
시각 T6이후, 상기 B-VOP시간 기준 레지스터는 시각 T6 바로 이전의 로컬 시간 기준 레지스터에서 처리한 시간과 동일한 시간으로 설정된다. 이 예에 있어서, 상기 B-VOP 시간 기준 레지스터는 1: 23 : 46으로 증가된다. 또한 시각 T6이후, 상기 로컬 시간 기준 레지스터는 상기 제 5 VOP(P2-VOP)에 일시저장된 시간과 동일한 시간으로 증가된다. 따라서, 이 예에 있어서, 상기 로컬 시간 기준 레지스터는 1 : 23 :47으로 증가된다.
비교기로부터 생성된 이 결과 ″10″은 모듈로_시간_기준영역에서 제 5 VOP(P2-VOP)에 부가된다. 동시에 상기 제 5 VOP(P2-VOP)에 일시저장된 상기 시간, 분 및 초 데이터는 제거된다. 따라서 시각 T4이전에 상기 제 5 VOP(P2-VOP)에 대한 비트스트림 데이터는 상기 모듈로_시간_기준영역에 삽입된 ″10″ 및 상기 VOP_시간_증분영역에 삽입된 ″350″으로 구해진다.
이후 유사한 동작이 다음의 VOP에 대한 비트스트림 데이터를 생성하도록 실행된다.
비트스트림 데이터의 복호화에 있어서, 전술한 바와 반대의 동작이 수행되는데, 첫째 GOP 헤더에서 처리된 시각(시간,분 초)이 판독되며, 이 판독된 데이터는 로컬 시간 기준 레지스터에 저장된다.
I 타입 또는 P 타입 VOP 즉 B타입 VOP와 다른 VOP의 수신시, 상기 모듈로_시간_기준 영역에 저장된 데이터가 판독된다. 상기 판독된 데이터가 ″0″ 즉 0 앞에 어떤 1도 없는 경우, 상기 로컬 시간 기준 레지스터에는 어떤 변화도 생기지 않으며, 상기 B-VOP시간 기준 레지스터에 어떤 변화도 생기지 않는다. 판독된 데이터가 ″10″인 경우, 상기 로컬 시간 기준 레지스터에 저장된 시간은 1 초 증가된다. 판독된 데이터가 ″110″인 경우, 상기 로컬 시간 기준 레지스터에 저장된 시간은 2 초 증가된다. 이러한 방식으로, 증가되어야할 초의 수는 0앞에 삽입된 1의 수로 정해진다. 또한 상기 판독된 데이터가 ″10″ 또는 ″110″인 경우, 상기 B-VOP 시간 기준 레지스터는 가장 최근의 증분 바로 이전에 상기 로컬 시간 기준 베이스 레지스터가 처리한 시간을 복사한다. 이어서, 상기 로컬 시간 기준 레지스터에서 처리된 시각(시간, 분 초)은 상기 VOP_시간_증분영역에서 처리한 시간(ms)과 합해져서 I 타입 또는 P타입 VOP 가 발생해야할 특정 시간을 설정한다.
B타입의 VOP의 수신시, 상기 모듈로_시간_기준영역에 저장된 데이터가 판독된다. 상기 판독된 데이터가 ″0″인 경우, 상기 B-VOP 시간 기준 레지스터에서 처리된 시각(시간, 분 초)은 상기 VOP_시간_증분영역에서 처리한 시간(ms)과 합해져서 B 타입 VOP 가 발생해야할 특정 시간을 설정한다. 상기 판독된 데이터가 ″0″ 인 경우, 상기 B-VOP시간 기준 레지스터에서 처리한 시각(시간, 분, 초)에 1초가 부가되어 결과 시간이 상기 VOP_시간_증분영역에서 처리한 시간(ms)과 합해져서 B 타입 VOP 가 발생해야할 특정 시간을 설정한다. 상기 판독된 데이터가 ″110″ 인 경우, 상기 B-VOP시간 기준 레지스터에서 처리한 시각(시간, 분, 초)에 2초가 부가되어 결과 시간이 상기 VOP_시간_증분영역에서 처리한 시간(ms)과 합해져서 B 타입 VOP 가 발생해야할 특정 시간을 설정한다.
상기 도 5와 관련한 설명은 본 발명자의 PCT출원 제 PCT/JP97/02319호에 개시되어 있으며, 이 출원은 본 발명에서 참조로 부가된다.
도 6은 상기 시간 기준 부호화를 위한 비트스트림 인코더의 동작에 대한 블럭도로서, 상기 비트스트림 인코더가 동작하면, 초기화기(51)는 상기 로컬 시간 기준 레지스터를 시간 코드의 초기값으로 초기화한다. 비트스트림에는 동일의 시간 코드값이 부호화된다. 다음 I-VOP의 부호화의 시작시, 시간 코드 비교기(52)는 상기 I-VOP의 표시 시간과 상기 로컬 시간 기준 레지스터의 시간을 비교한다. 이 결과는 상기 모듈로_시간_기준 인코더(53)로 전달된다. 상기 모듈로_시간_기준 인코더(53)는 경과된 모듈로 시간 증분의 수와 동일한 필요한 ″1″의 수를 비트스트림에 삽입한다. 이는 모듈로_시간_기준 코드의 종료를 신호하도록 부호 ″0″ 이전에 이어진다.
상기 로컬 시간 기준 레지스터는 현재의 모듈로_시간_기준으로 갱신된다. 이어서 프로세스가 상기 VOP_시간_증분 인코더(54)로 진행되어 여기에서 I-VOP의 나머지 표시 시간 코드가 부호화된다.
다른 프레임율을 가지는 다른 비디오 소스에 의거, VOP시간_증분 해상도 인코더(55)는 예를 들어 29.97Hz 프레임율의 2997의 경우, 한 모듈로 시간내의 클럭수에 의거 VOP_시간_증분_해상도를 나타내도록 15비트를 가지는 수로 된다. VOP_시간_증분_해상도 인코더(55)에 의해 제공된 정보에 의거하여, 한 모듈로 시간의 최대 클럭수를 나타내도록 상기 VOP_시간_증분 인코더(54)에 필요시되는 비트수가 정의된다. 예를 들어, 12 비트가 최대수 2997용으로 필요하다.
이러한 프로세스는 P-VOP인 다음 부호화 비디오 오브젝트 플레인에 대해 반복된다. 상기 시간 코드 비교기(52)는 P-VOP의 표시 시간과 상기 로컬 시간 기준 레지스터의 시간을 비교한다. 이 비교의 결과는 상기 모듈로_시간_기준 인코더(53)로 전달된다. 상기 모듈로_시간_기준 인코더(53)는 경과된 모듈로_시간_기준 증분의 수와 동일하게 필요한 수의 ″1″을 삽입한다. 이는 모듈로_시간_기준 코드의 종료를 신호하도록 부호 ″0″ 이전에 행해진다. 상기 B-VOP 시간 기준 레지스터는 로컬 시간 기준 레지스터의 값으로 설정되며, 이 로컬 시간 기준 레지스터는 현재의 모듈로_시간_기준으로 갱신된다. 이어서 프로세스가 상기 VOP_시간_증분 인코더(54)로 진행되어 여기에서 P-VOP의 나머지 표시 시간 코드가 부호화된다.
이러한 프로세스는 B-VOP인 다음 부호화 비디오 오브젝트 플레인에서 반복된다. 상기 시간 코드 비교기(52)는 P-VOP의 표시 시간과 상기 로컬 시간 기준 레지스터의 시간을 비교한다. 이 비교의 결과는 상기 모듈로_시간_기준 인코더(53)로 전달된다. 상기 모듈로_시간_기준 인코더(53)는 경과된 모듈로 시간 기준 증분의 수와 동일하게 필요한 수의 ″1″을 삽입한다. 이는 모듈로_시간_기준 코드의 종료를 신호하도록 부호 ″0″ 이전에 행해진다. VOP 시간 기준 레지스터 및 상기 로컬 시간 기준 레지스터는 B-VOP의 처리 이후에 변경되지 않으며, 이어서 프로세스가 상기 VOP_시간_증분 인코더(54)로 진행되어 여기에서 B-VOP의 나머지 표시 시간 코드가 부호화된다.
상기 로컬 시간 기준 레지스터는 다음 그룹의 VOP의 시작을 표시하는 다음 I-VOP에서 리세트된다. VOP_시간_증분_해상도 인코더(55)의 소정의 해상도는 동일 그룹의 VOP내에서 동일하다.
도 7은 표시 시간 스탬프를 회복하기 위해 모듈로_시간_기준, VOP_시간_증분 및 VOP_시간_증분_해상도에 이용되는 디코더의 블럭도로서, 그 복호화 순서는 B-VOP이전에 P-VOP앞에 I-VOP가 디코된 부호화순서와 같다.
처리는 초기화기(61)에 의해 시작되며, 이 초기화기(61)에서 로컬 시간 기준 레지스터는 비트스트림으로부터 복호화된 시간 코드의 값으로 설정된다. 이어서 처리는 모듈로_시간_기준 디코더(62)로 진행되며, 여기에서 모듈로 시간 증분(치)가 복호화된다. 복호화된 모듈로 시간 증분의 총수는 부호 ″0″ 이전의 복호화된 ″1″의 수로 주어진다. VOP_시간_증분_해상도 디코더(64)는 GOV헤더 내의 비트스트림으로부터 해상도를 복호화해서 상기 VOP_시간_증분 디코더(63)에 전달한다. 그러면 상기 디코더(63)는 VOP_시간_증분으로 표시되고, VOP_시간_증분_해상도로 분할된 수를 복호화함으로써 현재의 VOP에 대한 대응의 시간 증분을 구할 수 있다. 시간 기준 계산기(65)에 있어서, I-VOP의 표시시간이 회복된다. 총 복호화된 모듈로 시간 기준 증분치는 로컬 시간 기준 레지스터에 부가된다. VOP_시간_증분_해상도로 나누어진 VOP_시간_증분이 로컬 시간 기준 레지스터에 부가되어 I-VOP의 표시시간을 구할 수 있다. 즉
I-VOP의 표시시간
= 시간_코드
+ 모듈로_시간_기준
+
VOP_시간_증분/VOP_시간_증분_해상도
상기 프로세스는 이어서 비디오 오브젝트 디코더(66)로 진행되며, 여기에서 비디오 오브젝트가 복호화된다.
P-VOP의 경우, 프로세스는 모듈로_시간_기준 디코더(62)에서 반복되어 여기에서 모듈로 시간 기준 증분치가 복호화된다. 복호화된 모듈로 시간 증분의 총수는 부호 ″0″ 이전의 복호화된 ″1″의 수로 주어진다. VOP_시간_증분_해상도 디코더(64)는 GOV헤더 내의 비트스트림으로부터 해상도를 복호화해서 상기 VOP_시간_증분 디코더(63)에 전달한다. 그러면 상기 디코더(63)는 VOP_시간_증분으로 표시되고, VOP_시간_증분_해상도로 분할된 수를 복호화함으로써 현재의 VOP에 대한 대응의 시간 증분을 구할 수 있다. 시간 기준 계산기(65)에 있어서, P-VOP의 표시시간이 회복된다. 상기 B-VOP 모듈로 시간 기준 레지스터는 로컬 시간 기준 레지스터내의 값으로 설정된다. 총 복호화된 모듈로 시간 기준 증분치는 로컬 시간 기준 레지스터에 부가된다. VOP_시간_증분_해상도로 나누어진 VOP_시간_증분이 로컬 시간 기준 레지스터에 부가되어 P-VOP의 표시시간을 구할 수 있다. 즉
P-VOP의 표시시간
= 시간_코드
+ 모듈로_시간_기준
+
VOP_시간_증분/VOP_시간_증분_해상도
상기 프로세스는 이어서 비디오 오브젝트 디코더(66)로 진행되며, 여기에서 비디오 오브젝트가 복호화된다.
B-VOP의 경우, 프로세스는 모듈로_시간_기준 디코더(62)에서 반복되어 여기에서 모듈로 시간 기준 증분치가 복호화된다. 복호화된 모듈로 시간 증분의 총수는 부호 ″0″ 이전의 복호화된 ″1″의 수로 주어진다. VOP_시간_증분_해상도 디코더(64)는 GOV헤더 내의 비트스트림으로부터 해상도를 복호화해서 상기 VOP_시간_증분 디코더(63)에 전달한다. 그러면 상기 디코더(63)는 VOP_시간_증분으로 표시되고, VOP_시간_증분_해상도로 분할된 수를 복호화함으로써 현재의 VOP에 대한 대응의 시간 증분을 구할 수 있다. 시간 기준 계산기(65)에 있어서, P-VOP의 표시시간이 회복된다. 총 복호화된 모듈로 시간 기준 증분치 및 VOP_시간_증분_해상도로 나누어진 VOP_시간_증분이 B-VOP 시간 기준 레지스터에 부가되어 B-VOP의 표시시간을 구할 수 있다. 즉
B-VOP의 표시시간
= 시간_코드
+ 모듈로_시간_기준
+
VOP_시간_증분/VOP_시간_증분_해상도
B-VOP 모듈로 시간 기준 레지스터 및 로컬 시간 기준 레지스터는 변경되지 않는다. 이어서 프로세스는 비디오 오브젝트 디코더(66)로 진행되어 여기에서 비디오 오브젝트가 복호화된다.
로컬 시간 기준 레지스터는 다음 그룹의 VOP의 시작을 표시하는 다음 I-VOP에서 리세트된다. VOP_시간_증분_해상도 디코더(64)는 다음 그룹의 VOP의 VOP 시간 증분에 대한 해상도를 복호화한다.
도 8은 도 6의 인코더, 특히 VOP_시간_증분 인코더(54) 및 VOP_시간_증분_해상도 인코더(55)의 동작에 대한 플로우차트로서, 수신된 비디오 데이터의 프레임 율 X는 23.976Hz, 24Hz, 25Hz, 29.97Hz, 30Hz, 50Hz,59.97Hz, 60Hz 중 어느 하나이다. 첫째로 상기 프레임율이 검출된다.
단계 #1에서, 상기 프레임율이 소수자리를 가지지 않는지 여부가 검출되고, 상기 프레임율 X가 24Hz, 25Hz, 30Hz, 50Hz 및 60Hz와 같이 소수자리를 가지지 않는 경우, 단계 2로 프로세스가 진행하여 상기 프레임율 X와 같은 주파수 C를 가지는 클럭을 생성한다. 단계 #3에서, 한 클럭이 카운트되며, 단계 #13에서 프레임 카운터가 1 만큼 증가된다. 상기 단계#3에서의 한 클럭의 카운트는 한 프레임 주기의 카운트와 같다.
단계 #4에서, 상기 프레임율X가 10번째 소수자리까지 가지는지가 검출되며, 상기 프레임율X가 10분의 1의 소수자리까지 가지는 경우, 프로세스는 단계#5로 진행하여 상기 프레임율 X의 10배인 주파수C를 가지는 클럭을 생성한다. 단계 #6에서, 10 클럭이 카운트되며, 다음 단계 #13에서 프레임 카운터는 1 만큼 증가된다. 상기 단계 #6에서의 10 클럭의 카운트는 한 프레임 주기의 카운트와 동일하다.
단계 #7에서 상기 프레임율 X가 100번째 소수자리까지 가지는지가 검출되며, 상기 프레임율 X가 100분의 1의 소수자리까지 가지는 경우, 즉 프레임 율X가 29.97 Hz 또는 59.97Hz 중 하나인 경우, 상기 프로세스는 단계 #8로 진행하여 프레임율 X의 100배인 주파수 C를 가지는 클럭을 생성한다. 단계 #9에서 100 클럭이 카운트되며, 다음 단계#13에서 프레임 카운터는 1 증가한다. 단계#9의 100 클럭의 카운트는 한 프레임주기의 카운트와 같다.
단계 #10에서 상기 프레임율X가 1000분의 1의 소수자리까지 가지는지가 검출되며, 상기 프레임율 X가 1000분의 1의 소수자리까지 가지는 경우, 즉 프레임율 X가 29.976Hz인 경우, 상기 프로세스는 단계 #11로 진행하여 프레임율 X의 1000배인 주파수 C를 가지는 클럭을 생성한다. 단계 #12에서 1000 클럭이 카운트되며, 다음 단계#13에서 프레임 카운터는 1 증가한다. 단계#12의 1000 클럭의 카운트는 한 프레임주기의 카운트와 같다.
도 9를 보면, 일례의 VOP_시간_증분_해상도 인코더(55)가 도시되는데, 제 1, 제 2, 제3, 제 4, 제 5, 제 6, 제 7 및 제 8 클럭 발생기(80,81,82,83, 84, 85, 86 및 87)는 각기 23976Hz, 24Hz, 25Hz, 2997Hz, 30Hz, 50Hz,5997Hz, 60Hz 의 주파수를 가지는 클럭을 생성한다. 이들 클럭 발생기(80,81,82,83, 84, 85, 86 및 87)는 각기 Ta, Tb, Tc, Td, Te, Tf, Tg 및 Th 단자에 접속된다. 스위치(88)의 단자Ti는 제 2 스위치(89)의 단자 Se에 접속된다. 상기 제 2 스위치(89)는 제 3 스위치(93)의 단자 Ra에 접속된 단자Sa를 가진다. 상기 제 2 스위치(89)는 10-카운터(90)를 통해 제 3 스위치(93)의 단자Rb에 접속된 단자Sb를 가진다. 또한 제 2 스위치(89)는 100-카운터(91)를 통해 제 3 스위치(93)의 단자Rc에 접속된 단자Sc를 가지며, 1000-카운터(92)를 통해 제 3 스위치(93)의 단자Rd에 접속된 단자Sd를 가진다. 상기 제 3 스위치(93)의 단자 Re는 한 프레임주기에 대응하는 신호를 생성한다.
입력 비디오 소스가 23.976Hz의 프레임율을 가지는 경우, 상기 제 1 스위치(88)는 단자Ta에 접속된 단자Ti를 가지며, 제 2 스위치(89)는 단자Sd에 접속된 단자 Se를 가지며, 제 3 스위치(93)는 단자Rd에 접속된 단자 Re를 가지므로, 프레임율이 23.976Hz인 경우, 23976Hz주파수를 가지는 클럭의 1000클럭이 1000-카운터(92)에서 카운트되어 한 프레임주기를 측정한다. 1000클럭의 카운트후, 한 프레임주기를 나타내는 신호가 제 3 스위치(93)의 단자Re로부터 생성된다.
입력 비디오 소스가 24Hz의 프레임율을 가지는 경우, 상기 제 1 스위치(88)는 단자Tb에 접속된 단자Ti를 가지며, 제 2 스위치(89)는 단자Sa에 접속된 단자 Se를 가지며, 제 3 스위치(93)는 단자Ra에 접속된 단자 Re를 가지므로, 프레임율이 24Hz인 경우, 24Hz주파수를 가지는 클럭의 한 클럭이 한 프레임주기를 측정한다. 한 클럭의 카운트후, 한 프레임주기를 나타내는 신호가 제 3 스위치(93)의 단자Re로부터 생성된다.
전술한 바와 같이, 제 1 스위치(88)는 입력 비디오소스의 프레임율에 따라 스위치되므로, 제 2 및 제 3 스위치(89,93)는 소수점 이후의 소수자리의 수에 따라 스위치된다. 이 제 2 및 제 3 스위치에 있어서, 단자 Sa 및 Ra가 프레임 율이 소수자리를 가지지 않는 경우 각각 접속되며, 단자 Sb 및 Rb가 프레임율이 10분의 1의 소수자리를 가지는 경우 각각 접속되며, 단자 Sc 및 Rc가 프레임율이 100분의 1의 소수자리를 가지는 경우 각각 접속되며, 단자 Sd 및 Rd가 프레임율이 1000분의 1의 소수자리를 가지는 경우 각각 접속된다.
도 9의 회로가 컴퓨터로 구성되는 경우, 23976Hz, 24Hz, 25Hz, 2997Hz, 30Hz, 50Hz,5997Hz 및 60Hz의 클럭 카운트가 15 비트 데이터, 5 비트 데이터, 5 비트 데이터, 12 비트 데이터, 5 비트 데이터, 6 비트 데이터, 13 비트 데이터, 6 비트데이터를 각각 이용하여 행해질 수 있다. 바꾸어 말하면, 시간코드를 표시하기 위해 15 비트 데이터가 충분하며, 또한 다른 프레임율에 따라 필요한 비트의 수를 조정할 수 있다.
본 발명의 효과는 상이한 인코더에 의해 부호화되는 상이한 비디오 소스로부터 비디오 오브젝트 플레인이 다중화될 수 있으며, 이에 의해 상이한 프레임율을 가지는 비디오/오디오 소스를 동기화하기 위해 효과적이고 탄력적인 시간 스탬핑기술을 제공할 수 있어, 시간 증분 해상도를 이용하여 밀리초의 정수가 아닌 프레임주기를 가지는 프레임율을 표시할 수 있는 것이다. 이하의 표는 처리될 수 있는 자주 이용된 프레임율을 나타낸다.
표 4
프레임율 프레임주기 종래기술로 코드화됨 본 발명에 의해 코드화됨 사용된 시간 증분 해상도(1초당 클럭) 1 프레임간격당 시간 증분치
23.976 Hz 41.70837504171 ms 아니오 23976 1000
24 Hz 41.66666666667 ms 아니오 24 1
25 Hz 40.0 ms 25 1
29.97 Hz 33.36670003337 ms 아니오 2997 100
30 Hz 33.33333333333 ms 아니오 30 1
50 Hz 20.0 ms 50 1
59.97 Hz 16.67500416875 ms 아니오 5997 100
60 Hz 아니오 60 1
표 4는 자주 사용되는 프레임율을 나타내는데 이용될 수 있는 시간 증분 해상도 및 시간 증분의 조합을 나타낸다. 표 4로부터 명백한 바와 같이, 본 발명에 따르면 종래기술에 불가능한 프레임율을 코드화할 수 있다.
본 발명은 선원인 1998년 12월 21일자의 일본특허출원 평 제 10-362511호에 개시된 청구대상에 관한 것이며, 상기 출원의 내용은 본원에서 참조로 부가된다.
본 발명은 MPEG 1, 2, 4 등의 동영상 처리분야에 이용될 수 있다.

Claims (20)

  1. 시간 기준 해상도의 동적 범위로서 오디오 비디오 시퀀스의 표시시간에 대한 코드화 표현을 부호화하는 장치에 있어서:
    시간 샘플링에 의해 상기 오디오 비디오 시퀀스의 인스턴스(instance)를 얻는 수단;
    압축데이터로 부호화될 오디오 비디오 시퀀스의 상기 인스턴스의 로컬 시간 기준을 구하는 수단;
    상기 로컬 시간 기준의 고정간격을 가지는 한 세트의 고르게 분포된 시간 기준의 발생을 표시하는 모듈로 시간 기준(modulo time base), 상기 고정간격내의 총 클럭수를 나타내는 시간 증분 해상도 및 상기 시간 기준의 발생과 관련한 클럭 단위의 시간 증분을 가지는 3 부분에 의거 상기 로컬 시간 기준을 부호화하는 수단;
    상기 오디오 비디오 시퀀스의 시작부에 상기 시간 기준 해상도의 코드화 표현을 삽입하는 수단;
    일 이상의 고정간격이 경과되는 경우마다 상기 오디오 비디오 시퀀스의 상기 인스턴스의 압축데이터에 상기 모듈로 시간 기준의 코드화 표현을 삽입하는 수단; 및
    상기 오디오 비디오 시퀀스의 상기 인스턴스의 압축데이터내에 상기 시간 기준의 코드화 표현을 삽입하는 수단을 구비하는 것을 특징으로 하는 부호화 장치.
  2. 시간 기준 해상도의 동적 범위로서 오디오 비디오 시퀀스의 표시시간에 대한 코드화 표현을 복호화하는 장치에 있어서:
    상기 로컬 시간 기준의 고정간격을 가지는 한 세트의 고르게 분포된 시간 기준의 발생을 표시하는 모듈로 시간 기준, 상기 고정간격내의 총 클럭수를 나타내는 시간 증분 해상도 및 상기 시간 기준의 발생과 관련한 클럭 단위의 시간 증분을 가지는 3 부분에 의거 상기 로컬 시간 기준을 복호화하는 수단;
    상기 오디오 비디오 시퀀스의 시작부에서 상기 시간 기준 해상도의 코드화 표현을 추출하는 수단;
    상기 시간 기준 해상도로부터 한 프레임의 지속시간을 계산하는 수단;
    상기 오디오 비디오 시퀀스의 인스턴스의 압축데이터로부터 모듈로 시간 기준의 코드화 표현을 추출하고, 경과된 적합한 수의 고정간격에 의해 상기 시간 기준을 증가하는 수단;
    상기 오디오 비디오 시퀀스의 인스턴스의 압축데이터내의 시간 기준 증분의 코드화 표현을 추출하고 상기 코드화 표현에 한 프레임의 지속시간을 곱하여 상기 시간 기준과 관련한 오디오 비디오 시퀀스의 인스턴스의 시간 기준 증분을 구하는 수단; 및
    상기 시간 기준에 시간 기준 증분을 더하여 상기 오디오 비디오 시퀀스의 인스턴스의 로컬 시간 기준을 얻는 수단을 구비하는 것을 특징으로 하는 복호화 장치.
  3. 제 1항에 있어서, 상기 오디오 비디오 시퀀스의 시작부에 인코더 시간 기준 시간 코드의 코드화 표현을 삽입하는 수단을 추가로 구비하는 것을 특징으로 하는 부호화 장치.
  4. 제 1항에 있어서, 상기 모듈로 시간 기준은 ″0″이전의 일련의 연속″1″을 가지며, 그 각각의 ″1″은 표시된 최종 동기화 점이래 경과된 고정간격 수를 나타내는 것을 특징으로 하는 부호화 장치.
  5. 제 1항에 있어서, 상기 시간 증분은 부호없는 2진 정수를 가지며, 상기 정수의 길이는 시간 기준 증분 해상도로 주어진 최대 클럭수를 표시하는데 필요한 최소 2진 비트수인 것을 특징으로 하는 부호화 장치.
  6. 제 1항에 있어서, 상기 모듈로 시간 기준은 1 초 간격의 고정간격을 가지는 것을 특징으로 하는 부호화 장치.
  7. 제 2항에 있어서, 상기 오디오 비디오 시퀀스의 시작부로부터 인코더 시간 기준 시간 코드의 코드화 표현을 추출해서 이 코드화 표현을 이용하여 상기 디코더의 로컬 시간 기준을 유도하는 수단을 추가로 구비하는 것을 특징으로 하는 복호화 장치.
  8. 제 2 항에 있어서, 상기 상기 모듈로 시간 기준은 ″0″이전의 일련의 연속″1″을 가지며, 그 각각의 ″1″은 표시된 최종 동기화 점이래 경과된 고정간격 수를 나타내는 것을 특징으로 하는 복호화 장치.
  9. 제 2항에 있어서, 상기 시간 증분은 부호없는 2진 정수를 가지며, 상기 정수의 길이는 시간 기준 증분 해상도로 주어진 최대 클럭수를 표시하는데 필요한 최소 2진 비트수인 것을 특징으로 하는 복호화 장치.
  10. 제 2항에 있어서, 상기 모듈로 시간 기준은 1 초 간격의 고정간격을 가지는 것을 특징으로 하는 복호화 장치.
  11. 시간 기준 해상도의 동적 범위로서 오디오 비디오 시퀀스의 표시시간에 대한 코드화 표현을 부호화하는 방법에 있어서:
    시간 샘플링에 의해 상기 오디오 비디오 시퀀스의 인스턴스를 얻는 단계;
    압축데이터로 부호화될 오디오 비디오 시퀀스의 상기 인스턴스의 로컬 시간 기준을 구하는 단계;
    상기 로컬 시간 기준의 고정간격을 가지는 한 세트의 고르게 분포된 시간 기준의 발생을 표시하는 모듈로 시간 기준, 상기 고정간격내의 총 클럭수를 나타내는 시간 증분 해상도 및 상기 시간 기준의 발생과 관련한 클럭 단위의 시간 증분을 가지는 3 부분에 의거 상기 로컬 시간 기준을 부호화하는 단계;
    상기 오디오 비디오 시퀀스의 시작부에 상기 시간 기준 해상도의 코드화 표현을 삽입하는 단계;
    일 이상의 고정간격이 경과되는 경우마다 상기 오디오 비디오 시퀀스의 상기 인스턴스의 압축데이터에 상기 모듈로 시간 기준의 코드화 표현을 삽입하는 단계; 및
    상기 오디오 비디오 시퀀스의 상기 인스턴스의 압축데이터내에 상기 시간 기준의 코드화 표현을 삽입하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  12. 시간 기준 해상도의 동적 범위로서 오디오 비디오 시퀀스의 표시시간에 대한 코드화 표현을 복호화하는 방법에 있어서:
    상기 로컬 시간 기준의 고정간격을 가지는 한 세트의 고르게 분포된 시간 기준의 발생을 표시하는 모듈로 시간 기준, 상기 고정간격내의 총 클럭수를 나타내는 시간 증분 해상도 및 상기 시간 기준의 발생과 관련한 클럭 단위의 시간 증분을 가지는 3 부분에 의거 상기 로컬 시간 기준을 복호화하는 단계;
    상기 오디오 비디오 시퀀스의 시작부에서 상기 시간 기준 해상도의 코드화 표현을 추출하는 단계;
    상기 시간 기준 해상도로부터 한 프레임의 지속시간을 계산하는 단계;
    상기 오디오 비디오 시퀀스의 인스턴스의 압축데이터로부터 모듈로 시간 기준의 코드화 표현을 추출하고, 경과된 적합한 수의 고정간격에 의해 상기 시간 기준을 증가하는 단계;
    상기 오디오 비디오 시퀀스의 인스턴스의 압축데이터내의 시간 기준 증분의 코드화 표현을 추출하고 상기 코드화 표현에 한 프레임의 지속시간을 곱하여 상기 시간 기준과 관련한 오디오 비디오 시퀀스의 인스턴스의 시간 기준 증분을 구하는 단계; 및
    상기 시간 기준에 시간 기준 증분을 더하여 상기 오디오 비디오 시퀀스의 인스턴스의 로컬 시간 기준을 얻는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  13. 제 11항에 있어서, 상기 오디오 비디오 시퀀스의 시작부에 인코더 시간 기준 시간 코드의 코드화 표현을 삽입하는 단계를 추가로 포함하는 것을 특징으로 하는 부호화 방법.
  14. 제 11항에 있어서, 상기 모듈로 시간 기준은 ″0″이전의 일련의 연속″1″을 가지며, 그 각각의 ″1″은 표시된 최종 동기화 점이래 경과된 고정간격 수를 나타내는 것을 특징으로 하는 부호화 방법.
  15. 제 11항에 있어서, 상기 시간 증분은 부호없는 2진 정수를 가지며, 상기 정수의 길이는 시간 기준 증분 해상도로 주어진 최대 클럭수를 표시하는데 필요한 최소 2진 비트수인 것을 특징으로 하는 부호화 방법.
  16. 제 11항에 있어서, 상기 모듈로 시간 기준은 1 초 간격의 고정간격을 가지는 것을 특징으로 하는 부호화 방법.
  17. 제 12항에 있어서, 상기 오디오 비디오 시퀀스의 시작부로부터 인코더 시간 기준 시간 코드의 코드화 표현을 추출해서 이 코드화 표현을 이용하여 상기 디코더의 로컬 시간 기준을 유도하는 단계를 추가로 포함하는 것을 특징으로 하는 복호화 방법.
  18. 제 12 항에 있어서, 상기 상기 모듈로 시간 기준은 ″0″이전의 일련의 연속″1″을 가지며, 그 각각의 ″1″은 표시된 최종 동기화 점이래 경과된 고정간격 수를 나타내는 것을 특징으로 하는 복호화 방법.
  19. 제 12항에 있어서, 상기 시간 증분은 부호없는 2진 정수를 가지며, 상기 정수의 길이는 시간 기준 증분 해상도로 주어진 최대 클럭수를 표시하는데 필요한 최소 2진 비트수인 것을 특징으로 하는 복호화 방법.
  20. 제 12항에 있어서, 상기 모듈로 시간 기준은 1 초 간격의 고정간격을 가지는 것을 특징으로 하는 복호화 방법.
KR1020007005485A 1998-12-21 1999-12-20 모듈로 시간 기준 및 시간 증분 해상도를 이용한 시간스탬핑 방법 및 장치 KR20010032278A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP36251198A JP2000184373A (ja) 1998-12-21 1998-12-21 モジュロ時刻基準およびダイナミック時間増分解像度を用いたタイムスタンピング方法および装置
JP98-362511 1998-12-21
PCT/JP1999/007140 WO2000038431A1 (en) 1998-12-21 1999-12-20 Apparatus and method for time stamping using modulo time base and time increment resolution

Publications (1)

Publication Number Publication Date
KR20010032278A true KR20010032278A (ko) 2001-04-16

Family

ID=18477042

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007005485A KR20010032278A (ko) 1998-12-21 1999-12-20 모듈로 시간 기준 및 시간 증분 해상도를 이용한 시간스탬핑 방법 및 장치

Country Status (8)

Country Link
EP (1) EP1014729A3 (ko)
JP (1) JP2000184373A (ko)
KR (1) KR20010032278A (ko)
CN (1) CN1286875A (ko)
BR (1) BR9907124A (ko)
ID (1) ID24586A (ko)
TW (1) TW448631B (ko)
WO (1) WO2000038431A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4208398B2 (ja) * 2000-10-05 2009-01-14 株式会社東芝 動画像復号再生装置、動画像復号再生方法及びマルチメディア情報受信装置
US7088776B2 (en) 2002-07-15 2006-08-08 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
AU2013204760B2 (en) * 2002-07-15 2015-12-03 Apple Inc Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
AU2008201106C1 (en) * 2002-07-15 2011-06-09 Apple Inc. Method and bitstream for variable accuracy inter-picture timing specification for digital video encoding
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US8254461B2 (en) 2002-07-24 2012-08-28 Apple Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
PT1940166E (pt) 2003-07-03 2011-02-07 Panasonic Corp Meio de gravação, instrumento de reprodução, método de gravação, circuito integrado, programa, e método de reprodução
JP2008518544A (ja) * 2004-10-29 2008-05-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Mpegストリームのスライシング
JP2006135477A (ja) * 2004-11-04 2006-05-25 Sanyo Electric Co Ltd 画像処理装置
EP2930907A1 (en) 2007-03-08 2015-10-14 Telefonaktiebolaget L M Ericsson (PUBL) A method for performing synchronization using global scene time
CN101193062B (zh) * 2007-07-25 2011-07-13 中兴通讯股份有限公司 一种rohc压缩中ts值还原方法
CN113377060B (zh) * 2021-08-13 2021-11-09 成都博宇利华科技有限公司 信号采集系统中获取每个采样点采样时刻的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0864228B1 (en) * 1996-07-05 2001-04-04 Matsushita Electric Industrial Co., Ltd. Method for display time stamping and synchronization of multiple video object planes
IL167288A (en) * 1997-04-01 2012-03-29 Sony Corp Image encryption device, image encryption method, image decryption device, image decryption method, and appropriate medium
JP2000013790A (ja) * 1998-06-19 2000-01-14 Sony Corp 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、並びに提供媒体

Also Published As

Publication number Publication date
EP1014729A2 (en) 2000-06-28
JP2000184373A (ja) 2000-06-30
CN1286875A (zh) 2001-03-07
EP1014729A3 (en) 2003-11-26
BR9907124A (pt) 2000-10-03
WO2000038431A1 (en) 2000-06-29
TW448631B (en) 2001-08-01
ID24586A (id) 2000-07-27

Similar Documents

Publication Publication Date Title
KR100274434B1 (ko) 디스플레이 시간 스탬핑과 다중 비디오 오브젝트평면의 동기화방법
ES2663860T3 (es) Método de codificación de imágenes
KR20010032278A (ko) 모듈로 시간 기준 및 시간 증분 해상도를 이용한 시간스탬핑 방법 및 장치
MXPA00004884A (en) Apparatus and method for time stamping using modulo time base and time increment resolution
KR19980026747A (ko) MPEG-2 운송비트열 재다중화기의 PCR 수정장치(PCR corrector of MPEG-2 transport stream remultiplexer)
JP3769457B2 (ja) ローカル時刻符号化方法
JP3197264B6 (ja) Vopの時刻復号化方法
JP3174042B6 (ja) B−vopの時刻復号化方法
JP3421024B2 (ja) Vopの時刻復号化方法
JP3401505B2 (ja) Vopの時刻符号化方法
JP3174042B2 (ja) B−vopの時刻復号化方法
JP3197264B2 (ja) Vopの時刻復号化方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application