The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers.    


Datasheet Search Engine   
 
Part # or Description: • 5V RS232 Driver • 2SC5066* • "Real Time Clock" • "USB connector" • "blue led" 5mm • 10 watt zener diode • 2N3055* motorola
 
Search Tip: Try entering the part number only. Include a wildcard (eg. lm317* or 1n4148*)

 

 

Constant Computing: Data Encryption, Data Compression, Speech Rec


Datasheet Thumbnail

  

Download PDF



Top Searches for this datasheet



Intel Corporation
Constant Computing:
Data Encryption, Data Compression, Speech Recognition
January 1999 Document Version
Constant Computing:
Page
Copyright 1999 Intel® Corporation Constant Computing Technical Note January 1999 Document version Acknowledgments: Technical Note developer: Tracton, DR&E, Platform Engineering, Content Group, Intel Corporation
Constant Computing:
Page
Contents
Abstract.4 Rationale Constant Computing What Constant Computing?.7 Core Technologies Constant Computing Applications Core Technologies.9 Data Encryption Security.10 Security Components Cryptography.13 VPNs Offer Savings Secure Tunnels with IPSec Data Compression.17 Compression.17 Compression strategies.17 Speech Recognition Speech.25 Other Speech Applications Other Enhancement Technologies.28 Platform Services.28 Knowledge Management System Health.30 Visualization Implementation Methodology Constant Computing Methodologies.32 Multi-Threaded Implementation.32 Determining Platform Features Platform Adaptive Code Determining Processor Features Characteristics Examining Platform Loading.40 Conclusion
Constant Computing:
Page
Constant Computing:
Data Encryption, Data Compression, Speech Recognition
Abstract
This technical note presents technical aspects Constant Computing. primary objective paper present technology applications that used create Constant Computing Environment. Core technologies particularly appropriate Constant Computing applications discussed detail this paper, data encryption, data compression, speech recognition have been selected special attention. each these important technologies, paper provides brief rationale that technology, together with technical analysis implementation information. last part paper supplies information that developers make Constant Computing applications adaptive specific platform which they running. Other Constant Computing technologies will presented later, additional Technical Notes.
Constant Computing:
Page
Rationale Constant Computing
computing environment today characterized Networked computers Increased complexity Increased computer power
concept Constant Computing Environment (CCE) arose from needs created increasing complexity computing opportunity provided ever increasing computing power. Quite simply "Constant Computing" means that computer always working best interests owners. This concept extremely attractive both business management. Constant computing applications exploit high performance multitasking capability Pentium® future processors increase security, mask complexity, reduce bandwidth requirements, increase ease use, provide other business technical benefits.
Constant Computing Benefits
benefits derived from Constant Computing, such relief from complexity information overload will very popular with users. departments will applaud business advantages Constant Computing, such increased security reliability, well direct benefits users. Total cost ownership (TCO) much interest business managers. important Constant Computing benefit reduction using system health applications that minimize maintenance costs. Applications will more responsive users. Constant Computing applications anticipate user needs, prepare potential request Constant Computing Environment, have desired information available before user asks. Many more benefits will apparent current applications application opportunities reviewed.
Product Enhancement Opportunities ISVs
Constant Computing initiative provides exciting product enhancement opportunities Independent Software Vendors (ISVs). adding enhancement features such those described this paper, ISVs make their products more attractive computer users computing
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 departments. Such enhanced products compactly described "Constant Computing Enabled." order stay competitive Constant Computing Enabled business environment; independent software vendors will need Reconsider business environment they deliver software Architect software reflect this thinking.
Constant Computing Environment, computing system will constantly monitoring system's health. scenario would have Constant computing application analyzing system problems such deteriorating hardware software environment. application would send information computers used support personnel. Here different Constant computing application would analyze relative importance information background along with suggested actions. information were serious enough, would presented support personnel prioritized alert. Other example scenarios: Platform services such compression security Automatic management repetitive mundane tasks Employment agents cope with information overload Data information receipt integration Automatic business processing Automatic loading version number verification application updates from web.
These simple examples confirm need software vendors remain competitive architecting delivering software that handle users' needs. Unfortunately many software products currently were designed yesterday's environment performance, single-thread, single tasking, mostly foreground processing. With high performance reliable multitasking environments becoming norm business, first-class, industryleading software should architected accordingly.
Constant Computing:
Page
What Constant Computing?
What does "Constant Computing" mean technical sense, does this paradigm effect software engineer? Intel Corporation defines "Constant Computing" using power Pentium® future processors active enhancements that background multithreaded multi-tasking, without interfering with foreground applications. Constant Computing important computing philosophy. Constant computing architecting applications exploit power powerful emerging personal computing platforms. These platforms have much power that class "user friendly" "business friendly" applications added software products. These applications provide significant customer benefits, keeping computer always working, interests users customers. Constant computing applications take full advantage platform's multithreaded, multi-tasking capabilities. Multi-tasking means that multiple tasks performed within application. This goes well beyond more common capability concurrent applications (note: concurrent applications seen user multiple active windows). Multi-threading means multiple processes properly synchronized within task, provide necessary application integrity. short, Constant Computing applications background processes fully supported multi-threaded, multi-tasking platform environment. constant computing application will take advantage processor platform headroom. "Headroom" difference between what resources required foreground processing versus what resources available total. Headroom resources "free." imaginative developer afford headroom anticipate user order enhance application's responsiveness. fundamental fact that new, powerful processors have tremendous processing power. This power turn creates available headroom exploited ISVs. remainder this paper presents core technology implementation aids.
Constant Computing:
Page
Core Technologies
Constant Computing Applications
Constant Computing means computing system always work. computer constantly performing tasks such Security services Data compression Anticipation user needs Receiving integrating data from wealth data sources. Putting agents work help user handle information overload. Automating business technical processes
Putting Constant Computing Work
Constant Computing just technology; philosophy increase user productivity. Constant Computing application would make improved processing capabilities platform seek avenues possibilities where user would benefit. definitive example that spelling grammar checking while users entering editing text. With today's software, user waits while checking done foreground. enhanced product would checking background then present results when user asks. This type enhancement takes advantage fact that user processor's power just typing. Therefore, applications should perform something beneficial same time. Users typically working single task, profit from system completing other more mundane tasks. This background completion work keys maintaining increasing user productivity. Escalation information data transmission increased need conserve network bandwidth while same time improving security. Network bandwidth disk space expensive commodities while MIPs
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 memory relatively inexpensive. makes sense software developers consider trading MIPs carry background tasks such compression decompression, encryption decryption. ability modern systems perform transparent background processing will improve overall performance productivity. number information data sources increases, including proliferation distributed components; potential virus infection increases accordingly. Real time virus checking client, addition traditional virus detection essential. Real time virus checking coupled with self-healing technologies diagnose known computer problems without user intervention. This capability opens whole essential, fundamentally mundane processing tasks. Adding these processing tasks requires writing software that perform these kinds tasks parallel with main application.
Core Technologies
Core Technologies sets algorithms that significantly beneficial diverse group applications. call these generally useful routines "core technologies", they central supplying better experience. Core technologies those technologies that sufficiently important embedded service routines distributed Windows DLLs. core technologies enhances product differentiates from competition. first time processors exists that allows developers include core technologies that create richer more rewarding user experience. following table lists common core technologies: Security Data Encryption Authentication Public Generation Algorithms protocols IPSec DNSSec Certificates Compression Auto-archiving Virus Protection Updating Imaging/Text Routines Engine Intranet/Extranet crawlers
Platform Services
Knowledge
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 Management Information aggregators Activity monitors Data Organizers Information Discovery Agents Storage checkers Defragmenters Memory checkers Configuration Checkers Memory/CPU Headroom Checkers BIOS/Driver updating Render Engine Visual Explorers Recognition Synthesis
System Health
Visualization Speech
this paper, present detailed information core technologies data encryption, data compression, speech recognition. Technical details each technology supplied along with implementation information. remaining technologies will presented other Technical Notes.
Data Encryption
Security
security considered essential application area Constant Computing? Security clearly extremely important component. should considered essential component because applications have security these applications used business world. Security software tools enable businesses protect their sensitive information, control access databases, open opportunities with partners share information, access greater quantities important information real-time. this done protecting integrity information assigning appropriate level access appropriate parties. Much done Constant Computing Environment enhance security. This section explores what done security Constant Computing Environment. focus encryption. Security vital concern organizations. networking become ubiquitous, conduct business pleasure across Internet, corporate intranets, across extranet connections. connectivity increases does issue security. Reports, competitive information, credit
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 information, intellectual property, private data continuously being sent between machines. With value data escalating, security ever more important. Security essential high value content today's future business home PCs. paramount importance that content providers have protect their property. While security methods steadily improving, remains weak link security chain. must have comprehensive, consistent security solution. Constant computing technology strengthen that important link.
What defending against?
Against what whom protecting ourselves? Hackers over network single greatest threat against secure communications. Hackers engage methods such spoofing, replay, social engineering effect theft, fraud, denial service. Bits intercepted midst their journey between information provider intended receiver. concept malicious code that once only meant virus Trojan horses include programs designed locally manipulate secrets. also protecting ourselves against malicious user, pirates software worse, tampering with bits that belong Hackers attack organization network, Internet, server, widely distributed, relatively unprotected growing inventory PCs.
Consumer Security Model
consumers home users want access their banks, their companies, shop purchase across Internet. Consumers want their credit card information intercepted. They want everyone know their bank stock information. They want protect their private affairs. Consumer's prime focus Internet. need reduce their risks their fears.
Business Security Model
business user wants able publish proprietary information intranet sites, send intellectual property e-mail network, wants able conduct business electronically. Business people want their secrets published everywhere. They want hackers, malicious
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 employees, anyone else interfere with business operations through malevolent network computer access. business user operates world that uses Internet, well more protected world intranet extranet. Users well aware huge risks eager technological help.
Basic Premise
Security enforcement trust. trust that have that third parties read mail. trust have that computer other network that think trust that digital audio video will illegally copied. Trust requires ability create, keep secrets. knowledge secret proof right that secret. Secrets used privacy authentication. Secrets must disclosed.
Hiding Secrets
Computers implement trust hiding secrets their execution keys, algorithms content. Software hide secrets user software trusted. Software designed make finding secrets difficult. software user trustworthy then secrets must hidden hardware. Public encryption based mathematically related keys, each performing inverse function other. public person/company that shared with anyone wishing correspond with subject. private held privately protected hard drive, smartcard, etc. This used owner encrypt outgoing information decrypt information originally encrypted with person's public key. Public/private keys used authentication, typically multiple entry points networks, servers, applications. encrypting these keys, hide them from attackers. encrypting content, hide from attackers. encrypting headers network packets, hide paths through network. encrypting addresses, hide valuable computing resources.
Security Components
essential components Internet security are:
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 Authentication Verifying that parties other they claim Privacy Ensuring that transmitted content read intercepted unauthorized recipients Integrity Verifying that transmitted data received unchanged Firewalls Controlling what enter leave network Certificates Verifying that software comes from trusted source these components require encryption. addition have manage essential encryption keys, including generation distribution.
Cryptography
Therefore, most important technology then encipherment, more commonly known encryption. Cryptography, technology encryption/encipherment, vital interest. Cryptography only technology capable delivering trust cyberspace. itself, cryptography provide trust, only technology. Cryptographic solutions require management keys other secrets. Only management regulation cryptographic secrets will create trust cyberspace.
Types Attack
Three fundamental attacks carried against encrypted information. ciphertext attack, adversary only access encrypted information. known plaintext attack, adversary access both plaintext corresponding ciphertext. third chosen plaintext attack, where adversary choose plaintext will collect corresponding ciphertext.
Technology Cryptography
must kept mind that potential adversary clearly understands algorithms involved security easily mount plaintext attack. general, ciphers continuous everyday use, observed adversary, that missing public/private key. What adversary needs steal key. provide security, platform must start provide following capabilities:
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 Block ciphers exchange algorithm Digital signature algorithm Cryptographic hash random number source
Block Ciphers
Block ciphers encrypt block data using specific block size. DES, (Data Encryption Standard) block size bits. cipher algorithm strength function size. Block cipher algorithms produce output block time, where each output block larger than input block. opposite Plaintext encipherment/encryption decipherment/deencryption requires inverse algorithm. concept ciphertext originated 1949 from work done Shannon. enable secure ciphers algorithms create relationship between ciphertext that complex possible. bits plaintext diffuse over many ciphertext bits. Bits also rearranged change order. Moreover, certain bits substituted further confuse adversary. most cases, fundamental objective that replacing occurrences certain patterns with other patterns.
Cipher Algorithm
Ciphertext
designing secure platform, must aware brute force attacks. adversary will possible ways obtain intellectual property. these ways differential crypto-analysis. This method used against iterated ciphers with weak round function. adversary chooses pairs plaintext with known differences observes differences ciphertext. Probabilities then assigned possible keys. (round-16) crypto-analyzed using chosen plaintext pairs. Another method linear crypto-analysis. This proven effective against ciphers with weak non-linearity, constructing linear algebraic systems equations.
Digital Certificates, Signatures, Hash
digital certificate virtual certificate used identify person software with their public key, other information such authorization levels. Certificates "digitally signed" trusted third party Certificate Authority. X509V3 standard format digital certificates.
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 digital signature character string that encrypted with person's private key. only decrypted, therefore verified, those using that person's public key. hash one-way mathematical function take large message convert into output value with shorter number bits length. attempt alter message alters resultant hash value. Only person produce hash message, everyone verify whether hash correct been altered.
VPNs Offer Savings
Virtual Private Networks (VPN) top-of-the-list security subject. VPNs help businesses providing secure LAN-to-LAN networking across Internet. VPNs operate fraction cost traditional long distance connections. companies that private WANs, dramatic cost savings provided VPNs fully justifies excitement about this technology. smaller companies, affordability technology offers reap benefits wide area networking first time. Typical cost savings 50-70% Internet with VPN, versus private connections such ISDN frame relay. Additional VPNs take advantage wide availability Internet connections through worldwide. Constant computing security applications, therefore, that benefit VPNs major target ISVs.
Secure Tunnels with IPSec
VPNs constructed with secure tunnels connecting LANs corporate network. secure tunnel link between private networks where data encrypted end-to-end basis. This technique been standardized Security (IPSec), framework open standards ensuring secure private communications over networks. Based standards developed Internet Engineering Task Force (IETF), IPSec provides excellent levels confidentiality, integrity, authenticity data communications across public network. IPSec framework open security standards developed Internet Engineering Task Force (IETF). IPSec essential component standards-based, flexible solution deploying network-wide security policy.
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 IPSec implements network layer encryption authentication providing end-to-end security solution network architecture itself. Thus, systems applications need changes have advantage strong security. Because encrypted packets look like ordinary packets, they easily routed through network, including Internet, without changes intermediate networking equipment. only devices that know about encryption points. This feature greatly reduces both implementation management costs. IPSec combines several different security technologies including exchange, public cryptography, keyed hash algorithms providing packet authentication, bulk encryption algorithms, encrypting data. IPSec-related protocols defined 1825-1829 several Internet drafts. Many initial implementations IPSec support from Data Security Data Encryption Standard (DES). Many other encryption systems could used, including IDEA, Blowfish, Secure Hash Algorithm (SHA), RC4. Intel Express Routers, example, offer encryption using Blowfish algorithm 144-bit encryption key. Because each Internet tunnel virtual link, different encryption keys used each tunnel. Blowfish symmetric block cipher that used drop-in replacement IDEA. takes variable-length key, from bits bits, making ideal both domestic exportable use. been analyzed considerably, slowly gaining acceptance strong encryption algorithm. Blowfish block cipher that encrypts data 8-byte blocks. algorithm consists parts: key-expansion part data-encryption part. expansion converts variable-length most bytes (448 bits) into several subkey arrays totaling 4168 bytes. Blowfish rounds. Each
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 round consists key-dependent permutation, key- data-dependent substitution. operations XORs additions 32-bit words. only additional operations four indexed array data lookups round. More information VPNs available
Data Compression
Compression
compression important Constant Computing applications? reasons. Make users happy because they things better faster; secondly, they things they now. Compression makes business managers happy because compression saves money network resources disk storage. other words, computer that always working beneficial both owners users. Internet becoming faster. Compression technology becoming better. combination allows basic video, where once users wait even simple pictures delivered. Streaming video audio becoming commonplace. Soon constant computing will able supply constant video audio hoc, informal teleconferencing. With better compression technology, quality variety delivered products will increase dramatically.
Compression strategies
Compression strategies fall into wide categories, lossless lossy. Lossless compression most frequently encountered. this category, file stream compressed fashion that allows original data precisely reconstructed. Lossy compression trades data loss high compression ratio. Lossy compression allows information undergo extreme compression with ratios 10:1 (versus non-lossy compression) greater being achieved. While lossy compression clearly unacceptable compression textual, executable, mathematical data, lossy compression beneficially used with photographic graphic data. Compression takes many forms solves various problems. common compression preparing data storing mass storage media, what generally call disk compression. Compressing data create smaller file size saves space. Transmitting compressed file takes less time than that same file uncompressed. Alternatively, data being transmitted have been saved file, stream compression considered. This allows
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 transmission data without going through step creating file first. Stream compression applied data sent across Internet, fly, being created. following sections, discuss Huffman compression, Shannon-Fano coding, arithmetic coding, substitution compressors, Lempel-Ziv compression, variants, other compression techniques. Note that these techniques information purposes only. There other viable techniques available.
Huffman Compression
Huffman compression scheme statistical data compression technique. example, provides reduction number bits needed represent symbols English alphabet. Huffman coding scheme method operation follows. Rank symbols order probability occurrence. Successively combine symbols lowest probability form composite symbol. This technique used most archivers, such PKZIP, LHA, ZOO, ARJ.
Shannon-Fano Coding
technique closely related Huffman coding that Shannon-Fano Coding. Shannon-Fano works dividing symbols into equal almost equal subsets based probability occurrence characters each subset. first subset assigned binary zero, second binary one. first step then repeated until subsets have single element. binary identifiers assigned each step then concatenated produce substitute symbol. algorithm used create Huffman codes bottom used Shannon-Fano down. Huffman encoding always generates optimal codes; Shannon-Fano sometimes uses more bits, faster. would appear that Huffman Shannon-Fano coding perfect means compressing data. However, this case. These coding methods optimal when, only when, symbol probabilities integral powers, which unfortunately usually case. technique arithmetic coding does have this restriction. Arithmetic coding achieves same effect treating message single unit. This technique would, using Huffman coding, require enumeration every single possible message. result would theoretical entropy bound compression efficiency source, i.e., maximum amount information handled compression technology.
Constant Computing:
Page
Arithmetic Coding
that have efficient encoding technique, arithmetic coding, what with What need technique building model data. This data model used maximize encoder operations. simplest model fixed example, table standard letter frequencies English text that then obtain letter probabilities. improvement this technique adaptive model. other words, model that adjusts itself data data compressed. convert fixed model into adaptive adjusting symbol frequencies after each symbol encoded. allowing model track data being transmitted, improve performance. Moreover, even better. Using symbol probabilities themselves particularly good estimate true entropy, information content, data. take into account inter-symbol probabilities well. best compressors available today take this approach. Dynamic Markov Coding starts with zero order Markov model gradually extends this initial model compression proceeds. Prediction Partial Matching (PPM) looks match text compressed order-n context. match found, drops order-n-1 context, until reaches order Both these techniques, PPM, obtain much better model data compressed. When combined with arithmetic coding, result superior compression performance. arithmetic coding based compressors powerful, they used universally? Apart from fact that these techniques relatively hence haven't come into general yet, there major concern. These techniques consume large computing resources terms memory power. Arithmetic compressors build sophisticated models compression that chew through fair amount memory. This especially true case DMC, where models grow without bounds limit. arithmetic coding itself involves fair amount number crunching.
Substitution Compression
There alternative approach arithmetic compressors. There class compressors generally referred substitution dictionary based compressors. fundamental idea behind substitution compressors replace re-occurrence particular phrase group bytes piece data with reference previous occurrence that phrase group. There main classes schemes, named after Jakob Abraham Lempel. Lempel-Ziv (LZ78) based schemes work entering phrases into
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 dictionary. Then when repeat occurrence that particular phrase found, algorithm outputs dictionary index instead phrase. There exist several compression algorithms based this principle, differing mainly dictionary management. most well known scheme, generally mistakenly referred "Lempel-Ziv Compression." Terry Welch designed primarily high-performance disk controllers. most remarkable feature this type compression that entire dictionary created decoder without explicitly transmitting dictionary. transmission, decoder will have dictionary identical encoder has, built entirely part decoding process. more commonly encountered today variant known LZC, denote UNIX compress command. this, variant pointers have fixed length. Rather they start with length nine bits then slowly grow their maximum possible length once pointers particular size have been used Furthermore, dictionary frozen once full, with LZW. scheme continually monitors compression performance, decreasing entire dictionary, until been discarded rebuilt from scratch. further refinement, schemes that more recent some sort leastrecently-used (LRU) algorithm discard little-used phrases once dictionary becomes full, rather than throwing away entire dictionary. addition, schemes build dictionary adding single character current phrase. alternative technique, LZMW, also concatenates previous phrases. This results faster build longer phrases than character-by-character build other methods. disadvantage this method that more sophisticated data structure needed handle dictionary.
Sliding Window
LZ77-based schemes buffer keep track last bytes data processed. When phrase encountered that already been seen, algorithm outputs pair values corresponding previously seen phrase position phrase length. effect, compressor moves over data fixed-sized window referred sliding window. position part position-length pair refers position phrase within window. most commonly used algorithms derived from LZSS (Storer Szymanski) scheme. LZSS, compressor maintains window size bytes. There also look-ahead buffer, contents which tries find match window. Decompression simple fast. Whenever position-length pair encountered, that position window copy length bytes output.
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 Sliding window based schemes simplified numbering input text characters effect creating circular buffer. sliding window approach automatically creates effect that must done explicitly LZ78 schemes. Variants this method apply additional compression output LZSS compressor. these added measures result degree improvement over basic scheme, especially when data rather random, LZSS scheme little effect. Recently algorithm developed which combines ideas behind LZ77 LZ78 produce hybrid called LZFG. LZFG uses standard sliding window, stores data modified "trie" data structure produces output position text "trie." Since LZFG only inserts complete phrase into dictionary, should faster than other LZ77 based compressors. popular archivers, ARJ, LHA, ZIP, variations LZ77 theme.
Lossy Compression
Huffman variants lossless compressors; decompression will exactly restore original message. other side lossy compressors. These discussed following sections. MPEG MPEG (Moving Pictures Experts Group) current standard digital video audio compression. MPEG defines specific form compressed stream, which therefore defines decompressor function. However, compression end, algorithms individual vendors. Proprietary advantage thus obtained within scope publicly available international standard. MPEG starts with relatively low-resolution video sequence. This secondary source possibly decimated from original about 240-pixal frames frames/second with original high quality quality) audio. frame format derived from CCIR-601 digital television standard used professional video equipment. standard fields (not frames) second, where fields interlaced when displayed. chrominance channels fields/second, again interlaced. This degree chrominance decimation (2:1 horizontal direction) called 4:2:2. source input format (SIF) MPEG CCIR-601 decimated horizontal direction, time direction additional chrominance vertical direction. Finally, some lines make sure frames divide where needed. images color (RGB) converted space twochrominance channels decimated further pixels.
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 turns that images away with less resolution those channels notice This least true "natural" images, with computer generated images. basic scheme predict motion from frame frame then discrete cosine transforms (DCTs) organize redundancy space. DCTs done blocks, motion prediction done luminance, channel 16x16 blocks. Given 16x16 block current frame, look close match that block previous future frame. There also backward prediction modes where later frames sent first allow interpolating between frames). coefficients either actual data, difference between this block close match) quantized. coefficients then divided some value drop bits bottom end. Typically, many coefficients will then being zero. quantization values change every macroblock. macro-block 16x16 corresponding both results this, coefficients, motion vectors, quantization parameters, Huffman coded using fixed tables. coefficients have special Huffman table that two-dimensional that code specifies run-length zeros non-zero value that ended run. Also motion vectors components DPCM (subtract from last one) coded. actual practice, scheme little more complicated than described. There three types coded frames. There intra frames that simply frames coded still images, i.e., without interpolation. Generally, start frame will type intra. There frames, predicted frames, predicted from most recently reconstructed frames. Either each macro-block frame come with vector difference coefficients close match last frame just intra coded there good match. third frame type bi-directional. frame predicted from closest frames, past future. Search matching blocks those frames three different things which works best. using forward vector, backward vector, averaging clocks from future past frames subtracting that from block being coded. none these three methods works well, intra code entire block. sequence decoded frames usually goes like, "IBBPBBPBBPBBI." There frames from Japanese MPEG). ratio based experience. course decoder work must sent before first frames. compressed data stream ends looking like: "0xx312645." this example numbers represent frame numbers where "xx" might nothing this true starting position
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 might frames middle stream somewhere. Typically, decoder working with IBBPBBPBBPBBI repeating sequence. Decode then decode first "P," keeping both those memory, then decode bracketed frames. Typically, display while decoding "P." Then display frames while decoding. Then display while decoding next repeat. entertainment video, loss simply acceptable. Hence, more bits coding have used code almost CCIR-601 data. From this, readily calculated that Mbits/second gives very good quality results when compared against original CCIR-601 frame. Haar functions used code images instead DFT. With bilevel images such text fonts line drawings, Haar results look better code faster. Flattish regions, textures, soft edges scanned images nasty blocking feel them. This defect obvious hardcopy, disguised color CRTs effects shadow mask. gives results that more consistent. JPEG JPEG (Joint Photographic Experts Group) works either full color gray scale images, does handle bilevel (black white) images efficiently. does handle color-mapped images without pre-expansion into unmapped full color representation. JPEG works best continuous tone images such photos. Images with many sudden jumps color values will compress well. There many parameters JPEG compression process. adjusting parameters, JPEG trade compressed image size against reconstructed image quality over very wide range. Highcompression obtained 100x smaller than original 24-bit image. Images indistinguishable from source achieved about smaller. Usually threshold visible difference from source image somewhere around smaller than original. JPEG defines baseline lossy algorithm plus optional extensions progressive hierarchical coding. There also separate lossless compression mode, that typically gives about compression. Most currently available JPEG hardware software handles only baseline mode. baseline compression algorithm broken following steps. Transform image into suitable color space. This no-op grayscale, color images, generally transform into luminance/chrominance color space (YcbCr YUV). luminance component grayscale other axes color information. reason doing this that with
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 luminance chrominance separated greater chrominance compression achieved. Images afford lose more information chrominance components than luminance component. human sensitive high frequency color info high frequency luminance. Changes color space necessarily needed, remainder algorithm works each color component independently does care what data However, compression will less since components luminance quality will need coding. Added compression gained downsampling each chrominance component averaging together groups pixels. luminance component left full resolution while color components usually reduced horizontally either change) vertically. JPEG lingo, these alternatives usually called "2h2v" "2h1v" sampling. This downsample step immediately reduces data volume while having almost impact perceived quality. This clearly true when tried color space. Next, group pixel values each component into blocks, transform each block through discrete cosine transform (DCT). close relative Fourier transform likewise gives frequency with components. These numbers represent average value each block successively higher frequency changes within block. motivation this that throwing away high frequency information will affect frequency information. transform itself reversible except roundoff error. each block, divide each frequency components separate quantization coefficient (QC) round result integers. This fundamental information-losing step. loses information; larger lose successively more information. higher frequencies normally reduced much more than lower. parameters compression process. Tuning them best result black art. seems likely that best values discovered. Most existing coders simple multiples example tables given JPEG standard. Next, encode reduced coefficients using either Huffman arithmetic coding. Strictly speaking, baseline JPEG only allows Huffman coding; arithmetic coding optional extension. This step lossless, does effect image quality. Arithmetic coding uses Q-coding, identical coder used JBIG. aware that Q-coding patented. Most existing implementations support only Huffman mode avoid license fees. Arithmetic mode offers better compression. Finally tack appropriate headers output result. interchange JPEG file, headers carry compression parameters allowing
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 decompressor reverse compression process. There then optional step adding some smoothing steps reduce pixel pixel discontinuities. progressive JPEG algorithm supports real time transmission images. coefficients sent incrementally multiple scans image. With each scan, decoder produce higher quality rendition image. Thus quality preview sent quickly refined time allows. This particularly useful viewer wish move without waiting final image. Notice that decoder must essentially full JPEG decode cycle each scan, this scheme useful only with fast decoders, indicating fast processors. hierarchical JPEG algorithm produces image with multiple resolutions. example image file could provide 512x512, 1024x1024 2048x2048 versions image. higher resolutions coded differences from next smaller image thus require many fewer bits than they would stored independently. However, total number bits will greater that that needed store just highest resolution frame. Note that individual frames hierarchical sequence coded progressively desired. Lossless JPEG does DCT, since roundoff errors prevent calculation from being lossless. same reason, would normally color space conversion downsampling, although these permitted standard. lossless mode simply codes difference between each pixel predicted value pixel. predicted value simple function already transmitted pixels just above left current one. sequence differences encoded using same backend, Huffman, arithmetic, used lossy mode. main reason providing lossless option that makes good adjunct hierarchical mode. final scan hierarchical sequence lossless coding remaining differences achieve overall losslessness. This quite useful first appear, because exact losslessness guaranteed unless encoder decoder have identical IDCT implementation identical roundoff errors.
Speech Recognition
Speech
speech important element Constant Computing? Speech recognition capable making computer much easier use. ability application accept human speech adds valuable features such dictation command execution. Various algorithms exploited produce
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 ever faster more accurate speech recognition, also termed speech-to-text (STT). Speech recognition often valuable background application that used enhance almost foreground application. Speech Recognition common method performing speech recognition hidden Markov model (HMM) model word generation from part speech sequences. Code book size optimization, automatically optimizes number acoustic modeling parameters semi-continuous, phonetically tied, HMM-based speech recognition system. algorithms used, simple variance criterion cross-validation sets. recognition experiments, automatic optimization parameter size improves recognition performance without increasing computing resource usage. Syllable-based word models typically used acoustic modeling words. Several models with different degrees complexity employed. Syllable-based modeling words capable reducing error rate recognition spontaneous human-to-human speech. Best performance reached applying phonetic a-priori knowledge design acoustic models. However, pure data-driven algorithm also being investigated which performs only slightly less efficiently. data-driven approach easily extended other languages where phonetic expert knowledge available. Pronunciation deviations spontaneous speech recognition handled rule-based pronunciation variants. left alone, deviations lead recognition errors ill-fitting models within speech recognizer. Rulebased, automatically generated pronunciation variants enhance quality dictionary. Detailed analysis shown that deviations from "standard" "normal" pronunciations occur randomly, dependent context which they produced. This dependency used further improve acoustic modeling speech recognizer. example speaker-specific dictionaries. Morphological language models help limit vocabulary growth that occurs when unrestricted speech recognition desired. order limit this large vocabulary growth, other base units than simple words need used both recognition units well base units language model training. Different decomposition methods based linguistic knowledge applied create morpheme-based units. This results smaller vocabulary slightly improved recognition performance.
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 State dependent stream weights used with emission probabilities. When several streams encountered, usually output every stream must weighted some stream weight. using state dependent stream weights, significant improvement recognition accuracy obtained.
Tree based algorithms
Tree-based algorithms increase speed emission probability computation mixture gaussians. Bucket-Voronoi (BVI) algorithm originally designed fast vector quantization. Applying this algorithm evaluation gaussian mixtures significantly speeds recognition with insignificant loss recognition accuracy. recognition spelled letter strings considered special case speech recognition. Spelled letter recognition essential such services telephone directory assistance, automatic ordering services, general applications involving vast amounts names addresses. Spelling recognition also used allow more natural repair missrecognized words introduce words recognizers. Interesting areas research continuous speaker-independent spelled-letter recognition, retrieving spelled names from very large name sets 1,000,000), letter recognition using telephony, embedded spelling continuous speech spelling spontaneous speech.
Other Speech Applications
Synthesis
ability converting textual statements speech known "TTS" "speech synthesis." important action cueing, enablers blind, application-user interactivity, voice response systems. past, medium low-bit-rate speech coders were based timevarying linear filters excited source signals. They were favored demands placed processor. With current processors available, more computational power directed providing fuller spectrum human cadence intonations.
CODECs
Digitized voice music frequently sent packetized data intranets across Internet. This activity usually called "voice over IP." high quality, interactive speech, CODECs must fast immediate. However, broadcast voice music, there need immediate
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 response CODEC operate background constant computing application.
Other Enhancement Technologies
addition major applications security, compression, speech that have been discussed here, many added applications good candidates implementation Constant Computing Environment. Many these applications fall into categories Platform services Knowledge management visualization
Platform Services
Platform services those that associated with computing platform operating system. They part operating system, distributed add-ons.
Auto-archiving
There least situations that benefit from auto archiving modified data sets rarely used data. auto archiving, rule based software decides which files should compressed when. Clever software with access multiple compression algorithms chose method suitable type data being examined. case text binary data, Huffman coder chosen ensure lossless recovery. case images user could decide forego lossless recovery chose more aggressive compressor such JPEG.
Virus Protection
Many viruses released each year. Even with ordinary virus-protection tools, estimates that infections occur frequently. These cause unknown number hours downtime user year, high cost average fortune 1000 company. real time virus scanning products, coupled with browser virus-protection tools provide shield from stealth/encrypted viruses.
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 Virus scanning currently boot time file execute/open function. This extends boot time open/execute times 100% solution. viruses developed, scanners cannot identify them without continuous signature file upgrades. Virus scanners that operate real time require more computing power more likely prevent virus infections. These scanners constantly check operating system application code detect changes unusual behavior. Constant computing allows real time virus checking instead event driven checking. Increased computer performance means that some headroom given virus checking.
Updating
checks date/version
applications invocation detect which version they represent. time-based schedule application can, computer Internet connected, check there update available automatically cache, otherwise provide user with newest version.
Specified time passed Download from
Engine
short eXtensible Markup Language, specification being developed W3C. pared-down version SGML, designed especially documents. enables designers create their customized tags provide functionality available with HTML. example, supports links that point multiple documents, opposed HTML links, which reference only single URL. deployment depends whether supported future Browsers engines. far, only major browser vendor endorse Microsoft, which stated that will supported future version Internet Explorer. Many more implementations expected.
Knowledge Management
Ever increasing amounts widely dispersed corporate public information available online through intranets, extranets, Internet. complexity volume increase, sophisticated knowledge management becomes increasingly essential. following
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 paragraphs review knowledge management components that benefit from Constant Computing Environment.
Intranet/Extranet Crawlers
Internet/extranet/intranet world filled with information. difficulty finding appropriate information. Knowledge robots, knowbots, needed help users decide where start search data. Constant computing headroom used profitably provide in-depth searches while intermediate results presented user, made available should user ask.
Information Aggregators
large company, more than employee actively involved similar projects. does management, third party interested these projects connect them. Aggregators, acting librarians, classify, organize link information created.
Information Discovery Agents
Tools available which proactively search email inboxes specific information, intelligently filter information. applications knowledge management provide tools with data-mining relevant linking capabilities. These tools will enable users most online data make faster, better, more informed decisions. There undoubtedly many other knowledge management applications that will that will grow flourish Constant Computing Environment.
System Health
Platform reliability major interest management. Total cost ownership (TCO) strongly affected systems reliability support needs. supplying system health tools that always working, Constant Computing Environment, contained reduced. examples follow.
Storage checkers
Permanent removable storage come long since inception, road still that smooth. There important aspects media verification, often does media actually fail, what will happen data does? Media does fail actually
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 cost much more than just replacement value hardware. real cost cost replacing, recreating generating lost data. Software written protect system from media failure, software warn user impending problems, that constructive action taken.
Defragmenters
Over time, programs read from write storage device, information stored disk become fragmented. Files stored noncontiguous sections. Files take much longer computer read write. improve file access time, defragmentation software should used regular basis. ideal this background Constant Computing Environment. Constant defragmentation particularly important when considering data base access, video audio stream capture, large application execution. immediately noticeable effect fragmented disk considerable drop data access performance.
Other System Health Tools
There many other system health tools that could exploited Constant Computing Environment. Some examples memory checkers, configuration checkers, Memory/CPU headroom checkers, BIOS/Driver updating, etc. Software could even supplied deal with "memory leaks" other problems.
Visualization
Such applications render engines visual explorers could implemented whole part background routines. These routines could employ "anticipation" strategy that always working pre-calculate what might needed next. pre-calculation could potential rotation, rendering. These Constant Computing applications would reduce time necessary display next change model. Many other personal computer applications could benefit from Constant Computing Enhancements. Opportunities abound ISVs exploit Constant Computing profit leadership.
Constant Computing:
Page
Implementation Methodology
Constant Computing Methodologies
Implementation core technologies take several forms. first direct inclusion constant computing technology within application code. With constant computing, code operates background, largely independent main application code. constant computing application also resident part operating system, otherwise installed independently application. There several options available developers offering constant computing applications: research write code from scratch, license source code, activate code supplied others. Many companies individuals that posses interesting code interested licensing source. Whether this intellectual property reasons, because they want ultimately control code, they only interested licensing binaries. These core technologies accessed DLLs, libraries and/or system services. following sections, offer implementation suggestions constant computing technologies.
Multi-Threaded Implementation
multi-threaded operation heart every Constant Computing Application, useful review operation threads under Microsoft® Win32® Application Programming Interface (API). thread fundamentally path execution through program, like thread through garment. thread smallest unit execution that Win32 schedules. thread consists stack, state registers, entry system scheduler's execution list. Each thread particular process shares resources that process. Generally, process more threads code, data, other resources that make program memory. Resources typically used programs files, semaphores, dynamically allocated memory. program said executing when system scheduler gives execution control threads program. Threads lower priority have wait while higher priority threads complete
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 their tasks. multi-processor platform, scheduler move individual threads different processors balance load. Each thread process operates independently. Unless made visible each other, threads execute individually unaware other threads process. Threads share common resources, must coordinate their work using semaphores another method interprocess communication. When programmer thinks using threads, typically connection with data calculations, database queries, input gathering. These tasks that most engineers think "background" tasks. These tasks require service user interface window management. However, fact, threaded operation wherever serialization required. have, example, application that main windows, depicting number records entries database other window allowing database queries entered. displaying database layout dependency formulation query. These tasks affect each other way. easy make better computer's power create thread each window, thereby creating modular application. separate modules then proceed parallel. there many possible uses threads, impossible enumerate them here; still cover pitfalls. easiest terminate background thread would seem calling function "TerminateThread." What needs considered here that Win32 documentation depicts "TerminateThread" potentially dangerous should only contemplated extreme cases. Generally, calling "TerminateThread" should avoided following problems occur. system does free thread's stack when "TerminateThread" terminates thread. Other threads accessing values thread's stack when thread terminated, stack were freed, these other threads would raise access violations. course, terminated thread's stack will freed when process terminates; hence, application will allow memory leak while running. However, many threads spawned terminated, amount leaked memory could have overall effect application's execution. Another problem with "TerminateThread" that DLLs mapped into address space process will notified. general, there knowing specific consequences, consider few. When thread created, DLLs currently mapped into process received notification "DllEntryPoint" "DllMain" call, with "DLL_THREAD_ATTACH" passed "fdwReason" parameter. should perform thread-specific initialization when receives this notification. When thread terminates, DLLs again receive notification
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 with "DLL_THREAD_DETACH" passed "fdwReason" parameter. These calls allow each chance perform thread-specific cleanup. However, when thread terminated "TerminateThread," mapped DLLs sent "DLL_THREAD_DETACH" notification, hence DLLs given opportunity perform proper cleanup operation. Some DLLs expect receive "DLL_THREAD_DETACH" notification instruct them free memory. does receive terminate notification associated memory block only freed when process terminates. Other DLLs flush buffers disk after "DLL_THREAD_DETACH" received. this termination message sent them, data loss occur. Another problem with "TerminateThread" that allows critical sections mutexes abandoned. multi-threaded runtime uses critical sections protect internal data structures. example, malloc free critical sections gain access heap structures. prevent heap from being corrupted simultaneous access from multiple threads, runtime uses critical sections. case thread calls malloc, which turn calls "EnterCriticalSection?" When "EnterCriticalSection" returns, ownership critical section handed calling thread. this thread were terminate "TerminateThread," critical section would abandoned, released. When other threads process tried call malloc, system will force these calls wait critical section released, which will happen until process terminates. This problem just with heap management; many functions runtime fully reentrant therefore need protected with critical sections. best terminate thread have thread kill itself, calling "ExitThread." Many applications call "TerminateThread" event that thread control, doing something destructive, must stopped immediately. thread within process immediately terminate process calling "ExitProcess." signal thread indicate self-termination? thread that process wishes terminate using message loop, calling
WM_QUIT, (WPARAM)nExitCode,
Will cause message loop terminate, which turn should cause thread exit. Messages with higher priority sent handle window created thread available:
SendNotifyMessage(hwnd, WM_QUIT, (WPARAM) nExitCode,
Constant Computing:
Page
main problem with these approaches that most background threads have message loops. simplest flag that thread periodically check. process create global flag this declaration:
volatile BOOL g_fStopWorkerThread FALSE;
thread check flag from time time:
(g_fStopWorkerThread) ExitThread(dwExitCode);
When process wishes thread terminated, executes:
g_fStopWorkerThread TRUE;
This approach simple gives thread chance orchestrate termination. This important gives thread chance complete whatever operation such file update performing call malloc. This approach better than "TerminateThread" message loop, however there still drawback having sprinkle calls flag checking routine through thread. source code available, when calling runtime DLLs this termination method clearly will work. best approach would create custom code that creates threads that specifically killed anytime.
Constant Computing:
Page
Determining Platform Features
Platform Adaptive Code
Constant Computing applications more effective application knows detailed characteristics current platform. application that processor- memory-aware better decide which code path application features should enabled. Code sophisticated enough offer different capabilities depending platform characteristics known platform adaptive code. developer designs systems both high performance PCs, also entry level user, should scale features abilities match platform's capabilities. Scaling application's capabilities requires detecting platform processor's characteristics frequency, amount memory available. subsequent sections, will explore these avenues. issue here that once have determined processor type frequency, decide what accomplished this platform. There methods that might employ platform adaptive code. first simply omitting including items from list available background menu items. Secondly, different code paths response capabilities platform running
Determining Processor Features
Knowing performance level processor which given application runs allows that application make feature-set decisions. enabling selected platform-adaptive features abilities allows application developer derive maximum benefit without penalizing entry-level systems. this end, CPUID instruction interrogates processor determine processor-specific features. CPUID opcode provides processor identification information registers EAX, EBX, ECX, EDX. This information identifies Intel vendor, gives family, model stepping processor, feature information, cache information. input value loaded into register prior calling CPUID instruction determines information returned. example processor characteristic whether processor Pentium® Pentium® Pentium® processor three-way
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 Superscaler architecture. This means that execute three instructions clock. Pentium® processor, with pipelines, execute instructions clock. Knowing this allows application developer enable richer feature processor determined Pentium® family member. following code snippets, must realized that programmer combine examples into single code thread. Snippets were separated illustration purposes create simple functions, returning simple piece information.
Vendor String
obtain processor's Vendor String:
void vendor(void) unsigned long char _asm eax, cpuid cpuLevel, DWORD DWORD DWORD cpuID, cpuID(4), cpuID(8),
cpuLevel; cpuID(14);
Constant Computing:
Page
Processor Type
obtain Processor's type, family, model stepping:
void model(void) unsigned unsigned unsigned unsigned _asm eax, cpuid edi, edi, 0x00003000 edi, 0x0000000c procType, edi, edi, 0x00000f00 edi, 0x00000008 procFam, edi, edi, 0x000000f0 edi, 0x00000004 procMod, edi, edi, 0x0000000f edi, 0x00000000 procStep,
long long long long
procType; procFam; procMod; procStep;
Constant Computing:
Page
Processor Frequency
Being able determine actual operating frequency system allows more features enabled processor frequency increases. This would help feature rich application from overburdening slower paced system. various methods that employed determine operating frequency, them being following:
void freq(void) unsigned long unsigned long LARGE_INTEGER LARGE_INTEGER LARGE_INTEGER Double double double
start; end;
QueryPerformanceFrequency(&f); _asm rdtsc QueryPerformanceCounter(&tS); Sleep((unsigned long) 100); QueryPerformanceCounter(&tE); _asm rdtsc start 4294967296.0) 4294967296.0) (tE.LowPart tS.LowPart) f.LowPart; ((end start) 1000000.0;
value, processor's operating frequency MHz.
Available Memory
determination various memory parameters allows application make runtime decisions based availability physical virtual memory. Such decisions could include, example, many bytes memory malloc. Generally, more virtual memory application needs
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 use, slower application becomes necessity virtual memory paging.
GlobalMemoryStatus(&ms); pMEM ms.dwTotalPhys (1024.0 1024.0) 0.9; pFREE ms.dwAvailPhys (1024.0 1024.0) 0.9; vMEM ms.dwTotalPageFile (1024.0 1024.0) 0.9;
vFREE ms.dwAvailPageFile (1024.0 1024.0) 0.9;
preceding example, pMEM physical memory size, pFREE total amount physical memory free, vMEM total amount virtual memory, vFREE amount free virtual memory. "GlobalMemoryStatus" function allows application determine much memory allocate, without severely affecting other applications. this function volatile, sequential calls this function return same information. Intel offers CPUINFO package DLLs test presence Genuine Intel processor, family, model, features set, processor clock frequency:
Characteristics
following snippet obtains operating system version:
GetVersionEx(&osvi); IsW98orLater (osvi.dwPlatformId VER_PLATFORM_WIN32_WINDOWS) ((osvi.dwMajorVersion ((osvi.dwMajorVersion (osvi.dwMinorVersion 0)));
Examining Platform Loading
There different avenues open development engineer determine platform performance, while target application executing. method package tool that gathers performance metrics. element from Intel's sysPerf performance toolkit worth mentioning here. This tool, sysPerfScale, display processor's utilization, average peak. also displays advisory information related measurements gathered. This same tool also predicts processor utilization various platforms that tester have available. selecting target processor, sysPerfScale uses processor models compute expected utilization target.
Constant Computing:
Page
Printed copy valid only date printed: 3/31/1999 Some basic "rules" apply implementing Constant Computing applications. They should resources; e.g., memory resources should released soon possible. Constant Computing applications should achieve something worth while background, while achieving something foreground
Conclusion
benefits Constant Computing applications clearly substantial highly desirable both users business managers. Hence, Constant Computing offers very real substantial opportunity ISVs. offering Constant Computing Enabled applications, enhance their products make them more competitive profitable.
Third party marks brands property their respective holders. Some statements this transcript forward-looking, based current expectations. Actual results differ materially.
Constant Computing:
Page

Other recent searches


THMC10 - THMC10   THMC10 Datasheet
SLIS089 - SLIS089   SLIS089 Datasheet
SFF8482 - SFF8482   SFF8482 Datasheet
SFF8470 - SFF8470   SFF8470 Datasheet
N02M0818L1A - N02M0818L1A   N02M0818L1A Datasheet
HT36A1 - HT36A1   HT36A1 Datasheet
HE84751 - HE84751   HE84751 Datasheet
HE80000 - HE80000   HE80000 Datasheet
CM200RX-12A - CM200RX-12A   CM200RX-12A Datasheet
Bi10R-W30-DAP6X-H1141 - Bi10R-W30-DAP6X-H1141   Bi10R-W30-DAP6X-H1141 Datasheet
AN-1084 - AN-1084   AN-1084 Datasheet

 

Privacy Policy | Disclaimer
© 2012 Datasheet Archive