KR100877952B1 - 부호화 장치 및 부호화 방법 - Google Patents

부호화 장치 및 부호화 방법 Download PDF

Info

Publication number
KR100877952B1
KR100877952B1 KR1020077014574A KR20077014574A KR100877952B1 KR 100877952 B1 KR100877952 B1 KR 100877952B1 KR 1020077014574 A KR1020077014574 A KR 1020077014574A KR 20077014574 A KR20077014574 A KR 20077014574A KR 100877952 B1 KR100877952 B1 KR 100877952B1
Authority
KR
South Korea
Prior art keywords
code
bit
code string
synchronization
sync
Prior art date
Application number
KR1020077014574A
Other languages
English (en)
Other versions
KR20070086680A (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
Priority claimed from JP24388396A external-priority patent/JP3597647B2/ja
Application filed by 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Publication of KR20070086680A publication Critical patent/KR20070086680A/ko
Application granted granted Critical
Publication of KR100877952B1 publication Critical patent/KR100877952B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • H04N7/54Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal the signals being synchronous
    • H04N7/56Synchronising systems therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • H04J3/0605Special codes used as synchronising signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/07Synchronising arrangements using pulse stuffing for systems with different or fluctuating information rates or bit rates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0075Transmission of coding parameters to receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2404Monitoring of server processing errors or hardware failure
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream

Abstract

에러정정/검출부호화와 동기부호를 사용하는 동기 회복 수법을 조합한 부호화 장치에서의 동기 부호의 에러 검출에 기인하는 의사 동기나 동기 이탈의 문제를 해결한다. 입력되는 다중화 부호열(201)을 정보비트 및 검사비트로 이루어진 에러정정/검출부호로 부호화하는 부호화부(212)와, 부호열(201) 중 미리 주기적으로 정해진 복수의 동기부호 삽입위치의 어느 곳인가에 동기부호를 삽입함과 동시에, 정보비트를 부호열 중의 임의의 위치에 배치하고 검사비트를 부호열(201) 중 동기부호 삽입위치 이외의 위치에 배치하여 출력 부호열(205)을 조립하는 부호열 조립기(213)를 구비한다.

Description

부호화 장치 및 부호화 방법 {ENCODER AND ENCODING METHOD}
도 1은 본 발명의 제 1 및 제 2 실시예에 관한 동화상 부호화 장치의 구성을 나타낸 블록도이다.
도 2는 도 1의 동화상 부호화 장치에서의 다중화기의 다중화 규칙을 나타낸 도면.
도 3은 도 1의 동화상 부호화 장치에서의 출력 부호화 장치의 구성을 나타낸 블록도.
도 4는 도 1의 동화상 부호화 장치로부터의 출력 부호열의 예를 나타낸 도면.
도 5는 동기부호의 예를 나타낸 도면.
도 6은 도 3의 출력 부호화 장치에서의 에러정정/검출전환 부호화부의 구성을 나타낸 블록도.
도 7은 도 3의 출력 부호화 장치에서의 부호열 조립기의 구성을 나타낸 블록도.
도 8은 본 발명의 제 1 및 제 2 실시예에 관한 동화상 복호화 장치의 구성을 나타낸 블록도.
도 9는 도 8의 동화상 복호화 장치에서의 입력 복호화 장치의 구성을 나타낸 블록도.
도 10은 도 9의 입력 복호화 장치에서의 부호열 분해기의 구성을 나타낸 블록도.
도 11은 종래의 에러정정/검출부호 전환 부호화 장치에서 얻어지는 부호열의 예를 나타낸 도면.
도 12는 본 발명의 제 2 실시예를 설명하기 위한 전송로의 비트 부가/소실에 의해 에러가 생긴 동기부호의 예를 나타낸 도면.
도 13은 제 2 실시예에서의 도 3 중의 비트 삽입기의 동작을 설명하기 위한 도면.
도 14는 제 2 실시예에서의 도 9 중의 동기 검출기 및 삽입 비트 제거기의 동작을 설명하기 위한 도면.
도 15는 제 1 및 제 2 실시예에서 프레임 길이 정보를 사용하여 동기 보호를 행하도록 한 부호열의 예를 나타낸 도면.
도 16은 제 1 및 제 2 실시예에서 프레임 길이 정보를 사용하여 동기 보호를 행하도록 한 부호열의 다른 예를 나타낸 도면.
도 17은 제 1 및 제 2 실시예에서 프레임 길이 정보를 사용하여 동기 보호를 행하도록 한 부호열의 또 다른 예를 나타낸 도면.
도 18은 본 발명의 제 3 및 제 4 실시예에 관한 동화상 부호화 장치의 구성을 나타낸 블록도.
도 19는 본 발명의 제 3 실시예에 관한 동화상 부호화 장치의 출력 부호화 장치의 구성을 나타낸 블록도.
도 20은 본 발명의 제 3 실시예에 관한 동화상 부호화 장치로부터의 출력 부호열의 예를 나타낸 블록도.
도 21은 본 발명의 제 3 및 제 4 실시예에 관한 동화상 복호화 장치의 구성을 나타낸 블록도.
도 22는 본 발명의 제 3 실시예에 관한 동화상 복호화 장치의 입력 복호화 장치의 구성을 나타낸 블록도.
도 23은 본 발명의 제 4 실시예에 관한 동화상 부호화 장치의 출력 부호화 장치의 구성을 나타낸 블록도.
도 24는 본 발명의 제 4 실시예에 관한 동화상 복호화 장치의 입력 복호화 장치의 구성을 나타낸 블록도.
도 25는 본 발명의 제 4 실시예에 관한 동화상 부호화 장치로부터의 출력 부호열의 예를 나타낸 블록도.
도 26은 동화상 부호화 장치에서의 다중화기의 다중화 규칙을 나타낸 도면.
도 27은 본 발명의 제 5 실시예에 관한 동화상 부호화 장치로부터의 출력 부호열의 예를 나타낸 블록도.
도 28은 동화상 부호화 장치에서의 다중화기의 다중화의 다른 예를 나타낸 도면.
도 29는 도 28에 나타낸 다중화를 행한 경우의 각 동기부호에 대해 처리를 행한 출력 부호열을 나타낸 도면.
도 30은 본 발명에서 사용하는 스터핑 비트의 예를 설명하기 위한 부호표를 나타낸 도면.
도 31은 도 30의 스터핑 비트를 사용한 경우의 복호화 장치의 처리를 설명 하기 위한 도면.
도 32는 도 30의 스터핑 비트의 특징을 설명하는 도면.
도 33은 동기부호 삽입간격을 동기부호보다 짧게 한 경우의 출력 부호열의 예를 나타낸 도면.
도 34는 다른 길이의 동기부호를 사용하는 예를 나타낸 도면.
도 35는 본 발명의 제 6 실시예에 관한 동화상 부호화 장치로부터의 출력부호열을 나타낸 도면.
본 발명은 무선 전송로와 같은 에러(error)율이 높은 매체를 통해서 정보를 전송/축적하는 시스템에 관한 것이며, 고능률 압축 부호화에 의해 얻어진 압축부호열을 에러 정정/검출 부호화하여 전송/축적하기에 적합한 부호화 장치 및 부호화 방법에 관한 것이다.
예를 들어 무선 TV전화, 휴대 정보단말, 디지털 TV방송 시스템과 같이, 화상이나 음성의 정보를 될 수 있는 대로 적은 정보량이 되도록 고능률로 압축 부호화하여 무선 전송로 등을 통해서 전송하는 시스템에 있어서는, 전송로의 에러율이 높 기 때문에 얻어진 부호열을 어떻게 고품질로 전송하느냐가 중요한 과제가 된다.
이와 같이 에러율이 높은 매체를 통해서 부호열의 전송/축적을 행하는 경우에, 에러율을 저감하는 수단으로서 BCH(Bose-Chauhuri-Hocquenghem)부호, RS(Recommended Standard)부호, 콘벌루션(convolution) 등의 에러 정정부호가 많이 사용된다. 또, 수신측에서 에러검출을 가능하게 하는 수단으로서는 체크섬(check sum)이나 CRC(cyclic redundancy check) 등의 에러검출 부호가 사용된다. 이들 에러정정/에러검출은 전송/축적하는 정보에 여분의 비트(용장성(redundancy))를 일정한 규칙에 따라 부가하고, 복호할 때에 전송/축적된 부호열이 이 규칙에 따르고 있는가의 여부를 조사하여, 그 결과에 따라 에러 정정이나 검출을 행하는 것이다.
그러나, 이와 같이 고능률 압축 부호화에 의해 얻어진 부호열을 에러정정/검출부호로 부호화 하여 전송/축적하는 방법은, 전송로/매체에서의 부호의 에러에 의해 생기는 동기 이탈을 회복하는 동기회복 수법과의 조합이 어려워지는 것이 결점이다. 동기회복 수법으로는 복호한 복호값을 하나로 특정 가능한 동기부호라고 불리는 부호를 삽입하여 동기 이탈이 생길 때는 동기부호를 검출한 시점에서 복호를 재개하는 방법이 많이 사용되고 있다.
동기부호를 복호한 복호값이 하나로 특정 가능한 부호어로 하기 위해서는, 다른 부호어의 조합으로 동기부호와 동일한 비트 패턴이 생기지 않도록 부호어를 구성할 필요가 있다. 그러나, 일반적으로 에러정정/검출 부호화에서는 어느 특정한 비트 패턴의 출현을 피할 수 있게 부호어를 구성하기가 곤란하며, 동기부호와 동일 비트 패턴이 출현한 경우에는 동기부호의 오검출(誤檢出)에 의해 의사동기(擬 似同期)를 일으키고 만다.
이 문제를 피하기 위하여, 에러정정/검출 부호화를 행한 후에 동기부호와 동일한 비트 패턴이 부호열 중에 존재하는가의 여부를 판정하고, 동일 비트 패턴이 존재할 경우에는 그 패턴 중에 있는 규칙에 따라서 더미 비트를 삽입하여, 복호화 장치에서 동일한 규칙으로 더미 비트를 삭제함으로써 의사동기를 방지하는 방법이 사용되고 있다. 그러나, 에러가 생기기 쉬운 매체를 통해서 부호열을 전송/축적할 경우에는, 이 삽입 비트에도 에러가 생길 가능성이 있어서 새로운 동기 이탈이나 의사동기를 일으키는 문제점이 있다.
또, 부호열을 에러정정/검출 부호화하여 동기부호를 삽입할 경우에, 종래에는 동기부호와 동기부호로 끼워진 동기구간의 최후의 부분에서, 에러정정/검출 부호화할 정보 비트의 잉여를 보충하기 위해 많은 삽입 비트를 부호열에 부가할 필요가 있기 때문에 부호화 효율이 저하하는 문제점도 있다.
한편 에러정정/검출능력을 높이기 위해서는 전송/축적하는 정보의 용장도를 높이면 좋으나, 용장도를 높이면 같은 정보를 보내는 데 필요한 비트수는 증가한다. 이 때문에 에러정정/검출능력을 높이면 보다 전송속도가 높은 전송로가 필요해진다거나, 축적해야 할 정보의 비트수가 증가하게 된다. 또 전송속도나 축적용량이 동일하다면 용장도가 높을수록 적은 정보밖에 전송/축적할 수 없게 된다. 화상이나 음성을 고능률로 압축 부호화하여 전송/축적할 경우에 에러내성을 향상시키기 위해 용장성을 부가하는 것은, 전송/축적 속도가 동일하다면 보다 적은 정보량으로 압축 부호화를 행하지 않으면 안되게 되어, 화질이나 음질의 저하를 초래하게 된다.
그래서 보다 적은 용장도로 높은 에러내성을 지니게 하는 방법으로서 계층부호화라 불리는 방법이 있다. 이것은 고능률 압축 부호화된 정보를 에러가 화질이나 음질에 주는 크기에 따라서 분류하고, 에러의 영향이 큰 정보에는 용장도가 높더라도 보다 에러정정/검출능력이 높은 에러정정/검출부호를 사용하고, 에러의 영향이 그다지 크지 않은 정보에는 에러정정/검출능력은 그렇게 높지 않으나 용장도가 적은 에러정정/검출부호를 사용함으로써, 전체적으로 동일한 에러정정/검출부호를 사용하는 경우보다 동일한 평균 용장도로 보다 에러내성을 높이는 방법이다.
예를 들어 동화상의 고능률 압축 부호화에 많이 사용되고 있는 움직임 보상 예측과 직교교환을 조합한 부호화 방식, 즉 입력되는 동화상 신호에 대해 움직임보상 예측을 행하여, 그 예측잔차(豫測殘差)를 DCT(이산 코사인 변환 : Discrete Cosine Transform) 등에 의해 직교 변환하는 방식에서는, 에러가 생기면 큰 화질 열화를 발생하는 움직임 벡터정보나, 예측 잔차신호의 직교 변환계수 중의 저차(低次) 계수에는 에러정정/검출능력이 강한 에러정정/검출부호를 사용하고, 에러의 영향이 적은 예측 잔차신호의 직교변화 계수 중의 고차 계수에는 에러정정/검출능력이 약한 에러정정/검출부호를 사용한다.
이와 같은 계층 부호화를 실현하기 위해서는, 출력되는 부호열의 도중에 에러정정/검출능력이 다른 에러정정/검출부호를 전환할 필요가 있다. 에러정정/검출능력이 다른 에러정정/검출부호를 전환하는 방법으로서는, 에러정정/검출부호의 종류를 나타내는 헤더(header)정보를 부호열에 부가하는 방법이 있다. 도 11은 헤더 정보를 부가하여 에러정정/검출부호를 전환한 부호열의 예를 나타낸 것이며, 이 예에서는 2종류의 에러정정/검출부호 FEC1 및 FEC2를 전환하고 있다. 헤더(1101∼1104)에는 에러정정/검출부호의 종류나 부호어의 수를 나타내는 헤더정보가 들어 있다. 부호화 장치에서는 이들 헤더정보에 이어서 에러정정/검출 부호화된 부호어를 나열하고, 복호화 장치에서는 헤더정보를 복호하고, 이에 따라서 에러정정/검출부호의 복호를 행한다.
그러나, 이와 같은 헤더정보를 부가함으로써 에러정정/검출부호를 전환하는 방법에서는, 헤더정보의 부가에 의해 전송/축적하여야 할 부호열의 비트수가 증가하는 문제가 있다. 화상이나 음성을 고능률 압축 부호화하여 전송/축적할 경우에, 헤더정보에 비트수가 분할된다는 것은 화상이나 음성의 고능률 압축 부호화에 사용되는 비트수가 감소하는 것이 되어, 결과적으로 화질이나 음질의 열화를 초래하게 된다.
상술한 바와 같이 동화상 신호 등의 고능률 압축 부호화한 부호열에 대해 에러정정/검출 부호화를 행하면, 임의의 비트 패턴이 발생하기 때문에 에러정정/검출 부호화와 복호한 복호값을 하나로 특정 가능한 동기부호를 사용하는 동기회복 수법을 조합한 경우에는, 동기부호의 에러 검출에 의한 의사동기가 생기는 문제점이 있으며, 더미 비트의 삽입에 의해 의사동기를 피하는 조작을 행한 경우에도 삽입 비트의 에러에 의해 새로운 동기 이탈이나 의사동기를 발생시키고 마는 문제점이 있었다.
또, 부호열을 에러정정/검출 부호화하여 동기부호를 삽입할 경우에, 종래에는 동기구간의 최후의 부분에서 에러정정/검출 부호화할 정보 비트의 잉여를 보충하기 위하여 많은 삽입 비트를 사용할 필요가 있기 때문에, 부호화 효율이 저하하는 문제점이 있었다.
또한, 헤더정보를 부가함으로써 에러정정/검출 능력이 다른 에러정정/검출부호를 전환하는 부호화/복호화 장치에서는, 헤더정보의 부가에 의해 전송/축적하여야 할 비트수가 증가하기 때문에, 화상이나 음성을 고능률 압축 부호화하여 전송/축적하는 경우에는, 화상이나 음성의 정보에 할당되는 정보량이 감소하여 화질이나 음질의 저하를 초래하는 문제점이 있었다.
본 발명의 주된 목적은 동기부호의 오검출에 의한 의사동기나 동기 이탈의 문제를 해결할 수 있는 부호화 장치 및 부호화 방법을 제공하는데 있다.
본 발명의 보다 구체적인 목적은 에러정정/검출 부호화와 동기부호를 사용하는 동기회복 수법을 조합한 경우에 있어서, 동기부호의 오검출에 의한 의사동기나 동기 이탈의 문제를 해결할 수 있는 부호화 장치 및 부호화 방법을 제공하는 데 있다.
본 발명의 다른 목적은 에러정정/검출 부호화와 동기부호를 사용하는 동기회복 수법을 조합한 경우에 있어서, 동기구간의 최후의 부분에서 사용하는 삽입비트를 적게 하여 부호화 효율을 높일 수 있는 부호화 장치 및 부호화 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 화상이나 음성 등의 정보를 고능률 압축 부호화한 부호열을 복수 종류의 에러정정/검출부호로 전환하여 부호화하여 전송/축적하는 경우에 있어서, 에러정정/검출부호의 종류를 나타내는 헤더정보의 부가를 필요로 하여 전송/축적되는 부호열의 비트수를 감소시켜서 정보의 품질을 향상시킬 수 있는 부호화 장치 및 부호화 방법을 제공하는 데 있다.
본 발명에 따른 제1 부호화 장치는, 입력신호를 압축 부호화하여 얻어진 복수 종류의 압축부호를 다중화하여 다중화 부호열을 생성하는 다중화수단과, 상기 다중화 부호열을 입력으로 하여 출력 부호열을 조립하는 부호열 조립수단을 가지며, 상기 부호열 조립수단은 상기 출력 부호열 중 미리 주기적으로 정해진 복수의 동기부호 삽입위치의 어느 곳인가에 동기부호를 삽입함과 동시에, 상기 출력부호열 중에 상기 출력 부호열의 역방향에서 복호한 복호값을 하나로 특정 가능한 스터핑 비트를 삽입하는 것을 특징으로 한다.
여기서 스터핑 비트는 출력 부호열의 역방향으로부터 복호한 복호값을 하나로 특정 가능한 부호인 것이 바람직하다. 이와 같이 하면 복호화 장치에서 스터핑 비트의 직전의 부호열의 복호 종료위치와 스터핑 비트의 개시위치를 비교함으로써 입력 부호열 중의 에러를 용이하게 검출할 수 있다.
또한 이 스터핑 비트는 동기부호 및 그 일부와의 사이의 해밍 거리가 미리 정해진 값 이상으로 되는 것이 바람직하다, 이와 같이 하면 의사동기의 발생 확률이 낮아지는 이점이 있다.
이와 같이 제1 부호화 장치에 의하면, 부호화 장치에서 복수 종류의 압축부 호를 다중화한 다중화 부호열 중에 미리 주기적으로 정해진 동기부호 삽입위치에만 동기부호를 삽입하기 때문에, 부호열 중의 임의의 위치에 동기부호가 삽입되는 종래 방식에 비해 동기부호 검출의 회수가 삭감되고, 또 비트 에러에 의해 복호화 장치에 입력되는 비트열이 동기부호와 동일한 비트 패턴으로 변화해버리는 데 따른 의사동기의 발생 확률은 이 동기부호 검출회수의 삭감에 따라 감소하기 때문에, 본 발명에 의하면 의사동기의 발생을 적게 할 수 있어서, 동기부호 검출에 수반하는 연산처리량도 삭감된다.
본 발명에 따른 제2 부호화 장치는, 제1 부호화 장치의 구성에 더하여, 상기 부호열 조립수단은 상기 출력 부호열 중에 미리 주기적으로 복수의 동기부호 삽입위치를 정함과 동시에, 상기 다중화 부호열의 경계를 지정하여 나타내는 정보를 삽입하고, 상기 복수의 동기부호 삽입위치의 어느 곳인가에 동기부호를 삽입하는 동시에, 상기 출력 부호열중에 상기 출력 부호열의 역방향에서 복호한 복호값을 하나로 특정 가능한 스터핑 비트를 삽입하는 것을 특징으로 한다.
이와 같이 제2 부호화 장치에 의하면, 제1 부호화 장치의 구성에 더하여, 동기부호의 에러를 고려한 비트 삽입, 즉 동기부호 삽입위치에 있는 비트열에 대해 동기부호와의 해밍거리의 변환을 행함으로써, 비트열 중에 동기부호와 동일한 비트 패턴이 포함되지 않게 되기 때문에, 상정한 비트수 이하의 에러에 대해서는 동기부호의 오검출이 생기지 않는 것이 보증되어, 동기부호 오검출의 확률이 감소한다.
그리고 본 발명에서 동기부호라 함은 부호열 중에 동기회복을 위해 삽입되는 복호한 복호값을 하나로 특정 가능한 부호이며, 예를 들어 동기부호를 삽입하는 부 호열이 프레임 단위로 입력되는 화상신호를 압축 부호화한 복수 종류의 압축부호를 다중화한 다중화 부호열이면, 부호화 프레임의 구분이나, 복수 종류의 압축부호의 구분 외의 구분을 나타내는 부호가 된다.
본 발명에 따른 제3 부호화 장치는, 압축 부호화된 출력 부호열 중 미리 주기적으로 정해진 복수의 동기부호 삽입위치의 어느 곳인가에 동기부호를 삽입하는 동시에, 상기 출력 부호열 중에 상기 출력 부호열의 역방향에서 복호한 복호값을 하나로 특정 가능한 스퍼핑 비트를 삽입하는 부호열 조립수단을 구비한 것을 특징으로 한다.
또한, 제3 부호화 장치에서는, 입력신호를 압축 부호화 하여 얻어진 복수 종류의 압축부호를 다중화 하여 다중화 부호열을 생성하는 다중화 수단을 구비하고, 상기 부호열 조립수단은, 상기 출력 부호열중 미리 주기적으로 복수의 동기부호 삽입위치를 정하는 동시에, 상기 다중화 부호열의 경계를 지정하여 나타내는 정보를 삽입하고, 상기 복수의 동기부호 삽입위치의 어느 곳인가에 동기신호를 삽입하는 동시에, 상기 출력 부호열중에 상기 출력부호열의 역 방향에서 복호한 복호값을 하나로 특정 가능한 스터핑 비트를 삽입한다.
본 발명에 따른 제1 부호화 방법은, 입력신호를 압축 부호화하여 얻어진 복수 종류의 압축부호를 다중화하여 다중화 부호열을 생성하는 스텝과, 상기 다중화 부호열을 입력으로 하여 출력 부호열을 조립하는 스텝을 구비하고, 상기 출력 부호열을 조립하는 스텝은 상기 출력 부호열중에 미리 주기적으로 정해진 복수의 동기신호 삽입 위치의 어느 곳인가에 동기 부호를 삽입하는 동시에, 상기 출력 부호열 중에 상기 출력 부호열의 역방향에서 복호한 복호값을 하나로 특정 가능한 스터핑 비트를 삽입하는 것을 특징으로 한다.
본 발명에 따른 제2 부호화 방법은, 입력신호를 압축 부호화하여 얻어진 복수 종류의 압축부호를 다중화 하여 다중화 부호열을 생성하는 스텝과, 상기 다중화 부호열을 입력으로 하여 출력 부호열을 조립하는 스텝을 구비하고, 상기 출력 부호열을 조립하는 스텝은 상기 출력 부호열중에 미리 주기적으로 복수의 동기부호 삽입위치를 정하는 동시에, 상기 다중화 부호열의 경계를 지정하여 나타내는 정보를 삽입하고, 상기 복수의 동기부호 삽입위치의 어느 곳인가에 동기신호를 삽입하는 동시에, 상기 출력 부호열중에 상기 출력 부호열의 역 방향에서 복호한 복호값을 하나로 특정 가능한 스터핑 비트를 삽입하는 것을 특징으로 한다.
또한, 상기 제2 부호화 방법에서 상기 다중화 부호열을 생성하는 스텝은, 입력화상 신호의 프레임 또는 상기 프레임의 부분 영역단위로 압축 부호화된 압축부호를 상기 프레임 또는 상기 프레임의 부분영역 단위로 다중화하고, 상기 출력 부호열을 조립하는 스텝은, 상기 다중화 부호열의 상기 프레임 또는 상기 프레임의 부분영역 단위로 다중화된 각 다중화 단위의 마지막 부분의 직전 또는 직후에 위치하는 동기부호 삽입위치에 동기부호를 삽입한다.
또한, 상기 제2 부호화 방법에서 상기 출력 부호열을 조립하는 스텝은, 상기 출력 부호열중의 상기 복수의 동기부호 삽입위치의 어느 곳인가의 직전에 상기 스터핑 비트를 삽입한다.
본 발명의 제3 부호화 방법은 압축 부호화된 출력 부호열중에 미리 주기적으 로 정해진 복수의 동기부호 삽입위치의 어느 곳인가에 동기부호를 삽입하는 동시에, 상기 출력 부호열중에 상기 출력 부호열의 역 방향에서 복호한 복호값을 하나로 특정 가능한 스터핑 비트를 삽입하는 스텝을 구비하는 것을 특징으로 한다.
이하, 도면을 참조하여 본 발명의 실시예를 설명한다.
(제 1 실시예)
도 1은 움직임 보상 적응예측과 직교 변환 부호화의 일종인 이산 코사인 변환 부호화를 사용한 고능률 압축 부호화 장치에 본 발명에 의한 에러정정/검출부호 전환기능을 갖는 부호화 장치를 조합한 동화상 부호화 장치의 제 1 실시예를 나타낸 블록도이다. 움직임 보상 적응예측과 이산 코사인 변환 부호화를 조합한 부호화 방식에 대해서는, 예를 들어 문헌 1 : 야스다 히로시 편저, "멀티미디어 부호화의 국제표준" 마루젠, (헤이세이 3년 6월) 등에 자세히 나와 있으므로, 동작의 개략만을 설명한다. 또, 본 실시예에서 사용되는 에러정정/검출부호는 BCH 부호와 같이 정보 비트와 검출 비트가 분리되어 있는 것으로 한다.
도 1에서 프레임 단위로 입력되는 부호화 대상의 입력 동화상 신호(131)는 우선 매크로 블록 등의 소 영역 단위로 움직임 보상 적응 예측이 행하여진다. 즉, 움직임 보상 적응 예측기(101)에서 입력 동화상 신호(131)와 프레임 메모리(102) 중에 축적되어 있는 이미 부호화/국부 복호화가 행하여진 화상 신호 사이의 움직임 벡터가 검출되고, 이 움직임 벡터에 의거해서 움직임 보상 예측에 의해 예측 신호(132)가 작성된다. 이 움직임 보상 예측기(101)에서는 움직임 보상 예측 부호화와 입력 동화상 신호(131)를 그대로 부호화하는 프레임 내 부호화(예측신호=0) 중 에서 부호화에 사용하기에 바람직한 쪽의 예측 모드가 선택되고, 대응하는 예측 신호(132)가 출력된다.
예측 신호(132)는 감산기(103)에 입력되어, 입력 동화상 신호(131)로부터 예측신호(132)가 감산됨으로써 예측 잔차신호(133)가 출력된다. 예측 잔차신호(133)는 이산 코사인 변환기(104)에서 일정한 크기의 블록 단위로 이산 코사인 변환(DCT)되어, DCT 계수가 생성된다. 이 DCT 계수는 양자화기(105)에서 양자화된다. 양자화기(105)로부터의 양자화된 DCT계수 데이터는 2 분기되어, 한 쪽은 제 1 가변길이 부호화기(106)에서 가변길이 부호화 되고, 다른 쪽은 역 양자화기(107)에서 역 양자화된 후, 역이산 코사인 변환기(108)에서 역이산 코사인 변환(역 DCT)된다. 역이산 코사인 변환기(108)로부터의 출력은 가산기(109)에서 예측 신호(132)와 가산되어 국부 복호 신호가 생성된다. 이 국부 복호 신호는 프레임 메모리(102)에 기억된다.
한편, 움직임 보상 적응 예측기(101)에서 결정된 예측모드 및 움직임 벡터의 정보는 제 2 가변길이 부호화기(110)에서 가변길이 부호화된다. 제 1, 제 2 가변길이 부호화기(106, 110)로부터 출력되는 가변길이 부호(압축부호)는 다중화기(111)에서 다중화 되어 다중화 부호열(201)이 된다.
다중화기(111)로부터는 다중화 부호열(201)과 이것에 대응하는 에러정정/검출부호의 종류를 나타내는 FEC 종류 식별신호(202) 및 동기부호의 삽입을 요구하는 동기부호 삽입 요구신호(203)가 출력된다.
이들 부호열(201), FEC 종류 식별신호(202) 및 동기부호 삽입 요구신호(203) 는 부호열(201)을 에러정정/검출능력이 다른 복수 종류의 에러정정/검출부호로 전환하여 부호화 하는 출력 부호화 장치(200)에 입력되어, 최종적인 출력 부호열(205)이 생성된다. 본 실시예에서는 출력 부호화 장치(200)가 본 발명에 관한 부호화 장치에 상당한다.
도 2는 다중화기(111)에서의 다중화의 흐름을 나타낸 도면이다. 다중화는 부호화 프레임을 단위로 하여 행하여진다. 우선 동기부호(301)가 다중화된다. 동기부호(301)가 다중화된 때에는 다중화기(111)로부터 동기부호 삽입 요구신호(203)가 출력되어, 다중화된 부호어가 동기부호인 것이 부호화 장치(200)에 알려진다. 다음에 다중화 부호열(201)에 그 부호화 프레임의 각종 부호화 모드를 나타내는 픽처 헤더(302)가 다중화된다. 다음에 각 영역에서의 움직임 보상 적응 예측기(MC)에서의 예측모드를 나타내는 예측모드 정보(303)가 다중화되고, 또한 움직임 벡터정보(304) 및 예측 잔차신호의 DCT계수(이하, 이것을 잔차 DCT계수라 한다)(305)가 다중화된다. 픽처 헤더(302), 예측 모드 정보(303), 움직임 벡터정보(304) 및 잔차 DCT 계수(305)를 다중화할 때는 각각에 대응하는 에러정정/검출부호의 종류를 나타내는 FEC 종류 식별신호(202)가 출력된다.
에러가 혼입되면 화질이 크게 열화하고 마는 픽처 헤더(302), 예측 모드 정보(303) 및 움직임 벡터정보(304)에는 정정/검출능력이 높은 에러정정/검출부호를 사용한다. 한편, 잔차 DCT계수(305)는 에러가 혼입하여도 그것을 검출하여 잔차를 0으로 함으로써 큰 화질 열화를 방지할 수 있기 때문에, 에러정정 능력은 그다지 높게 할 필요가 없으며, 단지 에러검출을 행할 수 있도록 하기만 하면 된다.
도 3은 도 1 중의 출력 부호화 장치(200)의 구성을 나타낸 블록도이다. 이 출력 부호화 장치(200)는 비트 삽입기(211), 에러정정/검출전환 부호화기(212) 및 부호열 조립기(213)로 구성된다. 또, 도 4는 출력 부호화 장치(200)에서 생성되는 출력 부호화열(205)의 일례를 나타낸 도면이다. 도 4에서 PSC는 동기 부호, PH는 픽처 헤더, MODE는 예측모드 정보, MV는 움직임 벡터정보, CHK는 에러정정/검출부호의 검사 비트, COEF는 잔차 DCT계수, STUFF는 스터핑 비트(삽입비트)이다. 이 출력 부호열(205)은 이하와 같은 특징을 가지고 있다.
(1) 동기부호(PSC)는 일정 간격(sync_period 비트 간격)으로 배치된 화살표로 나타낸 동기부호 삽입위치의 어느 곳인가에만 삽입된다. sync_period 의 길이는 동기부호(PSC)의 길이와 검사비트(CHK)의 최대 길이보다도 크게 취한다. 검사비트(CHK)는 동기부호 삽입위치의 직전에 오도록 위치를 어긋나게 하고 있다.
(2) 1 프레임, 즉 동기부호 PSC와 다음의 PSC로 끼워진 1 동기 기간의 최후의 부분의 에러정정/검출부호는 최후에 남은 정보 비트만을 부호화하는 축퇴 부호로 하고, 검사비트(CHK)(도 4의 예에서는 CHK6)의 위치를 어긋나게 하는 데 필요한 비트 수만큼 스터핑 비트(STUFF)의 비트 삽입을 행한다.
(3) 에러정정/검출부호의 종류나 수를 나타내는 FEC 종류 식별부호는 도 4의 출력 부호열(205)중에는 존재하지 않는다.
이 출력 부호열(205)에서는 상기 (1)과 같이 검사비트(CHK)의 위치를 어긋나게 하고 있기 때문에, 화살표로 나타낸 동기부호 삽입위치에는 검사비트(CHK)가 들어가는 일이 없고, 따라서 검사비트(CHK)에 의해 의사동기가 발생할 가능성은 전혀 없다. 또, 상기 (2)와 같이 프레임의 최후의 에러정정/검출 부호를 행하는 경우에, 종래의 기술에서는 많은 삽입 비트(더미 비트)의 삽입이 필요하였으나, 본 실시예에서는 프레임의 최후가 축퇴 부호로 되어 있기 때문에, 삽입 비트수는 적어도 된다. 또 상기 (3)과 같이 에러정정/검출 부호의 종류나 수를 나타내는 헤더정보를 출력 부호열(205)중에 포함시키지 않기 때문에, 이것에 의한 부호량의 증가가 없다.
이하, 이와 같은 출력 부호열(205)을 생성하는 도 3의 출력 부호화 장치(200)의 구성과 동작에 대해, 다중화기(111)로부터 출력되는 도 2의 다중화 부호열(201) 및 도 4의 출력 부호열(205)과 대응시켜서 상세히 설명한다.
다중화기(111)에서 동기부호(301)가 다중화되었을 때, 상술한 바와 같이 동기부호 삽입요구 신호(203)가 출력된다. 동기부호(301)는, 예를 들어 도 5와 같이 sync_0_len 비트의 "0", 1 비트의 "1" 및 동기부호(301)의 종류를 나타내는 sync_nb_len 비트의 "×××××"로 된다. 출력 부호화 장치(200)는 다중화기(111)로부터의 동기부호(301) 및 동기부호 삽입 요구신호(203)를 받으면, 부호열 조립기(213)로부터 출력 부호열(205)로서 동기부호(PSC)를 출력한다.
여기서 동기부호(301)는 도 4에 나타낸 바와 같이 출력 부호열(205) 중의 sync_period 비트 간격으로 배치된 동기부호 삽입위치 외에는 삽입할 수 없게 되어 있기 때문에, 거기까지 생성된 출력 부호열(205)의 최후 말미가 동기부호 삽입위치에 없는 경우에는, 후술하는 바와 같이 스터핑 비트(STUFF)를 삽입하여 동기 부호(301)가 동기부호 삽입위치에 오도록 한다.
동기 부호(301)가 출력 부호열(205)에 출력되면, 그 이후의 픽처 헤더(302), 예측 모드 정보(303), 움직임 벡터정보(304), 잔차 DCT 계수(305)가 이하와 같이 부호화된다. 우선 다중화기(111)로부터 출력된 다중화 부호열(201)에 대해서는 비트 삽입기(211)에서 의사동기의 발생을 방지하기 위한 비트 삽입이 행하여진다. 즉, 출력 부호열(205) 중에 동기 부호(301)의 부호어와 동일한 비트 패턴이 있으면 동기부호(301)를 복호한 복호값이 하나로 특정될 수 없게 되는 것을 방지하기 위하여 필요에 따라 비트 삽입을 행한다. 예를 들어, 동기부호(301)가 도 5와 같이 sync_0_len 비트의 "0"이 연속하는 부호어이면, 동기부호(301) 이외의 부호열 중에 sync_0_len 비트 이상 "0"이 연속하지 않도록 "1"을 삽입하면, 의사동기의 발생을 방지할 수 있다.
상술한 바와 같이 동기부호(301)는 동기부호 삽입위치 외에는 삽입되지 않기 때문에, 이 의사동기의 발생 방지를 위한 비트 삽입 조작은 동기부호 삽입위치에서만 행하면 된다. 그래서 이제까지 생성된 출력 부호열(205)의 총 비트수를 나타내는 계수치(221)를 부호열 조립기(213)로부터 출력하여, 비트 삽입기(211)에서 계수치(221)에 의거해서 비트 삽입이 필요하느냐의 여부를 판정한다. 계수치(221), 즉 이미 생성된 출력 부호열(205)의 총 비트수를 total_len 라 하면,
0 < total_len mod sync_period ≤ sync_0_len
이 되는 구간에서 다중화 부호열(201) 중의 "1"의 수를 계수하고, 이 구간에 "1"이 전혀 없으면 1 비트의 "1"을 삽입한다. 여기서 A mod B는 A를 B로 나누었을 때의 잉여를 표시한다.
또, 에러에 의한 동기부호(301)의 오검출의 확률을 낮게 하기 위해서는, 이하와 같이 비트 삽입을 행하면 된다.
동기부호(301)에 n 비트 에러가 혼입한 경우에도, 동기부호(301)를 검출하기 위해서는 후술하는 동화상 복호화 장치의 입력 복호화 장치에서 참의 동기부호와 해밍거리가 n 이하의 부호어는 동기부호인 것으로 판정할 필요가 있다. 그러나 동기부호(301) 이외의 부호열을 그대로 하고 이와 같은 판정을 행하면, 동기부호(301) 이외의 부호열 중에도 동기부호와 해밍거리가 n 이하의 비트 패턴이 존재하는 일이 있어서, 이것이 동기부호 삽입위치에 있으면 잘못하여 동기부호(301)로 판단되어 버린다.
그래서 비트 삽입기(211)에서 다중화 부호열(201)에 이하와 같이 비트 삽입을 행함으로써, 다중화 부호열(201)중의 동기부호 삽입위치에 있는 동기부호 이외의 부호열을 동기부호(301)와의 해밍거리가 2 * n + 1 이상 떨어진 값이 되도록 변환한다. 구체적으로는
0 < total_len mod sync_period ≤ sync_0_len - (2 * N + 1)
이 되는 구간에서 "1"의 수(= n0라 한다)를 계수하여, n0가 2*n+1 이하이면 2*n+1-n0 비트의 "1"을 다중화 부호열(201)에 삽입한다.
이렇게 하여 비트 삽입기(211)에서 비트 삽입이 행하여진 후의 부호화열(222)은 에러정정/검출부호의 종류를 나타내는 FEC 종류 식별신호(202)와 함께 에러정정/검출부호 전환 부호화부(212)에 입력된다.
도 6은 도 3 중의 에러정정/검출부호 전환 부호화부(212)의 구성을 나타낸 블록도이다. 래치회로(603)는 FEC 종류 식별신호(202)를 래치하는 회로이며, 다중화기(111)로부터 다중화 부호열(201)로의 동기부호의 출력이 종료하고 동기부호 삽입요구 신호(203)가 정지하면, FEC 종류 식별신호(202)를 래치하고, 래치한 신호(623)를 에러정정/검출 부호화기(604)에 공급한다.
에러정정/검출 부호화기(604)는 래치된 신호(623)에 따라서 비트 삽입기(211)로부터의 부호열(222)을 에러정정/검출 부호화하고, 정보비트(631) 및 검사비트(632)를 생성하여 출력한다. 또 에러정정/검출 부호화기(604)는 1 블록의 에러정정/검출 부호화가 종료하면, 래치회로(603)에 다음 FEC 종류 식별신호(202)의 래치를 지시하는 래치 지시신호(625)를 출력한다. 래치회로(603)는 이 래치 지시신호(625)에 따라서 래치를 행하고, 래치한 신호(623)를 에러정정/검출 부호화기(604)에 공급한다.
출력 부호화 장치(200)에서는 이상의 동작이 반복되고, 비트 삽입기(211)로부터의 비트 삽입 후의 부호열(222)은 에러정정/검출 전환 부호화기(212)에서 다중화기(111)로부터 제시된 FEC 종류 식별신호(202)에 따라서 에러정정/검출부호의 전환이 이루어지면서 에러정정/검출 부호화가 행하여진다. FEC 종류 식별신호(202)는 1 블록의 에러정정/검출부호의 부호화의 종료 시점에서만 래치회로(603)에 의해 래치되기 때문에, 이 전환점까지는 동일한 에러정정/검출부호가 적용된다. 예를 들어 픽처 헤더(302)는 FEC1, 예측모드 정보(303)는 FEC2라 하는 에러정정/검출부호를 사용할 경우에, 픽처 헤더(302)의 비트수가 FEC1의 1 블록의 정보비트수보다 짧을 경우에는, 후속하는 예측모드 정보(303)의 에러정정/검출부호로서는 FEC1의 정보 비트수에 달하기까지는 FEC1이 사용된다.
도 7은 도 3 중의 부호열 조립기(213)의 구성을 나타낸 블록도이다. 이 부호열 조립기(213)는 출력 부호열(205)의 비트수를 계수하는 카운터(701), 검사비트(632)와 그 비트수를 일시적으로 기억하는 버퍼(702), 출력 부호열(205)을 전환하는 전환기(703) 및 전환기(703)를 제어하는 전환 제어기(704)로 구성된다.
카운터(701)는 동기부호 삽입 요구신호(203)가 입력하면 동기부호 길이 sync_len의 값으로 리세트되어, 동기부호의 다음 비트로부터 차례로 다음 동기부호가 입력되기까지 카운트업(count up)하여 간다. 동기부호 입력 후, 최초의 검사비트(632)가 입력할 때까지는 정보비트(631)가 출력되도록 전환기(703)가 동작한다. 검사비트(632)가 입력되면 버퍼(702)에 기억됨과 동시에, 그 비트수(검사비트수)(711)가 버퍼(702)로부터 전환 제어기(704)에 출력된다.
전환 제어기(704)는 검사비트수(711)와 카운터(701)의 계수치(221)를 토대로, 상술한 바와 같이 검사비트(632)가 동기부호 삽입위치에 출력되지 않도록 하기 위해 검사비트를 어긋나게 하도록 전환기(703)를 제어한다. 예를 들어 계수치(221)를 bit_count, 검사비트(711)를 check_len이라 하면,
bit_count mod sync_period < sync_period - check_len
일 때는 정보비트(631)를 출력하고,
sync_period - check len ≤ total_bit mod sync_period < sync_period
일 때는 버퍼(702)에 기억된 검사비트(713)를 출력한다. 이후에는 정보비트(631)와 검사비트(632)를 입력하면서 이상의 처리를 반복한다.
출력 부호화 장치(200)는 상술한 바와 같이 1 프레임의 최후의 부분에서는 에러정정/검출부호로서 축퇴부호를 사용하고, 검사비트의 위치를 어긋나게 하기 위해 비트 삽입을 행하기 때문에, 그 이외 부분의 통상과는 다른 동작을 행한다. 즉 다중화기(111)는 1 프레임의 다중화 부호열(201)의 출력이 종료하면, 다음 프레임의 동기부호 삽입 요구신호(203)를 출력한다. 이것에 대응하여 도 6의 에러정정/검출전환 부호화부(212)내의 에러정정/검출부호(604)는 에러정정/검출부호의 정보비트(631)의 부족분은 삽입비트 발생기(705)로부터 출력되는 미리 정해진 비트 패턴이라고 간주하여, 축퇴부호를 사용한 에러정정/검출 부호화를 행한다. 이 비트 패턴은 앞 비트를 "1"로 하여도 좋고, "0"으로 하여도 좋다. "101"과 같은 특정한 패턴의 반복이어도 좋다. 정보비트(631)에는 이 보충된 삽입비트는 출력하지 않는다.
도 7의 부호화 조립기(213)에서는 정보비트(631)를 최후까지 출력한 후, 전환기(703)를 비트 발생기(705)로부터 입력으로 전환하고, 버퍼(702)에 기억되어 있는 검사비트(713)가 다음 동기부호의 직전에 배치되도록 삽입비트를 삽입한다. 이 삽입비트의 수 stuffing_len은 1 프레임의 최후의 정보비트(631)를 출력한 때의 카운터(701)의 계수치(221)를 total_len으로 하고, 최후에 출력하는 검사비트(632)의 비트수를 last_check_len 으로 하면,
stuffing_len=sync_period - last_check_len - (total_len mod sync_period)
가 된다. 또한 축퇴부호를 사용하지 않을 경우에는, 최후의 정보비트 last_into _len의 통상의 정보비트 into_len으로부터의 부족분 (into_len - last_into_len) 비트의 비트 삽입을 행하고, 더욱 검사비트의 위치를 어긋나게 하기 위한 비트 삽입을 행할 필요가 있다. 이 때문에 축퇴부호를 사용할 경우에 비해 into_len - last_into_len + (into_len - last_into_len) mod sync_period 비트 많은 삽입비트가 필요해져 버린다.
부호열 조립기(213)는 이렇게 전환기(703)를 통해서 정보비트(631) 및 삽입비트를 출력 부호열(205)에 출력한 후, 최후에 검사비트(713)로 전환하여 출력 부호열(205)에 출력한다.
다음에 본 발명에 관한 동화상 복호화 장치에 대해 설명한다.
도 8은 도 1의 동화상 부호화 장치에 대응하는 동화상 복호화 장치의 구성을 나타낸 블록도이다. 도 1의 동화상 복호화 장치로부터 출력된 출력 부호열(205)은 전송/축적계를 거친 후, 입력 부호열(205')로서 입력 복호화 장치(800)에 입력된다. 본 실시예에서는 입력 복호화 장치(800)가 본 발명에 관한 복호화 장치에 상당한다.
입력 복호화 장치(800)에서는, 후속하는 역 다중화기(811)로부터의 에러정정/검출부호의 종류를 나타내는 FEC 종류 식별신호(802)에 의거해서 에러정정/검출부호를 전환하면서 에러정정/검출 복호화된 부호열(801), 동기부호 검출신호(803) 및 에러 검출신호(804)가 출력된다. 역 다중화기(811)는 이들의 부호열(801), 동기부호 검출신호(803) 및 에러 검출신호(804)를 입력하고, 예측 잔차부호(841)와 움직임보상 적응예측 정보부호(842)를 분리하여 출력한다.
예측 잔차부호(841) 및 움직임 보상 적응예측 정보부호(842)는 각각 제 1 및 제 2 가변길이 복호기(806, 810)에 입력된다. 제 1 가변길이 복호기(806)에서 복호된 잔차 DCT계수(831)는 역 양자화기(807)에서 역 양자화, 역 DCT기(808)에서 역이산 코사인 변환과 같은 일련의 처리가 이루어진 후, 가산기(809)에서 움직임 보상 적응 예측기(801)로부터의 출력이 되는 움직임 보상 적응 예측신호(832)와 가산되어 재생 화상신호(850)가 된다. 재생 화상신호(850)는 장치 밖으로 출력됨과 동시에, 프레임 메모리(820)에 기록된다. 제 2 가변길이 복호화기(810)에서 복호된 움직임 보상 적응예측 정보는 움직임 보상 적응 예측기(801)에 입력되어, 움직임 보상 예측신호(832)가 생성된다.
이상의 처리는 도 1의 동화상 부호화 장치에 대응해서 동화상을 재생하는 처리이며, 역 양자화기(807), 역 DCT기(808), 가산기(809) 및 프레임 메모리(820)가 행하는 처리는 각각 도 1에서의 역 양자화기(107), 역 DCT기(108), 가산기(109) 및 프레임 메모리(102)의 그것과 실현수단은 다를 경우도 있으나, 기본적으로는 동일하다. 또, 제 1 및 제 2 가변길이 복호기(806, 810), 역 다중화기(811) 및 입력 복호화 장치(800)의 처리는 부호열에 에러가 혼입한 경우를 제외하고, 각각 도 1에서의 가변길이 부호화기(106, 110), 다중화기(111) 및 출력 부호화 장치(200)의 그것과 반대가 되는 처리이다.
도 9는 입력 복호화 장치(800)의 구성을 나타낸 블록도이다. 이 입력 복호화 장치(800)는 입력 부호열(205')중의 동기부호를 검출하는 동기 검출기(901), 입력 부호열(205')의 비트수를 계수하는 카운터(902), 입력 부호열(205')을 정보비 트(912)와 검사비트(913)로 분해하여 출력하는 부호열 분해기(903), 에러정정/검출 부호화기(904) 및 삽입비트 제거기(905)로 구성된다.
동기 검출기(901)에서는 카운터(902)의 계수치(911)에 의거해서 동기부호 삽입위치에서만 동기부호의 검출을 행한다. 예를 들어 동기부호 삽입위치의 간격을 sync_period, 계수치(911)를 bit_count로 하고, 동기부호의 길이를 sync_len으로 하면,
0 < bit_count % sync_period ≤ sync_len
일 때만 동기검출을 행한다.
여기서, 동기부호의 에러를 고려한 동기부호의 검출을 행하여도 좋다.
도 3 중의 출력 부호화 장치(200)내의 비트 삽입기(211)에서 n 비트 이하의 에러를 고려하여 동기부호와의 해밍거리가 2 * n + 1 떨어지도록 비트 삽입에 의한 부호열 변환을 행하고 있으면, 참의 동기부호와의 해밍거리가 n 이하의 것을 동기부호로 판정하여도, n 비트 이하의 에러의 혼입이면 오동기 검출은 생기지 않는다.
도 10은 부호열 분해기(903)의 구성을 나타낸 블록도이다. 입력 부호열(205')은 후술하는 제어기(1001)에서 제어되는 제 1 전환기(1002)에서 정보비트(1021)와 검사비트(913)로 전환된다. 제 1 전환기(1002)로부터 정보비트(10210)가 출력된 경우에는, 이 정보비트(1021)는 제 2 전환기(1003)를 거쳐서 버퍼(1004)에 정보비트 길이만큼 기억된다. 카운터(1005)는 제 2 전환기(1003)로부터의 출력 비트 수를 계수한다. 이 카운터(1005)의 계수치(1023)는 비교기(1006)에서 에러정정/검출부호 정보출력기(1007)로부터 출력된 정보비트 길이(1024)와 비교되어, 양 자가 일치했을 때에 카운터(1005)가 리세트됨과 동시에, 에러정정/검출부호의 종류를 나타내는 FEC 종류 식별신호(802)가 래치회로(1008)에서 래치되고, 또한 버퍼(1004)로부터 정보비트(912)가 출력된다. 래치회로(1008)의 출력(914)은 에러정정/검출부호 정보출력기(1007)에 입력됨과 동시에, 도 9 중에 나타낸 에러정정/검출복호화기(904)에 출력된다.
상술한 바와 같이 에러정정/검출부호의 검사비트는 위치의 어긋남이 이루어져서 부호열(205) 중 후방의 에러정정/검출부호의 정보비트 사이에 들어 있다. 제어기(1001)는 이 위치 어긋남이 이루어진 검사비트와 정보비트가 분리되도록 제어를 행한다. 1 블록의 에러정정/검출부호의 정보비트의 입력이 종료하면, 비교기(1006)에서 계수치(1023)와 정보비트 길이(1024)가 일치한다. 제어기(1001)는 이 일치 신호를 받아서 에러정정/검출부호 정보 출력기(1007)로부터 검사비트 길이(1025)를 도입하여, 다음 정보비트 사이에 들어 있는 검사비트의 위치를 계산한다. 비교기(1006)에서 일치라고 판정된 때의 부호열(205')의 입력 비트수의 계수치(911)를 bit_count, 검사비트 길이를 check_len이라 하면, 검사비트 개시위치 check_start는
check_start = (bit_count / sync_period + 1) *sync_period - check_len
이 되고, 검사비트 종료위치 check_end는
check_end = (bit_count / sync_period + 1) *sync_period
가 된다. 제어기(1001)는 계수치(911)가 check_start로부터 check_end까지 동 안, 전환기(1002)를 검사비트(913)가 출력되도록 제어된다.
1 프레임의 최후는 축퇴부호로 에러정정/검출 부호화가 행하여지고 있으므로, 특별한 처리가 행하여진다. 1 프레임의 최후에 달하면 동기 검출기(901)로부터 다음 프레임의 동기부호를 검출한 것을 나타내는 신호(803)가 출력된다. 제어기(1001)는 이 신호(803)를 받아서 프레임의 최후의 에러정정/검출부호의 검사비트의 위치 및 정보비트의 부족 비트수를 계산한다. 1 프레임의 최후의 에러정정/검출부호를 입력하기 시작할 때의 입력되는 부호열(205')의 비트수의 계수치(911)를 pre_last_count, 1 프레임의 부호열(205')의 입력이 종료한 시점에서의 계수치(911)를 total_count, 처리시점에서의 계수치(911)를 bit_count, 1 프레임 최후의 에러정정/검출부호의 검사비트 길이를 last_check_len, 그것보다 하나 앞의 에러정정/검출부호의 검사비트 길이를 pre_last_check_len으로 한다. 우선 에러 정정부호가 축퇴부호라는 것 및 비트 삽입이 행하여지고 있는 것에 따른 정보비트의 과부족분을 계산한다. 1 프레임 최후의 에러정정/검출부호의 정보비트 중, 출력 부호열(205) 중에 포함되어 있는 비트수 last_info_len은
last_info_len = total_count - last_check_len - pre_last_count - pre_last_check_len
이다. last_info_len이 에러 정정부호의 정보길이 info_len보다 짧을 때에는 축퇴부호라고 판정하고, 계수치(1023)가 last_info_len으로부터 info_len까지는 전환기(1021)를 삽입비트 발생기(1015)로부터 출력되는 비트 패턴으로 전환하여, 축퇴부호에 의한 정보비트의 부족분을 보충한다. 이 삽입비트 발생기(1015)로부터 의 출력 비트 패턴은 부호화기의 도 7 중의 삽입비트 발생기(705)와 동일한 비트 패턴을 발생한다.
한편, last_info_len이 info_len보다 길 때에는 비트 삽입분이라 판정하고 계수치(1023)가 info_len 이상이 되는 부분에 대해서는 정보비트(912)를 출력하지 않도록 한다. 검사비트에 대해서는
total_count - check_len < bit_count ≤ total_count
일 때의 출력 부호열(205)을 검사비트로 하여 출력하도록 전환기(1002)를 제어한다.
에러정정/검출부호기(904)는 부호열 분해기(903)로부터 출력된 정보비트(912) 및 검사비트(913)를 입력하고, 도 10의 래치회로(1008)에서 래치된 에러정정/검출부호의 종류를 나타내는 FEC 종류 식별신호(914)에 의거해서 에러정정/검출부호의 복호화를 행하여, 에러정정된 부호열(915)과 에러 검출신호(804)를 출력한다.
에러정정된 부호열(915)은 삽입비트 제거기(905)에 입력된다. 삽입비트 제거기(905)는 출력 부호화 장치(200)의 비트 삽입기(211)로 삽입된 의사 동기 신호를 방지하기 위한 삽입비트를 제거하는 처리를 행한다. 상술한 바와 같이 비트 삽입은 동기부호 삽입위치에서만 행하여지기 때문에, 계수기(902)의 계수치(911)에 의거해서 동기부호 삽입위치를 판정한다.
예를 들어 동기 부호어가 도 5에 나타낸 것이라 하고, 비트 삽입기(211)에서 동기부호와의 해밍거리가 2 * n + 1 이상 떨어지도록 동기부호의 최초의 sync_len 비트의 "0000…"의 부분에 비트 삽입이 행하여지고 있는 경우에는, 동기부호 삽입위치로부터 sync_0_len - (2 * n + 1) 비트의 "1"의 수(= n0라 한다)를 계수하여, n0이 2 * n + 1 이하이면 2 * n + 1 - n0 비트를 삭제한다. 단 삽입비트는 "1"이라고 정해져 있기 때문에, 삽입비트 제거기(905)에서 삽입비트이라고 판정된 비트가 "0"이 되어 있는 때에는, 동기부호 삽입구간에 에러가 혼입된 것으로 생각하여, 이 경우에는 에러 검출신호(804)를 출력한다.
이상과 같이 하여 입력 복호화 장치(800)로 복호된 부호열(801)은 역 다중화기(811)에서 역 다중화가 행하여진다. 이는 도 2에 나타낸 바와 같은 다중화된 부호어를 분리하여 출력하는 조작이다. 이 역 다중화기(811)는 제 1 및 제 2 가변길이 복호기(806, 810)와 연동해서 동작한다.
우선, 출력 복호화 장치(800)로부터 동기부호 검출신호(803)가 입력되면, 역다중화기(811)는 프레임 처리의 초기상태로 이행한다. 다음에 에러정정/검출부호의 종류를 나타내는 FEC 종류 식별신호(802)로서 픽처 헤더에 대한 에러정정/검출부호의 종류를 출력하고, 부호열(801)을 입력하여 픽처 헤더(302)를 복호하고 픽처 헤더에 에러가 없는가를 판정한다. 에러가 없는 경우에는, FEC 종류 식별신호(802)로서 예측모드 정보(303)에 대한 에러정정/검출부호의 종류를 출력하고, 부호열(801)을 입력하여 예측모드 정보를 역 다중화하고, 제 2 가변길이 복호화기(810)에 출력한다.
제 2 가변길이 복호화기(810)는 모든 예측모드 정보를 복호하면, 그 뜻을 나타내는 신호를 역 다중화기(811)에 출력한다. 이것을 받아서 역 다중화기(811)는 움직임 벡터정보(304)에 대한 에러정정/검출부호의 종류를 나타내는 FEC 종류 식별신호를 출력하여, 움직임 벡터정보(304)의 역 다중화를 개시한다. 역 다중화된 움직임 벡터정보는 제 2 가변길이 복호기(810)에 출력되어, 복호화된다. 모든 움직임 벡터정보의 복호가 종료되면, 제 2 가변길이 복호기(810)로부터 역 다중화기(811)에 그 뜻을 나타내는 신호가 출력되고, 이것을 받아서 역 다중화기(811)는 잔차 DCT계수(305)에 대한 에러정정/검출부호의 종류를 나타내는 FEC 종류 식별신호를 출력함과 동시에, 잔차 DCT계수(305)를 역 다중화하여 제 1 가변길이 복호기(806)에 출력한다. 이 잔차 DCT계수(305)를 제 1 가변길이 복호기(806)로 복호한다.
이상과 같이, 에러정정/검출부호의 종류는 역 다중화기(811)에서 출력 부호화 장치(200)와 동일하게 정해진 다중화의 규칙에 의거해서 판정된다. 이 때문에 에러정정/검출부호의 종류를 나타내는 헤더정보 등을 출력 부호열(205)에 포함시킬 필요는 없다.
에러 정정/검출 복호화기(904)에서 에러 검출부호에 의해 입력 부호열(205')에 에러가 혼입되어 있는 것이 검출되는 일이 있다. 또 상술한 바와 같이 삽입비트 제거기(905)에서 삽입비트의 에러가 검출되는 일도 있다. 이와 같은 경우에는, 입력 복호화 장치(800)로부터 에러 검출부호(804)가 출력된다. 또한 가변길이 복호화의 처리에 있어서 가변길이 부호어 테이블에 없는 부호어가 검출된 경우에도, 에러가 혼입한 것으로 판정된다. 또, 역 다중화기(811)에서의 역 다중화처리에서 다중화의 규칙에 위반하는 부분이 있다고 판정될 때에도, 에러가 혼입된 것으로 판 정된다. 이와 같은 경우에, 입력 복호화 장치(800) 및 역 다중화기(811)는 재생 화상에 커다란 열화가 생기지 않도록 이하와 같은 처리를 행한다.
(1) 잔차 DCT계수로 에러가 검출된 경우에는 그 부분의 잔차를 0으로 한다. 예측모드로서 인트라 부호화 모드가 선택되어 있는 경우에는 이미 재생 프레임이나 주위의 영역의 재생 화상신호로부터 그 영역의 재생 화상신호를 예측하여도 좋다.
(2) 예측모드 정보나 움직임 벡터로 에러가 검출된 경우에는, 주위 영역의 예측모드 정보나 움직임 벡터정보로부터 그 영역의 예측모드 정보나 움직임 벡터정보가 추정될 수 있을 때는 그것들을 사용하고, 그것이 불가능하다면 이미 재생 프레임이나 주위의 영역의 재생 화상신호로부터 그 영역의 재생 화상신호를 예측한다.
(3) 픽처 헤더에 에러가 검출된 경우에는, 그것을 그대로 복호하면 대단히 큰 화질 열화를 발생할 가능성이 있기 때문에, 앞 프레임의 재생 화상을 그대로 현 프레임의 재생 화상으로 한다.
이상의 (1), (2), (3) 처리에 있어서, 가변길이 부호화를 사용하고 있기 때문에 에러가 다음 동기부호까지의 후속하는 부호에도 파급하고 있는 경우에는, 그 부분에 대해서도 마찬가지 처리를 행한다.
이상의 설명에서는, 동기부호 검출기(901)가 동기부호 삽입 위치(sync_period 비트 간격)에서만 동기부호의 검출을 행하는 예를 제시하였으나, 전송/축적매체에 따라서는 비트의 소실이나 에러 비트의 삽입이 생기는 경우도 있다. 이와 같은 경우에는, 동기부호 삽입위치 이외에서도 동기부호의 검출을 행하여, 동기부 호가 검출된 위치를 동기부호 삽입위치라고 판정하면 된다.
(제 2 실시예)
다음에 도 12∼도 14를 참조하여 본 발명에 관한 제 2 실시예에 대해 설명한다. 본 실시예에 의한 동화상 부호화 장치 및 동화상 복호화 장치는 비트열의 일부가 소실되어 비트수가 감소하거나, 여분의 비트가 부가되어 비트수가 증가하는 등의 전송로/축적매체로 부호열의 전송/축적을 행하여도 동기검출을 확실하게 행할 수 있게 한 것이다.
도 12는 이와 같은 비트 부가/소실이 있는 경우의 동기검출의 처리의 원리를 나타낸 블록도이다. 여기서 올바른 동기부호는 도 12a에 나타낸 바와 같이, sync_0_len 비트의 "0"과 1 비트의 "1"로 된 것으로 한다. 그리고 도 12 중의 "×"는 동기부호 이외의 비트이다.
도 12b∼도 12e는 비트 부가/소실에 의해 동기부호가 어떻게 변화하는가를 나타낸 것이다. 여기서 부가/소실하는 비트수(Nid)는 최대 1 비트로 하고 있다. 도 12b는 동기부호보다 앞의 비트열 중에서 1 비트 삭제가 일어난 경우이며, 동기부호 전체가 1 비트 앞으로 시프트하고 있다. 도 12c는 동기부호보다 앞의 비트열 중에서 1 비트 부가가 일어난 경우이며, 동기부호 전체가 1 비트 뒤로 시프트하고 있다. 도 12d는 동기부호 중에서 비트 삭제가 일어난 경우이며, 도면 중 화살표의 비트가 빠진 위치로부터 뒤가 1 비트 앞으로 시프트하고 있다. 또한, 도 12e는 동기부호 중에서 1 비트 부가가 일어난 경우이며, 도면 중 화살표의 비트 부가위치에 1 비트 부가가 일어나고, 그것보다 뒤가 1 비트 뒤로 시프트하고 있다.
비트 부가/소실이 일어나도 정확하게 동기를 검출하기 위해서는, 도 12b∼도 12d에 나타낸 비트열도 동기부호라고 판정할 필요가 있다. 도 12로부터 알 수 있는 바와 같이 올바른 동기부호 삽입위치의 ± Nid 비트의 범위에 포함되는 "1"의 수는 최대
sync_0_len - 3* Nid
비트이다. 따라서 복호측에서 동기부호 삽입위치의 ± Nid 비트의 범위로 동기검출을 행하여, 이 구간에 포함된 "1"의 수가 상기의 값 이하이면 동기부호라고 판정하면 된다. 또 부호화 장치에서는 도 12b∼도 12d의 비트 패턴이 생기지 않도록 부호열의 변환을 행한다.
이하, 이와 같은 부호화/복호화 장치를 제 1 실시예와의 차이를 중심으로 설명한다.
제 2 실시예에 관한 동화상 부호화 장치는 제 1 실시예에 관한 동화상 부호화 장치와 전체 구성은 같지만, 도 3 중의 비트 삽입기(211)의 동작이 다르게 되어 있다. 도 13에 비트 삽입기(211)의 동작을 나타낸다. 즉, 제 1 실시예의 비트 삽입기(211)에서는 동기부호 삽입구간에서만 비트 삽입 조작을 행하고 있었으나, 제 2 실시예에서의 비트 삽입기(211)에서는, 최대 Nid 비트의 비트 부가/소실이 일어나도 동기부호와 동일한 비트 패턴이 생기지 않도록 하기 위해, 동기부호 삽입구간 ±Nid 비트의 구간에서 삽입을 행한다.
도 3에서의 계수치(221)를 total_len, 동기부호 삽입위치의 간격을 sync_period이라 하면, 비트 삽입기(221)는
total_len mod sync_period = sync_period - Nid(mod: 잉여연산)으로부터
total_len mod sync_period = sync_0_len - 1 - 3* Nid
의 구간에서의 "1"의 수(=n0라 한다)를 계수하여, n0가 3* Nid + 1 미만이면 3* Nid + 1 - n0의 비트의 "1"을 삽입한다.
도 13에서는 sync_period = 12, sync_0_len = 9, Nid = 1인 경우의 비트 삽입기(211)의 동작례를 나타내고 있다. 이 예에서는 n0 = 2이므로, 3* Nid + 1 - n0 = 2 비트의 "1"을 삽입한다.
이와 같이 비트 삽입을 행함으로써, 동기부호 삽입구간 ± Nid 비트의 "0"의 수는 3* Nid 비트 이상인 것이 보증되어, 동기부호라고 한결같이 식별할 수 있다.
한편, 제 2 실시예에 관한 동화상 복호화 장치는 제 1 실시예와 전체 구성은 동일하지만, 도 9 중의 동기 검출기(901) 및 삽입비트 제거기(905)의 동작이 다르게 되어 있다. 도 14에 삽입비트 제거기(905)의 동작을 나타낸다.
즉, 동기 검출기(901)에 최대 Nid 비트의 비트 부가/소실이 일어나도 동기를 검출하기 위해서, 동기부호 삽입위치의 전후 ± Nid 비트의 범위에서 동기부호의 검출을 행한다.
우선, 동기부호 삽입위치마다 동기부호가 존재하는가를 판정한다. 즉, 카운터(902)의 계수치(911)를 bit_count하면,
bit_count mod sync_period = sync_period - Nid
로부터
bit_count mod sync_period = sync_0_len - 1 + Nid
까지 사이의 '0'의 수(=ns0라 한다)를 카운트하여, n0가 3* Nid 이하이면 이 구간에 동기부호가 있는 것으로 판정한다.
도 14의 동작에서는, sync_period = 12, sync_0_len = 9, Nid = 1의 경우의 예를 나타내고 있다. 이 예에서는 (bit_count mod sync_period )가 "1"로부터 "8"까지의 사이에서 "0"의 수를 카운트한다. 도 14의 예에서는 ns0 = 2이므로 동기부호라고 판정한다.
다음에 동기부호가 있다고 판정된 동기부호 삽입구간에서 비트 부가/소실에 의해 부호열이 몇 비트 시프트하고 있는가를 판정한다. 도 14와 같은 sync_0_len 비트의 경우에는 최후의 "1"의 위치로부터 시프트량을 판정한다. 구체적으로는 동기부호 판정구간의 최초로부터 sync_0_len + 1 비트 째로부터 보아서 최초에 있는 "1"을 탐색하고, 이 동기부호 판정구간의 최초로부터 몇 비트 째에 있는가(= first_1_pos 비트라 한다)를 토대로
시프트 비트수 = first_1_pos - (sync_0_len + 1 + Nid)
(부의 경우는 전방 시프트, 정의 경우는 후방 시프트)
로서 구한다. 도 14의 예에서는 first_1_pos = 10이므로,
시프트 비트수 = 10 - (9 + 1 + 1) = - 1
이 되어 전방에 1 비트 시프트하고 있는 것을 알 수 있다.
삽입비트 제거기(905)에서는 제 1 실시예와 달리, 동기부호 삽입위치 ± Nid 비트의 구간에서 삽입비트 제거처리를 행한다. 즉
bit_count mod sync_period = sync_period - Nid 로부터
bit_count mod sync_period = sync_0_len - 1 - 3* Nid
까지의 구간에서의 "1"의 수(=n0라 한다)를 계수하여, n0가 3* Nid+1 이하이면, 3* Nid + 1 - n0 비트의 "1"을 제거한다.
제 2 실시예에서, 전송로나 축적매체에서의 비트 부가/소실이 일어난 구간을 무언가의 형태로 판정할 수 있는 경우에는, 비트 부가/소실을 고려한 동기 검출처리나 비트 삽입처리, 비트 제거처리는 그 구간에서만 행하도록 하여도 좋다.
또한, 상술한 제 1 실시예에 관한 동화상 복호화 장치에서도 전송로나 축적매체에서의 비트 부가/소실에 대응한 동기검출을 행하기 위하여, 동기 검출기(901)에서는 제 2 실시예와 마찬가지로 동기부호 삽입구간 ± Nid 비트의 구간에서 동기검출을 행하도록 하여도 좋다. 이 경우에 동기부호 이외의 부분을 잘못해서 동기부호라고 판정하는 의사동기가 생길 가능성도 있으나, 비트 부가/소실이 일어나기 쉬운 전송로/축적매체에서는 동기 검출 미스에 의한 복호 화상의 품질 열화를 억제할 수 있어서, 화질이 향상된다.
또, 전송로나 축적매체에서의 비트 부가/소실이 일어난 구간을 무언가의 형태로 판정할 수 있는 경우에는, 이 처리는 그 구간에서만 행하고, 그 이외의 구간에서는 통상의 동기검출을 행하도록 하여도 좋다.
또한, 상술한 제 1 및 제 2 실시예에 있어서, 프레임의 길이를 나타내는 정보(이하, 프레임 길이 정보라 한다)를 사용하여 동기를 더욱 보호하도록 하여도 좋다. 도 15, 도 16 및 도 17은 프레임 길이 정보(POINTER)를 사용한 경우의 부호열의 예를 나타낸 것이다.
도 15의 예에서는, 동기부호(PSC)의 직후에 프레임 길이 정보(POINTER)와, 이 프레임 길이 정보(POINTER)를 보호하는 에러정정/검출부호의 체크비트(CHKP)가 계속하고 있다. 프레임 길이 정보(POINTER)에는 앞 프레임의 비트수, 즉 앞 프레임의 동기부호로부터 현 프레임의 동기부호까지의 비트수를 나타내는 정보가 기록되어 있다.
부호화 장치에서는 1 프레임의 부호열 비트수를 카운트하고, 이것을 프레임길이 정보(POINTER)로 변환하고, 또한 에러정정/검출 부호화를 행하여 체크비트(CHKP)를 생성한다. 그리고 이것들을 도 15에 나타낸 바와 같이 다음 프레임의 동기부호의 직후에 계속해서 부호열을 생성한다.
한편, 복호화 장치에서는 제 1 및 제 2 실시예에서 설명한 것과 마찬가지 방법으로 동기부호의 검출을 행한 후, 그것에 계속되는 프레임 길이 정보(POINTER)와 체크비트(CHKP)를 부호열로부터 꺼내어, 에러정정/검출복호를 행하여 프레임 길이 정보(POINTER)를 복호한다. 그리고, 복호된 프레임 길이 정보(POINTER)와 하나 앞에 검출된 동기부호로부터 현재의 동기부호의 위치까지의 비트수를 카운트하여 구한 값(프레임 길이 카운트값)을 비교하여 동기부호의 오 검출이 없는가를 체크한다.
만일, 프레임 길이 카운트 값이 프레임 길이 정보(POINTER)로 제시된 앞 프레임의 부호길이와 다를 경우에는, 동기부호의 오 검출이 일어났을 가능성이 있기 때문에, 프레임 길이 정보(POINTER)를 사용하여 오 검출된 동기부호의 재검출을 행한다. 즉, 현재의 동기부호로부터 프레임 길이 정보(POINTER)로 제시된 비트수만 큼 전방에 검출할 수 없었던 동기부호가 있다고 간주하기로 한다. 이 경우에 하나 앞에 검출된 동기부호로부터 현재의 동기부호까지의 구간은 하나 앞의 동기부호로부터 프레임 길이 정보(POINTER)로 제시된 위치까지의 구간과, 그곳으로부터 현재의 동기부호까지의 구간의 2개의 프레임으로 분할해서 복호처리를 행한다.
단, 프레임 길이 정보(POINTER)로 제시된 비트수로서, 하나 앞에 검출된 동기부호로부터 현재의 동기부호의 위치까지의 비트수보다도 많을 경우에는, 프레임길이 정보(POINTER)가 잘못된 것으로 간주하여, 상기의 동기 재검출 처리는 행하지 않는다.
프레임 길이 정보(POINTER) 및 체크비트(CHKP)의 비트수가 많을 경우에는, 도 16에 나타낸 바와 같이 동기부호(PSC), 프레임 길이 정보(POINTER), 체크비트(CHKP)가 복수의 동기구간에 걸치도록 하여도 좋다. 이 경우에 동기부호 이외의 부호열이 동기부호와 일정한 해밍거리를 유지하도록 하기 위한 부호화 장치에서의 비트 삽입처리 및 복호화 장치에서의 비트 삭제처리는 프레임 길이 정보(POINTER) 및 체크비트(CHKP)가 존재하는 구간에서는 행하지 않도록 하여도 좋다.
도 15 및 도 16의 예에 있어서, 동기부호(PSC)의 후반에 그 동기부호의 종류를 나타내는 정보(프레임 동기부호, GOB 동기부호의 구별 등)가 포함되어 있는 경우, 프레임 길이 정보(POINTER) 뿐만 아니라, 동기부호(PSC)의 후반 비트를 에러 정정 부호로 보호하도록 하여도 좋다. 이에 따라 동기부호의 위치뿐만 아니라 그 종류도 정확하게 검출할 수 있기 때문에, 에러에 대한 내성이 더욱 향상된다.
도 17의 예는 프레임 길이 정보(POINTER) 및 체크 비트(CHKP)를 프레임의 최 후(다음 프레임의 동기부호의 직전)에 놓은 예이다. 이 경우에, 복호화 장치에서는 다음 프레임의 동기부호를 검출한 후에 그 직전의 프레임 길이 정보(POINTER) 및 체크 비트(CHKP)를 꺼내어 에러정정/검출복호를 행하고, 도 15 및 도 16과 마찬가지 처리에 의해 동기부호의 재검출을 행한다.
도 15의 예에서는, 동기부호는 동기부호 삽입위치에만 존재하므로, 프레임 길이 정보(POINTER)는 프레임의 비트수를 동기부호 삽입간격(=sync_period 비트)으로 나눈 값을 기록하여도 좋다. 이에 따라 프레임 길이를 적은 비트수로 표시할 수 있다.
또, 제 1 및 제 2 실시예에서는, 에러정정/검출부호를 부호화하는 정보의 중요도에 따라 변화시키는 계층 부호화를 행하는 예를 제시하였으나, 프레임 내에서 동일한 에러정정/검출부호를 사용하도록 하여도 좋고, 에러정정/검출부호를 사용하지 않아도 좋다. 그와 같은 경우에도 본 실시예에 나타낸 바와 같은 동기부호 이외의 부호열이 동기부호와 미리 정해진 값 이상의 해밍거리를 유지하기 위한 비트 삽입처리, 및 이것에 대응한 동기부호 검출처리에 의해 동기를 검출하는 능력은 종래 방식보다 향상된다.
또, 이상의 각 실시예의 설명에서는 동화상 신호를 고능률 압축 부호화하여 전송/축적하는 예를 제시하였으나, 본 발명은 정지화상이나 음성, 데이터 등의 전송/축적에도 응용할 수 있다. 예를 들어 정지화상 신호를 직교 변환을 이용해서 고능률 압축 부호화할 경우에는, 변환계수의 저역성분을 보다 강하게 에러 보호하도록 에러정정/검출부호를 전환하여 사용하면 된다. 음성을 구동원과 음성 필터로 모델화하여 부호화하는 방법에서는, 피치 주기나 음성 파라미터 등을 강하게 에러 보호하도록 에러정정/검출부호를 전환하면 된다.
(제 3 실시예)
다음에 본 발명에 관한 제 3 실시예에 대해 설명한다. 본 실시예는 에러정정/검출부호를 사용하지 않는 것이 제 1 및 제 2 실시예와 다르다.
도 18은 본 실시예에 관한 동화상 부호화 장치의 블록도이다. 도 1과 서로 대응하는 부분에 동일 부호를 붙여서 제 1 실시예와의 상위점을 중심으로 설명하면, 본 실시예에서는 출력 부호화 장치(200)의 구성 및 동작이 다르다. 또 다중화기(111)는 기본동작은 도 1의 다중화기(111)와 동일하지만, 에러정정/검출부호를 사용하지 않음으로써 다중화 부호열(201) 및 동기부호 삽입 요구신호(203)만을 출력한다.
도 19는 도 18 중 출력 부호화 장치(200)의 구성을 나타낸 블록도이다. 이 출력 부호화 장치(200)는 출력 부호열(205)의 비트수를 계수하는 카운터(1701), 출력 부호열(205)을 전환하는 전환기(1703), 전환기(1703)를 제어하는 전환 제어기(1704) 및 스터핑 비트를 발생하는 스터핑 비트 발생기(1705)로 구성된다.
도 20은 도 19의 출력 부호화 장치(200)에서 생성되는 출력 부호열(205)의 일례를 나타낸 도면이다. 도 4의 출력 부호열과 서로 대응하는 부호어에는 동일 기호를 사용하여 표기하고 있다. 도 4와 마찬가지로 동기부호(PSC)는 주기적으로, 즉 일정 구간(sync_period 비트) 간격으로 배치된 화살표로 나타낸 동기부호 삽입위치의 어느 곳인가에만 삽입되어 있다. 도 20에서는 에러정정/검출부호의 검사비 트(CHK)가 포함되지 않은 것이 도 4와 다르다. 출력 부호열(205)의 1 프레임의 최후의 부분에는 동기부호(PSC)가 동기부호 삽입위치에 삽입되도록 스터핑 비트(STUFF)가 삽입된다. 스터핑 비트(STUFF)의 비트수는 sync_period 비트 이하가 된다.
이하, 이와 같은 출력 부호열(205)을 생성하는 도 19의 출력 부호화 장치(200)의 구성과 동작에 대해 상세히 설명한다.
카운터(1701)는 다중화기(111)로부터 동기부호 삽입 요구신호(203)가 입력되어, 다중화 부호열(201)로서 동기부호(301)의 최초의 비트가 입력되면 "1"로 세트되고, 동기부호(301)의 전 비트가 입력되면 동기부호 길이 sync_len으로 세트된다. 그 후, 카운터(1701)는 동기부호(301)의 다음 비트로부터 차례로 다음 동기부호 직전의 비트가 출력되기까지 카운트업하여 간다.
전환 제어기(1704)는 다중화 부호열(201)로서 동기부호의 최초의 비트로부터 다음 동기부호의 앞의 비트까지가 입력되어 있을 때는, 전환기(1703)를 다중화 부호열(201)측으로 전환하여, 다중화 부호열(201)이 출력 부호열(205)로서 출력되도록 제어된다.
그리고, 1 프레임의 최후의 부분에서는, 다음 동기부호가 동기부호 삽입위치에 삽입되도록 하기 위한 비트 삽입(비트 스터핑)을 행한다. 다중화기(111)는 1 프레임의 다중화 부호열(201)의 출력이 종료하면, 다음 프레임의 동기부호 삽입 요구신호(203)를 출력한다. 이것을 받아서 전환 제어기(1704)는 전환기(1703)를 스터핑 비트 발생기(1705)측으로 전환하여, 스터핑 비트(1223)를 출력 부호열(205)로 서 출력한다. 이 스터핑 비트(1223)는 전 비트를 "1"로 하여도 좋고, "0"으로 하여도 좋으며, "0101…"과 같은 특정한 패턴으로 하여도 좋다.
다음에 본 실시예에 관한 동화상 복호화 장치에 대해 설명한다.
도 21은 도 18의 동화상 부호화 장치에 대응한 동화상 복호화 장치의 구성을 나타낸 블록도이다. 도 8과 서로 대응한 부분에 동일 부호를 붙이고 제 1 실시예와의 상위점을 중심으로 설명하면, 본 실시예에서는 입력 부호화 장치(800)의 구성 및 동작이 다르다. 또 입력 복호화 장치(800)로부터 역다중화기(811)에 입력되는 신호는 부호열(801) 및 동기부호 검출신호(803)만이며, 역다중화기(811)로부터 입력 복호화 장치(800)에 입력되는 신호가 없다.
도 22는 입력 복호화 장치(800)의 구성을 나타낸 블록도이다. 이 입력 복호화 장치(800)는 입력 부호열(205')중의 동기부호를 검출하는 동기 검출기(1901)와, 입력 부호열(205')의 비트수를 계수하는 카운터(1902)로 구성된다.
카운터(1902)는 복호화의 최초의 단계에서는 "0"으로 리세트되어 있으며, 입력 부호열(205')이 1 비트 입력될 때마다 계수치(1911)를 "1"씩 카운트업하여 간다.
동기 검출기(1901)에서는 카운터(1902)의 계수치(1911)에 의거해서 동기부호 삽입위치에서만 동기부호의 검출을 행한다. 예를 들어 동기부호 삽입간격을 sync_period, 계수치(1911)를 bit_count로 하고, 동기부호의 길이를 sync_len으로 하면,
0 < bit_count mod sync_period ≤ sync_len
일 때만 동기검출을 행한다. 여기서 A mod B는 A를 B로 나누었을 때의 잉여를 표시한다. 동기 검출기(1901)는 동기부호를 검출하면 동기부호 검출신호(803)를 출력한다.
입력 복호화 장치로부터의 부호열(801)은 입력 부호열(205')이 그대로 출력되어, 역다중화기(811)에 입력된다. 이후는 도 21의 동화상 복호화 장치와 마찬가지로 역다중화, 복호화의 처리가 행하여진다.
프레임의 최후의 스터핑 비트(STUFF)를 미리 정해진 비트 패턴으로 할 경우에는, 역다중화기(811)에서 이 스터핑 비트(STUFF)가 미리 정해진 패턴과 일치하는가를 판정하여, 일치하지 않는 경우에는 입력 부호열(205') 중에 에러가 있는 것으로 판정하여, 제 1 실시예에서 나타낸 동화상 부호화 장치에서 설명한 바와 같은 화질 열화가 커지지 않도록 하기 위한 처리를 행하여도 좋다.
(제 4 실시예)
다음에 본 발명에 관한 제 4 실시예에 대해 설명한다.
본 실시예에 관한 동화상 부호화 장치는 그 전체 구성은 도 18의 동화상 부호화 장치와 동일하며, 출력 부호화 장치의 동작이 제 3 실시예와 다르다.
도 23은 도 18 중의 출력 부호화 장치(200)의 구성을 나타낸 블록도이다. 도 19의 출력 부호화 장치와 서로 대응하는 부분에 동일한 부호를 붙이고 그 차이를 중심으로 설명하면, 의사 동기부호를 방지하기 위한 비트 스터핑 처리를 행하는 비트 삽입기(1211)가 추가되어 있다.
비트 삽입기(1211)에서 다중화 부호열(201)에 대해 의사동기의 발생을 방지 하기 위한 비트 삽입이 행하여진다. 이것은 출력 부호열(205)중의 동기부호와 동일한 비트 패턴이 있으면 동기부호를 복호한 복호값이 하나로 특정될 수 없게 되므로, 이를 방지하기 위한 처리이다. 예를 들어 동기부호가 도 5에 나타낸 바와 같이 sync_0_len 비트의 "0", 1 비트의 "1" 및 동기부호의 종류를 나타내는 sync_nb_len 비트의 "×××××"로 되는 경우에, 동기부호 이외의 부호열 중에 sync_0_len 비트 이상 "0"이 연속하지 않도록 "1"을 삽입하면 의사동기의 발생을 방지할 수 있다.
동기부호는 동기부호 삽입장치 이외에는 삽입되지 않는다. 따라서 의사동기 발생방지를 위한 비트 삽입조작은 동기부호 삽입위치에만 행하면 된다. 따라서 출력 부호열(205)의 총 비트수를 나타내는 계수치(1221)에 의거해서 비트 삽입이 필요한가를 판정한다. 계수치(1221)를 total_len이라 하면,
0 < total_len_mod_sync_period ≤ sync_0_len
이 되는 구간에서 다중화 부호열(201) 중의 "1"의 수를 계수하고, 이 구간에 "1"이 완전히 없어지면 1 비트의 "1"을 삽입한다. 여기서 A mod B는 A를 B로 나누었을 때의 잉여를 표시한다.
또, 에러에 의한 동기부호의 오검출의 확률을 낮게 하기 위해서는, 이하와 같이 비트 삽입을 행하면 된다.
동기부호에 n 비트 에러가 혼입한 경우에도 동기부호를 검출하기 위해서는, 후술하는 동화상 부호화 장치의 입력 부호화 장치로 참의 동기부호와 해밍거리가 n 이하의 부호어는 동기부호라고 판정할 필요가 있다. 그러나, 동기부호 이외의 부 호열을 그대로 하고 이와 같은 판정을 행하면, 동기부호 이외의 부호열 중에도 동기부호와 해밍 거리가 n 이하인 비트 패턴이 존재하는 일이 있어서, 이것이 동기부호 삽입위치에 있다고 하면 잘못하여 동기부호라고 판정되어버린다.
따라서, 비트 삽입기(211)에서 다중화 부호열(201)에 이하와 같이 비트 삽입을 행함으로써, 다중화 부호열(201) 중의 동기부호 삽입위치에 있는 동기부호 이외의 부호열을 동기부호와 해밍 거리가 2×n+1 이상 떨어지도록 변환한다. 구체적으로는
0 < total_len_mod_sync_period ≤ sync_0_len - (2×n+1)
이 되는 구간에서의 "1"의 수(=n0라 한다)를 계수하여, n0가 2×n+1 미만이면 2×n+1 - n0 비트의 "1"을 다중화 부호열(201)에 삽입한다.
이렇게 하여 비트 삽입이 행하여진 후의 부호열(1222)은 도 19의 출력 부호화 장치와 마찬가지로 프레임의 최후의 구간의 비트 삽입(도 20 중의 STUFF)이 행하여지고, 출력 부호열(205)로서 출력된다.
다음에 본 실시예에 관한 동화상 복호화 장치에 대해 설명한다. 동화상 복호화 장치의 전체 구성은 도 21의 동화상 복호화 장치와 동일하며, 입력 부호화 장치(800)의 동작이 제 3 실시예와 다르다.
도 24는 입력 복호화 장치(800)의 구성을 나타낸 블록도이다. 도 22의 입력 복호화 장치와 서로 대응하는 부분에 동일한 부호를 붙이고 제 3 실시예와의 차이를 중심으로 설명하면, 여기서는 삽입비트 제거기(1905)가 추가되어 있다.
입력 부호열(205')은 삽입비트 제거기(1905)에 입력되어, 도 23의 출력 부호 화 장치의 비트 삽입기(1211)로 삽입된 의사동기부호를 방지하기 위한 삽입비트를 제거하는 처리를 행한다. 상술한 바와 같이, 비트 삽입은 동기부호 삽입위치에서만 행하여지고 있기 때문에, 계수기(1902)의 계수치(1911)에 의거해서 동기부호 삽입위치를 판정한다.
예를 들어, 동기부호가 도 5에 나타낸 부호어라 하고, 비트 삽입기(1211)에서 동기부호와의 해밍 거리가 2×n+1 이상 떨어지도록 동기부호의 최초의 "0000…"의 부분에 비트 삽입이 행하여지고 있는 경우에는, 동기부호 삽입위치로부터 sync_0_len - (2×n+1) 비트의 "1"의 수를 계수하고, n0가 2×n+1 미만이면 2×n+1 - n0 비트 삭제한다.
여기서 삽입 비트는 "1"로 정해져 있기 때문에, 삽입 비트라고 판정된 비트가 "0"으로 되어 있는 경우에는, 동기부호 삽입 구간에 에러가 혼입한 것으로 생각된다. 이 경우에는 도시하지 않은 에러 검출신호를 역다중화기(811)에 출력하고, 제1 실시예에서 설명한 것과 마찬가지로 재생 화상에 커다란 열화가 생기지 않도록 하는 처리를 행하여도 좋다.
도 23의 비트 삽입기(1211)에서의 비트 삽입처리는 동기부호 이외의 모든 동기부호 삽입구간에 미리 정해진 비트수의 삽입비트를 삽입하도록 하여도 좋다. 도 25는 이와 같은 비트 삽입처리를 행하였을 때의 출력 부호열(205)의 일례를 나타낸 것이다. 도면 중의 SB가 삽입된 비트를 나타내고 있다.
예를 들어 동기부호가 도 5에 나타낸 바와 같이 sync_0_len 비트의 "0", 1 비트의 "1" 및 동기부호의 종류를 나타내는 sync_nb_len 비트의 "×××××"로 되는 경우에는, 동기부호 삽입구간의 최초로부터 sync_0_len 비트 구간의 미리 정해진 위치에 1 비트의 삽입비트(SB)를 삽입한다.
삽입비트(SB)는 항상 "1"로 하여도 좋다. 또 동기부호 삽입구간의 최초로부터 sync_0_len 비트 구간의 비트 패턴에 따라, 그 구간의 "1"의 수가 1개 이상이 되도록 적응적으로 삽입비트(SB)를 결정하여도 좋다.
또한, 삽입비트(SB)를 동기부호 삽입구간의 최초로부터 sync_0_len 비트 구간의 기수 패리티(odd parity)로 함으로써, 동기부호와 동일한 비트 패턴의 출현을 피함과 동시에, 이 비트 패턴에 혼입한 에러의 검출도 행할 수 있다.
도 25b는 이와 같은 비트 삽입처리를 행한 출력 부호열을 나타내고 있다. 이 예에서는 동기부호 삽입위치로부터 최초의 부분에 1 비트의 삽입비트(SB)를 삽입하고 있다. 이 삽입비트(SB)는 이것과 다음의 비트로부터 sync_0_len - 1 비트를 합친 구간의 "1"의 수가 반드시 기수가 되도록 결정한다. 예를 들어 도 25b의 좌측의 예에서는, 삽입비트(SB)는 "1"이 된다. 또 도 25b의 우측의 예에서는, 삽입비트(SB)의 다음의 비트로부터 sync_0_len - 1 비트의 구간이 모두 "0"이어도 삽입비트(SB)가 "1"이 되기 때문에, 동기부호 삽입구간에 반드시 1 비트 이상의 "1"이 들어가게 되어, 동기부호와 동일한 비트 패턴은 생기지 않는다. 또 삽입비트(SB)는 패리티 체크로서도 작용하기 때문에, 이 구간에 혼입한 비트 에러를 검출할 수 있다.
또, 삽입비트(SB)를 다음의 동기부호 삽입위치까지의 전 비트의 기수 패리티 체크비트로 하여도 좋다. 단 삽입비트(SB)의 다음의 비트로부터 sync_0_len - 1 비트가 모두 "0"의 경우에만 동기부호와 동일한 비트 패턴의 출현을 피하기 위해, 삽입비트(SB)를 반드시 "1"로 한다. 이에 따라 전 비트의 패리티 체크에 의한 에러의 검출을 행할 수 있다.
에러에 의한 동기부호의 오 검출의 확률을 낮게 하기 위해서는, 보다 많은 비트수를 삽입하는 것이 바람직하다. 예를 들어 n 비트의 에러가 들어가도 동기를 정확히 검출하기 위해서는, 이 구간의 미리 정해진 위치에 2×n + 1 비트의 "1"을 삽입한다.
본 실시예에서는 상술한 비트 삽입기(1211)의 동작에 대응하여 도 24의 비트 제거기(1905)의 동작도 다른 것이 된다. 즉 비트 제거기(1905)에서는 비트 삽입기(1211)로 비트 삽입을 행한 미리 정해진 위치의 삽입비트(SB)를 삭제하는 처리를 행한다.
여기서 삽입비트(SB)를 항상 "1"로 한 경우에는, 입력 부호열(205')중의 비트 삽입위치에 있는 비트가 "0"이었을 때 비트 에러라고 판정하여 에러 검출신호(도시하지 않음)를 역다중화기(811)에 출력하여, 복호 화상에 커다란 열화를 발생하지 않도록 하기 위한 처리를 행하여도 좋다.
제 1 내지 제 4 실시예에서는, 다중화기(111)에서의 다중화는 도 2와 같이 예측모드 정보(303), 움직임 벡터정보(304) 및 잔차 DCT 계수(305)를 부호화 프레임을 단위로 하여 일괄해서 다중화하는 예를 제시하였으나, 도 26과 같이 부호화영역(예를 들어 마크로 블록, GOB 등) 단위로 예측모드 정보(303), 움직임 벡터정보(304), 잔차 DCT계수(305)를 일괄하도록 다중화하여도 좋다. 이 경우에 픽처 헤 더(302)와 그 이외의 정보는 서로 다른 에러정정/검출부호를 사용하여도 좋고, 동일한 에러정정/검출부호를 사용하여도 좋다. 또는 픽처 헤더에만 에러정정/검출부호를 사용하여도 좋고, 각 프레임의 미리 정해진 비트수의 일부 부호열에 에러정정/검출부호를 사용하여도 좋으며, 에러정정/검출부호를 전혀 사용하지 않아도 좋다.
또, 프레임(픽처) 단위뿐만 아니라, 프레임 내의 부분영역이나 복수의 프레임을 일괄한 레이어 단위로 다중화를 행하고, 이들 다중화 단위(레이어 단위)마다 동기부호를 삽입하여도 좋다.
도 28은 이와 같은 다중화의 예를 나타낸 것이다. 이 도 28의 예에서는, 복수의 부호화 블록을 일괄한 마크로 블록, 복수의 마크로 블록을 일괄한 GOB, 픽처(프레임), 복수의 픽처를 일괄한 세션(session)의 4개의 레이어마다 다중화를 행한다. 이들 중에서 세션, 픽처, GOB의 각 레이어는 각각의 동기부호(도면 중의 SSC, SEC, PSC, GSC)를 사용한다. SSC, SEC, PSC, GSC에는 각각 다른 부호를 사용하여, 어느 레이어의 동기부호가 검출되었는가를 구별할 수 있도록 한다. 도 5와 같은 동기부호를 사용할 경우에는, 동기부호의 종류를 나타내는 sync_nb_len 비트의 부분에서 이들 동기부호의 구별을 행하면 된다.
이와 같은 다중화를 행한 경우에도, 세션, 픽처, GOB의 동기부호의 일부 또는 전부에 대해 상술한 실시예에서의 프레임 동기부호와 마찬가지의 처리를 행하여도 좋다. 도 29는 이와 같은 처리를 행한 출력 부호열의 일례를 나타낸 것이다. 도 29에 나타낸 바와 같이, PSC, GSC의 앞에 스터핑 비트(STUFF)가 삽입되어 있으며, SSC, PSC, GSC는 도면 중 화살표의 동기부호 삽입위치에 삽입되어 있다. 이 때문에 상술한 실시예에서 프레임 동기부호(PSC)에 대해 설명한 바와 마찬가지로, 각 동기부호의 검출 정밀도가 향상한다.
도 15, 도 16 및 도 17의 프레임 길이 정보(POINTER)와 마찬가지의 길이정보를 세션, 픽처, GOB의 각 동기부호에 부가하는 것도 가능하다. 도 15 및 도 16과 같이, 프레임 길이 정보(POINTER)에 대해 에러정정/검출부호에 의한 보호를 행하고 있는 경우에, 프레임 길이 정보(POINTER)뿐 아니라 동기부호의 종류를 나타내는 sync_nb_len 비트의 부분에 대해서도 아울러 에러정정/검출부호를 사용함으로써, 동기부호의 위치뿐 아니라 그 종류도 정확하게 검출할 수 있는 확률이 향상한다. 또 세션, 픽처, GOB의 헤더정보(도면 중 SH, PH, GF)의 일부 또는 전부도 아울러 에러정정/검출부호를 사용하여 보호를 행하지 않아도 되며, 이에 따라 각 헤더정보의 에러내성도 향상한다.
본 실시예와 같이 의사 동기부호를 방지하기 위한 스터핑 처리를 행할 경우에는, 이하와 같은 처리를 행하여 동기부호 삽입간격 sync_period를 동기부호의 길이 이하로 하는 것도 가능하다.
우선, 동화상 부호화 장치의 출력 부호화 장치에서의 처리에 대해 설명한다. 여기서 동기부호는 도 5에 나타낸 바와 같이 sync_0_len 비트의 "0"과 1 비트의 "1"로 되는 부호어로 한다. 도 23의 출력 부호화 장치에서 비트 삽입기(1211)로부터 출력한 비트수를 나타내는 계수치(1221)를 total_len으로 하면, total_len을 동기부호 삽입간격 sync_period로 나눈 잉여가, 동기부호의 최초의 "0"의 비트수 sync_0_len으로부터 1을 뺀 값을 sync_period로 나눈 잉여와 일치할 때, 즉
total_len mod sync_period
= (sync_0_len - 1) mod sync_period (1)
가 되었을 때, 그 때의 출력 비트로부터 (sync_0_len - 1) 비트 앞까지의 출력 비트 중의 "1"의 수(n1이라 한다)를 계수하여, "1"이 전혀 없으면(즉 n1=0이면) 1 비트의 "1"을 삽입한다.
도 33a에 이와 같은 처리를 행한 출력 부호열의 예를 나타낸다. 도면 중에서 하향의 화살표가 동기부호 삽입위치를 나타내고 있으며, 동기부호는 23 비트의 "0"(즉 sync_0_ len = 23)과 1 비트의 "1"로 된다. 도면의 예에서는 동기부호 삽입간격 sync_period는 동기부호의 길이(= 24 비트)보다 짧은 8이다.
도면에서 구간 1∼4는 상술한 n1을 계수하는 구간을 나타내고 있다. 각 구간에서 차례로 "1"의 수 n1을 계수하여, n1 = 0이면 그 구간의 다음의 비트에 스터핑 비트를 삽입한다. 구간 1에서는 n1>0이므로 스터핑의 필요는 없다. 구간 2에서는 n1 = 0가 되므로 이 구간의 다음에 1 비트의 스터핑 비트(3301)를 삽입한다. 구간 3에서는 스터핑 비트(3301)가 삽입됨으로써 n1 = 1이 되기 때문에 스터핑 비트를 삽입할 필요는 없다.
이상과 같은 비트 스터핑 처리를 행함으로써, 출력 부호열 중의 동기부호 이외의 부분에서 동기부호와 동일한 비트 패턴이 없어지기 때문에, 의사동기를 발생하는 일이 없어진다.
한편, 전송로 에러에 의한 동기부호의 오 검출의 확률을 낮게 하기 위해서는, 이하와 같은 비트 삽입을 행하면 된다.
동기부호에 n 비트 에러가 혼입한 경우에도, 동기부호를 정확하게 검출하기 위해서는 비트 삽입(1211)에서, 출력 부호열 중의 동기부호 이외의 부분과 동기부호와의 해밍거리가 2 × n + 1 이상이 되도록 비트 삽입처리를 행하면 된다.
이는 도 23에서의 출력 부호열(205)의 총 비트수를 나타내는 계수치(1221) total_len을 동기부호 삽입간격 sync_period로 나눈 잉여가, 동기부호의 최초의 "0"의 비트수 sync_0_len으로부터 2 × n + 1을 뺀 값을 sync_period로 나눈 잉여와 일치할 때, 즉
total_len mod sync_period
= (sync_0_len - (2 × n + 1)) mod sync_period (2)
가 되었을 때, 그 때의 출력 비트로부터 (sync_0_len - (2 × n + 1)) 비트 앞까지의 출력 비트 중의 "1"의 수(n1이라 한다)를 계수하여, "1"의 수가 (2 × n + 1) 미만, 즉
n1 < 2 × n + 1
이면 (2 × n + 1 - n1) 비트 "1"을 삽입한다.
도 5에 나타낸 바와 같은 복수 비트의 "0"으로부터 시작되는 동기부호를 사용할 경우에, 동기부호 직전의 비트열 중의 "1"의 수가 적으면 이 부분의 동기 오검출이 생기는 일이 있다. 이것을 방지하기 위하여, 동기부호로부터 그 직전의 동기부호 삽입위치까지의 sync_period 비트 구간의 "1" 비트수가 2 × n + 1 비트 이상이 되도록, 프레임의 최후 구간의 비트 삽입(도 20 중의 STUFF)을 출력하도록 하여도 좋다.
이를 위해서는 반드시 2 × n + 1 비트 이상의 "1"이 포함된 STUFF를 사용하여도 좋고, 또는 출력 부호열에 따라 STUFF를 결정하도록 하여도 좋다. 즉 STUFF를 포함한 출력 부호열 중의 동기부호 직전의 sync_period 비트의 "1"의 비트수가 2 × n + 1 비트 이상이 되도록 STUFF를 결정하여도 좋다.
도 33b에 이와 같은 처리를 행한 출력 부호열의 예를 나타낸다. 도면 중에서 구간 1∼4는 상술한 n1을 계수하는 구간을 나타내고 있다. 각 구간에서 차례로 "1"의 수 n1을 계수하여, n1 < 2 × n + 1이면 그 구간의 다음 비트에 스터핑 비트를 삽입한다. 구간 2에서는 n1 = 0가 되므로 이 구간의 다음에 (2 × n + 1) - 1 = 2 비트의 스터핑 비트(3311)를 삽입한다. 구간 3에서는 스터핑 비트(3311)가 삽입됨으로써 n1 = 3이 되기 때문에 스터핑 비트를 삽입할 필요는 없다.
또한, 동기부호 직전의 부분에서의 동기부호 오 검출을 방지하기 위하여, 이하와 같은 STUFF를 결정한다. STUFF의 직전의 비트를 3312라 한다. 이 비트(3312) 직전의 동기부호 삽입위치로부터 직후의 동기부호 삽입위치까지의 sync_period 비트간(구간 5)의 "1"의 수는 1 비트밖에 없기 때문에 도 5와 같은 "0"이 연속하는 동기부호를 사용하는 경우에는 이 부분에서 동기 오검출을 발생할 가능성이 있다. 이 때문에 동기부호를 삽입하는 위치를 다음의 동기부호 삽입위치까지 어긋나게 하여, 많은 "1"을 포함한 STUFF(3313)를 출력한다. 이에 따라 동기부호 직전의 sync_period 비트 구간(구간 6)에는 2 × n + 1 비트 이상의 "1"이 포함되게 되므로, 동기 오 검출을 방지할 수 있다.
이상과 같은 비트 스터핑 처리를 행함으로써, 출력 부호열 중의 동기부호 이 외의 부분에서 동기부호와의 해밍거리를 2 × n + 1 이상으로 할 수 있기 때문에, 동기 오 검출의 확률이 감소한다.
다음에 동화상 복호화 장치의 입력 복호화 장치에서의 처리에 대해 설명한다. 도 24의 비트 제거기(1905)에서, 입력한 부호열의 비트수를 나타내는 계수치(1905)를 total_len이라 하면, total_len이 1의 조건을 만족하는 값이 된 시점에서, 그 때의 입력 비트로부터 (sync_0_len - 1) 비트 앞까지의 입력 비트 중의 "1"의 수(n1이라 한다)를 계수하여, "1"이 전혀 없으면, 즉 n1 = 0이면 1 비트 삭제한다.
동기부호에 n 비트 에러가 혼입한 경우에도 동기부호를 검출하기 위해, 비트 삽입기(1211)로 출력 부호열 중의 동기부호 이외의 부분과 동기부호와의 해밍거리가 2 × n + 1 이상이 되도록 비트 삽입처리를 행한 경우에는, 다음과 같은 처리를 행하면 된다. total_len이 식 (2)를 만족하는 값이 된 시점에서, 그 때의 입력 비트로부터 (sync_0_len - (2 × n + 1)) 비트 앞까지의 출력 비트 중의 "1"의 수(n1이라 한다)를 계수하여, "1"의 수가 (2 × n + 1) 미만, 즉
n1 < (2 × n + 1)
이면 (2 × n + 1 - n1) 비트 삭제한다.
출력 부호화 장치 및 입력 복호화 장치에서 이상과 같은 처리를 행하여, 동기부호 삽입간격 sync_period를 동기부호 길이 이하의 짧은 비트수로 함으로써, 스터핑 비트(STUFF)의 비트수가 삭감되어 부호화 효율이 향상한다. 특히, 동기부호의 길이가 긴 경우나, 많은 동기부호가 삽입되는 경우에는, 이 스터핑 비 트(STUFF)의 비트수 삭감에 의한 부호화 효율 향상의 정도가 크다. 예를 들어 동화상 부호화에서의 GOB/슬라이스와 같이 화면을 1 또는 복수의 마크로 블록, 또는 마크로 블록 라인마다로 구분하여, 그 단위마다에 동기부호를 삽입하는 방식에 있어서는, 많은 동기부호가 삽입되기 때문에 STUFF의 비트수 삭감에 의한 부호화 효율의 정도가 보다 커진다.
또 도 28과 같이 복수의 레이어 구조의 다중화를 행하는 경우에는, 레이어에 따라 다른 길이의 동기부호를 사용하도록 하여도 된다.
도 34a는 이와 같은 동기부호의 예를 나타낸 것이다. 4종류의 동기부호 중에서 SSC, SEC, PSC는 어느 것이나 23 비트의 "0", 1 비트의 "1", 및 동기부호의 종류를 나타내는 8 비트의 합계 32 비트로 된다. 한편, GOB 레이어의 동기부호(GSC)는 16 비트의 "0"과 1 비트의 "1"로 된 17 비트의 동기부호이며, 다른 동기부호보다 짧은 부호어이다.
이와 같이 GSC만을 짧은 부호어로 한 것은 GOB는 1 또는 복수의 마크로 블록(MB)으로 되는, 화면 내를 소영역으로 구분한 부호화 단위이므로, 일반적으로 GOB 레이어의 동기부호는 다른 동기부호에 비해 수가 많으며, 동기부호어 길이를 짧게 함으로써 출력 부호열의 부호량을 삭감할 수 있기 때문이다. 또 이렇게 하면 같은 부호량이면 보다 많은 GSC를 출력할 수 있어서, 화면 내를 보다 세밀한 GOB 영역으로 구분하여 부호화할 수 있기 때문에, 전송로 에러가 발생했을 때의 재생 화상의 품질이 향상한다.
제 4 실시예에서 설명한 바와 같은 의사동기를 방지하기 위한 처리, 즉 동기 부호 이외의 부호열 중에 동기부호와 동일한 비트 패턴을 생기지 않게 하는 비트 스터핑 처리를 행하도록 하여도 좋다. 전송로 에러에 의한 동기부호의 오검출 확률을 낮게 하기 위한 비트 스터핑 처리, 예를 들어 비트 길이가 긴 동기부호(도 34a의 예에서는 SSC, SEC, PSC)와 동일한 비트 패턴이 생기지 않는 것이 보증되어 있는 비트열에 대해서도, 가장 짧은 동기부호(도 34a에서는 GSC)와 동일한 패턴이 생기지 않도록 비트 스터핑 처리를 행하면, 모든 동기부호와 동일한 비트 패턴이 생기지 않도록 할 수 있다. 이 처리는 전 레이어의 부호열에 대해 행하여도 좋고, 가장 짧은 부호를 사용하는 레이어보다 하위의 레이어(도면의 예에서는 GOB 레이어, 마크로 블록 레이어)의 부호열에 대해 행하여도 좋으며, 그 레이어보다도 하나 위의 레이어 이하의 레이어(픽처 레이어, GOB 레이어, 마크로 블록 레이어)의 부호열에 대해 행하여도 좋다. 또한 이 처리를 미리 정해진 레이어의 부호열에 대해서만 행하여도 좋다.
전송로 에러가 생겨도 길이가 다른 동기부호끼리를 식별하기 쉽도록 하기 위하여, 동기 부호어 및 그 전후의 처리를 이하와 같이 하여도 좋다.
(i) 복수 비트의 "0"와, 그것에 계속되는 "1"로 된 동기부호를 사용하는 경우에는, 긴 부호어의 짧은 부호어로 이 "1"의 동기부호 삽입위치로부터 본 상대위치가 다르도록 하여도 좋다. 도 34b의 예에서는, PSC의 "1" 3411과, GSC의 "1" 3412는 다른 위치에 있으며, 다른 동기부호 중의 같은 위치의 비트(3411에 대한 3413, 및 3412에 대한 3414)는 어느 것이나 "0"이다. 이과 같이 함으로써 동기부호 및 그 부분열의 해밍거리가 커지기 때문에, 전송로 에러가 생겨도 상이한 동기 부호끼리를 식별하기 쉽게 된다.
(ii) 길이가 짧은 동기부호 앞에 스터핑 비트를 삽입하여도 좋다. 예를 들어 도면 중의 3401과 같이 길이가 짧은 GSC 앞에 1 또는 복수의 "1"로 된 스터핑 비트(3401)를 삽입함으로써, GSC와 다른 동기부호의 부분 열과의 해밍거리를 크게 할 수 있다.
(iii) 길이가 짧은 동기부호의 뒤에 스터핑 비트를 삽입하여도 좋다. 예를 들어 긴 동기부호 중의 동기부호의 종류를 식별하는 부분과의 해밍거리가 커지도록 GSC의 뒤에 비트 삽입(3402)을 행하여도 좋다.
(제 5 실시예)
다음에 본 발명에 관한 제 5 실시예에 대해 설명한다.
본 실시예에 의한 동화상 부호화 장치 및 동화상 복호화 장치의 전체의 구성은 제 1 실시예와 마찬가지이며, 출력 부호화 장치(200) 및 입력 복호화 장치(800)의 1 동기구간의 최초 및 최후의 부분에서의 처리가 이제까지의 실시예와 다르게 되어 있다.
도 27a, 도 27b, 도 27c는 본 실시예에서의 동화상 부호화 장치로부터의 출력 부호열(205)의 일례를 나타낸 도면이다. 이 출력 부호열(205)은 동기부호(PSC)의 뒤에 앞 프레임(프레임 n - 1)의 부호열의 일부(2701)가 들어 있으며, 이 부호열(2701)과 현 프레임(n 프레임)의 부호열과의 경계(2703)(현 프레임의 부호열의 개시점), 환언하면 다중화 부호열의 경계를 나타내는 포인터정보(2702)(SA)가 있고, 이에 수반해서 1 프레임의 최후의 스터핑 비트(도 4 중의 STUFF)가 없어져 있 는 것이 도 4의 출력 부호열과 다르게 되어 있다.
동화상 부호화 장치 내의 출력 부호화 장치(200)에서는, 각 동기부호 삽입위치에서 그 프레임의 나머지 부호열의 비트수 resid_bit를 체크한다. resid_bit와 동기부호(PSC)와 포인터 정보(SA)의 비트수의 합이 동기부호 삽입간격 sync_period 비트보다도 적을 경우에는, 그 프레임의 나머지의 부호열을 출력 부호열(205)중에 출력하기 전에 동기부호(PSC)를 출력한다. 다음에 포인터정보(SA)(이 경우는 resid_bit 라 표시한다)를 출력하고, 그 후에 나머지 부호열(2701)을 출력한다. 그 후에 다음 프레임의 부호열을 출력해 간다.
동화상 복호화 장치 내의 입력 부호화 장치(800)에서는, 각 동기부호 삽입위치에서 동기부호의 검출을 행하여, 동기부호가 검출된 경우에는 그 뒤에 포인터정보(SA)와 프레임의 나머지 정보가 계속하고 있는 것으로서 처리를 행한다.
도 27 중의 프레임 n - 1 과 프레임 n의 경계부를 예로 하여 설명하면, 동기부호(PSC)의 직전(2704)까지의 복호처리를 종료한 후, 그 뒤의 동기부호 삽입구간에서 동기부호를 검출하여, 동기부호가 검출된 경우에는 다음에 포인터 정보(2702)를 복호화하고, 프레임 n - 1의 부호열이 있으면 몇 비트인가를 구한다. 이것을 토대로 하여 포인터정보의 직후의 부호열로부터 포인터 정보로 나타내는 비트수를 꺼내어(도 27 중의 2703까지), 이것이 2704에 계속되는 것으로서 부호열(801)을 출력한다. 그 뒤의 부호열(도면 중의 2703으로부터)은 다음 프레임, 즉 프레임 n 으로서 처리를 행한다.
본 실시예에서는, 도 27a에 나타낸 바와 같이 출력 부호열의 일부 또는 전부 에 대해 에러정정/검출 부호화를 행하여도 좋다. 이 경우에 에러정정/검출부호의 종류는 모두 같아도 좋고, 상이한 것을 사용하여도 좋다.
또 도 27b에 나타낸 바와 같이, 에러정정/검출 부호화를 행하지 않도록 하여도 좋다.
또한 도 27c와 같이, 도 15나 도 16에 나타낸 바와 같은 1 프레임의 부호열 비트수를 나타내는 프레임길이 정보(POINTER)를 삽입하여도 좋다. 이 경우에, 프레임 길이 정보(POINTER)는 그 프레임의 동기부호(PSC)로부터 다음 프레임의 동기부호(PSC)까지의 비트수를 표시하도록 하여도 좋다.
도 27a와 같이 에러정정/검출 부호화를 행하는 경우의 동기부호(PSC)로부터 다음 검사비트(CHK)까지 부분의 에러정정/검출 부호화, 포인터 정보(SA), 프레임 n - 1의 나머지 부호열(2701, 2703) 이후의 프레임 n의 부호열을 일괄해서 하나의 정보비트로서 에러정정/검출 부호화를 행한다.
포인터 정보(SA)는 에러정정/검출 부호화를 행한 정보로 하여도 좋다. 이 경우에 동기부호(PSC)(또는 그 일부), 프레임 길이 정보(POINTER)와 포인터 정보를 합쳐서 에러정정/검출 부호화를 행하도록 하여도 좋다.
다음에 스터핑 비트(STUFF)의 구체예를 설명한다.
도 30a, 도 30b는 상술한 스터핑 비트(STUFF)의 구체예로서의 스터핑 비트(STUFF)의 부호표의 예를 나타낸 도면이다. 도 30a, 도 30b의 어느 것이나 출력 부호열의 역 방향으로부터 복호한 복호값이 하나로 특정되는 것이 특징이며, 이에 따라 스터핑 비트(STUFF)의 개시위치를 한가지로 특정할 수 있다. 따라서 스터핑 비트(STUFF) 직전의 부호열의 복호 종료위치와 스터핑 비트(STUFF)의 개시위치를 비교함으로써, 부호열 중에 혼입한 에러를 검출할 수 있음과 동시에, 동기부호로부터 역 방향으로 복호를 행하는 부호화방식에 사용한 경우에 역방향 복호의 개시 지점을 특정할 수 있다.
또한 도 30a, 도 30b의 부호표에 나타낸 스터핑 비트(STUFF)는 그 최초의 비트가 반드시 "0"이 되어 있으며, 후술하는 바와 같은 간이적인 복호에 의한 에러검출이 가능하다.
도 31은 도 30a, 도 30b의 부호표에 나타낸 스터핑 비트(STUFF)를 포함한 부호열의 복호처리의 예를 나타낸 것이다. 도 31에서는 동기부호 삽입위치 직전의 스터핑 비트의 예를 나타내고 있으나, 이것 이외의 임의의 동기부호 삽입위치 직전에 스터핑 비트를 삽입하여 마찬가지 처리를 행하는 것도 가능하다. 도 31 중에서 화살표(3101∼3103)는 순방향으로 복호화를 행한 경우의 스터핑 비트(STUFF)의 직전의 부호열("×××…"로 나타낸다)의 복호 종료위치의 예이며, 화살표의 우측단이 복호 종료위치를 표시한다. 부호열에 에러가 혼입하여 있지 않고, 정상적으로 복호화가 행하여진 경우에는, 화살표(3101)와 같이 스터핑 비트(STUFF) 직전의 부호열의 복호 종료위치와 스터핑 비트(STUFF)의 개시위치는 일치한다.
한편, 부호열에 에러가 혼입한 경우에는, 스터핑 비트(STUFF) 직전의 부호열의 복호 종료위치는 화살표(3102, 3103)와 같이 스터핑 비트(STUFF)의 개시위치와 어긋난다. 이와 같은 경우에는, 부호열에 에러가 있는 것으로 판정한다.
복호화 장치에서는, 스터핑 비트(STUFF) 직전의 부호열의 복호화가 종료하면 다음 동기부호 삽입위치까지 스터핑 비트(STUFF)를 판독하여, 그것이 도 30a, 도 30b에 나타낸 부호표의 부호에 합치하는가를 판정한다. 만일 스터핑 비트(STUFF)가 부호표의 어느 부호에도 합치하지 않을 경우에는, 에러가 있는 것으로 판정한다.
스터핑 비트(STUFF)와 부호표와의 합치를 판정할 경우에, 소수의 비트의 에러를 허용하도록 하여도 좋다. 이렇게 함으로써, 스터핑 비트(STUFF) 그 자체에 에러가 들어갔을 경우의 에러의 오 검출을 저감할 수 있다.
도 30a의 부호표는 반드시 "0"으로 시작하고 후속하는 비트가 "1"이다. 따라서 스터핑 비트(STUFF) 직전의 부호열의 복호 종료위치의 다음 비트가 "0"이냐의 여부만을 판정하여 에러검출을 행하여도 좋고, 또는 최초의 "0"와 후속하는 몇 개인가의 "1"만으로부터 에러검출을 행하여도 좋다. 이와 같이 하면 에러검출 정밀도는 약간 저하하지만, 복호화에 요하는 처리량이 삭감된다. 이와 같이 모든 스터핑 비트(STUFF)가 특정한 비트 또는 복수 비트로 되는 특정한 비트 패턴으로부터 시작하는 부호표를 사용하고 있는 경우에는, 복호화처리의 간략화를 도모할 수 있다.
또한 도 30a, 도 30b의 부호표에 나타낸 스터핑 비트(STUFF)는 "1"의 비트를 많이 포함하고 있으며, 도 5와 같이 "0"가 많이 포함된 동기부호 및 그 일부분과의 해밍 거리가 떨어져 있기 때문에, 의사동기가 발생하는 확률이 낮은 이점이 있다. 구체적으로는, 도 30a의 부호표에서는 스터핑 비트(STUFF)의 최초의 비트만이 모두 "0"이고, 그 이외의 비트는 모두 "1"이기 때문에, 모두 "0"인 동기부호 및 그 일부 와의 해밍 거리는 "스터핑 비트(STUFF)의 길이 - 1"이 된다. 또 도 30b의 부호표에서는 스터핑 비트(STUFF)의 최초와 최후의 비트만이 "0"이고, 그 이외의 비트는 모두 "1"이기 때문에, 동기부호 및 그 일부와의 해밍거리는 "스터핑 비트(STUFF)의 길이 - 2"가 된다. 이와 같이 스터핑 비트(STUFF)와 동기부호 및 그 일부분과의 해밍거리를 소정치 이상, 예를 들어 "스터핑 비트(STUFF)의 길이 - 2" 이상으로 선택함으로써, 부호열에 에러가 혼입하여도 의사동기부호가 발생하기 어렵다.
이 효과에 대해서 도 32를 사용하여 설명한다. 도 32 "a - 0", "b - 0"는 각각 통상의 스터핑 비트(모든 비트가 "0") 및 도 30a의 부호표에 나타낸 스터핑 비트(STUFF)를 사용한 때의 부호열의 예를 나타낸 것이며, "a - 1", "b - 1"은 각각 "a -0", "b - 0"에 1 비트의 에러가 혼입한 때의 예를 나타낸 것이다. 도 32 "a - 1"로부터 알 수 있는 바와 같이, 모든 비트가 "0"인 통상의 스터핑 비트로는 1 비트의 에러가 혼입하기만 하면 "a - 1"의 파선으로 나타낸 바와 같이 동기부호와 동일한 비트 패턴이 생기기 때문에, 의사동기가 발생해버린다. 이에 대해 도 30a의 부호표에 나타낸 스터핑 비트(STUFF)는 도 32 "b - 2"에 나타낸 바와 같이 에러가 혼입하여도 동기부호와 동일한 패턴이 되지 않기 때문에, 의사동기가 발생하지 않는다.
이와 같이 본 실시예에 의한 스터핑 비트는 부호열의 에러를 용이하게 검출할 수 있음과 동시에, 부호열에 에러가 혼입하여도 의사동기부호가 발생하기 어렵고, 강한 에러내성을 갖는 이점이 있다.
또 본 실시예에 의한 스터핑 비트는 역 방향으로부터 복호한 복호값을 하나 로 특정 가능하며, 그 개시위치 즉 스터핑 비트(STUFF) 직전의 부호열의 종료위치를 특정할 수 있기 때문에, 정보 부호열이 순방향으로부터도 역방향으로부터도 복호 가능한 부호열인 경우에, 도 31의 화살표(3104)로 나타낸 바와 같이 STUFF 직전의 부호열을 역방향으로부터 복호할 수 있다.
상술한 실시예에서, 스터핑 비트(STUFF)는 이하와 같이 정하여도 좋다.
(1) 동기부호에 도 5에 나타낸 바와 같이 sync_0_len 비트의 "0"이 포함될 경우에는, 스터핑 비트(STUFF)의 전부 또는 적어도 동기부호 삽입위치의 전 비트를 "1"로 함으로써, 동기부호의 "0"의 부분과 스터핑 비트(STUFF)의 해밍거리를 떨어지게 할 수 있다. 따라서 이렇게 함으로써, 스터핑 비트(STUFF)에 에러가 혼입하여 의사동기가 발생하는 확률을 감소시킬 수 있다.
(2) 스터핑 비트(STUFF)는 그 길이를 표시하는 부호어로 하여도 좋다. 복호화 장치에서, 스터핑 비트(STUFF) 이외의 부호열의 복호가 종료한 지점으로부터 STUFF의 길이를 판정함과 동시에, STUFF의 복호를 행하여 STUFF의 길이정보를 복호한다. 이 경우에, 만일 양자가 일치하지 않을 때에는 부호열 중에 에러가 혼입한 것으로 판정할 수 있다.
또 스터핑 비트(STUFF)의 부호어는 그 길이를 2 진수 표현한 것이어도 좋다. 예를 들어 STUFF가 5 비트인 경우에, "5"를 2 진수 표현한 "101"로 하여도 좋다. 또는 2 진수 표현한 것의 "1"의 보수(補數)나 "2"의 보수를 취한 값을 스터핑 비트(STUFF)의 부호어로 하여도 좋고, 그에 따라 STUFF 중의 "0"의 비트의 수가 감소하기 때문에, (1)에서 설명한 바와 마찬가지로 의사동기의 발생을 억제할 수 있다.
(3) 순방향뿐 아니라 역방향으로부터도 복호 가능한 부호어를 사용하여 부호화를 행할 경우에는, 복호장치에서 프레임의 종료지점으로부터 스터핑 비트(STUFF)를 역방향으로 복호하여, 그 개시지점(STUFF와 다른 부호어와의 경계지점)을 알 필요가 있다. 그와 같은 경우에는, 예를 들어 STUFF를 "1111111"과 같이 1 비트 또는 복수 비트의 "0"으로 시작하고 나머지가 "1"의 부호어로 정하면 된다. 이에 따라 STUFF를 역방향으로부터 복호하여 "0"이 있는 위치를 찾으면, 그 지점을 STUFF의 개시지점이라고 한가지로 판정할 수 있다. 또 이 예에서는 스터핑 비트(STUFF)의 최초의 부분 이외의 비트는 "1"이며, (1)에서 설명한 바와 마찬가지로 의사동기가 발생하는 확률이 감소한다.
(4) 스터핑 비트(STUFF)는 출력 부호열의 일부 또는 전부의 비트의 에러정정/검출부호의 검사비트나, 패리티 비트 등으로 하여도 좋다. 이에 따라 출력 부호열 중에 혼입한 비트 에러의 정정/검출을 행할 수 있다.
이상의 예와 같이, 스터핑 비트(STUFF)를 미리 정해진 규칙에 따라 생성함으로써, 복호 장치에서 입력 부호열 중의 스터핑 비트(STUFF)를 그 생성규칙과 대조하여, 만일 그 생성규칙에 반하는 것으로 판정된 경우에는, 입력 부호열 중에 에러가 혼입한 것으로 판정할 수 있다. 이에 따라 동화상 복호화 장치에 있어서 재생 화상에 커다란 열화가 발생하지 않을 처리를 행하여, 입력 부호열 중에 에러가 혼입했을 때의 재생 화상의 품질을 향상시킬 수 있다.
또한 상기 실시예에서 동기부호 삽입간격 sync_period는 이하와 같이 정하여도 좋다.
(1) 에러정정/검출부호를 사용할 경우에는, 동기부호 삽입간격 sync_period는 복호화 장치에서 동기검출을 행하는 최소의 비트수, 즉 동기부호의 길이와 에러정정/검출부호의 검사비트의 최대치의 합 이상으로 취하면 충분하다. 프레임의 최후의 스터핑 비트(STUFF)의 비트수의 평균치는 sync_period/2이므로, sync_period를 이 동기검출 가능한 최소 비트로 취함으로써, 스터핑 비트(STUFF)의 비트수가 삭감되어, 부호화 효율이 향상한다.
(2) 에러정정/검출부호를 사용하지 않을 경우에는, 동기부호 삽입간격 sync_period는 복호화 장치에서 동기검출을 행하는 최소의 비트수, 즉 동기부호의 길이 이상이면 충분하다. 프레임의 최후의 스터핑 비트(STUFF)의 비트수의 평균은 sync_period/2이므로, sync_period를 이 동기검출 가능한 최소 비트로 취함으로써, 스터핑 비트(STUFF)의 비트수가 삭감되어, 부호화 효율이 향상한다.
(3) 도 15, 도 16, 도 17 및 도 27에 나타낸 바와 같이 프레임 길이 정보(POINTER)를 사용할 경우에는, 동기부호 삽입간격 sync_period를 동기부호의 길이보다 짧게 하여도 좋다. 이에 따라 스터핑 비트(STUFF)의 비트수가 삭감되어 부호화 효율이 향상한다.
(4) 전송로나 축적매체에서 정해진 간격의 패킷이나 셀로 구분하여 전송/축적을 행하는 경우에는, 동기부호 삽입간격 sync_period를 패킷이나 셀의 간격으로 맞추던가, 그 간격의 약수가 되도록 하여도 좋다. 이에 따라 패킷이나 셀의 선두는 반드시 동기부호 삽입위치가 되기 때문에, 패킷이나 셀 로스에 의해 패킷이나 셀이 생겼을 경우에도 동기부호를 검출할 수 있다.
(5) 동기부호 삽입간격 sync_period는 1 프레임의 최소 필요 비트수보다 짧게 하는 것이 바람직하다. 이에 따라 스터핑 비트(STUFF)의 비트수가 삭감되어, 부호화 효율이 향상한다.
(제 6 실시예)
다음에 본 발명에 관한 제 6 실시예에 대해 설명한다.
도 35는 본 실시예에서의 동화상 부호화 장치의 출력 부호열의 일례를 나타낸 도면이다. 이 출력 부호열에서는 에러에 의한 동기부호의 오검출 확률을 낮게 하기 위해서, 상술한 실시예에서 설명한 바와 같은 비트 삽입처리를 행하고 있다. 또 미리 정해진 위치, 또는 동기부호로부터 상대적으로 보아 미리 정해진 위치에 헤더 정보 등의 정보가 들어있다.
도 35a는 비트 삽입처리를 행하기 전의 부호열이며, 도 35b는 비트 삽입처리를 행한 후의 출력 부호열이다. 도면 중의 사선 부분(3201, 3202, 3261, 3262)이 정해진 위치(동기부호로부터 상대적으로 보아 정해진 위치)에 넣는 정보이며, 백색 화살표(3211, 3212)가 그 정보를 넣는 위치이다. 도 35b중의 부호열의 정보(3261, 3262)가 도 35a의 부호열의 정보(3201, 3202)에 각각 상당하고, 경우에 따라서는 도 35a의 부호열로부터 도 35b의 부호열로의 변환시에, 이들 정보에 대해서도 변환(즉, 정보(3201)로부터 정보(3261)로의 변환 및 정보(3202)로부터 정보(3262)로의 변환)이 이루어지는 수가 있다.
도 35b 중의 3203은 비트 삽입처리에 의해 삽입된 비트이다. 이 비트 삽입처리에 의해 삽입비트에 후속하는 비트열은 후방으로 어긋나버리기 때문에, 정해진 위치에 넣는 정보가 정 위치에 들어가도록 그 정보 직전의 부호열의 일부를 후방으로 옮기는 처리를 행한다. 예를 들어 정보(3201)의 하나 앞의 동기부호(3205)로부터의 삽입비트의 수의 합계를 Ns1이라 하면, 정보(3201)의 직전의 도 35a 중의 기호(3221)로 나타낸 Ns1 비트를 정보(3201)의 직후의 도 35b 중의 기호(3231)의 부분에 옮기면 된다.
정보(3201, 3202) 중에 부호열 중의 특정한 위치를 나타내는 포인터 등의 정보가 포함되어 있는 경우에는, 이것을 변환하는 처리를 행하여도 좋다. 구체적으로는, 예를 들어 정보(3201) 중에 화살표(3241)로 나타내는 위치를 표시한 정보가 포함되어 있는 경우에, 이 위치보다도 삽입비트의 수 Ns1만큼 뒤의 화살표(3251)로 나타내는 위치를 지정하도록 정보(3261)중의 위치를 나타내는 정보를 변환하도록 한다.
이상 설명한 바와 같이, 본 발명에 따르면, 부호화 장치에서 복수 종류의 압축부호를 다중화한 다중화 부호열 중에 미리 주기적으로 정해진 동기부호 삽입위치에만 동기부호를 삽입하기 때문에, 부호열 중의 임의의 위치에 동기부호가 삽입되는 종래 방식에 비해 동기부호 검출의 회수가 삭감된다.
또한, 동기부호의 에러를 고려한 비트 삽입, 즉 동기부호 삽입위치에 있는 비트열에 대해 동기부호와의 해밍거리의 변환을 행함으로써, 비트열 중에 동기부호와 동일한 비트 패턴이 포함되지 않게 되기 때문에, 상정한 비트수 이하의 에러에 대해서는 동기부호의 오 검출이 생기지 않는 것이 보증되어, 동기부호 오 검출의 확률이 감소한다.

Claims (9)

  1. 화상 신호를 압축 부호화하여 얻어진 순방향 및 역방향으로부터 복호 가능한 부호어로 구성되는 복수 종류의 가변 길이 부호를 다중화하여 다중화 부호열을 생성하고,
    상기 다중화 부호열을 입력으로 하여 출력 부호열을 조립하고, 상기 출력 부호열 중에 미리 주기적으로 복수의 동기 부호 삽입 위치를 정하며, 상기 다중화 부호열의 경계를 지시하고 자신의 개시 위치를 특정할 수 있는 정보를 삽입하고, 상기 복수의 동기 부호 삽입 위치의 어느 곳인가에 동기 부호를 삽입하는 것을 특징으로 하는 부호화 방법.
  2. 화상 신호를 가변 길이 부호화하여 얻어진 순방향 및 역방향으로부터 복호 가능한 부호어로 구성되는 복수 종류의 가변 길이 부호를 다중화하여 다중화 부호열을 생성하는 다중화 수단과,
    상기 다중화 부호열을 입력으로 하여 출력 부호열을 조립하는 부호열 조립 수단
    을 포함하고,
    상기 부호열 조립 수단은, 상기 출력 부호열 중에 미리 주기적으로 복수의 동기 부호 삽입 위치를 정하고, 상기 다중화 부호열의 경계를 지시하고 자신의 개시 위치를 특정할 수 있는 정보를 삽입하며, 상기 복수의 동기 부호 삽입 위치의 어느 곳인가에 동기 부호를 삽입하는 것을 특징으로 하는 부호화 장치.
  3. 제2항에 있어서,
    상기 다중화 수단은, 상기 가변 길이 부호를 상기 화상 신호의 프레임 단위로 다중화하는 것을 특징으로 하는 부호화 장치.
  4. 제2항에 있어서,
    상기 다중화 수단은, 상기 가변 길이 부호를 상기 화상 신호의 프레임의 부분 영역 단위로 다중화하는 것을 특징으로 하는 부호화 장치.
  5. 제2항에 있어서,
    상기 다중화 수단은, 상기 가변 길이 부호를 상기 화상 신호의 프레임 단위로 다중화하고,
    상기 부호열 조립 수단은, 상기 다중화 부호열의 상기 프레임 단위로 다중화된 각 다중화 단위의 끝 부분의 직전 또는 직후에 위치하는 동기 부호 삽입 위치에 동기 부호를 삽입하는 것을 특징으로 하는 부호화 장치.
  6. 제2항에 있어서,
    상기 다중화 수단은, 상기 가변 길이 부호를 상기 화상 신호의 프레임의 부 분 영역 단위로 다중화하고,
    상기 부호열 조립 수단은, 상기 다중화 부호열의 상기 부분 영역 단위로 다중화된 각 다중화 단위의 끝 부분의 직전 또는 직후에 위치하는 동기 부호 삽입 위치에 동기 부호를 삽입하는 것을 특징으로 하는 부호화 장치.
  7. 제2항 내지 제6항 중 어느 하나의 항에 있어서,
    상기 출력 부호열 중의 상기 동기 부호 삽입 위치에 있는 상기 동기 부호 이외의 부호열을 상기 동기 부호와의 해밍 거리가 미리 정해진 값 이상이 되도록 변환하는 부호열 변환 수단을 더 포함하는 것을 특징으로 하는 부호화 장치.
  8. 제2항에 있어서,
    상기 부호열 조립 수단은, 상기 출력 부호열 중에 상기 동기 부호 및 그 일부와의 사이의 해밍 거리가 미리 정해진 값 이상인 스터핑 비트를 삽입하는 것을 특징으로 하는 부호화 장치.
  9. 제8항에 있어서,
    상기 부호열 조립 수단은, 상기 스터핑 비트를 상기 동기 부호의 직전에 배치하는 것을 특징으로 하는 부호화 장치.
KR1020077014574A 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법 KR100877952B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP6145096 1996-03-18
JPJP-P-1996-00061450 1996-03-18
JPJP-P-1996-00163082 1996-06-24
JP16308296 1996-06-24
JP23236296 1996-09-02
JPJP-P-1996-00232362 1996-09-02
JP24388396A JP3597647B2 (ja) 1995-09-29 1996-09-13 符号化方法及び装置
JPJP-P-1996-00243883 1996-09-13
KR1020017013759A KR100773304B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020017013759A Division KR100773304B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법

Publications (2)

Publication Number Publication Date
KR20070086680A KR20070086680A (ko) 2007-08-27
KR100877952B1 true KR100877952B1 (ko) 2009-01-12

Family

ID=27464039

Family Applications (22)

Application Number Title Priority Date Filing Date
KR1020077014721A KR20070086740A (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020017013759A KR100773304B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020067022908A KR100685771B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014579A KR100877944B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014723A KR100877949B1 (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014576A KR100877950B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014709A KR100877948B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014712A KR100841974B1 (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014573A KR100877953B1 (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014713A KR20070086733A (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014578A KR100877951B1 (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014574A KR100877952B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014722A KR20070086741A (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1019980707354A KR20000064643A (ko) 1996-03-18 1997-03-18 부호화장치및복호화장치
KR1020077014577A KR100841973B1 (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014575A KR100841976B1 (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014714A KR100841975B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014710A KR20070086730A (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020067022909A KR100685772B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014711A KR20070086731A (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014708A KR20070086728A (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014572A KR100841972B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법

Family Applications Before (11)

Application Number Title Priority Date Filing Date
KR1020077014721A KR20070086740A (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020017013759A KR100773304B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020067022908A KR100685771B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014579A KR100877944B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014723A KR100877949B1 (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014576A KR100877950B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014709A KR100877948B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014712A KR100841974B1 (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014573A KR100877953B1 (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014713A KR20070086733A (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014578A KR100877951B1 (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법

Family Applications After (10)

Application Number Title Priority Date Filing Date
KR1020077014722A KR20070086741A (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1019980707354A KR20000064643A (ko) 1996-03-18 1997-03-18 부호화장치및복호화장치
KR1020077014577A KR100841973B1 (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014575A KR100841976B1 (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014714A KR100841975B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014710A KR20070086730A (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020067022909A KR100685772B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014711A KR20070086731A (ko) 1996-03-18 1997-03-18 복호화 장치 및 복호화 방법
KR1020077014708A KR20070086728A (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법
KR1020077014572A KR100841972B1 (ko) 1996-03-18 1997-03-18 부호화 장치 및 부호화 방법

Country Status (7)

Country Link
EP (12) EP1755264A3 (ko)
KR (22) KR20070086740A (ko)
CN (2) CN1271815C (ko)
AU (1) AU1942797A (ko)
BR (2) BR9715336B1 (ko)
CA (1) CA2249540C (ko)
WO (1) WO1997035401A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1178620A1 (fr) * 2000-07-31 2002-02-06 Koninklijke Philips Electronics N.V. Procédé et systeme pour la synchronisation de trame
EP1310097B1 (en) 2000-08-15 2019-07-31 Microsoft Technology Licensing, LLC Methods, systems and data structures for timecoding media samples
US20020089602A1 (en) 2000-10-18 2002-07-11 Sullivan Gary J. Compressed timing indicators for media samples
EP1261204A2 (en) * 2001-03-29 2002-11-27 Matsushita Electric Industrial Co., Ltd. Method and apparatus for data reproduction
US9019899B2 (en) * 2001-09-27 2015-04-28 Alcatel Lucent Method and apparatus for synchronous communication of frames of digital information
US7149247B2 (en) 2002-01-22 2006-12-12 Microsoft Corporation Methods and systems for encoding and decoding video data to enable random access and splicing
CN1618235A (zh) 2002-01-22 2005-05-18 微软公司 用于防止起始码模仿和数据填充的方法和系统
TWI310137B (en) * 2002-04-19 2009-05-21 Microsoft Corp Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions
US8213779B2 (en) 2003-09-07 2012-07-03 Microsoft Corporation Trick mode elementary stream and receiver system
US7852919B2 (en) 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US7839930B2 (en) 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
US7924921B2 (en) 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US7609762B2 (en) 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
CN100353274C (zh) * 2004-01-14 2007-12-05 凌阳科技股份有限公司 以保护位元码对—程序进行加密保护的装置
KR101044935B1 (ko) 2004-01-14 2011-06-28 삼성전자주식회사 전송 에러가 발생한 지점을 탐지하여 바르게 디코딩된데이터를 복원하는 디코딩 방법 및 그 디코딩 장치
CN100390697C (zh) * 2004-01-14 2008-05-28 凌阳科技股份有限公司 以检查比特对处理器指令进行加密保护的装置及方法
KR100987777B1 (ko) * 2004-02-05 2010-10-13 삼성전자주식회사 에러의 전파를 방지하고 병렬 처리가 가능한 디코딩 방법및 그 디코딩 장치
CN101807926B (zh) * 2010-01-21 2013-01-23 上海电力学院 低功耗soc测试数据压缩编码方法
JP2012073678A (ja) * 2010-09-27 2012-04-12 Fujitsu Ltd 擬似エラー発生装置
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
KR102198174B1 (ko) 2020-08-31 2021-01-04 정재우 용접용 토치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3578240D1 (de) * 1985-12-04 1990-07-19 Ibm Multiplexschnittstelle fuer eine uebertragungssteuerung.
JPH03198432A (ja) * 1989-12-26 1991-08-29 Sharp Corp 符号・復号器
JPH03250935A (ja) * 1990-02-28 1991-11-08 Victor Co Of Japan Ltd 可変長データ伝送方式及びその送受信装置
JP3341781B2 (ja) * 1992-12-15 2002-11-05 ソニー株式会社 画像復号化装置および画像符号化装置
US5396497A (en) * 1993-02-26 1995-03-07 Sony Corporation Synchronization of audio/video information
JPH06343065A (ja) * 1993-02-26 1994-12-13 Sony Corp デコーディングシステム、デマルチプレクス方法および信号処理方法
JP2862064B2 (ja) * 1993-10-29 1999-02-24 三菱電機株式会社 データ復号装置及びデータ受信装置及びデータ受信方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Final Text For DIS 11172-1 (Rev.2): IT: Coding Of Moving Pictures And Associated Audio For Digital Storage Media - Part 1 - Coding At Up To About 1.5 MBIT/S, PASSAGE TEXT" TOKYO, ISO, 1992, pages 1-5
CHUJOH T ET AL: "Error Tolerant Very Low Bitrate Video Coding (2) - Duplicate Transmission For Important Information And Reversible Code -" Annual Meeting Of IEICE, vol. D-224, 11 March 1996, page 12
WAI-MAN LAM ET AL: "Self-Synchronizing Variable-Length Codes For Image Transmission" ICASSP, US, NEW YORK, IEEE, vol. CONF. 17, 23 March 1992 (1992-03-23), pages 477-480
WATANABE T ET AL: "Error Resilient Low-Bitrate Video Coding For Mpeg4" IEICE Technical Report, TOKYO, JP, vol. 95, 14 March 1996 (1996-03-14), pages 37-44

Also Published As

Publication number Publication date
EP1755258A3 (en) 2008-04-02
KR20070086730A (ko) 2007-08-27
KR20070086729A (ko) 2007-08-27
KR20070086741A (ko) 2007-08-27
KR100877950B1 (ko) 2009-01-12
EP0886398A1 (en) 1998-12-23
KR20000064643A (ko) 2000-11-06
EP2211495A1 (en) 2010-07-28
EP1755266A3 (en) 2008-04-02
EP1755261A2 (en) 2007-02-21
EP1755262A2 (en) 2007-02-21
KR100841974B1 (ko) 2008-06-30
KR20070086685A (ko) 2007-08-27
CN1622505A (zh) 2005-06-01
EP1755265A2 (en) 2007-02-21
CA2249540C (en) 2006-02-21
KR100841975B1 (ko) 2008-06-30
EP1755258A2 (en) 2007-02-21
EP1755260A3 (en) 2008-04-02
KR100773304B1 (ko) 2007-11-06
KR20070086740A (ko) 2007-08-27
EP1755257A2 (en) 2007-02-21
KR100685771B1 (ko) 2007-02-26
WO1997035401A1 (en) 1997-09-25
KR20060121995A (ko) 2006-11-29
KR20070086680A (ko) 2007-08-27
KR20070086681A (ko) 2007-08-27
KR100841976B1 (ko) 2008-06-30
KR20060095869A (ko) 2006-09-04
EP1755260A2 (en) 2007-02-21
EP1755262A3 (en) 2008-04-02
EP1755263A2 (en) 2007-02-21
KR100685772B1 (ko) 2007-02-26
BR9715336B1 (pt) 2011-03-09
KR20070086732A (ko) 2007-08-27
EP1755259A3 (en) 2008-04-02
KR100877948B1 (ko) 2009-01-12
KR20070086734A (ko) 2007-08-27
KR100841972B1 (ko) 2008-06-30
CN1271815C (zh) 2006-08-23
EP1755266A2 (en) 2007-02-21
BR9708223B1 (pt) 2010-07-27
KR100877953B1 (ko) 2009-01-12
KR100841973B1 (ko) 2008-06-30
CN1216653A (zh) 1999-05-12
KR20070086683A (ko) 2007-08-27
EP1755265A3 (en) 2008-04-02
AU1942797A (en) 1997-10-10
KR20070086742A (ko) 2007-08-27
CA2249540A1 (en) 1997-09-25
EP1755263A3 (en) 2008-04-02
KR20070086682A (ko) 2007-08-27
EP1755257A3 (en) 2008-04-02
KR100877951B1 (ko) 2009-01-12
EP0886398A4 (en) 2001-01-17
EP1755261A3 (en) 2008-04-02
KR20070086733A (ko) 2007-08-27
KR20070086728A (ko) 2007-08-27
KR20070086731A (ko) 2007-08-27
CN100593294C (zh) 2010-03-03
KR20060121994A (ko) 2006-11-29
KR100877949B1 (ko) 2009-01-12
EP1755259A2 (en) 2007-02-21
KR20070086679A (ko) 2007-08-27
EP1755264A3 (en) 2008-04-02
KR20070086684A (ko) 2007-08-27
KR20070086678A (ko) 2007-08-27
KR100877944B1 (ko) 2009-01-12
EP1755264A2 (en) 2007-02-21
BR9708223A (pt) 1999-07-27

Similar Documents

Publication Publication Date Title
KR100877952B1 (ko) 부호화 장치 및 부호화 방법
JP2005102296A (ja) 符号化方法及び装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131219

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151209

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 9

EXPY Expiration of term