कोड-एक्साइटेड लीनियर प्रेडिक्शन

कोड-एक्साइटेड लीनियर प्रेडिक्शन (सीईएलपी) एक लीनियर प्रेडिक्टिव कोडिंग स्पीच कोडिंग एल्गोरिदम है जिसे मूल रूप से 1985 में मैनफ्रेड आर. श्रोएडर और बिष्णु एस. अटल द्वारा प्रस्तावित किया गया था। उस समय, यह मौजूदा कम बिट-रेट एल्गोरिदम की तुलना में काफी बेहतर गुणवत्ता प्रदान करता था, जैसे कि अवशिष्ट-उत्साहित रैखिक भविष्यवाणी (आरईएलपी) और रैखिक भविष्य कहनेवाला कोडिंग (एलपीसी) वोकोडर्स  (उदाहरण के लिए, एफएस-1015)। बीजगणितीय सीईएलपी, आराम से CELP, कम-विलंब सीईएलपी और वेक्टर योग उत्साहित रैखिक भविष्यवाणी जैसे इसके वेरिएंट के साथ, यह वर्तमान में सबसे व्यापक रूप से इस्तेमाल किया जाने वाला भाषण कोडिंग एल्गोरिदम है।. इसका उपयोग MPEG-4 ऑडियो स्पीच कोडिंग में भी किया जाता है। CELP आमतौर पर एल्गोरिदम के एक वर्ग के लिए एक सामान्य शब्द के रूप में उपयोग किया जाता है, न कि किसी विशेष कोडेक के लिए।

पृष्ठभूमि
CELP एल्गोरिथ्म चार मुख्य विचारों पर आधारित है:
 * रैखिक भविष्यवाणी (एलपी) के माध्यम से भाषण उत्पादन के स्रोत-फ़िल्टर मॉडल का उपयोग करना (पाठ्यपुस्तक भाषण कोडिंग एल्गोरिदम देखें);
 * एलपी मॉडल के इनपुट (उत्तेजना) के रूप में एक अनुकूली और एक निश्चित कोडबुक का उपयोग करना;
 * अवधारणात्मक रूप से भारित डोमेन में बंद-लूप में खोज करना।
 * वेक्टर परिमाणीकरण (वीक्यू) लागू करना

1983 में श्रोएडर और अटल द्वारा सिम्युलेटेड मूल एल्गोरिदम को क्रे-1 सुपरकंप्यूटर पर चलाने पर भाषण के 1 सेकंड को एनकोड करने के लिए 150 सेकंड की आवश्यकता होती थी। तब से, कोडबुक को लागू करने के अधिक कुशल तरीकों और कंप्यूटिंग क्षमताओं में सुधार ने मोबाइल फोन जैसे एम्बेडेड उपकरणों में एल्गोरिदम को चलाना संभव बना दिया है।

CELP डिकोडर
सीईएलपी की जटिल एन्कोडिंग प्रक्रिया की खोज करने से पहले हम यहां डिकोडर का परिचय देते हैं। चित्र 1 एक सामान्य CELP डिकोडर का वर्णन करता है। उत्तेजना निश्चित (a.k.a. स्टोकेस्टिक या इनोवेशन) और अनुकूली (a.k.a. पिच) कोडबुक से योगदान को जोड़कर उत्पन्न होती है:


 * $$e[n]=e_f[n]+e_a[n]\,$$

कहाँ $$e_{f}[n]$$ निश्चित (a.k.a. स्टोकेस्टिक या इनोवेशन) कोडबुक योगदान है और $$e_{a}[n]$$ अनुकूली (पिच (संगीत)) कोडबुक योगदान है। निश्चित कोडबुक एक वेक्टर परिमाणीकरण शब्दकोश है जो कोडेक में (स्पष्ट रूप से या स्पष्ट रूप से) हार्ड-कोडित है। यह कोडबुक बीजगणितीय (एसीईएलपी) हो सकती है या स्पष्ट रूप से संग्रहीत की जा सकती है (उदाहरण के लिए स्पीक्स)। अनुकूली कोडबुक में प्रविष्टियों में उत्तेजना के विलंबित संस्करण शामिल हैं। इससे आवधिक संकेतों, जैसे ध्वनियुक्त ध्वनियों को कुशलतापूर्वक कोड करना संभव हो जाता है।

उत्तेजना को आकार देने वाले फ़िल्टर में फॉर्म का एक ऑल-पोल मॉडल होता है $$1/A(z)$$, कहाँ $$A(z)$$ इसे भविष्यवाणी फ़िल्टर कहा जाता है और इसे रैखिक भविष्यवाणी (लेविंसन रिकर्सन|लेविंसन-डर्बिन एल्गोरिदम) का उपयोग करके प्राप्त किया जाता है। एक ऑल-पोल फ़िल्टर का उपयोग किया जाता है क्योंकि यह मानव स्वर पथ का अच्छा प्रतिनिधित्व करता है और क्योंकि इसकी गणना करना आसान है।

CELP एनकोडर
सीईएलपी के पीछे मुख्य सिद्धांत को विश्लेषण-दर-संश्लेषण (एबीएस) कहा जाता है और इसका मतलब है कि एन्कोडिंग (विश्लेषण) एक बंद लूप में डिकोडेड (संश्लेषण) सिग्नल को अवधारणात्मक रूप से अनुकूलित करके किया जाता है। सिद्धांत रूप में, सबसे अच्छा सीईएलपी स्ट्रीम सभी संभावित बिट संयोजनों को आज़माकर और सबसे अच्छा ध्वनि वाला डिकोडेड सिग्नल उत्पन्न करने वाले को चुनकर तैयार किया जाएगा। यह स्पष्ट रूप से दो कारणों से व्यवहार में संभव नहीं है: आवश्यक जटिलता वर्तमान में उपलब्ध किसी भी हार्डवेयर से परे है और "सर्वोत्तम ध्वनि" चयन मानदंड का तात्पर्य एक मानव श्रोता से है।

सीमित कंप्यूटिंग संसाधनों का उपयोग करके वास्तविक समय एन्कोडिंग प्राप्त करने के लिए, सीईएलपी खोज को एक सरल अवधारणात्मक भार फ़ंक्शन का उपयोग करके छोटी, अधिक प्रबंधनीय, अनुक्रमिक खोजों में विभाजित किया गया है। आमतौर पर, एन्कोडिंग निम्नलिखित क्रम में की जाती है:


 * लीनियर प्रेडिक्टिव कोडिंग (एलपीसी) की गणना और मात्रा निर्धारित की जाती है, आमतौर पर रेखा वर्णक्रमीय जोड़े (एलएसपी) के रूप में।
 * अनुकूली (पिच) कोडबुक की खोज की जाती है और उसका योगदान हटा दिया जाता है।
 * निश्चित (नवाचार) कोडबुक की खोज की जाती है।

शोर भार
अधिकांश (यदि सभी नहीं) आधुनिक ऑडियो कोडेक्स मनोध्वनिकी का प्रयास करते हैं ताकि यह अधिकतर आवृत्ति क्षेत्रों में दिखाई दे जहां कान इसका पता नहीं लगा सकें। उदाहरण के लिए, कान स्पेक्ट्रम के उन हिस्सों में शोर के प्रति अधिक सहनशील होता है जो तेज़ होते हैं और इसके विपरीत। इसीलिए सरल द्विघात त्रुटि को कम करने के बजाय, CELP अवधारणात्मक रूप से भारित डोमेन के लिए त्रुटि को कम करता है। वेटिंग फ़िल्टर W(z) आमतौर पर बैंडविड्थ विस्तार के उपयोग से LPC फ़िल्टर से प्राप्त होता है:


 * $$W(z) = \frac{A(z/\gamma_1)}{A(z/\gamma_2)}$$

कहाँ $$\gamma_1 > \gamma_2$$.

यह भी देखें

 * एमपीईजी-4 भाग 3 (एमपीईजी-4 ऑडियो ऑब्जेक्ट प्रकार के रूप में सीईएलपी)
 * G.728 - कम-विलंब कोड उत्साहित रैखिक भविष्यवाणी का उपयोग करके 16 kbit/s पर भाषण की कोडिंग
 * G.718 - दो-चरण कोडिंग संरचना में बैंड (50-6400 Hz) के लिए निचली दो परतों के लिए CELP का उपयोग करता है
 * G.729.1 - तीन-चरण कोडिंग संरचना में निचले बैंड (50-4000 Hz) के लिए CELP कोडिंग का उपयोग करता है
 * ऑडियो कोडिंग प्रारूपों की तुलना
 * CELT एक संबंधित ऑडियो कोडेक है जो CELP से कुछ विचार उधार लेता है।

संदर्भ

 * B.S. Atal, "The History of Linear Prediction," IEEE Signal Processing Magazine, vol. 23, no. 2, March 2006, pp. 154–161.
 * M. R. Schroeder and B. S. Atal, "Code-excited linear prediction (CELP): high-quality speech at very low bit rates," in Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol. 10, pp. 937–940, 1985.

बाहरी संबंध

 * This article is based on a paper presented at Linux.Conf.Au
 * Some parts based on the Speex codec manual
 * reference implementations of CELP 1016A (CELP 3.2a) and LPC 10e.
 * Linear Predictive Coding (LPC)

चयनित रीडिंग

 * CELP कोडिंग का परिचय
 * वाक् प्रसंस्करण: एलपीसी विश्लेषण और संश्लेषण का सिद्धांत

श्रेणी:भाषण कोडेक्स